How to use the react-map-gl/test/test-utils.toLowPrecision function in react-map-gl

To help you get started, we’ve selected a few react-map-gl examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
SAMPLE_VIEWPORTS.forEach(viewport => {
    // one-off panning
    const viewport1 = new MapState(viewport)
      .pan({pos: POS_END, startPos: POS_START})
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.longitude) !== toLowPrecision(viewport.longitude) ||
        toLowPrecision(viewport1.latitude) !== toLowPrecision(viewport.latitude),
      'Map center has changed'
    );
    t.ok(viewport1.longitude < 180 && viewport1.longitude >= -180, 'Longitude is within bounds');
    t.ok(viewport1.latitude <= 90 && viewport1.latitude >= -90, 'Latitude is within bounds');
    t.ok(
      isSameLocation(
        new WebMercatorViewport(viewport).unproject(POS_START),
        new WebMercatorViewport(viewport1).unproject(POS_END)
      ),
      'Location under the pointer remains the same'
    );

    // chained panning
    const viewport2 = new MapState(viewport)
      .panStart({pos: POS_START})
github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
SAMPLE_VIEWPORTS.forEach(viewport => {
    // one-off rotating
    const viewport1 = new MapState(viewport)
      .rotateStart({})
      .rotate({deltaScaleX: X_DELTA, deltaScaleY: Y_DELTA})
      .rotateEnd()
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.bearing) !== toLowPrecision(viewport.bearing || 0),
      'Bearing has changed'
    );
    t.ok(
      toLowPrecision(viewport1.pitch) !== toLowPrecision(viewport.pitch || 0),
      'Pitch has changed'
    );
    t.ok(
      viewport1.pitch <= viewport1.maxPitch && viewport1.pitch >= viewport1.minPitch,
      'Pitch is within bounds'
    );
    t.ok(viewport1.bearing < 180 && viewport1.bearing >= -180, 'Bearing is within bounds');

    // chained rotating
    const viewport2 = new MapState(viewport)
      .rotateStart({})
      .rotate({deltaScaleX: 0, deltaScaleY: 0})
github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
t.ok(
      viewport1.pitch <= viewport1.maxPitch && viewport1.pitch >= viewport1.minPitch,
      'Pitch is within bounds'
    );
    t.ok(viewport1.bearing < 180 && viewport1.bearing >= -180, 'Bearing is within bounds');

    // chained rotating
    const viewport2 = new MapState(viewport)
      .rotateStart({})
      .rotate({deltaScaleX: 0, deltaScaleY: 0})
      .rotate({deltaScaleX: X_DELTA, deltaScaleY: Y_DELTA})
      .rotateEnd()
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.pitch) === toLowPrecision(viewport2.pitch) &&
        toLowPrecision(viewport1.bearing) === toLowPrecision(viewport2.bearing),
      'Consistent result'
    );

    // out of bounds arguments
    const state = new MapState(viewport).rotateStart({});

    t.is(
      state.rotate({deltaScaleY: 2}).getViewportProps().pitch,
      viewport.maxPitch || MAPBOX_LIMITS.maxPitch,
      'Capped at max pitch'
    );

    t.is(
      state.rotate({deltaScaleY: -2}).getViewportProps().pitch,
      viewport.minPitch || MAPBOX_LIMITS.minPitch,
github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
SAMPLE_VIEWPORTS.forEach(viewport => {
    // one-off panning
    const viewport1 = new MapState(viewport)
      .pan({pos: POS_END, startPos: POS_START})
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.longitude) !== toLowPrecision(viewport.longitude) ||
        toLowPrecision(viewport1.latitude) !== toLowPrecision(viewport.latitude),
      'Map center has changed'
    );
    t.ok(viewport1.longitude < 180 && viewport1.longitude >= -180, 'Longitude is within bounds');
    t.ok(viewport1.latitude <= 90 && viewport1.latitude >= -90, 'Latitude is within bounds');
    t.ok(
      isSameLocation(
        new WebMercatorViewport(viewport).unproject(POS_START),
        new WebMercatorViewport(viewport1).unproject(POS_END)
      ),
      'Location under the pointer remains the same'
    );

    // chained panning
    const viewport2 = new MapState(viewport)
      .panStart({pos: POS_START})
      .pan({pos: POS_IMTERMIDIATE})
github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
),
      'Location under the pointer remains the same'
    );

    // chained panning
    const viewport2 = new MapState(viewport)
      .zoomStart({pos: POS_START})
      .zoom({pos: POS_IMTERMIDIATE, scale: 1.5})
      .zoom({pos: POS_END, scale: SCALE})
      .zoomEnd()
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.longitude) === toLowPrecision(viewport2.longitude) &&
        toLowPrecision(viewport1.latitude) === toLowPrecision(viewport2.latitude) &&
        toLowPrecision(viewport1.zoom) === toLowPrecision(viewport2.zoom),
      'Consistent result'
    );
  });
github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
viewport1.pitch <= viewport1.maxPitch && viewport1.pitch >= viewport1.minPitch,
      'Pitch is within bounds'
    );
    t.ok(viewport1.bearing < 180 && viewport1.bearing >= -180, 'Bearing is within bounds');

    // chained rotating
    const viewport2 = new MapState(viewport)
      .rotateStart({})
      .rotate({deltaScaleX: 0, deltaScaleY: 0})
      .rotate({deltaScaleX: X_DELTA, deltaScaleY: Y_DELTA})
      .rotateEnd()
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.pitch) === toLowPrecision(viewport2.pitch) &&
        toLowPrecision(viewport1.bearing) === toLowPrecision(viewport2.bearing),
      'Consistent result'
    );

    // out of bounds arguments
    const state = new MapState(viewport).rotateStart({});

    t.is(
      state.rotate({deltaScaleY: 2}).getViewportProps().pitch,
      viewport.maxPitch || MAPBOX_LIMITS.maxPitch,
      'Capped at max pitch'
    );

    t.is(
      state.rotate({deltaScaleY: -2}).getViewportProps().pitch,
      viewport.minPitch || MAPBOX_LIMITS.minPitch,
      'Capped at min pitch'
github uber / react-map-gl / test / src / utils / map-state.spec.js View on Github external
new WebMercatorViewport(viewport).unproject(POS_START),
        new WebMercatorViewport(viewport1).unproject(POS_END)
      ),
      'Location under the pointer remains the same'
    );

    // chained panning
    const viewport2 = new MapState(viewport)
      .panStart({pos: POS_START})
      .pan({pos: POS_IMTERMIDIATE})
      .pan({pos: POS_END})
      .panEnd()
      .getViewportProps();

    t.ok(
      toLowPrecision(viewport1.longitude) === toLowPrecision(viewport2.longitude) &&
        toLowPrecision(viewport1.latitude) === toLowPrecision(viewport2.latitude),
      'Consistent result'
    );
  });