sheetjs_sheetjs/docbits/90_test.md
SheetJS 7d15f35e3e version bump 0.11.0: new minified versions
- build script strips `require` statements
- finally every version is pinned (see #740 h/t @the-spyke)
- removed colloquialisms in README
2017-08-01 01:50:53 -04:00

2.9 KiB

Testing

Node

(click to show)

make test will run the node-based tests. By default it runs tests on files in every supported format. To test a specific file type, set FMTS to the format you want to test. Feature-specific tests are avaialble with make test_misc

$ make test_misc   # run core tests
$ make test        # run full tests
$ make test_xls    # only use the XLS test files
$ make test_xlsx   # only use the XLSX test files
$ make test_xlsb   # only use the XLSB test files
$ make test_xml    # only use the XML test files
$ make test_ods    # only use the ODS test files

To enable all errors, set the environment variable WTF=1:

$ make test        # run full tests
$ WTF=1 make test  # enable all error messages

Flow and eslint checks are available:

$ make lint        # eslint checks
$ make flow        # make lint + Flow checking

Browser

(click to show)

The core in-browser tests are available at tests/index.html within this repo. Start a local server and navigate to that directory to run the tests. make ctestserv will start a server on port 8000.

make ctest will generate the browser fixtures. To add more files, edit the tests/fixtures.lst file and add the paths.

To run the full in-browser tests, clone the repo for oss.sheetjs.com and replace the xlsx.js file (then open a browser window and go to stress.html):

$ cp xlsx.js ../SheetJS.github.io
$ cd ../SheetJS.github.io
$ simplehttpserver # or "python -mSimpleHTTPServer" or "serve"
$ open -a Chromium.app http://localhost:8000/stress.html

Tested Environments

(click to show)
  • NodeJS 0.8, 0.9, 0.10, 0.11, 0.12, 4.x, 5.x, 6.x, 7.x
  • IE 6/7/8/9/10/11 (IE6-9 browsers require shims for interacting with client)
  • Chrome 24+
  • Safari 6+
  • FF 18+

Tests utilize the mocha testing framework. Travis-CI and Sauce Labs links:

Test Files

Test files are housed in another repo.

Running make init will refresh the test_files submodule and get the files. Note that this requires svn, git, hg and other commands that may not be available. If make init fails, please download the latest version of the test files snapshot from the repo

Latest Snapshot (click to show)

Latest test files snapshot: http://github.com/SheetJS/test_files/releases/download/20170409/test_files.zip

(download and unzip to the test_files subdirectory)