import { Map, AttributionControl, FullscreenControl, GeolocateControl, NavigationControl, ScaleControl } from '@vis.gl/react-mapbox'; import * as React from 'react'; import {createRoot} from 'react-dom/client'; import test from 'tape-promise/tape'; import {sleep, waitForMapLoad} from '../utils/test-utils'; import {MapboxAccessToken} from '../utils/token'; test('Controls', async t => { const rootContainer = document.createElement('div'); const root = createRoot(rootContainer); const mapRef = {current: null}; root.render( ); await waitForMapLoad(mapRef); await sleep(1); t.ok(rootContainer.querySelector('.mapboxgl-ctrl-attrib'), 'Rendered '); root.render( ); await sleep(1); t.ok(rootContainer.querySelector('.mapboxgl-ctrl-fullscreen'), 'Rendered '); const geolocateControlRef = {current: null}; root.render( ); await sleep(1); t.ok(rootContainer.querySelector('.mapboxgl-ctrl-geolocate'), 'Rendered '); t.ok(geolocateControlRef.current, 'GeolocateControl created'); root.render( ); await sleep(1); t.ok(rootContainer.querySelector('.mapboxgl-ctrl-zoom-in'), 'Rendered '); root.render( ); await sleep(1); t.ok(rootContainer.querySelector('.mapboxgl-ctrl-scale'), 'Rendered '); root.unmount(); t.end(); });