2025-01-27 16:06:44 -08:00

67 lines
1.8 KiB
JavaScript

import test from 'tape-promise/tape';
import {
transformToViewState,
applyViewStateToTransform
} from '@vis.gl/react-maplibre/utils/transform';
import maplibregl from 'maplibre-gl';
test('transformToViewState', t => {
const tr = {
center: new maplibregl.LngLat(-122.45, 37.78),
zoom: 10.5,
bearing: -70,
pitch: 30,
padding: {top: 0, left: 0, right: 0, bottom: 0}
};
t.deepEqual(transformToViewState(tr), {
longitude: -122.45,
latitude: 37.78,
zoom: 10.5,
bearing: -70,
pitch: 30,
padding: {top: 0, left: 0, right: 0, bottom: 0}
});
t.end();
});
test('applyViewStateToTransform', t => {
const tr = {
center: new maplibregl.LngLat(-122.45, 37.78),
zoom: 10.5,
bearing: -70,
pitch: 30,
padding: {top: 0, left: 0, right: 0, bottom: 0}
};
let changed = applyViewStateToTransform(tr, {});
t.deepEqual(changed, {}, 'no changes detected');
changed = applyViewStateToTransform(tr, {longitude: -10, latitude: 5});
t.deepEqual(
changed,
{
center: new maplibregl.LngLat(-10, 5)
},
'center changed'
);
changed = applyViewStateToTransform(tr, {zoom: 11, pitch: 30, bearing: -70});
t.deepEqual(changed, {zoom: 11}, 'zoom changed');
changed = applyViewStateToTransform(tr, {zoom: 10.5, pitch: 40, bearing: -70});
t.deepEqual(changed, {pitch: 40}, 'pitch changed');
changed = applyViewStateToTransform(tr, {zoom: 10.5, pitch: 30, bearing: 270});
t.deepEqual(changed, {bearing: 270}, 'bearing changed');
changed = applyViewStateToTransform(tr, {padding: {left: 10, right: 10, top: 10, bottom: 10}});
t.deepEqual(changed, {padding: {left: 10, right: 10, top: 10, bottom: 10}}, 'bearing changed');
changed = applyViewStateToTransform(tr, {viewState: {pitch: 30}});
t.deepEqual(changed, {}, 'nothing changed');
t.end();
});