UNPKG

maplibre-gl

Version:

BSD licensed community fork of mapbox-gl, a WebGL interactive maps library

105 lines (88 loc) 3.75 kB
import {describe, beforeEach, test, expect} from 'vitest'; import {createMap, beforeMapTest} from '../../util/test/util'; beforeEach(() => { beforeMapTest(); global.fetch = null; }); describe('getRenderWorldCopies', () => { test('initially false', () => { const map = createMap({renderWorldCopies: false}); expect(map.getRenderWorldCopies()).toBe(false); }); test('initially true', () => { const map = createMap({renderWorldCopies: true}); expect(map.getRenderWorldCopies()).toBe(true); }); }); describe('setRenderWorldCopies', () => { test('initially false', () => { const map = createMap({renderWorldCopies: false}); map.setRenderWorldCopies(true); expect(map.getRenderWorldCopies()).toBe(true); }); test('initially true', () => { const map = createMap({renderWorldCopies: true}); map.setRenderWorldCopies(false); expect(map.getRenderWorldCopies()).toBe(false); }); test('undefined', () => { const map = createMap({renderWorldCopies: false}); map.setRenderWorldCopies(undefined); expect(map.getRenderWorldCopies()).toBe(true); }); test('null', () => { const map = createMap({renderWorldCopies: true}); map.setRenderWorldCopies(null); expect(map.getRenderWorldCopies()).toBe(false); }); }); describe('renderWorldCopies', () => { test('does not constrain horizontal panning when renderWorldCopies is set to true', () => { const map = createMap({renderWorldCopies: true}); map.setCenter({lng: 180, lat: 0}); expect(map.getCenter().lng).toBe(180); }); test('constrains horizontal panning when renderWorldCopies is set to false', () => { const map = createMap({renderWorldCopies: false}); map.setCenter({lng: 180, lat: 0}); expect(map.getCenter().lng).toBeCloseTo(110, 0); }); test('does not wrap the map when renderWorldCopies is set to false', () => { const map = createMap({renderWorldCopies: false}); map.setCenter({lng: 200, lat: 0}); expect(map.getCenter().lng).toBeCloseTo(110, 0); }); test('panTo is constrained to single globe when renderWorldCopies is set to false', () => { const map = createMap({renderWorldCopies: false}); map.panTo({lng: 180, lat: 0}, {duration: 0}); expect(map.getCenter().lng).toBeCloseTo(110, 0); map.panTo({lng: -3000, lat: 0}, {duration: 0}); expect(map.getCenter().lng).toBeCloseTo(-110, 0); }); test('flyTo is constrained to single globe when renderWorldCopies is set to false', () => { const map = createMap({renderWorldCopies: false}); map.flyTo({center: [1000, 0], zoom: 3, animate: false}); expect(map.getCenter().lng).toBeCloseTo(171, 0); map.flyTo({center: [-1000, 0], zoom: 5, animate: false}); expect(map.getCenter().lng).toBeCloseTo(-178, 0); }); test('lng is constrained to a single globe when zooming with {renderWorldCopies: false}', () => { const map = createMap({renderWorldCopies: false, center: [180, 0], zoom: 2}); expect(map.getCenter().lng).toBeCloseTo(162, 0); map.zoomTo(1, {animate: false}); expect(map.getCenter().lng).toBeCloseTo(145, 0); }); test('lng is constrained by maxBounds when {renderWorldCopies: false}', () => { const map = createMap({ renderWorldCopies: false, maxBounds: [ [70, 30], [80, 40] ], zoom: 8, center: [75, 35] }); map.setCenter({lng: 180, lat: 0}); expect(map.getCenter().lng).toBeCloseTo(80, 0); }); });