import Triangulation from '../../../../../src/ol/reproj/Triangulation.js'; import { addCommon, clearAllProjections, get as getProjection, } from '../../../../../src/ol/proj.js'; import {register} from '../../../../../src/ol/proj/proj4.js'; describe('ol.reproj.Triangulation', function () { beforeEach(function () { proj4.defs( 'EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 ' + '+k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy ' + '+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' + '+units=m +no_defs' ); register(proj4); const proj27700 = getProjection('EPSG:27700'); proj27700.setExtent([0, 0, 700000, 1300000]); }); afterEach(function () { delete proj4.defs['EPSG:27700']; clearAllProjections(); addCommon(); }); describe('constructor', function () { it('is trivial for identity', function () { const proj4326 = getProjection('EPSG:4326'); const triangulation = new Triangulation( proj4326, proj4326, [20, 20, 30, 30], [-180, -90, 180, 90], 0 ); expect(triangulation.getTriangles().length).to.be(2); }); it('is empty when outside source extent', function () { const proj4326 = getProjection('EPSG:4326'); const proj27700 = getProjection('EPSG:27700'); const triangulation = new Triangulation( proj27700, proj4326, [0, 0, 10, 10], proj27700.getExtent(), 0 ); expect(triangulation.getTriangles().length).to.be(0); }); it('can handle null source extent', function () { const proj4326 = getProjection('EPSG:4326'); const triangulation = new Triangulation( proj4326, proj4326, [20, 20, 30, 30], null, 0 ); expect(triangulation.getTriangles().length).to.be(2); }); }); });