UNPKG

leaflet-canvaslayer-field

Version:

A set of layers using canvas to draw ASCIIGrid or GeoTIFF files. This includes a basic raster layer (*ScalaField*) and an animated layer for vector fields, such as wind or currents (*VectorFieldAnim*)

67 lines (55 loc) 1.95 kB
describe('L.CanvasLayer.ScalarField', function() { let ScalarField = L.ScalarField; let dataFolder = 'base/docs/data'; let c, map, sf; beforeEach(function(fileLoaded) { // Map c = document.createElement('div'); c.style.width = '400px'; c.style.height = '400px'; c.style.position = 'absolute'; c.style.top = '0'; c.style.left = '0'; document.body.appendChild(c); map = new L.Map(c); // ASCIIGrid d3.text(`${dataFolder}/U.asc`, function(z) { sf = ScalarField.fromASCIIGrid(z); fileLoaded(); }); }); afterEach(function() { document.body.removeChild(c); }); it('can be added to the map', function() { let sfl = L.canvasLayer.scalarField(sf).addTo(map); expect(map.hasLayer(sfl)).toBe(true); }); it('has bounds', function() { let sfl = L.canvasLayer.scalarField(sf); expect(sfl.getBounds()).not.toBe(null); }); it('can receive data after creation', function() { let sfl = L.canvasLayer.scalarField().addTo(map); sfl.setData(sf); expect(sf).not.toBe(null); }); // TODO /* it('can be painted with default renderer', function () { let sfl = L.canvasLayer.scalarField(sf).addTo(map); map.fitBounds(sfl.getBounds()); let halfCell = sf.cellsize / 2.0; let upperRight = L.latLng( sf.yurcorner - halfCell, sf.xurcorner - halfCell); let p = map.latLngToContainerPoint(upperRight); let color = sfl.getPixelColor(p.x, p.y); expect(color).toEqual(chroma('black')); let lowerLeft = L.latLng( sf.yllcorner + halfCell, sf.xllcorner + halfCell); let p2 = map.latLngToContainerPoint(lowerLeft); let color2 = chroma(sfl.getPixelColor(p2.x, p2.y)); expect(color2).toEqual(chroma('white')); }); */ });