Files
openlayers/test
Alan Moffat 87d87a155a Ensure FullScreen button has classname set on render.
When the FullScreen icon is first rendered, the button within it is not having the inactive classname set. The class name is set on toggling fullscreen on/off - just not being set on render.
2022-03-04 11:13:02 +00:00
..
2022-02-23 12:36:56 +01:00
2021-11-10 14:33:13 -07:00

Included in this directory

  • browser - Unit/integration tests run in a browser
  • node - Unit tests run with Node.js
  • rendering - Tests that make assertions about rendered map output

Run the test suite

Install the test dependencies (from the root of the repository):

npm install

Run the tests once:

npm test

This will run tests in (headless) Chrome. If you do not have Chrome installed, you can run tests on Firefox instead:

npm test -- --browsers Firefox

To run tests in other browsers, you need to install additional Karma launchers.

To run the tests continuously:

npm run karma

After this, you can attach any browser and debug the tests like this:

Rendering tests

The test/rendering directory contains rendering tests which compare a rendered map with a reference image using pixelmatch.

To run the tests in the browser, make sure the development server is running (make serve) and open the URL http://localhost:3000/test_rendering/index.html.

From the command-line the tests can be run with the build target make test-rendering.

Adding new tests

When creating a new test case, a reference image has to be created. By appending ?generate to the URL, a canvas with the rendered map will be shown on the page when calling expectResemble. Then the reference image can simply be created with a right-click and "Save image as".

It is recommended to only run a single test case when generating the reference image.

Image difference

When a test fails, an image showing the difference between the reference image and the rendered map can be displayed by appending ?showdiff to the URL.