Mypal/js/src/tests
..
ecma
ecma_2
ecma_3
ecma_3_1
ecma_5
ecma_6
ecma_7
ecma_2017
Intl
js1_1
js1_2
js1_3
js1_4
js1_5
js1_6
js1_7
js1_8
js1_8_1
js1_8_5
lib
shell
style
supporting
test262
browser.js
compare_bench.py
dupl-prop-changes.diff
function-arguments-caller-changes.diff
js-test-driver-begin.js
js-test-driver-end.js
jsreftest.html
jstests.list
jstests.py
Makefile.in
moz.build
parsemark.py
README.txt
shell.js
update-test262.sh
user.js

JS Test Suite Readme
====================

The JS test suite is a fairly extensive collection of correctness and regression
tests for the Spidermonkey engine. Two harnesses run these tests: the shell test
harness in this directory and the "reftest" harness built into the browser, used
by Tinderbox. The browser reftests require additional manifest files; these are
generated automatically by the build phase 'package-tests' using the
'--make-manifests' option to jstests.py.

Creating a test
---------------
For general information, see
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Creating_JavaScript_tests

Adding a test
-------------
    Drop it in an appropriate directory under the tests directory.

        <fineprint> Some names are forbidden. Do not name your test browser.js,
        shell.js, template.js, user.js, js-test-driver-begin.js, or
        js-test-driver-end.js, or any of the names of the files in supporting/.
        </fineprint>

Adjusting when and how a test runs
----------------------------------
    Put a comment at the top of the header matching the format:
        // |reftest| <failure-type> -- <comment>

    Where <failure-type> is a standard reftest <failure-type> string, as documented by:
        http://dxr.mozilla.org/mozilla-central/source/layout/tools/reftest/README.txt

    Example:
        // |reftest| skip-if(!xulRuntime.shell) -- does not always dismiss alert

        <fineprint> Either // or /* */ style comments may be used. The entire
        comment must appear in the first 512 bytes of the file. The control
        string must be in its own comment block. </fineprint>

    When adding such comments to individual files is not feasible (e.g., for
    imported tests), reftest manifest entries can be added to jstests.list
    instead. Combining in-file comments with entries in this manifest file for
    the same files is not supported (the one from the manifest file will be
    used). Only the following two forms are supported:
        <failure-type> include <relative_path>
        <failure-type> script <relative_path>
    The <type> "include" indicates that <failure-type> should apply to all test
    cases within a directory. A statement for a nested directory or script
    overrides one for an enclosing directory.

Running tests
-------------
See
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Running_Automated_JavaScript_Tests