From ced6fccd8ad0dd20ce6e2d45eb1fcf6d24239924 Mon Sep 17 00:00:00 2001 From: Valerie R Young Date: Fri, 8 Dec 2017 10:11:00 -0800 Subject: [PATCH] Bug 1423335 - jstest reorganization: move all test files into non262/ with a parallel structure to test262, removing tests that duplicate test262 coverage. r=sfink Descriptions of the original patches, which I had to squash because they needed to land together: - move all test files - move and add shell.js files - move vars in ecma/shell.js and ecma_3/Date/shell.js - move funcs in ecma_5/RegExp/shell.js into non262/RegExp/shell.js - move funcs in js1_5/Expressions/shell.js into non262/expressions/shell.js - move funcs in js1_8_5/extensions/shell.js into non262/extensions/shell.js - move funcs in ecma_5/shell.js into non262/shell.js and non262/strict/shell.js - move funcs from ecma_6/shell.js and ecma_7/shell.js - move and make browser.js files - remove unnecessary files - update script locations from move - remove redeclarations of vars in shell.js - save a few more old tests - delete old test files covered by test262 - fix references to scripts from jit-test - Move Intl directory --HG-- rename : js/src/tests/js1_5/Array/11.1.4.js => js/src/tests/non262/Array/11.1.4.js rename : js/src/tests/ecma/Array/15.4.4.5-1.js => js/src/tests/non262/Array/15.4.4.5-1.js rename : js/src/tests/ecma/Array/15.4.4.5-2.js => js/src/tests/non262/Array/15.4.4.5-2.js rename : js/src/tests/ecma/Array/15.4.4.5-3.js => js/src/tests/non262/Array/15.4.4.5-3.js rename : js/src/tests/js1_5/Array/array-001.js => js/src/tests/non262/Array/array-001.js rename : js/src/tests/ecma/Array/array-length-set-during-for-in.js => js/src/tests/non262/Array/array-length-set-during-for-in.js rename : js/src/tests/ecma/Array/array-length-set-on-nonarray.js => js/src/tests/non262/Array/array-length-set-on-nonarray.js rename : js/src/tests/ecma_6/Array/concat-proxy.js => js/src/tests/non262/Array/concat-proxy.js rename : js/src/tests/ecma_6/Array/concat-spreadable-basic.js => js/src/tests/non262/Array/concat-spreadable-basic.js rename : js/src/tests/ecma_6/Array/concat-spreadable-primitive.js => js/src/tests/non262/Array/concat-spreadable-primitive.js rename : js/src/tests/ecma_6/Array/fill.js => js/src/tests/non262/Array/fill.js rename : js/src/tests/js1_6/Array/filter.js => js/src/tests/non262/Array/filter.js rename : js/src/tests/ecma_6/Array/find_findindex.js => js/src/tests/non262/Array/find_findindex.js rename : js/src/tests/ecma_6/Array/for_of_1.js => js/src/tests/non262/Array/for_of_1.js rename : js/src/tests/ecma_6/Array/for_of_2.js => js/src/tests/non262/Array/for_of_2.js rename : js/src/tests/ecma_6/Array/for_of_3.js => js/src/tests/non262/Array/for_of_3.js rename : js/src/tests/ecma_6/Array/for_of_4.js => js/src/tests/non262/Array/for_of_4.js rename : js/src/tests/ecma_6/Array/from-iterator-close.js => js/src/tests/non262/Array/from-iterator-close.js rename : js/src/tests/ecma_6/Array/from_basics.js => js/src/tests/non262/Array/from_basics.js rename : js/src/tests/ecma_6/Array/from_constructor.js => js/src/tests/non262/Array/from_constructor.js rename : js/src/tests/ecma_6/Array/from_errors.js => js/src/tests/non262/Array/from_errors.js rename : js/src/tests/ecma_6/Array/from_iterable.js => js/src/tests/non262/Array/from_iterable.js rename : js/src/tests/ecma_6/Array/from_length_setter.js => js/src/tests/non262/Array/from_length_setter.js rename : js/src/tests/ecma_6/Array/from_mapping.js => js/src/tests/non262/Array/from_mapping.js rename : js/src/tests/ecma_6/Array/from_primitive.js => js/src/tests/non262/Array/from_primitive.js rename : js/src/tests/ecma_6/Array/from_proxy.js => js/src/tests/non262/Array/from_proxy.js rename : js/src/tests/ecma_6/Array/from_realms.js => js/src/tests/non262/Array/from_realms.js rename : js/src/tests/ecma_6/Array/from_string.js => js/src/tests/non262/Array/from_string.js rename : js/src/tests/ecma_6/Array/from_surfaces.js => js/src/tests/non262/Array/from_surfaces.js rename : js/src/tests/ecma_6/Array/from_this.js => js/src/tests/non262/Array/from_this.js rename : js/src/tests/ecma_5/Array/frozen-dense-array.js => js/src/tests/non262/Array/frozen-dense-array.js rename : js/src/tests/ecma_5/Array/frozen-dict-mode-length.js => js/src/tests/non262/Array/frozen-dict-mode-length.js rename : js/src/tests/js1_6/Array/generics.js => js/src/tests/non262/Array/generics.js rename : js/src/tests/ecma_6/Array/getter-name.js => js/src/tests/non262/Array/getter-name.js rename : js/src/tests/ecma_7/Array/includes.js => js/src/tests/non262/Array/includes.js rename : js/src/tests/ecma_5/Array/index-with-null-character.js => js/src/tests/non262/Array/index-with-null-character.js rename : js/src/tests/ecma_6/Array/indexOf-never-returns-negative-zero.js => js/src/tests/non262/Array/indexOf-never-returns-negative-zero.js rename : js/src/tests/ecma_6/Array/indexOf-packed-array.js => js/src/tests/non262/Array/indexOf-packed-array.js rename : js/src/tests/ecma_6/Array/isArray.js => js/src/tests/non262/Array/isArray.js rename : js/src/tests/ecma_6/Array/iterator_edge_cases.js => js/src/tests/non262/Array/iterator_edge_cases.js rename : js/src/tests/ecma_5/Array/join-01.js => js/src/tests/non262/Array/join-01.js rename : js/src/tests/ecma_6/Array/join-no-has-trap.js => js/src/tests/non262/Array/join-no-has-trap.js rename : js/src/tests/ecma_6/Array/lastIndexOf-never-returns-negative-zero.js => js/src/tests/non262/Array/lastIndexOf-never-returns-negative-zero.js rename : js/src/tests/ecma_5/Array/length-01.js => js/src/tests/non262/Array/length-01.js rename : js/src/tests/ecma_5/Array/length-nonwritable-redefine-nop.js => js/src/tests/non262/Array/length-nonwritable-redefine-nop.js rename : js/src/tests/ecma_5/Array/length-set-object.js => js/src/tests/non262/Array/length-set-object.js rename : js/src/tests/ecma_5/Array/length-truncate-nonconfigurable-sparse.js => js/src/tests/non262/Array/length-truncate-nonconfigurable-sparse.js rename : js/src/tests/ecma_5/Array/length-truncate-nonconfigurable.js => js/src/tests/non262/Array/length-truncate-nonconfigurable.js rename : js/src/tests/ecma_5/Array/length-truncate-with-indexed.js => js/src/tests/non262/Array/length-truncate-with-indexed.js rename : js/src/tests/ecma_5/Array/pop-empty-nonwritable.js => js/src/tests/non262/Array/pop-empty-nonwritable.js rename : js/src/tests/ecma_6/Array/pop-no-has-trap.js => js/src/tests/non262/Array/pop-no-has-trap.js rename : js/src/tests/ecma_5/Array/pop-nonarray-higher-elements.js => js/src/tests/non262/Array/pop-nonarray-higher-elements.js rename : js/src/tests/ecma_5/Array/redefine-length-accessor.js => js/src/tests/non262/Array/redefine-length-accessor.js rename : js/src/tests/ecma_5/Array/redefine-length-frozen-array.js => js/src/tests/non262/Array/redefine-length-frozen-array.js rename : js/src/tests/ecma_5/Array/redefine-length-frozen-dictionarymode-array.js => js/src/tests/non262/Array/redefine-length-frozen-dictionarymode-array.js rename : js/src/tests/ecma_5/Array/redefine-nonwritable-length-custom-conversion-call-counts.js => js/src/tests/non262/Array/redefine-nonwritable-length-custom-conversion-call-counts.js rename : js/src/tests/ecma_5/Array/redefine-nonwritable-length-custom-conversion-throw.js => js/src/tests/non262/Array/redefine-nonwritable-length-custom-conversion-throw.js rename : js/src/tests/ecma_5/Array/redefine-nonwritable-length-nonnumeric.js => js/src/tests/non262/Array/redefine-nonwritable-length-nonnumeric.js rename : js/src/tests/ecma_3/Array/regress-101488.js => js/src/tests/non262/Array/regress-101488.js rename : js/src/tests/js1_5/Array/regress-101964.js => js/src/tests/non262/Array/regress-101964.js rename : js/src/tests/js1_5/Array/regress-107138.js => js/src/tests/non262/Array/regress-107138.js rename : js/src/tests/js1_5/Array/regress-108440.js => js/src/tests/non262/Array/regress-108440.js rename : js/src/tests/ecma_3/Array/regress-130451.js => js/src/tests/non262/Array/regress-130451.js rename : js/src/tests/js1_5/Array/regress-154338.js => js/src/tests/non262/Array/regress-154338.js rename : js/src/tests/js1_5/Array/regress-157652.js => js/src/tests/non262/Array/regress-157652.js rename : js/src/tests/js1_5/Array/regress-178722.js => js/src/tests/non262/Array/regress-178722.js rename : js/src/tests/js1_5/Array/regress-255555.js => js/src/tests/non262/Array/regress-255555.js rename : js/src/tests/js1_6/Array/regress-290592.js => js/src/tests/non262/Array/regress-290592.js rename : js/src/tests/js1_5/Array/regress-299644.js => js/src/tests/non262/Array/regress-299644.js rename : js/src/tests/js1_5/Array/regress-300858.js => js/src/tests/non262/Array/regress-300858.js rename : js/src/tests/js1_6/Array/regress-304828.js => js/src/tests/non262/Array/regress-304828.js rename : js/src/tests/js1_6/Array/regress-305002.js => js/src/tests/non262/Array/regress-305002.js rename : js/src/tests/js1_5/Array/regress-310351.js => js/src/tests/non262/Array/regress-310351.js rename : js/src/tests/js1_6/Array/regress-310425-01.js => js/src/tests/non262/Array/regress-310425-01.js rename : js/src/tests/js1_6/Array/regress-310425-02.js => js/src/tests/non262/Array/regress-310425-02.js rename : js/src/tests/js1_5/Array/regress-311515.js => js/src/tests/non262/Array/regress-311515.js rename : js/src/tests/js1_5/Array/regress-313153.js => js/src/tests/non262/Array/regress-313153.js rename : js/src/tests/js1_5/Array/regress-315509-01.js => js/src/tests/non262/Array/regress-315509-01.js rename : js/src/tests/ecma_3/Array/regress-322135-01.js => js/src/tests/non262/Array/regress-322135-01.js rename : js/src/tests/ecma_3/Array/regress-322135-02.js => js/src/tests/non262/Array/regress-322135-02.js rename : js/src/tests/ecma_3/Array/regress-322135-03.js => js/src/tests/non262/Array/regress-322135-03.js rename : js/src/tests/ecma_3/Array/regress-322135-04.js => js/src/tests/non262/Array/regress-322135-04.js rename : js/src/tests/js1_5/Array/regress-330812.js => js/src/tests/non262/Array/regress-330812.js rename : js/src/tests/js1_5/Array/regress-345961.js => js/src/tests/non262/Array/regress-345961.js rename : js/src/tests/js1_5/Array/regress-348810.js => js/src/tests/non262/Array/regress-348810.js rename : js/src/tests/js1_5/Array/regress-350256-01.js => js/src/tests/non262/Array/regress-350256-01.js rename : js/src/tests/js1_5/Array/regress-350256-02.js => js/src/tests/non262/Array/regress-350256-02.js rename : js/src/tests/js1_6/Array/regress-352742-01.js => js/src/tests/non262/Array/regress-352742-01.js rename : js/src/tests/js1_6/Array/regress-352742-02.js => js/src/tests/non262/Array/regress-352742-02.js rename : js/src/tests/js1_5/Array/regress-360681-01.js => js/src/tests/non262/Array/regress-360681-01.js rename : js/src/tests/js1_5/Array/regress-360681-02.js => js/src/tests/non262/Array/regress-360681-02.js rename : js/src/tests/js1_5/Array/regress-364104.js => js/src/tests/non262/Array/regress-364104.js rename : js/src/tests/js1_6/Array/regress-386030.js => js/src/tests/non262/Array/regress-386030.js rename : js/src/tests/ecma_3/Array/regress-387501.js => js/src/tests/non262/Array/regress-387501.js rename : js/src/tests/ecma_3/Array/regress-390598.js => js/src/tests/non262/Array/regress-390598.js rename : js/src/tests/js1_6/Array/regress-415451.js => js/src/tests/non262/Array/regress-415451.js rename : js/src/tests/js1_6/Array/regress-415540.js => js/src/tests/non262/Array/regress-415540.js rename : js/src/tests/ecma_3/Array/regress-421325.js => js/src/tests/non262/Array/regress-421325.js rename : js/src/tests/js1_5/Array/regress-422286.js => js/src/tests/non262/Array/regress-422286.js rename : js/src/tests/js1_5/Array/regress-424954.js => js/src/tests/non262/Array/regress-424954.js rename : js/src/tests/ecma_3/Array/regress-430717.js => js/src/tests/non262/Array/regress-430717.js rename : js/src/tests/js1_5/Array/regress-451483.js => js/src/tests/non262/Array/regress-451483.js rename : js/src/tests/js1_5/Array/regress-451906.js => js/src/tests/non262/Array/regress-451906.js rename : js/src/tests/js1_5/Array/regress-456845.js => js/src/tests/non262/Array/regress-456845.js rename : js/src/tests/js1_5/Array/regress-465980-01.js => js/src/tests/non262/Array/regress-465980-01.js rename : js/src/tests/js1_5/Array/regress-465980-02.js => js/src/tests/non262/Array/regress-465980-02.js rename : js/src/tests/js1_5/Array/regress-474529.js => js/src/tests/non262/Array/regress-474529.js rename : js/src/tests/ecma_3/Array/regress-488989.js => js/src/tests/non262/Array/regress-488989.js rename : js/src/tests/js1_6/Array/regress-566651.js => js/src/tests/non262/Array/regress-566651.js rename : js/src/tests/ecma_5/Array/regress-599159.js => js/src/tests/non262/Array/regress-599159.js rename : js/src/tests/ecma_3/Array/regress-619970.js => js/src/tests/non262/Array/regress-619970.js rename : js/src/tests/js1_5/Array/regress-94257.js => js/src/tests/non262/Array/regress-94257.js rename : js/src/tests/ecma_5/Array/reverse-order-of-low-high-accesses.js => js/src/tests/non262/Array/reverse-order-of-low-high-accesses.js rename : js/src/tests/ecma_5/Array/set-with-indexed-property-on-prototype-chain.js => js/src/tests/non262/Array/set-with-indexed-property-on-prototype-chain.js rename : js/src/tests/ecma_6/Array/shift-no-has-trap.js => js/src/tests/non262/Array/shift-no-has-trap.js rename : js/src/tests/ecma_6/Array/shift_for_in.js => js/src/tests/non262/Array/shift_for_in.js rename : js/src/tests/ecma_7/Array/slice-sparse-with-large-index.js => js/src/tests/non262/Array/slice-sparse-with-large-index.js rename : js/src/tests/ecma_5/Array/sort-01.js => js/src/tests/non262/Array/sort-01.js rename : js/src/tests/ecma_5/Array/sort-array-with-holes-and-undefined.js => js/src/tests/non262/Array/sort-array-with-holes-and-undefined.js rename : js/src/tests/ecma_2018/Array/sort-non-function.js => js/src/tests/non262/Array/sort-non-function.js rename : js/src/tests/ecma_6/Array/sort-typedarray-with-own-length.js => js/src/tests/non262/Array/sort-typedarray-with-own-length.js rename : js/src/tests/ecma_6/Array/sort_basics.js => js/src/tests/non262/Array/sort_basics.js rename : js/src/tests/ecma_6/Array/sort_holes.js => js/src/tests/non262/Array/sort_holes.js rename : js/src/tests/ecma_6/Array/sort_proxy.js => js/src/tests/non262/Array/sort_proxy.js rename : js/src/tests/ecma_6/Array/sort_small.js => js/src/tests/non262/Array/sort_small.js rename : js/src/tests/ecma_6/Array/species.js => js/src/tests/non262/Array/species.js rename : js/src/tests/ecma_5/Array/splice-return-array-elements-defined-not-set.js => js/src/tests/non262/Array/splice-return-array-elements-defined-not-set.js rename : js/src/tests/ecma_6/Array/splice-species-changes-length.js => js/src/tests/non262/Array/splice-species-changes-length.js rename : js/src/tests/ecma_5/Array/splice-suppresses-unvisited-indexes.js => js/src/tests/non262/Array/splice-suppresses-unvisited-indexes.js rename : js/src/tests/ecma_6/Array/to-length.js => js/src/tests/non262/Array/to-length.js rename : js/src/tests/ecma_5/Array/toLocaleString-01.js => js/src/tests/non262/Array/toLocaleString-01.js rename : js/src/tests/ecma_6/Array/toLocaleString-nointl.js => js/src/tests/non262/Array/toLocaleString-nointl.js rename : js/src/tests/ecma_6/Array/toLocaleString.js => js/src/tests/non262/Array/toLocaleString.js rename : js/src/tests/ecma_5/Array/toString-01.js => js/src/tests/non262/Array/toString-01.js rename : js/src/tests/ecma_6/Array/unscopables.js => js/src/tests/non262/Array/unscopables.js rename : js/src/tests/ecma_5/Array/unshift-01.js => js/src/tests/non262/Array/unshift-01.js rename : js/src/tests/ecma_6/Array/unshift-with-enumeration.js => js/src/tests/non262/Array/unshift-with-enumeration.js rename : js/src/tests/ecma_6/Array/values.js => js/src/tests/non262/Array/values.js rename : js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js => js/src/tests/non262/ArrayBuffer/CloneArrayBuffer.js rename : js/src/tests/ecma_6/ArrayBuffer/constructorNotCallable.js => js/src/tests/non262/ArrayBuffer/constructorNotCallable.js rename : js/src/tests/ecma_6/ArrayBuffer/getter-name.js => js/src/tests/non262/ArrayBuffer/getter-name.js rename : js/src/tests/ecma_6/ArrayBuffer/slice-species.js => js/src/tests/non262/ArrayBuffer/slice-species.js rename : js/src/tests/ecma_2018/AsyncGenerators/async-generator-declaration-in-modules.js => js/src/tests/non262/AsyncGenerators/async-generator-declaration-in-modules.js rename : js/src/tests/ecma_2018/AsyncGenerators/create-function-parse-before-getprototype.js => js/src/tests/non262/AsyncGenerators/create-function-parse-before-getprototype.js rename : js/src/tests/ecma_2018/AsyncGenerators/for-await-bad-syntax.js => js/src/tests/non262/AsyncGenerators/for-await-bad-syntax.js rename : js/src/tests/ecma_2018/AsyncGenerators/for-await-of-error.js => js/src/tests/non262/AsyncGenerators/for-await-of-error.js rename : js/src/tests/ecma_5/Boolean/15.6.4.2.js => js/src/tests/non262/Boolean/15.6.4.2.js rename : js/src/tests/ecma_5/Boolean/no-boolean-toJSON.js => js/src/tests/non262/Boolean/no-boolean-toJSON.js rename : js/src/tests/ecma_6/DataView/detach-after-construction.js => js/src/tests/non262/DataView/detach-after-construction.js rename : js/src/tests/ecma_6/DataView/get-set-index-range.js => js/src/tests/non262/DataView/get-set-index-range.js rename : js/src/tests/ecma_6/DataView/getter-name.js => js/src/tests/non262/DataView/getter-name.js rename : js/src/tests/ecma_5/Date/15.9.4.2.js => js/src/tests/non262/Date/15.9.4.2.js rename : js/src/tests/ecma_3/Date/15.9.5.5-02.js => js/src/tests/non262/Date/15.9.5.5-02.js rename : js/src/tests/ecma_3/Date/15.9.5.5.js => js/src/tests/non262/Date/15.9.5.5.js rename : js/src/tests/ecma_3/Date/15.9.5.6.js => js/src/tests/non262/Date/15.9.5.6.js rename : js/src/tests/ecma_3/Date/15.9.5.7.js => js/src/tests/non262/Date/15.9.5.7.js rename : js/src/tests/ecma_5/Date/UTC-convert-all-arguments.js => js/src/tests/non262/Date/UTC-convert-all-arguments.js rename : js/src/tests/ecma_6/Date/browser.js => js/src/tests/non262/Date/browser.js rename : js/src/tests/ecma_5/Date/constructor-convert-all-arguments.js => js/src/tests/non262/Date/constructor-convert-all-arguments.js rename : js/src/tests/ecma_6/Date/constructor-one-Date-argument.js => js/src/tests/non262/Date/constructor-one-Date-argument.js rename : js/src/tests/ecma_5/Date/constructor-one-argument.js => js/src/tests/non262/Date/constructor-one-argument.js rename : js/src/tests/ecma_5/Date/defaultvalue.js => js/src/tests/non262/Date/defaultvalue.js rename : js/src/tests/ecma/Date/dst-offset-caching-1-of-8.js => js/src/tests/non262/Date/dst-offset-caching-1-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-2-of-8.js => js/src/tests/non262/Date/dst-offset-caching-2-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-3-of-8.js => js/src/tests/non262/Date/dst-offset-caching-3-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-4-of-8.js => js/src/tests/non262/Date/dst-offset-caching-4-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-5-of-8.js => js/src/tests/non262/Date/dst-offset-caching-5-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-6-of-8.js => js/src/tests/non262/Date/dst-offset-caching-6-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-7-of-8.js => js/src/tests/non262/Date/dst-offset-caching-7-of-8.js rename : js/src/tests/ecma/Date/dst-offset-caching-8-of-8.js => js/src/tests/non262/Date/dst-offset-caching-8-of-8.js rename : js/src/tests/ecma_5/Date/equality-to-boolean.js => js/src/tests/non262/Date/equality-to-boolean.js rename : js/src/tests/ecma_5/Date/fractions.js => js/src/tests/non262/Date/fractions.js rename : js/src/tests/ecma_6/Date/non-iso.js => js/src/tests/non262/Date/non-iso.js rename : js/src/tests/ecma_6/Date/prototype-is-not-a-date.js => js/src/tests/non262/Date/prototype-is-not-a-date.js rename : js/src/tests/js1_5/Date/regress-188211.js => js/src/tests/non262/Date/regress-188211.js rename : js/src/tests/js1_5/Date/regress-301738-01.js => js/src/tests/non262/Date/regress-301738-01.js rename : js/src/tests/js1_5/Date/regress-309925-01.js => js/src/tests/non262/Date/regress-309925-01.js rename : js/src/tests/js1_5/Date/regress-309925-02.js => js/src/tests/non262/Date/regress-309925-02.js rename : js/src/tests/js1_5/Date/regress-346027.js => js/src/tests/non262/Date/regress-346027.js rename : js/src/tests/js1_5/Date/regress-346363.js => js/src/tests/non262/Date/regress-346363.js rename : js/src/tests/ecma_3/Date/regress-452786.js => js/src/tests/non262/Date/regress-452786.js rename : js/src/tests/ecma_5/Date/setTime-argument-shortcircuiting.js => js/src/tests/non262/Date/setTime-argument-shortcircuiting.js rename : js/src/tests/ecma/Date/shell.js => js/src/tests/non262/Date/shell.js rename : js/src/tests/ecma_6/Date/time-zone-2038-pst.js => js/src/tests/non262/Date/time-zone-2038-pst.js rename : js/src/tests/ecma_6/Date/time-zone-pst.js => js/src/tests/non262/Date/time-zone-pst.js rename : js/src/tests/ecma_6/Date/time-zones-pedantic.js => js/src/tests/non262/Date/time-zones-pedantic.js rename : js/src/tests/ecma_6/Date/time-zones-posix.js => js/src/tests/non262/Date/time-zones-posix.js rename : js/src/tests/ecma_6/Date/time-zones.js => js/src/tests/non262/Date/time-zones.js rename : js/src/tests/ecma_5/Date/timeclip.js => js/src/tests/non262/Date/timeclip.js rename : js/src/tests/ecma_6/Date/toISOString.js => js/src/tests/non262/Date/toISOString-01.js rename : js/src/tests/ecma_5/Date/toISOString.js => js/src/tests/non262/Date/toISOString.js rename : js/src/tests/ecma_5/Date/toJSON-01.js => js/src/tests/non262/Date/toJSON-01.js rename : js/src/tests/ecma_6/Date/toPrimitive.js => js/src/tests/non262/Date/toPrimitive.js rename : js/src/tests/ecma_6/Date/toString-generic.js => js/src/tests/non262/Date/toString-generic.js rename : js/src/tests/ecma_6/Date/two-digit-years.js => js/src/tests/non262/Date/two-digit-years.js rename : js/src/tests/js1_5/Error/constructor-ordering.js => js/src/tests/non262/Error/constructor-ordering.js rename : js/src/tests/ecma_6/Error/constructor-proto.js => js/src/tests/non262/Error/constructor-proto.js rename : js/src/tests/ecma_6/Error/prototype-properties.js => js/src/tests/non262/Error/prototype-properties.js rename : js/src/tests/ecma_6/Error/prototype.js => js/src/tests/non262/Error/prototype.js rename : js/src/tests/js1_5/Error/regress-354246.js => js/src/tests/non262/Error/regress-354246.js rename : js/src/tests/js1_5/Error/regress-412324.js => js/src/tests/non262/Error/regress-412324.js rename : js/src/tests/js1_5/Error/regress-465377.js => js/src/tests/non262/Error/regress-465377.js rename : js/src/tests/js1_5/Exceptions/catchguard-002-n.js => js/src/tests/non262/Exceptions/catchguard-002-n.js rename : js/src/tests/js1_5/Exceptions/catchguard-003-n.js => js/src/tests/non262/Exceptions/catchguard-003-n.js rename : js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js => js/src/tests/non262/Exceptions/error-expando-reconfigure.js rename : js/src/tests/ecma_5/Exceptions/error-property-enumerability.js => js/src/tests/non262/Exceptions/error-property-enumerability.js rename : js/src/tests/js1_5/Exceptions/errstack-001.js => js/src/tests/non262/Exceptions/errstack-001.js rename : js/src/tests/js1_5/Exceptions/regress-121658.js => js/src/tests/non262/Exceptions/regress-121658.js rename : js/src/tests/js1_5/Exceptions/regress-123002.js => js/src/tests/non262/Exceptions/regress-123002.js rename : js/src/tests/ecma_3/Exceptions/regress-181654.js => js/src/tests/non262/Exceptions/regress-181654.js rename : js/src/tests/ecma_3/Exceptions/regress-181914.js => js/src/tests/non262/Exceptions/regress-181914.js rename : js/src/tests/js1_5/Exceptions/regress-257751.js => js/src/tests/non262/Exceptions/regress-257751.js rename : js/src/tests/js1_5/Exceptions/regress-273931.js => js/src/tests/non262/Exceptions/regress-273931.js rename : js/src/tests/js1_5/Exceptions/regress-315147.js => js/src/tests/non262/Exceptions/regress-315147.js rename : js/src/tests/js1_5/Exceptions/regress-332472.js => js/src/tests/non262/Exceptions/regress-332472.js rename : js/src/tests/js1_5/Exceptions/regress-333728.js => js/src/tests/non262/Exceptions/regress-333728.js rename : js/src/tests/js1_5/Exceptions/regress-342359.js => js/src/tests/non262/Exceptions/regress-342359.js rename : js/src/tests/js1_5/Exceptions/regress-347674.js => js/src/tests/non262/Exceptions/regress-347674.js rename : js/src/tests/js1_5/Exceptions/regress-350650-n.js => js/src/tests/non262/Exceptions/regress-350650-n.js rename : js/src/tests/js1_5/Exceptions/regress-350837.js => js/src/tests/non262/Exceptions/regress-350837.js rename : js/src/tests/ecma_3/Exceptions/regress-58946.js => js/src/tests/non262/Exceptions/regress-58946.js rename : js/src/tests/ecma_3/Exceptions/regress-95101.js => js/src/tests/non262/Exceptions/regress-95101.js rename : js/src/tests/js1_5/Function/10.1.6-01.js => js/src/tests/non262/Function/10.1.6-01.js rename : js/src/tests/js1_5/Function/10.1.6.js => js/src/tests/non262/Function/10.1.6.js rename : js/src/tests/ecma_5/Function/10.2.1.1.6.js => js/src/tests/non262/Function/10.2.1.1.6.js rename : js/src/tests/ecma_5/Function/15.3.4.3-01.js => js/src/tests/non262/Function/15.3.4.3-01.js rename : js/src/tests/ecma_5/Function/Function-arguments-gc.js => js/src/tests/non262/Function/Function-arguments-gc.js rename : js/src/tests/ecma_5/Function/Function-with-eval.js => js/src/tests/non262/Function/Function-with-eval.js rename : js/src/tests/ecma_2017/Function/Object-toSource.js => js/src/tests/non262/Function/Object-toSource.js rename : js/src/tests/ecma_5/Function/arguments-caller-callee.js => js/src/tests/non262/Function/arguments-caller-callee.js rename : js/src/tests/ecma_6/Function/arguments-extra-property.js => js/src/tests/non262/Function/arguments-extra-property.js rename : js/src/tests/ecma_6/Function/arguments-iterator.js => js/src/tests/non262/Function/arguments-iterator.js rename : js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js => js/src/tests/non262/Function/arguments-parameter-shadowing.js rename : js/src/tests/ecma_5/Function/arguments-property-attributes.js => js/src/tests/non262/Function/arguments-property-attributes.js rename : js/src/tests/ecma_6/Function/arrow-has-duplicated.js => js/src/tests/non262/Function/arrow-has-duplicated.js rename : js/src/tests/ecma_6/Function/bound-length-and-name.js => js/src/tests/non262/Function/bound-length-and-name.js rename : js/src/tests/ecma_6/Function/bound-non-constructable.js => js/src/tests/non262/Function/bound-non-constructable.js rename : js/src/tests/ecma_6/Function/bound-prototype.js => js/src/tests/non262/Function/bound-prototype.js rename : js/src/tests/ecma_5/Function/builtin-no-construct.js => js/src/tests/non262/Function/builtin-no-construct.js rename : js/src/tests/ecma_5/Function/builtin-no-prototype.js => js/src/tests/non262/Function/builtin-no-prototype.js rename : js/src/tests/ecma_6/Function/configurable-length-builtins.js => js/src/tests/non262/Function/configurable-length-builtins.js rename : js/src/tests/ecma_6/Function/configurable-length.js => js/src/tests/non262/Function/configurable-length.js rename : js/src/tests/ecma_6/Function/construct-bound-proxy-with-many-arguments.js => js/src/tests/non262/Function/construct-bound-proxy-with-many-arguments.js rename : js/src/tests/ecma_6/Function/constructor-binding.js => js/src/tests/non262/Function/constructor-binding.js rename : js/src/tests/ecma_6/Function/create-function-parse-before-getprototype.js => js/src/tests/non262/Function/create-function-parse-before-getprototype.js rename : js/src/tests/ecma_5/Function/function-bind.js => js/src/tests/non262/Function/function-bind.js rename : js/src/tests/ecma_5/Function/function-call.js => js/src/tests/non262/Function/function-call.js rename : js/src/tests/ecma_5/Function/function-caller.js => js/src/tests/non262/Function/function-caller.js rename : js/src/tests/ecma_6/Function/function-constructor-toString-arguments-before-parsing-params.js => js/src/tests/non262/Function/function-constructor-toString-arguments-before-parsing-params.js rename : js/src/tests/ecma_6/Function/function-name-assignment.js => js/src/tests/non262/Function/function-name-assignment.js rename : js/src/tests/ecma_6/Function/function-name-binding.js => js/src/tests/non262/Function/function-name-binding.js rename : js/src/tests/ecma_6/Function/function-name-class.js => js/src/tests/non262/Function/function-name-class.js rename : js/src/tests/ecma_6/Function/function-name-for.js => js/src/tests/non262/Function/function-name-for.js rename : js/src/tests/ecma_6/Function/function-name-method.js => js/src/tests/non262/Function/function-name-method.js rename : js/src/tests/ecma_6/Function/function-name-property.js => js/src/tests/non262/Function/function-name-property.js rename : js/src/tests/ecma_6/Function/function-name.js => js/src/tests/non262/Function/function-name.js rename : js/src/tests/ecma_6/Function/has-instance-jitted.js => js/src/tests/non262/Function/has-instance-jitted.js rename : js/src/tests/ecma_6/Function/has-instance.js => js/src/tests/non262/Function/has-instance.js rename : js/src/tests/ecma_6/Function/implicit-this-in-parameter-expression.js => js/src/tests/non262/Function/implicit-this-in-parameter-expression.js rename : js/src/tests/ecma_6/Function/invalid-parameter-list.js => js/src/tests/non262/Function/invalid-parameter-list.js rename : js/src/tests/ecma_6/Function/length-with-destructuring-and-parameter-expression.js => js/src/tests/non262/Function/length-with-destructuring-and-parameter-expression.js rename : js/src/tests/ecma_6/Function/line-terminator-before-arrow.js => js/src/tests/non262/Function/line-terminator-before-arrow.js rename : js/src/tests/ecma_6/Function/method-has-duplicated.js => js/src/tests/non262/Function/method-has-duplicated.js rename : js/src/tests/ecma_6/Function/parameter-redeclaration.js => js/src/tests/non262/Function/parameter-redeclaration.js rename : js/src/tests/ecma_5/Function/redefine-arguments-length.js => js/src/tests/non262/Function/redefine-arguments-length.js rename : js/src/tests/js1_5/Function/regress-123371.js => js/src/tests/non262/Function/regress-123371.js rename : js/src/tests/ecma_3/Function/regress-131964.js => js/src/tests/non262/Function/regress-131964.js rename : js/src/tests/ecma_3/Function/regress-137181.js => js/src/tests/non262/Function/regress-137181.js rename : js/src/tests/js1_5/Function/regress-178389.js => js/src/tests/non262/Function/regress-178389.js rename : js/src/tests/ecma_3/Function/regress-193555.js => js/src/tests/non262/Function/regress-193555.js rename : js/src/tests/js1_5/Function/regress-222029-001.js => js/src/tests/non262/Function/regress-222029-001.js rename : js/src/tests/js1_5/Function/regress-222029-002.js => js/src/tests/non262/Function/regress-222029-002.js rename : js/src/tests/js1_5/Function/regress-292215.js => js/src/tests/non262/Function/regress-292215.js rename : js/src/tests/ecma_3/Function/regress-313570.js => js/src/tests/non262/Function/regress-313570.js rename : js/src/tests/js1_5/Function/regress-338001.js => js/src/tests/non262/Function/regress-338001.js rename : js/src/tests/js1_5/Function/regress-338121-01.js => js/src/tests/non262/Function/regress-338121-01.js rename : js/src/tests/js1_5/Function/regress-338121-02.js => js/src/tests/non262/Function/regress-338121-02.js rename : js/src/tests/js1_5/Function/regress-338121-03.js => js/src/tests/non262/Function/regress-338121-03.js rename : js/src/tests/js1_5/Function/regress-344052.js => js/src/tests/non262/Function/regress-344052.js rename : js/src/tests/js1_5/Function/regress-364023.js => js/src/tests/non262/Function/regress-364023.js rename : js/src/tests/ecma_3/Function/regress-49286.js => js/src/tests/non262/Function/regress-49286.js rename : js/src/tests/ecma_3/FunExpr/regress-518103.js => js/src/tests/non262/Function/regress-518103.js rename : js/src/tests/ecma_3/FunExpr/regress-524826.js => js/src/tests/non262/Function/regress-524826.js rename : js/src/tests/ecma_3/FunExpr/regress-528082.js => js/src/tests/non262/Function/regress-528082.js rename : js/src/tests/ecma_3/FunExpr/regress-533254.js => js/src/tests/non262/Function/regress-533254.js rename : js/src/tests/ecma_3/FunExpr/regress-545980.js => js/src/tests/non262/Function/regress-545980.js rename : js/src/tests/ecma_3/Function/regress-58274.js => js/src/tests/non262/Function/regress-58274.js rename : js/src/tests/ecma_3/Function/regress-85880.js => js/src/tests/non262/Function/regress-85880.js rename : js/src/tests/ecma_3/Function/regress-94506.js => js/src/tests/non262/Function/regress-94506.js rename : js/src/tests/ecma_3/Function/regress-97921.js => js/src/tests/non262/Function/regress-97921.js rename : js/src/tests/ecma_6/Function/rest-has-duplicated.js => js/src/tests/non262/Function/rest-has-duplicated.js rename : js/src/tests/ecma_6/Function/rest-parameter-names.js => js/src/tests/non262/Function/rest-parameter-names.js rename : js/src/tests/ecma_6/Function/return-finally.js => js/src/tests/non262/Function/return-finally.js rename : js/src/tests/ecma_6/Function/spread-iterator-primitive.js => js/src/tests/non262/Function/spread-iterator-primitive.js rename : js/src/tests/ecma_5/Function/strict-arguments.js => js/src/tests/non262/Function/strict-arguments.js rename : js/src/tests/ecma_6/Function/throw-type-error.js => js/src/tests/non262/Function/throw-type-error.js rename : js/src/tests/js1_5/GC/regress-104584.js => js/src/tests/non262/GC/regress-104584.js rename : js/src/tests/js1_5/GC/regress-203278-2.js => js/src/tests/non262/GC/regress-203278-2.js rename : js/src/tests/js1_5/GC/regress-203278-3.js => js/src/tests/non262/GC/regress-203278-3.js rename : js/src/tests/js1_5/GC/regress-278725.js => js/src/tests/non262/GC/regress-278725.js rename : js/src/tests/js1_5/GC/regress-306788.js => js/src/tests/non262/GC/regress-306788.js rename : js/src/tests/js1_5/GC/regress-311497.js => js/src/tests/non262/GC/regress-311497.js rename : js/src/tests/js1_5/GC/regress-313276.js => js/src/tests/non262/GC/regress-313276.js rename : js/src/tests/js1_5/GC/regress-313479.js => js/src/tests/non262/GC/regress-313479.js rename : js/src/tests/js1_5/GC/regress-316885-01.js => js/src/tests/non262/GC/regress-316885-01.js rename : js/src/tests/js1_5/GC/regress-316885-02.js => js/src/tests/non262/GC/regress-316885-02.js rename : js/src/tests/js1_5/GC/regress-316885-03.js => js/src/tests/non262/GC/regress-316885-03.js rename : js/src/tests/js1_5/GC/regress-319980-01.js => js/src/tests/non262/GC/regress-319980-01.js rename : js/src/tests/js1_5/GC/regress-324278.js => js/src/tests/non262/GC/regress-324278.js rename : js/src/tests/js1_5/GC/regress-331719.js => js/src/tests/non262/GC/regress-331719.js rename : js/src/tests/js1_5/GC/regress-338653.js => js/src/tests/non262/GC/regress-338653.js rename : js/src/tests/js1_5/GC/regress-341877-01.js => js/src/tests/non262/GC/regress-341877-01.js rename : js/src/tests/js1_5/GC/regress-341877-02.js => js/src/tests/non262/GC/regress-341877-02.js rename : js/src/tests/js1_5/GC/regress-346794.js => js/src/tests/non262/GC/regress-346794.js rename : js/src/tests/js1_5/GC/regress-348532.js => js/src/tests/non262/GC/regress-348532.js rename : js/src/tests/js1_5/GC/regress-352606.js => js/src/tests/non262/GC/regress-352606.js rename : js/src/tests/js1_5/GC/regress-383269-01.js => js/src/tests/non262/GC/regress-383269-01.js rename : js/src/tests/js1_5/GC/regress-383269-02.js => js/src/tests/non262/GC/regress-383269-02.js rename : js/src/tests/js1_5/GC/regress-390078.js => js/src/tests/non262/GC/regress-390078.js rename : js/src/tests/js1_5/GC/regress-418128.js => js/src/tests/non262/GC/regress-418128.js rename : js/src/tests/js1_5/GC/regress-440558.js => js/src/tests/non262/GC/regress-440558.js rename : js/src/tests/Intl/Array/shell.js => js/src/tests/non262/Intl/Array/shell.js rename : js/src/tests/Intl/Array/toLocaleString-date.js => js/src/tests/non262/Intl/Array/toLocaleString-date.js rename : js/src/tests/Intl/Array/toLocaleString-number.js => js/src/tests/non262/Intl/Array/toLocaleString-number.js rename : js/src/tests/Intl/Array/toLocaleString.js => js/src/tests/non262/Intl/Array/toLocaleString.js rename : js/src/tests/Intl/Collator/browser.js => js/src/tests/non262/Intl/Collator/browser.js rename : js/src/tests/Intl/Collator/call.js => js/src/tests/non262/Intl/Collator/call.js rename : js/src/tests/Intl/Collator/caseFirst.js => js/src/tests/non262/Intl/Collator/caseFirst.js rename : js/src/tests/Intl/Collator/compare.js => js/src/tests/non262/Intl/Collator/compare.js rename : js/src/tests/Intl/Collator/construct-newtarget.js => js/src/tests/non262/Intl/Collator/construct-newtarget.js rename : js/src/tests/Intl/Collator/shell.js => js/src/tests/non262/Intl/Collator/shell.js rename : js/src/tests/Intl/Collator/supportedLocalesOf.js => js/src/tests/non262/Intl/Collator/supportedLocalesOf.js rename : js/src/tests/Intl/Collator/toStringTag.js => js/src/tests/non262/Intl/Collator/toStringTag.js rename : js/src/tests/Intl/Date/browser.js => js/src/tests/non262/Intl/Date/browser.js rename : js/src/tests/Intl/Date/shell.js => js/src/tests/non262/Intl/Date/shell.js rename : js/src/tests/Intl/Date/toLocaleDateString_timeZone.js => js/src/tests/non262/Intl/Date/toLocaleDateString_timeZone.js rename : js/src/tests/Intl/Date/toLocaleString_timeZone.js => js/src/tests/non262/Intl/Date/toLocaleString_timeZone.js rename : js/src/tests/Intl/Date/toLocaleTimeString_timeZone.js => js/src/tests/non262/Intl/Date/toLocaleTimeString_timeZone.js rename : js/src/tests/Intl/DateTimeFormat/browser.js => js/src/tests/non262/Intl/DateTimeFormat/browser.js rename : js/src/tests/Intl/DateTimeFormat/calendar-aliases.js => js/src/tests/non262/Intl/DateTimeFormat/calendar-aliases.js rename : js/src/tests/Intl/DateTimeFormat/call.js => js/src/tests/non262/Intl/DateTimeFormat/call.js rename : js/src/tests/Intl/DateTimeFormat/construct-newtarget.js => js/src/tests/non262/Intl/DateTimeFormat/construct-newtarget.js rename : js/src/tests/Intl/DateTimeFormat/format.js => js/src/tests/non262/Intl/DateTimeFormat/format.js rename : js/src/tests/Intl/DateTimeFormat/formatToParts.js => js/src/tests/non262/Intl/DateTimeFormat/formatToParts.js rename : js/src/tests/Intl/DateTimeFormat/format_timeZone.js => js/src/tests/non262/Intl/DateTimeFormat/format_timeZone.js rename : js/src/tests/Intl/DateTimeFormat/hourCycle.js => js/src/tests/non262/Intl/DateTimeFormat/hourCycle.js rename : js/src/tests/Intl/DateTimeFormat/islamic.js => js/src/tests/non262/Intl/DateTimeFormat/islamic.js rename : js/src/tests/Intl/DateTimeFormat/mozExtensions.js => js/src/tests/non262/Intl/DateTimeFormat/mozExtensions.js rename : js/src/tests/Intl/DateTimeFormat/shell.js => js/src/tests/non262/Intl/DateTimeFormat/shell.js rename : js/src/tests/Intl/DateTimeFormat/supportedLocalesOf.js => js/src/tests/non262/Intl/DateTimeFormat/supportedLocalesOf.js rename : js/src/tests/Intl/DateTimeFormat/timeZone.js => js/src/tests/non262/Intl/DateTimeFormat/timeZone.js rename : js/src/tests/Intl/DateTimeFormat/timeZone_backward_links.js => js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js rename : js/src/tests/Intl/DateTimeFormat/timeZone_backzone.js => js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js rename : js/src/tests/Intl/DateTimeFormat/timeZone_backzone_links.js => js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js rename : js/src/tests/Intl/DateTimeFormat/timeZone_notbackward_links.js => js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js rename : js/src/tests/Intl/DateTimeFormat/toStringTag.js => js/src/tests/non262/Intl/DateTimeFormat/toStringTag.js rename : js/src/tests/Intl/DateTimeFormat/tz-environment-variable.js => js/src/tests/non262/Intl/DateTimeFormat/tz-environment-variable.js rename : js/src/tests/Intl/DateTimeFormat/unwrapping.js => js/src/tests/non262/Intl/DateTimeFormat/unwrapping.js rename : js/src/tests/Intl/NumberFormat/StringBuffer.js => js/src/tests/non262/Intl/NumberFormat/StringBuffer.js rename : js/src/tests/Intl/NumberFormat/browser.js => js/src/tests/non262/Intl/NumberFormat/browser.js rename : js/src/tests/Intl/NumberFormat/call.js => js/src/tests/non262/Intl/NumberFormat/call.js rename : js/src/tests/Intl/NumberFormat/construct-newtarget.js => js/src/tests/non262/Intl/NumberFormat/construct-newtarget.js rename : js/src/tests/Intl/NumberFormat/duplicate-singleton-variant.js => js/src/tests/non262/Intl/NumberFormat/duplicate-singleton-variant.js rename : js/src/tests/Intl/NumberFormat/format-as-code-or-name.js => js/src/tests/non262/Intl/NumberFormat/format-as-code-or-name.js rename : js/src/tests/Intl/NumberFormat/format.js => js/src/tests/non262/Intl/NumberFormat/format.js rename : js/src/tests/Intl/NumberFormat/formatToParts.js => js/src/tests/non262/Intl/NumberFormat/formatToParts.js rename : js/src/tests/Intl/NumberFormat/negativeZeroFractionDigits.js => js/src/tests/non262/Intl/NumberFormat/negativeZeroFractionDigits.js rename : js/src/tests/Intl/NumberFormat/options-emulate-undefined.js => js/src/tests/non262/Intl/NumberFormat/options-emulate-undefined.js rename : js/src/tests/Intl/NumberFormat/remove-unicode-extensions.js => js/src/tests/non262/Intl/NumberFormat/remove-unicode-extensions.js rename : js/src/tests/Intl/NumberFormat/shell.js => js/src/tests/non262/Intl/NumberFormat/shell.js rename : js/src/tests/Intl/NumberFormat/significantDigitsOfZero.js => js/src/tests/non262/Intl/NumberFormat/significantDigitsOfZero.js rename : js/src/tests/Intl/NumberFormat/supportedLocalesOf.js => js/src/tests/non262/Intl/NumberFormat/supportedLocalesOf.js rename : js/src/tests/Intl/NumberFormat/toStringTag.js => js/src/tests/non262/Intl/NumberFormat/toStringTag.js rename : js/src/tests/Intl/NumberFormat/unwrapping.js => js/src/tests/non262/Intl/NumberFormat/unwrapping.js rename : js/src/tests/Intl/PluralRules/browser.js => js/src/tests/non262/Intl/PluralRules/browser.js rename : js/src/tests/Intl/PluralRules/call.js => js/src/tests/non262/Intl/PluralRules/call.js rename : js/src/tests/Intl/PluralRules/construct-newtarget.js => js/src/tests/non262/Intl/PluralRules/construct-newtarget.js rename : js/src/tests/Intl/PluralRules/negativeZeroFractionDigits.js => js/src/tests/non262/Intl/PluralRules/negativeZeroFractionDigits.js rename : js/src/tests/Intl/PluralRules/pluralrules.js => js/src/tests/non262/Intl/PluralRules/pluralrules.js rename : js/src/tests/Intl/PluralRules/resolvedOptions-overridden-species.js => js/src/tests/non262/Intl/PluralRules/resolvedOptions-overridden-species.js rename : js/src/tests/Intl/PluralRules/select.js => js/src/tests/non262/Intl/PluralRules/select.js rename : js/src/tests/Intl/PluralRules/shell.js => js/src/tests/non262/Intl/PluralRules/shell.js rename : js/src/tests/Intl/PluralRules/supportedLocalesOf.js => js/src/tests/non262/Intl/PluralRules/supportedLocalesOf.js rename : js/src/tests/Intl/README.txt => js/src/tests/non262/Intl/README.txt rename : js/src/tests/Intl/RelativeTimeFormat/browser.js => js/src/tests/non262/Intl/RelativeTimeFormat/browser.js rename : js/src/tests/Intl/RelativeTimeFormat/construct-newtarget.js => js/src/tests/non262/Intl/RelativeTimeFormat/construct-newtarget.js rename : js/src/tests/Intl/RelativeTimeFormat/format.js => js/src/tests/non262/Intl/RelativeTimeFormat/format.js rename : js/src/tests/Intl/RelativeTimeFormat/relativetimeformat.js => js/src/tests/non262/Intl/RelativeTimeFormat/relativetimeformat.js rename : js/src/tests/Intl/RelativeTimeFormat/shell.js => js/src/tests/non262/Intl/RelativeTimeFormat/shell.js rename : js/src/tests/Intl/RelativeTimeFormat/supportedLocalesOf.js => js/src/tests/non262/Intl/RelativeTimeFormat/supportedLocalesOf.js rename : js/src/tests/Intl/String/shell.js => js/src/tests/non262/Intl/String/shell.js rename : js/src/tests/Intl/String/toLocaleLowerCase.js => js/src/tests/non262/Intl/String/toLocaleLowerCase.js rename : js/src/tests/Intl/String/toLocaleUpperCase.js => js/src/tests/non262/Intl/String/toLocaleUpperCase.js rename : js/src/tests/Intl/TypedArray/shell.js => js/src/tests/non262/Intl/TypedArray/shell.js rename : js/src/tests/Intl/TypedArray/toLocaleString.js => js/src/tests/non262/Intl/TypedArray/toLocaleString.js rename : js/src/tests/Intl/browser.js => js/src/tests/non262/Intl/browser.js rename : js/src/tests/Intl/duplicate-variants.js => js/src/tests/non262/Intl/duplicate-variants.js rename : js/src/tests/Intl/extensions/browser.js => js/src/tests/non262/Intl/extensions/browser.js rename : js/src/tests/Intl/extensions/options-value-emulates-undefined.js => js/src/tests/non262/Intl/extensions/options-value-emulates-undefined.js rename : js/src/tests/Intl/extensions/shell.js => js/src/tests/non262/Intl/extensions/shell.js rename : js/src/tests/Intl/fallback-symbol.js => js/src/tests/non262/Intl/fallback-symbol.js rename : js/src/tests/Intl/four-letter-language-codes.js => js/src/tests/non262/Intl/four-letter-language-codes.js rename : js/src/tests/Intl/getCalendarInfo.js => js/src/tests/non262/Intl/getCalendarInfo.js rename : js/src/tests/Intl/getCanonicalLocales-overridden-arg-length.js => js/src/tests/non262/Intl/getCanonicalLocales-overridden-arg-length.js rename : js/src/tests/Intl/getCanonicalLocales-overridden-push.js => js/src/tests/non262/Intl/getCanonicalLocales-overridden-push.js rename : js/src/tests/Intl/getCanonicalLocales-overridden-set.js => js/src/tests/non262/Intl/getCanonicalLocales-overridden-set.js rename : js/src/tests/Intl/getCanonicalLocales-overridden-species.js => js/src/tests/non262/Intl/getCanonicalLocales-overridden-species.js rename : js/src/tests/Intl/getCanonicalLocales-weird-cases.js => js/src/tests/non262/Intl/getCanonicalLocales-weird-cases.js rename : js/src/tests/Intl/getCanonicalLocales-with-duplicates.js => js/src/tests/non262/Intl/getCanonicalLocales-with-duplicates.js rename : js/src/tests/Intl/getCanonicalLocales.js => js/src/tests/non262/Intl/getCanonicalLocales.js rename : js/src/tests/Intl/getDisplayNames.js => js/src/tests/non262/Intl/getDisplayNames.js rename : js/src/tests/Intl/getLocaleInfo.js => js/src/tests/non262/Intl/getLocaleInfo.js rename : js/src/tests/Intl/shell.js => js/src/tests/non262/Intl/shell.js rename : js/src/tests/ecma_5/JSON/cyclic-stringify-unrelated.js => js/src/tests/non262/JSON/cyclic-stringify-unrelated.js rename : js/src/tests/ecma_5/JSON/cyclic-stringify.js => js/src/tests/non262/JSON/cyclic-stringify.js rename : js/src/tests/ecma_5/JSON/parse-arguments.js => js/src/tests/non262/JSON/parse-arguments.js rename : js/src/tests/ecma_5/JSON/parse-array-gc.js => js/src/tests/non262/JSON/parse-array-gc.js rename : js/src/tests/ecma_5/JSON/parse-crockford-01.js => js/src/tests/non262/JSON/parse-crockford-01.js rename : js/src/tests/ecma_5/JSON/parse-mega-huge-array.js => js/src/tests/non262/JSON/parse-mega-huge-array.js rename : js/src/tests/ecma_5/JSON/parse-number-syntax.js => js/src/tests/non262/JSON/parse-number-syntax.js rename : js/src/tests/ecma_5/JSON/parse-octal-syntax-error.js => js/src/tests/non262/JSON/parse-octal-syntax-error.js rename : js/src/tests/ecma_5/JSON/parse-primitives.js => js/src/tests/non262/JSON/parse-primitives.js rename : js/src/tests/ecma_5/JSON/parse-reviver-array-delete.js => js/src/tests/non262/JSON/parse-reviver-array-delete.js rename : js/src/tests/ecma_5/JSON/parse-reviver.js => js/src/tests/non262/JSON/parse-reviver.js rename : js/src/tests/ecma_5/JSON/parse-syntax-errors-01.js => js/src/tests/non262/JSON/parse-syntax-errors-01.js rename : js/src/tests/ecma_5/JSON/parse-syntax-errors-02.js => js/src/tests/non262/JSON/parse-syntax-errors-02.js rename : js/src/tests/ecma_5/JSON/parse-syntax-errors-03.js => js/src/tests/non262/JSON/parse-syntax-errors-03.js rename : js/src/tests/ecma_5/JSON/parse.js => js/src/tests/non262/JSON/parse.js rename : js/src/tests/js1_8_1/JSON/regress-458959.js => js/src/tests/non262/JSON/regress-458959.js rename : js/src/tests/js1_8_1/JSON/regress-459293.js => js/src/tests/non262/JSON/regress-459293.js rename : js/src/tests/ecma_5/JSON/shell.js => js/src/tests/non262/JSON/shell.js rename : js/src/tests/ecma_5/JSON/small-codepoints.js => js/src/tests/non262/JSON/small-codepoints.js rename : js/src/tests/ecma_5/JSON/stringify-boxed-primitives.js => js/src/tests/non262/JSON/stringify-boxed-primitives.js rename : js/src/tests/ecma_5/JSON/stringify-call-replacer-once.js => js/src/tests/non262/JSON/stringify-call-replacer-once.js rename : js/src/tests/ecma_5/JSON/stringify-call-toJSON-once.js => js/src/tests/non262/JSON/stringify-call-toJSON-once.js rename : js/src/tests/ecma_5/JSON/stringify-dropping-elements.js => js/src/tests/non262/JSON/stringify-dropping-elements.js rename : js/src/tests/ecma_5/JSON/stringify-gap.js => js/src/tests/non262/JSON/stringify-gap.js rename : js/src/tests/ecma_5/JSON/stringify-ignore-noncallable-toJSON.js => js/src/tests/non262/JSON/stringify-ignore-noncallable-toJSON.js rename : js/src/tests/ecma_5/JSON/stringify-large-replacer-array.js => js/src/tests/non262/JSON/stringify-large-replacer-array.js rename : js/src/tests/ecma_5/JSON/stringify-missing-arguments.js => js/src/tests/non262/JSON/stringify-missing-arguments.js rename : js/src/tests/ecma_5/JSON/stringify-nonarray-noncallable-replacer.js => js/src/tests/non262/JSON/stringify-nonarray-noncallable-replacer.js rename : js/src/tests/ecma_5/JSON/stringify-primitives.js => js/src/tests/non262/JSON/stringify-primitives.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-array-boxed-elements.js => js/src/tests/non262/JSON/stringify-replacer-array-boxed-elements.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-array-duplicated-element.js => js/src/tests/non262/JSON/stringify-replacer-array-duplicated-element.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-array-edgecase-jsid-elements.js => js/src/tests/non262/JSON/stringify-replacer-array-edgecase-jsid-elements.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-array-hijinks.js => js/src/tests/non262/JSON/stringify-replacer-array-hijinks.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-array-skipped-element.js => js/src/tests/non262/JSON/stringify-replacer-array-skipped-element.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-array-trailing-holes.js => js/src/tests/non262/JSON/stringify-replacer-array-trailing-holes.js rename : js/src/tests/ecma_5/JSON/stringify-replacer-with-array-indexes.js => js/src/tests/non262/JSON/stringify-replacer-with-array-indexes.js rename : js/src/tests/ecma_5/JSON/stringify-replacer.js => js/src/tests/non262/JSON/stringify-replacer.js rename : js/src/tests/ecma_5/JSON/stringify-special-escapes.js => js/src/tests/non262/JSON/stringify-special-escapes.js rename : js/src/tests/ecma_5/JSON/stringify-toJSON-arguments.js => js/src/tests/non262/JSON/stringify-toJSON-arguments.js rename : js/src/tests/ecma_5/JSON/stringify.js => js/src/tests/non262/JSON/stringify.js rename : js/src/tests/ecma_5/JSON/trailing-comma.js => js/src/tests/non262/JSON/trailing-comma.js rename : js/src/tests/ecma_6/Map/NaN-as-key.js => js/src/tests/non262/Map/NaN-as-key.js rename : js/src/tests/ecma_6/Map/constructor-iterator-close.js => js/src/tests/non262/Map/constructor-iterator-close.js rename : js/src/tests/ecma_6/Map/constructor-iterator-primitive.js => js/src/tests/non262/Map/constructor-iterator-primitive.js rename : js/src/tests/ecma_6/Map/forEach-selfhosted-behavior.js => js/src/tests/non262/Map/forEach-selfhosted-behavior.js rename : js/src/tests/ecma_6/Map/getter-name.js => js/src/tests/non262/Map/getter-name.js rename : js/src/tests/ecma_6/Map/iterable.js => js/src/tests/non262/Map/iterable.js rename : js/src/tests/ecma_6/Map/symbols.js => js/src/tests/non262/Map/symbols.js rename : js/src/tests/ecma/Math/15.8.1.js => js/src/tests/non262/Math/15.8.1.js rename : js/src/tests/ecma/Math/15.8.2.13.js => js/src/tests/non262/Math/15.8.2.13.js rename : js/src/tests/ecma/Math/15.8.2.16.js => js/src/tests/non262/Math/15.8.2.16.js rename : js/src/tests/ecma/Math/15.8.2.17.js => js/src/tests/non262/Math/15.8.2.17.js rename : js/src/tests/ecma/Math/15.8.2.18.js => js/src/tests/non262/Math/15.8.2.18.js rename : js/src/tests/ecma/Math/15.8.2.2.js => js/src/tests/non262/Math/15.8.2.2.js rename : js/src/tests/ecma/Math/15.8.2.3.js => js/src/tests/non262/Math/15.8.2.3.js rename : js/src/tests/ecma/Math/15.8.2.4.js => js/src/tests/non262/Math/15.8.2.4.js rename : js/src/tests/ecma/Math/15.8.2.5.js => js/src/tests/non262/Math/15.8.2.5.js rename : js/src/tests/ecma/Math/15.8.2.7.js => js/src/tests/non262/Math/15.8.2.7.js rename : js/src/tests/ecma/Math/15.8.2.8.js => js/src/tests/non262/Math/15.8.2.8.js rename : js/src/tests/ecma_6/Math/20.2.2.ToNumber.js => js/src/tests/non262/Math/20.2.2.ToNumber.js rename : js/src/tests/ecma_7/Math/Pow.js => js/src/tests/non262/Math/Pow.js rename : js/src/tests/ecma_6/Math/acosh-approx.js => js/src/tests/non262/Math/acosh-approx.js rename : js/src/tests/ecma_6/Math/acosh-exact.js => js/src/tests/non262/Math/acosh-exact.js rename : js/src/tests/ecma_6/Math/asinh-approx.js => js/src/tests/non262/Math/asinh-approx.js rename : js/src/tests/ecma_6/Math/asinh-exact.js => js/src/tests/non262/Math/asinh-exact.js rename : js/src/tests/ecma_6/Math/atanh-approx.js => js/src/tests/non262/Math/atanh-approx.js rename : js/src/tests/ecma_6/Math/atanh-exact.js => js/src/tests/non262/Math/atanh-exact.js rename : js/src/tests/ecma_6/Math/cbrt-approx.js => js/src/tests/non262/Math/cbrt-approx.js rename : js/src/tests/ecma_6/Math/cbrt-exact.js => js/src/tests/non262/Math/cbrt-exact.js rename : js/src/tests/ecma_6/Math/clz32.js => js/src/tests/non262/Math/clz32.js rename : js/src/tests/ecma_6/Math/cosh-approx.js => js/src/tests/non262/Math/cosh-approx.js rename : js/src/tests/ecma_6/Math/cosh-exact.js => js/src/tests/non262/Math/cosh-exact.js rename : js/src/tests/ecma_6/Math/expm1-approx.js => js/src/tests/non262/Math/expm1-approx.js rename : js/src/tests/ecma_6/Math/expm1-exact.js => js/src/tests/non262/Math/expm1-exact.js rename : js/src/tests/ecma_6/Math/expm1-monotonicity.js => js/src/tests/non262/Math/expm1-monotonicity.js rename : js/src/tests/ecma_6/Math/fround.js => js/src/tests/non262/Math/fround.js rename : js/src/tests/ecma_6/Math/log10-approx.js => js/src/tests/non262/Math/log10-approx.js rename : js/src/tests/ecma_6/Math/log10-exact.js => js/src/tests/non262/Math/log10-exact.js rename : js/src/tests/ecma_6/Math/log1p-approx.js => js/src/tests/non262/Math/log1p-approx.js rename : js/src/tests/ecma_6/Math/log1p-exact.js => js/src/tests/non262/Math/log1p-exact.js rename : js/src/tests/ecma_6/Math/log2-approx.js => js/src/tests/non262/Math/log2-approx.js rename : js/src/tests/ecma_6/Math/log2-exact.js => js/src/tests/non262/Math/log2-exact.js rename : js/src/tests/ecma_6/Math/shell.js => js/src/tests/non262/Math/shell.js rename : js/src/tests/ecma_6/Math/sign.js => js/src/tests/non262/Math/sign.js rename : js/src/tests/ecma_6/Math/sinh-approx.js => js/src/tests/non262/Math/sinh-approx.js rename : js/src/tests/ecma_6/Math/sinh-exact.js => js/src/tests/non262/Math/sinh-exact.js rename : js/src/tests/ecma_6/Math/tanh-approx.js => js/src/tests/non262/Math/tanh-approx.js rename : js/src/tests/ecma_6/Math/tanh-exact.js => js/src/tests/non262/Math/tanh-exact.js rename : js/src/tests/ecma_6/Math/trunc.js => js/src/tests/non262/Math/trunc.js rename : js/src/tests/ecma/Number/0x-without-following-hexdigits.js => js/src/tests/non262/Number/0x-without-following-hexdigits.js rename : js/src/tests/ecma_6/Number/15.7.3.7-EPSILON.js => js/src/tests/non262/Number/15.7.3.7-EPSILON.js rename : js/src/tests/ecma_5/Number/15.7.4.2.js => js/src/tests/non262/Number/15.7.4.2.js rename : js/src/tests/ecma_6/Number/20.1.2.10-MIN_SAFE_INTEGER.js => js/src/tests/non262/Number/20.1.2.10-MIN_SAFE_INTEGER.js rename : js/src/tests/ecma_6/Number/20.1.2.6-MAX_SAFE_INTEGER.js => js/src/tests/non262/Number/20.1.2.6-MAX_SAFE_INTEGER.js rename : js/src/tests/ecma_6/Number/20.1.3.2-toExponential.js => js/src/tests/non262/Number/20.1.3.2-toExponential.js rename : js/src/tests/ecma_6/Number/20.1.3.2-toPrecision.js => js/src/tests/non262/Number/20.1.3.2-toPrecision.js rename : js/src/tests/ecma_6/Number/20.1.3.3-toFixed.js => js/src/tests/non262/Number/20.1.3.3-toFixed.js rename : js/src/tests/ecma_6/Number/ToNumber.js => js/src/tests/non262/Number/ToNumber.js rename : js/src/tests/ecma_5/Number/conversion-invalid-precision.js => js/src/tests/non262/Number/conversion-invalid-precision.js rename : js/src/tests/ecma_5/Number/defaultvalue.js => js/src/tests/non262/Number/defaultvalue.js rename : js/src/tests/ecma_6/Number/isSafeInteger-01.js => js/src/tests/non262/Number/isSafeInteger-01.js rename : js/src/tests/ecma_6/Number/parseFloat-01.js => js/src/tests/non262/Number/parseFloat-01.js rename : js/src/tests/ecma_6/Number/parseInt-01.js => js/src/tests/non262/Number/parseInt-01.js rename : js/src/tests/ecma_6/Number/parseInt-default-to-decimal.js => js/src/tests/non262/Number/parseInt-default-to-decimal.js rename : js/src/tests/ecma_3/Number/regress-442242-01.js => js/src/tests/non262/Number/regress-442242-01.js rename : js/src/tests/ecma_5/Number/toString-radix-handling.js => js/src/tests/non262/Number/toString-radix-handling.js rename : js/src/tests/ecma_5/Number/tonumber-string-hex.js => js/src/tests/non262/Number/tonumber-string-hex.js rename : js/src/tests/ecma_6/Promise/bug-1287334.js => js/src/tests/non262/Promise/bug-1287334.js rename : js/src/tests/ecma_6/Promise/bug-1288382.js => js/src/tests/non262/Promise/bug-1288382.js rename : js/src/tests/ecma_6/Promise/bug-1289040.js => js/src/tests/non262/Promise/bug-1289040.js rename : js/src/tests/ecma_6/Promise/dependent-promises.js => js/src/tests/non262/Promise/dependent-promises.js rename : js/src/tests/ecma_6/Promise/enqueue-promise-reactions.js => js/src/tests/non262/Promise/enqueue-promise-reactions.js rename : js/src/tests/ecma_6/Promise/get-wait-for-all-promise.js => js/src/tests/non262/Promise/get-wait-for-all-promise.js rename : js/src/tests/ecma_6/Promise/iterator-close.js => js/src/tests/non262/Promise/iterator-close.js rename : js/src/tests/ecma_6/Promise/iterator-primitive.js => js/src/tests/non262/Promise/iterator-primitive.js rename : js/src/tests/ecma_6/Promise/methods-non-enumerable.js => js/src/tests/non262/Promise/methods-non-enumerable.js rename : js/src/tests/ecma_6/Promise/promise-all.js => js/src/tests/non262/Promise/promise-all.js rename : js/src/tests/ecma_6/Promise/promise-basics.js => js/src/tests/non262/Promise/promise-basics.js rename : js/src/tests/ecma_6/Promise/promise-rejection-tracking.js => js/src/tests/non262/Promise/promise-rejection-tracking.js rename : js/src/tests/ecma_6/Promise/promise-species.js => js/src/tests/non262/Promise/promise-species.js rename : js/src/tests/ecma_6/Promise/promise-subclassing.js => js/src/tests/non262/Promise/promise-subclassing.js rename : js/src/tests/ecma_6/Promise/self-resolve.js => js/src/tests/non262/Promise/self-resolve.js rename : js/src/tests/ecma_6/Proxy/getPrototypeOf.js => js/src/tests/non262/Proxy/getPrototypeOf.js rename : js/src/tests/ecma_6/Proxy/global-receiver.js => js/src/tests/non262/Proxy/global-receiver.js rename : js/src/tests/ecma_6/Proxy/hasInstance.js => js/src/tests/non262/Proxy/hasInstance.js rename : js/src/tests/ecma_6/Proxy/json-stringify-replacer-array-revocable-proxy.js => js/src/tests/non262/Proxy/json-stringify-replacer-array-revocable-proxy.js rename : js/src/tests/ecma_6/Proxy/ownkeys-allowed-types.js => js/src/tests/non262/Proxy/ownkeys-allowed-types.js rename : js/src/tests/ecma_6/Proxy/ownkeys-linear.js => js/src/tests/non262/Proxy/ownkeys-linear.js rename : js/src/tests/ecma_6/Proxy/ownkeys-trap-duplicates.js => js/src/tests/non262/Proxy/ownkeys-trap-duplicates.js rename : js/src/tests/ecma_6/Proxy/proxy-__proto__.js => js/src/tests/non262/Proxy/proxy-__proto__.js rename : js/src/tests/ecma_6/Proxy/proxy-constructNonObject.js => js/src/tests/non262/Proxy/proxy-constructNonObject.js rename : js/src/tests/ecma_6/Proxy/proxy-for-in.js => js/src/tests/non262/Proxy/proxy-for-in.js rename : js/src/tests/ecma_6/Proxy/proxy-no-receiver-overwrite.js => js/src/tests/non262/Proxy/proxy-no-receiver-overwrite.js rename : js/src/tests/ecma_6/Proxy/proxy-proto-lazy-props.js => js/src/tests/non262/Proxy/proxy-proto-lazy-props.js rename : js/src/tests/ecma_6/Proxy/proxy-with-revoked-arguments.js => js/src/tests/non262/Proxy/proxy-with-revoked-arguments.js rename : js/src/tests/ecma_6/Proxy/regress-bug1037770.js => js/src/tests/non262/Proxy/regress-bug1037770.js rename : js/src/tests/ecma_6/Proxy/regress-bug1062349.js => js/src/tests/non262/Proxy/regress-bug1062349.js rename : js/src/tests/ecma_6/Proxy/regress-bug950407.js => js/src/tests/non262/Proxy/regress-bug950407.js rename : js/src/tests/ecma_6/Proxy/revocable-proxy-prototype.js => js/src/tests/non262/Proxy/revocable-proxy-prototype.js rename : js/src/tests/ecma_6/Proxy/revoke-as-side-effect.js => js/src/tests/non262/Proxy/revoke-as-side-effect.js rename : js/src/tests/ecma_6/Proxy/setPrototypeOf.js => js/src/tests/non262/Proxy/setPrototypeOf.js rename : js/src/tests/ecma_6/Proxy/trap-null.js => js/src/tests/non262/Proxy/trap-null.js rename : js/src/tests/ecma_6/Reflect/apply.js => js/src/tests/non262/Reflect/apply.js rename : js/src/tests/ecma_6/Reflect/argumentsList.js => js/src/tests/non262/Reflect/argumentsList.js rename : js/src/tests/ecma_6/Reflect/construct.js => js/src/tests/non262/Reflect/construct.js rename : js/src/tests/ecma_6/Reflect/defineProperty.js => js/src/tests/non262/Reflect/defineProperty.js rename : js/src/tests/ecma_6/Reflect/deleteProperty.js => js/src/tests/non262/Reflect/deleteProperty.js rename : js/src/tests/ecma_6/Reflect/get.js => js/src/tests/non262/Reflect/get.js rename : js/src/tests/ecma_6/Reflect/getOwnPropertyDescriptor.js => js/src/tests/non262/Reflect/getOwnPropertyDescriptor.js rename : js/src/tests/ecma_6/Reflect/getPrototypeOf.js => js/src/tests/non262/Reflect/getPrototypeOf.js rename : js/src/tests/ecma_6/Reflect/has.js => js/src/tests/non262/Reflect/has.js rename : js/src/tests/ecma_6/Reflect/isExtensible.js => js/src/tests/non262/Reflect/isExtensible.js rename : js/src/tests/ecma_6/Reflect/ownKeys.js => js/src/tests/non262/Reflect/ownKeys.js rename : js/src/tests/ecma_6/Reflect/preventExtensions.js => js/src/tests/non262/Reflect/preventExtensions.js rename : js/src/tests/ecma_6/Reflect/propertyKeys.js => js/src/tests/non262/Reflect/propertyKeys.js rename : js/src/tests/ecma_6/Reflect/set.js => js/src/tests/non262/Reflect/set.js rename : js/src/tests/ecma_6/Reflect/setPrototypeOf.js => js/src/tests/non262/Reflect/setPrototypeOf.js rename : js/src/tests/ecma_6/Reflect/shell.js => js/src/tests/non262/Reflect/shell.js rename : js/src/tests/ecma_6/Reflect/surfaces.js => js/src/tests/non262/Reflect/surfaces.js rename : js/src/tests/ecma_6/Reflect/target.js => js/src/tests/non262/Reflect/target.js rename : js/src/tests/ecma_5/RegExp/15.10.5-01.js => js/src/tests/non262/RegExp/15.10.5-01.js rename : js/src/tests/ecma_5/RegExp/15.10.7.5-01.js => js/src/tests/non262/RegExp/15.10.7.5-01.js rename : js/src/tests/ecma_5/RegExp/7.8.5-01.js => js/src/tests/non262/RegExp/7.8.5-01.js rename : js/src/tests/ecma_6/RegExp/RegExpExec-exec.js => js/src/tests/non262/RegExp/RegExpExec-exec.js rename : js/src/tests/ecma_6/RegExp/RegExpExec-return.js => js/src/tests/non262/RegExp/RegExpExec-return.js rename : js/src/tests/js1_2/regexp/RegExp_dollar_number.js => js/src/tests/non262/RegExp/RegExp_dollar_number.js rename : js/src/tests/js1_2/regexp/RegExp_lastMatch.js => js/src/tests/non262/RegExp/RegExp_lastMatch.js rename : js/src/tests/js1_2/regexp/RegExp_lastMatch_as_array.js => js/src/tests/non262/RegExp/RegExp_lastMatch_as_array.js rename : js/src/tests/js1_2/regexp/RegExp_lastParen.js => js/src/tests/non262/RegExp/RegExp_lastParen.js rename : js/src/tests/js1_2/regexp/RegExp_lastParen_as_array.js => js/src/tests/non262/RegExp/RegExp_lastParen_as_array.js rename : js/src/tests/js1_2/regexp/RegExp_leftContext.js => js/src/tests/non262/RegExp/RegExp_leftContext.js rename : js/src/tests/js1_2/regexp/RegExp_leftContext_as_array.js => js/src/tests/non262/RegExp/RegExp_leftContext_as_array.js rename : js/src/tests/js1_2/regexp/RegExp_object.js => js/src/tests/non262/RegExp/RegExp_object.js rename : js/src/tests/js1_2/regexp/RegExp_rightContext.js => js/src/tests/non262/RegExp/RegExp_rightContext.js rename : js/src/tests/js1_2/regexp/RegExp_rightContext_as_array.js => js/src/tests/non262/RegExp/RegExp_rightContext_as_array.js rename : js/src/tests/ecma_6/RegExp/character-class-escape-s.js => js/src/tests/non262/RegExp/character-class-escape-s.js rename : js/src/tests/ecma_6/RegExp/character-escape-class-s-mongolian-vowel-separator.js => js/src/tests/non262/RegExp/character-escape-class-s-mongolian-vowel-separator.js rename : js/src/tests/ecma_6/RegExp/class-null.js => js/src/tests/non262/RegExp/class-null.js rename : js/src/tests/ecma_6/RegExp/compile-lastIndex.js => js/src/tests/non262/RegExp/compile-lastIndex.js rename : js/src/tests/ecma_6/RegExp/compile-symbol.js => js/src/tests/non262/RegExp/compile-symbol.js rename : js/src/tests/ecma_6/RegExp/constructor-IsRegExp.js => js/src/tests/non262/RegExp/constructor-IsRegExp.js rename : js/src/tests/ecma_6/RegExp/constructor-constructor.js => js/src/tests/non262/RegExp/constructor-constructor.js rename : js/src/tests/ecma_6/RegExp/constructor-ordering-2.js => js/src/tests/non262/RegExp/constructor-ordering-2.js rename : js/src/tests/ecma_6/RegExp/constructor-ordering.js => js/src/tests/non262/RegExp/constructor-ordering.js rename : js/src/tests/ecma_6/RegExp/constructor-regexp-unicode.js => js/src/tests/non262/RegExp/constructor-regexp-unicode.js rename : js/src/tests/ecma_6/RegExp/constructor-regexp.js => js/src/tests/non262/RegExp/constructor-regexp.js rename : js/src/tests/ecma_6/RegExp/constructor-symbol.js => js/src/tests/non262/RegExp/constructor-symbol.js rename : js/src/tests/ecma_6/RegExp/descriptor.js => js/src/tests/non262/RegExp/descriptor.js rename : js/src/tests/ecma_5/RegExp/empty-lookahead.js => js/src/tests/non262/RegExp/empty-lookahead.js rename : js/src/tests/ecma_6/RegExp/escape.js => js/src/tests/non262/RegExp/escape.js rename : js/src/tests/ecma_5/RegExp/exec-lastIndex-ToInteger.js => js/src/tests/non262/RegExp/exec-lastIndex-ToInteger.js rename : js/src/tests/ecma_6/RegExp/exec-lastIndex-negative.js => js/src/tests/non262/RegExp/exec-lastIndex-negative.js rename : js/src/tests/ecma_5/RegExp/exec.js => js/src/tests/non262/RegExp/exec.js rename : js/src/tests/ecma_6/RegExp/flag-accessors.js => js/src/tests/non262/RegExp/flag-accessors.js rename : js/src/tests/ecma_6/RegExp/flags-param-handling.js => js/src/tests/non262/RegExp/flags-param-handling.js rename : js/src/tests/ecma_6/RegExp/flags.js => js/src/tests/non262/RegExp/flags.js rename : js/src/tests/ecma_6/RegExp/getter-name.js => js/src/tests/non262/RegExp/getter-name.js rename : js/src/tests/ecma_6/RegExp/ignoreCase-multiple.js => js/src/tests/non262/RegExp/ignoreCase-multiple.js rename : js/src/tests/ecma_6/RegExp/ignoreCase-non-latin1-to-latin1.js => js/src/tests/non262/RegExp/ignoreCase-non-latin1-to-latin1.js rename : js/src/tests/ecma_5/RegExp/instance-property-storage-introspection.js => js/src/tests/non262/RegExp/instance-property-storage-introspection.js rename : js/src/tests/ecma_2017/RegExp/lastIndex-exec.js => js/src/tests/non262/RegExp/lastIndex-exec.js rename : js/src/tests/ecma_2017/RegExp/lastIndex-match-or-replace.js => js/src/tests/non262/RegExp/lastIndex-match-or-replace.js rename : js/src/tests/ecma_6/RegExp/lastIndex-nonwritable.js => js/src/tests/non262/RegExp/lastIndex-nonwritable.js rename : js/src/tests/ecma_2017/RegExp/lastIndex-search.js => js/src/tests/non262/RegExp/lastIndex-search.js rename : js/src/tests/ecma_6/RegExp/match-local-tolength-recompilation.js => js/src/tests/non262/RegExp/match-local-tolength-recompilation.js rename : js/src/tests/ecma_6/RegExp/match-this.js => js/src/tests/non262/RegExp/match-this.js rename : js/src/tests/ecma_6/RegExp/match-trace.js => js/src/tests/non262/RegExp/match-trace.js rename : js/src/tests/ecma_6/RegExp/match.js => js/src/tests/non262/RegExp/match.js rename : js/src/tests/ecma_2018/RegExp/prototype-different-global.js => js/src/tests/non262/RegExp/prototype-different-global.js rename : js/src/tests/ecma_6/RegExp/prototype.js => js/src/tests/non262/RegExp/prototype.js rename : js/src/tests/ecma_5/RegExp/regexp-space-character-class.js => js/src/tests/non262/RegExp/regexp-space-character-class.js rename : js/src/tests/ecma_3/RegExp/regress-100199.js => js/src/tests/non262/RegExp/regress-100199.js rename : js/src/tests/ecma_3/RegExp/regress-105972.js => js/src/tests/non262/RegExp/regress-105972.js rename : js/src/tests/ecma_3/RegExp/regress-119909.js => js/src/tests/non262/RegExp/regress-119909.js rename : js/src/tests/ecma_3/RegExp/regress-122076.js => js/src/tests/non262/RegExp/regress-122076.js rename : js/src/tests/ecma_3/RegExp/regress-123437.js => js/src/tests/non262/RegExp/regress-123437.js rename : js/src/tests/ecma_3/RegExp/regress-165353.js => js/src/tests/non262/RegExp/regress-165353.js rename : js/src/tests/ecma_3/RegExp/regress-169497.js => js/src/tests/non262/RegExp/regress-169497.js rename : js/src/tests/ecma_3/RegExp/regress-169534.js => js/src/tests/non262/RegExp/regress-169534.js rename : js/src/tests/ecma_3/RegExp/regress-187133.js => js/src/tests/non262/RegExp/regress-187133.js rename : js/src/tests/ecma_3/RegExp/regress-188206.js => js/src/tests/non262/RegExp/regress-188206.js rename : js/src/tests/ecma_3/RegExp/regress-191479.js => js/src/tests/non262/RegExp/regress-191479.js rename : js/src/tests/ecma_3/RegExp/regress-202564.js => js/src/tests/non262/RegExp/regress-202564.js rename : js/src/tests/ecma_3/RegExp/regress-209067.js => js/src/tests/non262/RegExp/regress-209067.js rename : js/src/tests/ecma_3/RegExp/regress-209919.js => js/src/tests/non262/RegExp/regress-209919.js rename : js/src/tests/ecma_3/RegExp/regress-216591.js => js/src/tests/non262/RegExp/regress-216591.js rename : js/src/tests/ecma_3/RegExp/regress-220367-001.js => js/src/tests/non262/RegExp/regress-220367-001.js rename : js/src/tests/ecma_3/RegExp/regress-223273.js => js/src/tests/non262/RegExp/regress-223273.js rename : js/src/tests/ecma_3/RegExp/regress-223535.js => js/src/tests/non262/RegExp/regress-223535.js rename : js/src/tests/ecma_3/RegExp/regress-224676.js => js/src/tests/non262/RegExp/regress-224676.js rename : js/src/tests/ecma_3/RegExp/regress-225289.js => js/src/tests/non262/RegExp/regress-225289.js rename : js/src/tests/ecma_3/RegExp/regress-225343.js => js/src/tests/non262/RegExp/regress-225343.js rename : js/src/tests/ecma_3/RegExp/regress-24712.js => js/src/tests/non262/RegExp/regress-24712.js rename : js/src/tests/ecma_3/RegExp/regress-285219.js => js/src/tests/non262/RegExp/regress-285219.js rename : js/src/tests/ecma_3/RegExp/regress-28686.js => js/src/tests/non262/RegExp/regress-28686.js rename : js/src/tests/ecma_3_1/RegExp/regress-305064.js => js/src/tests/non262/RegExp/regress-305064.js rename : js/src/tests/ecma_3/RegExp/regress-307456.js => js/src/tests/non262/RegExp/regress-307456.js rename : js/src/tests/ecma_3/RegExp/regress-309840.js => js/src/tests/non262/RegExp/regress-309840.js rename : js/src/tests/ecma_3/RegExp/regress-312351.js => js/src/tests/non262/RegExp/regress-312351.js rename : js/src/tests/ecma_3/RegExp/regress-31316.js => js/src/tests/non262/RegExp/regress-31316.js rename : js/src/tests/ecma_3/RegExp/regress-330684.js => js/src/tests/non262/RegExp/regress-330684.js rename : js/src/tests/ecma_3/RegExp/regress-334158.js => js/src/tests/non262/RegExp/regress-334158.js rename : js/src/tests/ecma_3/RegExp/regress-346090.js => js/src/tests/non262/RegExp/regress-346090.js rename : js/src/tests/ecma_3/RegExp/regress-367888.js => js/src/tests/non262/RegExp/regress-367888.js rename : js/src/tests/ecma_3/RegExp/regress-375642.js => js/src/tests/non262/RegExp/regress-375642.js rename : js/src/tests/ecma_3/RegExp/regress-375651.js => js/src/tests/non262/RegExp/regress-375651.js rename : js/src/tests/ecma_3/RegExp/regress-375711.js => js/src/tests/non262/RegExp/regress-375711.js rename : js/src/tests/ecma_3/RegExp/regress-375715-01-n.js => js/src/tests/non262/RegExp/regress-375715-01-n.js rename : js/src/tests/ecma_3/RegExp/regress-375715-02.js => js/src/tests/non262/RegExp/regress-375715-02.js rename : js/src/tests/ecma_3/RegExp/regress-375715-03.js => js/src/tests/non262/RegExp/regress-375715-03.js rename : js/src/tests/ecma_3/RegExp/regress-375715-04.js => js/src/tests/non262/RegExp/regress-375715-04.js rename : js/src/tests/ecma_5/RegExp/regress-429241.js => js/src/tests/non262/RegExp/regress-429241.js rename : js/src/tests/ecma_3/RegExp/regress-436700.js => js/src/tests/non262/RegExp/regress-436700.js rename : js/src/tests/ecma_3/RegExp/regress-465862.js => js/src/tests/non262/RegExp/regress-465862.js rename : js/src/tests/ecma_3/RegExp/regress-57572.js => js/src/tests/non262/RegExp/regress-57572.js rename : js/src/tests/ecma_3/RegExp/regress-57631.js => js/src/tests/non262/RegExp/regress-57631.js rename : js/src/tests/ecma_5/RegExp/regress-576828.js => js/src/tests/non262/RegExp/regress-576828.js rename : js/src/tests/ecma_5/RegExp/regress-613820-1.js => js/src/tests/non262/RegExp/regress-613820-1.js rename : js/src/tests/ecma_5/RegExp/regress-613820-2.js => js/src/tests/non262/RegExp/regress-613820-2.js rename : js/src/tests/ecma_5/RegExp/regress-613820-3.js => js/src/tests/non262/RegExp/regress-613820-3.js rename : js/src/tests/ecma_5/RegExp/regress-617935.js => js/src/tests/non262/RegExp/regress-617935.js rename : js/src/tests/js1_2/regexp/regress-6359.js => js/src/tests/non262/RegExp/regress-6359.js rename : js/src/tests/ecma_3/RegExp/regress-67773.js => js/src/tests/non262/RegExp/regress-67773.js rename : js/src/tests/ecma_3/RegExp/regress-72964.js => js/src/tests/non262/RegExp/regress-72964.js rename : js/src/tests/ecma_3/RegExp/regress-76683.js => js/src/tests/non262/RegExp/regress-76683.js rename : js/src/tests/ecma_3/RegExp/regress-78156.js => js/src/tests/non262/RegExp/regress-78156.js rename : js/src/tests/ecma_3/RegExp/regress-85721.js => js/src/tests/non262/RegExp/regress-85721.js rename : js/src/tests/ecma_3/RegExp/regress-87231.js => js/src/tests/non262/RegExp/regress-87231.js rename : js/src/tests/js1_2/regexp/regress-9141.js => js/src/tests/non262/RegExp/regress-9141.js rename : js/src/tests/ecma_3/RegExp/regress-98306.js => js/src/tests/non262/RegExp/regress-98306.js rename : js/src/tests/ecma_6/RegExp/replace-compile-elembase.js => js/src/tests/non262/RegExp/replace-compile-elembase.js rename : js/src/tests/ecma_6/RegExp/replace-compile.js => js/src/tests/non262/RegExp/replace-compile.js rename : js/src/tests/ecma_6/RegExp/replace-global-unicode.js => js/src/tests/non262/RegExp/replace-global-unicode.js rename : js/src/tests/ecma_6/RegExp/replace-local-tolength-lastindex.js => js/src/tests/non262/RegExp/replace-local-tolength-lastindex.js rename : js/src/tests/ecma_6/RegExp/replace-local-tolength-recompilation.js => js/src/tests/non262/RegExp/replace-local-tolength-recompilation.js rename : js/src/tests/ecma_6/RegExp/replace-sticky-lastIndex.js => js/src/tests/non262/RegExp/replace-sticky-lastIndex.js rename : js/src/tests/ecma_6/RegExp/replace-sticky.js => js/src/tests/non262/RegExp/replace-sticky.js rename : js/src/tests/ecma_6/RegExp/replace-this.js => js/src/tests/non262/RegExp/replace-this.js rename : js/src/tests/ecma_6/RegExp/replace-trace.js => js/src/tests/non262/RegExp/replace-trace.js rename : js/src/tests/ecma_6/RegExp/replace-twoBytes.js => js/src/tests/non262/RegExp/replace-twoBytes.js rename : js/src/tests/ecma_6/RegExp/replace.js => js/src/tests/non262/RegExp/replace.js rename : js/src/tests/ecma_6/RegExp/search-this.js => js/src/tests/non262/RegExp/search-this.js rename : js/src/tests/ecma_6/RegExp/search-trace.js => js/src/tests/non262/RegExp/search-trace.js rename : js/src/tests/ecma_6/RegExp/search.js => js/src/tests/non262/RegExp/search.js rename : js/src/tests/ecma_3/RegExp/shell.js => js/src/tests/non262/RegExp/shell.js rename : js/src/tests/ecma_6/RegExp/source.js => js/src/tests/non262/RegExp/source.js rename : js/src/tests/ecma_6/RegExp/split-deleted-flags.js => js/src/tests/non262/RegExp/split-deleted-flags.js rename : js/src/tests/ecma_6/RegExp/split-flags-on-obj.js => js/src/tests/non262/RegExp/split-flags-on-obj.js rename : js/src/tests/ecma_6/RegExp/split-invalid-lastIndex.js => js/src/tests/non262/RegExp/split-invalid-lastIndex.js rename : js/src/tests/ecma_6/RegExp/split-limit.js => js/src/tests/non262/RegExp/split-limit.js rename : js/src/tests/ecma_6/RegExp/split-obj.js => js/src/tests/non262/RegExp/split-obj.js rename : js/src/tests/ecma_6/RegExp/split-prop-access.js => js/src/tests/non262/RegExp/split-prop-access.js rename : js/src/tests/ecma_6/RegExp/split-this.js => js/src/tests/non262/RegExp/split-this.js rename : js/src/tests/ecma_6/RegExp/split-trace.js => js/src/tests/non262/RegExp/split-trace.js rename : js/src/tests/ecma_6/RegExp/split.js => js/src/tests/non262/RegExp/split.js rename : js/src/tests/ecma_6/RegExp/sticky.js => js/src/tests/non262/RegExp/sticky.js rename : js/src/tests/ecma_6/RegExp/test-emptyMatch.js => js/src/tests/non262/RegExp/test-emptyMatch.js rename : js/src/tests/ecma_6/RegExp/test-trailing.js => js/src/tests/non262/RegExp/test-trailing.js rename : js/src/tests/ecma_6/RegExp/toString.js => js/src/tests/non262/RegExp/toString.js rename : js/src/tests/ecma_6/RegExp/unicode-back-reference.js => js/src/tests/non262/RegExp/unicode-back-reference.js rename : js/src/tests/ecma_6/RegExp/unicode-braced.js => js/src/tests/non262/RegExp/unicode-braced.js rename : js/src/tests/ecma_6/RegExp/unicode-character-class-escape.js => js/src/tests/non262/RegExp/unicode-character-class-escape.js rename : js/src/tests/ecma_6/RegExp/unicode-class-braced.js => js/src/tests/non262/RegExp/unicode-class-braced.js rename : js/src/tests/ecma_6/RegExp/unicode-class-empty.js => js/src/tests/non262/RegExp/unicode-class-empty.js rename : js/src/tests/ecma_6/RegExp/unicode-class-ignoreCase.js => js/src/tests/non262/RegExp/unicode-class-ignoreCase.js rename : js/src/tests/ecma_6/RegExp/unicode-class-lead-trail.js => js/src/tests/non262/RegExp/unicode-class-lead-trail.js rename : js/src/tests/ecma_6/RegExp/unicode-class-negated.js => js/src/tests/non262/RegExp/unicode-class-negated.js rename : js/src/tests/ecma_6/RegExp/unicode-class-range.js => js/src/tests/non262/RegExp/unicode-class-range.js rename : js/src/tests/ecma_6/RegExp/unicode-class-raw.js => js/src/tests/non262/RegExp/unicode-class-raw.js rename : js/src/tests/ecma_6/RegExp/unicode-disallow-extended.js => js/src/tests/non262/RegExp/unicode-disallow-extended.js rename : js/src/tests/ecma_6/RegExp/unicode-everything.js => js/src/tests/non262/RegExp/unicode-everything.js rename : js/src/tests/ecma_6/RegExp/unicode-ignoreCase-ascii.js => js/src/tests/non262/RegExp/unicode-ignoreCase-ascii.js rename : js/src/tests/ecma_6/RegExp/unicode-ignoreCase-escape.js => js/src/tests/non262/RegExp/unicode-ignoreCase-escape.js rename : js/src/tests/ecma_6/RegExp/unicode-ignoreCase-negated.js => js/src/tests/non262/RegExp/unicode-ignoreCase-negated.js rename : js/src/tests/ecma_6/RegExp/unicode-ignoreCase-word-boundary.js => js/src/tests/non262/RegExp/unicode-ignoreCase-word-boundary.js rename : js/src/tests/ecma_6/RegExp/unicode-ignoreCase.js => js/src/tests/non262/RegExp/unicode-ignoreCase.js rename : js/src/tests/ecma_6/RegExp/unicode-index.js => js/src/tests/non262/RegExp/unicode-index.js rename : js/src/tests/ecma_6/RegExp/unicode-lead-trail.js => js/src/tests/non262/RegExp/unicode-lead-trail.js rename : js/src/tests/ecma_6/RegExp/unicode-raw.js => js/src/tests/non262/RegExp/unicode-raw.js rename : js/src/tests/js1_7/regexp/yflag.js => js/src/tests/non262/RegExp/yflag.js rename : js/src/tests/ecma_7/SIMD/ToSource.js => js/src/tests/non262/SIMD/ToSource.js rename : js/src/tests/ecma_7/SIMD/binary-operations.js => js/src/tests/non262/SIMD/binary-operations.js rename : js/src/tests/ecma_7/SIMD/bug1023145.js => js/src/tests/non262/SIMD/bug1023145.js rename : js/src/tests/ecma_7/SIMD/bug953270.js => js/src/tests/non262/SIMD/bug953270.js rename : js/src/tests/ecma_7/SIMD/check.js => js/src/tests/non262/SIMD/check.js rename : js/src/tests/ecma_7/SIMD/comparisons.js => js/src/tests/non262/SIMD/comparisons.js rename : js/src/tests/ecma_7/SIMD/constructors.js => js/src/tests/non262/SIMD/constructors.js rename : js/src/tests/ecma_7/SIMD/conversions.js => js/src/tests/non262/SIMD/conversions.js rename : js/src/tests/ecma_7/SIMD/float64x2-arithmetic.js => js/src/tests/non262/SIMD/float64x2-arithmetic.js rename : js/src/tests/ecma_7/SIMD/load-floats.js => js/src/tests/non262/SIMD/load-floats.js rename : js/src/tests/ecma_7/SIMD/load-int16x8.js => js/src/tests/non262/SIMD/load-int16x8.js rename : js/src/tests/ecma_7/SIMD/load-int32x4.js => js/src/tests/non262/SIMD/load-int32x4.js rename : js/src/tests/ecma_7/SIMD/load-int8x16.js => js/src/tests/non262/SIMD/load-int8x16.js rename : js/src/tests/ecma_7/SIMD/load-sab-buffer-compat.js => js/src/tests/non262/SIMD/load-sab-buffer-compat.js rename : js/src/tests/ecma_7/SIMD/load-unsigned-integers.js => js/src/tests/non262/SIMD/load-unsigned-integers.js rename : js/src/tests/ecma_7/SIMD/minmax.js => js/src/tests/non262/SIMD/minmax.js rename : js/src/tests/ecma_7/SIMD/replaceLane.js => js/src/tests/non262/SIMD/replaceLane.js rename : js/src/tests/ecma_7/SIMD/select-bitselect.js => js/src/tests/non262/SIMD/select-bitselect.js rename : js/src/tests/ecma_7/SIMD/shell.js => js/src/tests/non262/SIMD/shell.js rename : js/src/tests/ecma_7/SIMD/shifts.js => js/src/tests/non262/SIMD/shifts.js rename : js/src/tests/ecma_7/SIMD/splat.js => js/src/tests/non262/SIMD/splat.js rename : js/src/tests/ecma_7/SIMD/store.js => js/src/tests/non262/SIMD/store.js rename : js/src/tests/ecma_7/SIMD/swizzle-shuffle.js => js/src/tests/non262/SIMD/swizzle-shuffle.js rename : js/src/tests/ecma_7/SIMD/toString.js => js/src/tests/non262/SIMD/toString.js rename : js/src/tests/ecma_7/SIMD/typedobjects.js => js/src/tests/non262/SIMD/typedobjects.js rename : js/src/tests/ecma_7/SIMD/unary-operations.js => js/src/tests/non262/SIMD/unary-operations.js rename : js/src/tests/js1_5/Scope/regress-154693.js => js/src/tests/non262/Scope/regress-154693.js rename : js/src/tests/js1_5/Scope/regress-181834.js => js/src/tests/non262/Scope/regress-181834.js rename : js/src/tests/js1_5/Scope/regress-184107.js => js/src/tests/non262/Scope/regress-184107.js rename : js/src/tests/js1_5/Scope/regress-185485.js => js/src/tests/non262/Scope/regress-185485.js rename : js/src/tests/js1_5/Scope/regress-191276.js => js/src/tests/non262/Scope/regress-191276.js rename : js/src/tests/js1_5/Scope/regress-192226.js => js/src/tests/non262/Scope/regress-192226.js rename : js/src/tests/js1_5/Scope/regress-202678-001.js => js/src/tests/non262/Scope/regress-202678-001.js rename : js/src/tests/js1_5/Scope/regress-202678-002.js => js/src/tests/non262/Scope/regress-202678-002.js rename : js/src/tests/js1_5/Scope/regress-208496-001.js => js/src/tests/non262/Scope/regress-208496-001.js rename : js/src/tests/js1_5/Scope/regress-208496-002.js => js/src/tests/non262/Scope/regress-208496-002.js rename : js/src/tests/js1_5/Scope/regress-220362.js => js/src/tests/non262/Scope/regress-220362.js rename : js/src/tests/js1_5/Scope/regress-446026-01.js => js/src/tests/non262/Scope/regress-446026-01.js rename : js/src/tests/js1_5/Scope/regress-446026-02.js => js/src/tests/non262/Scope/regress-446026-02.js rename : js/src/tests/js1_5/Scope/regress-77578-001.js => js/src/tests/non262/Scope/regress-77578-001.js rename : js/src/tests/js1_5/Scope/scope-002.js => js/src/tests/non262/Scope/scope-002.js rename : js/src/tests/js1_5/Scope/scope-003.js => js/src/tests/non262/Scope/scope-003.js rename : js/src/tests/js1_5/Scope/scope-004.js => js/src/tests/non262/Scope/scope-004.js rename : js/src/tests/js1_3/Script/delete-001.js => js/src/tests/non262/Script/delete-001.js rename : js/src/tests/js1_3/Script/function-002.js => js/src/tests/non262/Script/function-002.js rename : js/src/tests/js1_3/Script/in-001.js => js/src/tests/non262/Script/in-001.js rename : js/src/tests/js1_3/Script/new-001.js => js/src/tests/non262/Script/new-001.js rename : js/src/tests/js1_3/Script/switch-001.js => js/src/tests/non262/Script/switch-001.js rename : js/src/tests/ecma_6/Set/NaN-as-key.js => js/src/tests/non262/Set/NaN-as-key.js rename : js/src/tests/ecma_6/Set/forEach-selfhosted-behavior.js => js/src/tests/non262/Set/forEach-selfhosted-behavior.js rename : js/src/tests/ecma_6/Set/getter-name.js => js/src/tests/non262/Set/getter-name.js rename : js/src/tests/ecma_6/Set/symbols.js => js/src/tests/non262/Set/symbols.js rename : js/src/tests/ecma_5/String/15.5.4.11-01.js => js/src/tests/non262/String/15.5.4.11-01.js rename : js/src/tests/ecma_5/String/15.5.4.2.js => js/src/tests/non262/String/15.5.4.2.js rename : js/src/tests/ecma_5/String/15.5.4.7.js => js/src/tests/non262/String/15.5.4.7.js rename : js/src/tests/ecma_6/String/AdvanceStringIndex.js => js/src/tests/non262/String/AdvanceStringIndex.js rename : js/src/tests/ecma_6/String/IsRegExp.js => js/src/tests/non262/String/IsRegExp.js rename : js/src/tests/ecma_6/String/codePointAt.js => js/src/tests/non262/String/codePointAt.js rename : js/src/tests/ecma_5/String/defaultvalue.js => js/src/tests/non262/String/defaultvalue.js rename : js/src/tests/ecma_6/String/fromCodePoint.js => js/src/tests/non262/String/fromCodePoint.js rename : js/src/tests/js1_6/String/generics-deprecated.js => js/src/tests/non262/String/generics-deprecated.js rename : js/src/tests/js1_6/String/generics.js => js/src/tests/non262/String/generics.js rename : js/src/tests/ecma_6/String/internalUsage.js => js/src/tests/non262/String/internalUsage.js rename : js/src/tests/ecma_6/String/iterator_edge_cases.js => js/src/tests/non262/String/iterator_edge_cases.js rename : js/src/tests/ecma/String/lastIndexOf-ToNumber-when-searchStr-larger-than-string.js => js/src/tests/non262/String/lastIndexOf-ToNumber-when-searchStr-larger-than-string.js rename : js/src/tests/ecma_6/String/make-normalize-generateddata-input.py => js/src/tests/non262/String/make-normalize-generateddata-input.py rename : js/src/tests/ecma_6/String/match-GetMethod.js => js/src/tests/non262/String/match-GetMethod.js rename : js/src/tests/ecma_5/String/match-defines-match-elements.js => js/src/tests/non262/String/match-defines-match-elements.js rename : js/src/tests/ecma_5/String/match-forward-lookahead.js => js/src/tests/non262/String/match-forward-lookahead.js rename : js/src/tests/ecma_5/String/match-throws-nonwritable-lastIndex-global.js => js/src/tests/non262/String/match-throws-nonwritable-lastIndex-global.js rename : js/src/tests/ecma_5/String/match-updates-global-lastIndex.js => js/src/tests/non262/String/match-updates-global-lastIndex.js rename : js/src/tests/ecma_6/String/match.js => js/src/tests/non262/String/match.js rename : js/src/tests/ecma_6/String/normalize-form-non-atom.js => js/src/tests/non262/String/normalize-form-non-atom.js rename : js/src/tests/ecma_6/String/normalize-generateddata-input.js => js/src/tests/non262/String/normalize-generateddata-input.js rename : js/src/tests/ecma_6/String/normalize-generateddata-part0.js => js/src/tests/non262/String/normalize-generateddata-part0.js rename : js/src/tests/ecma_6/String/normalize-generateddata-part1-not-listed.js => js/src/tests/non262/String/normalize-generateddata-part1-not-listed.js rename : js/src/tests/ecma_6/String/normalize-generateddata-part1.js => js/src/tests/non262/String/normalize-generateddata-part1.js rename : js/src/tests/ecma_6/String/normalize-generateddata-part2.js => js/src/tests/non262/String/normalize-generateddata-part2.js rename : js/src/tests/ecma_6/String/normalize-generateddata-part3.js => js/src/tests/non262/String/normalize-generateddata-part3.js rename : js/src/tests/ecma_6/String/normalize-generic.js => js/src/tests/non262/String/normalize-generic.js rename : js/src/tests/ecma_6/String/normalize-parameter.js => js/src/tests/non262/String/normalize-parameter.js rename : js/src/tests/ecma_6/String/normalize-rope.js => js/src/tests/non262/String/normalize-rope.js rename : js/src/tests/ecma_6/String/raw.js => js/src/tests/non262/String/raw.js rename : js/src/tests/ecma_3/String/regress-104375.js => js/src/tests/non262/String/regress-104375.js rename : js/src/tests/js1_5/String/regress-107771.js => js/src/tests/non262/String/regress-107771.js rename : js/src/tests/js1_5/String/regress-112626.js => js/src/tests/non262/String/regress-112626.js rename : js/src/tests/js1_5/String/regress-179068.js => js/src/tests/non262/String/regress-179068.js rename : js/src/tests/ecma_3/String/regress-189898.js => js/src/tests/non262/String/regress-189898.js rename : js/src/tests/ecma_3/String/regress-304376.js => js/src/tests/non262/String/regress-304376.js rename : js/src/tests/js1_8_1/String/regress-305064.js => js/src/tests/non262/String/regress-305064.js rename : js/src/tests/js1_6/String/regress-306591.js => js/src/tests/non262/String/regress-306591.js rename : js/src/tests/ecma_3/String/regress-313567.js => js/src/tests/non262/String/regress-313567.js rename : js/src/tests/ecma_3/String/regress-369778.js => js/src/tests/non262/String/regress-369778.js rename : js/src/tests/ecma_3/String/regress-392378.js => js/src/tests/non262/String/regress-392378.js rename : js/src/tests/ecma_3/String/regress-83293.js => js/src/tests/non262/String/regress-83293.js rename : js/src/tests/ecma_6/String/replace-GetMethod.js => js/src/tests/non262/String/replace-GetMethod.js rename : js/src/tests/js1_5/String/replace-flags.js => js/src/tests/non262/String/replace-flags.js rename : js/src/tests/ecma_5/String/replace-math.js => js/src/tests/non262/String/replace-math.js rename : js/src/tests/ecma_5/String/replace-throws-nonwritable-lastIndex-global.js => js/src/tests/non262/String/replace-throws-nonwritable-lastIndex-global.js rename : js/src/tests/ecma_5/String/replace-updates-global-lastIndex.js => js/src/tests/non262/String/replace-updates-global-lastIndex.js rename : js/src/tests/ecma_6/String/replace.js => js/src/tests/non262/String/replace.js rename : js/src/tests/ecma_6/String/search-GetMethod.js => js/src/tests/non262/String/search-GetMethod.js rename : js/src/tests/ecma_6/String/search.js => js/src/tests/non262/String/search.js rename : js/src/tests/ecma_6/String/shell.js => js/src/tests/non262/String/shell.js rename : js/src/tests/ecma_5/String/split-01.js => js/src/tests/non262/String/split-01.js rename : js/src/tests/ecma_6/String/split-GetMethod.js => js/src/tests/non262/String/split-GetMethod.js rename : js/src/tests/ecma_6/String/split-order.js => js/src/tests/non262/String/split-order.js rename : js/src/tests/ecma_5/String/split-undefined-separator.js => js/src/tests/non262/String/split-undefined-separator.js rename : js/src/tests/ecma_5/String/split-xregexp.js => js/src/tests/non262/String/split-xregexp.js rename : js/src/tests/ecma_6/String/split.js => js/src/tests/non262/String/split.js rename : js/src/tests/ecma_6/String/string-code-point-upper-lower-mapping.js => js/src/tests/non262/String/string-code-point-upper-lower-mapping.js rename : js/src/tests/ecma_5/String/string-object-length.js => js/src/tests/non262/String/string-object-length.js rename : js/src/tests/ecma_7/String/string-pad-start-end.js => js/src/tests/non262/String/string-pad-start-end.js rename : js/src/tests/ecma_5/String/string-space-trim.js => js/src/tests/non262/String/string-space-trim.js rename : js/src/tests/ecma_5/String/string-upper-lower-mapping.js => js/src/tests/non262/String/string-upper-lower-mapping.js rename : js/src/tests/ecma_6/String/unicode-braced.js => js/src/tests/non262/String/unicode-braced.js rename : js/src/tests/ecma_6/Symbol/as-base-value.js => js/src/tests/non262/Symbol/as-base-value.js rename : js/src/tests/ecma_6/Symbol/comparisons.js => js/src/tests/non262/Symbol/comparisons.js rename : js/src/tests/ecma_6/Symbol/constructor.js => js/src/tests/non262/Symbol/constructor.js rename : js/src/tests/ecma_6/Symbol/conversions.js => js/src/tests/non262/Symbol/conversions.js rename : js/src/tests/ecma_6/Symbol/enumeration-order.js => js/src/tests/non262/Symbol/enumeration-order.js rename : js/src/tests/ecma_6/Symbol/enumeration.js => js/src/tests/non262/Symbol/enumeration.js rename : js/src/tests/ecma_6/Symbol/equality.js => js/src/tests/non262/Symbol/equality.js rename : js/src/tests/ecma_6/Symbol/errors.js => js/src/tests/non262/Symbol/errors.js rename : js/src/tests/ecma_6/Symbol/for-in-order.js => js/src/tests/non262/Symbol/for-in-order.js rename : js/src/tests/ecma_6/Symbol/for.js => js/src/tests/non262/Symbol/for.js rename : js/src/tests/ecma_6/Symbol/json-stringify-keys.js => js/src/tests/non262/Symbol/json-stringify-keys.js rename : js/src/tests/ecma_6/Symbol/json-stringify-values.js => js/src/tests/non262/Symbol/json-stringify-values.js rename : js/src/tests/ecma_6/Symbol/keyFor.js => js/src/tests/non262/Symbol/keyFor.js rename : js/src/tests/ecma_6/Symbol/property-accessor.js => js/src/tests/non262/Symbol/property-accessor.js rename : js/src/tests/ecma_6/Symbol/property-basics.js => js/src/tests/non262/Symbol/property-basics.js rename : js/src/tests/ecma_6/Symbol/property-inheritance.js => js/src/tests/non262/Symbol/property-inheritance.js rename : js/src/tests/ecma_6/Symbol/property-nonwritable.js => js/src/tests/non262/Symbol/property-nonwritable.js rename : js/src/tests/ecma_6/Symbol/property-reflection.js => js/src/tests/non262/Symbol/property-reflection.js rename : js/src/tests/ecma_6/Symbol/realms.js => js/src/tests/non262/Symbol/realms.js rename : js/src/tests/ecma_6/Symbol/species.js => js/src/tests/non262/Symbol/species.js rename : js/src/tests/ecma_6/Symbol/surfaces.js => js/src/tests/non262/Symbol/surfaces.js rename : js/src/tests/ecma_6/Symbol/symbol-object-not-unboxed-for-value-to-id.js => js/src/tests/non262/Symbol/symbol-object-not-unboxed-for-value-to-id.js rename : js/src/tests/ecma_6/Symbol/toPrimitive-undefined-or-null.js => js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js rename : js/src/tests/ecma_6/Symbol/toPrimitive.js => js/src/tests/non262/Symbol/toPrimitive.js rename : js/src/tests/ecma_6/Symbol/toString.js => js/src/tests/non262/Symbol/toString.js rename : js/src/tests/ecma_6/Symbol/toStringTag.js => js/src/tests/non262/Symbol/toStringTag.js rename : js/src/tests/ecma_6/Symbol/typed-arrays.js => js/src/tests/non262/Symbol/typed-arrays.js rename : js/src/tests/ecma_6/Symbol/typeof.js => js/src/tests/non262/Symbol/typeof.js rename : js/src/tests/ecma_6/Symbol/valueOf.js => js/src/tests/non262/Symbol/valueOf.js rename : js/src/tests/ecma_6/Symbol/well-known.js => js/src/tests/non262/Symbol/well-known.js rename : js/src/tests/ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js => js/src/tests/non262/TypedArray/Tconstructor-fromTypedArray-byteLength.js rename : js/src/tests/ecma_6/TypedArray/constructor-ArrayBuffer-species-wrap.js => js/src/tests/non262/TypedArray/constructor-ArrayBuffer-species-wrap.js rename : js/src/tests/ecma_6/TypedArray/constructor-ArrayBuffer-species.js => js/src/tests/non262/TypedArray/constructor-ArrayBuffer-species.js rename : js/src/tests/ecma_6/TypedArray/constructor-buffer-sequence.js => js/src/tests/non262/TypedArray/constructor-buffer-sequence.js rename : js/src/tests/ecma_6/TypedArray/constructor-byteoffsets-bounds.js => js/src/tests/non262/TypedArray/constructor-byteoffsets-bounds.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-generator.js => js/src/tests/non262/TypedArray/constructor-iterable-generator.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-modified-array-iterator-next.js => js/src/tests/non262/TypedArray/constructor-iterable-modified-array-iterator-next.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-modified-array-iterator.js => js/src/tests/non262/TypedArray/constructor-iterable-modified-array-iterator.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-nonpacked-array.js => js/src/tests/non262/TypedArray/constructor-iterable-nonpacked-array.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-not-callable.js => js/src/tests/non262/TypedArray/constructor-iterable-not-callable.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-packed-array-side-effect.js => js/src/tests/non262/TypedArray/constructor-iterable-packed-array-side-effect.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-packed-array.js => js/src/tests/non262/TypedArray/constructor-iterable-packed-array.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterable-undefined-or-null.js => js/src/tests/non262/TypedArray/constructor-iterable-undefined-or-null.js rename : js/src/tests/ecma_6/TypedArray/constructor-iterator-primitive.js => js/src/tests/non262/TypedArray/constructor-iterator-primitive.js rename : js/src/tests/ecma_6/TypedArray/constructor-length-too-large.js => js/src/tests/non262/TypedArray/constructor-length-too-large.js rename : js/src/tests/ecma_6/TypedArray/constructor-non-detached.js => js/src/tests/non262/TypedArray/constructor-non-detached.js rename : js/src/tests/ecma_6/TypedArray/constructor-not-callable.js => js/src/tests/non262/TypedArray/constructor-not-callable.js rename : js/src/tests/ecma_6/TypedArray/constructor-typedarray-species-other-global.js => js/src/tests/non262/TypedArray/constructor-typedarray-species-other-global.js rename : js/src/tests/ecma_6/TypedArray/constructor-undefined-args.js => js/src/tests/non262/TypedArray/constructor-undefined-args.js rename : js/src/tests/ecma_6/TypedArray/constructor_bad-args.js => js/src/tests/non262/TypedArray/constructor_bad-args.js rename : js/src/tests/ecma_6/TypedArray/detached-array-buffer-checks.js => js/src/tests/non262/TypedArray/detached-array-buffer-checks.js rename : js/src/tests/ecma_6/TypedArray/element-setting-converts-using-ToNumber.js => js/src/tests/non262/TypedArray/element-setting-converts-using-ToNumber.js rename : js/src/tests/ecma_6/TypedArray/entries.js => js/src/tests/non262/TypedArray/entries.js rename : js/src/tests/ecma_6/TypedArray/every-and-some.js => js/src/tests/non262/TypedArray/every-and-some.js rename : js/src/tests/ecma_2018/TypedArray/fill-detached.js => js/src/tests/non262/TypedArray/fill-detached.js rename : js/src/tests/ecma_6/TypedArray/fill.js => js/src/tests/non262/TypedArray/fill.js rename : js/src/tests/ecma_6/TypedArray/filter-species.js => js/src/tests/non262/TypedArray/filter-species.js rename : js/src/tests/ecma_7/TypedArray/filter-validation.js => js/src/tests/non262/TypedArray/filter-validation.js rename : js/src/tests/ecma_6/TypedArray/find-and-findIndex.js => js/src/tests/non262/TypedArray/find-and-findIndex.js rename : js/src/tests/ecma_6/TypedArray/forEach.js => js/src/tests/non262/TypedArray/forEach.js rename : js/src/tests/ecma_7/TypedArray/from-iterable-validation.js => js/src/tests/non262/TypedArray/from-iterable-validation.js rename : js/src/tests/ecma_7/TypedArray/from-non-iterable-validation.js => js/src/tests/non262/TypedArray/from-non-iterable-validation.js rename : js/src/tests/ecma_6/TypedArray/from_basics.js => js/src/tests/non262/TypedArray/from_basics.js rename : js/src/tests/ecma_6/TypedArray/from_constructor.js => js/src/tests/non262/TypedArray/from_constructor.js rename : js/src/tests/ecma_6/TypedArray/from_errors.js => js/src/tests/non262/TypedArray/from_errors.js rename : js/src/tests/ecma_6/TypedArray/from_iterable.js => js/src/tests/non262/TypedArray/from_iterable.js rename : js/src/tests/ecma_6/TypedArray/from_mapping.js => js/src/tests/non262/TypedArray/from_mapping.js rename : js/src/tests/ecma_6/TypedArray/from_realms.js => js/src/tests/non262/TypedArray/from_realms.js rename : js/src/tests/ecma_6/TypedArray/from_string.js => js/src/tests/non262/TypedArray/from_string.js rename : js/src/tests/ecma_6/TypedArray/from_surfaces.js => js/src/tests/non262/TypedArray/from_surfaces.js rename : js/src/tests/ecma_6/TypedArray/from_this.js => js/src/tests/non262/TypedArray/from_this.js rename : js/src/tests/ecma_6/TypedArray/getter-name.js => js/src/tests/non262/TypedArray/getter-name.js rename : js/src/tests/ecma_6/TypedArray/has-property-op.js => js/src/tests/non262/TypedArray/has-property-op.js rename : js/src/tests/ecma_6/TypedArray/includes.js => js/src/tests/non262/TypedArray/includes.js rename : js/src/tests/ecma_6/TypedArray/indexOf-and-lastIndexOf.js => js/src/tests/non262/TypedArray/indexOf-and-lastIndexOf.js rename : js/src/tests/ecma_6/TypedArray/indexOf-never-returns-negative-zero.js => js/src/tests/non262/TypedArray/indexOf-never-returns-negative-zero.js rename : js/src/tests/ecma_6/TypedArray/iterator-next-with-detached.js => js/src/tests/non262/TypedArray/iterator-next-with-detached.js rename : js/src/tests/ecma_6/TypedArray/iterator.js => js/src/tests/non262/TypedArray/iterator.js rename : js/src/tests/ecma_6/TypedArray/join.js => js/src/tests/non262/TypedArray/join.js rename : js/src/tests/ecma_6/TypedArray/keys.js => js/src/tests/non262/TypedArray/keys.js rename : js/src/tests/ecma_6/TypedArray/lastIndexOf-never-returns-negative-zero.js => js/src/tests/non262/TypedArray/lastIndexOf-never-returns-negative-zero.js rename : js/src/tests/ecma_7/TypedArray/length.js => js/src/tests/non262/TypedArray/length.js rename : js/src/tests/ecma_6/TypedArray/map-and-filter.js => js/src/tests/non262/TypedArray/map-and-filter.js rename : js/src/tests/ecma_6/TypedArray/map-species.js => js/src/tests/non262/TypedArray/map-species.js rename : js/src/tests/ecma_7/TypedArray/map-validation.js => js/src/tests/non262/TypedArray/map-validation.js rename : js/src/tests/ecma_6/TypedArray/object-defineproperty.js => js/src/tests/non262/TypedArray/object-defineproperty.js rename : js/src/tests/ecma_7/TypedArray/of-validation.js => js/src/tests/non262/TypedArray/of-validation.js rename : js/src/tests/ecma_6/TypedArray/of.js => js/src/tests/non262/TypedArray/of.js rename : js/src/tests/ecma_6/TypedArray/prototype-constructor-identity.js => js/src/tests/non262/TypedArray/prototype-constructor-identity.js rename : js/src/tests/ecma_6/TypedArray/reduce-and-reduceRight.js => js/src/tests/non262/TypedArray/reduce-and-reduceRight.js rename : js/src/tests/ecma_6/TypedArray/reverse.js => js/src/tests/non262/TypedArray/reverse.js rename : js/src/tests/ecma_6/TypedArray/seal-and-freeze.js => js/src/tests/non262/TypedArray/seal-and-freeze.js rename : js/src/tests/ecma_6/TypedArray/set-detached.js => js/src/tests/non262/TypedArray/set-detached.js rename : js/src/tests/ecma_6/TypedArray/set-negative-offset.js => js/src/tests/non262/TypedArray/set-negative-offset.js rename : js/src/tests/ecma_6/TypedArray/set-same-buffer-different-source-target-types.js => js/src/tests/non262/TypedArray/set-same-buffer-different-source-target-types.js rename : js/src/tests/ecma_6/TypedArray/set-tointeger.js => js/src/tests/non262/TypedArray/set-tointeger.js rename : js/src/tests/ecma_6/TypedArray/set-toobject.js => js/src/tests/non262/TypedArray/set-toobject.js rename : js/src/tests/ecma_6/TypedArray/set-wrapped.js => js/src/tests/non262/TypedArray/set-wrapped.js rename : js/src/tests/ecma_6/TypedArray/set.js => js/src/tests/non262/TypedArray/set.js rename : js/src/tests/ecma_6/TypedArray/shell.js => js/src/tests/non262/TypedArray/shell.js rename : js/src/tests/ecma_6/TypedArray/slice-detached.js => js/src/tests/non262/TypedArray/slice-detached.js rename : js/src/tests/ecma_6/TypedArray/slice-species.js => js/src/tests/non262/TypedArray/slice-species.js rename : js/src/tests/ecma_7/TypedArray/slice-validation.js => js/src/tests/non262/TypedArray/slice-validation.js rename : js/src/tests/ecma_6/TypedArray/slice.js => js/src/tests/non262/TypedArray/slice.js rename : js/src/tests/ecma_6/TypedArray/sort-negative-nan.js => js/src/tests/non262/TypedArray/sort-negative-nan.js rename : js/src/tests/ecma_2018/TypedArray/sort-non-function.js => js/src/tests/non262/TypedArray/sort-non-function.js rename : js/src/tests/ecma_6/TypedArray/sort_basics.js => js/src/tests/non262/TypedArray/sort_basics.js rename : js/src/tests/ecma_6/TypedArray/sort_byteoffset.js => js/src/tests/non262/TypedArray/sort_byteoffset.js rename : js/src/tests/ecma_6/TypedArray/sort_comparators.js => js/src/tests/non262/TypedArray/sort_comparators.js rename : js/src/tests/ecma_6/TypedArray/sort_errors.js => js/src/tests/non262/TypedArray/sort_errors.js rename : js/src/tests/ecma_6/TypedArray/sort_globals.js => js/src/tests/non262/TypedArray/sort_globals.js rename : js/src/tests/ecma_6/TypedArray/sort_small.js => js/src/tests/non262/TypedArray/sort_small.js rename : js/src/tests/ecma_6/TypedArray/sort_snans.js => js/src/tests/non262/TypedArray/sort_snans.js rename : js/src/tests/ecma_6/TypedArray/sorting_buffer_access.js => js/src/tests/non262/TypedArray/sorting_buffer_access.js rename : js/src/tests/ecma_6/TypedArray/subarray-species.js => js/src/tests/non262/TypedArray/subarray-species.js rename : js/src/tests/ecma_7/TypedArray/subarray-validation.js => js/src/tests/non262/TypedArray/subarray-validation.js rename : js/src/tests/ecma_6/TypedArray/subarray.js => js/src/tests/non262/TypedArray/subarray.js rename : js/src/tests/ecma_6/TypedArray/test-integrity-level-detached.js => js/src/tests/non262/TypedArray/test-integrity-level-detached.js rename : js/src/tests/ecma_6/TypedArray/test-integrity-level.js => js/src/tests/non262/TypedArray/test-integrity-level.js rename : js/src/tests/ecma_6/TypedArray/toLocaleString-detached.js => js/src/tests/non262/TypedArray/toLocaleString-detached.js rename : js/src/tests/ecma_6/TypedArray/toLocaleString-nointl.js => js/src/tests/non262/TypedArray/toLocaleString-nointl.js rename : js/src/tests/ecma_6/TypedArray/toLocaleString.js => js/src/tests/non262/TypedArray/toLocaleString.js rename : js/src/tests/ecma_6/TypedArray/toString.js => js/src/tests/non262/TypedArray/toString.js rename : js/src/tests/ecma_6/TypedArray/uint8clamped-constructor.js => js/src/tests/non262/TypedArray/uint8clamped-constructor.js rename : js/src/tests/ecma_6/TypedArray/values.js => js/src/tests/non262/TypedArray/values.js rename : js/src/tests/ecma_7/TypedObject/architecture.js => js/src/tests/non262/TypedObject/architecture.js rename : js/src/tests/ecma_7/TypedObject/arraybuffer_isview.js => js/src/tests/non262/TypedObject/arraybuffer_isview.js rename : js/src/tests/ecma_7/TypedObject/arrayequiv.js => js/src/tests/non262/TypedObject/arrayequiv.js rename : js/src/tests/ecma_7/TypedObject/arrayofstructs.js => js/src/tests/non262/TypedObject/arrayofstructs.js rename : js/src/tests/ecma_7/TypedObject/arraytype.js => js/src/tests/non262/TypedObject/arraytype.js rename : js/src/tests/ecma_7/TypedObject/arrayzerolen.js => js/src/tests/non262/TypedObject/arrayzerolen.js rename : js/src/tests/ecma_7/TypedObject/atopbuffer.js => js/src/tests/non262/TypedObject/atopbuffer.js rename : js/src/tests/ecma_7/TypedObject/atopbufferwithoffset.js => js/src/tests/non262/TypedObject/atopbufferwithoffset.js rename : js/src/tests/ecma_7/TypedObject/map-neutered-midway.js => js/src/tests/non262/TypedObject/map-neutered-midway.js rename : js/src/tests/ecma_7/TypedObject/memory.js => js/src/tests/non262/TypedObject/memory.js rename : js/src/tests/ecma_7/TypedObject/method_build.js => js/src/tests/non262/TypedObject/method_build.js rename : js/src/tests/ecma_7/TypedObject/method_filter.js => js/src/tests/non262/TypedObject/method_filter.js rename : js/src/tests/ecma_7/TypedObject/method_from.js => js/src/tests/non262/TypedObject/method_from.js rename : js/src/tests/ecma_7/TypedObject/method_map.js => js/src/tests/non262/TypedObject/method_map.js rename : js/src/tests/ecma_7/TypedObject/method_reduce.js => js/src/tests/non262/TypedObject/method_reduce.js rename : js/src/tests/ecma_7/TypedObject/numerictypes.js => js/src/tests/non262/TypedObject/numerictypes.js rename : js/src/tests/ecma_7/TypedObject/objecttype.js => js/src/tests/non262/TypedObject/objecttype.js rename : js/src/tests/ecma_7/TypedObject/redimension.js => js/src/tests/non262/TypedObject/redimension.js rename : js/src/tests/ecma_7/TypedObject/referencetypealiasing.js => js/src/tests/non262/TypedObject/referencetypealiasing.js rename : js/src/tests/ecma_7/TypedObject/referencetypecoercions.js => js/src/tests/non262/TypedObject/referencetypecoercions.js rename : js/src/tests/ecma_7/TypedObject/referencetypemultiple.js => js/src/tests/non262/TypedObject/referencetypemultiple.js rename : js/src/tests/ecma_7/TypedObject/referencetypetrace.js => js/src/tests/non262/TypedObject/referencetypetrace.js rename : js/src/tests/ecma_7/TypedObject/referencetypeuninit.js => js/src/tests/non262/TypedObject/referencetypeuninit.js rename : js/src/tests/ecma_7/TypedObject/scalar_types.js => js/src/tests/non262/TypedObject/scalar_types.js rename : js/src/tests/ecma_7/TypedObject/shell.js => js/src/tests/non262/TypedObject/shell.js rename : js/src/tests/ecma_7/TypedObject/simpleequiv.js => js/src/tests/non262/TypedObject/simpleequiv.js rename : js/src/tests/ecma_7/TypedObject/size_and_alignment.js => js/src/tests/non262/TypedObject/size_and_alignment.js rename : js/src/tests/ecma_7/TypedObject/storageopaque.js => js/src/tests/non262/TypedObject/storageopaque.js rename : js/src/tests/ecma_7/TypedObject/structequiv.js => js/src/tests/non262/TypedObject/structequiv.js rename : js/src/tests/ecma_7/TypedObject/structtypeenumerate.js => js/src/tests/non262/TypedObject/structtypeenumerate.js rename : js/src/tests/ecma_7/TypedObject/structtypegetownproperty.js => js/src/tests/non262/TypedObject/structtypegetownproperty.js rename : js/src/tests/ecma_7/TypedObject/structtypeindexedfields.js => js/src/tests/non262/TypedObject/structtypeindexedfields.js rename : js/src/tests/ecma_7/TypedObject/structtypeprototype.js => js/src/tests/non262/TypedObject/structtypeprototype.js rename : js/src/tests/ecma_7/TypedObject/structtypereflection.js => js/src/tests/non262/TypedObject/structtypereflection.js rename : js/src/tests/ecma_7/TypedObject/structtypestructuralassign.js => js/src/tests/non262/TypedObject/structtypestructuralassign.js rename : js/src/tests/ecma_3/Unicode/regress-352044-01.js => js/src/tests/non262/Unicode/regress-352044-01.js rename : js/src/tests/ecma_3/Unicode/regress-352044-02-n.js => js/src/tests/non262/Unicode/regress-352044-02-n.js rename : js/src/tests/ecma_3/Unicode/uc-001-n.js => js/src/tests/non262/Unicode/uc-001-n.js rename : js/src/tests/ecma_3/Unicode/uc-002-n.js => js/src/tests/non262/Unicode/uc-002-n.js rename : js/src/tests/ecma_3/Unicode/uc-002.js => js/src/tests/non262/Unicode/uc-002.js rename : js/src/tests/ecma_3/Unicode/uc-003.js => js/src/tests/non262/Unicode/uc-003.js rename : js/src/tests/ecma_3/Unicode/uc-004.js => js/src/tests/non262/Unicode/uc-004.js rename : js/src/tests/ecma_3/Unicode/uc-005.js => js/src/tests/non262/Unicode/uc-005.js rename : js/src/tests/ecma_6/WeakMap/symbols.js => js/src/tests/non262/WeakMap/symbols.js rename : js/src/tests/ecma_6/ArrowFunctions/arrow-not-as-end-of-statement.js => js/src/tests/non262/arrow-functions/arrow-not-as-end-of-statement.js rename : js/src/tests/ecma_6/ArrowFunctions/arrow-returning-arrow-with-block-body-followed-by-regexp.js => js/src/tests/non262/arrow-functions/arrow-returning-arrow-with-block-body-followed-by-regexp.js rename : js/src/tests/ecma_6/ArrowFunctions/yield-in-arrow.js => js/src/tests/non262/arrow-functions/yield-in-arrow.js rename : js/src/tests/ecma_2017/AsyncFunctions/BoundNames.js => js/src/tests/non262/async-functions/BoundNames.js rename : js/src/tests/ecma_2017/AsyncFunctions/EarlyErrors.js => js/src/tests/non262/async-functions/EarlyErrors.js rename : js/src/tests/ecma_2017/AsyncFunctions/ErrorStack.js => js/src/tests/non262/async-functions/ErrorStack.js rename : js/src/tests/ecma_2017/AsyncFunctions/arguments_callee.js => js/src/tests/non262/async-functions/arguments_callee.js rename : js/src/tests/ecma_2017/AsyncFunctions/async-contains-unicode-escape.js => js/src/tests/non262/async-functions/async-contains-unicode-escape.js rename : js/src/tests/ecma_2017/AsyncFunctions/async-function-declaration-in-modules.js => js/src/tests/non262/async-functions/async-function-declaration-in-modules.js rename : js/src/tests/ecma_2017/AsyncFunctions/async-property-name-error.js => js/src/tests/non262/async-functions/async-property-name-error.js rename : js/src/tests/ecma_2017/AsyncFunctions/await-error.js => js/src/tests/non262/async-functions/await-error.js rename : js/src/tests/ecma_2017/AsyncFunctions/await-in-arrow-parameters.js => js/src/tests/non262/async-functions/await-in-arrow-parameters.js rename : js/src/tests/ecma_2017/AsyncFunctions/await-newline.js => js/src/tests/non262/async-functions/await-newline.js rename : js/src/tests/ecma_2017/AsyncFunctions/clone.js => js/src/tests/non262/async-functions/clone.js rename : js/src/tests/ecma_2017/AsyncFunctions/construct-newtarget.js => js/src/tests/non262/async-functions/construct-newtarget.js rename : js/src/tests/ecma_2017/AsyncFunctions/constructor.js => js/src/tests/non262/async-functions/constructor.js rename : js/src/tests/ecma_2017/AsyncFunctions/cover-init-name-syntax.js => js/src/tests/non262/async-functions/cover-init-name-syntax.js rename : js/src/tests/ecma_2017/AsyncFunctions/create-function-parse-before-getprototype.js => js/src/tests/non262/async-functions/create-function-parse-before-getprototype.js rename : js/src/tests/ecma_2017/AsyncFunctions/duplicate-__proto__.js => js/src/tests/non262/async-functions/duplicate-__proto__.js rename : js/src/tests/ecma_2017/AsyncFunctions/forbidden-as-consequent.js => js/src/tests/non262/async-functions/forbidden-as-consequent.js rename : js/src/tests/ecma_2017/AsyncFunctions/identity.js => js/src/tests/non262/async-functions/identity.js rename : js/src/tests/ecma_2017/AsyncFunctions/inner-caller.js => js/src/tests/non262/async-functions/inner-caller.js rename : js/src/tests/ecma_2017/AsyncFunctions/length.js => js/src/tests/non262/async-functions/length.js rename : js/src/tests/ecma_2017/AsyncFunctions/methods.js => js/src/tests/non262/async-functions/methods.js rename : js/src/tests/ecma_2017/AsyncFunctions/no-expression-closure.js => js/src/tests/non262/async-functions/no-expression-closure.js rename : js/src/tests/ecma_2017/AsyncFunctions/properties.js => js/src/tests/non262/async-functions/properties.js rename : js/src/tests/ecma_2017/AsyncFunctions/property.js => js/src/tests/non262/async-functions/property.js rename : js/src/tests/ecma_2017/AsyncFunctions/semantics.js => js/src/tests/non262/async-functions/semantics.js rename : js/src/tests/ecma_2017/AsyncFunctions/subclass.js => js/src/tests/non262/async-functions/subclass.js rename : js/src/tests/ecma_2017/AsyncFunctions/syntax-arrow.js => js/src/tests/non262/async-functions/syntax-arrow.js rename : js/src/tests/ecma_2017/AsyncFunctions/syntax-modules.js => js/src/tests/non262/async-functions/syntax-modules.js rename : js/src/tests/ecma_2017/AsyncFunctions/syntax.js => js/src/tests/non262/async-functions/syntax.js rename : js/src/tests/ecma_2017/AsyncFunctions/toSource.js => js/src/tests/non262/async-functions/toSource.js rename : js/src/tests/ecma_2017/AsyncFunctions/toString.js => js/src/tests/non262/async-functions/toString.js rename : js/src/tests/ecma_2017/AsyncFunctions/yield.js => js/src/tests/non262/async-functions/yield.js rename : js/src/tests/ecma_6/Class/boundFunctionSubclassing.js => js/src/tests/non262/class/boundFunctionSubclassing.js rename : js/src/tests/ecma_6/Class/bytecodePatternMatching.js => js/src/tests/non262/class/bytecodePatternMatching.js rename : js/src/tests/ecma_6/Class/classConstructorNoCall.js => js/src/tests/non262/class/classConstructorNoCall.js rename : js/src/tests/ecma_6/Class/classHeritage.js => js/src/tests/non262/class/classHeritage.js rename : js/src/tests/ecma_6/Class/className.js => js/src/tests/non262/class/className.js rename : js/src/tests/ecma_6/Class/classPrototype.js => js/src/tests/non262/class/classPrototype.js rename : js/src/tests/ecma_6/Class/compPropDestr.js => js/src/tests/non262/class/compPropDestr.js rename : js/src/tests/ecma_6/Class/compPropNames.js => js/src/tests/non262/class/compPropNames.js rename : js/src/tests/ecma_6/Class/constructorCalled.js => js/src/tests/non262/class/constructorCalled.js rename : js/src/tests/ecma_6/Class/defaultConstructorBase.js => js/src/tests/non262/class/defaultConstructorBase.js rename : js/src/tests/ecma_6/Class/defaultConstructorDerivedSpread.js => js/src/tests/non262/class/defaultConstructorDerivedSpread.js rename : js/src/tests/ecma_6/Class/defaultConstructorNotCallable.js => js/src/tests/non262/class/defaultConstructorNotCallable.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalBinding.js => js/src/tests/non262/class/derivedConstructorArrowEvalBinding.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalClosed.js => js/src/tests/non262/class/derivedConstructorArrowEvalClosed.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalEscape.js => js/src/tests/non262/class/derivedConstructorArrowEvalEscape.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalEscapeUninitialized.js => js/src/tests/non262/class/derivedConstructorArrowEvalEscapeUninitialized.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalGetThis.js => js/src/tests/non262/class/derivedConstructorArrowEvalGetThis.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalNestedSuperCall.js => js/src/tests/non262/class/derivedConstructorArrowEvalNestedSuperCall.js rename : js/src/tests/ecma_6/Class/derivedConstructorArrowEvalSuperCall.js => js/src/tests/non262/class/derivedConstructorArrowEvalSuperCall.js rename : js/src/tests/ecma_6/Class/derivedConstructorInlining.js => js/src/tests/non262/class/derivedConstructorInlining.js rename : js/src/tests/ecma_6/Class/derivedConstructorName.js => js/src/tests/non262/class/derivedConstructorName.js rename : js/src/tests/ecma_6/Class/derivedConstructorReturnPrimitive.js => js/src/tests/non262/class/derivedConstructorReturnPrimitive.js rename : js/src/tests/ecma_6/Class/derivedConstructorTDZExplicitThis.js => js/src/tests/non262/class/derivedConstructorTDZExplicitThis.js rename : js/src/tests/ecma_6/Class/derivedConstructorTDZOffEdge.js => js/src/tests/non262/class/derivedConstructorTDZOffEdge.js rename : js/src/tests/ecma_6/Class/derivedConstructorTDZReturnAliasedTry.js => js/src/tests/non262/class/derivedConstructorTDZReturnAliasedTry.js rename : js/src/tests/ecma_6/Class/derivedConstructorTDZReturnObject.js => js/src/tests/non262/class/derivedConstructorTDZReturnObject.js rename : js/src/tests/ecma_6/Class/derivedConstructorTDZReturnTry.js => js/src/tests/non262/class/derivedConstructorTDZReturnTry.js rename : js/src/tests/ecma_6/Class/derivedConstructorTDZReturnUndefined.js => js/src/tests/non262/class/derivedConstructorTDZReturnUndefined.js rename : js/src/tests/ecma_6/Class/extendBuiltinConstructors.js => js/src/tests/non262/class/extendBuiltinConstructors.js rename : js/src/tests/ecma_6/Class/geterNoExprClosure.js => js/src/tests/non262/class/geterNoExprClosure.js rename : js/src/tests/ecma_6/Class/innerBinding.js => js/src/tests/non262/class/innerBinding.js rename : js/src/tests/ecma_6/Class/member-expr-after-super.js => js/src/tests/non262/class/member-expr-after-super.js rename : js/src/tests/ecma_6/Class/methDefn.js => js/src/tests/non262/class/methDefn.js rename : js/src/tests/ecma_6/Class/methDefnGen.js => js/src/tests/non262/class/methDefnGen.js rename : js/src/tests/ecma_6/Class/method-named-static.js => js/src/tests/non262/class/method-named-static.js rename : js/src/tests/ecma_6/Class/methodInstallation.js => js/src/tests/non262/class/methodInstallation.js rename : js/src/tests/ecma_6/Class/methodName.js => js/src/tests/non262/class/methodName.js rename : js/src/tests/ecma_6/Class/methodOverwrites.js => js/src/tests/non262/class/methodOverwrites.js rename : js/src/tests/ecma_6/Class/methodsPrototype.js => js/src/tests/non262/class/methodsPrototype.js rename : js/src/tests/ecma_6/Class/newTargetArgumentsIntact.js => js/src/tests/non262/class/newTargetArgumentsIntact.js rename : js/src/tests/ecma_6/Class/newTargetArrow.js => js/src/tests/non262/class/newTargetArrow.js rename : js/src/tests/ecma_6/Class/newTargetBound.js => js/src/tests/non262/class/newTargetBound.js rename : js/src/tests/ecma_6/Class/newTargetCCW.js => js/src/tests/non262/class/newTargetCCW.js rename : js/src/tests/ecma_6/Class/newTargetDVG.js => js/src/tests/non262/class/newTargetDVG.js rename : js/src/tests/ecma_6/Class/newTargetDefaults.js => js/src/tests/non262/class/newTargetDefaults.js rename : js/src/tests/ecma_6/Class/newTargetDirectInvoke.js => js/src/tests/non262/class/newTargetDirectInvoke.js rename : js/src/tests/ecma_6/Class/newTargetEval.js => js/src/tests/non262/class/newTargetEval.js rename : js/src/tests/ecma_6/Class/newTargetGenerators.js => js/src/tests/non262/class/newTargetGenerators.js rename : js/src/tests/ecma_6/Class/newTargetMethods.js => js/src/tests/non262/class/newTargetMethods.js rename : js/src/tests/ecma_6/Class/newTargetNonFunction.js => js/src/tests/non262/class/newTargetNonFunction.js rename : js/src/tests/ecma_6/Class/newTargetProxyNative.js => js/src/tests/non262/class/newTargetProxyNative.js rename : js/src/tests/ecma_6/Class/outerBinding.js => js/src/tests/non262/class/outerBinding.js rename : js/src/tests/ecma_6/Class/parenExprToString.js => js/src/tests/non262/class/parenExprToString.js rename : js/src/tests/ecma_6/Class/shell.js => js/src/tests/non262/class/shell.js rename : js/src/tests/ecma_6/Class/staticConstructor.js => js/src/tests/non262/class/staticConstructor.js rename : js/src/tests/ecma_6/Class/staticMethods.js => js/src/tests/non262/class/staticMethods.js rename : js/src/tests/ecma_6/Class/strictExecution.js => js/src/tests/non262/class/strictExecution.js rename : js/src/tests/ecma_6/Class/stringConstructor.js => js/src/tests/non262/class/stringConstructor.js rename : js/src/tests/ecma_6/Class/subclassedArrayUnboxed.js => js/src/tests/non262/class/subclassedArrayUnboxed.js rename : js/src/tests/ecma_6/Class/superCallBadDynamicSuperClass.js => js/src/tests/non262/class/superCallBadDynamicSuperClass.js rename : js/src/tests/ecma_6/Class/superCallBadNewTargetPrototype.js => js/src/tests/non262/class/superCallBadNewTargetPrototype.js rename : js/src/tests/ecma_6/Class/superCallBaseInvoked.js => js/src/tests/non262/class/superCallBaseInvoked.js rename : js/src/tests/ecma_6/Class/superCallIllegal.js => js/src/tests/non262/class/superCallIllegal.js rename : js/src/tests/ecma_6/Class/superCallInvalidBase.js => js/src/tests/non262/class/superCallInvalidBase.js rename : js/src/tests/ecma_6/Class/superCallOrder.js => js/src/tests/non262/class/superCallOrder.js rename : js/src/tests/ecma_6/Class/superCallProperBase.js => js/src/tests/non262/class/superCallProperBase.js rename : js/src/tests/ecma_6/Class/superCallSpreadCall.js => js/src/tests/non262/class/superCallSpreadCall.js rename : js/src/tests/ecma_6/Class/superCallThisInit.js => js/src/tests/non262/class/superCallThisInit.js rename : js/src/tests/ecma_6/Class/superPropBasicCalls.js => js/src/tests/non262/class/superPropBasicCalls.js rename : js/src/tests/ecma_6/Class/superPropBasicChain.js => js/src/tests/non262/class/superPropBasicChain.js rename : js/src/tests/ecma_6/Class/superPropBasicGetter.js => js/src/tests/non262/class/superPropBasicGetter.js rename : js/src/tests/ecma_6/Class/superPropBasicNew.js => js/src/tests/non262/class/superPropBasicNew.js rename : js/src/tests/ecma_6/Class/superPropChains.js => js/src/tests/non262/class/superPropChains.js rename : js/src/tests/ecma_6/Class/superPropDVG.js => js/src/tests/non262/class/superPropDVG.js rename : js/src/tests/ecma_6/Class/superPropDelete.js => js/src/tests/non262/class/superPropDelete.js rename : js/src/tests/ecma_6/Class/superPropDerivedCalls.js => js/src/tests/non262/class/superPropDerivedCalls.js rename : js/src/tests/ecma_6/Class/superPropDestructuring.js => js/src/tests/non262/class/superPropDestructuring.js rename : js/src/tests/ecma_6/Class/superPropEvalInsideArrow.js => js/src/tests/non262/class/superPropEvalInsideArrow.js rename : js/src/tests/ecma_6/Class/superPropEvalInsideNested.js => js/src/tests/non262/class/superPropEvalInsideNested.js rename : js/src/tests/ecma_6/Class/superPropFor.js => js/src/tests/non262/class/superPropFor.js rename : js/src/tests/ecma_6/Class/superPropHeavyweightArrow.js => js/src/tests/non262/class/superPropHeavyweightArrow.js rename : js/src/tests/ecma_6/Class/superPropHomeObject.js => js/src/tests/non262/class/superPropHomeObject.js rename : js/src/tests/ecma_6/Class/superPropIncDecElem.js => js/src/tests/non262/class/superPropIncDecElem.js rename : js/src/tests/ecma_6/Class/superPropLazyInnerFunction.js => js/src/tests/non262/class/superPropLazyInnerFunction.js rename : js/src/tests/ecma_6/Class/superPropNoOverwriting.js => js/src/tests/non262/class/superPropNoOverwriting.js rename : js/src/tests/ecma_6/Class/superPropOrdering.js => js/src/tests/non262/class/superPropOrdering.js rename : js/src/tests/ecma_6/Class/superPropProtoChanges.js => js/src/tests/non262/class/superPropProtoChanges.js rename : js/src/tests/ecma_6/Class/superPropProxies.js => js/src/tests/non262/class/superPropProxies.js rename : js/src/tests/ecma_6/Class/superPropSkips.js => js/src/tests/non262/class/superPropSkips.js rename : js/src/tests/ecma_6/Class/superPropStatics.js => js/src/tests/non262/class/superPropStatics.js rename : js/src/tests/ecma_6/Class/superPropStrictAssign.js => js/src/tests/non262/class/superPropStrictAssign.js rename : js/src/tests/ecma_6/Class/superThisStrictNoBoxing.js => js/src/tests/non262/class/superThisStrictNoBoxing.js rename : js/src/tests/ecma_6/Class/uninitializedThisError.js => js/src/tests/non262/class/uninitializedThisError.js rename : js/src/tests/ecma_6/Destructuring/array-default-class.js => js/src/tests/non262/destructuring/array-default-class.js rename : js/src/tests/ecma_6/Destructuring/array-iterator-close.js => js/src/tests/non262/destructuring/array-iterator-close.js rename : js/src/tests/ecma_6/Destructuring/bug1396261.js => js/src/tests/non262/destructuring/bug1396261.js rename : js/src/tests/ecma_6/Destructuring/constant-folding.js => js/src/tests/non262/destructuring/constant-folding.js rename : js/src/tests/ecma_6/Destructuring/cover-init-name-syntax.js => js/src/tests/non262/destructuring/cover-init-name-syntax.js rename : js/src/tests/ecma_7/Destructuring/duplicate-__proto__.js => js/src/tests/non262/destructuring/duplicate-__proto__.js rename : js/src/tests/ecma_6/Destructuring/iterator-primitive.js => js/src/tests/non262/destructuring/iterator-primitive.js rename : js/src/tests/ecma_6/Destructuring/order-super.js => js/src/tests/non262/destructuring/order-super.js rename : js/src/tests/ecma_6/Destructuring/order.js => js/src/tests/non262/destructuring/order.js rename : js/src/tests/ecma_7/Destructuring/rest-parameter-aray-iterator.js => js/src/tests/non262/destructuring/rest-parameter-aray-iterator.js rename : js/src/tests/ecma_7/Destructuring/rest-parameter-arguments.js => js/src/tests/non262/destructuring/rest-parameter-arguments.js rename : js/src/tests/ecma_7/Destructuring/rest-parameter-function-length.js => js/src/tests/non262/destructuring/rest-parameter-function-length.js rename : js/src/tests/ecma_7/Destructuring/rest-parameter-spread-call-optimization.js => js/src/tests/non262/destructuring/rest-parameter-spread-call-optimization.js rename : js/src/tests/ecma_7/Destructuring/rest-parameter-syntax.js => js/src/tests/non262/destructuring/rest-parameter-syntax.js rename : js/src/tests/ecma_7/Destructuring/rest-parameter.js => js/src/tests/non262/destructuring/rest-parameter.js rename : js/src/tests/ecma_6/Destructuring/rest-with-trailing-comma.js => js/src/tests/non262/destructuring/rest-with-trailing-comma.js rename : js/src/tests/ecma_6/Destructuring/yield-in-object-destr-function.js => js/src/tests/non262/destructuring/yield-in-object-destr-function.js rename : js/src/tests/ecma_6/Destructuring/yield-in-object-destr-generator.js => js/src/tests/non262/destructuring/yield-in-object-destr-generator.js rename : js/src/tests/ecma_6/Destructuring/yield-in-object-destr-script.js => js/src/tests/non262/destructuring/yield-in-object-destr-script.js rename : js/src/tests/ecma_6/Destructuring/yield-with-escape-in-object-destr-function.js => js/src/tests/non262/destructuring/yield-with-escape-in-object-destr-function.js rename : js/src/tests/ecma_6/Destructuring/yield-with-escape-in-object-destr-generator.js => js/src/tests/non262/destructuring/yield-with-escape-in-object-destr-generator.js rename : js/src/tests/ecma_6/Destructuring/yield-with-escape-in-object-destr-script.js => js/src/tests/non262/destructuring/yield-with-escape-in-object-destr-script.js rename : js/src/tests/js1_4/Eval/regress-531682.js => js/src/tests/non262/ev rename : js/src/tests/ecma_5/eval/exhaustive-fun-normalcaller-direct-normalcode.js => js/src/tests/non262/eval/exhaustive-fun-normalcaller-direct-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-normalcaller-direct-strictcode.js => js/src/tests/non262/eval/exhaustive-fun-normalcaller-direct-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-normalcaller-indirect-normalcode.js => js/src/tests/non262/eval/exhaustive-fun-normalcaller-indirect-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-normalcaller-indirect-strictcode.js => js/src/tests/non262/eval/exhaustive-fun-normalcaller-indirect-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-strictcaller-direct-normalcode.js => js/src/tests/non262/eval/exhaustive-fun-strictcaller-direct-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-strictcaller-direct-strictcode.js => js/src/tests/non262/eval/exhaustive-fun-strictcaller-direct-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-strictcaller-indirect-normalcode.js => js/src/tests/non262/eval/exhaustive-fun-strictcaller-indirect-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-fun-strictcaller-indirect-strictcode.js => js/src/tests/non262/eval/exhaustive-fun-strictcaller-indirect-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-normalcaller-direct-normalcode.js => js/src/tests/non262/eval/exhaustive-global-normalcaller-direct-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-normalcaller-direct-strictcode.js => js/src/tests/non262/eval/exhaustive-global-normalcaller-direct-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-normalcaller-indirect-normalcode.js => js/src/tests/non262/eval/exhaustive-global-normalcaller-indirect-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-normalcaller-indirect-strictcode.js => js/src/tests/non262/eval/exhaustive-global-normalcaller-indirect-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-strictcaller-direct-normalcode.js => js/src/tests/non262/eval/exhaustive-global-strictcaller-direct-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-strictcaller-direct-strictcode.js => js/src/tests/non262/eval/exhaustive-global-strictcaller-direct-strictcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-strictcaller-indirect-normalcode.js => js/src/tests/non262/eval/exhaustive-global-strictcaller-indirect-normalcode.js rename : js/src/tests/ecma_5/eval/exhaustive-global-strictcaller-indirect-strictcode.js => js/src/tests/non262/eval/exhaustive-global-strictcaller-indirect-strictcode.js rename : js/src/tests/ecma_5/eval/line-terminator-paragraph-terminator.js => js/src/tests/non262/eval/line-terminator-paragraph-terminator.js rename : js/src/tests/ecma_5/eval/undeclared-name-in-nested-strict-eval.js => js/src/tests/non262/eval/undeclared-name-in-nested-strict-eval.js rename : js/src/tests/ecma_3/ExecutionContexts/regress-23346.js => js/src/tests/non262/execution-contexts/regress-23346.js rename : js/src/tests/ecma_3/ExecutionContexts/regress-448595-01.js => js/src/tests/non262/execution-contexts/regress-448595-01.js rename : js/src/tests/ecma_5/Expressions/11.1.5-01.js => js/src/tests/non262/expressions/11.1.5-01.js rename : js/src/tests/ecma_6/Expressions/ToPropertyKey-symbols.js => js/src/tests/non262/expressions/ToPropertyKey-symbols.js rename : js/src/tests/ecma_6/Expressions/binary-literals.js => js/src/tests/non262/expressions/binary-literals.js rename : js/src/tests/ecma_6/Expressions/computed-property-side-effects.js => js/src/tests/non262/expressions/computed-property-side-effects.js rename : js/src/tests/ecma_6/Expressions/delete-constant-folded-and-or.js => js/src/tests/non262/expressions/delete-constant-folded-and-or.js rename : js/src/tests/ecma_6/Expressions/delete-name-parenthesized-early-error-strict-mode.js => js/src/tests/non262/expressions/delete-name-parenthesized-early-error-strict-mode.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-default-call.js => js/src/tests/non262/expressions/destructuring-array-default-call.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-default-class.js => js/src/tests/non262/expressions/destructuring-array-default-class.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-default-function-nested.js => js/src/tests/non262/expressions/destructuring-array-default-function-nested.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-default-function.js => js/src/tests/non262/expressions/destructuring-array-default-function.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-default-simple.js => js/src/tests/non262/expressions/destructuring-array-default-simple.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-default-yield.js => js/src/tests/non262/expressions/destructuring-array-default-yield.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-done.js => js/src/tests/non262/expressions/destructuring-array-done.js rename : js/src/tests/ecma_6/Expressions/destructuring-array-lexical.js => js/src/tests/non262/expressions/destructuring-array-lexical.js rename : js/src/tests/ecma_6/Expressions/destructuring-pattern-parenthesized.js => js/src/tests/non262/expressions/destructuring-pattern-parenthesized.js rename : js/src/tests/js1_7/expressions/destructuring-scope.js => js/src/tests/non262/expressions/destructuring-scope.js rename : js/src/tests/ecma_6/Expressions/inNotObjectError.js => js/src/tests/non262/expressions/inNotObjectError.js rename : js/src/tests/ecma_5/Expressions/named-accessor-function.js => js/src/tests/non262/expressions/named-accessor-function.js rename : js/src/tests/ecma_5/Expressions/nested-delete-name-in-evalcode.js => js/src/tests/non262/expressions/nested-delete-name-in-evalcode.js rename : js/src/tests/ecma_6/Expressions/object-literal-__proto__.js => js/src/tests/non262/expressions/object-literal-__proto__.js rename : js/src/tests/ecma_5/Expressions/object-literal-accessor-arguments.js => js/src/tests/non262/expressions/object-literal-accessor-arguments.js rename : js/src/tests/ecma_5/Expressions/object-literal-accessor-property-name.js => js/src/tests/non262/expressions/object-literal-accessor-property-name.js rename : js/src/tests/ecma_6/Expressions/object-literal-computed-property-evaluation.js => js/src/tests/non262/expressions/object-literal-computed-property-evaluation.js rename : js/src/tests/ecma_6/Expressions/octal-literals.js => js/src/tests/non262/expressions/octal-literals.js rename : js/src/tests/ecma_5/Expressions/primitive-this-boxing-behavior.js => js/src/tests/non262/expressions/primitive-this-boxing-behavior.js rename : js/src/tests/js1_5/Expressions/regress-192288.js => js/src/tests/non262/expressions/regress-192288.js rename : js/src/tests/js1_7/expressions/regress-346203.js => js/src/tests/non262/expressions/regress-346203.js rename : js/src/tests/js1_7/expressions/regress-346645-01.js => js/src/tests/non262/expressions/regress-346645-01.js rename : js/src/tests/js1_7/expressions/regress-346645-02.js => js/src/tests/non262/expressions/regress-346645-02.js rename : js/src/tests/js1_7/expressions/regress-346645-03.js => js/src/tests/non262/expressions/regress-346645-03.js rename : js/src/tests/js1_5/Expressions/regress-394673.js => js/src/tests/non262/expressions/regress-394673.js rename : js/src/tests/js1_7/expressions/regress-418051.js => js/src/tests/non262/expressions/regress-418051.js rename : js/src/tests/js1_7/expressions/regress-451340.js => js/src/tests/non262/expressions/regress-451340.js rename : js/src/tests/js1_5/Expressions/regress-96526-argsub.js => js/src/tests/non262/expressions/regress-96526-argsub.js rename : js/src/tests/js1_5/Expressions/regress-96526-delelem.js => js/src/tests/non262/expressions/regress-96526-delelem.js rename : js/src/tests/js1_5/Expressions/regress-96526-noargsub.js => js/src/tests/non262/expressions/regress-96526-noargsub.js rename : js/src/tests/ecma_6/Expressions/shell.js => js/src/tests/non262/expressions/shell.js rename : js/src/tests/ecma_5/Expressions/string-literal-escape-sequences.js => js/src/tests/non262/expressions/string-literal-escape-sequences.js rename : js/src/tests/ecma_6/Expressions/tagged-template-constant-folding.js => js/src/tests/non262/expressions/tagged-template-constant-folding.js rename : js/src/tests/ecma_2017/Expressions/trailing_comma_arguments.js => js/src/tests/non262/expressions/trailing_comma_arguments.js rename : js/src/tests/ecma_2017/Expressions/trailing_comma_arrow.js => js/src/tests/non262/expressions/trailing_comma_arrow.js rename : js/src/tests/ecma_2017/Expressions/trailing_comma_getter_setter.js => js/src/tests/non262/expressions/trailing_comma_getter_setter.js rename : js/src/tests/ecma_2017/Expressions/trailing_comma_parameters.js => js/src/tests/non262/expressions/trailing_comma_parameters.js rename : js/src/tests/ecma_5/extensions/15.9.4.2.js => js/src/tests/non262/extensions/15.9.4.2.js rename : js/src/tests/ecma_5/extensions/8.12.5-01.js => js/src/tests/non262/extensions/8.12.5-01.js rename : js/src/tests/ecma_6/extensions/ArrayBuffer-slice-arguments-detaching.js => js/src/tests/non262/extensions/ArrayBuffer-slice-arguments-detaching.js rename : js/src/tests/ecma_5/extensions/Boolean-toSource.js => js/src/tests/non262/extensions/Boolean-toSource.js rename : js/src/tests/ecma_6/extensions/DataView-construct-arguments-detaching.js => js/src/tests/non262/extensions/DataView-construct-arguments-detaching.js rename : js/src/tests/ecma_6/extensions/DataView-set-arguments-detaching.js => js/src/tests/non262/extensions/DataView-set-arguments-detaching.js rename : js/src/tests/ecma_5/extensions/Number-toSource.js => js/src/tests/non262/extensions/Number-toSource.js rename : js/src/tests/ecma_6/extensions/RegExp-replace-lastParen.js => js/src/tests/non262/extensions/RegExp-replace-lastParen.js rename : js/src/tests/ecma_6/extensions/String-match-flags.js => js/src/tests/non262/extensions/String-match-flags.js rename : js/src/tests/ecma_5/extensions/String-methods-infinite-recursion.js => js/src/tests/non262/extensions/String-methods-infinite-recursion.js rename : js/src/tests/ecma_5/extensions/String-toSource.js => js/src/tests/non262/extensions/String-toSource.js rename : js/src/tests/ecma_6/extensions/TypedArray-set-object-funky-length-detaches.js => js/src/tests/non262/extensions/TypedArray-set-object-funky-length-detaches.js rename : js/src/tests/ecma_6/extensions/TypedArray-subarray-arguments-detaching.js => js/src/tests/non262/extensions/TypedArray-subarray-arguments-detaching.js rename : js/src/tests/ecma_5/extensions/__proto__.js => js/src/tests/non262/extensions/__proto__.js rename : js/src/tests/ecma_5/extensions/arguments-property-access-in-function.js => js/src/tests/non262/extensions/arguments-property-access-in-function.js rename : js/src/tests/ecma_5/extensions/array-inherited-__proto__.js => js/src/tests/non262/extensions/array-inherited-__proto__.js rename : js/src/tests/ecma_6/extensions/array-isArray-proxy-recursion.js => js/src/tests/non262/extensions/array-isArray-proxy-recursion.js rename : js/src/tests/js1_8_5/extensions/array-length-protochange.js => js/src/tests/non262/extensions/array-length-protochange.js rename : js/src/tests/ecma_5/extensions/array-pop-proxy.js => js/src/tests/non262/extensions/array-pop-proxy.js rename : js/src/tests/ecma_5/extensions/array-toString-recursion.js => js/src/tests/non262/extensions/array-toString-recursion.js rename : js/src/tests/js1_8_5/extensions/arraybuffer-prototype.js => js/src/tests/non262/extensions/arraybuffer-prototype.js rename : js/src/tests/ecma_6/extensions/arrow-as-end-of-expression-closure.js => js/src/tests/non262/extensions/arrow-as-end-of-expression-closure.js rename : js/src/tests/js1_7/extensions/basic-for-each.js => js/src/tests/non262/extensions/basic-for-each.js rename : js/src/tests/js1_7/extensions/basic-for-in.js => js/src/tests/non262/extensions/basic-for-in.js rename : js/src/tests/js1_8_5/extensions/browser.js => js/src/tests/non262/extensions/browser.js rename : js/src/tests/ecma_5/extensions/bug472534.js => js/src/tests/non262/extensions/bug472534.js rename : js/src/tests/ecma_5/extensions/bug496985.js => js/src/tests/non262/extensions/bug496985.js rename : js/src/tests/ecma_5/extensions/bug566661.js => js/src/tests/non262/extensions/bug566661.js rename : js/src/tests/ecma_5/extensions/builtin-function-arguments-caller.js => js/src/tests/non262/extensions/builtin-function-arguments-caller.js rename : js/src/tests/js1_8_5/extensions/censor-strict-caller.js => js/src/tests/non262/extensions/censor-strict-caller.js rename : js/src/tests/js1_8_5/extensions/clone-complex-object.js => js/src/tests/non262/extensions/clone-complex-object.js rename : js/src/tests/js1_8_5/extensions/clone-errors.js => js/src/tests/non262/extensions/clone-errors.js rename : js/src/tests/js1_8_5/extensions/clone-forge.js => js/src/tests/non262/extensions/clone-forge.js rename : js/src/tests/js1_8_5/extensions/clone-leaf-object.js => js/src/tests/non262/extensions/clone-leaf-object.js rename : js/src/tests/js1_8_5/extensions/clone-many-transferables.js => js/src/tests/non262/extensions/clone-many-transferables.js rename : js/src/tests/js1_8_5/extensions/clone-object-deep.js => js/src/tests/non262/extensions/clone-object-deep.js rename : js/src/tests/js1_8_5/extensions/clone-object.js => js/src/tests/non262/extensions/clone-object.js rename : js/src/tests/js1_8_5/extensions/clone-regexp.js => js/src/tests/non262/extensions/clone-regexp.js rename : js/src/tests/js1_8_5/extensions/clone-sab-failure.js => js/src/tests/non262/extensions/clone-sab-failure.js rename : js/src/tests/js1_8_5/extensions/clone-sab-leak.js => js/src/tests/non262/extensions/clone-sab-leak.js rename : js/src/tests/js1_8_5/extensions/clone-sab.js => js/src/tests/non262/extensions/clone-sab.js rename : js/src/tests/js1_8_5/extensions/clone-simple.js => js/src/tests/non262/extensions/clone-simple.js rename : js/src/tests/js1_8_5/extensions/clone-transferables.js => js/src/tests/non262/extensions/clone-transferables.js rename : js/src/tests/js1_8_5/extensions/clone-typed-array.js => js/src/tests/non262/extensions/clone-typed-array.js rename : js/src/tests/js1_8_5/extensions/clone-v1-typed-array-data.dat => js/src/tests/non262/extensions/clone-v1-typed-array-data.dat rename : js/src/tests/js1_8_5/extensions/clone-v1-typed-array.js => js/src/tests/non262/extensions/clone-v1-typed-array.js rename : js/src/tests/js1_8_5/extensions/collect-gray.js => js/src/tests/non262/extensions/collect-gray.js rename : js/src/tests/js1_8_5/extensions/column-numbers.js => js/src/tests/non262/extensions/column-numbers.js rename : js/src/tests/ecma_5/extensions/cross-global-eval-is-indirect.js => js/src/tests/non262/extensions/cross-global-eval-is-indirect.js rename : js/src/tests/ecma_5/extensions/cross-global-getPrototypeOf.js => js/src/tests/non262/extensions/cross-global-getPrototypeOf.js rename : js/src/tests/js1_8_5/extensions/dataview.js => js/src/tests/non262/extensions/dataview.js rename : js/src/tests/js1_8_5/extensions/decompile-for-of.js => js/src/tests/non262/extensions/decompile-for-of.js rename : js/src/tests/js1_8/extensions/dekker.js => js/src/tests/non262/extensions/dekker.js rename : js/src/tests/js1_8_5/extensions/destructure-accessor.js => js/src/tests/non262/extensions/destructure-accessor.js rename : js/src/tests/ecma_5/extensions/destructuring-__proto__-shorthand-assignment-before-var.js => js/src/tests/non262/extensions/destructuring-__proto__-shorthand-assignment-before-var.js rename : js/src/tests/ecma_5/extensions/destructuring-__proto__-shorthand-assignment.js => js/src/tests/non262/extensions/destructuring-__proto__-shorthand-assignment.js rename : js/src/tests/ecma_5/extensions/destructuring-__proto__-target-assignment.js => js/src/tests/non262/extensions/destructuring-__proto__-target-assignment.js rename : js/src/tests/ecma_5/extensions/destructuring-for-inof-__proto__.js => js/src/tests/non262/extensions/destructuring-for-inof-__proto__.js rename : js/src/tests/js1_7/extensions/destructuring-order.js => js/src/tests/non262/extensions/destructuring-order.js rename : js/src/tests/ecma_6/extensions/element-setting-ToNumber-detaches.js => js/src/tests/non262/extensions/element-setting-ToNumber-detaches.js rename : js/src/tests/js1_8_5/extensions/empty.txt => js/src/tests/non262/extensions/empty.txt rename : js/src/tests/ecma_5/extensions/error-tostring-function.js => js/src/tests/non262/extensions/error-tostring-function.js rename : js/src/tests/ecma/extensions/errorcolumnblame.js => js/src/tests/non262/extensions/errorcolumnblame.js rename : js/src/tests/ecma_5/extensions/es5ish-defineGetter-defineSetter.js => js/src/tests/non262/extensions/es5ish-defineGetter-defineSetter.js rename : js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js => js/src/tests/non262/extensions/eval-native-callback-is-indirect.js rename : js/src/tests/js1_8/extensions/expclo.js => js/src/tests/non262/extensions/expclo.js rename : js/src/tests/js1_8/extensions/expclo2.js => js/src/tests/non262/extensions/expclo2.js rename : js/src/tests/js1_8_5/extensions/expression-closure-syntax.js => js/src/tests/non262/extensions/expression-closure-syntax.js rename : js/src/tests/ecma_5/extensions/extension-methods-reject-null-undefined-this.js => js/src/tests/non262/extensions/extension-methods-reject-null-undefined-this.js rename : js/src/tests/js1_8_5/extensions/file-mapped-arraybuffers.js => js/src/tests/non262/extensions/file-mapped-arraybuffers.js rename : js/src/tests/js1_8_5/extensions/file-mapped-arraybuffers.txt => js/src/tests/non262/extensions/file-mapped-arraybuffers.txt rename : js/src/tests/ecma_6/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js => js/src/tests/non262/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js rename : js/src/tests/ecma_5/extensions/function-caller-skips-eval-frames.js => js/src/tests/non262/extensions/function-caller-skips-eval-frames.js rename : js/src/tests/ecma_5/extensions/function-caller-strict-cross-global.js => js/src/tests/non262/extensions/function-caller-strict-cross-global.js rename : js/src/tests/ecma_5/extensions/function-definition-with.js => js/src/tests/non262/extensions/function-definition-with.js rename : js/src/tests/ecma_5/extensions/function-properties.js => js/src/tests/non262/extensions/function-properties.js rename : js/src/tests/ecma_5/extensions/getOwnPropertyNames-__proto__.js => js/src/tests/non262/extensions/getOwnPropertyNames-__proto__.js rename : js/src/tests/js1_5/extensions/getset-001.js => js/src/tests/non262/extensions/getset-001.js rename : js/src/tests/js1_5/extensions/getset-003.js => js/src/tests/non262/extensions/getset-003.js rename : js/src/tests/js1_5/extensions/getset-004.js => js/src/tests/non262/extensions/getset-004.js rename : js/src/tests/js1_5/extensions/getset-005.js => js/src/tests/non262/extensions/getset-005.js rename : js/src/tests/js1_5/extensions/getset-006.js => js/src/tests/non262/extensions/getset-006.js rename : js/src/tests/ecma_5/extensions/inc-dec-functioncall.js => js/src/tests/non262/extensions/inc-dec-functioncall.js rename : js/src/tests/ecma_6/extensions/keyword-unescaped-requirement-modules.js => js/src/tests/non262/extensions/keyword-unescaped-requirement-modules.js rename : js/src/tests/ecma_6/extensions/keyword-unescaped-requirement.js => js/src/tests/non262/extensions/keyword-unescaped-requirement.js rename : js/src/tests/ecma_5/extensions/misplaced-inconsistent-directive.js => js/src/tests/non262/extensions/misplaced-inconsistent-directive.js rename : js/src/tests/js1_8_5/extensions/mutable-proto-special-form.js => js/src/tests/non262/extensions/mutable-proto-special-form.js rename : js/src/tests/ecma_5/extensions/nested-delete-name-in-evalcode.js => js/src/tests/non262/extensions/nested-delete-name-in-evalcode.js rename : js/src/tests/ecma_6/extensions/new-cross-compartment.js => js/src/tests/non262/extensions/new-cross-compartment.js rename : js/src/tests/js1_8_1/extensions/new-parenthesization.js => js/src/tests/non262/extensions/new-parenthesization.js rename : js/src/tests/ecma_6/extensions/newer-type-functions-caller-arguments.js => js/src/tests/non262/extensions/newer-type-functions-caller-arguments.js rename : js/src/tests/js1_8_5/extensions/non_syntactic.js => js/src/tests/non262/extensions/non_syntactic.js rename : js/src/tests/js1_8_5/extensions/object-toSource-undefined-getter.js => js/src/tests/non262/extensions/object-toSource-undefined-getter.js rename : js/src/tests/js1_8_5/extensions/object-toSource-with-symbol-keys.js => js/src/tests/non262/extensions/object-toSource-with-symbol-keys.js rename : js/src/tests/ecma_7/extensions/parse-rest-destructuring-parameter.js => js/src/tests/non262/extensions/parse-rest-destructuring-parameter.js rename : js/src/tests/js1_8/extensions/peterson.js => js/src/tests/non262/extensions/peterson.js rename : js/src/tests/ecma_5/extensions/preventExtensions-cross-global.js => js/src/tests/non262/extensions/preventExtensions-cross-global.js rename : js/src/tests/ecma_5/extensions/proxy-array-target-length-definition.js => js/src/tests/non262/extensions/proxy-array-target-length-definition.js rename : js/src/tests/ecma_5/extensions/proxy-enumeration.js => js/src/tests/non262/extensions/proxy-enumeration.js rename : js/src/tests/js1_8_5/extensions/proxy-proto-setter.js => js/src/tests/non262/extensions/proxy-proto-setter.js rename : js/src/tests/ecma_5/extensions/proxy-strict.js => js/src/tests/non262/extensions/proxy-strict.js rename : js/src/tests/js1_8_5/extensions/recursion.js => js/src/tests/non262/extensions/recursion.js rename : js/src/tests/js1_8_5/extensions/redeclaration-of-catch-warning.js => js/src/tests/non262/extensions/redeclaration-of-catch-warning.js rename : js/src/tests/ecma_6/extensions/reentrant-RegExp-creation-and-gc-during-new-RegExp-pattern-ToString.js => js/src/tests/non262/extensions/reentrant-RegExp-creation-and-gc-during-new-RegExp-pattern-ToString.js rename : js/src/tests/ecma_3/extensions/regress-103087.js => js/src/tests/non262/extensions/regress-103087.js rename : js/src/tests/js1_5/extensions/regress-104077.js => js/src/tests/non262/extensions/regress-104077.js rename : js/src/tests/js1_5/extensions/regress-178722.js => js/src/tests/non262/extensions/regress-178722.js rename : js/src/tests/ecma_3/extensions/regress-188206-01.js => js/src/tests/non262/extensions/regress-188206-01.js rename : js/src/tests/ecma_3/extensions/regress-188206-02.js => js/src/tests/non262/extensions/regress-188206-02.js rename : js/src/tests/js1_5/extensions/regress-192465.js => js/src/tests/non262/extensions/regress-192465.js rename : js/src/tests/ecma_3/extensions/regress-220367-002.js => js/src/tests/non262/extensions/regress-220367-002.js rename : js/src/tests/js1_5/extensions/regress-225831.js => js/src/tests/non262/extensions/regress-225831.js rename : js/src/tests/js1_5/extensions/regress-226078.js => js/src/tests/non262/extensions/regress-226078.js rename : js/src/tests/js1_5/extensions/regress-226507.js => js/src/tests/non262/extensions/regress-226507.js rename : js/src/tests/ecma_3/extensions/regress-228087.js => js/src/tests/non262/extensions/regress-228087.js rename : js/src/tests/js1_5/extensions/regress-231518.js => js/src/tests/non262/extensions/regress-231518.js rename : js/src/tests/js1_5/extensions/regress-237461.js => js/src/tests/non262/extensions/regress-237461.js rename : js/src/tests/js1_5/extensions/regress-245148.js => js/src/tests/non262/extensions/regress-245148.js rename : js/src/tests/js1_5/extensions/regress-245795.js => js/src/tests/non262/extensions/regress-245795.js rename : js/src/tests/js1_5/extensions/regress-254375.js => js/src/tests/non262/extensions/regress-254375.js rename : js/src/tests/js1_5/extensions/regress-255245.js => js/src/tests/non262/extensions/regress-255245.js rename : js/src/tests/ecma_3/extensions/regress-274152.js => js/src/tests/non262/extensions/regress-274152.js rename : js/src/tests/js1_5/extensions/regress-291213.js => js/src/tests/non262/extensions/regress-291213.js rename : js/src/tests/js1_5/extensions/regress-300079.js => js/src/tests/non262/extensions/regress-300079.js rename : js/src/tests/js1_5/extensions/regress-304897.js => js/src/tests/non262/extensions/regress-304897.js rename : js/src/tests/js1_5/extensions/regress-306738.js => js/src/tests/non262/extensions/regress-306738.js rename : js/src/tests/js1_5/extensions/regress-311161.js => js/src/tests/non262/extensions/regress-311161.js rename : js/src/tests/js1_5/extensions/regress-311583.js => js/src/tests/non262/extensions/regress-311583.js rename : js/src/tests/js1_5/extensions/regress-311792-01.js => js/src/tests/non262/extensions/regress-311792-01.js rename : js/src/tests/js1_5/extensions/regress-311792-02.js => js/src/tests/non262/extensions/regress-311792-02.js rename : js/src/tests/js1_6/extensions/regress-312385-01.js => js/src/tests/non262/extensions/regress-312385-01.js rename : js/src/tests/js1_5/extensions/regress-313763.js => js/src/tests/non262/extensions/regress-313763.js rename : js/src/tests/js1_5/extensions/regress-313803.js => js/src/tests/non262/extensions/regress-313803.js rename : js/src/tests/js1_5/extensions/regress-313938.js => js/src/tests/non262/extensions/regress-313938.js rename : js/src/tests/js1_5/extensions/regress-314874.js => js/src/tests/non262/extensions/regress-314874.js rename : js/src/tests/js1_5/extensions/regress-315509-02.js => js/src/tests/non262/extensions/regress-315509-02.js rename : js/src/tests/js1_5/extensions/regress-319683.js => js/src/tests/non262/extensions/regress-319683.js rename : js/src/tests/ecma_3/extensions/regress-320854.js => js/src/tests/non262/extensions/regress-320854.js rename : js/src/tests/js1_5/extensions/regress-322957.js => js/src/tests/non262/extensions/regress-322957.js rename : js/src/tests/ecma_3/extensions/regress-327170.js => js/src/tests/non262/extensions/regress-327170.js rename : js/src/tests/js1_5/extensions/regress-327608.js => js/src/tests/non262/extensions/regress-327608.js rename : js/src/tests/js1_5/extensions/regress-328443.js => js/src/tests/non262/extensions/regress-328443.js rename : js/src/tests/js1_5/extensions/regress-328556.js => js/src/tests/non262/extensions/regress-328556.js rename : js/src/tests/js1_5/extensions/regress-330569.js => js/src/tests/non262/extensions/regress-330569.js rename : js/src/tests/js1_5/extensions/regress-333541.js => js/src/tests/non262/extensions/regress-333541.js rename : js/src/tests/js1_5/extensions/regress-336409-1.js => js/src/tests/non262/extensions/regress-336409-1.js rename : js/src/tests/js1_5/extensions/regress-336409-2.js => js/src/tests/non262/extensions/regress-336409-2.js rename : js/src/tests/js1_5/extensions/regress-336410-1.js => js/src/tests/non262/extensions/regress-336410-1.js rename : js/src/tests/js1_5/extensions/regress-336410-2.js => js/src/tests/non262/extensions/regress-336410-2.js rename : js/src/tests/js1_5/extensions/regress-338804-01.js => js/src/tests/non262/extensions/regress-338804-01.js rename : js/src/tests/js1_5/extensions/regress-338804-02.js => js/src/tests/non262/extensions/regress-338804-02.js rename : js/src/tests/js1_5/extensions/regress-338804-03.js => js/src/tests/non262/extensions/regress-338804-03.js rename : js/src/tests/js1_5/extensions/regress-339685.js => js/src/tests/non262/extensions/regress-339685.js rename : js/src/tests/js1_5/extensions/regress-341956-01.js => js/src/tests/non262/extensions/regress-341956-01.js rename : js/src/tests/js1_5/extensions/regress-341956-02.js => js/src/tests/non262/extensions/regress-341956-02.js rename : js/src/tests/js1_5/extensions/regress-341956-03.js => js/src/tests/non262/extensions/regress-341956-03.js rename : js/src/tests/js1_5/extensions/regress-342960.js => js/src/tests/non262/extensions/regress-342960.js rename : js/src/tests/js1_5/extensions/regress-345967.js => js/src/tests/non262/extensions/regress-345967.js rename : js/src/tests/js1_7/extensions/regress-346642-06.js => js/src/tests/non262/extensions/regress-346642-06.js rename : js/src/tests/js1_7/extensions/regress-346773.js => js/src/tests/non262/extensions/regress-346773.js rename : js/src/tests/js1_5/extensions/regress-350312-01.js => js/src/tests/non262/extensions/regress-350312-01.js rename : js/src/tests/js1_7/extensions/regress-350312.js => js/src/tests/non262/extensions/regress-350312.js rename : js/src/tests/js1_7/extensions/regress-351070-02.js => js/src/tests/non262/extensions/regress-351070-02.js rename : js/src/tests/js1_5/extensions/regress-351448.js => js/src/tests/non262/extensions/regress-351448.js rename : js/src/tests/js1_5/extensions/regress-351463-01.js => js/src/tests/non262/extensions/regress-351463-01.js rename : js/src/tests/js1_5/extensions/regress-351973.js => js/src/tests/non262/extensions/regress-351973.js rename : js/src/tests/js1_5/extensions/regress-352291.js => js/src/tests/non262/extensions/regress-352291.js rename : js/src/tests/js1_5/extensions/regress-352372.js => js/src/tests/non262/extensions/regress-352372.js rename : js/src/tests/js1_5/extensions/regress-352604.js => js/src/tests/non262/extensions/regress-352604.js rename : js/src/tests/js1_7/extensions/regress-352797-01.js => js/src/tests/non262/extensions/regress-352797-01.js rename : js/src/tests/js1_8/extensions/regress-353116.js => js/src/tests/non262/extensions/regress-353116.js rename : js/src/tests/js1_8_1/extensions/regress-353214-02.js => js/src/tests/non262/extensions/regress-353214-02.js rename : js/src/tests/js1_5/extensions/regress-354297.js => js/src/tests/non262/extensions/regress-354297.js rename : js/src/tests/js1_5/extensions/regress-354541-01.js => js/src/tests/non262/extensions/regress-354541-01.js rename : js/src/tests/js1_5/extensions/regress-354541-02.js => js/src/tests/non262/extensions/regress-354541-02.js rename : js/src/tests/js1_5/extensions/regress-354541-03.js => js/src/tests/non262/extensions/regress-354541-03.js rename : js/src/tests/js1_5/extensions/regress-354541-04.js => js/src/tests/non262/extensions/regress-354541-04.js rename : js/src/tests/js1_7/extensions/regress-355052-01.js => js/src/tests/non262/extensions/regress-355052-01.js rename : js/src/tests/js1_7/extensions/regress-355052-02.js => js/src/tests/non262/extensions/regress-355052-02.js rename : js/src/tests/js1_7/extensions/regress-355052-03.js => js/src/tests/non262/extensions/regress-355052-03.js rename : js/src/tests/js1_7/extensions/regress-355410.js => js/src/tests/non262/extensions/regress-355410.js rename : js/src/tests/js1_5/extensions/regress-355497.js => js/src/tests/non262/extensions/regress-355497.js rename : js/src/tests/js1_5/extensions/regress-355655.js => js/src/tests/non262/extensions/regress-355655.js rename : js/src/tests/js1_5/extensions/regress-355820.js => js/src/tests/non262/extensions/regress-355820.js rename : js/src/tests/js1_5/extensions/regress-355982.js => js/src/tests/non262/extensions/regress-355982.js rename : js/src/tests/js1_5/extensions/regress-356402.js => js/src/tests/non262/extensions/regress-356402.js rename : js/src/tests/js1_5/extensions/regress-358594-01.js => js/src/tests/non262/extensions/regress-358594-01.js rename : js/src/tests/js1_5/extensions/regress-358594-02.js => js/src/tests/non262/extensions/regress-358594-02.js rename : js/src/tests/js1_5/extensions/regress-358594-03.js => js/src/tests/non262/extensions/regress-358594-03.js rename : js/src/tests/js1_5/extensions/regress-358594-04.js => js/src/tests/non262/extensions/regress-358594-04.js rename : js/src/tests/js1_5/extensions/regress-358594-05.js => js/src/tests/non262/extensions/regress-358594-05.js rename : js/src/tests/js1_5/extensions/regress-358594-06.js => js/src/tests/non262/extensions/regress-358594-06.js rename : js/src/tests/js1_5/extensions/regress-359024.js => js/src/tests/non262/extensions/regress-359024.js rename : js/src/tests/js1_7/extensions/regress-363040-01.js => js/src/tests/non262/extensions/regress-363040-01.js rename : js/src/tests/js1_7/extensions/regress-363040-02.js => js/src/tests/non262/extensions/regress-363040-02.js rename : js/src/tests/js1_5/extensions/regress-363258.js => js/src/tests/non262/extensions/regress-363258.js rename : js/src/tests/js1_5/extensions/regress-363988.js => js/src/tests/non262/extensions/regress-363988.js rename : js/src/tests/js1_5/extensions/regress-365527.js => js/src/tests/non262/extensions/regress-365527.js rename : js/src/tests/js1_5/extensions/regress-365692.js => js/src/tests/non262/extensions/regress-365692.js rename : js/src/tests/js1_5/extensions/regress-365869.js => js/src/tests/non262/extensions/regress-365869.js rename : js/src/tests/js1_5/extensions/regress-366288.js => js/src/tests/non262/extensions/regress-366288.js rename : js/src/tests/js1_5/extensions/regress-366292.js => js/src/tests/non262/extensions/regress-366292.js rename : js/src/tests/js1_5/extensions/regress-366396.js => js/src/tests/non262/extensions/regress-366396.js rename : js/src/tests/js1_7/extensions/regress-366668-01.js => js/src/tests/non262/extensions/regress-366668-01.js rename : js/src/tests/js1_5/extensions/regress-367118-01.js => js/src/tests/non262/extensions/regress-367118-01.js rename : js/src/tests/js1_5/extensions/regress-367118-02.js => js/src/tests/non262/extensions/regress-367118-02.js rename : js/src/tests/js1_5/extensions/regress-367119-01.js => js/src/tests/non262/extensions/regress-367119-01.js rename : js/src/tests/js1_5/extensions/regress-367119-02.js => js/src/tests/non262/extensions/regress-367119-02.js rename : js/src/tests/js1_5/extensions/regress-367120-01.js => js/src/tests/non262/extensions/regress-367120-01.js rename : js/src/tests/js1_5/extensions/regress-367120-02.js => js/src/tests/non262/extensions/regress-367120-02.js rename : js/src/tests/js1_5/extensions/regress-367121.js => js/src/tests/non262/extensions/regress-367121.js rename : js/src/tests/js1_5/extensions/regress-367501-01.js => js/src/tests/non262/extensions/regress-367501-01.js rename : js/src/tests/js1_5/extensions/regress-367501-02.js => js/src/tests/non262/extensions/regress-367501-02.js rename : js/src/tests/js1_5/extensions/regress-367501-03.js => js/src/tests/non262/extensions/regress-367501-03.js rename : js/src/tests/js1_5/extensions/regress-367501-04.js => js/src/tests/non262/extensions/regress-367501-04.js rename : js/src/tests/js1_5/extensions/regress-367589.js => js/src/tests/non262/extensions/regress-367589.js rename : js/src/tests/js1_7/extensions/regress-367629.js => js/src/tests/non262/extensions/regress-367629.js rename : js/src/tests/js1_7/extensions/regress-368213.js => js/src/tests/non262/extensions/regress-368213.js rename : js/src/tests/js1_7/extensions/regress-368224.js => js/src/tests/non262/extensions/regress-368224.js rename : js/src/tests/ecma_3/extensions/regress-368516.js => js/src/tests/non262/extensions/regress-368516.js rename : js/src/tests/js1_5/extensions/regress-369404.js => js/src/tests/non262/extensions/regress-369404.js rename : js/src/tests/js1_5/extensions/regress-369696-01.js => js/src/tests/non262/extensions/regress-369696-01.js rename : js/src/tests/js1_5/extensions/regress-369696-02.js => js/src/tests/non262/extensions/regress-369696-02.js rename : js/src/tests/js1_5/extensions/regress-369696-03.js => js/src/tests/non262/extensions/regress-369696-03.js rename : js/src/tests/js1_5/extensions/regress-372309.js => js/src/tests/non262/extensions/regress-372309.js rename : js/src/tests/js1_5/extensions/regress-375183.js => js/src/tests/non262/extensions/regress-375183.js rename : js/src/tests/js1_5/extensions/regress-375344.js => js/src/tests/non262/extensions/regress-375344.js rename : js/src/tests/js1_5/extensions/regress-375801.js => js/src/tests/non262/extensions/regress-375801.js rename : js/src/tests/js1_7/extensions/regress-379566.js => js/src/tests/non262/extensions/regress-379566.js rename : js/src/tests/js1_5/extensions/regress-380581.js => js/src/tests/non262/extensions/regress-380581.js rename : js/src/tests/js1_5/extensions/regress-380889.js => js/src/tests/non262/extensions/regress-380889.js rename : js/src/tests/js1_7/extensions/regress-380933.js => js/src/tests/non262/extensions/regress-380933.js rename : js/src/tests/js1_5/extensions/regress-381211.js => js/src/tests/non262/extensions/regress-381211.js rename : js/src/tests/js1_7/extensions/regress-381301.js => js/src/tests/non262/extensions/regress-381301.js rename : js/src/tests/js1_7/extensions/regress-381303.js => js/src/tests/non262/extensions/regress-381303.js rename : js/src/tests/js1_5/extensions/regress-381304.js => js/src/tests/non262/extensions/regress-381304.js rename : js/src/tests/js1_5/extensions/regress-385393-02.js => js/src/tests/non262/extensions/regress-385393-02.js rename : js/src/tests/ecma_3/extensions/regress-385393-03.js => js/src/tests/non262/extensions/regress-385393-03.js rename : js/src/tests/js1_6/extensions/regress-385393-08.js => js/src/tests/non262/extensions/regress-385393-08.js rename : js/src/tests/js1_8/extensions/regress-385729.js => js/src/tests/non262/extensions/regress-385729.js rename : js/src/tests/js1_5/extensions/regress-390598.js => js/src/tests/non262/extensions/regress-390598.js rename : js/src/tests/js1_5/extensions/regress-394967.js => js/src/tests/non262/extensions/regress-394967.js rename : js/src/tests/js1_7/extensions/regress-396326.js => js/src/tests/non262/extensions/regress-396326-01.js rename : js/src/tests/js1_5/extensions/regress-396326.js => js/src/tests/non262/extensions/regress-396326.js rename : js/src/tests/js1_5/extensions/regress-406572.js => js/src/tests/non262/extensions/regress-406572.js rename : js/src/tests/js1_5/extensions/regress-407501.js => js/src/tests/non262/extensions/regress-407501.js rename : js/src/tests/js1_5/extensions/regress-407720.js => js/src/tests/non262/extensions/regress-407720.js rename : js/src/tests/js1_5/extensions/regress-412926.js => js/src/tests/non262/extensions/regress-412926.js rename : js/src/tests/js1_6/extensions/regress-414098.js => js/src/tests/non262/extensions/regress-414098.js rename : js/src/tests/js1_5/extensions/regress-414755.js => js/src/tests/non262/extensions/regress-414755.js rename : js/src/tests/js1_8/extensions/regress-415721.js => js/src/tests/non262/extensions/regress-415721.js rename : js/src/tests/js1_5/extensions/regress-416354.js => js/src/tests/non262/extensions/regress-416354.js rename : js/src/tests/js1_5/extensions/regress-416460.js => js/src/tests/non262/extensions/regress-416460.js rename : js/src/tests/js1_5/extensions/regress-416834.js => js/src/tests/non262/extensions/regress-416834.js rename : js/src/tests/js1_8/extensions/regress-417131.js => js/src/tests/non262/extensions/regress-417131.js rename : js/src/tests/js1_8/extensions/regress-417817.js => js/src/tests/non262/extensions/regress-417817.js rename : js/src/tests/js1_8/extensions/regress-419091.js => js/src/tests/non262/extensions/regress-419091.js rename : js/src/tests/js1_5/extensions/regress-420869-01.js => js/src/tests/non262/extensions/regress-420869-01.js rename : js/src/tests/js1_5/extensions/regress-422592.js => js/src/tests/non262/extensions/regress-422592.js rename : js/src/tests/js1_5/extensions/regress-424683-01.js => js/src/tests/non262/extensions/regress-424683-01.js rename : js/src/tests/js1_5/extensions/regress-426711.js => js/src/tests/non262/extensions/regress-426711.js rename : js/src/tests/js1_5/extensions/regress-427196-01.js => js/src/tests/non262/extensions/regress-427196-01.js rename : js/src/tests/js1_5/extensions/regress-427196-02.js => js/src/tests/non262/extensions/regress-427196-02.js rename : js/src/tests/js1_5/extensions/regress-427196-03.js => js/src/tests/non262/extensions/regress-427196-03.js rename : js/src/tests/js1_5/extensions/regress-429739.js => js/src/tests/non262/extensions/regress-429739.js rename : js/src/tests/ecma_3/extensions/regress-430740.js => js/src/tests/non262/extensions/regress-430740.js rename : js/src/tests/js1_5/extensions/regress-434837-01.js => js/src/tests/non262/extensions/regress-434837-01.js rename : js/src/tests/js1_5/extensions/regress-435497-01.js => js/src/tests/non262/extensions/regress-435497-01.js rename : js/src/tests/js1_5/extensions/regress-435497-02.js => js/src/tests/non262/extensions/regress-435497-02.js rename : js/src/tests/js1_5/extensions/regress-435497-03.js => js/src/tests/non262/extensions/regress-435497-03.js rename : js/src/tests/js1_5/extensions/regress-436741.js => js/src/tests/non262/extensions/regress-436741.js rename : js/src/tests/js1_8_1/extensions/regress-437288-01.js => js/src/tests/non262/extensions/regress-437288-01.js rename : js/src/tests/js1_5/extensions/regress-44009.js => js/src/tests/non262/extensions/regress-44009.js rename : js/src/tests/js1_5/extensions/regress-443569.js => js/src/tests/non262/extensions/regress-443569.js rename : js/src/tests/js1_8/extensions/regress-445818.js => js/src/tests/non262/extensions/regress-445818.js rename : js/src/tests/js1_8/extensions/regress-446169-01.js => js/src/tests/non262/extensions/regress-446169-01.js rename : js/src/tests/js1_8/extensions/regress-446169-02.js => js/src/tests/non262/extensions/regress-446169-02.js rename : js/src/tests/js1_5/extensions/regress-446386.js => js/src/tests/non262/extensions/regress-446386.js rename : js/src/tests/js1_5/extensions/regress-452168.js => js/src/tests/non262/extensions/regress-452168.js rename : js/src/tests/js1_5/extensions/regress-452178.js => js/src/tests/non262/extensions/regress-452178.js rename : js/src/tests/js1_5/extensions/regress-452329.js => js/src/tests/non262/extensions/regress-452329.js rename : js/src/tests/js1_5/extensions/regress-452338.js => js/src/tests/non262/extensions/regress-452338.js rename : js/src/tests/js1_8_1/extensions/regress-452498-162.js => js/src/tests/non262/extensions/regress-452498-162.js rename : js/src/tests/js1_8_1/extensions/regress-452498-196.js => js/src/tests/non262/extensions/regress-452498-196.js rename : js/src/tests/js1_5/extensions/regress-452565.js => js/src/tests/non262/extensions/regress-452565.js rename : js/src/tests/js1_8/extensions/regress-452913.js => js/src/tests/non262/extensions/regress-452913.js rename : js/src/tests/js1_5/extensions/regress-453249.js => js/src/tests/non262/extensions/regress-453249.js rename : js/src/tests/js1_5/extensions/regress-454704.js => js/src/tests/non262/extensions/regress-454704.js rename : js/src/tests/js1_8/extensions/regress-454744.js => js/src/tests/non262/extensions/regress-454744.js rename : js/src/tests/js1_5/extensions/regress-455380.js => js/src/tests/non262/extensions/regress-455380.js rename : js/src/tests/js1_5/extensions/regress-455408.js => js/src/tests/non262/extensions/regress-455408.js rename : js/src/tests/js1_6/extensions/regress-456826.js => js/src/tests/non262/extensions/regress-456826.js rename : js/src/tests/js1_7/extensions/regress-458679.js => js/src/tests/non262/extensions/regress-458679.js rename : js/src/tests/js1_5/extensions/regress-459606.js => js/src/tests/non262/extensions/regress-459606.js rename : js/src/tests/js1_5/extensions/regress-462734-02.js => js/src/tests/non262/extensions/regress-462734-02.js rename : js/src/tests/js1_5/extensions/regress-462734-03.js => js/src/tests/non262/extensions/regress-462734-03.js rename : js/src/tests/js1_5/extensions/regress-462734-04.js => js/src/tests/non262/extensions/regress-462734-04.js rename : js/src/tests/js1_5/extensions/regress-465276.js => js/src/tests/non262/extensions/regress-465276.js rename : js/src/tests/js1_8/extensions/regress-465337.js => js/src/tests/non262/extensions/regress-465337.js rename : js/src/tests/js1_6/extensions/regress-465443.js => js/src/tests/non262/extensions/regress-465443.js rename : js/src/tests/js1_8/extensions/regress-465453.js => js/src/tests/non262/extensions/regress-465453.js rename : js/src/tests/js1_8_1/extensions/regress-466905-04.js => js/src/tests/non262/extensions/regress-466905-04.js rename : js/src/tests/js1_8_1/extensions/regress-466905-05.js => js/src/tests/non262/extensions/regress-466905-05.js rename : js/src/tests/js1_7/extensions/regress-469234.js => js/src/tests/non262/extensions/regress-469234.js rename : js/src/tests/js1_7/extensions/regress-469405-01.js => js/src/tests/non262/extensions/regress-469405-01.js rename : js/src/tests/js1_7/extensions/regress-469405-02.js => js/src/tests/non262/extensions/regress-469405-02.js rename : js/src/tests/js1_8/extensions/regress-469625.js => js/src/tests/non262/extensions/regress-469625-01.js rename : js/src/tests/js1_5/extensions/regress-469625.js => js/src/tests/non262/extensions/regress-469625.js rename : js/src/tests/js1_5/extensions/regress-469761.js => js/src/tests/non262/extensions/regress-469761.js rename : js/src/tests/js1_7/extensions/regress-470300-01.js => js/src/tests/non262/extensions/regress-470300-01.js rename : js/src/tests/js1_7/extensions/regress-470300-02.js => js/src/tests/non262/extensions/regress-470300-02.js rename : js/src/tests/js1_6/extensions/regress-470310.js => js/src/tests/non262/extensions/regress-470310.js rename : js/src/tests/js1_8/extensions/regress-471197.js => js/src/tests/non262/extensions/regress-471197.js rename : js/src/tests/js1_8/extensions/regress-472450-03.js => js/src/tests/non262/extensions/regress-472450-03.js rename : js/src/tests/js1_8/extensions/regress-472450-04.js => js/src/tests/non262/extensions/regress-472450-04.js rename : js/src/tests/js1_5/extensions/regress-472599.js => js/src/tests/non262/extensions/regress-472599.js rename : js/src/tests/js1_8/extensions/regress-473040.js => js/src/tests/non262/extensions/regress-473040.js rename : js/src/tests/js1_7/extensions/regress-474771-01.js => js/src/tests/non262/extensions/regress-474771-01.js rename : js/src/tests/js1_7/extensions/regress-474771-02.js => js/src/tests/non262/extensions/regress-474771-02.js rename : js/src/tests/js1_8/extensions/regress-475971.js => js/src/tests/non262/extensions/regress-475971.js rename : js/src/tests/js1_8/extensions/regress-476414-01.js => js/src/tests/non262/extensions/regress-476414-01.js rename : js/src/tests/js1_8/extensions/regress-476414-02.js => js/src/tests/non262/extensions/regress-476414-02.js rename : js/src/tests/js1_5/extensions/regress-476447.js => js/src/tests/non262/extensions/regress-476447.js rename : js/src/tests/js1_8/extensions/regress-476653.js => js/src/tests/non262/extensions/regress-476653.js rename : js/src/tests/js1_8/extensions/regress-476869.js => js/src/tests/non262/extensions/regress-476869.js rename : js/src/tests/js1_8_1/extensions/regress-477158.js => js/src/tests/non262/extensions/regress-477158.js rename : js/src/tests/js1_8_1/extensions/regress-477187.js => js/src/tests/non262/extensions/regress-477187.js rename : js/src/tests/js1_8/extensions/regress-479252.js => js/src/tests/non262/extensions/regress-479252.js rename : js/src/tests/js1_8/extensions/regress-479381.js => js/src/tests/non262/extensions/regress-479381.js rename : js/src/tests/js1_5/extensions/regress-479487.js => js/src/tests/non262/extensions/regress-479487.js rename : js/src/tests/js1_5/extensions/regress-479551.js => js/src/tests/non262/extensions/regress-479551.js rename : js/src/tests/js1_5/extensions/regress-480579.js => js/src/tests/non262/extensions/regress-480579.js rename : js/src/tests/js1_5/extensions/regress-481516.js => js/src/tests/non262/extensions/regress-481516.js rename : js/src/tests/js1_8/extensions/regress-482263.js => js/src/tests/non262/extensions/regress-482263.js rename : js/src/tests/js1_5/extensions/regress-50447-1.js => js/src/tests/non262/extensions/regress-50447-1.js rename : js/src/tests/js1_5/extensions/regress-543839.js => js/src/tests/non262/extensions/regress-543839.js rename : js/src/tests/js1_8_5/extensions/regress-558541.js => js/src/tests/non262/extensions/regress-558541.js rename : js/src/tests/js1_7/extensions/regress-591450.js => js/src/tests/non262/extensions/regress-591450.js rename : js/src/tests/js1_8_5/extensions/regress-636818.js => js/src/tests/non262/extensions/regress-636818.js rename : js/src/tests/js1_8_5/extensions/regress-645160.js => js/src/tests/non262/extensions/regress-645160.js rename : js/src/tests/js1_8_5/extensions/regress-650753.js => js/src/tests/non262/extensions/regress-650753.js rename : js/src/tests/js1_8_5/extensions/regress-696109.js => js/src/tests/non262/extensions/regress-696109.js rename : js/src/tests/js1_5/extensions/regress-90596-001.js => js/src/tests/non262/extensions/regress-90596-001.js rename : js/src/tests/js1_5/extensions/regress-90596-002.js => js/src/tests/non262/extensions/regress-90596-002.js rename : js/src/tests/js1_5/extensions/regress-96284-001.js => js/src/tests/non262/extensions/regress-96284-001.js rename : js/src/tests/js1_5/extensions/regress-96284-002.js => js/src/tests/non262/extensions/regress-96284-002.js rename : js/src/tests/ecma_5/extensions/regress-bug567606.js => js/src/tests/non262/extensions/regress-bug567606.js rename : js/src/tests/ecma_5/extensions/regress-bug607284.js => js/src/tests/non262/extensions/regress-bug607284.js rename : js/src/tests/ecma_5/extensions/regress-bug629723.js => js/src/tests/non262/extensions/regress-bug629723.js rename : js/src/tests/ecma_5/extensions/reviver-mutates-holder-array-ccw.js => js/src/tests/non262/extensions/reviver-mutates-holder-array-ccw.js rename : js/src/tests/ecma_5/extensions/reviver-mutates-holder-array-nonnative.js => js/src/tests/non262/extensions/reviver-mutates-holder-array-nonnative.js rename : js/src/tests/ecma_5/extensions/reviver-mutates-holder-array.js => js/src/tests/non262/extensions/reviver-mutates-holder-array.js rename : js/src/tests/ecma_5/extensions/reviver-mutates-holder-object-ccw.js => js/src/tests/non262/extensions/reviver-mutates-holder-object-ccw.js rename : js/src/tests/ecma_5/extensions/reviver-mutates-holder-object-nonnative.js => js/src/tests/non262/extensions/reviver-mutates-holder-object-nonnative.js rename : js/src/tests/ecma_5/extensions/reviver-mutates-holder-object.js => js/src/tests/non262/extensions/reviver-mutates-holder-object.js rename : js/src/tests/js1_5/extensions/scope-001.js => js/src/tests/non262/extensions/scope-001.js rename : js/src/tests/js1_8_5/extensions/selfhosted-detecting-strict.js => js/src/tests/non262/extensions/selfhosted-detecting-strict.js rename : js/src/tests/js1_8_5/extensions/set-property-non-extensible.js => js/src/tests/non262/extensions/set-property-non-extensible.js rename : js/src/tests/ecma_6/extensions/setImmutablePrototype.js => js/src/tests/non262/extensions/setImmutablePrototype.js rename : js/src/tests/js1_8_5/extensions/shareddataview.js => js/src/tests/non262/extensions/shareddataview.js rename : js/src/tests/js1_8_5/extensions/sharedtypedarray.js => js/src/tests/non262/extensions/sharedtypedarray.js rename : js/src/tests/ecma_3/extensions/shell.js => js/src/tests/non262/extensions/shell.js rename : js/src/tests/js1_8/extensions/simple-tree.js => js/src/tests/non262/extensions/simple-tree.js rename : js/src/tests/js1_8_5/extensions/sps-generators.js => js/src/tests/non262/extensions/sps-generators.js rename : js/src/tests/ecma_5/extensions/strict-function-toSource.js => js/src/tests/non262/extensions/strict-function-toSource.js rename : js/src/tests/ecma_5/extensions/strict-option-redeclared-parameter.js => js/src/tests/non262/extensions/strict-option-redeclared-parameter.js rename : js/src/tests/js1_8_1/extensions/strict-warning.js => js/src/tests/non262/extensions/strict-warning.js rename : js/src/tests/ecma_5/extensions/string-literal-getter-setter-decompilation.js => js/src/tests/non262/extensions/string-literal-getter-setter-decompilation.js rename : js/src/tests/js1_8_5/extensions/symbol-uneval.js => js/src/tests/non262/extensions/symbol-uneval.js rename : js/src/tests/ecma_6/toLength.js => js/src/tests/non262/extensions/toLength.js rename : js/src/tests/ecma_5/extensions/toLocaleString-infinite-recursion.js => js/src/tests/non262/extensions/toLocaleString-infinite-recursion.js rename : js/src/tests/js1_8_5/extensions/toSource-0.js => js/src/tests/non262/extensions/toSource-0.js rename : js/src/tests/ecma_5/extensions/toSource-infinite-recursion.js => js/src/tests/non262/extensions/toSource-infinite-recursion.js rename : js/src/tests/ecma_6/extensions/too-many-arguments-constructing-bound-function.js => js/src/tests/non262/extensions/too-many-arguments-constructing-bound-function.js rename : js/src/tests/js1_8_5/extensions/typedarray-copyWithin-arguments-detaching.js => js/src/tests/non262/extensions/typedarray-copyWithin-arguments-detaching.js rename : js/src/tests/js1_8_5/extensions/typedarray-set-neutering.js => js/src/tests/non262/extensions/typedarray-set-neutering.js rename : js/src/tests/js1_8_5/extensions/typedarray-subarray-of-subarray.js => js/src/tests/non262/extensions/typedarray-subarray-of-subarray.js rename : js/src/tests/js1_8_5/extensions/typedarray.js => js/src/tests/non262/extensions/typedarray.js rename : js/src/tests/js1_8_5/extensions/weakmap.js => js/src/tests/non262/extensions/weakmap.js rename : js/src/tests/js1_7/geniter/326466-01.js => js/src/tests/non262/generators/326466-01.js rename : js/src/tests/ecma_6/Generators/construct-newtarget.js => js/src/tests/non262/generators/construct-newtarget.js rename : js/src/tests/ecma_6/Generators/create-function-parse-before-getprototype.js => js/src/tests/non262/generators/create-function-parse-before-getprototype.js rename : js/src/tests/ecma_6/Generators/delegating-yield-1.js => js/src/tests/non262/generators/delegating-yield-1.js rename : js/src/tests/ecma_6/Generators/delegating-yield-10.js => js/src/tests/non262/generators/delegating-yield-10.js rename : js/src/tests/ecma_6/Generators/delegating-yield-11.js => js/src/tests/non262/generators/delegating-yield-11.js rename : js/src/tests/ecma_6/Generators/delegating-yield-12.js => js/src/tests/non262/generators/delegating-yield-12.js rename : js/src/tests/ecma_6/Generators/delegating-yield-2.js => js/src/tests/non262/generators/delegating-yield-2.js rename : js/src/tests/ecma_6/Generators/delegating-yield-3.js => js/src/tests/non262/generators/delegating-yield-3.js rename : js/src/tests/ecma_6/Generators/delegating-yield-4.js => js/src/tests/non262/generators/delegating-yield-4.js rename : js/src/tests/ecma_6/Generators/delegating-yield-5.js => js/src/tests/non262/generators/delegating-yield-5.js rename : js/src/tests/ecma_6/Generators/delegating-yield-6.js => js/src/tests/non262/generators/delegating-yield-6.js rename : js/src/tests/ecma_6/Generators/delegating-yield-7.js => js/src/tests/non262/generators/delegating-yield-7.js rename : js/src/tests/ecma_6/Generators/delegating-yield-8.js => js/src/tests/non262/generators/delegating-yield-8.js rename : js/src/tests/ecma_6/Generators/delegating-yield-9.js => js/src/tests/non262/generators/delegating-yield-9.js rename : js/src/tests/js1_7/geniter/fibonacci-matrix-generator.js => js/src/tests/non262/generators/fibonacci-matrix-generator.js rename : js/src/tests/ecma_6/Generators/forbidden-as-consequent.js => js/src/tests/non262/generators/forbidden-as-consequent.js rename : js/src/tests/js1_7/geniter/gen-with-call-obj.js => js/src/tests/non262/generators/gen-with-call-obj.js rename : js/src/tests/ecma_6/Generators/iteration.js => js/src/tests/non262/generators/iteration.js rename : js/src/tests/ecma_6/Generators/iterator-next-non-object.js => js/src/tests/non262/generators/iterator-next-non-object.js rename : js/src/tests/js1_7/geniter/iterator-toString.js => js/src/tests/non262/generators/iterator-toString.js rename : js/src/tests/js1_7/geniter/nested-yield.js => js/src/tests/non262/generators/nested-yield.js rename : js/src/tests/ecma_6/Generators/objects.js => js/src/tests/non262/generators/objects.js rename : js/src/tests/js1_7/geniter/pi-generator.js => js/src/tests/non262/generators/pi-generator.js rename : js/src/tests/ecma_6/Generators/properties.js => js/src/tests/non262/generators/properties.js rename : js/src/tests/js1_7/geniter/regress-345855.js => js/src/tests/non262/generators/regress-345855.js rename : js/src/tests/js1_7/geniter/regress-345879-01.js => js/src/tests/non262/generators/regress-345879-01.js rename : js/src/tests/js1_7/geniter/regress-349362.js => js/src/tests/non262/generators/regress-349362.js rename : js/src/tests/js1_7/geniter/regress-349851.js => js/src/tests/non262/generators/regress-349851.js rename : js/src/tests/js1_7/geniter/regress-350809.js => js/src/tests/non262/generators/regress-350809.js rename : js/src/tests/js1_7/geniter/regress-351120.js => js/src/tests/non262/generators/regress-351120.js rename : js/src/tests/js1_7/geniter/regress-359062.js => js/src/tests/non262/generators/regress-359062.js rename : js/src/tests/js1_7/geniter/regress-366941.js => js/src/tests/non262/generators/regress-366941.js rename : js/src/tests/js1_8/genexps/regress-384991.js => js/src/tests/non262/generators/regress-384991.js rename : js/src/tests/js1_7/geniter/regress-466206.js => js/src/tests/non262/generators/regress-466206.js rename : js/src/tests/ecma_6/Generators/return-finally.js => js/src/tests/non262/generators/return-finally.js rename : js/src/tests/ecma_6/Generators/runtime.js => js/src/tests/non262/generators/runtime.js rename : js/src/tests/ecma_6/Generators/shell.js => js/src/tests/non262/generators/shell.js rename : js/src/tests/js1_7/geniter/simple-fib.js => js/src/tests/non262/generators/simple-fib.js rename : js/src/tests/ecma_6/Generators/subclass.js => js/src/tests/non262/generators/subclass.js rename : js/src/tests/ecma_6/Generators/syntax.js => js/src/tests/non262/generators/syntax.js rename : js/src/tests/ecma_6/Generators/yield-error.js => js/src/tests/non262/generators/yield-error.js rename : js/src/tests/ecma_6/Generators/yield-iterator-close.js => js/src/tests/non262/generators/yield-iterator-close.js rename : js/src/tests/ecma_6/Generators/yield-non-regexp.js => js/src/tests/non262/generators/yield-non-regexp.js rename : js/src/tests/ecma_6/Generators/yield-star-iterator-close.js => js/src/tests/non262/generators/yield-star-iterator-close.js rename : js/src/tests/ecma_6/Generators/yield-star-iterator-primitive.js => js/src/tests/non262/generators/yield-star-iterator-primitive.js rename : js/src/tests/js1_5/GetSet/getset-002.js => js/src/tests/non262/get-set/getset-002.js rename : js/src/tests/js1_5/GetSet/regress-375976.js => js/src/tests/non262/get-set/regress-375976.js rename : js/src/tests/ecma_5/Global/adding-global-var-nonextensible-error.js => js/src/tests/non262/global/adding-global-var-nonextensible-error.js rename : js/src/tests/ecma_5/Global/bug-320887.js => js/src/tests/non262/global/bug-320887.js rename : js/src/tests/ecma_5/Global/bug660612.js => js/src/tests/non262/global/bug660612.js rename : js/src/tests/ecma_5/Global/cross-global-implicit-this.js => js/src/tests/non262/global/cross-global-implicit-this.js rename : js/src/tests/ecma_5/Global/decodeURI-decodes-FFFE-FFFF.js => js/src/tests/non262/global/decodeURI-decodes-FFFE-FFFF.js rename : js/src/tests/ecma_5/Global/delete-global-NaN-property.js => js/src/tests/non262/global/delete-global-NaN-property.js rename : js/src/tests/ecma_5/Global/direct-eval-but-not.js => js/src/tests/non262/global/direct-eval-but-not.js rename : js/src/tests/ecma_5/Global/eval-01.js => js/src/tests/non262/global/eval-01.js rename : js/src/tests/ecma_5/Global/eval-02.js => js/src/tests/non262/global/eval-02.js rename : js/src/tests/ecma_5/Global/eval-in-strict-eval-in-normal-function.js => js/src/tests/non262/global/eval-in-strict-eval-in-normal-function.js rename : js/src/tests/ecma_5/Global/eval-inside-with-is-direct.js => js/src/tests/non262/global/eval-inside-with-is-direct.js rename : js/src/tests/ecma_5/Global/eval-native-callback-is-indirect.js => js/src/tests/non262/global/eval-native-callback-is-indirect.js rename : js/src/tests/ecma_5/Global/parenthesized-eval-is-direct.js => js/src/tests/non262/global/parenthesized-eval-is-direct.js rename : js/src/tests/ecma_5/Global/parseFloat-01.js => js/src/tests/non262/global/parseFloat-01.js rename : js/src/tests/ecma_5/Global/parseInt-01.js => js/src/tests/non262/global/parseInt-01.js rename : js/src/tests/ecma_5/Global/parseInt-default-to-decimal.js => js/src/tests/non262/global/parseInt-default-to-decimal.js rename : js/src/tests/js1_7/iterable/regress-340526-01.js => js/src/tests/non262/iterable/regress-340526-01.js rename : js/src/tests/js1_7/iterable/regress-341815.js => js/src/tests/non262/iterable/regress-341815.js rename : js/src/tests/js1_7/iterable/regress-341821.js => js/src/tests/non262/iterable/regress-341821.js rename : js/src/tests/js1_7/iterable/regress-355075-01.js => js/src/tests/non262/iterable/regress-355075-01.js rename : js/src/tests/js1_7/iterable/regress-415922.js => js/src/tests/non262/iterable/regress-415922.js rename : js/src/tests/js1_8_1/jit/math-jit-tests.js => js/src/tests/non262/jit/math-jit-tests.js rename : js/src/tests/js1_8_1/jit/regress-451673.js => js/src/tests/non262/jit/regress-451673.js rename : js/src/tests/js1_8_1/jit/regress-451974-01.js => js/src/tests/non262/jit/regress-451974-01.js rename : js/src/tests/js1_8_1/jit/regress-451974-02.js => js/src/tests/non262/jit/regress-451974-02.js rename : js/src/tests/js1_8_1/jit/regress-452498-01.js => js/src/tests/non262/jit/regress-452498-01.js rename : js/src/tests/js1_8_1/jit/regress-458838.js => js/src/tests/non262/jit/regress-458838.js rename : js/src/tests/js1_8_1/jit/regress-469927.js => js/src/tests/non262/jit/regress-469927.js rename : js/src/tests/js1_8_1/jit/regress-470739.js => js/src/tests/non262/jit/regress-470739.js rename : js/src/tests/js1_8_1/jit/regress-489682.js => js/src/tests/non262/jit/regress-489682.js rename : js/src/tests/js1_5/LexicalConventions/lexical-001.js => js/src/tests/non262/lexical-conventions/lexical-001.js rename : js/src/tests/js1_5/LexicalConventions/regress-177314.js => js/src/tests/non262/lexical-conventions/regress-177314.js rename : js/src/tests/js1_5/LexicalConventions/regress-469940.js => js/src/tests/non262/lexical-conventions/regress-469940.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-arguments.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-arguments.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-eval.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-eval.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-generators.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-generators.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-if.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-label.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-label.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-notapplicable.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-notapplicable.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-parameter.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-property.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-property.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-same-name.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-same-name.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-with.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-with.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b.js => js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-deprecated-redecl.js => js/src/tests/non262/lexical-environment/block-scoped-functions-deprecated-redecl.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-hoisted-tdz.js => js/src/tests/non262/lexical-environment/block-scoped-functions-hoisted-tdz.js rename : js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-strict.js => js/src/tests/non262/lexical-environment/block-scoped-functions-strict.js rename : js/src/tests/ecma_6/LexicalEnvironment/bug-1216623.js => js/src/tests/non262/lexical-environment/bug-1216623.js rename : js/src/tests/ecma_6/LexicalEnvironment/catch-body.js => js/src/tests/non262/lexical-environment/catch-body.js rename : js/src/tests/ecma_6/LexicalEnvironment/const-declaration-in-for-loop.js => js/src/tests/non262/lexical-environment/const-declaration-in-for-loop.js rename : js/src/tests/ecma_6/LexicalEnvironment/eval-has-lexical-environment.js => js/src/tests/non262/lexical-environment/eval-has-lexical-environment.js rename : js/src/tests/ecma_6/LexicalEnvironment/eval-nondefinable-function.js => js/src/tests/non262/lexical-environment/eval-nondefinable-function.js rename : js/src/tests/ecma_6/LexicalEnvironment/for-loop-with-bindings-added-at-runtime.js => js/src/tests/non262/lexical-environment/for-loop-with-bindings-added-at-runtime.js rename : js/src/tests/ecma_6/LexicalEnvironment/for-loop.js => js/src/tests/non262/lexical-environment/for-loop.js rename : js/src/tests/ecma_6/LexicalEnvironment/implicit-this-in-with.js => js/src/tests/non262/lexical-environment/implicit-this-in-with.js rename : js/src/tests/ecma_6/LexicalEnvironment/nondefinable-function-same-script.js => js/src/tests/non262/lexical-environment/nondefinable-function-same-script.js rename : js/src/tests/ecma_6/LexicalEnvironment/redeclaring-global-properties.js => js/src/tests/non262/lexical-environment/redeclaring-global-properties.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-basics.js => js/src/tests/non262/lexical-environment/unscopables-basics.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-closures.js => js/src/tests/non262/lexical-environment/unscopables-closures.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-const.js => js/src/tests/non262/lexical-environment/unscopables-const.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-delete.js => js/src/tests/non262/lexical-environment/unscopables-delete.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-getters.js => js/src/tests/non262/lexical-environment/unscopables-getters.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js => js/src/tests/non262/lexical-environment/unscopables-global.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-ignored.js => js/src/tests/non262/lexical-environment/unscopables-ignored.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-miss.js => js/src/tests/non262/lexical-environment/unscopables-miss.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-mutation-frozen.js => js/src/tests/non262/lexical-environment/unscopables-mutation-frozen.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-mutation.js => js/src/tests/non262/lexical-environment/unscopables-mutation.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-proto.js => js/src/tests/non262/lexical-environment/unscopables-proto.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-proxy.js => js/src/tests/non262/lexical-environment/unscopables-proxy.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-strict.js => js/src/tests/non262/lexical-environment/unscopables-strict.js rename : js/src/tests/ecma_6/LexicalEnvironment/unscopables-tdz.js => js/src/tests/non262/lexical-environment/unscopables-tdz.js rename : js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval-destructuring.js => js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval-destructuring.js rename : js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval-for-of.js => js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval-for-of.js rename : js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval.js => js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval.js rename : js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b.js => js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b.js rename : js/src/tests/ecma_6/LexicalEnvironment/with-global-ignores-global-let-variables.js => js/src/tests/non262/lexical-environment/with-global-ignores-global-let-variables.js rename : js/src/tests/js1_7/lexical/regress-336376-01.js => js/src/tests/non262/lexical/regress-336376-01.js rename : js/src/tests/js1_7/lexical/regress-346642-04.js => js/src/tests/non262/lexical/regress-346642-04.js rename : js/src/tests/js1_7/lexical/regress-351515.js => js/src/tests/non262/lexical/regress-351515.js rename : js/src/tests/ecma_5/misc/bug1126318.js => js/src/tests/non262/misc/bug1126318.js rename : js/src/tests/ecma_5/misc/builtin-methods-reject-null-undefined-this.js => js/src/tests/non262/misc/builtin-methods-reject-null-undefined-this.js rename : js/src/tests/ecma_5/misc/enumerate-undefined.js => js/src/tests/non262/misc/enumerate-undefined.js rename : js/src/tests/ecma_5/misc/error-undefined-message.js => js/src/tests/non262/misc/error-undefined-message.js rename : js/src/tests/ecma_5/misc/explicit-undefined-optional-argument.js => js/src/tests/non262/misc/explicit-undefined-optional-argument.js rename : js/src/tests/ecma_5/misc/function-definition-eval.js => js/src/tests/non262/misc/function-definition-eval.js rename : js/src/tests/ecma_5/misc/function-definition-evaluate.js => js/src/tests/non262/misc/function-definition-evaluate.js rename : js/src/tests/ecma_5/misc/future-reserved-words.js => js/src/tests/non262/misc/future-reserved-words.js rename : js/src/tests/ecma_5/misc/getter-setter-outerize-this.js => js/src/tests/non262/misc/getter-setter-outerize-this.js rename : js/src/tests/ecma_5/misc/global-numeric-properties.js => js/src/tests/non262/misc/global-numeric-properties.js rename : js/src/tests/ecma_5/misc/line-paragraph-separator-parse-as-lineterminator.js => js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js rename : js/src/tests/ecma_5/misc/new-with-non-constructor.js => js/src/tests/non262/misc/new-with-non-constructor.js rename : js/src/tests/ecma_5/misc/redeclare-var-non-writable-property.js => js/src/tests/non262/misc/redeclare-var-non-writable-property.js rename : js/src/tests/ecma_5/misc/regexp-functions-with-undefined.js => js/src/tests/non262/misc/regexp-functions-with-undefined.js rename : js/src/tests/ecma_5/misc/regress-bug632003.js => js/src/tests/non262/misc/regress-bug632003.js rename : js/src/tests/ecma_5/misc/syntax-error-end-of-for-head-part.js => js/src/tests/non262/misc/syntax-error-end-of-for-head-part.js rename : js/src/tests/ecma_5/misc/unicode-escaped-keyword.js => js/src/tests/non262/misc/unicode-escaped-keyword.js rename : js/src/tests/ecma_5/misc/unicode-identifier-1d17.js => js/src/tests/non262/misc/unicode-identifier-1d17.js rename : js/src/tests/ecma_5/misc/unicode-identifier-82f1.js => js/src/tests/non262/misc/unicode-identifier-82f1.js rename : js/src/tests/ecma_5/misc/unnamed-function.js => js/src/tests/non262/misc/unnamed-function.js rename : js/src/tests/ecma_5/misc/unwrapped-no-such-method.js => js/src/tests/non262/misc/unwrapped-no-such-method.js rename : js/src/tests/ecma_6/Module/await-restricted-nested.js => js/src/tests/non262/module/await-restricted-nested.js rename : js/src/tests/ecma_5/Object/15.2.3.12.js => js/src/tests/non262/object/15.2.3.12.js rename : js/src/tests/ecma_5/Object/15.2.3.14-01.js => js/src/tests/non262/object/15.2.3.14-01.js rename : js/src/tests/ecma_5/Object/15.2.3.3-01.js => js/src/tests/non262/object/15.2.3.3-01.js rename : js/src/tests/ecma_5/Object/15.2.3.4-01.js => js/src/tests/non262/object/15.2.3.4-01.js rename : js/src/tests/ecma_5/Object/15.2.3.4-02.js => js/src/tests/non262/object/15.2.3.4-02.js rename : js/src/tests/ecma_5/Object/15.2.3.4-03.js => js/src/tests/non262/object/15.2.3.4-03.js rename : js/src/tests/ecma_5/Object/15.2.3.4-04.js => js/src/tests/non262/object/15.2.3.4-04.js rename : js/src/tests/ecma_5/Object/15.2.3.5-01.js => js/src/tests/non262/object/15.2.3.5-01.js rename : js/src/tests/ecma_5/Object/15.2.3.6-define-over-method.js => js/src/tests/non262/object/15.2.3.6-define-over-method.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-01-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-01-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-02-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-02-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-03-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-03-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-04-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-04-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-05-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-05-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-06-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-06-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-07-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-07-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-08-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-08-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-09-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-09-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-10-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-10-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-11-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-11-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-12-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-12-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-13-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-13-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-14-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-14-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-15-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-15-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-16-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-16-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-17-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-17-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-18-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-18-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-19-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-19-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-20-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-20-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-21-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-21-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-22-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-22-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-23-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-23-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-24-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-24-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-25-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-25-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-26-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-26-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-27-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-27-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-28-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-28-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-29-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-29-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-30-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-30-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-31-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-31-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-32-of-32.js => js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-32-of-32.js rename : js/src/tests/ecma_5/Object/15.2.3.6-function-length.js => js/src/tests/non262/object/15.2.3.6-function-length.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-1-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-1-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-2-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-2-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-3-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-3-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-4-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-4-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-5-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-5-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-6-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-6-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-7-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-7-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-8-of-8.js => js/src/tests/non262/object/15.2.3.6-middle-redefinition-8-of-8.js rename : js/src/tests/ecma_5/Object/15.2.3.6-miscellaneous.js => js/src/tests/non262/object/15.2.3.6-miscellaneous.js rename : js/src/tests/ecma_5/Object/15.2.3.6-new-definition.js => js/src/tests/non262/object/15.2.3.6-new-definition.js rename : js/src/tests/ecma_5/Object/15.2.3.6-redefinition-1-of-4.js => js/src/tests/non262/object/15.2.3.6-redefinition-1-of-4.js rename : js/src/tests/ecma_5/Object/15.2.3.6-redefinition-2-of-4.js => js/src/tests/non262/object/15.2.3.6-redefinition-2-of-4.js rename : js/src/tests/ecma_5/Object/15.2.3.6-redefinition-3-of-4.js => js/src/tests/non262/object/15.2.3.6-redefinition-3-of-4.js rename : js/src/tests/ecma_5/Object/15.2.3.6-redefinition-4-of-4.js => js/src/tests/non262/object/15.2.3.6-redefinition-4-of-4.js rename : js/src/tests/ecma_5/Object/15.2.3.7-01.js => js/src/tests/non262/object/15.2.3.7-01.js rename : js/src/tests/ecma_5/Object/15.2.3.9.js => js/src/tests/non262/object/15.2.3.9.js rename : js/src/tests/ecma_6/Object/accessor-arguments-rest.js => js/src/tests/non262/object/accessor-arguments-rest.js rename : js/src/tests/ecma_6/Object/accessor-name.js => js/src/tests/non262/object/accessor-name.js rename : js/src/tests/ecma_6/Object/accessor-non-constructor.js => js/src/tests/non262/object/accessor-non-constructor.js rename : js/src/tests/ecma_5/Object/add-property-non-extensible.js => js/src/tests/non262/object/add-property-non-extensible.js rename : js/src/tests/ecma_6/Object/assign.js => js/src/tests/non262/object/assign.js rename : js/src/tests/ecma_3/Object/browser.js => js/src/tests/non262/object/browser.js rename : js/src/tests/ecma_6/Object/bug-1150906.js => js/src/tests/non262/object/bug-1150906.js rename : js/src/tests/ecma_6/Object/bug-1206700.js => js/src/tests/non262/object/bug-1206700.js rename : js/src/tests/ecma_5/Object/clear-dictionary-accessor-getset.js => js/src/tests/non262/object/clear-dictionary-accessor-getset.js rename : js/src/tests/ecma_7/Object/defineGetter-defineSetter.js => js/src/tests/non262/object/defineGetter-defineSetter.js rename : js/src/tests/ecma_5/Object/defineProperties-callable-accessor.js => js/src/tests/non262/object/defineProperties-callable-accessor.js rename : js/src/tests/ecma_6/Object/defineProperties-order.js => js/src/tests/non262/object/defineProperties-order.js rename : js/src/tests/ecma_6/Object/defineProperty-proxy.js => js/src/tests/non262/object/defineProperty-proxy.js rename : js/src/tests/ecma_5/Object/defineProperty-setup.js => js/src/tests/non262/object/defineProperty-setup.js rename : js/src/tests/ecma_6/Object/destructuring-shorthand-defaults.js => js/src/tests/non262/object/destructuring-shorthand-defaults.js rename : js/src/tests/ecma_6/Object/duplProps.js => js/src/tests/non262/object/duplProps.js rename : js/src/tests/ecma_7/Object/entries.js => js/src/tests/non262/object/entries.js rename : js/src/tests/ecma_5/Object/extensibility-01.js => js/src/tests/non262/object/extensibility-01.js rename : js/src/tests/ecma_5/Object/extensibility-02.js => js/src/tests/non262/object/extensibility-02.js rename : js/src/tests/ecma_5/Object/freeze-global-eval-const.js => js/src/tests/non262/object/freeze-global-eval-const.js rename : js/src/tests/ecma_6/Object/freeze-proxy.js => js/src/tests/non262/object/freeze-proxy.js rename : js/src/tests/ecma_6/Object/freeze.js => js/src/tests/non262/object/freeze.js rename : js/src/tests/ecma_5/Object/gOPD-vs-prototype-accessor.js => js/src/tests/non262/object/gOPD-vs-prototype-accessor.js rename : js/src/tests/ecma_6/Object/getOwnPropertyDescriptor.js => js/src/tests/non262/object/getOwnPropertyDescriptor.js rename : js/src/tests/ecma_6/Object/getOwnPropertySymbols-proxy.js => js/src/tests/non262/object/getOwnPropertySymbols-proxy.js rename : js/src/tests/ecma_6/Object/getOwnPropertySymbols.js => js/src/tests/non262/object/getOwnPropertySymbols.js rename : js/src/tests/ecma_5/Object/getPrototypeOf-array.js => js/src/tests/non262/object/getPrototypeOf-array.js rename : js/src/tests/ecma_6/Object/getPrototypeOf.js => js/src/tests/non262/object/getPrototypeOf.js rename : js/src/tests/ecma_6/Object/getter-name.js => js/src/tests/non262/object/getter-name.js rename : js/src/tests/ecma_6/Object/isExtensible.js => js/src/tests/non262/object/isExtensible.js rename : js/src/tests/ecma_6/Object/isFrozen.js => js/src/tests/non262/object/isFrozen.js rename : js/src/tests/ecma_5/Object/isPrototypeOf.js => js/src/tests/non262/object/isPrototypeOf.js rename : js/src/tests/ecma_6/Object/isSealed.js => js/src/tests/non262/object/isSealed.js rename : js/src/tests/ecma_6/Object/keys.js => js/src/tests/non262/object/keys.js rename : js/src/tests/ecma_6/Object/method-non-constructor.js => js/src/tests/non262/object/method-non-constructor.js rename : js/src/tests/ecma_5/Object/mutation-prevention-methods.js => js/src/tests/non262/object/mutation-prevention-methods.js rename : js/src/tests/ecma_5/Object/object-create-with-primitive-second-arg.js => js/src/tests/non262/object/object-create-with-primitive-second-arg.js rename : js/src/tests/ecma_5/Object/object-toString-01.js => js/src/tests/non262/object/object-toString-01.js rename : js/src/tests/ecma_5/Object/preventExtensions-idempotent.js => js/src/tests/non262/object/preventExtensions-idempotent.js rename : js/src/tests/ecma_6/Object/preventExtensions-proxy.js => js/src/tests/non262/object/preventExtensions-proxy.js rename : js/src/tests/ecma_6/Object/preventExtensions.js => js/src/tests/non262/object/preventExtensions.js rename : js/src/tests/ecma_6/Object/property-descriptor-order.js => js/src/tests/non262/object/property-descriptor-order.js rename : js/src/tests/ecma_6/Object/propertyIsEnumerable-proxy.js => js/src/tests/non262/object/propertyIsEnumerable-proxy.js rename : js/src/tests/ecma_5/Object/propertyIsEnumerable.js => js/src/tests/non262/object/propertyIsEnumerable.js rename : js/src/tests/ecma_5/Object/proto-property-change-writability-set.js => js/src/tests/non262/object/proto-property-change-writability-set.js rename : js/src/tests/js1_5/Object/regress-137000.js => js/src/tests/non262/object/regress-137000.js rename : js/src/tests/js1_5/Object/regress-192105.js => js/src/tests/non262/object/regress-192105.js rename : js/src/tests/js1_5/Object/regress-308806-01.js => js/src/tests/non262/object/regress-308806-01.js rename : js/src/tests/js1_5/Object/regress-338709.js => js/src/tests/non262/object/regress-338709.js rename : js/src/tests/ecma_3/Object/regress-361274.js => js/src/tests/non262/object/regress-361274.js rename : js/src/tests/js1_5/Object/regress-382503.js => js/src/tests/non262/object/regress-382503.js rename : js/src/tests/js1_5/Object/regress-382532.js => js/src/tests/non262/object/regress-382532.js rename : js/src/tests/ecma_3/Object/regress-385393-07.js => js/src/tests/non262/object/regress-385393-07.js rename : js/src/tests/ecma_3_1/Object/regress-444787.js => js/src/tests/non262/object/regress-444787.js rename : js/src/tests/ecma_3/Object/regress-459405.js => js/src/tests/non262/object/regress-459405.js rename : js/src/tests/js1_5/Object/regress-465476.js => js/src/tests/non262/object/regress-465476.js rename : js/src/tests/ecma_3/Object/regress-72773.js => js/src/tests/non262/object/regress-72773.js rename : js/src/tests/ecma_3/Object/regress-79129-001.js => js/src/tests/non262/object/regress-79129-001.js rename : js/src/tests/js1_5/Object/regress-90596-003.js => js/src/tests/non262/object/regress-90596-003.js rename : js/src/tests/ecma_6/Object/seal-proxy.js => js/src/tests/non262/object/seal-proxy.js rename : js/src/tests/ecma_6/Object/seal.js => js/src/tests/non262/object/seal.js rename : js/src/tests/ecma_6/Object/setPrototypeOf-cross-realm-cycle.js => js/src/tests/non262/object/setPrototypeOf-cross-realm-cycle.js rename : js/src/tests/ecma_6/Object/setPrototypeOf-cycle.js => js/src/tests/non262/object/setPrototypeOf-cycle.js rename : js/src/tests/ecma_6/Object/setPrototypeOf-same-value.js => js/src/tests/non262/object/setPrototypeOf-same-value.js rename : js/src/tests/ecma_3/Object/shell.js => js/src/tests/non262/object/shell.js rename : js/src/tests/ecma_6/Object/toLocaleString.js => js/src/tests/non262/object/toLocaleString-01.js rename : js/src/tests/ecma_5/Object/toLocaleString.js => js/src/tests/non262/object/toLocaleString.js rename : js/src/tests/ecma_6/Object/toPrimitive-callers.js => js/src/tests/non262/object/toPrimitive-callers.js rename : js/src/tests/ecma_6/Object/toPrimitive.js => js/src/tests/non262/object/toPrimitive.js rename : js/src/tests/ecma_5/Object/vacuous-accessor-unqualified-name.js => js/src/tests/non262/object/vacuous-accessor-unqualified-name.js rename : js/src/tests/ecma_7/Object/values-entries-indexed.js => js/src/tests/non262/object/values-entries-indexed.js rename : js/src/tests/ecma_7/Object/values-entries-lazy-props.js => js/src/tests/non262/object/values-entries-lazy-props.js rename : js/src/tests/ecma_7/Object/values-entries-typedarray.js => js/src/tests/non262/object/values-entries-typedarray.js rename : js/src/tests/ecma_7/Object/values.js => js/src/tests/non262/object/values.js rename : js/src/tests/ecma_3/Operators/11.13.1-001.js => js/src/tests/non262/operators/11.13.1-001.js rename : js/src/tests/ecma_3/Operators/11.13.1-002.js => js/src/tests/non262/operators/11.13.1-002.js rename : js/src/tests/ecma_3/Operators/11.4.1-001.js => js/src/tests/non262/operators/11.4.1-001.js rename : js/src/tests/ecma_3/Operators/11.4.1-002.js => js/src/tests/non262/operators/11.4.1-002.js rename : js/src/tests/ecma_3/Operators/order-01.js => js/src/tests/non262/operators/order-01.js rename : js/src/tests/ecma_2018/Pipeline/eval.js => js/src/tests/non262/pipeline/eval.js rename : js/src/tests/ecma_2018/Pipeline/evaluation-order.js => js/src/tests/non262/pipeline/evaluation-order.js rename : js/src/tests/ecma_2018/Pipeline/parse-error.js => js/src/tests/non262/pipeline/parse-error.js rename : js/src/tests/ecma_2018/Pipeline/precedence.js => js/src/tests/non262/pipeline/precedence.js rename : js/src/tests/ecma_2018/Pipeline/receiver.js => js/src/tests/non262/pipeline/receiver.js rename : js/src/tests/ecma_2018/Pipeline/reflect-parse.js => js/src/tests/non262/pipeline/reflect-parse.js rename : js/src/tests/ecma_2018/Pipeline/shell.js => js/src/tests/non262/pipeline/shell.js rename : js/src/tests/ecma_2018/Pipeline/type-error.js => js/src/tests/non262/pipeline/type-error.js rename : js/src/tests/js1_8_5/reflect-parse/Match.js => js/src/tests/non262/reflect-parse/Match.js rename : js/src/tests/js1_8_5/reflect-parse/PatternAsserts.js => js/src/tests/non262/reflect-parse/PatternAsserts.js rename : js/src/tests/js1_8_5/reflect-parse/PatternBuilders.js => js/src/tests/non262/reflect-parse/PatternBuilders.js rename : js/src/tests/js1_8_5/reflect-parse/alternateBuilder.js => js/src/tests/non262/reflect-parse/alternateBuilder.js rename : js/src/tests/js1_8_5/reflect-parse/async.js => js/src/tests/non262/reflect-parse/async.js rename : js/src/tests/js1_8_5/reflect-parse/basicBuilder.js => js/src/tests/non262/reflect-parse/basicBuilder.js rename : js/src/tests/js1_8_5/reflect-parse/builderExceptions.js => js/src/tests/non262/reflect-parse/builderExceptions.js rename : js/src/tests/js1_8_5/reflect-parse/classes.js => js/src/tests/non262/reflect-parse/classes.js rename : js/src/tests/js1_8_5/reflect-parse/computedPropNames.js => js/src/tests/non262/reflect-parse/computedPropNames.js rename : js/src/tests/js1_8_5/reflect-parse/declarations.js => js/src/tests/non262/reflect-parse/declarations.js rename : js/src/tests/js1_8_5/reflect-parse/destructuring-array-holes-reflect-as-null.js => js/src/tests/non262/reflect-parse/destructuring-array-holes-reflect-as-null.js rename : js/src/tests/js1_8_5/reflect-parse/destructuring-assignment.js => js/src/tests/non262/reflect-parse/destructuring-assignment.js rename : js/src/tests/js1_8_5/reflect-parse/destructuring-function-parameters.js => js/src/tests/non262/reflect-parse/destructuring-function-parameters.js rename : js/src/tests/js1_8_5/reflect-parse/destructuring-variable-declarations.js => js/src/tests/non262/reflect-parse/destructuring-variable-declarations.js rename : js/src/tests/js1_8_5/reflect-parse/destructuring__proto__.js => js/src/tests/non262/reflect-parse/destructuring__proto__.js rename : js/src/tests/js1_8_5/reflect-parse/expression.js => js/src/tests/non262/reflect-parse/expression.js rename : js/src/tests/js1_8_5/reflect-parse/expressionClosures.js => js/src/tests/non262/reflect-parse/expressionClosures.js rename : js/src/tests/js1_8_5/reflect-parse/for-loop-destructuring.js => js/src/tests/non262/reflect-parse/for-loop-destructuring.js rename : js/src/tests/js1_8_5/reflect-parse/generators.js => js/src/tests/non262/reflect-parse/generators.js rename : js/src/tests/js1_8_5/reflect-parse/lexicals.js => js/src/tests/non262/reflect-parse/lexicals.js rename : js/src/tests/js1_8_5/reflect-parse/location.js => js/src/tests/non262/reflect-parse/location.js rename : js/src/tests/js1_8_5/reflect-parse/methodDefn.js => js/src/tests/non262/reflect-parse/methodDefn.js rename : js/src/tests/js1_8_5/reflect-parse/newTarget.js => js/src/tests/non262/reflect-parse/newTarget.js rename : js/src/tests/js1_8_5/reflect-parse/object-rest.js => js/src/tests/non262/reflect-parse/object-rest.js rename : js/src/tests/js1_8_5/reflect-parse/object-spread.js => js/src/tests/non262/reflect-parse/object-spread.js rename : js/src/tests/js1_8_5/reflect-parse/proxyArgs.js => js/src/tests/non262/reflect-parse/proxyArgs.js rename : js/src/tests/js1_8_5/reflect-parse/shell.js => js/src/tests/non262/reflect-parse/shell.js rename : js/src/tests/js1_8_5/reflect-parse/stackOverflow.js => js/src/tests/non262/reflect-parse/stackOverflow.js rename : js/src/tests/js1_8_5/reflect-parse/statements.js => js/src/tests/non262/reflect-parse/statements.js rename : js/src/tests/js1_8_5/reflect-parse/templateStrings.js => js/src/tests/non262/reflect-parse/templateStrings.js rename : js/src/tests/js1_5/Regress/regress-102725.js => js/src/tests/non262/regress/regress-102725.js rename : js/src/tests/js1_5/Regress/regress-10278.js => js/src/tests/non262/regress/regress-10278.js rename : js/src/tests/js1_5/Regress/regress-104077.js => js/src/tests/non262/regress/regress-104077.js rename : js/src/tests/js1_5/Regress/regress-110286.js => js/src/tests/non262/regress/regress-110286.js rename : js/src/tests/js1_5/Regress/regress-111557.js => js/src/tests/non262/regress/regress-111557.js rename : js/src/tests/js1_5/Regress/regress-114491.js => js/src/tests/non262/regress/regress-114491.js rename : js/src/tests/js1_5/Regress/regress-114493.js => js/src/tests/non262/regress/regress-114493.js rename : js/src/tests/js1_5/Regress/regress-115436.js => js/src/tests/non262/regress/regress-115436.js rename : js/src/tests/js1_5/Regress/regress-116228.js => js/src/tests/non262/regress/regress-116228.js rename : js/src/tests/js1_5/Regress/regress-118849.js => js/src/tests/non262/regress/regress-118849.js rename : js/src/tests/js1_5/Regress/regress-127557.js => js/src/tests/non262/regress/regress-127557.js rename : js/src/tests/js1_5/Regress/regress-131510-001.js => js/src/tests/non262/regress/regress-131510-001.js rename : js/src/tests/js1_8_5/regress/regress-1383630.js => js/src/tests/non262/regress/regress-1383630.js rename : js/src/tests/js1_5/Regress/regress-139316.js => js/src/tests/non262/regress/regress-139316.js rename : js/src/tests/js1_5/Regress/regress-140852.js => js/src/tests/non262/regress/regress-140852.js rename : js/src/tests/js1_5/Regress/regress-140974.js => js/src/tests/non262/regress/regress-140974.js rename : js/src/tests/js1_5/Regress/regress-146596.js => js/src/tests/non262/regress/regress-146596.js rename : js/src/tests/js1_5/Regress/regress-152646.js => js/src/tests/non262/regress/regress-152646.js rename : js/src/tests/js1_5/Regress/regress-155081-2.js => js/src/tests/non262/regress/regress-155081-2.js rename : js/src/tests/js1_5/Regress/regress-155081.js => js/src/tests/non262/regress/regress-155081.js rename : js/src/tests/js1_5/Regress/regress-156354.js => js/src/tests/non262/regress/regress-156354.js rename : js/src/tests/js1_5/Regress/regress-159334.js => js/src/tests/non262/regress/regress-159334.js rename : js/src/tests/js1_5/Regress/regress-162392.js => js/src/tests/non262/regress/regress-162392.js rename : js/src/tests/js1_5/Regress/regress-165201.js => js/src/tests/non262/regress/regress-165201.js rename : js/src/tests/js1_5/Regress/regress-167328.js => js/src/tests/non262/regress/regress-167328.js rename : js/src/tests/js1_5/Regress/regress-167658.js => js/src/tests/non262/regress/regress-167658.js rename : js/src/tests/js1_5/Regress/regress-168347.js => js/src/tests/non262/regress/regress-168347.js rename : js/src/tests/js1_5/Regress/regress-170193.js => js/src/tests/non262/regress/regress-170193.js rename : js/src/tests/js1_5/Regress/regress-172699.js => js/src/tests/non262/regress/regress-172699.js rename : js/src/tests/js1_5/Regress/regress-174709.js => js/src/tests/non262/regress/regress-174709.js rename : js/src/tests/js1_5/Regress/regress-176125.js => js/src/tests/non262/regress/regress-176125.js rename : js/src/tests/js1_5/Regress/regress-179524.js => js/src/tests/non262/regress/regress-179524.js rename : js/src/tests/js1_5/Regress/regress-185165.js => js/src/tests/non262/regress/regress-185165.js rename : js/src/tests/js1_5/Regress/regress-191633.js => js/src/tests/non262/regress/regress-191633.js rename : js/src/tests/js1_5/Regress/regress-191668.js => js/src/tests/non262/regress/regress-191668.js rename : js/src/tests/js1_5/Regress/regress-192414.js => js/src/tests/non262/regress/regress-192414.js rename : js/src/tests/js1_5/Regress/regress-193418.js => js/src/tests/non262/regress/regress-193418.js rename : js/src/tests/js1_5/Regress/regress-203278-1.js => js/src/tests/non262/regress/regress-203278-1.js rename : js/src/tests/js1_5/Regress/regress-203402.js => js/src/tests/non262/regress/regress-203402.js rename : js/src/tests/js1_5/Regress/regress-203841.js => js/src/tests/non262/regress/regress-203841.js rename : js/src/tests/js1_5/Regress/regress-204210.js => js/src/tests/non262/regress/regress-204210.js rename : js/src/tests/js1_5/Regress/regress-210682.js => js/src/tests/non262/regress/regress-210682.js rename : js/src/tests/js1_5/Regress/regress-211590.js => js/src/tests/non262/regress/regress-211590.js rename : js/src/tests/js1_5/Regress/regress-214761.js => js/src/tests/non262/regress/regress-214761.js rename : js/src/tests/js1_5/Regress/regress-216320.js => js/src/tests/non262/regress/regress-216320.js rename : js/src/tests/js1_5/Regress/regress-224956.js => js/src/tests/non262/regress/regress-224956.js rename : js/src/tests/js1_5/Regress/regress-229006.js => js/src/tests/non262/regress/regress-229006.js rename : js/src/tests/js1_5/Regress/regress-230216-1.js => js/src/tests/non262/regress/regress-230216-1.js rename : js/src/tests/js1_5/Regress/regress-230216-2.js => js/src/tests/non262/regress/regress-230216-2.js rename : js/src/tests/js1_5/Regress/regress-230216-3.js => js/src/tests/non262/regress/regress-230216-3.js rename : js/src/tests/js1_5/Regress/regress-233483-2.js => js/src/tests/non262/regress/regress-233483-2.js rename : js/src/tests/js1_5/Regress/regress-233483.js => js/src/tests/non262/regress/regress-233483.js rename : js/src/tests/js1_5/Regress/regress-234389.js => js/src/tests/non262/regress/regress-234389.js rename : js/src/tests/js1_5/Regress/regress-238881.js => js/src/tests/non262/regress/regress-238881.js rename : js/src/tests/js1_5/Regress/regress-238945.js => js/src/tests/non262/regress/regress-238945.js rename : js/src/tests/js1_5/Regress/regress-243174.js => js/src/tests/non262/regress/regress-243174.js rename : js/src/tests/js1_5/Regress/regress-243389-n.js => js/src/tests/non262/regress/regress-243389-n.js rename : js/src/tests/js1_5/Regress/regress-243869.js => js/src/tests/non262/regress/regress-243869.js rename : js/src/tests/js1_5/Regress/regress-244470.js => js/src/tests/non262/regress/regress-244470.js rename : js/src/tests/js1_5/Regress/regress-244619.js => js/src/tests/non262/regress/regress-244619.js rename : js/src/tests/js1_5/Regress/regress-245113.js => js/src/tests/non262/regress/regress-245113.js rename : js/src/tests/js1_5/Regress/regress-245308.js => js/src/tests/non262/regress/regress-245308.js rename : js/src/tests/js1_5/Regress/regress-246911.js => js/src/tests/non262/regress/regress-246911.js rename : js/src/tests/js1_5/Regress/regress-246964.js => js/src/tests/non262/regress/regress-246964.js rename : js/src/tests/js1_5/Regress/regress-247179.js => js/src/tests/non262/regress/regress-247179.js rename : js/src/tests/js1_5/Regress/regress-248444.js => js/src/tests/non262/regress/regress-248444.js rename : js/src/tests/js1_5/Regress/regress-252892.js => js/src/tests/non262/regress/regress-252892.js rename : js/src/tests/js1_5/Regress/regress-253150.js => js/src/tests/non262/regress/regress-253150.js rename : js/src/tests/js1_5/Regress/regress-254296.js => js/src/tests/non262/regress/regress-254296.js rename : js/src/tests/js1_5/Regress/regress-254974.js => js/src/tests/non262/regress/regress-254974.js rename : js/src/tests/js1_5/Regress/regress-256501.js => js/src/tests/non262/regress/regress-256501.js rename : js/src/tests/js1_5/Regress/regress-256617.js => js/src/tests/non262/regress/regress-256617.js rename : js/src/tests/js1_5/Regress/regress-256798.js => js/src/tests/non262/regress/regress-256798.js rename : js/src/tests/js1_5/Regress/regress-259935.js => js/src/tests/non262/regress/regress-259935.js rename : js/src/tests/js1_5/Regress/regress-260541.js => js/src/tests/non262/regress/regress-260541.js rename : js/src/tests/js1_5/Regress/regress-261886.js => js/src/tests/non262/regress/regress-261886.js rename : js/src/tests/js1_5/Regress/regress-261887.js => js/src/tests/non262/regress/regress-261887.js rename : js/src/tests/js1_5/Regress/regress-271716-n.js => js/src/tests/non262/regress/regress-271716-n.js rename : js/src/tests/js1_5/Regress/regress-274035.js => js/src/tests/non262/regress/regress-274035.js rename : js/src/tests/js1_5/Regress/regress-274888.js => js/src/tests/non262/regress/regress-274888.js rename : js/src/tests/js1_5/Regress/regress-275378.js => js/src/tests/non262/regress/regress-275378.js rename : js/src/tests/js1_5/Regress/regress-276103.js => js/src/tests/non262/regress/regress-276103.js rename : js/src/tests/js1_5/Regress/regress-278873.js => js/src/tests/non262/regress/regress-278873.js rename : js/src/tests/js1_5/Regress/regress-280769-1.js => js/src/tests/non262/regress/regress-280769-1.js rename : js/src/tests/js1_5/Regress/regress-280769-2.js => js/src/tests/non262/regress/regress-280769-2.js rename : js/src/tests/js1_5/Regress/regress-280769-3.js => js/src/tests/non262/regress/regress-280769-3.js rename : js/src/tests/js1_5/Regress/regress-280769-4.js => js/src/tests/non262/regress/regress-280769-4.js rename : js/src/tests/js1_5/Regress/regress-280769-5.js => js/src/tests/non262/regress/regress-280769-5.js rename : js/src/tests/js1_5/Regress/regress-280769.js => js/src/tests/non262/regress/regress-280769.js rename : js/src/tests/js1_5/Regress/regress-281606.js => js/src/tests/non262/regress/regress-281606.js rename : js/src/tests/js1_5/Regress/regress-281930.js => js/src/tests/non262/regress/regress-281930.js rename : js/src/tests/js1_5/Regress/regress-283477.js => js/src/tests/non262/regress/regress-283477.js rename : js/src/tests/js1_5/Regress/regress-288688.js => js/src/tests/non262/regress/regress-288688.js rename : js/src/tests/js1_5/Regress/regress-289094.js => js/src/tests/non262/regress/regress-289094.js rename : js/src/tests/js1_5/Regress/regress-290575.js => js/src/tests/non262/regress/regress-290575.js rename : js/src/tests/js1_5/Regress/regress-290656.js => js/src/tests/non262/regress/regress-290656.js rename : js/src/tests/js1_5/Regress/regress-294191.js => js/src/tests/non262/regress/regress-294191.js rename : js/src/tests/js1_5/Regress/regress-294195-01.js => js/src/tests/non262/regress/regress-294195-01.js rename : js/src/tests/js1_5/Regress/regress-294195-02.js => js/src/tests/non262/regress/regress-294195-02.js rename : js/src/tests/js1_5/Regress/regress-294302.js => js/src/tests/non262/regress/regress-294302.js rename : js/src/tests/js1_5/Regress/regress-295052.js => js/src/tests/non262/regress/regress-295052.js rename : js/src/tests/js1_5/Regress/regress-295666.js => js/src/tests/non262/regress/regress-295666.js rename : js/src/tests/js1_5/Regress/regress-299209.js => js/src/tests/non262/regress/regress-299209.js rename : js/src/tests/js1_5/Regress/regress-299641.js => js/src/tests/non262/regress/regress-299641.js rename : js/src/tests/js1_5/Regress/regress-303213.js => js/src/tests/non262/regress/regress-303213.js rename : js/src/tests/js1_5/Regress/regress-306633.js => js/src/tests/non262/regress/regress-306633.js rename : js/src/tests/js1_5/Regress/regress-306727.js => js/src/tests/non262/regress/regress-306727.js rename : js/src/tests/js1_5/Regress/regress-306794.js => js/src/tests/non262/regress/regress-306794.js rename : js/src/tests/js1_5/Regress/regress-308085.js => js/src/tests/non262/regress/regress-308085.js rename : js/src/tests/js1_5/Regress/regress-308566.js => js/src/tests/non262/regress/regress-308566.js rename : js/src/tests/js1_5/Regress/regress-310295.js => js/src/tests/non262/regress/regress-310295.js rename : js/src/tests/js1_5/Regress/regress-310607.js => js/src/tests/non262/regress/regress-310607.js rename : js/src/tests/js1_5/Regress/regress-310993.js => js/src/tests/non262/regress/regress-310993.js rename : js/src/tests/js1_5/Regress/regress-311071.js => js/src/tests/non262/regress/regress-311071.js rename : js/src/tests/js1_6/Regress/regress-311157-01.js => js/src/tests/non262/regress/regress-311157-01.js rename : js/src/tests/js1_6/Regress/regress-311157-02.js => js/src/tests/non262/regress/regress-311157-02.js rename : js/src/tests/js1_5/Regress/regress-311629.js => js/src/tests/non262/regress/regress-311629.js rename : js/src/tests/js1_5/Regress/regress-312260.js => js/src/tests/non262/regress/regress-312260.js rename : js/src/tests/js1_5/Regress/regress-31255.js => js/src/tests/non262/regress/regress-31255.js rename : js/src/tests/js1_5/Regress/regress-312588.js => js/src/tests/non262/regress/regress-312588.js rename : js/src/tests/js1_5/Regress/regress-314401.js => js/src/tests/non262/regress/regress-314401.js rename : js/src/tests/js1_5/Regress/regress-315990.js => js/src/tests/non262/regress/regress-315990.js rename : js/src/tests/js1_5/Regress/regress-317476.js => js/src/tests/non262/regress/regress-317476.js rename : js/src/tests/js1_5/Regress/regress-317714-01.js => js/src/tests/non262/regress/regress-317714-01.js rename : js/src/tests/js1_5/Regress/regress-317714-02.js => js/src/tests/non262/regress/regress-317714-02.js rename : js/src/tests/js1_5/Regress/regress-319384.js => js/src/tests/non262/regress/regress-319384.js rename : js/src/tests/js1_5/Regress/regress-319391.js => js/src/tests/non262/regress/regress-319391.js rename : js/src/tests/js1_5/Regress/regress-320032.js => js/src/tests/non262/regress/regress-320032.js rename : js/src/tests/js1_6/Regress/regress-320172.js => js/src/tests/non262/regress/regress-320172.js rename : js/src/tests/js1_5/Regress/regress-321757.js => js/src/tests/non262/regress/regress-321757.js rename : js/src/tests/js1_5/Regress/regress-321874.js => js/src/tests/non262/regress/regress-321874.js rename : js/src/tests/js1_5/Regress/regress-321971.js => js/src/tests/non262/regress/regress-321971.js rename : js/src/tests/js1_5/Regress/regress-322430.js => js/src/tests/non262/regress/regress-322430.js rename : js/src/tests/js1_5/Regress/regress-323314-1.js => js/src/tests/non262/regress/regress-323314-1.js rename : js/src/tests/js1_5/Regress/regress-325925.js => js/src/tests/non262/regress/regress-325925.js rename : js/src/tests/js1_5/Regress/regress-326467.js => js/src/tests/non262/regress/regress-326467.js rename : js/src/tests/js1_5/Regress/regress-328012.js => js/src/tests/non262/regress/regress-328012.js rename : js/src/tests/js1_5/Regress/regress-328664.js => js/src/tests/non262/regress/regress-328664.js rename : js/src/tests/js1_5/Regress/regress-329383.js => js/src/tests/non262/regress/regress-329383.js rename : js/src/tests/js1_5/Regress/regress-329530.js => js/src/tests/non262/regress/regress-329530.js rename : js/src/tests/js1_5/Regress/regress-330352.js => js/src/tests/non262/regress/regress-330352.js rename : js/src/tests/js1_5/Regress/regress-330951.js => js/src/tests/non262/regress/regress-330951.js rename : js/src/tests/js1_5/Regress/regress-334807-01.js => js/src/tests/non262/regress/regress-334807-01.js rename : js/src/tests/js1_5/Regress/regress-334807-02.js => js/src/tests/non262/regress/regress-334807-02.js rename : js/src/tests/js1_5/Regress/regress-334807-03.js => js/src/tests/non262/regress/regress-334807-03.js rename : js/src/tests/js1_5/Regress/regress-334807-04.js => js/src/tests/non262/regress/regress-334807-04.js rename : js/src/tests/js1_5/Regress/regress-334807-05.js => js/src/tests/non262/regress/regress-334807-05.js rename : js/src/tests/js1_5/Regress/regress-334807-06.js => js/src/tests/non262/regress/regress-334807-06.js rename : js/src/tests/js1_5/Regress/regress-336100.js => js/src/tests/non262/regress/regress-336100.js rename : js/src/tests/js1_5/Regress/regress-338307.js => js/src/tests/non262/regress/regress-338307.js rename : js/src/tests/js1_5/Regress/regress-340369.js => js/src/tests/non262/regress/regress-340369.js rename : js/src/tests/js1_5/Regress/regress-341360.js => js/src/tests/non262/regress/regress-341360.js rename : js/src/tests/js1_5/Regress/regress-343713.js => js/src/tests/non262/regress/regress-343713.js rename : js/src/tests/js1_5/Regress/regress-343966.js => js/src/tests/non262/regress/regress-343966.js rename : js/src/tests/js1_5/Regress/regress-344711-n.js => js/src/tests/non262/regress/regress-344711-n.js rename : js/src/tests/js1_5/Regress/regress-344804.js => js/src/tests/non262/regress/regress-344804.js rename : js/src/tests/js1_5/Regress/regress-344959.js => js/src/tests/non262/regress/regress-344959.js rename : js/src/tests/js1_5/Regress/regress-346237.js => js/src/tests/non262/regress/regress-346237.js rename : js/src/tests/js1_5/Regress/regress-346801.js => js/src/tests/non262/regress/regress-346801.js rename : js/src/tests/js1_5/Regress/regress-349482-01.js => js/src/tests/non262/regress/regress-349482-01.js rename : js/src/tests/js1_5/Regress/regress-349482-02.js => js/src/tests/non262/regress/regress-349482-02.js rename : js/src/tests/js1_5/Regress/regress-349592.js => js/src/tests/non262/regress/regress-349592.js rename : js/src/tests/js1_5/Regress/regress-350253.js => js/src/tests/non262/regress/regress-350253.js rename : js/src/tests/js1_5/Regress/regress-350268.js => js/src/tests/non262/regress/regress-350268.js rename : js/src/tests/js1_5/Regress/regress-350312.js => js/src/tests/non262/regress/regress-350312.js rename : js/src/tests/js1_5/Regress/regress-350415.js => js/src/tests/non262/regress/regress-350415.js rename : js/src/tests/js1_5/Regress/regress-350529.js => js/src/tests/non262/regress/regress-350529.js rename : js/src/tests/js1_5/Regress/regress-351116.js => js/src/tests/non262/regress/regress-351116.js rename : js/src/tests/js1_5/Regress/regress-351515.js => js/src/tests/non262/regress/regress-351515.js rename : js/src/tests/js1_6/Regress/regress-351795.js => js/src/tests/non262/regress/regress-351795.js rename : js/src/tests/js1_5/Regress/regress-352208.js => js/src/tests/non262/regress/regress-352208.js rename : js/src/tests/js1_5/Regress/regress-352604.js => js/src/tests/non262/regress/regress-352604.js rename : js/src/tests/js1_7/regress/regress-352640-01.js => js/src/tests/non262/regress/regress-352640-01.js rename : js/src/tests/js1_7/regress/regress-352640-02.js => js/src/tests/non262/regress/regress-352640-02.js rename : js/src/tests/js1_7/regress/regress-352640-04.js => js/src/tests/non262/regress/regress-352640-04.js rename : js/src/tests/js1_6/Regress/regress-353078.js => js/src/tests/non262/regress/regress-353078.js rename : js/src/tests/js1_7/regress/regress-353079.js => js/src/tests/non262/regress/regress-353079.js rename : js/src/tests/js1_7/regress/regress-355023.js => js/src/tests/non262/regress/regress-355023.js rename : js/src/tests/js1_5/Regress/regress-355556.js => js/src/tests/non262/regress/regress-355556.js rename : js/src/tests/js1_8_5/regress/regress-355569.js => js/src/tests/non262/regress/regress-355569.js rename : js/src/tests/js1_5/Regress/regress-355829-01.js => js/src/tests/non262/regress/regress-355829-01.js rename : js/src/tests/js1_5/Regress/regress-355829-02.js => js/src/tests/non262/regress/regress-355829-02.js rename : js/src/tests/js1_5/Regress/regress-355829-03.js => js/src/tests/non262/regress/regress-355829-03.js rename : js/src/tests/js1_7/regress/regress-355832-01.js => js/src/tests/non262/regress/regress-355832-01.js rename : js/src/tests/js1_7/regress/regress-355832-02.js => js/src/tests/non262/regress/regress-355832-02.js rename : js/src/tests/js1_5/Regress/regress-356250.js => js/src/tests/non262/regress/regress-356250.js rename : js/src/tests/js1_5/Regress/regress-356693.js => js/src/tests/non262/regress/regress-356693.js rename : js/src/tests/js1_5/Regress/regress-360969-01.js => js/src/tests/non262/regress/regress-360969-01.js rename : js/src/tests/js1_5/Regress/regress-360969-02.js => js/src/tests/non262/regress/regress-360969-02.js rename : js/src/tests/js1_5/Regress/regress-360969-03.js => js/src/tests/non262/regress/regress-360969-03.js rename : js/src/tests/js1_5/Regress/regress-360969-04.js => js/src/tests/non262/regress/regress-360969-04.js rename : js/src/tests/js1_5/Regress/regress-360969-05.js => js/src/tests/non262/regress/regress-360969-05.js rename : js/src/tests/js1_5/Regress/regress-360969-06.js => js/src/tests/non262/regress/regress-360969-06.js rename : js/src/tests/js1_7/regress/regress-363040-01.js => js/src/tests/non262/regress/regress-363040-01.js rename : js/src/tests/js1_7/regress/regress-363040-02.js => js/src/tests/non262/regress/regress-363040-02.js rename : js/src/tests/js1_5/Regress/regress-3649-n.js => js/src/tests/non262/regress/regress-3649-n.js rename : js/src/tests/js1_5/Regress/regress-366122.js => js/src/tests/non262/regress/regress-366122.js rename : js/src/tests/js1_5/Regress/regress-366468.js => js/src/tests/non262/regress/regress-366468.js rename : js/src/tests/js1_5/Regress/regress-366601.js => js/src/tests/non262/regress/regress-366601.js rename : js/src/tests/js1_5/Regress/regress-367561-01.js => js/src/tests/non262/regress/regress-367561-01.js rename : js/src/tests/js1_5/Regress/regress-367561-03.js => js/src/tests/non262/regress/regress-367561-03.js rename : js/src/tests/js1_7/regress/regress-369666-01.js => js/src/tests/non262/regress/regress-369666-01.js rename : js/src/tests/js1_7/regress/regress-369666-02.js => js/src/tests/non262/regress/regress-369666-02.js rename : js/src/tests/js1_5/Regress/regress-372364.js => js/src/tests/non262/regress/regress-372364.js rename : js/src/tests/js1_7/regress/regress-373827-01.js => js/src/tests/non262/regress/regress-373827-01.js rename : js/src/tests/js1_7/regress/regress-373827-02.js => js/src/tests/non262/regress/regress-373827-02.js rename : js/src/tests/js1_8_5/regress/regress-373843.js => js/src/tests/non262/regress/regress-373843.js rename : js/src/tests/js1_5/Regress/regress-379245.js => js/src/tests/non262/regress/regress-379245.js rename : js/src/tests/js1_7/regress/regress-379442.js => js/src/tests/non262/regress/regress-379442.js rename : js/src/tests/js1_7/regress/regress-379483.js => js/src/tests/non262/regress/regress-379483.js rename : js/src/tests/js1_5/Regress/regress-383674.js => js/src/tests/non262/regress/regress-383674.js rename : js/src/tests/js1_5/Regress/regress-383682.js => js/src/tests/non262/regress/regress-383682.js rename : js/src/tests/js1_8_5/regress/regress-383902.js => js/src/tests/non262/regress/regress-383902.js rename : js/src/tests/js1_8/regress/regress-384758.js => js/src/tests/non262/regress/regress-384758.js rename : js/src/tests/ecma_3/Regress/regress-385393-04.js => js/src/tests/non262/regress/regress-385393-04.js rename : js/src/tests/js1_5/Regress/regress-387951-01.js => js/src/tests/non262/regress/regress-387951-01.js rename : js/src/tests/js1_5/Regress/regress-387951-02.js => js/src/tests/non262/regress/regress-387951-02.js rename : js/src/tests/js1_5/Regress/regress-387951-03.js => js/src/tests/non262/regress/regress-387951-03.js rename : js/src/tests/js1_5/Regress/regress-39309.js => js/src/tests/non262/regress/regress-39309.js rename : js/src/tests/js1_5/Regress/regress-396684.js => js/src/tests/non262/regress/regress-396684.js rename : js/src/tests/js1_5/Regress/regress-398085-01.js => js/src/tests/non262/regress/regress-398085-01.js rename : js/src/tests/js1_5/Regress/regress-398085-02.js => js/src/tests/non262/regress/regress-398085-02.js rename : js/src/tests/js1_5/Regress/regress-398609.js => js/src/tests/non262/regress/regress-398609.js rename : js/src/tests/js1_8/regress/regress-404734.js => js/src/tests/non262/regress/regress-404734.js rename : js/src/tests/js1_5/Regress/regress-404755.js => js/src/tests/non262/regress/regress-404755.js rename : js/src/tests/js1_5/Regress/regress-406769.js => js/src/tests/non262/regress/regress-406769.js rename : js/src/tests/js1_5/Regress/regress-407024.js => js/src/tests/non262/regress/regress-407024.js rename : js/src/tests/js1_7/regress/regress-407727-01.js => js/src/tests/non262/regress/regress-407727-01.js rename : js/src/tests/js1_7/regress/regress-407727-02.js => js/src/tests/non262/regress/regress-407727-02.js rename : js/src/tests/js1_7/regress/regress-410649.js => js/src/tests/non262/regress/regress-410649.js rename : js/src/tests/js1_5/Regress/regress-410852.js => js/src/tests/non262/regress/regress-410852.js rename : js/src/tests/js1_7/regress/regress-414553.js => js/src/tests/non262/regress/regress-414553.js rename : js/src/tests/js1_5/Regress/regress-416737-01.js => js/src/tests/non262/regress/regress-416737-01.js rename : js/src/tests/js1_5/Regress/regress-416737-02.js => js/src/tests/non262/regress/regress-416737-02.js rename : js/src/tests/js1_5/Regress/regress-417893.js => js/src/tests/non262/regress/regress-417893.js rename : js/src/tests/js1_5/Regress/regress-418540.js => js/src/tests/non262/regress/regress-418540.js rename : js/src/tests/js1_7/regress/regress-418641.js => js/src/tests/non262/regress/regress-418641.js rename : js/src/tests/js1_5/Regress/regress-419018.js => js/src/tests/non262/regress/regress-419018.js rename : js/src/tests/ecma_3/Regress/regress-419152.js => js/src/tests/non262/regress/regress-419152.js rename : js/src/tests/js1_5/Regress/regress-419803.js => js/src/tests/non262/regress/regress-419803.js rename : js/src/tests/ecma_3/Regress/regress-420087.js => js/src/tests/non262/regress/regress-420087.js rename : js/src/tests/ecma_3/Regress/regress-420610.js => js/src/tests/non262/regress/regress-420610.js rename : js/src/tests/js1_5/Regress/regress-420919.js => js/src/tests/non262/regress/regress-420919.js rename : js/src/tests/js1_5/Regress/regress-422348.js => js/src/tests/non262/regress/regress-422348.js rename : js/src/tests/js1_5/Regress/regress-424311.js => js/src/tests/non262/regress/regress-424311.js rename : js/src/tests/js1_5/Regress/regress-425360.js => js/src/tests/non262/regress/regress-425360.js rename : js/src/tests/js1_5/Regress/regress-426827.js => js/src/tests/non262/regress/regress-426827.js rename : js/src/tests/js1_8/regress/regress-427798.js => js/src/tests/non262/regress/regress-427798.js rename : js/src/tests/js1_5/Regress/regress-428366.js => js/src/tests/non262/regress/regress-428366.js rename : js/src/tests/js1_8/regress/regress-433279-01.js => js/src/tests/non262/regress/regress-433279-01.js rename : js/src/tests/js1_8/regress/regress-433279-02.js => js/src/tests/non262/regress/regress-433279-02.js rename : js/src/tests/js1_8/regress/regress-433279-03.js => js/src/tests/non262/regress/regress-433279-03.js rename : js/src/tests/js1_5/Regress/regress-438415-01.js => js/src/tests/non262/regress/regress-438415-01.js rename : js/src/tests/js1_5/Regress/regress-438415-02.js => js/src/tests/non262/regress/regress-438415-02.js rename : js/src/tests/js1_5/Regress/regress-440926.js => js/src/tests/non262/regress/regress-440926.js rename : js/src/tests/ecma_3/Regress/regress-441477-01.js => js/src/tests/non262/regress/regress-441477-01.js rename : js/src/tests/js1_8/regress/regress-442333-01.js => js/src/tests/non262/regress/regress-442333-01.js rename : js/src/tests/js1_5/Regress/regress-449627.js => js/src/tests/non262/regress/regress-449627.js rename : js/src/tests/js1_5/Regress/regress-449666.js => js/src/tests/non262/regress/regress-449666.js rename : js/src/tests/js1_5/Regress/regress-450369.js => js/src/tests/non262/regress/regress-450369.js rename : js/src/tests/js1_5/Regress/regress-450833.js => js/src/tests/non262/regress/regress-450833.js rename : js/src/tests/js1_5/Regress/regress-451322.js => js/src/tests/non262/regress/regress-451322.js rename : js/src/tests/js1_5/Regress/regress-451884.js => js/src/tests/non262/regress/regress-451884.js rename : js/src/tests/js1_5/Regress/regress-451946.js => js/src/tests/non262/regress/regress-451946.js rename : js/src/tests/js1_5/Regress/regress-452008.js => js/src/tests/non262/regress/regress-452008.js rename : js/src/tests/js1_5/Regress/regress-452170.js => js/src/tests/non262/regress/regress-452170.js rename : js/src/tests/js1_5/Regress/regress-452189.js => js/src/tests/non262/regress/regress-452189.js rename : js/src/tests/js1_5/Regress/regress-452333.js => js/src/tests/non262/regress/regress-452333.js rename : js/src/tests/js1_5/Regress/regress-452336.js => js/src/tests/non262/regress/regress-452336.js rename : js/src/tests/js1_5/Regress/regress-452346.js => js/src/tests/non262/regress/regress-452346.js rename : js/src/tests/js1_8/regress/regress-452491.js => js/src/tests/non262/regress/regress-452491.js rename : js/src/tests/js1_5/Regress/regress-452495.js => js/src/tests/non262/regress/regress-452495.js rename : js/src/tests/js1_8_1/regress/regress-452498-006.js => js/src/tests/non262/regress/regress-452498-006.js rename : js/src/tests/js1_8_1/regress/regress-452498-027.js => js/src/tests/non262/regress/regress-452498-027.js rename : js/src/tests/js1_8_1/regress/regress-452498-030.js => js/src/tests/non262/regress/regress-452498-030.js rename : js/src/tests/js1_8_1/regress/regress-452498-040.js => js/src/tests/non262/regress/regress-452498-040.js rename : js/src/tests/js1_8_1/regress/regress-452498-050.js => js/src/tests/non262/regress/regress-452498-050.js rename : js/src/tests/js1_8_1/regress/regress-452498-051.js => js/src/tests/non262/regress/regress-452498-051.js rename : js/src/tests/js1_8_1/regress/regress-452498-052-a.js => js/src/tests/non262/regress/regress-452498-052-a.js rename : js/src/tests/js1_8_1/regress/regress-452498-053.js => js/src/tests/non262/regress/regress-452498-053.js rename : js/src/tests/js1_8_1/regress/regress-452498-058.js => js/src/tests/non262/regress/regress-452498-058.js rename : js/src/tests/js1_8_1/regress/regress-452498-062.js => js/src/tests/non262/regress/regress-452498-062.js rename : js/src/tests/js1_8_1/regress/regress-452498-063.js => js/src/tests/non262/regress/regress-452498-063.js rename : js/src/tests/js1_8_1/regress/regress-452498-071.js => js/src/tests/non262/regress/regress-452498-071.js rename : js/src/tests/js1_8_1/regress/regress-452498-072.js => js/src/tests/non262/regress/regress-452498-072.js rename : js/src/tests/js1_8_1/regress/regress-452498-073.js => js/src/tests/non262/regress/regress-452498-073.js rename : js/src/tests/js1_8_1/regress/regress-452498-074.js => js/src/tests/non262/regress/regress-452498-074.js rename : js/src/tests/js1_8_1/regress/regress-452498-075.js => js/src/tests/non262/regress/regress-452498-075.js rename : js/src/tests/js1_8_1/regress/regress-452498-076.js => js/src/tests/non262/regress/regress-452498-076.js rename : js/src/tests/js1_8_1/regress/regress-452498-079.js => js/src/tests/non262/regress/regress-452498-079.js rename : js/src/tests/js1_8_1/regress/regress-452498-082.js => js/src/tests/non262/regress/regress-452498-082.js rename : js/src/tests/js1_8_1/regress/regress-452498-092.js => js/src/tests/non262/regress/regress-452498-092.js rename : js/src/tests/js1_8_1/regress/regress-452498-101.js => js/src/tests/non262/regress/regress-452498-101.js rename : js/src/tests/js1_8_1/regress/regress-452498-102.js => js/src/tests/non262/regress/regress-452498-102.js rename : js/src/tests/js1_8_1/regress/regress-452498-104.js => js/src/tests/non262/regress/regress-452498-104.js rename : js/src/tests/js1_8_1/regress/regress-452498-111.js => js/src/tests/non262/regress/regress-452498-111.js rename : js/src/tests/js1_8_1/regress/regress-452498-112.js => js/src/tests/non262/regress/regress-452498-112.js rename : js/src/tests/js1_8_1/regress/regress-452498-114-a.js => js/src/tests/non262/regress/regress-452498-114-a.js rename : js/src/tests/js1_8_1/regress/regress-452498-114.js => js/src/tests/non262/regress/regress-452498-114.js rename : js/src/tests/js1_8_1/regress/regress-452498-116.js => js/src/tests/non262/regress/regress-452498-116.js rename : js/src/tests/js1_8_1/regress/regress-452498-117.js => js/src/tests/non262/regress/regress-452498-117.js rename : js/src/tests/js1_8_1/regress/regress-452498-118.js => js/src/tests/non262/regress/regress-452498-118.js rename : js/src/tests/js1_8_1/regress/regress-452498-121.js => js/src/tests/non262/regress/regress-452498-121.js rename : js/src/tests/js1_8_1/regress/regress-452498-123.js => js/src/tests/non262/regress/regress-452498-123.js rename : js/src/tests/js1_8_1/regress/regress-452498-129.js => js/src/tests/non262/regress/regress-452498-129.js rename : js/src/tests/js1_8_1/regress/regress-452498-131.js => js/src/tests/non262/regress/regress-452498-131.js rename : js/src/tests/js1_8_1/regress/regress-452498-135.js => js/src/tests/non262/regress/regress-452498-135.js rename : js/src/tests/js1_8_1/regress/regress-452498-155.js => js/src/tests/non262/regress/regress-452498-155.js rename : js/src/tests/js1_8_1/regress/regress-452498-160.js => js/src/tests/non262/regress/regress-452498-160.js rename : js/src/tests/js1_8_1/regress/regress-452498-168-1.js => js/src/tests/non262/regress/regress-452498-168-1.js rename : js/src/tests/js1_8_1/regress/regress-452498-168-2.js => js/src/tests/non262/regress/regress-452498-168-2.js rename : js/src/tests/js1_8_1/regress/regress-452498-176.js => js/src/tests/non262/regress/regress-452498-176.js rename : js/src/tests/js1_8_1/regress/regress-452498-181.js => js/src/tests/non262/regress/regress-452498-181.js rename : js/src/tests/js1_8_1/regress/regress-452498-185.js => js/src/tests/non262/regress/regress-452498-185.js rename : js/src/tests/js1_8_1/regress/regress-452498-187.js => js/src/tests/non262/regress/regress-452498-187.js rename : js/src/tests/js1_8_1/regress/regress-452498-191.js => js/src/tests/non262/regress/regress-452498-191.js rename : js/src/tests/js1_8_1/regress/regress-452498-192.js => js/src/tests/non262/regress/regress-452498-192.js rename : js/src/tests/js1_5/Regress/regress-452573-01.js => js/src/tests/non262/regress/regress-452573-01.js rename : js/src/tests/js1_5/Regress/regress-452573-02.js => js/src/tests/non262/regress/regress-452573-02.js rename : js/src/tests/js1_7/regress/regress-452703.js => js/src/tests/non262/regress/regress-452703.js rename : js/src/tests/js1_5/Regress/regress-452713.js => js/src/tests/non262/regress/regress-452713.js rename : js/src/tests/js1_5/Regress/regress-452724-01.js => js/src/tests/non262/regress/regress-452724-01.js rename : js/src/tests/js1_5/Regress/regress-452724-02.js => js/src/tests/non262/regress/regress-452724-02.js rename : js/src/tests/js1_5/Regress/regress-452742-01.js => js/src/tests/non262/regress/regress-452742-01.js rename : js/src/tests/js1_5/Regress/regress-452742-02.js => js/src/tests/non262/regress/regress-452742-02.js rename : js/src/tests/js1_5/Regress/regress-452853.js => js/src/tests/non262/regress/regress-452853.js rename : js/src/tests/js1_5/Regress/regress-452884-01.js => js/src/tests/non262/regress/regress-452884-01.js rename : js/src/tests/js1_5/Regress/regress-452884-02.js => js/src/tests/non262/regress/regress-452884-02.js rename : js/src/tests/js1_7/regress/regress-452960.js => js/src/tests/non262/regress/regress-452960.js rename : js/src/tests/js1_5/Regress/regress-453024.js => js/src/tests/non262/regress/regress-453024.js rename : js/src/tests/js1_7/regress/regress-453049.js => js/src/tests/non262/regress/regress-453049.js rename : js/src/tests/js1_7/regress/regress-453051.js => js/src/tests/non262/regress/regress-453051.js rename : js/src/tests/js1_5/Regress/regress-453173.js => js/src/tests/non262/regress/regress-453173.js rename : js/src/tests/js1_5/Regress/regress-453397.js => js/src/tests/non262/regress/regress-453397.js rename : js/src/tests/js1_5/Regress/regress-453701.js => js/src/tests/non262/regress/regress-453701.js rename : js/src/tests/js1_5/Regress/regress-453747.js => js/src/tests/non262/regress/regress-453747.js rename : js/src/tests/js1_5/Regress/regress-454682.js => js/src/tests/non262/regress/regress-454682.js rename : js/src/tests/js1_5/Regress/regress-454981.js => js/src/tests/non262/regress/regress-454981.js rename : js/src/tests/js1_5/Regress/regress-455605.js => js/src/tests/non262/regress/regress-455605.js rename : js/src/tests/js1_5/Regress/regress-455748.js => js/src/tests/non262/regress/regress-455748.js rename : js/src/tests/js1_5/Regress/regress-455758-01.js => js/src/tests/non262/regress/regress-455758-01.js rename : js/src/tests/js1_5/Regress/regress-455758-02.js => js/src/tests/non262/regress/regress-455758-02.js rename : js/src/tests/js1_5/Regress/regress-455775.js => js/src/tests/non262/regress/regress-455775.js rename : js/src/tests/js1_8/regress/regress-455981-01.js => js/src/tests/non262/regress/regress-455981-01.js rename : js/src/tests/js1_8/regress/regress-455981-02.js => js/src/tests/non262/regress/regress-455981-02.js rename : js/src/tests/js1_5/Regress/regress-456470.js => js/src/tests/non262/regress/regress-456470.js rename : js/src/tests/js1_5/Regress/regress-456477-01.js => js/src/tests/non262/regress/regress-456477-01.js rename : js/src/tests/js1_5/Regress/regress-456477-02.js => js/src/tests/non262/regress/regress-456477-02.js rename : js/src/tests/js1_5/Regress/regress-456494.js => js/src/tests/non262/regress/regress-456494.js rename : js/src/tests/js1_5/Regress/regress-456540-01.js => js/src/tests/non262/regress/regress-456540-01.js rename : js/src/tests/js1_5/Regress/regress-456540-02.js => js/src/tests/non262/regress/regress-456540-02.js rename : js/src/tests/js1_8/regress/regress-457065-01.js => js/src/tests/non262/regress/regress-457065-01.js rename : js/src/tests/js1_8/regress/regress-457065-02.js => js/src/tests/non262/regress/regress-457065-02.js rename : js/src/tests/js1_5/Regress/regress-457065-03.js => js/src/tests/non262/regress/regress-457065-03.js rename : js/src/tests/js1_5/Regress/regress-457456.js => js/src/tests/non262/regress/regress-457456.js rename : js/src/tests/js1_5/Regress/regress-457778.js => js/src/tests/non262/regress/regress-457778.js rename : js/src/tests/js1_8/regress/regress-458076.js => js/src/tests/non262/regress/regress-458076.js rename : js/src/tests/js1_5/Regress/regress-458851.js => js/src/tests/non262/regress/regress-458851.js rename : js/src/tests/js1_5/Regress/regress-459085.js => js/src/tests/non262/regress/regress-459085.js rename : js/src/tests/js1_8/regress/regress-459185.js => js/src/tests/non262/regress/regress-459185.js rename : js/src/tests/js1_8/regress/regress-459186.js => js/src/tests/non262/regress/regress-459186.js rename : js/src/tests/js1_8/regress/regress-459389.js => js/src/tests/non262/regress/regress-459389.js rename : js/src/tests/js1_5/Regress/regress-459628.js => js/src/tests/non262/regress/regress-459628.js rename : js/src/tests/js1_5/Regress/regress-459990.js => js/src/tests/non262/regress/regress-459990.js rename : js/src/tests/js1_5/Regress/regress-460024.js => js/src/tests/non262/regress/regress-460024.js rename : js/src/tests/js1_5/Regress/regress-460117.js => js/src/tests/non262/regress/regress-460117.js rename : js/src/tests/js1_5/Regress/regress-460886-01.js => js/src/tests/non262/regress/regress-460886-01.js rename : js/src/tests/js1_5/Regress/regress-460886-02.js => js/src/tests/non262/regress/regress-460886-02.js rename : js/src/tests/js1_5/Regress/regress-461307.js => js/src/tests/non262/regress/regress-461307.js rename : js/src/tests/js1_5/Regress/regress-461723.js => js/src/tests/non262/regress/regress-461723.js rename : js/src/tests/js1_7/regress/regress-462071.js => js/src/tests/non262/regress/regress-462071.js rename : js/src/tests/js1_7/regress/regress-462282.js => js/src/tests/non262/regress/regress-462282.js rename : js/src/tests/js1_5/Regress/regress-462292.js => js/src/tests/non262/regress/regress-462292.js rename : js/src/tests/js1_7/regress/regress-462388.js => js/src/tests/non262/regress/regress-462388.js rename : js/src/tests/js1_7/regress/regress-462407.js => js/src/tests/non262/regress/regress-462407.js rename : js/src/tests/js1_5/Regress/regress-462879.js => js/src/tests/non262/regress/regress-462879.js rename : js/src/tests/js1_5/Regress/regress-462989.js => js/src/tests/non262/regress/regress-462989.js rename : js/src/tests/js1_5/Regress/regress-463259.js => js/src/tests/non262/regress/regress-463259.js rename : js/src/tests/js1_5/Regress/regress-463782.js => js/src/tests/non262/regress/regress-463782.js rename : js/src/tests/js1_8/regress/regress-464096.js => js/src/tests/non262/regress/regress-464096.js rename : js/src/tests/js1_5/Regress/regress-464334.js => js/src/tests/non262/regress/regress-464334.js rename : js/src/tests/js1_7/regress/regress-464403.js => js/src/tests/non262/regress/regress-464403.js rename : js/src/tests/js1_8/regress/regress-464418.js => js/src/tests/non262/regress/regress-464418.js rename : js/src/tests/js1_5/Regress/regress-464862.js => js/src/tests/non262/regress/regress-464862.js rename : js/src/tests/js1_8/regress/regress-464978.js => js/src/tests/non262/regress/regress-464978.js rename : js/src/tests/js1_5/Regress/regress-465013.js => js/src/tests/non262/regress/regress-465013.js rename : js/src/tests/js1_5/Regress/regress-465132.js => js/src/tests/non262/regress/regress-465132.js rename : js/src/tests/js1_5/Regress/regress-465133.js => js/src/tests/non262/regress/regress-465133.js rename : js/src/tests/js1_5/Regress/regress-465135.js => js/src/tests/non262/regress/regress-465135.js rename : js/src/tests/js1_5/Regress/regress-465136.js => js/src/tests/non262/regress/regress-465136.js rename : js/src/tests/js1_5/Regress/regress-465137.js => js/src/tests/non262/regress/regress-465137.js rename : js/src/tests/js1_8/regress/regress-465220.js => js/src/tests/non262/regress/regress-465220.js rename : js/src/tests/js1_8/regress/regress-465234.js => js/src/tests/non262/regress/regress-465234.js rename : js/src/tests/js1_7/regress/regress-465236.js => js/src/tests/non262/regress/regress-465236.js rename : js/src/tests/js1_8/regress/regress-465239.js => js/src/tests/non262/regress/regress-465239.js rename : js/src/tests/js1_8/regress/regress-465241.js => js/src/tests/non262/regress/regress-465241.js rename : js/src/tests/js1_8/regress/regress-465249.js => js/src/tests/non262/regress/regress-465249.js rename : js/src/tests/js1_8/regress/regress-465261.js => js/src/tests/non262/regress/regress-465261.js rename : js/src/tests/js1_5/Regress/regress-465262.js => js/src/tests/non262/regress/regress-465262.js rename : js/src/tests/js1_5/Regress/regress-465272.js => js/src/tests/non262/regress/regress-465272.js rename : js/src/tests/js1_8/regress/regress-465308.js => js/src/tests/non262/regress/regress-465308.js rename : js/src/tests/js1_5/Regress/regress-465347.js => js/src/tests/non262/regress/regress-465347.js rename : js/src/tests/js1_5/Regress/regress-465366.js => js/src/tests/non262/regress/regress-465366.js rename : js/src/tests/js1_7/regress/regress-465424.js => js/src/tests/non262/regress/regress-465424.js rename : js/src/tests/js1_8/regress/regress-465454.js => js/src/tests/non262/regress/regress-465454.js rename : js/src/tests/js1_8/regress/regress-465460-01.js => js/src/tests/non262/regress/regress-465460-01.js rename : js/src/tests/js1_8/regress/regress-465460-02.js => js/src/tests/non262/regress/regress-465460-02.js rename : js/src/tests/js1_8/regress/regress-465460-03.js => js/src/tests/non262/regress/regress-465460-03.js rename : js/src/tests/js1_8/regress/regress-465460-04.js => js/src/tests/non262/regress/regress-465460-04.js rename : js/src/tests/js1_8/regress/regress-465460-05.js => js/src/tests/non262/regress/regress-465460-05.js rename : js/src/tests/js1_8/regress/regress-465460-06.js => js/src/tests/non262/regress/regress-465460-06.js rename : js/src/tests/js1_8/regress/regress-465460-07.js => js/src/tests/non262/regress/regress-465460-07.js rename : js/src/tests/js1_8/regress/regress-465460-08.js => js/src/tests/non262/regress/regress-465460-08.js rename : js/src/tests/js1_8/regress/regress-465460-10.js => js/src/tests/non262/regress/regress-465460-10.js rename : js/src/tests/js1_8/regress/regress-465460-11.js => js/src/tests/non262/regress/regress-465460-11.js rename : js/src/tests/js1_8/regress/regress-465460-12.js => js/src/tests/non262/regress/regress-465460-12.js rename : js/src/tests/js1_8/regress/regress-465483.js => js/src/tests/non262/regress/regress-465483.js rename : js/src/tests/js1_7/regress/regress-465484.js => js/src/tests/non262/regress/regress-465484.js rename : js/src/tests/js1_8/regress/regress-465567-01.js => js/src/tests/non262/regress/regress-465567-01.js rename : js/src/tests/js1_8/regress/regress-465567-02.js => js/src/tests/non262/regress/regress-465567-02.js rename : js/src/tests/js1_7/regress/regress-465686.js => js/src/tests/non262/regress/regress-465686.js rename : js/src/tests/js1_8/regress/regress-465688.js => js/src/tests/non262/regress/regress-465688.js rename : js/src/tests/js1_8/regress/regress-466128.js => js/src/tests/non262/regress/regress-466128.js rename : js/src/tests/js1_5/Regress/regress-466262.js => js/src/tests/non262/regress/regress-466262.js rename : js/src/tests/js1_5/Regress/regress-466747.js => js/src/tests/non262/regress/regress-466747.js rename : js/src/tests/js1_8/regress/regress-466787.js => js/src/tests/non262/regress/regress-466787.js rename : js/src/tests/js1_8_1/regress/regress-466905-01.js => js/src/tests/non262/regress/regress-466905-01.js rename : js/src/tests/js1_8_1/regress/regress-466905-02.js => js/src/tests/non262/regress/regress-466905-02.js rename : js/src/tests/js1_8/regress/regress-467495-01.js => js/src/tests/non262/regress/regress-467495-01.js rename : js/src/tests/js1_8/regress/regress-467495-02.js => js/src/tests/non262/regress/regress-467495-02.js rename : js/src/tests/js1_8/regress/regress-467495-03.js => js/src/tests/non262/regress/regress-467495-03.js rename : js/src/tests/js1_8/regress/regress-467495-04.js => js/src/tests/non262/regress/regress-467495-04.js rename : js/src/tests/js1_8/regress/regress-467495-05.js => js/src/tests/non262/regress/regress-467495-05.js rename : js/src/tests/js1_8/regress/regress-467495-06.js => js/src/tests/non262/regress/regress-467495-06.js rename : js/src/tests/js1_8/regress/regress-468711.js => js/src/tests/non262/regress/regress-468711.js rename : js/src/tests/js1_5/Regress/regress-469044.js => js/src/tests/non262/regress/regress-469044.js rename : js/src/tests/js1_7/regress/regress-469239-01.js => js/src/tests/non262/regress/regress-469239-01.js rename : js/src/tests/js1_7/regress/regress-469239-02.js => js/src/tests/non262/regress/regress-469239-02.js rename : js/src/tests/js1_8/regress/regress-469547.js => js/src/tests/non262/regress/regress-469547.js rename : js/src/tests/js1_8/regress/regress-469625-02.js => js/src/tests/non262/regress/regress-469625-02.js rename : js/src/tests/js1_8/regress/regress-469625-03.js => js/src/tests/non262/regress/regress-469625-03.js rename : js/src/tests/js1_8_5/regress/regress-469758.js => js/src/tests/non262/regress/regress-469758.js rename : js/src/tests/ecma_3/Regress/regress-469937.js => js/src/tests/non262/regress/regress-469937.js rename : js/src/tests/js1_5/Regress/regress-470061.js => js/src/tests/non262/regress/regress-470061.js rename : js/src/tests/js1_5/Regress/regress-470187-01.js => js/src/tests/non262/regress/regress-470187-01.js rename : js/src/tests/js1_5/Regress/regress-470187-02.js => js/src/tests/non262/regress/regress-470187-02.js rename : js/src/tests/js1_7/regress/regress-470223.js => js/src/tests/non262/regress/regress-470223.js rename : js/src/tests/js1_7/regress/regress-470388-01.js => js/src/tests/non262/regress/regress-470388-01.js rename : js/src/tests/js1_5/Regress/regress-470758-01.js => js/src/tests/non262/regress/regress-470758-01.js rename : js/src/tests/js1_5/Regress/regress-470758-02.js => js/src/tests/non262/regress/regress-470758-02.js rename : js/src/tests/js1_8/regress/regress-471660.js => js/src/tests/non262/regress/regress-471660.js rename : js/src/tests/js1_5/Regress/regress-472533.js => js/src/tests/non262/regress/regress-472533.js rename : js/src/tests/js1_8/regress/regress-474769.js => js/src/tests/non262/regress/regress-474769.js rename : js/src/tests/js1_8/regress/regress-474771.js => js/src/tests/non262/regress/regress-474771-01.js rename : js/src/tests/js1_7/regress/regress-474771.js => js/src/tests/non262/regress/regress-474771.js rename : js/src/tests/js1_8/regress/regress-474935.js => js/src/tests/non262/regress/regress-474935.js rename : js/src/tests/js1_6/Regress/regress-475469.js => js/src/tests/non262/regress/regress-475469.js rename : js/src/tests/js1_5/Regress/regress-475645-01.js => js/src/tests/non262/regress/regress-475645-01.js rename : js/src/tests/js1_5/Regress/regress-475645-02.js => js/src/tests/non262/regress/regress-475645-02.js rename : js/src/tests/js1_5/Regress/regress-476049.js => js/src/tests/non262/regress/regress-476049.js rename : js/src/tests/js1_5/Regress/regress-476192.js => js/src/tests/non262/regress/regress-476192.js rename : js/src/tests/js1_8/regress/regress-476655.js => js/src/tests/non262/regress/regress-476655.js rename : js/src/tests/js1_8_5/regress/regress-477053.js => js/src/tests/non262/regress/regress-477053.js rename : js/src/tests/js1_8/regress/regress-477234.js => js/src/tests/non262/regress/regress-477234.js rename : js/src/tests/js1_5/Regress/regress-477733.js => js/src/tests/non262/regress/regress-477733.js rename : js/src/tests/js1_5/Regress/regress-477758.js => js/src/tests/non262/regress/regress-477758.js rename : js/src/tests/js1_8/regress/regress-478205.js => js/src/tests/non262/regress/regress-478205.js rename : js/src/tests/js1_5/Regress/regress-478314.js => js/src/tests/non262/regress/regress-478314.js rename : js/src/tests/js1_8/regress/regress-479353.js => js/src/tests/non262/regress/regress-479353-01.js rename : js/src/tests/js1_5/Regress/regress-479353.js => js/src/tests/non262/regress/regress-479353.js rename : js/src/tests/js1_8_1/regress/regress-479430-01.js => js/src/tests/non262/regress/regress-479430-01.js rename : js/src/tests/js1_8_1/regress/regress-479430-02.js => js/src/tests/non262/regress/regress-479430-02.js rename : js/src/tests/js1_8_1/regress/regress-479430-03.js => js/src/tests/non262/regress/regress-479430-03.js rename : js/src/tests/js1_8_1/regress/regress-479430-04.js => js/src/tests/non262/regress/regress-479430-04.js rename : js/src/tests/js1_8_1/regress/regress-479430-05.js => js/src/tests/non262/regress/regress-479430-05.js rename : js/src/tests/js1_8/regress/regress-479740.js => js/src/tests/non262/regress/regress-479740.js rename : js/src/tests/js1_5/Regress/regress-480147.js => js/src/tests/non262/regress/regress-480147.js rename : js/src/tests/js1_5/Regress/regress-480244.js => js/src/tests/non262/regress/regress-480244.js rename : js/src/tests/js1_5/Regress/regress-481436.js => js/src/tests/non262/regress/regress-481436.js rename : js/src/tests/js1_8/regress/regress-481800.js => js/src/tests/non262/regress/regress-481800.js rename : js/src/tests/js1_5/Regress/regress-482421.js => js/src/tests/non262/regress/regress-482421.js rename : js/src/tests/js1_5/Regress/regress-482783.js => js/src/tests/non262/regress/regress-482783.js rename : js/src/tests/js1_5/Regress/regress-483103.js => js/src/tests/non262/regress/regress-483103.js rename : js/src/tests/js1_8/regress/regress-483749.js => js/src/tests/non262/regress/regress-483749.js rename : js/src/tests/js1_8_1/regress/regress-495773.js => js/src/tests/non262/regress/regress-495773.js rename : js/src/tests/js1_8_1/regress/regress-495907.js => js/src/tests/non262/regress/regress-495907.js rename : js/src/tests/js1_8_1/regress/regress-496922.js => js/src/tests/non262/regress/regress-496922.js rename : js/src/tests/js1_8/regress/regress-499524.js => js/src/tests/non262/regress/regress-499524.js rename : js/src/tests/js1_8_5/regress/regress-500528.js => js/src/tests/non262/regress/regress-500528.js rename : js/src/tests/js1_5/Regress/regress-501124.js => js/src/tests/non262/regress/regress-501124.js rename : js/src/tests/js1_5/Regress/regress-503860.js => js/src/tests/non262/regress/regress-503860.js rename : js/src/tests/js1_5/Regress/regress-504078.js => js/src/tests/non262/regress/regress-504078.js rename : js/src/tests/js1_8_1/regress/regress-507053.js => js/src/tests/non262/regress/regress-507053.js rename : js/src/tests/js1_8_1/regress/regress-507295.js => js/src/tests/non262/regress/regress-507295.js rename : js/src/tests/js1_8_1/regress/regress-509354.js => js/src/tests/non262/regress/regress-509354.js rename : js/src/tests/js1_5/Regress/regress-511859.js => js/src/tests/non262/regress/regress-511859.js rename : js/src/tests/js1_8_1/regress/regress-522123.js => js/src/tests/non262/regress/regress-522123.js rename : js/src/tests/js1_8_1/regress/regress-524743.js => js/src/tests/non262/regress/regress-524743.js rename : js/src/tests/js1_8_1/regress/regress-530879.js => js/src/tests/non262/regress/regress-530879.js rename : js/src/tests/js1_8/regress/regress-532491.js => js/src/tests/non262/regress/regress-532491.js rename : js/src/tests/js1_8_5/regress/regress-541255-3.js => js/src/tests/non262/regress/regress-541255-3.js rename : js/src/tests/js1_8_5/regress/regress-541455.js => js/src/tests/non262/regress/regress-541455.js rename : js/src/tests/js1_8_5/regress/regress-551763-0.js => js/src/tests/non262/regress/regress-551763-0.js rename : js/src/tests/js1_8_5/regress/regress-551763-1.js => js/src/tests/non262/regress/regress-551763-1.js rename : js/src/tests/js1_8_5/regress/regress-551763-2.js => js/src/tests/non262/regress/regress-551763-2.js rename : js/src/tests/js1_8_5/regress/regress-552432.js => js/src/tests/non262/regress/regress-552432.js rename : js/src/tests/js1_8_5/regress/regress-553778.js => js/src/tests/non262/regress/regress-553778.js rename : js/src/tests/js1_8_5/regress/regress-554955-1.js => js/src/tests/non262/regress/regress-554955-1.js rename : js/src/tests/js1_8_5/regress/regress-554955-2.js => js/src/tests/non262/regress/regress-554955-2.js rename : js/src/tests/js1_8_5/regress/regress-554955-3.js => js/src/tests/non262/regress/regress-554955-3.js rename : js/src/tests/js1_8_5/regress/regress-554955-4.js => js/src/tests/non262/regress/regress-554955-4.js rename : js/src/tests/js1_8_5/regress/regress-554955-5.js => js/src/tests/non262/regress/regress-554955-5.js rename : js/src/tests/js1_8_5/regress/regress-554955-6.js => js/src/tests/non262/regress/regress-554955-6.js rename : js/src/tests/js1_8_5/regress/regress-555246-0.js => js/src/tests/non262/regress/regress-555246-0.js rename : js/src/tests/js1_8_5/regress/regress-555246-1.js => js/src/tests/non262/regress/regress-555246-1.js rename : js/src/tests/js1_8_5/regress/regress-559402-1.js => js/src/tests/non262/regress/regress-559402-1.js rename : js/src/tests/js1_8_5/regress/regress-559402-2.js => js/src/tests/non262/regress/regress-559402-2.js rename : js/src/tests/js1_8_5/regress/regress-559438.js => js/src/tests/non262/regress/regress-559438.js rename : js/src/tests/js1_8_5/regress/regress-560998-1.js => js/src/tests/non262/regress/regress-560998-1.js rename : js/src/tests/js1_8_5/regress/regress-560998-2.js => js/src/tests/non262/regress/regress-560998-2.js rename : js/src/tests/js1_8_5/regress/regress-561031.js => js/src/tests/non262/regress/regress-561031.js rename : js/src/tests/js1_8_5/regress/regress-563210.js => js/src/tests/non262/regress/regress-563210.js rename : js/src/tests/js1_8_5/regress/regress-563221.js => js/src/tests/non262/regress/regress-563221.js rename : js/src/tests/js1_8_5/regress/regress-566549.js => js/src/tests/non262/regress/regress-566549.js rename : js/src/tests/js1_8_5/regress/regress-567152.js => js/src/tests/non262/regress/regress-567152.js rename : js/src/tests/js1_8_5/regress/regress-569306.js => js/src/tests/non262/regress/regress-569306.js rename : js/src/tests/js1_5/Regress/regress-57043.js => js/src/tests/non262/regress/regress-57043.js rename : js/src/tests/js1_8_5/regress/regress-571014.js => js/src/tests/non262/regress/regress-571014.js rename : js/src/tests/js1_8_5/regress/regress-573875.js => js/src/tests/non262/regress/regress-573875.js rename : js/src/tests/js1_8_5/regress/regress-577648-1.js => js/src/tests/non262/regress/regress-577648-1.js rename : js/src/tests/js1_8_5/regress/regress-577648-2.js => js/src/tests/non262/regress/regress-577648-2.js rename : js/src/tests/ecma_3/Regress/regress-580544.js => js/src/tests/non262/regress/regress-580544.js rename : js/src/tests/js1_5/Regress/regress-58116.js => js/src/tests/non262/regress/regress-58116.js rename : js/src/tests/js1_8_5/regress/regress-583429.js => js/src/tests/non262/regress/regress-583429.js rename : js/src/tests/js1_8_5/regress/regress-584355.js => js/src/tests/non262/regress/regress-584355.js rename : js/src/tests/js1_8_5/regress/regress-585257.js => js/src/tests/non262/regress/regress-585257.js rename : js/src/tests/js1_8_5/regress/regress-586482-1.js => js/src/tests/non262/regress/regress-586482-1.js rename : js/src/tests/js1_8_5/regress/regress-586482-2.js => js/src/tests/non262/regress/regress-586482-2.js rename : js/src/tests/js1_8_5/regress/regress-586482-3.js => js/src/tests/non262/regress/regress-586482-3.js rename : js/src/tests/js1_8_5/regress/regress-586482-4.js => js/src/tests/non262/regress/regress-586482-4.js rename : js/src/tests/js1_8_5/regress/regress-586482-5.js => js/src/tests/non262/regress/regress-586482-5.js rename : js/src/tests/js1_8_5/regress/regress-588339.js => js/src/tests/non262/regress/regress-588339.js rename : js/src/tests/js1_8_5/regress/regress-591846.js => js/src/tests/non262/regress/regress-591846.js rename : js/src/tests/js1_8_5/regress/regress-591897.js => js/src/tests/non262/regress/regress-591897.js rename : js/src/tests/js1_8_5/regress/regress-592202-3.js => js/src/tests/non262/regress/regress-592202-3.js rename : js/src/tests/js1_8_5/regress/regress-592202-4.js => js/src/tests/non262/regress/regress-592202-4.js rename : js/src/tests/js1_8_5/regress/regress-592556-c35.js => js/src/tests/non262/regress/regress-592556-c35.js rename : js/src/tests/js1_8_5/regress/regress-593256.js => js/src/tests/non262/regress/regress-593256.js rename : js/src/tests/js1_8_5/regress/regress-595230-2.js => js/src/tests/non262/regress/regress-595230-2.js rename : js/src/tests/js1_8_5/regress/regress-595365-1.js => js/src/tests/non262/regress/regress-595365-1.js rename : js/src/tests/js1_8_5/regress/regress-596103.js => js/src/tests/non262/regress/regress-596103.js rename : js/src/tests/js1_8_5/regress/regress-596805-1.js => js/src/tests/non262/regress/regress-596805-1.js rename : js/src/tests/js1_8_5/regress/regress-596805-2.js => js/src/tests/non262/regress/regress-596805-2.js rename : js/src/tests/js1_8_5/regress/regress-597945-1.js => js/src/tests/non262/regress/regress-597945-1.js rename : js/src/tests/js1_8_5/regress/regress-597945-2.js => js/src/tests/non262/regress/regress-597945-2.js rename : js/src/tests/js1_8_5/regress/regress-598176.js => js/src/tests/non262/regress/regress-598176.js rename : js/src/tests/js1_8_5/regress/regress-600067.js => js/src/tests/non262/regress/regress-600067.js rename : js/src/tests/js1_8_5/regress/regress-601399.js => js/src/tests/non262/regress/regress-601399.js rename : js/src/tests/js1_8_5/regress/regress-602621.js => js/src/tests/non262/regress/regress-602621.js rename : js/src/tests/js1_8_5/regress/regress-607799.js => js/src/tests/non262/regress/regress-607799.js rename : js/src/tests/js1_8_5/regress/regress-607863.js => js/src/tests/non262/regress/regress-607863.js rename : js/src/tests/js1_8_5/regress/regress-609617.js => js/src/tests/non262/regress/regress-609617.js rename : js/src/tests/js1_8_5/regress/regress-610026.js => js/src/tests/non262/regress/regress-610026.js rename : js/src/tests/js1_8_5/regress/regress-614714.js => js/src/tests/non262/regress/regress-614714.js rename : js/src/tests/js1_8_5/regress/regress-617405-1.js => js/src/tests/non262/regress/regress-617405-1.js rename : js/src/tests/js1_8_5/regress/regress-617405-2.js => js/src/tests/non262/regress/regress-617405-2.js rename : js/src/tests/js1_8_5/regress/regress-618572.js => js/src/tests/non262/regress/regress-618572.js rename : js/src/tests/js1_8_5/regress/regress-619003-1.js => js/src/tests/non262/regress/regress-619003-1.js rename : js/src/tests/js1_8_5/regress/regress-619003-2.js => js/src/tests/non262/regress/regress-619003-2.js rename : js/src/tests/js1_8_5/regress/regress-620376-1.js => js/src/tests/non262/regress/regress-620376-1.js rename : js/src/tests/js1_8_5/regress/regress-621814.js => js/src/tests/non262/regress/regress-621814.js rename : js/src/tests/js1_8_5/regress/regress-624199.js => js/src/tests/non262/regress/regress-624199.js rename : js/src/tests/js1_8_5/regress/regress-624547.js => js/src/tests/non262/regress/regress-624547.js rename : js/src/tests/js1_8_5/regress/regress-624968.js => js/src/tests/non262/regress/regress-624968.js rename : js/src/tests/js1_8_5/regress/regress-626436.js => js/src/tests/non262/regress/regress-626436.js rename : js/src/tests/js1_8_5/regress/regress-633741.js => js/src/tests/non262/regress/regress-633741.js rename : js/src/tests/js1_8_5/regress/regress-634210-1.js => js/src/tests/non262/regress/regress-634210-1.js rename : js/src/tests/js1_8_5/regress/regress-634210-2.js => js/src/tests/non262/regress/regress-634210-2.js rename : js/src/tests/js1_8_5/regress/regress-634210-3.js => js/src/tests/non262/regress/regress-634210-3.js rename : js/src/tests/js1_8_5/regress/regress-634210-4.js => js/src/tests/non262/regress/regress-634210-4.js rename : js/src/tests/js1_8_5/regress/regress-636364.js => js/src/tests/non262/regress/regress-636364.js rename : js/src/tests/js1_8_5/regress/regress-640075.js => js/src/tests/non262/regress/regress-640075.js rename : js/src/tests/js1_8_5/regress/regress-642247.js => js/src/tests/non262/regress/regress-642247.js rename : js/src/tests/js1_8_5/regress/regress-643222.js => js/src/tests/non262/regress/regress-643222.js rename : js/src/tests/js1_8_5/regress/regress-646820-1.js => js/src/tests/non262/regress/regress-646820-1.js rename : js/src/tests/js1_8_5/regress/regress-646820-2.js => js/src/tests/non262/regress/regress-646820-2.js rename : js/src/tests/js1_8_5/regress/regress-646820-3.js => js/src/tests/non262/regress/regress-646820-3.js rename : js/src/tests/js1_8_5/regress/regress-665355.js => js/src/tests/non262/regress/regress-665355.js rename : js/src/tests/js1_8_5/regress/regress-672892.js => js/src/tests/non262/regress/regress-672892.js rename : js/src/tests/js1_8_5/regress/regress-672893.js => js/src/tests/non262/regress/regress-672893.js rename : js/src/tests/js1_5/Regress/regress-68498-001.js => js/src/tests/non262/regress/regress-68498-001.js rename : js/src/tests/js1_5/Regress/regress-68498-002.js => js/src/tests/non262/regress/regress-68498-002.js rename : js/src/tests/js1_5/Regress/regress-68498-003.js => js/src/tests/non262/regress/regress-68498-003.js rename : js/src/tests/js1_5/Regress/regress-68498-004.js => js/src/tests/non262/regress/regress-68498-004.js rename : js/src/tests/js1_8_5/regress/regress-694306.js => js/src/tests/non262/regress/regress-694306.js rename : js/src/tests/js1_5/Regress/regress-69607.js => js/src/tests/non262/regress/regress-69607.js rename : js/src/tests/js1_8_5/regress/regress-698028-1.js => js/src/tests/non262/regress/regress-698028-1.js rename : js/src/tests/js1_8_5/regress/regress-698028-2.js => js/src/tests/non262/regress/regress-698028-2.js rename : js/src/tests/js1_8_5/regress/regress-698028-3.js => js/src/tests/non262/regress/regress-698028-3.js rename : js/src/tests/js1_8_5/regress/regress-699682.js => js/src/tests/non262/regress/regress-699682.js rename : js/src/tests/js1_5/Regress/regress-71107.js => js/src/tests/non262/regress/regress-71107.js rename : js/src/tests/js1_8_5/regress/regress-736792.js => js/src/tests/non262/regress/regress-736792.js rename : js/src/tests/js1_5/Regress/regress-76054.js => js/src/tests/non262/regress/regress-76054.js rename : js/src/tests/js1_5/Regress/regress-80981.js => js/src/tests/non262/regress/regress-80981.js rename : js/src/tests/js1_8_5/regress/regress-810525.js => js/src/tests/non262/regress/regress-810525.js rename : js/src/tests/js1_5/Regress/regress-82306.js => js/src/tests/non262/regress/regress-82306.js rename : js/src/tests/js1_5/Regress/regress-89443.js => js/src/tests/non262/regress/regress-89443.js rename : js/src/tests/js1_5/Regress/regress-89474.js => js/src/tests/non262/regress/regress-89474.js rename : js/src/tests/js1_5/Regress/regress-90445.js => js/src/tests/non262/regress/regress-90445.js rename : js/src/tests/js1_5/Regress/regress-96128-n.js => js/src/tests/non262/regress/regress-96128-n.js rename : js/src/tests/js1_5/Regress/regress-96526-001.js => js/src/tests/non262/regress/regress-96526-001.js rename : js/src/tests/js1_5/Regress/regress-96526-002.js => js/src/tests/non262/regress/regress-96526-002.js rename : js/src/tests/js1_5/Regress/regress-96526-003.js => js/src/tests/non262/regress/regress-96526-003.js rename : js/src/tests/js1_5/Regress/regress-98901.js => js/src/tests/non262/regress/regress-98901.js rename : js/src/tests/js1_8_5/regress/regress-yarr-regexp.js => js/src/tests/non262/regress/regress-yarr-regexp.js rename : js/src/tests/ecma_6/Statements/arrow-function-at-end-of-for-statement-head.js => js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js rename : js/src/tests/ecma_6/Statements/arrow-function-in-for-statement-head.js => js/src/tests/non262/statements/arrow-function-in-for-statement-head.js rename : js/src/tests/ecma_2017/Statements/for-in-with-assignment-semantics.js => js/src/tests/non262/statements/for-in-with-assignment-semantics.js rename : js/src/tests/ecma_2017/Statements/for-in-with-assignment-syntax.js => js/src/tests/non262/statements/for-in-with-assignment-syntax.js rename : js/src/tests/ecma_2017/Statements/for-in-with-assignments.js => js/src/tests/non262/statements/for-in-with-assignments.js rename : js/src/tests/ecma_6/Statements/for-in-with-declaration.js => js/src/tests/non262/statements/for-in-with-declaration.js rename : js/src/tests/ecma_6/Statements/for-in-with-destructuring-assignments.js => js/src/tests/non262/statements/for-in-with-destructuring-assignments.js rename : js/src/tests/ecma_6/Statements/for-inof-coverinitname-destr-assign.js => js/src/tests/non262/statements/for-inof-coverinitname-destr-assign.js rename : js/src/tests/ecma_6/Statements/for-inof-finally.js => js/src/tests/non262/statements/for-inof-finally.js rename : js/src/tests/ecma_6/Statements/for-inof-loop-const-declaration.js => js/src/tests/non262/statements/for-inof-loop-const-declaration.js rename : js/src/tests/ecma_6/Statements/for-inof-name-iteration-expression-contains-index-string.js => js/src/tests/non262/statements/for-inof-name-iteration-expression-contains-index-string.js rename : js/src/tests/ecma_6/Statements/for-loop-declaration-contains-computed-name.js => js/src/tests/non262/statements/for-loop-declaration-contains-computed-name.js rename : js/src/tests/ecma_6/Statements/for-loop-declaration-contains-initializer.js => js/src/tests/non262/statements/for-loop-declaration-contains-initializer.js rename : js/src/tests/ecma_6/Statements/for-of-iterator-close-throw.js => js/src/tests/non262/statements/for-of-iterator-close-throw.js rename : js/src/tests/ecma_6/Statements/for-of-iterator-close.js => js/src/tests/non262/statements/for-of-iterator-close.js rename : js/src/tests/ecma_6/Statements/for-of-iterator-primitive.js => js/src/tests/non262/statements/for-of-iterator-primitive.js rename : js/src/tests/ecma_6/Statements/for-of-var-with-initializer.js => js/src/tests/non262/statements/for-of-var-with-initializer.js rename : js/src/tests/ecma_6/Statements/if-constant-folding.js => js/src/tests/non262/statements/if-constant-folding.js rename : js/src/tests/ecma_6/Statements/property-reference-self-assignment.js => js/src/tests/non262/statements/property-reference-self-assignment.js rename : js/src/tests/ecma_3/Statements/regress-131348.js => js/src/tests/non262/statements/regress-131348.js rename : js/src/tests/ecma_3/Statements/regress-157509.js => js/src/tests/non262/statements/regress-157509.js rename : js/src/tests/ecma_3/Statements/regress-194364.js => js/src/tests/non262/statements/regress-194364.js rename : js/src/tests/ecma_3/Statements/regress-226517.js => js/src/tests/non262/statements/regress-226517.js rename : js/src/tests/ecma_3/Statements/regress-302439.js => js/src/tests/non262/statements/regress-302439.js rename : js/src/tests/ecma_3/Statements/regress-324650.js => js/src/tests/non262/statements/regress-324650.js rename : js/src/tests/ecma_3/Statements/regress-444979.js => js/src/tests/non262/statements/regress-444979.js rename : js/src/tests/ecma_3/Statements/regress-642975.js => js/src/tests/non262/statements/regress-642975.js rename : js/src/tests/ecma_3/Statements/regress-74474-001.js => js/src/tests/non262/statements/regress-74474-001.js rename : js/src/tests/ecma_3/Statements/regress-74474-002.js => js/src/tests/non262/statements/regress-74474-002.js rename : js/src/tests/ecma_3/Statements/regress-74474-003.js => js/src/tests/non262/statements/regress-74474-003.js rename : js/src/tests/ecma_3/Statements/regress-83532-001.js => js/src/tests/non262/statements/regress-83532-001.js rename : js/src/tests/ecma_3/Statements/regress-83532-002.js => js/src/tests/non262/statements/regress-83532-002.js rename : js/src/tests/ecma_2017/Statements/trailing_comma_parameters.js => js/src/tests/non262/statements/trailing_comma_parameters.js rename : js/src/tests/ecma_6/Statements/try-completion.js => js/src/tests/non262/statements/try-completion.js rename : js/src/tests/ecma_5/strict/10.4.2.js => js/src/tests/non262/strict/10.4.2.js rename : js/src/tests/ecma_5/strict/10.4.3.js => js/src/tests/non262/strict/10.4.3.js rename : js/src/tests/ecma_5/strict/10.6.js => js/src/tests/non262/strict/10.6.js rename : js/src/tests/ecma_5/strict/11.1.5.js => js/src/tests/non262/strict/11.1.5.js rename : js/src/tests/ecma_5/strict/11.13.1.js => js/src/tests/non262/strict/11.13.1.js rename : js/src/tests/ecma_5/strict/11.13.2.js => js/src/tests/non262/strict/11.13.2.js rename : js/src/tests/ecma_5/strict/11.3.1.js => js/src/tests/non262/strict/11.3.1.js rename : js/src/tests/ecma_5/strict/11.3.2.js => js/src/tests/non262/strict/11.3.2.js rename : js/src/tests/ecma_5/strict/11.4.1.js => js/src/tests/non262/strict/11.4.1.js rename : js/src/tests/ecma_5/strict/11.4.4.js => js/src/tests/non262/strict/11.4.4.js rename : js/src/tests/ecma_5/strict/11.4.5.js => js/src/tests/non262/strict/11.4.5.js rename : js/src/tests/ecma_5/strict/12.10.1.js => js/src/tests/non262/strict/12.10.1.js rename : js/src/tests/ecma_5/strict/12.14.1.js => js/src/tests/non262/strict/12.14.1.js rename : js/src/tests/js1_8_1/strict/12.2.1.js => js/src/tests/non262/strict/12.2.1-01.js rename : js/src/tests/ecma_5/strict/12.2.1.js => js/src/tests/non262/strict/12.2.1.js rename : js/src/tests/ecma_5/strict/13.1.js => js/src/tests/non262/strict/13.1.js rename : js/src/tests/ecma_5/strict/15.10.7.js => js/src/tests/non262/strict/15.10.7.js rename : js/src/tests/ecma_5/strict/15.3.4.5.js => js/src/tests/non262/strict/15.3.4.5.js rename : js/src/tests/ecma_5/strict/15.3.5.1.js => js/src/tests/non262/strict/15.3.5.1.js rename : js/src/tests/ecma_5/strict/15.3.5.2.js => js/src/tests/non262/strict/15.3.5.2.js rename : js/src/tests/ecma_5/extensions/15.4.4.11.js => js/src/tests/non262/strict/15.4.4.11.js rename : js/src/tests/ecma_5/strict/15.4.4.12.js => js/src/tests/non262/strict/15.4.4.12.js rename : js/src/tests/ecma_5/strict/15.4.4.13.js => js/src/tests/non262/strict/15.4.4.13.js rename : js/src/tests/ecma_5/strict/15.4.4.6.js => js/src/tests/non262/strict/15.4.4.6.js rename : js/src/tests/ecma_5/strict/15.4.4.8.js => js/src/tests/non262/strict/15.4.4.8.js rename : js/src/tests/ecma_5/strict/15.4.4.9.js => js/src/tests/non262/strict/15.4.4.9.js rename : js/src/tests/ecma_5/strict/15.4.5.1.js => js/src/tests/non262/strict/15.4.5.1.js rename : js/src/tests/ecma_5/strict/15.5.5.1.js => js/src/tests/non262/strict/15.5.5.1.js rename : js/src/tests/ecma_5/strict/15.5.5.2.js => js/src/tests/non262/strict/15.5.5.2.js rename : js/src/tests/ecma_5/strict/8.12.5.js => js/src/tests/non262/strict/8.12.5.js rename : js/src/tests/ecma_5/strict/8.12.7-2.js => js/src/tests/non262/strict/8.12.7-2.js rename : js/src/tests/ecma_5/strict/8.12.7.js => js/src/tests/non262/strict/8.12.7.js rename : js/src/tests/js1_8_1/strict/8.7.2.js => js/src/tests/non262/strict/8.7.2-01.js rename : js/src/tests/ecma_5/strict/8.7.2.js => js/src/tests/non262/strict/8.7.2.js rename : js/src/tests/ecma_5/strict/B.1.1.js => js/src/tests/non262/strict/B.1.1.js rename : js/src/tests/ecma_5/strict/B.1.2.js => js/src/tests/non262/strict/B.1.2.js rename : js/src/tests/ecma_5/strict/assign-to-callee-name.js => js/src/tests/non262/strict/assign-to-callee-name.js rename : js/src/tests/ecma_5/strict/directive-prologue-01.js => js/src/tests/non262/strict/directive-prologue-01.js rename : js/src/tests/ecma_5/strict/eval-variable-environment.js => js/src/tests/non262/strict/eval-variable-environment.js rename : js/src/tests/ecma_5/strict/primitive-assignment.js => js/src/tests/non262/strict/primitive-assignment.js rename : js/src/tests/ecma_5/strict/primitive-this-getter.js => js/src/tests/non262/strict/primitive-this-getter.js rename : js/src/tests/ecma_5/strict/primitive-this-no-writeback.js => js/src/tests/non262/strict/primitive-this-no-writeback.js rename : js/src/tests/ecma_5/strict/rebind-eval-should-fail-in-strict-mode.js => js/src/tests/non262/strict/rebind-eval-should-fail-in-strict-mode.js rename : js/src/tests/ecma_5/strict/regress-532041.js => js/src/tests/non262/strict/regress-532041.js rename : js/src/tests/ecma_5/strict/regress-532254.js => js/src/tests/non262/strict/regress-532254.js rename : js/src/tests/ecma_5/strict/regress-599159.js => js/src/tests/non262/strict/regress-599159.js rename : js/src/tests/js1_8_1/strict/shell.js => js/src/tests/non262/strict/shell.js rename : js/src/tests/ecma_5/extensions/strict-function-statements.js => js/src/tests/non262/strict/strict-function-statements.js rename : js/src/tests/ecma_5/strict/strict-this-is-not-truthy.js => js/src/tests/non262/strict/strict-this-is-not-truthy.js rename : js/src/tests/ecma_5/strict/this-for-function-expression-recursion.js => js/src/tests/non262/strict/this-for-function-expression-recursion.js rename : js/src/tests/ecma_5/strict/unbrand-this.js => js/src/tests/non262/strict/unbrand-this.js rename : js/src/tests/ecma_6/Syntax/declaration-forbidden-in-label.js => js/src/tests/non262/syntax/declaration-forbidden-in-label.js rename : js/src/tests/ecma_6/Syntax/escaped-let-static-identifier.js => js/src/tests/non262/syntax/escaped-let-static-identifier.js rename : js/src/tests/ecma_6/Syntax/escaped-strict-reserved-words-and-yield.js => js/src/tests/non262/syntax/escaped-strict-reserved-words-and-yield.js rename : js/src/tests/ecma_6/Syntax/identifier_vertical_tilde.js => js/src/tests/non262/syntax/identifier_vertical_tilde.js rename : js/src/tests/ecma_6/Syntax/identifiers-with-extended-unicode-escape.js => js/src/tests/non262/syntax/identifiers-with-extended-unicode-escape.js rename : js/src/tests/ecma_6/Syntax/keyword-unescaped-requirement.js => js/src/tests/non262/syntax/keyword-unescaped-requirement.js rename : js/src/tests/ecma_6/Syntax/let-as-label.js => js/src/tests/non262/syntax/let-as-label.js rename : js/src/tests/ecma_7/Syntax/non-simple-with-strict-directive.js => js/src/tests/non262/syntax/non-simple-with-strict-directive.js rename : js/src/tests/ecma_2018/Syntax/omitted-catch-binding.js => js/src/tests/non262/syntax/omitted-catch-binding.js rename : js/src/tests/ecma_6/Syntax/statement-versus-statementlistitem.js => js/src/tests/non262/syntax/statement-versus-statementlistitem.js rename : js/src/tests/ecma_6/Syntax/unicode_other_id_continue.js => js/src/tests/non262/syntax/unicode_other_id_continue.js rename : js/src/tests/ecma_6/Syntax/unicode_other_id_start.js => js/src/tests/non262/syntax/unicode_other_id_start.js rename : js/src/tests/ecma_6/Syntax/yield-as-identifier.js => js/src/tests/non262/syntax/yield-as-identifier.js rename : js/src/tests/ecma_6/TemplateStrings/browser.js => js/src/tests/non262/template-strings/browser.js rename : js/src/tests/ecma_6/TemplateStrings/debugLineNumber.js => js/src/tests/non262/template-strings/debugLineNumber.js rename : js/src/tests/ecma_6/TemplateStrings/lineNumber.js => js/src/tests/non262/template-strings/lineNumber.js rename : js/src/tests/ecma_6/TemplateStrings/noSubst.js => js/src/tests/non262/template-strings/noSubst.js rename : js/src/tests/ecma_6/TemplateStrings/tagTempl.js => js/src/tests/non262/template-strings/tagTempl.js rename : js/src/tests/ecma_6/TemplateStrings/templLit.js => js/src/tests/non262/template-strings/templLit.js rename : js/src/tests/ecma_5/template.js => js/src/tests/non262/template.js rename : js/src/tests/ecma_5/Types/8.12.5-01.js => js/src/tests/non262/types/8.12.5-01.js extra : rebase_source : a40bb12d6a5606a4006319328d0094571ab8b507 --- js/src/jit-test/lib/asserts.js | 2 +- js/src/jit-test/lib/match.js | 2 +- js/src/jit-test/tests/basic/hypot-approx.js | 2 +- js/src/tests/ecma/Array/15.4-1.js | 85 - js/src/tests/ecma/Array/15.4-2.js | 69 - js/src/tests/ecma/Array/15.4.1.1.js | 68 - js/src/tests/ecma/Array/15.4.1.2.js | 110 - js/src/tests/ecma/Array/15.4.1.3.js | 44 - js/src/tests/ecma/Array/15.4.1.js | 96 - js/src/tests/ecma/Array/15.4.2.1-1.js | 69 - js/src/tests/ecma/Array/15.4.2.1-2.js | 63 - js/src/tests/ecma/Array/15.4.2.1-3.js | 93 - js/src/tests/ecma/Array/15.4.2.2-1.js | 130 - js/src/tests/ecma/Array/15.4.2.2-2.js | 74 - js/src/tests/ecma/Array/15.4.2.3.js | 57 - js/src/tests/ecma/Array/15.4.3.1-2.js | 41 - js/src/tests/ecma/Array/15.4.3.2.js | 25 - js/src/tests/ecma/Array/15.4.4.1.js | 26 - js/src/tests/ecma/Array/15.4.4.2.js | 66 - js/src/tests/ecma/Array/15.4.4.3-1.js | 114 - js/src/tests/ecma/Array/15.4.4.3-2.js | 39 - js/src/tests/ecma/Array/15.4.4.4-1.js | 238 -- js/src/tests/ecma/Array/15.4.4.4-2.js | 130 - js/src/tests/ecma/Array/15.4.4.js | 37 - js/src/tests/ecma/Array/15.4.5.1-1.js | 124 - js/src/tests/ecma/Array/15.4.5.1-2.js | 107 - js/src/tests/ecma/Array/15.4.5.2-1.js | 44 - js/src/tests/ecma/Array/15.4.5.2-2.js | 88 - js/src/tests/ecma/Boolean/15.6.1.js | 60 - js/src/tests/ecma/Boolean/15.6.2.js | 124 - js/src/tests/ecma/Boolean/15.6.3.1-1.js | 35 - js/src/tests/ecma/Boolean/15.6.3.1-2.js | 34 - js/src/tests/ecma/Boolean/15.6.3.1-3.js | 34 - js/src/tests/ecma/Boolean/15.6.3.1-4.js | 37 - js/src/tests/ecma/Boolean/15.6.3.1.js | 33 - js/src/tests/ecma/Boolean/15.6.4-1.js | 36 - js/src/tests/ecma/Boolean/15.6.4.1.js | 25 - js/src/tests/ecma/Boolean/15.6.4.2-1.js | 61 - js/src/tests/ecma/Boolean/15.6.4.2-2.js | 34 - js/src/tests/ecma/Boolean/15.6.4.2-3.js | 29 - js/src/tests/ecma/Boolean/15.6.4.2-4-n.js | 31 - js/src/tests/ecma/Boolean/15.6.4.3-1.js | 52 - js/src/tests/ecma/Boolean/15.6.4.3-2.js | 31 - js/src/tests/ecma/Boolean/15.6.4.3-3.js | 29 - js/src/tests/ecma/Boolean/15.6.4.3-4-n.js | 32 - js/src/tests/ecma/Boolean/15.6.4.3.js | 49 - js/src/tests/ecma/Boolean/15.6.4.js | 42 - js/src/tests/ecma/Date/15.9.1.1-1.js | 61 - js/src/tests/ecma/Date/15.9.1.1-2.js | 56 - js/src/tests/ecma/Date/15.9.1.13-1.js | 40 - js/src/tests/ecma/Date/15.9.2.1.js | 138 - js/src/tests/ecma/Date/15.9.2.2-1.js | 50 - js/src/tests/ecma/Date/15.9.2.2-2.js | 53 - js/src/tests/ecma/Date/15.9.2.2-3.js | 50 - js/src/tests/ecma/Date/15.9.2.2-4.js | 46 - js/src/tests/ecma/Date/15.9.2.2-5.js | 50 - js/src/tests/ecma/Date/15.9.2.2-6.js | 49 - js/src/tests/ecma/Date/15.9.3.1-1.js | 203 -- js/src/tests/ecma/Date/15.9.3.1-2.js | 116 - js/src/tests/ecma/Date/15.9.3.1-3.js | 105 - js/src/tests/ecma/Date/15.9.3.1-4.js | 115 - js/src/tests/ecma/Date/15.9.3.1-5.js | 104 - js/src/tests/ecma/Date/15.9.3.2-1.js | 115 - js/src/tests/ecma/Date/15.9.3.2-2.js | 106 - js/src/tests/ecma/Date/15.9.3.2-3.js | 110 - js/src/tests/ecma/Date/15.9.3.2-4.js | 107 - js/src/tests/ecma/Date/15.9.3.2-5.js | 104 - js/src/tests/ecma/Date/15.9.3.8-1.js | 115 - js/src/tests/ecma/Date/15.9.3.8-2.js | 113 - js/src/tests/ecma/Date/15.9.3.8-3.js | 120 - js/src/tests/ecma/Date/15.9.3.8-4.js | 121 - js/src/tests/ecma/Date/15.9.3.8-5.js | 121 - js/src/tests/ecma/Date/15.9.4.2-1.js | 47 - js/src/tests/ecma/Date/15.9.4.2.js | 154 - js/src/tests/ecma/Date/15.9.4.3.js | 151 - js/src/tests/ecma/Date/15.9.5.1.js | 26 - js/src/tests/ecma/Date/15.9.5.10-1.js | 46 - js/src/tests/ecma/Date/15.9.5.10-10.js | 50 - js/src/tests/ecma/Date/15.9.5.10-11.js | 50 - js/src/tests/ecma/Date/15.9.5.10-12.js | 50 - js/src/tests/ecma/Date/15.9.5.10-13.js | 50 - js/src/tests/ecma/Date/15.9.5.10-2.js | 46 - js/src/tests/ecma/Date/15.9.5.10-3.js | 46 - js/src/tests/ecma/Date/15.9.5.10-4.js | 46 - js/src/tests/ecma/Date/15.9.5.10-5.js | 46 - js/src/tests/ecma/Date/15.9.5.10-6.js | 46 - js/src/tests/ecma/Date/15.9.5.10-7.js | 46 - js/src/tests/ecma/Date/15.9.5.10-8.js | 50 - js/src/tests/ecma/Date/15.9.5.10-9.js | 50 - js/src/tests/ecma/Date/15.9.5.11-1.js | 39 - js/src/tests/ecma/Date/15.9.5.11-2.js | 39 - js/src/tests/ecma/Date/15.9.5.11-3.js | 39 - js/src/tests/ecma/Date/15.9.5.11-4.js | 39 - js/src/tests/ecma/Date/15.9.5.11-5.js | 39 - js/src/tests/ecma/Date/15.9.5.11-6.js | 39 - js/src/tests/ecma/Date/15.9.5.11-7.js | 39 - js/src/tests/ecma/Date/15.9.5.12-1.js | 40 - js/src/tests/ecma/Date/15.9.5.12-2.js | 41 - js/src/tests/ecma/Date/15.9.5.12-3.js | 40 - js/src/tests/ecma/Date/15.9.5.12-4.js | 40 - js/src/tests/ecma/Date/15.9.5.12-5.js | 40 - js/src/tests/ecma/Date/15.9.5.12-6.js | 40 - js/src/tests/ecma/Date/15.9.5.12-7.js | 40 - js/src/tests/ecma/Date/15.9.5.12-8.js | 33 - js/src/tests/ecma/Date/15.9.5.13-1.js | 42 - js/src/tests/ecma/Date/15.9.5.13-2.js | 39 - js/src/tests/ecma/Date/15.9.5.13-3.js | 40 - js/src/tests/ecma/Date/15.9.5.13-4.js | 40 - js/src/tests/ecma/Date/15.9.5.13-5.js | 40 - js/src/tests/ecma/Date/15.9.5.13-6.js | 40 - js/src/tests/ecma/Date/15.9.5.13-7.js | 39 - js/src/tests/ecma/Date/15.9.5.13-8.js | 33 - js/src/tests/ecma/Date/15.9.5.14.js | 49 - js/src/tests/ecma/Date/15.9.5.15.js | 49 - js/src/tests/ecma/Date/15.9.5.16.js | 49 - js/src/tests/ecma/Date/15.9.5.17.js | 49 - js/src/tests/ecma/Date/15.9.5.18.js | 49 - js/src/tests/ecma/Date/15.9.5.19.js | 49 - js/src/tests/ecma/Date/15.9.5.2-1.js | 115 - js/src/tests/ecma/Date/15.9.5.2.js | 115 - js/src/tests/ecma/Date/15.9.5.20.js | 49 - js/src/tests/ecma/Date/15.9.5.21-1.js | 33 - js/src/tests/ecma/Date/15.9.5.21-2.js | 33 - js/src/tests/ecma/Date/15.9.5.21-3.js | 33 - js/src/tests/ecma/Date/15.9.5.21-4.js | 33 - js/src/tests/ecma/Date/15.9.5.21-5.js | 33 - js/src/tests/ecma/Date/15.9.5.21-6.js | 33 - js/src/tests/ecma/Date/15.9.5.21-7.js | 33 - js/src/tests/ecma/Date/15.9.5.21-8.js | 33 - js/src/tests/ecma/Date/15.9.5.22-1.js | 50 - js/src/tests/ecma/Date/15.9.5.22-2.js | 38 - js/src/tests/ecma/Date/15.9.5.22-3.js | 38 - js/src/tests/ecma/Date/15.9.5.22-4.js | 38 - js/src/tests/ecma/Date/15.9.5.22-5.js | 38 - js/src/tests/ecma/Date/15.9.5.22-6.js | 38 - js/src/tests/ecma/Date/15.9.5.22-7.js | 38 - js/src/tests/ecma/Date/15.9.5.22-8.js | 34 - js/src/tests/ecma/Date/15.9.5.23-1.js | 103 - js/src/tests/ecma/Date/15.9.5.23-10.js | 103 - js/src/tests/ecma/Date/15.9.5.23-11.js | 104 - js/src/tests/ecma/Date/15.9.5.23-12.js | 101 - js/src/tests/ecma/Date/15.9.5.23-13.js | 101 - js/src/tests/ecma/Date/15.9.5.23-14.js | 101 - js/src/tests/ecma/Date/15.9.5.23-15.js | 101 - js/src/tests/ecma/Date/15.9.5.23-16.js | 101 - js/src/tests/ecma/Date/15.9.5.23-17.js | 101 - js/src/tests/ecma/Date/15.9.5.23-18.js | 101 - js/src/tests/ecma/Date/15.9.5.23-2.js | 65 - js/src/tests/ecma/Date/15.9.5.23-3-n.js | 42 - js/src/tests/ecma/Date/15.9.5.23-4.js | 68 - js/src/tests/ecma/Date/15.9.5.23-5.js | 69 - js/src/tests/ecma/Date/15.9.5.23-6.js | 68 - js/src/tests/ecma/Date/15.9.5.23-7.js | 69 - js/src/tests/ecma/Date/15.9.5.23-8.js | 61 - js/src/tests/ecma/Date/15.9.5.23-9.js | 61 - js/src/tests/ecma/Date/15.9.5.24-1.js | 99 - js/src/tests/ecma/Date/15.9.5.24-2.js | 99 - js/src/tests/ecma/Date/15.9.5.24-3.js | 99 - js/src/tests/ecma/Date/15.9.5.24-4.js | 99 - js/src/tests/ecma/Date/15.9.5.24-5.js | 99 - js/src/tests/ecma/Date/15.9.5.24-6.js | 99 - js/src/tests/ecma/Date/15.9.5.24-7.js | 99 - js/src/tests/ecma/Date/15.9.5.24-8.js | 98 - js/src/tests/ecma/Date/15.9.5.25-1.js | 137 - js/src/tests/ecma/Date/15.9.5.26-1.js | 146 - js/src/tests/ecma/Date/15.9.5.27-1.js | 146 - js/src/tests/ecma/Date/15.9.5.28-1.js | 161 - js/src/tests/ecma/Date/15.9.5.29-1.js | 155 - js/src/tests/ecma/Date/15.9.5.3-1-n.js | 42 - js/src/tests/ecma/Date/15.9.5.3-2.js | 63 - js/src/tests/ecma/Date/15.9.5.30-1.js | 156 - js/src/tests/ecma/Date/15.9.5.31-1.js | 185 - js/src/tests/ecma/Date/15.9.5.32-1.js | 105 - js/src/tests/ecma/Date/15.9.5.33-1.js | 109 - js/src/tests/ecma/Date/15.9.5.34-1.js | 145 - js/src/tests/ecma/Date/15.9.5.35-1.js | 103 - js/src/tests/ecma/Date/15.9.5.36-1.js | 129 - js/src/tests/ecma/Date/15.9.5.36-2.js | 128 - js/src/tests/ecma/Date/15.9.5.36-3.js | 127 - js/src/tests/ecma/Date/15.9.5.36-4.js | 127 - js/src/tests/ecma/Date/15.9.5.36-5.js | 127 - js/src/tests/ecma/Date/15.9.5.36-6.js | 127 - js/src/tests/ecma/Date/15.9.5.36-7.js | 127 - js/src/tests/ecma/Date/15.9.5.37-1.js | 137 - js/src/tests/ecma/Date/15.9.5.37-2.js | 125 - js/src/tests/ecma/Date/15.9.5.37-3.js | 128 - js/src/tests/ecma/Date/15.9.5.37-4.js | 127 - js/src/tests/ecma/Date/15.9.5.37-5.js | 123 - js/src/tests/ecma/Date/15.9.5.4-1.js | 52 - js/src/tests/ecma/Date/15.9.5.4-2-n.js | 38 - js/src/tests/ecma/Date/15.9.5.5.js | 69 - js/src/tests/ecma/Date/15.9.5.6.js | 61 - js/src/tests/ecma/Date/15.9.5.7.js | 62 - js/src/tests/ecma/Date/15.9.5.8.js | 71 - js/src/tests/ecma/Date/15.9.5.9.js | 71 - js/src/tests/ecma/Date/15.9.5.js | 48 - .../tests/ecma/ExecutionContexts/10.1.3-1.js | 68 - .../tests/ecma/ExecutionContexts/10.1.3-2.js | 37 - js/src/tests/ecma/ExecutionContexts/10.1.3.js | 118 - .../tests/ecma/ExecutionContexts/10.1.4-1.js | 64 - .../tests/ecma/ExecutionContexts/10.1.4-10.js | 59 - .../tests/ecma/ExecutionContexts/10.1.4-2.js | 66 - .../tests/ecma/ExecutionContexts/10.1.4-3.js | 64 - .../tests/ecma/ExecutionContexts/10.1.4-4.js | 67 - .../tests/ecma/ExecutionContexts/10.1.4-5.js | 66 - .../tests/ecma/ExecutionContexts/10.1.4-6.js | 60 - .../tests/ecma/ExecutionContexts/10.1.4-7.js | 65 - .../tests/ecma/ExecutionContexts/10.1.4-8.js | 66 - .../tests/ecma/ExecutionContexts/10.1.5-1.js | 44 - .../tests/ecma/ExecutionContexts/10.1.5-2.js | 47 - .../tests/ecma/ExecutionContexts/10.1.5-3.js | 46 - .../tests/ecma/ExecutionContexts/10.1.5-4.js | 48 - .../tests/ecma/ExecutionContexts/10.1.8-2.js | 81 - .../tests/ecma/ExecutionContexts/10.1.8-3.js | 29 - js/src/tests/ecma/ExecutionContexts/10.2.1.js | 47 - .../tests/ecma/ExecutionContexts/10.2.2-1.js | 81 - .../tests/ecma/ExecutionContexts/10.2.2-2.js | 90 - .../tests/ecma/ExecutionContexts/10.2.3-1.js | 48 - .../tests/ecma/ExecutionContexts/10.2.3-2.js | 54 - js/src/tests/ecma/Expressions/11.1.1.js | 101 - js/src/tests/ecma/Expressions/11.10-1.js | 234 -- js/src/tests/ecma/Expressions/11.10-2.js | 233 -- js/src/tests/ecma/Expressions/11.10-3.js | 232 -- js/src/tests/ecma/Expressions/11.12-1.js | 67 - js/src/tests/ecma/Expressions/11.12-2-n.js | 36 - js/src/tests/ecma/Expressions/11.12-3.js | 34 - js/src/tests/ecma/Expressions/11.12-4.js | 34 - js/src/tests/ecma/Expressions/11.13.1.js | 35 - js/src/tests/ecma/Expressions/11.13.2-1.js | 165 - js/src/tests/ecma/Expressions/11.13.2-2.js | 186 - js/src/tests/ecma/Expressions/11.13.2-3.js | 224 -- js/src/tests/ecma/Expressions/11.13.2-4.js | 101 - js/src/tests/ecma/Expressions/11.13.2-5.js | 101 - js/src/tests/ecma/Expressions/11.13.js | 50 - js/src/tests/ecma/Expressions/11.14-1.js | 37 - js/src/tests/ecma/Expressions/11.2.1-1.js | 234 -- js/src/tests/ecma/Expressions/11.2.1-2.js | 90 - js/src/tests/ecma/Expressions/11.2.1-3-n.js | 91 - js/src/tests/ecma/Expressions/11.2.1-4-n.js | 89 - js/src/tests/ecma/Expressions/11.2.1-5.js | 90 - js/src/tests/ecma/Expressions/11.2.2-1-n.js | 67 - js/src/tests/ecma/Expressions/11.2.2-1.js | 63 - js/src/tests/ecma/Expressions/11.2.2-10-n.js | 64 - js/src/tests/ecma/Expressions/11.2.2-11.js | 66 - js/src/tests/ecma/Expressions/11.2.2-2-n.js | 67 - js/src/tests/ecma/Expressions/11.2.2-3-n.js | 63 - js/src/tests/ecma/Expressions/11.2.2-4-n.js | 67 - js/src/tests/ecma/Expressions/11.2.2-5-n.js | 67 - js/src/tests/ecma/Expressions/11.2.2-6-n.js | 66 - js/src/tests/ecma/Expressions/11.2.2-7-n.js | 67 - js/src/tests/ecma/Expressions/11.2.2-8-n.js | 67 - js/src/tests/ecma/Expressions/11.2.2-9-n.js | 67 - js/src/tests/ecma/Expressions/11.2.3-1.js | 85 - js/src/tests/ecma/Expressions/11.2.3-2-n.js | 58 - js/src/tests/ecma/Expressions/11.2.3-3-n.js | 53 - js/src/tests/ecma/Expressions/11.2.3-4-n.js | 53 - js/src/tests/ecma/Expressions/11.2.3-5.js | 49 - js/src/tests/ecma/Expressions/11.3.1.js | 117 - js/src/tests/ecma/Expressions/11.3.2.js | 117 - js/src/tests/ecma/Expressions/11.4.1.js | 55 - js/src/tests/ecma/Expressions/11.4.2.js | 47 - js/src/tests/ecma/Expressions/11.4.3.js | 75 - js/src/tests/ecma/Expressions/11.4.4.js | 120 - js/src/tests/ecma/Expressions/11.4.5.js | 118 - js/src/tests/ecma/Expressions/11.4.6.js | 264 -- js/src/tests/ecma/Expressions/11.4.7-01.js | 264 -- js/src/tests/ecma/Expressions/11.4.7-02.js | 53 - js/src/tests/ecma/Expressions/11.4.8.js | 179 - js/src/tests/ecma/Expressions/11.4.9.js | 55 - js/src/tests/ecma/Expressions/11.5.1.js | 79 - js/src/tests/ecma/Expressions/11.5.2.js | 119 - js/src/tests/ecma/Expressions/11.5.3.js | 126 - js/src/tests/ecma/Expressions/11.6.1-1.js | 112 - js/src/tests/ecma/Expressions/11.6.1-2.js | 115 - js/src/tests/ecma/Expressions/11.6.1-3.js | 105 - js/src/tests/ecma/Expressions/11.6.2-1.js | 114 - js/src/tests/ecma/Expressions/11.6.3.js | 79 - js/src/tests/ecma/Expressions/11.7.1.js | 192 - js/src/tests/ecma/Expressions/11.7.2.js | 208 -- js/src/tests/ecma/Expressions/11.7.3.js | 193 - js/src/tests/ecma/Expressions/11.8.1.js | 85 - js/src/tests/ecma/Expressions/11.8.2.js | 85 - js/src/tests/ecma/Expressions/11.8.3.js | 84 - js/src/tests/ecma/Expressions/11.8.4.js | 85 - js/src/tests/ecma/Expressions/11.9.1.js | 124 - js/src/tests/ecma/Expressions/11.9.2.js | 124 - js/src/tests/ecma/Expressions/11.9.3.js | 124 - .../tests/ecma/FunctionObjects/15.3.1.1-1.js | 88 - .../tests/ecma/FunctionObjects/15.3.1.1-2.js | 147 - .../tests/ecma/FunctionObjects/15.3.1.1-3.js | 63 - .../tests/ecma/FunctionObjects/15.3.2.1-1.js | 85 - .../tests/ecma/FunctionObjects/15.3.2.1-2.js | 71 - .../tests/ecma/FunctionObjects/15.3.2.1-3.js | 59 - .../tests/ecma/FunctionObjects/15.3.3.1-2.js | 33 - .../tests/ecma/FunctionObjects/15.3.3.1-3.js | 41 - .../tests/ecma/FunctionObjects/15.3.3.1-4.js | 33 - js/src/tests/ecma/FunctionObjects/15.3.3.2.js | 26 - js/src/tests/ecma/FunctionObjects/15.3.4-1.js | 54 - js/src/tests/ecma/FunctionObjects/15.3.4.1.js | 25 - js/src/tests/ecma/FunctionObjects/15.3.4.js | 45 - js/src/tests/ecma/FunctionObjects/15.3.5-1.js | 81 - js/src/tests/ecma/FunctionObjects/15.3.5-2.js | 54 - js/src/tests/ecma/FunctionObjects/15.3.5.1.js | 46 - js/src/tests/ecma/FunctionObjects/15.3.5.3.js | 36 - js/src/tests/ecma/GlobalObject/15.1-1-n.js | 32 - js/src/tests/ecma/GlobalObject/15.1-2-n.js | 29 - js/src/tests/ecma/GlobalObject/15.1.1.1.js | 27 - js/src/tests/ecma/GlobalObject/15.1.1.2.js | 26 - js/src/tests/ecma/GlobalObject/15.1.2.1-2.js | 28 - js/src/tests/ecma/GlobalObject/15.1.2.2-1.js | 326 -- js/src/tests/ecma/GlobalObject/15.1.2.2-2.js | 205 -- js/src/tests/ecma/GlobalObject/15.1.2.3-1.js | 402 --- js/src/tests/ecma/GlobalObject/15.1.2.3-2.js | 253 -- js/src/tests/ecma/GlobalObject/15.1.2.4.js | 167 - js/src/tests/ecma/GlobalObject/15.1.2.5-1.js | 168 - js/src/tests/ecma/GlobalObject/15.1.2.5-2.js | 146 - js/src/tests/ecma/GlobalObject/15.1.2.5-3.js | 171 - js/src/tests/ecma/GlobalObject/15.1.2.6.js | 85 - js/src/tests/ecma/GlobalObject/15.1.2.7.js | 90 - js/src/tests/ecma/LexicalConventions/7.1-1.js | 46 - js/src/tests/ecma/LexicalConventions/7.1-2.js | 37 - js/src/tests/ecma/LexicalConventions/7.1-3.js | 50 - js/src/tests/ecma/LexicalConventions/7.2-1.js | 37 - .../tests/ecma/LexicalConventions/7.2-2-n.js | 37 - .../tests/ecma/LexicalConventions/7.2-3-n.js | 37 - .../tests/ecma/LexicalConventions/7.2-4-n.js | 36 - .../tests/ecma/LexicalConventions/7.2-5-n.js | 35 - js/src/tests/ecma/LexicalConventions/7.2-6.js | 32 - js/src/tests/ecma/LexicalConventions/7.3-1.js | 42 - .../tests/ecma/LexicalConventions/7.3-10.js | 30 - .../tests/ecma/LexicalConventions/7.3-11.js | 30 - .../tests/ecma/LexicalConventions/7.3-12.js | 30 - .../tests/ecma/LexicalConventions/7.3-13-n.js | 29 - js/src/tests/ecma/LexicalConventions/7.3-2.js | 30 - js/src/tests/ecma/LexicalConventions/7.3-3.js | 31 - js/src/tests/ecma/LexicalConventions/7.3-4.js | 30 - js/src/tests/ecma/LexicalConventions/7.3-5.js | 30 - js/src/tests/ecma/LexicalConventions/7.3-6.js | 30 - js/src/tests/ecma/LexicalConventions/7.3-7.js | 31 - js/src/tests/ecma/LexicalConventions/7.3-8.js | 30 - js/src/tests/ecma/LexicalConventions/7.3-9.js | 30 - .../ecma/LexicalConventions/7.4.1-1-n.js | 34 - .../ecma/LexicalConventions/7.4.1-2-n.js | 34 - .../ecma/LexicalConventions/7.4.1-3-n.js | 32 - .../ecma/LexicalConventions/7.4.2-1-n.js | 40 - .../ecma/LexicalConventions/7.4.2-10-n.js | 40 - .../ecma/LexicalConventions/7.4.2-11-n.js | 40 - .../ecma/LexicalConventions/7.4.2-12-n.js | 40 - .../ecma/LexicalConventions/7.4.2-13-n.js | 40 - .../ecma/LexicalConventions/7.4.2-14-n.js | 40 - .../ecma/LexicalConventions/7.4.2-15-n.js | 40 - .../ecma/LexicalConventions/7.4.2-16-n.js | 40 - .../ecma/LexicalConventions/7.4.2-2-n.js | 40 - .../ecma/LexicalConventions/7.4.2-3-n.js | 40 - .../ecma/LexicalConventions/7.4.2-4-n.js | 40 - .../ecma/LexicalConventions/7.4.2-5-n.js | 40 - .../ecma/LexicalConventions/7.4.2-6-n.js | 40 - .../ecma/LexicalConventions/7.4.2-7-n.js | 38 - .../ecma/LexicalConventions/7.4.2-8-n.js | 39 - .../ecma/LexicalConventions/7.4.2-9-n.js | 40 - .../ecma/LexicalConventions/7.4.3-1-n.js | 34 - .../ecma/LexicalConventions/7.4.3-10-n.js | 34 - .../ecma/LexicalConventions/7.4.3-11-n.js | 34 - .../ecma/LexicalConventions/7.4.3-12-n.js | 34 - .../ecma/LexicalConventions/7.4.3-13-n.js | 34 - .../ecma/LexicalConventions/7.4.3-14-n.js | 53 - .../ecma/LexicalConventions/7.4.3-15-n.js | 53 - .../ecma/LexicalConventions/7.4.3-16-n.js | 50 - .../ecma/LexicalConventions/7.4.3-2-n.js | 34 - .../ecma/LexicalConventions/7.4.3-4-n.js | 52 - .../ecma/LexicalConventions/7.4.3-5-n.js | 34 - .../ecma/LexicalConventions/7.4.3-6-n.js | 34 - .../ecma/LexicalConventions/7.4.3-7-n.js | 53 - .../ecma/LexicalConventions/7.4.3-8-n.js | 34 - .../ecma/LexicalConventions/7.4.3-9-n.js | 53 - js/src/tests/ecma/LexicalConventions/7.5-1.js | 26 - .../tests/ecma/LexicalConventions/7.5-10-n.js | 27 - .../tests/ecma/LexicalConventions/7.5-2-n.js | 27 - .../tests/ecma/LexicalConventions/7.5-3-n.js | 27 - .../tests/ecma/LexicalConventions/7.5-4-n.js | 27 - .../tests/ecma/LexicalConventions/7.5-5-n.js | 27 - js/src/tests/ecma/LexicalConventions/7.5-6.js | 25 - js/src/tests/ecma/LexicalConventions/7.5-7.js | 25 - .../tests/ecma/LexicalConventions/7.5-8-n.js | 27 - .../tests/ecma/LexicalConventions/7.5-9-n.js | 27 - js/src/tests/ecma/LexicalConventions/7.6.js | 277 -- js/src/tests/ecma/LexicalConventions/7.7.1.js | 28 - js/src/tests/ecma/LexicalConventions/7.7.2.js | 35 - .../tests/ecma/LexicalConventions/7.7.3-1.js | 163 - .../tests/ecma/LexicalConventions/7.7.3-2.js | 54 - js/src/tests/ecma/LexicalConventions/7.7.3.js | 282 -- js/src/tests/ecma/LexicalConventions/7.7.4.js | 206 -- .../tests/ecma/LexicalConventions/7.8.2-n.js | 26 - js/src/tests/ecma/Math/15.8-2-n.js | 45 - js/src/tests/ecma/Math/15.8-3-n.js | 44 - js/src/tests/ecma/Math/15.8.1.1-1.js | 27 - js/src/tests/ecma/Math/15.8.1.1-2.js | 31 - js/src/tests/ecma/Math/15.8.1.2-1.js | 27 - js/src/tests/ecma/Math/15.8.1.2-2.js | 32 - js/src/tests/ecma/Math/15.8.1.3-1.js | 28 - js/src/tests/ecma/Math/15.8.1.3-2.js | 34 - js/src/tests/ecma/Math/15.8.1.4-1.js | 28 - js/src/tests/ecma/Math/15.8.1.4-2.js | 31 - js/src/tests/ecma/Math/15.8.1.5-1.js | 29 - js/src/tests/ecma/Math/15.8.1.5-2.js | 32 - js/src/tests/ecma/Math/15.8.1.6-1.js | 28 - js/src/tests/ecma/Math/15.8.1.6-2.js | 32 - js/src/tests/ecma/Math/15.8.1.7-1.js | 28 - js/src/tests/ecma/Math/15.8.1.7-2.js | 32 - js/src/tests/ecma/Math/15.8.1.8-1.js | 28 - js/src/tests/ecma/Math/15.8.1.8-2.js | 31 - js/src/tests/ecma/Math/15.8.1.8-3.js | 26 - js/src/tests/ecma/Math/15.8.2.1.js | 191 - js/src/tests/ecma/Math/15.8.2.10.js | 118 - js/src/tests/ecma/Math/15.8.2.11.js | 165 - js/src/tests/ecma/Math/15.8.2.12.js | 142 - js/src/tests/ecma/Math/15.8.2.14.js | 43 - js/src/tests/ecma/Math/15.8.2.15.js | 143 - js/src/tests/ecma/Math/15.8.2.6.js | 196 - js/src/tests/ecma/Math/15.8.2.9.js | 155 - js/src/tests/ecma/Number/15.7.1.js | 52 - js/src/tests/ecma/Number/15.7.2.js | 121 - js/src/tests/ecma/Number/15.7.3.1-1.js | 33 - js/src/tests/ecma/Number/15.7.3.1-2.js | 33 - js/src/tests/ecma/Number/15.7.3.1-3.js | 30 - js/src/tests/ecma/Number/15.7.3.2-1.js | 28 - js/src/tests/ecma/Number/15.7.3.2-2.js | 32 - js/src/tests/ecma/Number/15.7.3.2-3.js | 30 - js/src/tests/ecma/Number/15.7.3.2-4.js | 27 - js/src/tests/ecma/Number/15.7.3.3-1.js | 31 - js/src/tests/ecma/Number/15.7.3.3-2.js | 35 - js/src/tests/ecma/Number/15.7.3.3-3.js | 27 - js/src/tests/ecma/Number/15.7.3.3-4.js | 29 - js/src/tests/ecma/Number/15.7.3.4-1.js | 29 - js/src/tests/ecma/Number/15.7.3.4-2.js | 33 - js/src/tests/ecma/Number/15.7.3.4-3.js | 28 - js/src/tests/ecma/Number/15.7.3.4-4.js | 29 - js/src/tests/ecma/Number/15.7.3.5-1.js | 27 - js/src/tests/ecma/Number/15.7.3.5-2.js | 32 - js/src/tests/ecma/Number/15.7.3.5-3.js | 28 - js/src/tests/ecma/Number/15.7.3.5-4.js | 29 - js/src/tests/ecma/Number/15.7.3.6-1.js | 28 - js/src/tests/ecma/Number/15.7.3.6-2.js | 31 - js/src/tests/ecma/Number/15.7.3.6-3.js | 28 - js/src/tests/ecma/Number/15.7.3.6-4.js | 29 - js/src/tests/ecma/Number/15.7.3.js | 32 - js/src/tests/ecma/Number/15.7.4-1.js | 24 - js/src/tests/ecma/Number/15.7.4.1.js | 25 - js/src/tests/ecma/Number/15.7.4.2-1.js | 66 - js/src/tests/ecma/Number/15.7.4.2-2-n.js | 39 - js/src/tests/ecma/Number/15.7.4.2-3-n.js | 36 - js/src/tests/ecma/Number/15.7.4.2-4.js | 34 - js/src/tests/ecma/Number/15.7.4.3-1.js | 54 - js/src/tests/ecma/Number/15.7.4.3-2.js | 28 - js/src/tests/ecma/Number/15.7.4.3-3-n.js | 34 - js/src/tests/ecma/ObjectObjects/15.2.1.1.js | 110 - js/src/tests/ecma/ObjectObjects/15.2.1.2.js | 45 - js/src/tests/ecma/ObjectObjects/15.2.2.1.js | 102 - js/src/tests/ecma/ObjectObjects/15.2.2.2.js | 38 - js/src/tests/ecma/ObjectObjects/15.2.3-1.js | 28 - js/src/tests/ecma/ObjectObjects/15.2.3.1-1.js | 32 - js/src/tests/ecma/ObjectObjects/15.2.3.1-2.js | 33 - js/src/tests/ecma/ObjectObjects/15.2.3.1-3.js | 33 - js/src/tests/ecma/ObjectObjects/15.2.3.1-4.js | 33 - js/src/tests/ecma/ObjectObjects/15.2.3.js | 31 - js/src/tests/ecma/ObjectObjects/15.2.4.1.js | 27 - js/src/tests/ecma/ObjectObjects/15.2.4.2.js | 94 - js/src/tests/ecma/ObjectObjects/15.2.4.3.js | 73 - js/src/tests/ecma/README | 1 - js/src/tests/ecma/SourceText/6-1.js | 96 - js/src/tests/ecma/SourceText/6-2.js | 86 - js/src/tests/ecma/Statements/12.10-1.js | 109 - js/src/tests/ecma/Statements/12.10.js | 24 - js/src/tests/ecma/Statements/12.2-1.js | 38 - js/src/tests/ecma/Statements/12.5-1.js | 60 - js/src/tests/ecma/Statements/12.5-2.js | 57 - js/src/tests/ecma/Statements/12.6.1-1.js | 35 - js/src/tests/ecma/Statements/12.6.2-1.js | 39 - js/src/tests/ecma/Statements/12.6.2-2.js | 40 - js/src/tests/ecma/Statements/12.6.2-3.js | 36 - js/src/tests/ecma/Statements/12.6.2-4.js | 36 - js/src/tests/ecma/Statements/12.6.2-5.js | 37 - js/src/tests/ecma/Statements/12.6.2-6.js | 39 - js/src/tests/ecma/Statements/12.6.2-7.js | 37 - js/src/tests/ecma/Statements/12.6.2-8.js | 35 - js/src/tests/ecma/Statements/12.6.2-9-n.js | 38 - js/src/tests/ecma/Statements/12.6.3-1.js | 26 - js/src/tests/ecma/Statements/12.6.3-10.js | 77 - js/src/tests/ecma/Statements/12.6.3-11.js | 62 - js/src/tests/ecma/Statements/12.6.3-12.js | 66 - js/src/tests/ecma/Statements/12.6.3-19.js | 79 - js/src/tests/ecma/Statements/12.6.3-2.js | 26 - js/src/tests/ecma/Statements/12.6.3-3.js | 36 - js/src/tests/ecma/Statements/12.6.3-4.js | 157 - js/src/tests/ecma/Statements/12.6.3-5-n.js | 73 - js/src/tests/ecma/Statements/12.6.3-6-n.js | 72 - js/src/tests/ecma/Statements/12.6.3-7-n.js | 73 - js/src/tests/ecma/Statements/12.6.3-8-n.js | 73 - js/src/tests/ecma/Statements/12.6.3-9-n.js | 72 - js/src/tests/ecma/Statements/12.7-1-n.js | 26 - js/src/tests/ecma/Statements/12.8-1-n.js | 29 - js/src/tests/ecma/Statements/12.9-1-n.js | 25 - js/src/tests/ecma/String/15.5.1.js | 98 - js/src/tests/ecma/String/15.5.2.js | 74 - js/src/tests/ecma/String/15.5.3.1-1.js | 34 - js/src/tests/ecma/String/15.5.3.1-2.js | 32 - js/src/tests/ecma/String/15.5.3.1-3.js | 30 - js/src/tests/ecma/String/15.5.3.1-4.js | 30 - js/src/tests/ecma/String/15.5.3.2-1.js | 174 - js/src/tests/ecma/String/15.5.3.2-2.js | 39 - js/src/tests/ecma/String/15.5.3.2-3.js | 80 - js/src/tests/ecma/String/15.5.3.js | 30 - js/src/tests/ecma/String/15.5.4.1.js | 27 - js/src/tests/ecma/String/15.5.4.10-1.js | 159 - js/src/tests/ecma/String/15.5.4.11-1.js | 480 --- js/src/tests/ecma/String/15.5.4.11-3.js | 478 --- js/src/tests/ecma/String/15.5.4.11-4.js | 471 --- js/src/tests/ecma/String/15.5.4.11-6.js | 480 --- js/src/tests/ecma/String/15.5.4.12-2.js | 482 --- js/src/tests/ecma/String/15.5.4.12-3.js | 519 --- js/src/tests/ecma/String/15.5.4.12-5.js | 482 --- js/src/tests/ecma/String/15.5.4.2-1.js | 36 - js/src/tests/ecma/String/15.5.4.2-2-n.js | 35 - js/src/tests/ecma/String/15.5.4.2-3.js | 43 - js/src/tests/ecma/String/15.5.4.2.js | 45 - js/src/tests/ecma/String/15.5.4.3-1.js | 36 - js/src/tests/ecma/String/15.5.4.3-2.js | 49 - js/src/tests/ecma/String/15.5.4.3-3-n.js | 34 - js/src/tests/ecma/String/15.5.4.4-1.js | 54 - js/src/tests/ecma/String/15.5.4.4-2.js | 100 - js/src/tests/ecma/String/15.5.4.4-3.js | 76 - js/src/tests/ecma/String/15.5.4.4-4.js | 88 - js/src/tests/ecma/String/15.5.4.5-1.js | 51 - js/src/tests/ecma/String/15.5.4.5-2.js | 85 - js/src/tests/ecma/String/15.5.4.5-3.js | 95 - js/src/tests/ecma/String/15.5.4.5-4.js | 37 - js/src/tests/ecma/String/15.5.4.5-5.js | 70 - js/src/tests/ecma/String/15.5.4.6-1.js | 113 - js/src/tests/ecma/String/15.5.4.6-2.js | 200 -- js/src/tests/ecma/String/15.5.4.7-1.js | 175 - js/src/tests/ecma/String/15.5.4.7-2.js | 173 - js/src/tests/ecma/String/15.5.4.8-1.js | 166 - js/src/tests/ecma/String/15.5.4.8-2.js | 193 - js/src/tests/ecma/String/15.5.4.8-3.js | 155 - js/src/tests/ecma/String/15.5.4.9-1.js | 145 - js/src/tests/ecma/String/15.5.4.js | 65 - js/src/tests/ecma/String/15.5.5.1.js | 47 - js/src/tests/ecma/TypeConversion/9.2.js | 96 - js/src/tests/ecma/TypeConversion/9.3-1.js | 65 - js/src/tests/ecma/TypeConversion/9.3.1-1.js | 307 -- js/src/tests/ecma/TypeConversion/9.3.1-2.js | 51 - js/src/tests/ecma/TypeConversion/9.3.1-3.js | 716 ---- js/src/tests/ecma/TypeConversion/9.3.js | 51 - js/src/tests/ecma/TypeConversion/9.4-1.js | 76 - js/src/tests/ecma/TypeConversion/9.4-2.js | 76 - js/src/tests/ecma/TypeConversion/9.5-2.js | 137 - js/src/tests/ecma/TypeConversion/9.6.js | 104 - js/src/tests/ecma/TypeConversion/9.7.js | 124 - js/src/tests/ecma/TypeConversion/9.8.1.js | 131 - js/src/tests/ecma/TypeConversion/9.9-1.js | 83 - js/src/tests/ecma/Types/8.1.js | 36 - js/src/tests/ecma/Types/8.4.js | 90 - js/src/tests/ecma/Types/8.6.2.1-1.js | 42 - js/src/tests/ecma/extensions/10.1.4-9.js | 63 - js/src/tests/ecma/extensions/10.1.6.js | 87 - js/src/tests/ecma/extensions/10.1.8-1.js | 99 - js/src/tests/ecma/extensions/11.6.1-1.js | 104 - js/src/tests/ecma/extensions/11.6.1-2.js | 96 - js/src/tests/ecma/extensions/11.6.1-3.js | 99 - js/src/tests/ecma/extensions/11.6.2-1.js | 85 - js/src/tests/ecma/extensions/15-1.js | 56 - js/src/tests/ecma/extensions/15-2.js | 41 - js/src/tests/ecma/extensions/15.1.2.1-1.js | 49 - js/src/tests/ecma/extensions/15.2.1.1.js | 46 - js/src/tests/ecma/extensions/15.2.3-1.js | 28 - js/src/tests/ecma/extensions/15.2.4.js | 29 - js/src/tests/ecma/extensions/15.3.1.1-1.js | 45 - js/src/tests/ecma/extensions/15.3.1.1-2.js | 44 - js/src/tests/ecma/extensions/15.3.2.1-1.js | 35 - js/src/tests/ecma/extensions/15.3.2.1-2.js | 36 - js/src/tests/ecma/extensions/15.3.3.1-1.js | 31 - js/src/tests/ecma/extensions/15.4.3.js | 26 - js/src/tests/ecma/extensions/15.5.3.js | 30 - js/src/tests/ecma/extensions/15.5.4.2.js | 23 - js/src/tests/ecma/extensions/15.5.4.4-4.js | 71 - js/src/tests/ecma/extensions/15.5.4.5-6.js | 55 - js/src/tests/ecma/extensions/15.5.4.7-3.js | 120 - js/src/tests/ecma/extensions/15.6.3.1-5.js | 22 - js/src/tests/ecma/extensions/15.6.3.js | 29 - js/src/tests/ecma/extensions/15.6.4-2.js | 30 - js/src/tests/ecma/extensions/15.7.3.js | 32 - js/src/tests/ecma/extensions/15.7.4.js | 51 - js/src/tests/ecma/extensions/15.8-1.js | 46 - js/src/tests/ecma/extensions/8.6.2.1-1.js | 62 - js/src/tests/ecma/extensions/9.9-1.js | 66 - js/src/tests/ecma/shell.js | 634 ---- js/src/tests/ecma/template.js | 38 - js/src/tests/ecma_2/Exceptions/boolean-001.js | 44 - js/src/tests/ecma_2/Exceptions/boolean-002.js | 48 - js/src/tests/ecma_2/Exceptions/date-002.js | 51 - js/src/tests/ecma_2/Exceptions/date-003.js | 53 - js/src/tests/ecma_2/Exceptions/date-004.js | 47 - .../tests/ecma_2/Exceptions/exception-001.js | 42 - .../tests/ecma_2/Exceptions/exception-002.js | 42 - .../tests/ecma_2/Exceptions/exception-003.js | 46 - .../tests/ecma_2/Exceptions/exception-004.js | 42 - .../tests/ecma_2/Exceptions/exception-005.js | 42 - .../tests/ecma_2/Exceptions/exception-006.js | 53 - .../tests/ecma_2/Exceptions/exception-007.js | 55 - .../tests/ecma_2/Exceptions/exception-008.js | 41 - .../tests/ecma_2/Exceptions/exception-009.js | 51 - .../ecma_2/Exceptions/exception-010-n.js | 22 - .../ecma_2/Exceptions/exception-011-n.js | 23 - .../tests/ecma_2/Exceptions/expression-001.js | 47 - .../tests/ecma_2/Exceptions/expression-002.js | 57 - .../tests/ecma_2/Exceptions/expression-003.js | 52 - .../tests/ecma_2/Exceptions/expression-004.js | 46 - .../tests/ecma_2/Exceptions/expression-005.js | 38 - .../tests/ecma_2/Exceptions/expression-006.js | 44 - .../tests/ecma_2/Exceptions/expression-007.js | 41 - .../tests/ecma_2/Exceptions/expression-008.js | 38 - .../tests/ecma_2/Exceptions/expression-009.js | 39 - .../tests/ecma_2/Exceptions/expression-010.js | 40 - .../tests/ecma_2/Exceptions/expression-011.js | 40 - .../tests/ecma_2/Exceptions/expression-012.js | 42 - .../tests/ecma_2/Exceptions/expression-013.js | 42 - .../tests/ecma_2/Exceptions/expression-014.js | 44 - .../tests/ecma_2/Exceptions/expression-015.js | 37 - .../tests/ecma_2/Exceptions/expression-016.js | 37 - .../tests/ecma_2/Exceptions/expression-017.js | 37 - .../tests/ecma_2/Exceptions/expression-019.js | 42 - .../tests/ecma_2/Exceptions/function-001.js | 51 - js/src/tests/ecma_2/Exceptions/global-001.js | 42 - js/src/tests/ecma_2/Exceptions/global-002.js | 42 - js/src/tests/ecma_2/Exceptions/lexical-001.js | 49 - js/src/tests/ecma_2/Exceptions/lexical-002.js | 49 - js/src/tests/ecma_2/Exceptions/lexical-003.js | 40 - js/src/tests/ecma_2/Exceptions/lexical-004.js | 49 - js/src/tests/ecma_2/Exceptions/lexical-005.js | 49 - js/src/tests/ecma_2/Exceptions/lexical-006.js | 55 - js/src/tests/ecma_2/Exceptions/lexical-007.js | 48 - js/src/tests/ecma_2/Exceptions/lexical-008.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-009.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-011.js | 48 - js/src/tests/ecma_2/Exceptions/lexical-012.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-013.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-014.js | 48 - js/src/tests/ecma_2/Exceptions/lexical-015.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-016.js | 48 - js/src/tests/ecma_2/Exceptions/lexical-017.js | 51 - js/src/tests/ecma_2/Exceptions/lexical-018.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-019.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-020.js | 50 - js/src/tests/ecma_2/Exceptions/lexical-021.js | 48 - js/src/tests/ecma_2/Exceptions/lexical-023.js | 49 - js/src/tests/ecma_2/Exceptions/lexical-024.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-025.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-026.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-027.js | 58 - js/src/tests/ecma_2/Exceptions/lexical-028.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-029.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-030.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-031.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-032.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-033.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-034.js | 55 - js/src/tests/ecma_2/Exceptions/lexical-035.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-036.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-037.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-038.js | 56 - js/src/tests/ecma_2/Exceptions/lexical-039.js | 43 - js/src/tests/ecma_2/Exceptions/lexical-040.js | 43 - js/src/tests/ecma_2/Exceptions/lexical-041.js | 44 - js/src/tests/ecma_2/Exceptions/lexical-042.js | 45 - js/src/tests/ecma_2/Exceptions/lexical-047.js | 47 - js/src/tests/ecma_2/Exceptions/lexical-048.js | 41 - js/src/tests/ecma_2/Exceptions/lexical-049.js | 46 - js/src/tests/ecma_2/Exceptions/lexical-050.js | 42 - js/src/tests/ecma_2/Exceptions/lexical-051.js | 42 - js/src/tests/ecma_2/Exceptions/lexical-052.js | 44 - js/src/tests/ecma_2/Exceptions/lexical-053.js | 42 - js/src/tests/ecma_2/Exceptions/lexical-054.js | 43 - js/src/tests/ecma_2/Exceptions/number-001.js | 50 - js/src/tests/ecma_2/Exceptions/number-002.js | 45 - js/src/tests/ecma_2/Exceptions/number-003.js | 47 - .../tests/ecma_2/Exceptions/statement-001.js | 44 - .../tests/ecma_2/Exceptions/statement-002.js | 66 - .../tests/ecma_2/Exceptions/statement-003.js | 77 - .../tests/ecma_2/Exceptions/statement-004.js | 49 - .../tests/ecma_2/Exceptions/statement-005.js | 48 - .../tests/ecma_2/Exceptions/statement-006.js | 48 - .../tests/ecma_2/Exceptions/statement-007.js | 39 - .../tests/ecma_2/Exceptions/statement-008.js | 39 - .../tests/ecma_2/Exceptions/statement-009.js | 38 - js/src/tests/ecma_2/Exceptions/string-001.js | 50 - js/src/tests/ecma_2/Exceptions/string-002.js | 49 - .../ecma_2/Expressions/StrictEquality-001.js | 70 - .../ecma_2/FunctionObjects/apply-001-n.js | 26 - js/src/tests/ecma_2/FunctionObjects/call-1.js | 39 - .../ecma_2/LexicalConventions/keywords-001.js | 35 - .../LexicalConventions/regexp-literals-001.js | 42 - .../LexicalConventions/regexp-literals-002.js | 26 - js/src/tests/ecma_2/README | 1 - js/src/tests/ecma_2/RegExp/constructor-001.js | 64 - js/src/tests/ecma_2/RegExp/exec-002.js | 186 - js/src/tests/ecma_2/RegExp/hex-001.js | 66 - js/src/tests/ecma_2/RegExp/multiline-001.js | 67 - js/src/tests/ecma_2/RegExp/octal-001.js | 77 - js/src/tests/ecma_2/RegExp/octal-002.js | 92 - js/src/tests/ecma_2/RegExp/octal-003.js | 86 - js/src/tests/ecma_2/RegExp/properties-001.js | 87 - js/src/tests/ecma_2/RegExp/properties-002.js | 128 - .../ecma_2/RegExp/regexp-enumerate-001.js | 79 - js/src/tests/ecma_2/RegExp/regress-001.js | 44 - js/src/tests/ecma_2/RegExp/unicode-001.js | 57 - js/src/tests/ecma_2/Statements/dowhile-001.js | 41 - js/src/tests/ecma_2/Statements/dowhile-002.js | 66 - js/src/tests/ecma_2/Statements/dowhile-003.js | 59 - js/src/tests/ecma_2/Statements/dowhile-004.js | 62 - js/src/tests/ecma_2/Statements/dowhile-005.js | 69 - js/src/tests/ecma_2/Statements/dowhile-006.js | 85 - js/src/tests/ecma_2/Statements/dowhile-007.js | 91 - js/src/tests/ecma_2/Statements/forin-001.js | 275 -- js/src/tests/ecma_2/Statements/forin-002.js | 73 - js/src/tests/ecma_2/Statements/if-001.js | 40 - js/src/tests/ecma_2/Statements/label-001.js | 39 - js/src/tests/ecma_2/Statements/label-002.js | 52 - js/src/tests/ecma_2/Statements/label-003.js | 15 - js/src/tests/ecma_2/Statements/switch-001.js | 63 - js/src/tests/ecma_2/Statements/switch-002.js | 60 - js/src/tests/ecma_2/Statements/switch-003.js | 54 - js/src/tests/ecma_2/Statements/switch-004.js | 92 - js/src/tests/ecma_2/Statements/try-001.js | 79 - js/src/tests/ecma_2/Statements/try-003.js | 78 - js/src/tests/ecma_2/Statements/try-004.js | 51 - js/src/tests/ecma_2/Statements/try-005.js | 54 - js/src/tests/ecma_2/Statements/try-006.js | 84 - js/src/tests/ecma_2/Statements/try-007.js | 89 - js/src/tests/ecma_2/Statements/try-008.js | 56 - js/src/tests/ecma_2/Statements/try-009.js | 63 - js/src/tests/ecma_2/Statements/try-010.js | 70 - js/src/tests/ecma_2/Statements/try-012.js | 91 - js/src/tests/ecma_2/Statements/while-001.js | 39 - js/src/tests/ecma_2/Statements/while-002.js | 82 - js/src/tests/ecma_2/Statements/while-003.js | 83 - js/src/tests/ecma_2/Statements/while-004.js | 203 -- js/src/tests/ecma_2/String/match-001.js | 104 - js/src/tests/ecma_2/String/match-002.js | 172 - js/src/tests/ecma_2/String/match-003.js | 130 - js/src/tests/ecma_2/String/match-004.js | 172 - js/src/tests/ecma_2/String/split-001.js | 110 - js/src/tests/ecma_2/String/split-002.js | 268 -- js/src/tests/ecma_2/String/split-003.js | 121 - .../ecma_2/extensions/constructor-001.js | 39 - .../tests/ecma_2/extensions/function-001.js | 39 - .../tests/ecma_2/extensions/instanceof-001.js | 108 - .../tests/ecma_2/extensions/instanceof-002.js | 115 - .../ecma_2/extensions/instanceof-003-n.js | 84 - .../ecma_2/extensions/instanceof-004-n.js | 84 - .../ecma_2/extensions/instanceof-005-n.js | 85 - .../tests/ecma_2/extensions/instanceof-006.js | 83 - .../tests/ecma_2/instanceof/instanceof-001.js | 30 - .../tests/ecma_2/instanceof/instanceof-002.js | 44 - .../tests/ecma_2/instanceof/instanceof-003.js | 64 - .../tests/ecma_2/instanceof/regress-7635.js | 54 - js/src/tests/ecma_2/template.js | 25 - js/src/tests/ecma_3/Array/15.4.4.11-01.js | 28 - js/src/tests/ecma_3/Array/15.4.4.3-1.js | 51 - js/src/tests/ecma_3/Array/15.4.4.4-001.js | 116 - js/src/tests/ecma_3/Array/15.4.5.1-01.js | 55 - js/src/tests/ecma_3/Array/15.5.4.8-01.js | 40 - js/src/tests/ecma_3/Date/15.9.1.2-01.js | 26 - js/src/tests/ecma_3/Date/15.9.4.3.js | 197 - js/src/tests/ecma_3/Date/15.9.5.3.js | 115 - js/src/tests/ecma_3/Date/15.9.5.4.js | 148 - js/src/tests/ecma_3/Date/shell.js | 64 - js/src/tests/ecma_3/Exceptions/15.11.1.1.js | 100 - js/src/tests/ecma_3/Exceptions/15.11.4.4-1.js | 137 - js/src/tests/ecma_3/Exceptions/15.11.5.js | 33 - .../tests/ecma_3/Exceptions/15.11.7.6-001.js | 93 - .../tests/ecma_3/Exceptions/15.11.7.6-002.js | 95 - .../tests/ecma_3/Exceptions/15.11.7.6-003.js | 95 - js/src/tests/ecma_3/Exceptions/binding-001.js | 91 - .../ecma_3/ExecutionContexts/10.1.3-1.js | 164 - .../ecma_3/ExecutionContexts/10.1.3-2.js | 34 - .../tests/ecma_3/ExecutionContexts/10.1.3.js | 35 - .../ecma_3/ExecutionContexts/10.1.4-1.js | 46 - .../ecma_3/ExecutionContexts/10.6.1-01.js | 103 - .../tests/ecma_3/ExecutionContexts/shell.js | 0 js/src/tests/ecma_3/Expressions/11.10-01.js | 40 - js/src/tests/ecma_3/Expressions/11.10-02.js | 40 - js/src/tests/ecma_3/Expressions/11.10-03.js | 40 - js/src/tests/ecma_3/Expressions/11.6.1-1.js | 139 - js/src/tests/ecma_3/Expressions/11.7.1-01.js | 40 - js/src/tests/ecma_3/Expressions/11.7.2-01.js | 40 - js/src/tests/ecma_3/Expressions/11.7.3-01.js | 40 - js/src/tests/ecma_3/Expressions/11.9.6-1.js | 176 - js/src/tests/ecma_3/Expressions/shell.js | 0 js/src/tests/ecma_3/FunExpr/fe-001-n.js | 18 - js/src/tests/ecma_3/FunExpr/fe-001.js | 17 - js/src/tests/ecma_3/FunExpr/fe-002.js | 22 - js/src/tests/ecma_3/FunExpr/shell.js | 0 js/src/tests/ecma_3/Function/15.3.4.3-1.js | 173 - js/src/tests/ecma_3/Function/15.3.4.4-1.js | 159 - js/src/tests/ecma_3/Function/arguments-001.js | 132 - js/src/tests/ecma_3/Function/arguments-002.js | 37 - js/src/tests/ecma_3/Function/call-001.js | 116 - js/src/tests/ecma_3/Function/scope-001.js | 228 -- js/src/tests/ecma_3/Function/scope-002.js | 208 -- js/src/tests/ecma_3/Function/shell.js | 0 .../tests/ecma_3/LexicalConventions/7.4-01.js | 37 - .../ecma_3/LexicalConventions/7.8.3-01.js | 23 - .../tests/ecma_3/LexicalConventions/7.9.1.js | 121 - .../tests/ecma_3/LexicalConventions/shell.js | 0 js/src/tests/ecma_3/Number/15.7.4.2-01.js | 44 - js/src/tests/ecma_3/Number/15.7.4.3-01.js | 36 - js/src/tests/ecma_3/Number/15.7.4.5-1.js | 108 - js/src/tests/ecma_3/Number/15.7.4.5-2.js | 26 - js/src/tests/ecma_3/Number/15.7.4.6-1.js | 112 - js/src/tests/ecma_3/Number/15.7.4.7-1.js | 117 - js/src/tests/ecma_3/Number/15.7.4.7-2.js | 39 - js/src/tests/ecma_3/Number/shell.js | 0 js/src/tests/ecma_3/NumberFormatting/shell.js | 0 .../ecma_3/NumberFormatting/tostring-001.js | 25 - js/src/tests/ecma_3/Object/8.6.1-01.js | 78 - js/src/tests/ecma_3/Object/8.6.2.6-001.js | 76 - js/src/tests/ecma_3/Object/8.6.2.6-002.js | 43 - js/src/tests/ecma_3/Object/class-001.js | 119 - js/src/tests/ecma_3/Object/class-002.js | 109 - js/src/tests/ecma_3/Object/class-003.js | 102 - js/src/tests/ecma_3/Object/class-004.js | 102 - js/src/tests/ecma_3/Object/class-005.js | 87 - js/src/tests/ecma_3/Operators/shell.js | 0 js/src/tests/ecma_3/README | 1 - js/src/tests/ecma_3/RegExp/15.10.2-1.js | 145 - js/src/tests/ecma_3/RegExp/15.10.2.12.js | 26 - js/src/tests/ecma_3/RegExp/15.10.3.1-1.js | 99 - js/src/tests/ecma_3/RegExp/15.10.3.1-2.js | 107 - js/src/tests/ecma_3/RegExp/15.10.4.1-1.js | 90 - js/src/tests/ecma_3/RegExp/15.10.4.1-2.js | 96 - js/src/tests/ecma_3/RegExp/15.10.4.1-3.js | 102 - js/src/tests/ecma_3/RegExp/15.10.4.1-4.js | 109 - js/src/tests/ecma_3/RegExp/15.10.4.1-6.js | 59 - js/src/tests/ecma_3/RegExp/15.10.6.2-1.js | 104 - js/src/tests/ecma_3/RegExp/15.10.6.2-2.js | 292 -- js/src/tests/ecma_3/RegExp/octal-001.js | 100 - js/src/tests/ecma_3/RegExp/octal-002.js | 182 - js/src/tests/ecma_3/RegExp/perlstress-001.js | 3194 ----------------- js/src/tests/ecma_3/RegExp/perlstress-002.js | 1806 ---------- js/src/tests/ecma_3/RegExp/shell.js | 232 -- js/src/tests/ecma_3/Regress/browser.js | 0 js/src/tests/ecma_3/Regress/shell.js | 0 js/src/tests/ecma_3/Statements/12.10-01.js | 32 - js/src/tests/ecma_3/Statements/12.6.3.js | 47 - js/src/tests/ecma_3/Statements/browser.js | 0 js/src/tests/ecma_3/Statements/shell.js | 0 js/src/tests/ecma_3/Statements/switch-001.js | 106 - js/src/tests/ecma_3/Statements/switch-002.js | 19 - js/src/tests/ecma_3/String/15.5.4.11.js | 498 --- js/src/tests/ecma_3/String/15.5.4.14.js | 17 - js/src/tests/ecma_3/String/browser.js | 0 js/src/tests/ecma_3/String/shell.js | 0 js/src/tests/ecma_3/Unicode/browser.js | 0 js/src/tests/ecma_3/Unicode/shell.js | 0 js/src/tests/ecma_3/browser.js | 0 js/src/tests/ecma_3/extensions/10.1.3-2.js | 107 - js/src/tests/ecma_3/extensions/7.9.1.js | 44 - js/src/tests/ecma_3/extensions/browser.js | 0 js/src/tests/ecma_3/extensions/shell.js | 232 -- js/src/tests/ecma_3/shell.js | 0 js/src/tests/ecma_3_1/Object/browser.js | 0 js/src/tests/ecma_3_1/Object/shell.js | 0 js/src/tests/ecma_3_1/README | 1 - js/src/tests/ecma_3_1/RegExp/browser.js | 0 js/src/tests/ecma_3_1/RegExp/shell.js | 0 js/src/tests/ecma_3_1/browser.js | 0 js/src/tests/ecma_3_1/extensions/browser.js | 0 js/src/tests/ecma_3_1/extensions/shell.js | 0 js/src/tests/ecma_3_1/shell.js | 0 js/src/tests/ecma_3_1/template.js | 25 - js/src/tests/ecma_5/Array/browser.js | 0 js/src/tests/ecma_5/Array/shell.js | 0 js/src/tests/ecma_5/Boolean/browser.js | 0 js/src/tests/ecma_5/Boolean/shell.js | 0 js/src/tests/ecma_5/Date/browser.js | 0 js/src/tests/ecma_5/Date/shell.js | 0 js/src/tests/ecma_5/Exceptions/browser.js | 0 js/src/tests/ecma_5/Exceptions/shell.js | 0 js/src/tests/ecma_5/Expressions/browser.js | 0 js/src/tests/ecma_5/Expressions/shell.js | 0 js/src/tests/ecma_5/Function/browser.js | 0 js/src/tests/ecma_5/Function/shell.js | 0 js/src/tests/ecma_5/Global/browser.js | 0 js/src/tests/ecma_5/Global/shell.js | 0 js/src/tests/ecma_5/JSON/browser.js | 0 js/src/tests/ecma_5/Number/browser.js | 0 js/src/tests/ecma_5/Number/shell.js | 0 js/src/tests/ecma_5/Object/browser.js | 0 js/src/tests/ecma_5/Object/shell.js | 0 js/src/tests/ecma_5/README | 1 - js/src/tests/ecma_5/RegExp/browser.js | 0 js/src/tests/ecma_5/RegExp/shell.js | 21 - js/src/tests/ecma_5/String/browser.js | 0 js/src/tests/ecma_5/String/shell.js | 0 js/src/tests/ecma_5/Types/browser.js | 0 js/src/tests/ecma_5/Types/shell.js | 0 js/src/tests/ecma_5/browser.js | 0 js/src/tests/ecma_5/eval/browser.js | 0 js/src/tests/ecma_5/eval/shell.js | 0 js/src/tests/ecma_5/extensions/browser.js | 0 js/src/tests/ecma_5/extensions/shell.js | 0 js/src/tests/ecma_5/misc/browser.js | 0 js/src/tests/ecma_5/misc/shell.js | 0 js/src/tests/ecma_5/shell.js | 130 - js/src/tests/ecma_5/strict/browser.js | 0 js/src/tests/ecma_5/strict/shell.js | 0 js/src/tests/ecma_5/template.js | 25 - js/src/tests/ecma_6/Array/browser.js | 0 js/src/tests/ecma_6/Array/shell.js | 0 js/src/tests/ecma_6/ArrayBuffer/browser.js | 0 js/src/tests/ecma_6/ArrayBuffer/shell.js | 0 js/src/tests/ecma_6/ArrowFunctions/browser.js | 0 js/src/tests/ecma_6/ArrowFunctions/shell.js | 0 js/src/tests/ecma_6/Class/browser.js | 0 js/src/tests/ecma_6/DataView/browser.js | 0 js/src/tests/ecma_6/DataView/shell.js | 0 js/src/tests/ecma_6/Date/shell.js | 0 js/src/tests/ecma_6/Destructuring/browser.js | 0 js/src/tests/ecma_6/Destructuring/shell.js | 0 js/src/tests/ecma_6/Error/shell.js | 0 js/src/tests/ecma_6/Expressions/browser.js | 0 js/src/tests/ecma_6/Function/browser.js | 0 js/src/tests/ecma_6/Function/shell.js | 0 .../ecma_6/LexicalEnvironment/browser.js | 0 .../tests/ecma_6/LexicalEnvironment/shell.js | 0 js/src/tests/ecma_6/Map/browser.js | 0 js/src/tests/ecma_6/Map/shell.js | 0 js/src/tests/ecma_6/Math/browser.js | 0 js/src/tests/ecma_6/Module/browser.js | 0 js/src/tests/ecma_6/Module/shell.js | 0 js/src/tests/ecma_6/Number/browser.js | 0 js/src/tests/ecma_6/Number/shell.js | 0 js/src/tests/ecma_6/Object/browser.js | 0 js/src/tests/ecma_6/Object/shell.js | 0 js/src/tests/ecma_6/Promise/browser.js | 0 js/src/tests/ecma_6/Promise/shell.js | 0 js/src/tests/ecma_6/Proxy/shell.js | 0 js/src/tests/ecma_6/Reflect/browser.js | 0 js/src/tests/ecma_6/RegExp/browser.js | 0 js/src/tests/ecma_6/RegExp/shell.js | 0 js/src/tests/ecma_6/Set/browser.js | 0 js/src/tests/ecma_6/Set/shell.js | 0 js/src/tests/ecma_6/Statements/browser.js | 0 js/src/tests/ecma_6/Statements/shell.js | 0 js/src/tests/ecma_6/String/browser.js | 0 js/src/tests/ecma_6/Symbol/browser.js | 0 js/src/tests/ecma_6/Symbol/shell.js | 0 js/src/tests/ecma_6/Syntax/browser.js | 0 js/src/tests/ecma_6/Syntax/shell.js | 0 js/src/tests/ecma_6/TemplateStrings/shell.js | 1 - js/src/tests/ecma_6/TypedArray/browser.js | 0 js/src/tests/ecma_6/WeakMap/browser.js | 0 js/src/tests/ecma_6/WeakMap/shell.js | 0 js/src/tests/ecma_6/browser.js | 0 js/src/tests/ecma_6/extensions/browser.js | 0 js/src/tests/ecma_6/extensions/shell.js | 0 js/src/tests/ecma_6/shell.js | 257 -- js/src/tests/ecma_7/Array/browser.js | 0 js/src/tests/ecma_7/Array/shell.js | 0 js/src/tests/ecma_7/Destructuring/browser.js | 0 js/src/tests/ecma_7/Destructuring/shell.js | 0 js/src/tests/ecma_7/Math/shell.js | 0 js/src/tests/ecma_7/Object/browser.js | 0 js/src/tests/ecma_7/Object/shell.js | 0 js/src/tests/ecma_7/String/shell.js | 0 js/src/tests/ecma_7/Syntax/browser.js | 0 js/src/tests/ecma_7/Syntax/shell.js | 0 js/src/tests/ecma_7/TypedArray/browser.js | 0 js/src/tests/ecma_7/TypedArray/shell.js | 114 - js/src/tests/ecma_7/browser.js | 0 js/src/tests/ecma_7/extensions/browser.js | 0 js/src/tests/ecma_7/extensions/shell.js | 0 js/src/tests/ecma_7/shell.js | 205 -- js/src/tests/js1_1/README | 1 - js/src/tests/js1_1/browser.js | 0 js/src/tests/js1_1/regress/browser.js | 0 js/src/tests/js1_1/regress/function-001.js | 43 - js/src/tests/js1_1/regress/perfect.js | 47 - js/src/tests/js1_1/regress/shell.js | 0 js/src/tests/js1_1/shell.js | 0 js/src/tests/js1_2/Array/browser.js | 0 js/src/tests/js1_2/Array/general1.js | 42 - js/src/tests/js1_2/Array/general2.js | 57 - js/src/tests/js1_2/Array/shell.js | 0 js/src/tests/js1_2/Array/slice.js | 85 - js/src/tests/js1_2/Array/splice1.js | 116 - js/src/tests/js1_2/Array/splice2.js | 114 - js/src/tests/js1_2/Objects/browser.js | 0 js/src/tests/js1_2/Objects/shell.js | 0 js/src/tests/js1_2/README | 1 - js/src/tests/js1_2/String/browser.js | 0 js/src/tests/js1_2/String/charCodeAt.js | 36 - js/src/tests/js1_2/String/match.js | 27 - js/src/tests/js1_2/String/shell.js | 0 js/src/tests/js1_2/String/slice.js | 86 - js/src/tests/js1_2/browser.js | 0 js/src/tests/js1_2/function/browser.js | 0 js/src/tests/js1_2/function/definition-1.js | 38 - js/src/tests/js1_2/function/nesting-1.js | 28 - js/src/tests/js1_2/function/nesting.js | 48 - js/src/tests/js1_2/function/regexparg-1.js | 62 - js/src/tests/js1_2/function/shell.js | 0 js/src/tests/js1_2/operator/browser.js | 0 js/src/tests/js1_2/operator/shell.js | 0 js/src/tests/js1_2/operator/strictEquality.js | 57 - js/src/tests/js1_2/regexp/alphanumeric.js | 84 - js/src/tests/js1_2/regexp/asterisk.js | 71 - js/src/tests/js1_2/regexp/backslash.js | 43 - js/src/tests/js1_2/regexp/backspace.js | 45 - js/src/tests/js1_2/regexp/beginLine.js | 42 - js/src/tests/js1_2/regexp/browser.js | 0 js/src/tests/js1_2/regexp/character_class.js | 74 - js/src/tests/js1_2/regexp/compile.js | 52 - .../tests/js1_2/regexp/control_characters.js | 39 - js/src/tests/js1_2/regexp/digit.js | 74 - js/src/tests/js1_2/regexp/dot.js | 62 - js/src/tests/js1_2/regexp/endLine.js | 42 - js/src/tests/js1_2/regexp/everything.js | 47 - js/src/tests/js1_2/regexp/exec.js | 38 - js/src/tests/js1_2/regexp/flags.js | 51 - js/src/tests/js1_2/regexp/global.js | 61 - js/src/tests/js1_2/regexp/hexadecimal.js | 65 - js/src/tests/js1_2/regexp/ignoreCase.js | 78 - js/src/tests/js1_2/regexp/interval.js | 81 - js/src/tests/js1_2/regexp/octal.js | 65 - js/src/tests/js1_2/regexp/parentheses.js | 73 - js/src/tests/js1_2/regexp/plus.js | 53 - js/src/tests/js1_2/regexp/question_mark.js | 65 - js/src/tests/js1_2/regexp/shell.js | 0 js/src/tests/js1_2/regexp/simple_form.js | 48 - js/src/tests/js1_2/regexp/source.js | 54 - .../tests/js1_2/regexp/special_characters.js | 124 - js/src/tests/js1_2/regexp/string_replace.js | 90 - js/src/tests/js1_2/regexp/string_search.js | 53 - js/src/tests/js1_2/regexp/test.js | 45 - js/src/tests/js1_2/regexp/toString.js | 45 - js/src/tests/js1_2/regexp/vertical_bar.js | 62 - js/src/tests/js1_2/regexp/whitespace.js | 79 - js/src/tests/js1_2/regexp/word_boundary.js | 79 - js/src/tests/js1_2/regress/browser.js | 0 js/src/tests/js1_2/regress/regress-144834.js | 50 - js/src/tests/js1_2/regress/regress-7703.js | 68 - js/src/tests/js1_2/regress/shell.js | 0 js/src/tests/js1_2/shell.js | 0 js/src/tests/js1_2/statements/break.js | 128 - js/src/tests/js1_2/statements/browser.js | 0 js/src/tests/js1_2/statements/continue.js | 141 - js/src/tests/js1_2/statements/do_while.js | 33 - js/src/tests/js1_2/statements/shell.js | 0 js/src/tests/js1_2/statements/switch.js | 95 - js/src/tests/js1_2/statements/switch2.js | 157 - js/src/tests/js1_3/Boolean/boolean-001.js | 40 - js/src/tests/js1_3/Boolean/browser.js | 0 js/src/tests/js1_3/Boolean/shell.js | 0 js/src/tests/js1_3/README | 1 - js/src/tests/js1_3/Script/browser.js | 0 js/src/tests/js1_3/Script/shell.js | 0 js/src/tests/js1_3/browser.js | 0 js/src/tests/js1_3/extensions/browser.js | 0 js/src/tests/js1_3/extensions/proto_10.js | 110 - js/src/tests/js1_3/extensions/proto_2.js | 84 - js/src/tests/js1_3/extensions/proto_5.js | 103 - js/src/tests/js1_3/extensions/script-001.js | 135 - js/src/tests/js1_3/extensions/shell.js | 0 js/src/tests/js1_3/inherit/browser.js | 0 js/src/tests/js1_3/inherit/proto_1.js | 120 - js/src/tests/js1_3/inherit/proto_10.js | 83 - js/src/tests/js1_3/inherit/proto_11.js | 81 - js/src/tests/js1_3/inherit/proto_12.js | 103 - js/src/tests/js1_3/inherit/proto_3.js | 69 - js/src/tests/js1_3/inherit/proto_4.js | 114 - js/src/tests/js1_3/inherit/proto_6.js | 126 - js/src/tests/js1_3/inherit/proto_7.js | 86 - js/src/tests/js1_3/inherit/proto_8.js | 84 - js/src/tests/js1_3/inherit/proto_9.js | 65 - js/src/tests/js1_3/inherit/shell.js | 0 js/src/tests/js1_3/misc/browser.js | 0 js/src/tests/js1_3/misc/shell.js | 0 js/src/tests/js1_3/regress/browser.js | 0 js/src/tests/js1_3/regress/delete-001.js | 46 - js/src/tests/js1_3/regress/function-002.js | 42 - js/src/tests/js1_3/regress/in-001.js | 34 - js/src/tests/js1_3/regress/new-001.js | 79 - js/src/tests/js1_3/regress/shell.js | 0 js/src/tests/js1_3/regress/switch-001.js | 48 - js/src/tests/js1_3/shell.js | 0 js/src/tests/js1_4/Eval/browser.js | 0 js/src/tests/js1_4/Eval/eval-001.js | 55 - js/src/tests/js1_4/Eval/eval-002.js | 61 - js/src/tests/js1_4/Eval/eval-003.js | 65 - js/src/tests/js1_4/Eval/shell.js | 0 js/src/tests/js1_4/Functions/browser.js | 0 js/src/tests/js1_4/Functions/function-001.js | 84 - js/src/tests/js1_4/Functions/shell.js | 0 js/src/tests/js1_4/README | 1 - js/src/tests/js1_4/Regress/browser.js | 0 js/src/tests/js1_4/Regress/function-001.js | 57 - js/src/tests/js1_4/Regress/function-002.js | 102 - js/src/tests/js1_4/Regress/function-003.js | 58 - js/src/tests/js1_4/Regress/function-004-n.js | 34 - js/src/tests/js1_4/Regress/regress-7224.js | 56 - js/src/tests/js1_4/Regress/shell.js | 0 js/src/tests/js1_4/Regress/toString-001-n.js | 34 - js/src/tests/js1_4/browser.js | 0 js/src/tests/js1_4/shell.js | 0 js/src/tests/js1_5/Array/browser.js | 0 js/src/tests/js1_5/Array/shell.js | 0 js/src/tests/js1_5/Date/browser.js | 0 js/src/tests/js1_5/Date/shell.js | 0 js/src/tests/js1_5/Error/browser.js | 0 js/src/tests/js1_5/Error/shell.js | 0 js/src/tests/js1_5/Exceptions/browser.js | 0 js/src/tests/js1_5/Exceptions/shell.js | 0 js/src/tests/js1_5/Expressions/browser.js | 0 js/src/tests/js1_5/Expressions/shell.js | 103 - js/src/tests/js1_5/Function/browser.js | 0 js/src/tests/js1_5/Function/shell.js | 0 js/src/tests/js1_5/GC/browser.js | 0 js/src/tests/js1_5/GC/shell.js | 0 js/src/tests/js1_5/GetSet/browser.js | 0 js/src/tests/js1_5/GetSet/shell.js | 0 .../tests/js1_5/LexicalConventions/browser.js | 0 .../tests/js1_5/LexicalConventions/shell.js | 0 js/src/tests/js1_5/Object/browser.js | 0 js/src/tests/js1_5/Object/shell.js | 0 js/src/tests/js1_5/README | 1 - js/src/tests/js1_5/Regress/browser.js | 0 js/src/tests/js1_5/Regress/shell.js | 0 js/src/tests/js1_5/Scope/browser.js | 0 js/src/tests/js1_5/Scope/shell.js | 0 js/src/tests/js1_5/String/browser.js | 0 js/src/tests/js1_5/String/shell.js | 0 js/src/tests/js1_5/browser.js | 0 js/src/tests/js1_5/extensions/browser.js | 0 js/src/tests/js1_5/extensions/shell.js | 0 js/src/tests/js1_5/shell.js | 0 js/src/tests/js1_5/template.js | 25 - js/src/tests/js1_6/Array/browser.js | 0 js/src/tests/js1_6/Array/shell.js | 0 js/src/tests/js1_6/README | 1 - js/src/tests/js1_6/Regress/browser.js | 0 js/src/tests/js1_6/Regress/shell.js | 0 js/src/tests/js1_6/String/browser.js | 0 js/src/tests/js1_6/String/shell.js | 0 js/src/tests/js1_6/browser.js | 0 js/src/tests/js1_6/extensions/browser.js | 0 js/src/tests/js1_6/extensions/shell.js | 0 js/src/tests/js1_6/shell.js | 1 - js/src/tests/js1_6/template.js | 25 - js/src/tests/js1_7/GC/browser.js | 0 js/src/tests/js1_7/GC/shell.js | 0 js/src/tests/js1_7/README | 1 - js/src/tests/js1_7/browser.js | 0 js/src/tests/js1_7/expressions/browser.js | 0 js/src/tests/js1_7/expressions/shell.js | 0 js/src/tests/js1_7/extensions/browser.js | 0 js/src/tests/js1_7/extensions/shell.js | 0 js/src/tests/js1_7/geniter/browser.js | 0 js/src/tests/js1_7/geniter/shell.js | 0 js/src/tests/js1_7/iterable/browser.js | 0 js/src/tests/js1_7/iterable/shell.js | 0 js/src/tests/js1_7/lexical/browser.js | 0 js/src/tests/js1_7/lexical/shell.js | 0 js/src/tests/js1_7/regexp/browser.js | 0 js/src/tests/js1_7/regexp/shell.js | 0 js/src/tests/js1_7/regress/browser.js | 0 js/src/tests/js1_7/regress/shell.js | 0 js/src/tests/js1_7/shell.js | 1 - js/src/tests/js1_7/template.js | 25 - js/src/tests/js1_8/README | 1 - js/src/tests/js1_8/browser.js | 0 js/src/tests/js1_8/extensions/browser.js | 0 js/src/tests/js1_8/extensions/shell.js | 0 js/src/tests/js1_8/genexps/shell.js | 0 js/src/tests/js1_8/regress/browser.js | 0 js/src/tests/js1_8/regress/shell.js | 0 js/src/tests/js1_8/shell.js | 1 - js/src/tests/js1_8/template.js | 25 - js/src/tests/js1_8_1/JSON/browser.js | 0 js/src/tests/js1_8_1/JSON/shell.js | 0 js/src/tests/js1_8_1/README | 1 - js/src/tests/js1_8_1/String/browser.js | 0 js/src/tests/js1_8_1/String/shell.js | 0 js/src/tests/js1_8_1/browser.js | 0 js/src/tests/js1_8_1/extensions/browser.js | 0 js/src/tests/js1_8_1/extensions/shell.js | 0 js/src/tests/js1_8_1/jit/browser.js | 0 js/src/tests/js1_8_1/jit/shell.js | 0 js/src/tests/js1_8_1/regress/browser.js | 0 js/src/tests/js1_8_1/regress/shell.js | 0 js/src/tests/js1_8_1/shell.js | 1 - js/src/tests/js1_8_1/strict/shell.js | 61 - js/src/tests/js1_8_1/template.js | 25 - js/src/tests/js1_8_5/README | 4 - js/src/tests/js1_8_5/browser.js | 0 js/src/tests/js1_8_5/extensions/empty.txt | 0 js/src/tests/js1_8_5/extensions/shell.js | 108 - js/src/tests/js1_8_5/regress/browser.js | 0 js/src/tests/js1_8_5/regress/shell.js | 0 js/src/tests/js1_8_5/shell.js | 24 - js/src/tests/js1_8_5/template.js | 25 - js/src/tests/jstests.list | 2 +- .../tests/{js1_5 => non262}/Array/11.1.4.js | 0 .../{ecma => non262}/Array/15.4.4.5-1.js | 0 .../{ecma => non262}/Array/15.4.4.5-2.js | 0 .../{ecma => non262}/Array/15.4.4.5-3.js | 3 + .../{js1_5 => non262}/Array/array-001.js | 0 .../Array/array-length-set-during-for-in.js | 0 .../Array/array-length-set-on-nonarray.js | 0 .../Collator => non262/Array}/browser.js | 0 .../{ecma_6 => non262}/Array/concat-proxy.js | 0 .../Array/concat-spreadable-basic.js | 0 .../Array/concat-spreadable-primitive.js | 0 js/src/tests/{ecma_6 => non262}/Array/fill.js | 0 .../tests/{js1_6 => non262}/Array/filter.js | 0 .../Array/find_findindex.js | 0 .../{ecma_6 => non262}/Array/for_of_1.js | 0 .../{ecma_6 => non262}/Array/for_of_2.js | 0 .../{ecma_6 => non262}/Array/for_of_3.js | 0 .../{ecma_6 => non262}/Array/for_of_4.js | 0 .../Array/from-iterator-close.js | 0 .../{ecma_6 => non262}/Array/from_basics.js | 0 .../Array/from_constructor.js | 0 .../{ecma_6 => non262}/Array/from_errors.js | 0 .../{ecma_6 => non262}/Array/from_iterable.js | 0 .../Array/from_length_setter.js | 0 .../{ecma_6 => non262}/Array/from_mapping.js | 0 .../Array/from_primitive.js | 0 .../{ecma_6 => non262}/Array/from_proxy.js | 0 .../{ecma_6 => non262}/Array/from_realms.js | 0 .../{ecma_6 => non262}/Array/from_string.js | 0 .../{ecma_6 => non262}/Array/from_surfaces.js | 0 .../{ecma_6 => non262}/Array/from_this.js | 0 .../Array/frozen-dense-array.js | 0 .../Array/frozen-dict-mode-length.js | 0 .../tests/{js1_6 => non262}/Array/generics.js | 0 .../{ecma_6 => non262}/Array/getter-name.js | 0 .../{ecma_7 => non262}/Array/includes.js | 0 .../Array/index-with-null-character.js | 0 .../indexOf-never-returns-negative-zero.js | 0 .../Array/indexOf-packed-array.js | 0 .../tests/{ecma_6 => non262}/Array/isArray.js | 0 .../Array/iterator_edge_cases.js | 0 .../tests/{ecma_5 => non262}/Array/join-01.js | 0 .../Array/join-no-has-trap.js | 0 ...lastIndexOf-never-returns-negative-zero.js | 0 .../{ecma_5 => non262}/Array/length-01.js | 0 .../Array/length-nonwritable-redefine-nop.js | 0 .../Array/length-set-object.js | 0 .../length-truncate-nonconfigurable-sparse.js | 0 .../Array/length-truncate-nonconfigurable.js | 0 .../Array/length-truncate-with-indexed.js | 0 .../Array/pop-empty-nonwritable.js | 0 .../Array/pop-no-has-trap.js | 0 .../Array/pop-nonarray-higher-elements.js | 0 .../Array/redefine-length-accessor.js | 0 .../Array/redefine-length-frozen-array.js | 0 ...fine-length-frozen-dictionarymode-array.js | 0 ...le-length-custom-conversion-call-counts.js | 0 ...writable-length-custom-conversion-throw.js | 0 .../redefine-nonwritable-length-nonnumeric.js | 0 .../Array/regress-101488.js | 0 .../{js1_5 => non262}/Array/regress-101964.js | 0 .../{js1_5 => non262}/Array/regress-107138.js | 0 .../{js1_5 => non262}/Array/regress-108440.js | 0 .../Array/regress-130451.js | 0 .../{js1_5 => non262}/Array/regress-154338.js | 0 .../{js1_5 => non262}/Array/regress-157652.js | 0 .../{js1_5 => non262}/Array/regress-178722.js | 0 .../{js1_5 => non262}/Array/regress-255555.js | 0 .../{js1_6 => non262}/Array/regress-290592.js | 0 .../{js1_5 => non262}/Array/regress-299644.js | 0 .../{js1_5 => non262}/Array/regress-300858.js | 0 .../{js1_6 => non262}/Array/regress-304828.js | 0 .../{js1_6 => non262}/Array/regress-305002.js | 0 .../{js1_5 => non262}/Array/regress-310351.js | 0 .../Array/regress-310425-01.js | 0 .../Array/regress-310425-02.js | 0 .../{js1_5 => non262}/Array/regress-311515.js | 0 .../{js1_5 => non262}/Array/regress-313153.js | 0 .../Array/regress-315509-01.js | 0 .../Array/regress-322135-01.js | 0 .../Array/regress-322135-02.js | 0 .../Array/regress-322135-03.js | 0 .../Array/regress-322135-04.js | 0 .../{js1_5 => non262}/Array/regress-330812.js | 0 .../{js1_5 => non262}/Array/regress-345961.js | 0 .../{js1_5 => non262}/Array/regress-348810.js | 0 .../Array/regress-350256-01.js | 0 .../Array/regress-350256-02.js | 0 .../Array/regress-352742-01.js | 0 .../Array/regress-352742-02.js | 0 .../Array/regress-360681-01.js | 0 .../Array/regress-360681-02.js | 0 .../{js1_5 => non262}/Array/regress-364104.js | 0 .../{js1_6 => non262}/Array/regress-386030.js | 0 .../Array/regress-387501.js | 0 .../Array/regress-390598.js | 0 .../{js1_6 => non262}/Array/regress-415451.js | 0 .../{js1_6 => non262}/Array/regress-415540.js | 0 .../Array/regress-421325.js | 0 .../{js1_5 => non262}/Array/regress-422286.js | 0 .../{js1_5 => non262}/Array/regress-424954.js | 0 .../Array/regress-430717.js | 0 .../{js1_5 => non262}/Array/regress-451483.js | 0 .../{js1_5 => non262}/Array/regress-451906.js | 0 .../{js1_5 => non262}/Array/regress-456845.js | 0 .../Array/regress-465980-01.js | 0 .../Array/regress-465980-02.js | 0 .../{js1_5 => non262}/Array/regress-474529.js | 0 .../Array/regress-488989.js | 0 .../{js1_6 => non262}/Array/regress-566651.js | 0 .../Array/regress-599159.js | 0 .../Array/regress-619970.js | 0 .../{js1_5 => non262}/Array/regress-94257.js | 0 .../reverse-order-of-low-high-accesses.js | 0 ...ith-indexed-property-on-prototype-chain.js | 0 js/src/tests/{Intl => non262}/Array/shell.js | 0 .../Array/shift-no-has-trap.js | 0 .../{ecma_6 => non262}/Array/shift_for_in.js | 0 .../Array/slice-sparse-with-large-index.js | 0 .../tests/{ecma_5 => non262}/Array/sort-01.js | 0 .../sort-array-with-holes-and-undefined.js | 0 .../Array/sort-non-function.js | 0 .../Array/sort-typedarray-with-own-length.js | 0 .../{ecma_6 => non262}/Array/sort_basics.js | 0 .../{ecma_6 => non262}/Array/sort_holes.js | 0 .../{ecma_6 => non262}/Array/sort_proxy.js | 0 .../{ecma_6 => non262}/Array/sort_small.js | 0 .../tests/{ecma_6 => non262}/Array/species.js | 0 ...e-return-array-elements-defined-not-set.js | 0 .../Array/splice-species-changes-length.js | 0 .../splice-suppresses-unvisited-indexes.js | 0 .../{ecma_6 => non262}/Array/to-length.js | 0 .../Array/toLocaleString-01.js | 0 .../Array/toLocaleString-nointl.js | 0 .../Array/toLocaleString.js | 0 .../{ecma_5 => non262}/Array/toString-01.js | 0 .../{ecma_6 => non262}/Array/unscopables.js | 0 .../{ecma_5 => non262}/Array/unshift-01.js | 0 .../Array/unshift-with-enumeration.js | 0 .../tests/{ecma_6 => non262}/Array/values.js | 0 .../ArrayBuffer/CloneArrayBuffer.js | 0 .../Date => non262/ArrayBuffer}/browser.js | 0 .../ArrayBuffer/constructorNotCallable.js | 0 .../ArrayBuffer/getter-name.js | 0 .../Collator => non262/ArrayBuffer}/shell.js | 0 .../ArrayBuffer/slice-species.js | 0 .../async-generator-declaration-in-modules.js | 0 .../AsyncGenerators}/browser.js | 0 ...eate-function-parse-before-getprototype.js | 0 .../AsyncGenerators/for-await-bad-syntax.js | 0 .../AsyncGenerators/for-await-of-error.js | 0 .../Date => non262/AsyncGenerators}/shell.js | 0 .../{ecma_5 => non262}/Boolean/15.6.4.2.js | 0 .../PluralRules => non262/Boolean}/browser.js | 0 .../Boolean/no-boolean-toJSON.js | 0 .../Boolean}/shell.js | 0 .../DataView}/browser.js | 0 .../DataView/detach-after-construction.js | 0 .../DataView/get-set-index-range.js | 0 .../DataView/getter-name.js | 0 .../NumberFormat => non262/DataView}/shell.js | 0 .../tests/{ecma_5 => non262}/Date/15.9.4.2.js | 0 .../{ecma_3 => non262}/Date/15.9.5.5-02.js | 0 .../tests/{ecma_3 => non262}/Date/15.9.5.5.js | 0 .../tests/{ecma_3 => non262}/Date/15.9.5.6.js | 0 .../tests/{ecma_3 => non262}/Date/15.9.5.7.js | 0 .../Date/UTC-convert-all-arguments.js | 0 .../DateTimeFormat => non262/Date}/browser.js | 0 .../Date/constructor-convert-all-arguments.js | 0 .../Date/constructor-one-Date-argument.js | 0 .../Date/constructor-one-argument.js | 0 .../{ecma_5 => non262}/Date/defaultvalue.js | 0 .../Date/dst-offset-caching-1-of-8.js | 0 .../Date/dst-offset-caching-2-of-8.js | 0 .../Date/dst-offset-caching-3-of-8.js | 0 .../Date/dst-offset-caching-4-of-8.js | 0 .../Date/dst-offset-caching-5-of-8.js | 0 .../Date/dst-offset-caching-6-of-8.js | 0 .../Date/dst-offset-caching-7-of-8.js | 0 .../Date/dst-offset-caching-8-of-8.js | 0 .../Date/equality-to-boolean.js | 0 .../{ecma_5 => non262}/Date/fractions.js | 0 .../tests/{ecma_6 => non262}/Date/non-iso.js | 0 .../Date/prototype-is-not-a-date.js | 0 .../{js1_5 => non262}/Date/regress-188211.js | 0 .../Date/regress-301738-01.js | 0 .../Date/regress-309925-01.js | 0 .../Date/regress-309925-02.js | 0 .../{js1_5 => non262}/Date/regress-346027.js | 0 .../{js1_5 => non262}/Date/regress-346363.js | 0 .../{ecma_3 => non262}/Date/regress-452786.js | 0 .../Date/setTime-argument-shortcircuiting.js | 0 js/src/tests/{ecma => non262}/Date/shell.js | 50 + .../Date/time-zone-2038-pst.js | 0 .../{ecma_6 => non262}/Date/time-zone-pst.js | 1 - .../Date/time-zones-pedantic.js | 2 - .../Date/time-zones-posix.js | 2 - .../{ecma_6 => non262}/Date/time-zones.js | 2 - .../tests/{ecma_5 => non262}/Date/timeclip.js | 0 .../Date/toISOString-01.js} | 0 .../{ecma_5 => non262}/Date/toISOString.js | 0 .../{ecma_5 => non262}/Date/toJSON-01.js | 0 .../{ecma_6 => non262}/Date/toPrimitive.js | 0 .../Date/toString-generic.js | 0 .../Date/two-digit-years.js | 0 .../tests/{Intl => non262/Error}/browser.js | 0 .../Error/constructor-ordering.js | 0 .../Error/constructor-proto.js | 0 .../Error/prototype-properties.js | 0 .../{ecma_6 => non262}/Error/prototype.js | 0 .../{js1_5 => non262}/Error/regress-354246.js | 0 .../{js1_5 => non262}/Error/regress-412324.js | 0 .../{js1_5 => non262}/Error/regress-465377.js | 0 .../PluralRules => non262/Error}/shell.js | 0 .../Exceptions}/browser.js | 0 .../Exceptions/catchguard-002-n.js | 0 .../Exceptions/catchguard-003-n.js | 0 .../Exceptions/error-expando-reconfigure.js | 0 .../error-property-enumerability.js | 0 .../Exceptions/errstack-001.js | 0 .../Exceptions/regress-121658.js | 0 .../Exceptions/regress-123002.js | 0 .../Exceptions/regress-181654.js | 0 .../Exceptions/regress-181914.js | 0 .../Exceptions/regress-257751.js | 0 .../Exceptions/regress-273931.js | 0 .../Exceptions/regress-315147.js | 0 .../Exceptions/regress-332472.js | 0 .../Exceptions/regress-333728.js | 0 .../Exceptions/regress-342359.js | 0 .../Exceptions/regress-347674.js | 0 .../Exceptions/regress-350650-n.js | 0 .../Exceptions/regress-350837.js | 0 .../Exceptions/regress-58946.js | 0 .../Exceptions/regress-95101.js | 0 .../Exceptions}/shell.js | 0 .../{js1_5 => non262}/Function/10.1.6-01.js | 0 .../{js1_5 => non262}/Function/10.1.6.js | 0 .../{ecma_5 => non262}/Function/10.2.1.1.6.js | 0 .../Function/15.3.4.3-01.js | 0 .../Function/Function-arguments-gc.js | 0 .../Function/Function-with-eval.js | 0 .../Function/Object-toSource.js | 0 .../Function/arguments-caller-callee.js | 0 .../Function/arguments-extra-property.js | 0 .../Function/arguments-iterator.js | 0 .../Function/arguments-parameter-shadowing.js | 0 .../Function/arguments-property-attributes.js | 0 .../Function/arrow-has-duplicated.js | 0 .../Function/bound-length-and-name.js | 0 .../Function/bound-non-constructable.js | 0 .../Function/bound-prototype.js | 0 .../Array => non262/Function}/browser.js | 0 .../Function/builtin-no-construct.js | 0 .../Function/builtin-no-prototype.js | 0 .../Function/configurable-length-builtins.js | 0 .../Function/configurable-length.js | 0 ...nstruct-bound-proxy-with-many-arguments.js | 0 .../Function/constructor-binding.js | 0 ...eate-function-parse-before-getprototype.js | 0 .../Function/function-bind.js | 0 .../Function/function-call.js | 0 .../Function/function-caller.js | 0 ...oString-arguments-before-parsing-params.js | 0 .../Function/function-name-assignment.js | 0 .../Function/function-name-binding.js | 0 .../Function/function-name-class.js | 0 .../Function/function-name-for.js | 0 .../Function/function-name-method.js | 0 .../Function/function-name-property.js | 0 .../Function/function-name.js | 0 .../Function/has-instance-jitted.js | 0 .../Function/has-instance.js | 0 .../implicit-this-in-parameter-expression.js | 0 .../Function/invalid-parameter-list.js | 0 ...-destructuring-and-parameter-expression.js | 0 .../Function/line-terminator-before-arrow.js | 0 .../Function/method-has-duplicated.js | 0 .../Function/parameter-redeclaration.js | 0 .../Function/redefine-arguments-length.js | 0 .../Function/regress-123371.js | 0 .../Function/regress-131964.js | 0 .../Function/regress-137181.js | 0 .../Function/regress-178389.js | 0 .../Function/regress-193555.js | 0 .../Function/regress-222029-001.js | 0 .../Function/regress-222029-002.js | 0 .../Function/regress-292215.js | 0 .../Function/regress-313570.js | 0 .../Function/regress-338001.js | 0 .../Function/regress-338121-01.js | 0 .../Function/regress-338121-02.js | 0 .../Function/regress-338121-03.js | 0 .../Function/regress-344052.js | 0 .../Function/regress-364023.js | 0 .../Function/regress-49286.js | 0 .../Function}/regress-518103.js | 0 .../Function}/regress-524826.js | 0 .../Function}/regress-528082.js | 0 .../Function}/regress-533254.js | 0 .../Function}/regress-545980.js | 0 .../Function/regress-58274.js | 0 .../Function/regress-85880.js | 0 .../Function/regress-94506.js | 0 .../Function/regress-97921.js | 0 .../Function/rest-has-duplicated.js | 0 .../Function/rest-parameter-names.js | 0 .../Function/return-finally.js | 0 .../{Intl/String => non262/Function}/shell.js | 0 .../Function/spread-iterator-primitive.js | 0 .../Function/strict-arguments.js | 0 .../Function/throw-type-error.js | 0 .../{ecma/Boolean => non262/GC}/browser.js | 0 .../{js1_5 => non262}/GC/regress-104584.js | 0 .../{js1_5 => non262}/GC/regress-203278-2.js | 0 .../{js1_5 => non262}/GC/regress-203278-3.js | 0 .../{js1_5 => non262}/GC/regress-278725.js | 0 .../{js1_5 => non262}/GC/regress-306788.js | 0 .../{js1_5 => non262}/GC/regress-311497.js | 0 .../{js1_5 => non262}/GC/regress-313276.js | 0 .../{js1_5 => non262}/GC/regress-313479.js | 0 .../{js1_5 => non262}/GC/regress-316885-01.js | 0 .../{js1_5 => non262}/GC/regress-316885-02.js | 0 .../{js1_5 => non262}/GC/regress-316885-03.js | 0 .../{js1_5 => non262}/GC/regress-319980-01.js | 0 .../{js1_5 => non262}/GC/regress-324278.js | 0 .../{js1_5 => non262}/GC/regress-331719.js | 0 .../{js1_5 => non262}/GC/regress-338653.js | 0 .../{js1_5 => non262}/GC/regress-341877-01.js | 0 .../{js1_5 => non262}/GC/regress-341877-02.js | 0 .../{js1_5 => non262}/GC/regress-346794.js | 0 .../{js1_5 => non262}/GC/regress-348532.js | 0 .../{js1_5 => non262}/GC/regress-352606.js | 0 .../{js1_5 => non262}/GC/regress-383269-01.js | 0 .../{js1_5 => non262}/GC/regress-383269-02.js | 0 .../{js1_5 => non262}/GC/regress-390078.js | 0 .../{js1_5 => non262}/GC/regress-418128.js | 0 .../{js1_5 => non262}/GC/regress-440558.js | 0 .../{Intl/TypedArray => non262/GC}/shell.js | 0 .../extensions => non262/Intl/Array}/shell.js | 0 .../Intl/Array/toLocaleString-date.js | 0 .../Intl/Array/toLocaleString-number.js | 0 .../{ => non262}/Intl/Array/toLocaleString.js | 0 .../Date => non262/Intl/Collator}/browser.js | 0 .../tests/{ => non262}/Intl/Collator/call.js | 0 .../{ => non262}/Intl/Collator/caseFirst.js | 0 .../{ => non262}/Intl/Collator/compare.js | 0 .../Intl/Collator/construct-newtarget.js | 0 .../{Intl => non262/Intl/Collator}/shell.js | 0 .../Intl/Collator/supportedLocalesOf.js | 0 .../{ => non262}/Intl/Collator/toStringTag.js | 0 .../Intl/Date}/browser.js | 0 .../{ecma/Array => non262/Intl/Date}/shell.js | 0 .../Intl/Date/toLocaleDateString_timeZone.js | 0 .../Intl/Date/toLocaleString_timeZone.js | 0 .../Intl/Date/toLocaleTimeString_timeZone.js | 0 .../Intl/DateTimeFormat}/browser.js | 0 .../Intl/DateTimeFormat/calendar-aliases.js | 0 .../{ => non262}/Intl/DateTimeFormat/call.js | 0 .../DateTimeFormat/construct-newtarget.js | 0 .../Intl/DateTimeFormat/format.js | 0 .../Intl/DateTimeFormat/formatToParts.js | 0 .../Intl/DateTimeFormat/format_timeZone.js | 0 .../Intl/DateTimeFormat/hourCycle.js | 0 .../Intl/DateTimeFormat/islamic.js | 0 .../Intl/DateTimeFormat/mozExtensions.js | 0 .../Intl/DateTimeFormat}/shell.js | 0 .../Intl/DateTimeFormat/supportedLocalesOf.js | 0 .../Intl/DateTimeFormat/timeZone.js | 0 .../DateTimeFormat/timeZone_backward_links.js | 0 .../Intl/DateTimeFormat/timeZone_backzone.js | 0 .../DateTimeFormat/timeZone_backzone_links.js | 0 .../timeZone_notbackward_links.js | 0 .../Intl/DateTimeFormat/toStringTag.js | 0 .../DateTimeFormat/tz-environment-variable.js | 0 .../Intl/DateTimeFormat/unwrapping.js | 0 .../Intl/NumberFormat/StringBuffer.js | 0 .../Intl/NumberFormat}/browser.js | 0 .../{ => non262}/Intl/NumberFormat/call.js | 0 .../Intl/NumberFormat/construct-newtarget.js | 0 .../duplicate-singleton-variant.js | 0 .../NumberFormat/format-as-code-or-name.js | 0 .../{ => non262}/Intl/NumberFormat/format.js | 0 .../Intl/NumberFormat/formatToParts.js | 0 .../negativeZeroFractionDigits.js | 0 .../NumberFormat/options-emulate-undefined.js | 0 .../NumberFormat/remove-unicode-extensions.js | 0 .../Intl/NumberFormat}/shell.js | 0 .../NumberFormat/significantDigitsOfZero.js | 0 .../Intl/NumberFormat/supportedLocalesOf.js | 0 .../Intl/NumberFormat/toStringTag.js | 0 .../Intl/NumberFormat/unwrapping.js | 0 .../Intl/PluralRules}/browser.js | 0 .../{ => non262}/Intl/PluralRules/call.js | 0 .../Intl/PluralRules/construct-newtarget.js | 0 .../PluralRules/negativeZeroFractionDigits.js | 0 .../Intl/PluralRules/pluralrules.js | 0 .../resolvedOptions-overridden-species.js | 0 .../{ => non262}/Intl/PluralRules/select.js | 0 .../Intl/PluralRules}/shell.js | 0 .../Intl/PluralRules/supportedLocalesOf.js | 0 js/src/tests/{ => non262}/Intl/README.txt | 0 .../Intl/RelativeTimeFormat}/browser.js | 0 .../RelativeTimeFormat/construct-newtarget.js | 0 .../Intl/RelativeTimeFormat/format.js | 0 .../RelativeTimeFormat/relativetimeformat.js | 0 .../Intl/RelativeTimeFormat}/shell.js | 0 .../RelativeTimeFormat/supportedLocalesOf.js | 0 .../Intl/String}/shell.js | 0 .../Intl/String/toLocaleLowerCase.js | 0 .../Intl/String/toLocaleUpperCase.js | 0 .../Intl/TypedArray}/shell.js | 0 .../Intl/TypedArray/toLocaleString.js | 0 .../Intl}/browser.js | 0 .../{ => non262}/Intl/duplicate-variants.js | 0 .../Intl/extensions}/browser.js | 0 .../options-value-emulates-undefined.js | 0 .../Math => non262/Intl/extensions}/shell.js | 0 .../{ => non262}/Intl/fallback-symbol.js | 0 .../Intl/four-letter-language-codes.js | 0 .../{ => non262}/Intl/getCalendarInfo.js | 0 ...tCanonicalLocales-overridden-arg-length.js | 0 .../getCanonicalLocales-overridden-push.js | 0 .../getCanonicalLocales-overridden-set.js | 0 .../getCanonicalLocales-overridden-species.js | 0 .../Intl/getCanonicalLocales-weird-cases.js | 0 .../getCanonicalLocales-with-duplicates.js | 0 .../{ => non262}/Intl/getCanonicalLocales.js | 0 .../{ => non262}/Intl/getDisplayNames.js | 0 .../tests/{ => non262}/Intl/getLocaleInfo.js | 0 .../NativeObjects => non262/Intl}/shell.js | 0 .../NativeObjects => non262/JSON}/browser.js | 0 .../JSON/cyclic-stringify-unrelated.js | 0 .../JSON/cyclic-stringify.js | 0 .../JSON/parse-arguments.js | 0 .../{ecma_5 => non262}/JSON/parse-array-gc.js | 0 .../JSON/parse-crockford-01.js | 0 .../JSON/parse-mega-huge-array.js | 0 .../JSON/parse-number-syntax.js | 0 .../JSON/parse-octal-syntax-error.js | 0 .../JSON/parse-primitives.js | 0 .../JSON/parse-reviver-array-delete.js | 0 .../{ecma_5 => non262}/JSON/parse-reviver.js | 0 .../JSON/parse-syntax-errors-01.js | 0 .../JSON/parse-syntax-errors-02.js | 0 .../JSON/parse-syntax-errors-03.js | 0 js/src/tests/{ecma_5 => non262}/JSON/parse.js | 0 .../JSON/regress-458959.js | 0 .../JSON/regress-459293.js | 0 js/src/tests/{ecma_5 => non262}/JSON/shell.js | 0 .../JSON/small-codepoints.js | 0 .../JSON/stringify-boxed-primitives.js | 0 .../JSON/stringify-call-replacer-once.js | 0 .../JSON/stringify-call-toJSON-once.js | 0 .../JSON/stringify-dropping-elements.js | 0 .../{ecma_5 => non262}/JSON/stringify-gap.js | 0 .../stringify-ignore-noncallable-toJSON.js | 0 .../JSON/stringify-large-replacer-array.js | 0 .../JSON/stringify-missing-arguments.js | 0 ...stringify-nonarray-noncallable-replacer.js | 0 .../JSON/stringify-primitives.js | 0 ...stringify-replacer-array-boxed-elements.js | 0 ...ngify-replacer-array-duplicated-element.js | 0 ...y-replacer-array-edgecase-jsid-elements.js | 0 .../JSON/stringify-replacer-array-hijinks.js | 0 ...tringify-replacer-array-skipped-element.js | 0 ...stringify-replacer-array-trailing-holes.js | 0 .../stringify-replacer-with-array-indexes.js | 0 .../JSON/stringify-replacer.js | 0 .../JSON/stringify-special-escapes.js | 0 .../JSON/stringify-toJSON-arguments.js | 0 .../{ecma_5 => non262}/JSON/stringify.js | 0 .../{ecma_5 => non262}/JSON/trailing-comma.js | 0 .../{ecma_6 => non262}/Map/NaN-as-key.js | 0 .../{ecma/Number => non262/Map}/browser.js | 0 .../Map/constructor-iterator-close.js | 0 .../Map/constructor-iterator-primitive.js | 0 .../Map/forEach-selfhosted-behavior.js | 0 .../{ecma_6 => non262}/Map/getter-name.js | 0 .../tests/{ecma_6 => non262}/Map/iterable.js | 0 .../{ecma/Number => non262/Map}/shell.js | 0 .../tests/{ecma_6 => non262}/Map/symbols.js | 0 js/src/tests/{ecma => non262}/Math/15.8.1.js | 0 .../tests/{ecma => non262}/Math/15.8.2.13.js | 0 .../tests/{ecma => non262}/Math/15.8.2.16.js | 0 .../tests/{ecma => non262}/Math/15.8.2.17.js | 0 .../tests/{ecma => non262}/Math/15.8.2.18.js | 0 .../tests/{ecma => non262}/Math/15.8.2.2.js | 0 .../tests/{ecma => non262}/Math/15.8.2.3.js | 0 .../tests/{ecma => non262}/Math/15.8.2.4.js | 0 .../tests/{ecma => non262}/Math/15.8.2.5.js | 0 .../tests/{ecma => non262}/Math/15.8.2.7.js | 0 .../tests/{ecma => non262}/Math/15.8.2.8.js | 0 .../Math/20.2.2.ToNumber.js | 0 js/src/tests/{ecma_7 => non262}/Math/Pow.js | 0 .../{ecma_6 => non262}/Math/acosh-approx.js | 0 .../{ecma_6 => non262}/Math/acosh-exact.js | 0 .../{ecma_6 => non262}/Math/asinh-approx.js | 0 .../{ecma_6 => non262}/Math/asinh-exact.js | 0 .../{ecma_6 => non262}/Math/atanh-approx.js | 0 .../{ecma_6 => non262}/Math/atanh-exact.js | 0 .../ObjectObjects => non262/Math}/browser.js | 0 .../{ecma_6 => non262}/Math/cbrt-approx.js | 0 .../{ecma_6 => non262}/Math/cbrt-exact.js | 0 js/src/tests/{ecma_6 => non262}/Math/clz32.js | 0 .../{ecma_6 => non262}/Math/cosh-approx.js | 0 .../{ecma_6 => non262}/Math/cosh-exact.js | 0 .../{ecma_6 => non262}/Math/expm1-approx.js | 0 .../{ecma_6 => non262}/Math/expm1-exact.js | 0 .../Math/expm1-monotonicity.js | 0 .../tests/{ecma_6 => non262}/Math/fround.js | 0 .../{ecma_6 => non262}/Math/log10-approx.js | 0 .../{ecma_6 => non262}/Math/log10-exact.js | 0 .../{ecma_6 => non262}/Math/log1p-approx.js | 0 .../{ecma_6 => non262}/Math/log1p-exact.js | 0 .../{ecma_6 => non262}/Math/log2-approx.js | 0 .../{ecma_6 => non262}/Math/log2-exact.js | 0 js/src/tests/{ecma_6 => non262}/Math/shell.js | 0 js/src/tests/{ecma_6 => non262}/Math/sign.js | 0 .../{ecma_6 => non262}/Math/sinh-approx.js | 0 .../{ecma_6 => non262}/Math/sinh-exact.js | 0 .../{ecma_6 => non262}/Math/tanh-approx.js | 0 .../{ecma_6 => non262}/Math/tanh-exact.js | 0 js/src/tests/{ecma_6 => non262}/Math/trunc.js | 0 .../Number/0x-without-following-hexdigits.js | 0 .../Number/15.7.3.7-EPSILON.js | 0 .../{ecma_5 => non262}/Number/15.7.4.2.js | 0 .../Number/20.1.2.10-MIN_SAFE_INTEGER.js | 0 .../Number/20.1.2.6-MAX_SAFE_INTEGER.js | 0 .../Number/20.1.3.2-toExponential.js | 0 .../Number/20.1.3.2-toPrecision.js | 0 .../Number/20.1.3.3-toFixed.js | 0 .../{ecma_6 => non262}/Number/ToNumber.js | 0 .../SourceText => non262/Number}/browser.js | 0 .../Number/conversion-invalid-precision.js | 0 .../{ecma_5 => non262}/Number/defaultvalue.js | 0 .../Number/isSafeInteger-01.js | 0 .../Number/parseFloat-01.js | 0 .../{ecma_6 => non262}/Number/parseInt-01.js | 0 .../Number/parseInt-default-to-decimal.js | 0 .../Number/regress-442242-01.js | 0 .../ObjectObjects => non262/Number}/shell.js | 0 .../Number/toString-radix-handling.js | 0 .../Number/tonumber-string-hex.js | 0 .../Statements => non262/Promise}/browser.js | 0 .../{ecma_6 => non262}/Promise/bug-1287334.js | 0 .../{ecma_6 => non262}/Promise/bug-1288382.js | 0 .../{ecma_6 => non262}/Promise/bug-1289040.js | 0 .../Promise/dependent-promises.js | 0 .../Promise/enqueue-promise-reactions.js | 0 .../Promise/get-wait-for-all-promise.js | 0 .../Promise/iterator-close.js | 0 .../Promise/iterator-primitive.js | 0 .../Promise/methods-non-enumerable.js | 0 .../{ecma_6 => non262}/Promise/promise-all.js | 0 .../Promise/promise-basics.js | 0 .../Promise/promise-rejection-tracking.js | 0 .../Promise/promise-species.js | 0 .../Promise/promise-subclassing.js | 0 .../Promise/self-resolve.js | 0 .../SourceText => non262/Promise}/shell.js | 0 .../{ecma/String => non262/Proxy}/browser.js | 0 .../Proxy/getPrototypeOf.js | 0 .../Proxy/global-receiver.js | 0 .../{ecma_6 => non262}/Proxy/hasInstance.js | 0 ...tringify-replacer-array-revocable-proxy.js | 0 .../Proxy/ownkeys-allowed-types.js | 0 .../Proxy/ownkeys-linear.js | 0 .../Proxy/ownkeys-trap-duplicates.js | 0 .../Proxy/proxy-__proto__.js | 0 .../Proxy/proxy-constructNonObject.js | 0 .../{ecma_6 => non262}/Proxy/proxy-for-in.js | 0 .../Proxy/proxy-no-receiver-overwrite.js | 0 .../Proxy/proxy-proto-lazy-props.js | 0 .../Proxy/proxy-with-revoked-arguments.js | 0 .../Proxy/regress-bug1037770.js | 0 .../Proxy/regress-bug1062349.js | 0 .../Proxy/regress-bug950407.js | 0 .../Proxy/revocable-proxy-prototype.js | 0 .../Proxy/revoke-as-side-effect.js | 0 .../Proxy/setPrototypeOf.js | 0 .../Statements => non262/Proxy}/shell.js | 0 .../{ecma_6 => non262}/Proxy/trap-null.js | 0 .../tests/{ecma_6 => non262}/Reflect/apply.js | 0 .../Reflect/argumentsList.js | 0 .../Reflect}/browser.js | 0 .../{ecma_6 => non262}/Reflect/construct.js | 0 .../Reflect/defineProperty.js | 0 .../Reflect/deleteProperty.js | 0 .../tests/{ecma_6 => non262}/Reflect/get.js | 0 .../Reflect/getOwnPropertyDescriptor.js | 0 .../Reflect/getPrototypeOf.js | 0 .../tests/{ecma_6 => non262}/Reflect/has.js | 0 .../Reflect/isExtensible.js | 0 .../{ecma_6 => non262}/Reflect/ownKeys.js | 0 .../Reflect/preventExtensions.js | 0 .../Reflect/propertyKeys.js | 0 .../tests/{ecma_6 => non262}/Reflect/set.js | 0 .../Reflect/setPrototypeOf.js | 0 .../tests/{ecma_6 => non262}/Reflect/shell.js | 0 .../{ecma_6 => non262}/Reflect/surfaces.js | 0 .../{ecma_6 => non262}/Reflect/target.js | 0 .../{ecma_5 => non262}/RegExp/15.10.5-01.js | 0 .../{ecma_5 => non262}/RegExp/15.10.7.5-01.js | 0 .../{ecma_5 => non262}/RegExp/7.8.5-01.js | 0 .../RegExp/RegExpExec-exec.js | 0 .../RegExp/RegExpExec-return.js | 0 .../RegExp}/RegExp_dollar_number.js | 0 .../RegExp}/RegExp_lastMatch.js | 0 .../RegExp}/RegExp_lastMatch_as_array.js | 0 .../RegExp}/RegExp_lastParen.js | 0 .../RegExp}/RegExp_lastParen_as_array.js | 0 .../RegExp}/RegExp_leftContext.js | 0 .../RegExp}/RegExp_leftContext_as_array.js | 0 .../regexp => non262/RegExp}/RegExp_object.js | 0 .../RegExp}/RegExp_rightContext.js | 0 .../RegExp}/RegExp_rightContext_as_array.js | 0 .../{ecma/Types => non262/RegExp}/browser.js | 0 .../RegExp/character-class-escape-s.js | 0 ...scape-class-s-mongolian-vowel-separator.js | 0 .../{ecma_6 => non262}/RegExp/class-null.js | 0 .../RegExp/compile-lastIndex.js | 0 .../RegExp/compile-symbol.js | 0 .../RegExp/constructor-IsRegExp.js | 0 .../RegExp/constructor-constructor.js | 0 .../RegExp/constructor-ordering-2.js | 0 .../RegExp/constructor-ordering.js | 0 .../RegExp/constructor-regexp-unicode.js | 0 .../RegExp/constructor-regexp.js | 0 .../RegExp/constructor-symbol.js | 0 .../{ecma_6 => non262}/RegExp/descriptor.js | 0 .../RegExp/empty-lookahead.js | 0 .../tests/{ecma_6 => non262}/RegExp/escape.js | 0 .../RegExp/exec-lastIndex-ToInteger.js | 0 .../RegExp/exec-lastIndex-negative.js | 0 .../tests/{ecma_5 => non262}/RegExp/exec.js | 0 .../RegExp/flag-accessors.js | 0 .../RegExp/flags-param-handling.js | 0 .../tests/{ecma_6 => non262}/RegExp/flags.js | 0 .../{ecma_6 => non262}/RegExp/getter-name.js | 0 .../RegExp/ignoreCase-multiple.js | 0 .../RegExp/ignoreCase-non-latin1-to-latin1.js | 0 ...instance-property-storage-introspection.js | 0 .../RegExp/lastIndex-exec.js | 0 .../RegExp/lastIndex-match-or-replace.js | 0 .../RegExp/lastIndex-nonwritable.js | 0 .../RegExp/lastIndex-search.js | 0 .../match-local-tolength-recompilation.js | 0 .../{ecma_6 => non262}/RegExp/match-this.js | 0 .../{ecma_6 => non262}/RegExp/match-trace.js | 0 .../tests/{ecma_6 => non262}/RegExp/match.js | 0 .../RegExp/prototype-different-global.js | 0 .../{ecma_6 => non262}/RegExp/prototype.js | 0 .../RegExp/regexp-space-character-class.js | 0 .../RegExp/regress-100199.js | 0 .../RegExp/regress-105972.js | 0 .../RegExp/regress-119909.js | 0 .../RegExp/regress-122076.js | 0 .../RegExp/regress-123437.js | 0 .../RegExp/regress-165353.js | 0 .../RegExp/regress-169497.js | 0 .../RegExp/regress-169534.js | 0 .../RegExp/regress-187133.js | 0 .../RegExp/regress-188206.js | 0 .../RegExp/regress-191479.js | 0 .../RegExp/regress-202564.js | 0 .../RegExp/regress-209067.js | 0 .../RegExp/regress-209919.js | 0 .../RegExp/regress-216591.js | 0 .../RegExp/regress-220367-001.js | 0 .../RegExp/regress-223273.js | 0 .../RegExp/regress-223535.js | 0 .../RegExp/regress-224676.js | 0 .../RegExp/regress-225289.js | 0 .../RegExp/regress-225343.js | 0 .../RegExp/regress-24712.js | 0 .../RegExp/regress-285219.js | 0 .../RegExp/regress-28686.js | 0 .../RegExp/regress-305064.js | 0 .../RegExp/regress-307456.js | 0 .../RegExp/regress-309840.js | 0 .../RegExp/regress-312351.js | 0 .../RegExp/regress-31316.js | 0 .../RegExp/regress-330684.js | 0 .../RegExp/regress-334158.js | 0 .../RegExp/regress-346090.js | 0 .../RegExp/regress-367888.js | 0 .../RegExp/regress-375642.js | 0 .../RegExp/regress-375651.js | 0 .../RegExp/regress-375711.js | 0 .../RegExp/regress-375715-01-n.js | 0 .../RegExp/regress-375715-02.js | 0 .../RegExp/regress-375715-03.js | 0 .../RegExp/regress-375715-04.js | 0 .../RegExp/regress-429241.js | 0 .../RegExp/regress-436700.js | 0 .../RegExp/regress-465862.js | 0 .../RegExp/regress-57572.js | 0 .../RegExp/regress-57631.js | 0 .../RegExp/regress-576828.js | 0 .../RegExp/regress-613820-1.js | 0 .../RegExp/regress-613820-2.js | 0 .../RegExp/regress-613820-3.js | 0 .../RegExp/regress-617935.js | 0 .../regexp => non262/RegExp}/regress-6359.js | 0 .../RegExp/regress-67773.js | 0 .../RegExp/regress-72964.js | 0 .../RegExp/regress-76683.js | 0 .../RegExp/regress-78156.js | 0 .../RegExp/regress-85721.js | 0 .../RegExp/regress-87231.js | 0 .../regexp => non262/RegExp}/regress-9141.js | 0 .../RegExp/regress-98306.js | 0 .../RegExp/replace-compile-elembase.js | 0 .../RegExp/replace-compile.js | 0 .../RegExp/replace-global-unicode.js | 0 .../replace-local-tolength-lastindex.js | 0 .../replace-local-tolength-recompilation.js | 0 .../RegExp/replace-sticky-lastIndex.js | 0 .../RegExp/replace-sticky.js | 0 .../{ecma_6 => non262}/RegExp/replace-this.js | 0 .../RegExp/replace-trace.js | 0 .../RegExp/replace-twoBytes.js | 0 .../{ecma_6 => non262}/RegExp/replace.js | 0 .../{ecma_6 => non262}/RegExp/search-this.js | 0 .../{ecma_6 => non262}/RegExp/search-trace.js | 0 .../tests/{ecma_6 => non262}/RegExp/search.js | 0 js/src/tests/non262/RegExp/shell.js | 256 ++ .../tests/{ecma_6 => non262}/RegExp/source.js | 0 .../RegExp/split-deleted-flags.js | 0 .../RegExp/split-flags-on-obj.js | 0 .../RegExp/split-invalid-lastIndex.js | 0 .../{ecma_6 => non262}/RegExp/split-limit.js | 0 .../{ecma_6 => non262}/RegExp/split-obj.js | 0 .../RegExp/split-prop-access.js | 0 .../{ecma_6 => non262}/RegExp/split-this.js | 0 .../{ecma_6 => non262}/RegExp/split-trace.js | 0 .../tests/{ecma_6 => non262}/RegExp/split.js | 0 .../tests/{ecma_6 => non262}/RegExp/sticky.js | 0 .../RegExp/test-emptyMatch.js | 0 .../RegExp/test-trailing.js | 0 .../{ecma_6 => non262}/RegExp/toString.js | 0 .../RegExp/unicode-back-reference.js | 0 .../RegExp/unicode-braced.js | 0 .../RegExp/unicode-character-class-escape.js | 0 .../RegExp/unicode-class-braced.js | 0 .../RegExp/unicode-class-empty.js | 0 .../RegExp/unicode-class-ignoreCase.js | 0 .../RegExp/unicode-class-lead-trail.js | 0 .../RegExp/unicode-class-negated.js | 0 .../RegExp/unicode-class-range.js | 0 .../RegExp/unicode-class-raw.js | 0 .../RegExp/unicode-disallow-extended.js | 0 .../RegExp/unicode-everything.js | 0 .../RegExp/unicode-ignoreCase-ascii.js | 0 .../RegExp/unicode-ignoreCase-escape.js | 0 .../RegExp/unicode-ignoreCase-negated.js | 0 .../unicode-ignoreCase-word-boundary.js | 0 .../RegExp/unicode-ignoreCase.js | 0 .../RegExp/unicode-index.js | 0 .../RegExp/unicode-lead-trail.js | 0 .../{ecma_6 => non262}/RegExp/unicode-raw.js | 0 .../{js1_7/regexp => non262/RegExp}/yflag.js | 0 .../tests/{ecma_7 => non262}/SIMD/ToSource.js | 0 .../SIMD/binary-operations.js | 0 js/src/tests/{ecma => non262/SIMD}/browser.js | 0 .../{ecma_7 => non262}/SIMD/bug1023145.js | 0 .../{ecma_7 => non262}/SIMD/bug953270.js | 0 js/src/tests/{ecma_7 => non262}/SIMD/check.js | 0 .../{ecma_7 => non262}/SIMD/comparisons.js | 0 .../{ecma_7 => non262}/SIMD/constructors.js | 0 .../{ecma_7 => non262}/SIMD/conversions.js | 0 .../SIMD/float64x2-arithmetic.js | 0 .../{ecma_7 => non262}/SIMD/load-floats.js | 0 .../{ecma_7 => non262}/SIMD/load-int16x8.js | 0 .../{ecma_7 => non262}/SIMD/load-int32x4.js | 0 .../{ecma_7 => non262}/SIMD/load-int8x16.js | 0 .../SIMD/load-sab-buffer-compat.js | 0 .../SIMD/load-unsigned-integers.js | 0 .../tests/{ecma_7 => non262}/SIMD/minmax.js | 0 .../{ecma_7 => non262}/SIMD/replaceLane.js | 0 .../SIMD/select-bitselect.js | 0 js/src/tests/{ecma_7 => non262}/SIMD/shell.js | 0 .../tests/{ecma_7 => non262}/SIMD/shifts.js | 0 js/src/tests/{ecma_7 => non262}/SIMD/splat.js | 0 js/src/tests/{ecma_7 => non262}/SIMD/store.js | 0 .../SIMD/swizzle-shuffle.js | 0 .../tests/{ecma_7 => non262}/SIMD/toString.js | 0 .../{ecma_7 => non262}/SIMD/typedobjects.js | 0 .../SIMD/unary-operations.js | 0 .../extensions => non262/Scope}/browser.js | 0 .../{js1_5 => non262}/Scope/regress-154693.js | 0 .../{js1_5 => non262}/Scope/regress-181834.js | 0 .../{js1_5 => non262}/Scope/regress-184107.js | 0 .../{js1_5 => non262}/Scope/regress-185485.js | 0 .../{js1_5 => non262}/Scope/regress-191276.js | 0 .../{js1_5 => non262}/Scope/regress-192226.js | 0 .../Scope/regress-202678-001.js | 0 .../Scope/regress-202678-002.js | 0 .../Scope/regress-208496-001.js | 0 .../Scope/regress-208496-002.js | 0 .../{js1_5 => non262}/Scope/regress-220362.js | 0 .../Scope/regress-446026-01.js | 0 .../Scope/regress-446026-02.js | 0 .../Scope/regress-77578-001.js | 0 .../{js1_5 => non262}/Scope/scope-002.js | 0 .../{js1_5 => non262}/Scope/scope-003.js | 0 .../{js1_5 => non262}/Scope/scope-004.js | 0 .../{ecma/String => non262/Scope}/shell.js | 0 .../Exceptions => non262/Script}/browser.js | 0 .../{js1_3 => non262}/Script/delete-001.js | 0 .../{js1_3 => non262}/Script/function-002.js | 0 .../tests/{js1_3 => non262}/Script/in-001.js | 0 .../tests/{js1_3 => non262}/Script/new-001.js | 0 .../TypeConversion => non262/Script}/shell.js | 0 .../{js1_3 => non262}/Script/switch-001.js | 0 .../{ecma_6 => non262}/Set/NaN-as-key.js | 0 .../Expressions => non262/Set}/browser.js | 0 .../Set/forEach-selfhosted-behavior.js | 0 .../{ecma_6 => non262}/Set/getter-name.js | 0 .../tests/{ecma/Types => non262/Set}/shell.js | 0 .../tests/{ecma_6 => non262}/Set/symbols.js | 0 .../{ecma_5 => non262}/String/15.5.4.11-01.js | 0 .../{ecma_5 => non262}/String/15.5.4.2.js | 0 .../{ecma_5 => non262}/String/15.5.4.7.js | 0 .../String/AdvanceStringIndex.js | 0 .../{ecma_6 => non262}/String/IsRegExp.js | 0 .../String}/browser.js | 0 .../{ecma_6 => non262}/String/codePointAt.js | 0 .../{ecma_5 => non262}/String/defaultvalue.js | 0 .../String/fromCodePoint.js | 0 .../String/generics-deprecated.js | 0 .../{js1_6 => non262}/String/generics.js | 0 .../String/internalUsage.js | 0 .../String/iterator_edge_cases.js | 0 ...umber-when-searchStr-larger-than-string.js | 0 .../make-normalize-generateddata-input.py | 4 +- .../String/match-GetMethod.js | 0 .../String/match-defines-match-elements.js | 0 .../String/match-forward-lookahead.js | 0 ...tch-throws-nonwritable-lastIndex-global.js | 0 .../String/match-updates-global-lastIndex.js | 0 .../tests/{ecma_6 => non262}/String/match.js | 0 .../String/normalize-form-non-atom.js | 0 .../String/normalize-generateddata-input.js | 0 .../String/normalize-generateddata-part0.js | 2 +- ...ormalize-generateddata-part1-not-listed.js | 2 +- .../String/normalize-generateddata-part1.js | 2 +- .../String/normalize-generateddata-part2.js | 2 +- .../String/normalize-generateddata-part3.js | 2 +- .../String/normalize-generic.js | 0 .../String/normalize-parameter.js | 0 .../String/normalize-rope.js | 0 js/src/tests/{ecma_6 => non262}/String/raw.js | 0 .../String/regress-104375.js | 0 .../String/regress-107771.js | 0 .../String/regress-112626.js | 0 .../String/regress-179068.js | 0 .../String/regress-189898.js | 0 .../String/regress-304376.js | 0 .../String/regress-305064.js | 0 .../String/regress-306591.js | 0 .../String/regress-313567.js | 0 .../String/regress-369778.js | 0 .../String/regress-392378.js | 0 .../String/regress-83293.js | 0 .../String/replace-GetMethod.js | 0 .../{js1_5 => non262}/String/replace-flags.js | 0 .../{ecma_5 => non262}/String/replace-math.js | 0 ...ace-throws-nonwritable-lastIndex-global.js | 0 .../replace-updates-global-lastIndex.js | 0 .../{ecma_6 => non262}/String/replace.js | 0 .../String/search-GetMethod.js | 0 .../tests/{ecma_6 => non262}/String/search.js | 0 .../tests/{ecma_6 => non262}/String/shell.js | 0 .../{ecma_5 => non262}/String/split-01.js | 0 .../String/split-GetMethod.js | 0 .../{ecma_6 => non262}/String/split-order.js | 0 .../String/split-undefined-separator.js | 0 .../String/split-xregexp.js | 0 .../tests/{ecma_6 => non262}/String/split.js | 0 .../string-code-point-upper-lower-mapping.js | 0 .../String/string-object-length.js | 0 .../String/string-pad-start-end.js | 0 .../String/string-space-trim.js | 0 .../String/string-upper-lower-mapping.js | 0 .../String/unicode-braced.js | 0 .../Symbol/as-base-value.js | 0 .../Symbol}/browser.js | 0 .../{ecma_6 => non262}/Symbol/comparisons.js | 0 .../{ecma_6 => non262}/Symbol/constructor.js | 0 .../{ecma_6 => non262}/Symbol/conversions.js | 0 .../Symbol/enumeration-order.js | 0 .../{ecma_6 => non262}/Symbol/enumeration.js | 0 .../{ecma_6 => non262}/Symbol/equality.js | 0 .../tests/{ecma_6 => non262}/Symbol/errors.js | 0 .../{ecma_6 => non262}/Symbol/for-in-order.js | 0 js/src/tests/{ecma_6 => non262}/Symbol/for.js | 0 .../Symbol/json-stringify-keys.js | 0 .../Symbol/json-stringify-values.js | 0 .../tests/{ecma_6 => non262}/Symbol/keyFor.js | 0 .../Symbol/property-accessor.js | 0 .../Symbol/property-basics.js | 0 .../Symbol/property-inheritance.js | 0 .../Symbol/property-nonwritable.js | 0 .../Symbol/property-reflection.js | 0 .../tests/{ecma_6 => non262}/Symbol/realms.js | 0 .../extensions => non262/Symbol}/shell.js | 0 .../{ecma_6 => non262}/Symbol/species.js | 0 .../{ecma_6 => non262}/Symbol/surfaces.js | 0 ...mbol-object-not-unboxed-for-value-to-id.js | 0 .../Symbol/toPrimitive-undefined-or-null.js | 0 .../{ecma_6 => non262}/Symbol/toPrimitive.js | 0 .../{ecma_6 => non262}/Symbol/toString.js | 0 .../{ecma_6 => non262}/Symbol/toStringTag.js | 0 .../{ecma_6 => non262}/Symbol/typed-arrays.js | 0 .../tests/{ecma_6 => non262}/Symbol/typeof.js | 0 .../{ecma_6 => non262}/Symbol/valueOf.js | 0 .../{ecma_6 => non262}/Symbol/well-known.js | 0 .../Tconstructor-fromTypedArray-byteLength.js | 0 .../RegExp => non262/TypedArray}/browser.js | 0 .../constructor-ArrayBuffer-species-wrap.js | 0 .../constructor-ArrayBuffer-species.js | 0 .../TypedArray/constructor-buffer-sequence.js | 0 .../constructor-byteoffsets-bounds.js | 0 .../constructor-iterable-generator.js | 0 ...r-iterable-modified-array-iterator-next.js | 0 ...ructor-iterable-modified-array-iterator.js | 0 .../constructor-iterable-nonpacked-array.js | 0 .../constructor-iterable-not-callable.js | 0 ...uctor-iterable-packed-array-side-effect.js | 0 .../constructor-iterable-packed-array.js | 0 .../constructor-iterable-undefined-or-null.js | 0 .../constructor-iterator-primitive.js | 0 .../constructor-length-too-large.js | 0 .../TypedArray/constructor-non-detached.js | 0 .../TypedArray/constructor-not-callable.js | 0 ...tructor-typedarray-species-other-global.js | 0 .../TypedArray/constructor-undefined-args.js | 0 .../TypedArray/constructor_bad-args.js | 0 .../detached-array-buffer-checks.js | 0 ...element-setting-converts-using-ToNumber.js | 0 .../{ecma_6 => non262}/TypedArray/entries.js | 0 .../TypedArray/every-and-some.js | 0 .../TypedArray/fill-detached.js | 0 .../{ecma_6 => non262}/TypedArray/fill.js | 0 .../TypedArray/filter-species.js | 0 .../TypedArray/filter-validation.js | 0 .../TypedArray/find-and-findIndex.js | 0 .../{ecma_6 => non262}/TypedArray/forEach.js | 0 .../TypedArray/from-iterable-validation.js | 0 .../from-non-iterable-validation.js | 0 .../TypedArray/from_basics.js | 0 .../TypedArray/from_constructor.js | 0 .../TypedArray/from_errors.js | 0 .../TypedArray/from_iterable.js | 0 .../TypedArray/from_mapping.js | 0 .../TypedArray/from_realms.js | 0 .../TypedArray/from_string.js | 0 .../TypedArray/from_surfaces.js | 0 .../TypedArray/from_this.js | 0 .../TypedArray/getter-name.js | 0 .../TypedArray/has-property-op.js | 0 .../{ecma_6 => non262}/TypedArray/includes.js | 0 .../TypedArray/indexOf-and-lastIndexOf.js | 0 .../indexOf-never-returns-negative-zero.js | 0 .../TypedArray/iterator-next-with-detached.js | 0 .../{ecma_6 => non262}/TypedArray/iterator.js | 0 .../{ecma_6 => non262}/TypedArray/join.js | 0 .../{ecma_6 => non262}/TypedArray/keys.js | 0 ...lastIndexOf-never-returns-negative-zero.js | 0 .../{ecma_7 => non262}/TypedArray/length.js | 0 .../TypedArray/map-and-filter.js | 0 .../TypedArray/map-species.js | 0 .../TypedArray/map-validation.js | 0 .../TypedArray/object-defineproperty.js | 0 .../TypedArray/of-validation.js | 0 .../tests/{ecma_6 => non262}/TypedArray/of.js | 0 .../prototype-constructor-identity.js | 0 .../TypedArray/reduce-and-reduceRight.js | 0 .../{ecma_6 => non262}/TypedArray/reverse.js | 0 .../TypedArray/seal-and-freeze.js | 0 .../TypedArray/set-detached.js | 0 .../TypedArray/set-negative-offset.js | 0 ...me-buffer-different-source-target-types.js | 0 .../TypedArray/set-tointeger.js | 0 .../TypedArray/set-toobject.js | 0 .../TypedArray/set-wrapped.js | 0 .../{ecma_6 => non262}/TypedArray/set.js | 0 .../{ecma_6 => non262}/TypedArray/shell.js | 0 .../TypedArray/slice-detached.js | 0 .../TypedArray/slice-species.js | 0 .../TypedArray/slice-validation.js | 0 .../{ecma_6 => non262}/TypedArray/slice.js | 0 .../TypedArray/sort-negative-nan.js | 0 .../TypedArray/sort-non-function.js | 0 .../TypedArray/sort_basics.js | 0 .../TypedArray/sort_byteoffset.js | 0 .../TypedArray/sort_comparators.js | 0 .../TypedArray/sort_errors.js | 0 .../TypedArray/sort_globals.js | 0 .../TypedArray/sort_small.js | 0 .../TypedArray/sort_snans.js | 0 .../TypedArray/sorting_buffer_access.js | 0 .../TypedArray/subarray-species.js | 0 .../TypedArray/subarray-validation.js | 0 .../{ecma_6 => non262}/TypedArray/subarray.js | 0 .../test-integrity-level-detached.js | 0 .../TypedArray/test-integrity-level.js | 0 .../TypedArray/toLocaleString-detached.js | 0 .../TypedArray/toLocaleString-nointl.js | 0 .../TypedArray/toLocaleString.js | 0 .../{ecma_6 => non262}/TypedArray/toString.js | 0 .../TypedArray/uint8clamped-constructor.js | 0 .../{ecma_6 => non262}/TypedArray/values.js | 0 .../TypedObject/architecture.js | 0 .../TypedObject/arraybuffer_isview.js | 0 .../TypedObject/arrayequiv.js | 0 .../TypedObject/arrayofstructs.js | 0 .../TypedObject/arraytype.js | 0 .../TypedObject/arrayzerolen.js | 0 .../TypedObject/atopbuffer.js | 0 .../TypedObject/atopbufferwithoffset.js | 0 .../TypedObject}/browser.js | 0 .../TypedObject/map-neutered-midway.js | 0 .../{ecma_7 => non262}/TypedObject/memory.js | 0 .../TypedObject/method_build.js | 0 .../TypedObject/method_filter.js | 0 .../TypedObject/method_from.js | 0 .../TypedObject/method_map.js | 0 .../TypedObject/method_reduce.js | 0 .../TypedObject/numerictypes.js | 0 .../TypedObject/objecttype.js | 0 .../TypedObject/redimension.js | 0 .../TypedObject/referencetypealiasing.js | 0 .../TypedObject/referencetypecoercions.js | 0 .../TypedObject/referencetypemultiple.js | 0 .../TypedObject/referencetypetrace.js | 0 .../TypedObject/referencetypeuninit.js | 0 .../TypedObject/scalar_types.js | 0 .../{ecma_7 => non262}/TypedObject/shell.js | 0 .../TypedObject/simpleequiv.js | 0 .../TypedObject/size_and_alignment.js | 0 .../TypedObject/storageopaque.js | 0 .../TypedObject/structequiv.js | 0 .../TypedObject/structtypeenumerate.js | 0 .../TypedObject/structtypegetownproperty.js | 0 .../TypedObject/structtypeindexedfields.js | 0 .../TypedObject/structtypeprototype.js | 0 .../TypedObject/structtypereflection.js | 0 .../TypedObject/structtypestructuralassign.js | 0 .../String => non262/Unicode}/browser.js | 0 .../Unicode/regress-352044-01.js | 0 .../Unicode/regress-352044-02-n.js | 0 .../Exceptions => non262/Unicode}/shell.js | 0 .../{ecma_3 => non262}/Unicode/uc-001-n.js | 0 .../{ecma_3 => non262}/Unicode/uc-002-n.js | 0 .../{ecma_3 => non262}/Unicode/uc-002.js | 0 .../{ecma_3 => non262}/Unicode/uc-003.js | 0 .../{ecma_3 => non262}/Unicode/uc-004.js | 0 .../{ecma_3 => non262}/Unicode/uc-005.js | 0 .../{ecma_2 => non262/WeakMap}/browser.js | 0 .../Expressions => non262/WeakMap}/shell.js | 0 .../{ecma_6 => non262}/WeakMap/symbols.js | 0 .../arrow-not-as-end-of-statement.js | 0 ...rrow-with-block-body-followed-by-regexp.js | 0 .../arrow-functions}/browser.js | 0 .../arrow-functions}/shell.js | 0 .../arrow-functions}/yield-in-arrow.js | 0 .../async-functions}/BoundNames.js | 0 .../async-functions}/EarlyErrors.js | 0 .../async-functions}/ErrorStack.js | 0 .../async-functions}/arguments_callee.js | 0 .../async-contains-unicode-escape.js | 0 .../async-function-declaration-in-modules.js | 0 .../async-property-name-error.js | 0 .../async-functions}/await-error.js | 0 .../await-in-arrow-parameters.js | 0 .../async-functions}/await-newline.js | 0 .../async-functions}/browser.js | 0 .../async-functions}/clone.js | 0 .../async-functions}/construct-newtarget.js | 0 .../async-functions}/constructor.js | 0 .../cover-init-name-syntax.js | 0 ...eate-function-parse-before-getprototype.js | 0 .../async-functions}/duplicate-__proto__.js | 0 .../forbidden-as-consequent.js | 0 .../async-functions}/identity.js | 0 .../async-functions}/inner-caller.js | 0 .../async-functions}/length.js | 0 .../async-functions}/methods.js | 0 .../async-functions}/no-expression-closure.js | 0 .../async-functions}/properties.js | 0 .../async-functions}/property.js | 0 .../async-functions}/semantics.js | 0 .../async-functions}/shell.js | 0 .../async-functions}/subclass.js | 0 .../async-functions}/syntax-arrow.js | 0 .../async-functions}/syntax-modules.js | 0 .../async-functions}/syntax.js | 0 .../async-functions}/toSource.js | 0 .../async-functions}/toString.js | 0 .../async-functions}/yield.js | 0 .../AsyncFunctions => non262}/browser.js | 0 .../class}/boundFunctionSubclassing.js | 0 .../Expressions => non262/class}/browser.js | 0 .../class}/bytecodePatternMatching.js | 0 .../class}/classConstructorNoCall.js | 0 .../Class => non262/class}/classHeritage.js | 0 .../Class => non262/class}/className.js | 0 .../Class => non262/class}/classPrototype.js | 0 .../Class => non262/class}/compPropDestr.js | 0 .../Class => non262/class}/compPropNames.js | 0 .../class}/constructorCalled.js | 0 .../class}/defaultConstructorBase.js | 0 .../class}/defaultConstructorDerivedSpread.js | 0 .../class}/defaultConstructorNotCallable.js | 0 .../derivedConstructorArrowEvalBinding.js | 0 .../derivedConstructorArrowEvalClosed.js | 0 .../derivedConstructorArrowEvalEscape.js | 0 ...ConstructorArrowEvalEscapeUninitialized.js | 0 .../derivedConstructorArrowEvalGetThis.js | 0 ...ivedConstructorArrowEvalNestedSuperCall.js | 0 .../derivedConstructorArrowEvalSuperCall.js | 0 .../class}/derivedConstructorInlining.js | 0 .../class}/derivedConstructorName.js | 0 .../derivedConstructorReturnPrimitive.js | 0 .../derivedConstructorTDZExplicitThis.js | 0 .../class}/derivedConstructorTDZOffEdge.js | 0 .../derivedConstructorTDZReturnAliasedTry.js | 0 .../derivedConstructorTDZReturnObject.js | 0 .../class}/derivedConstructorTDZReturnTry.js | 0 .../derivedConstructorTDZReturnUndefined.js | 0 .../class}/extendBuiltinConstructors.js | 0 .../class}/geterNoExprClosure.js | 0 .../Class => non262/class}/innerBinding.js | 0 .../class}/member-expr-after-super.js | 0 .../Class => non262/class}/methDefn.js | 0 .../Class => non262/class}/methDefnGen.js | 0 .../class}/method-named-static.js | 0 .../class}/methodInstallation.js | 0 .../Class => non262/class}/methodName.js | 0 .../class}/methodOverwrites.js | 0 .../class}/methodsPrototype.js | 0 .../class}/newTargetArgumentsIntact.js | 0 .../Class => non262/class}/newTargetArrow.js | 0 .../Class => non262/class}/newTargetBound.js | 0 .../Class => non262/class}/newTargetCCW.js | 0 .../Class => non262/class}/newTargetDVG.js | 0 .../class}/newTargetDefaults.js | 0 .../class}/newTargetDirectInvoke.js | 0 .../Class => non262/class}/newTargetEval.js | 0 .../class}/newTargetGenerators.js | 0 .../class}/newTargetMethods.js | 0 .../class}/newTargetNonFunction.js | 0 .../class}/newTargetProxyNative.js | 0 .../Class => non262/class}/outerBinding.js | 0 .../class}/parenExprToString.js | 0 .../{ecma_6/Class => non262/class}/shell.js | 0 .../class}/staticConstructor.js | 0 .../Class => non262/class}/staticMethods.js | 0 .../Class => non262/class}/strictExecution.js | 0 .../class}/stringConstructor.js | 0 .../class}/subclassedArrayUnboxed.js | 0 .../class}/superCallBadDynamicSuperClass.js | 0 .../class}/superCallBadNewTargetPrototype.js | 0 .../class}/superCallBaseInvoked.js | 0 .../class}/superCallIllegal.js | 0 .../class}/superCallInvalidBase.js | 0 .../Class => non262/class}/superCallOrder.js | 0 .../class}/superCallProperBase.js | 0 .../class}/superCallSpreadCall.js | 0 .../class}/superCallThisInit.js | 0 .../class}/superPropBasicCalls.js | 0 .../class}/superPropBasicChain.js | 0 .../class}/superPropBasicGetter.js | 0 .../class}/superPropBasicNew.js | 0 .../Class => non262/class}/superPropChains.js | 0 .../Class => non262/class}/superPropDVG.js | 0 .../Class => non262/class}/superPropDelete.js | 0 .../class}/superPropDerivedCalls.js | 0 .../class}/superPropDestructuring.js | 0 .../class}/superPropEvalInsideArrow.js | 0 .../class}/superPropEvalInsideNested.js | 0 .../Class => non262/class}/superPropFor.js | 0 .../class}/superPropHeavyweightArrow.js | 0 .../class}/superPropHomeObject.js | 0 .../class}/superPropIncDecElem.js | 0 .../class}/superPropLazyInnerFunction.js | 0 .../class}/superPropNoOverwriting.js | 0 .../class}/superPropOrdering.js | 0 .../class}/superPropProtoChanges.js | 0 .../class}/superPropProxies.js | 0 .../Class => non262/class}/superPropSkips.js | 0 .../class}/superPropStatics.js | 0 .../class}/superPropStrictAssign.js | 0 .../class}/superThisStrictNoBoxing.js | 0 .../class}/uninitializedThisError.js | 0 .../comprehensions}/browser.js | 0 .../RegExp => non262/comprehensions}/shell.js | 0 .../destructuring}/array-default-class.js | 0 .../destructuring}/array-iterator-close.js | 0 .../destructuring}/browser.js | 0 .../destructuring}/bug1396261.js | 0 .../destructuring}/constant-folding.js | 0 .../destructuring}/cover-init-name-syntax.js | 0 .../destructuring}/duplicate-__proto__.js | 0 .../destructuring}/iterator-primitive.js | 0 .../destructuring}/order-super.js | 0 .../destructuring}/order.js | 0 .../rest-parameter-aray-iterator.js | 0 .../rest-parameter-arguments.js | 0 .../rest-parameter-function-length.js | 0 ...rest-parameter-spread-call-optimization.js | 0 .../destructuring}/rest-parameter-syntax.js | 0 .../destructuring}/rest-parameter.js | 0 .../rest-with-trailing-comma.js | 0 .../destructuring}/shell.js | 0 .../yield-in-object-destr-function.js | 0 .../yield-in-object-destr-generator.js | 0 .../yield-in-object-destr-script.js | 0 ...ld-with-escape-in-object-destr-function.js | 0 ...d-with-escape-in-object-destr-generator.js | 0 ...ield-with-escape-in-object-destr-script.js | 0 .../Eval/regress-531682.js => non262/ev} | 0 .../Statements => non262/eval}/browser.js | 0 ...tive-fun-normalcaller-direct-normalcode.js | 0 ...tive-fun-normalcaller-direct-strictcode.js | 0 ...ve-fun-normalcaller-indirect-normalcode.js | 0 ...ve-fun-normalcaller-indirect-strictcode.js | 0 ...tive-fun-strictcaller-direct-normalcode.js | 0 ...tive-fun-strictcaller-direct-strictcode.js | 0 ...ve-fun-strictcaller-indirect-normalcode.js | 0 ...ve-fun-strictcaller-indirect-strictcode.js | 0 ...e-global-normalcaller-direct-normalcode.js | 0 ...e-global-normalcaller-direct-strictcode.js | 0 ...global-normalcaller-indirect-normalcode.js | 0 ...global-normalcaller-indirect-strictcode.js | 0 ...e-global-strictcaller-direct-normalcode.js | 0 ...e-global-strictcaller-direct-strictcode.js | 0 ...global-strictcaller-indirect-normalcode.js | 0 ...global-strictcaller-indirect-strictcode.js | 0 .../line-terminator-paragraph-terminator.js | 0 .../{ecma_2/String => non262/eval}/shell.js | 0 .../undeclared-name-in-nested-strict-eval.js | 0 .../execution-contexts}/browser.js | 0 .../execution-contexts}/regress-23346.js | 0 .../execution-contexts}/regress-448595-01.js | 0 .../execution-contexts}/shell.js | 0 .../expressions}/11.1.5-01.js | 0 .../expressions}/ToPropertyKey-symbols.js | 0 .../expressions}/binary-literals.js | 0 .../Array => non262/expressions}/browser.js | 0 .../computed-property-side-effects.js | 0 .../delete-constant-folded-and-or.js | 0 ...e-parenthesized-early-error-strict-mode.js | 0 .../destructuring-array-default-call.js | 0 .../destructuring-array-default-class.js | 0 ...ructuring-array-default-function-nested.js | 0 .../destructuring-array-default-function.js | 0 .../destructuring-array-default-simple.js | 0 .../destructuring-array-default-yield.js | 0 .../expressions}/destructuring-array-done.js | 0 .../destructuring-array-lexical.js | 0 .../destructuring-pattern-parenthesized.js | 0 .../expressions/destructuring-scope.js | 0 .../expressions}/inNotObjectError.js | 0 .../expressions}/named-accessor-function.js | 0 .../nested-delete-name-in-evalcode.js | 0 .../expressions}/object-literal-__proto__.js | 0 .../object-literal-accessor-arguments.js | 0 .../object-literal-accessor-property-name.js | 0 ...ct-literal-computed-property-evaluation.js | 0 .../expressions}/octal-literals.js | 0 .../primitive-this-boxing-behavior.js | 0 .../expressions}/regress-192288.js | 0 .../expressions/regress-346203.js | 0 .../expressions/regress-346645-01.js | 0 .../expressions/regress-346645-02.js | 0 .../expressions/regress-346645-03.js | 0 .../expressions}/regress-394673.js | 0 .../expressions/regress-418051.js | 0 .../expressions/regress-451340.js | 0 .../expressions}/regress-96526-argsub.js | 0 .../expressions}/regress-96526-delelem.js | 0 .../expressions}/regress-96526-noargsub.js | 0 .../expressions}/shell.js | 106 + .../string-literal-escape-sequences.js | 0 .../tagged-template-constant-folding.js | 0 .../expressions}/trailing_comma_arguments.js | 0 .../expressions}/trailing_comma_arrow.js | 0 .../trailing_comma_getter_setter.js | 0 .../expressions}/trailing_comma_parameters.js | 0 .../{ecma_5 => non262}/extensions/15.9.4.2.js | 0 .../extensions/8.12.5-01.js | 0 .../ArrayBuffer-slice-arguments-detaching.js | 0 .../extensions/Boolean-toSource.js | 0 .../DataView-construct-arguments-detaching.js | 0 .../DataView-set-arguments-detaching.js | 0 .../extensions/Number-toSource.js | 0 .../extensions/RegExp-replace-lastParen.js | 0 .../extensions/String-match-flags.js | 0 .../String-methods-infinite-recursion.js | 0 .../extensions/String-toSource.js | 0 ...dArray-set-object-funky-length-detaches.js | 0 ...TypedArray-subarray-arguments-detaching.js | 0 .../extensions/__proto__.js | 0 .../arguments-property-access-in-function.js | 0 .../extensions/array-inherited-__proto__.js | 0 .../array-isArray-proxy-recursion.js | 0 .../extensions/array-length-protochange.js | 0 .../extensions/array-pop-proxy.js | 0 .../extensions/array-toString-recursion.js | 0 .../extensions/arraybuffer-prototype.js | 0 .../arrow-as-end-of-expression-closure.js | 0 .../extensions/basic-for-each.js | 0 .../extensions/basic-for-in.js | 0 .../{js1_8_5 => non262}/extensions/browser.js | 0 .../extensions/bug472534.js | 0 .../extensions/bug496985.js | 0 .../extensions/bug566661.js | 0 .../builtin-function-arguments-caller.js | 0 .../extensions/censor-strict-caller.js | 0 .../extensions/clone-complex-object.js | 0 .../extensions/clone-errors.js | 0 .../extensions/clone-forge.js | 0 .../extensions/clone-leaf-object.js | 0 .../extensions/clone-many-transferables.js | 0 .../extensions/clone-object-deep.js | 0 .../extensions/clone-object.js | 0 .../extensions/clone-regexp.js | 0 .../extensions/clone-sab-failure.js | 0 .../extensions/clone-sab-leak.js | 0 .../extensions/clone-sab.js | 0 .../extensions/clone-simple.js | 0 .../extensions/clone-transferables.js | 0 .../extensions/clone-typed-array.js | 0 .../extensions/clone-v1-typed-array-data.dat | 0 .../extensions/clone-v1-typed-array.js | 0 .../extensions/collect-gray.js | 0 .../extensions/column-numbers.js | 0 .../cross-global-eval-is-indirect.js | 0 .../extensions/cross-global-getPrototypeOf.js | 0 .../extensions/dataview.js | 0 .../extensions/decompile-for-of.js | 0 .../{js1_8 => non262}/extensions/dekker.js | 0 .../extensions/destructure-accessor.js | 0 ...proto__-shorthand-assignment-before-var.js | 0 ...ucturing-__proto__-shorthand-assignment.js | 0 ...structuring-__proto__-target-assignment.js | 0 .../destructuring-for-inof-__proto__.js | 0 .../extensions/destructuring-order.js | 0 .../element-setting-ToNumber-detaches.js | 0 .../shell.js => non262/extensions/empty.txt} | 0 .../extensions/error-tostring-function.js | 0 .../extensions/errorcolumnblame.js | 0 .../es5ish-defineGetter-defineSetter.js | 0 .../eval-native-callback-is-indirect.js | 0 .../{js1_8 => non262}/extensions/expclo.js | 0 .../{js1_8 => non262}/extensions/expclo2.js | 0 .../extensions/expression-closure-syntax.js | 0 ...sion-methods-reject-null-undefined-this.js | 0 .../extensions/file-mapped-arraybuffers.js | 0 .../extensions/file-mapped-arraybuffers.txt | 0 ...claration-and-nested-function-statement.js | 0 .../function-caller-skips-eval-frames.js | 0 .../function-caller-strict-cross-global.js | 0 .../extensions/function-definition-with.js | 0 .../extensions/function-properties.js | 0 .../getOwnPropertyNames-__proto__.js | 0 .../extensions/getset-001.js | 0 .../extensions/getset-003.js | 0 .../extensions/getset-004.js | 0 .../extensions/getset-005.js | 0 .../extensions/getset-006.js | 0 .../extensions/inc-dec-functioncall.js | 0 .../keyword-unescaped-requirement-modules.js | 0 .../keyword-unescaped-requirement.js | 0 .../misplaced-inconsistent-directive.js | 0 .../extensions/mutable-proto-special-form.js | 0 .../nested-delete-name-in-evalcode.js | 0 .../extensions/new-cross-compartment.js | 0 .../extensions/new-parenthesization.js | 0 .../newer-type-functions-caller-arguments.js | 0 .../extensions/non_syntactic.js | 0 .../object-toSource-undefined-getter.js | 0 .../object-toSource-with-symbol-keys.js | 0 .../parse-rest-destructuring-parameter.js | 0 .../{js1_8 => non262}/extensions/peterson.js | 0 .../preventExtensions-cross-global.js | 0 .../proxy-array-target-length-definition.js | 0 .../extensions/proxy-enumeration.js | 0 .../extensions/proxy-proto-setter.js | 0 .../extensions/proxy-strict.js | 0 .../extensions/recursion.js | 0 .../redeclaration-of-catch-warning.js | 0 ...d-gc-during-new-RegExp-pattern-ToString.js | 0 .../extensions/regress-103087.js | 0 .../extensions/regress-104077.js | 0 .../extensions/regress-178722.js | 0 .../extensions/regress-188206-01.js | 0 .../extensions/regress-188206-02.js | 0 .../extensions/regress-192465.js | 0 .../extensions/regress-220367-002.js | 0 .../extensions/regress-225831.js | 0 .../extensions/regress-226078.js | 0 .../extensions/regress-226507.js | 0 .../extensions/regress-228087.js | 0 .../extensions/regress-231518.js | 0 .../extensions/regress-237461.js | 0 .../extensions/regress-245148.js | 0 .../extensions/regress-245795.js | 0 .../extensions/regress-254375.js | 0 .../extensions/regress-255245.js | 0 .../extensions/regress-274152.js | 0 .../extensions/regress-291213.js | 0 .../extensions/regress-300079.js | 0 .../extensions/regress-304897.js | 0 .../extensions/regress-306738.js | 0 .../extensions/regress-311161.js | 0 .../extensions/regress-311583.js | 0 .../extensions/regress-311792-01.js | 0 .../extensions/regress-311792-02.js | 0 .../extensions/regress-312385-01.js | 0 .../extensions/regress-313763.js | 0 .../extensions/regress-313803.js | 0 .../extensions/regress-313938.js | 0 .../extensions/regress-314874.js | 0 .../extensions/regress-315509-02.js | 0 .../extensions/regress-319683.js | 0 .../extensions/regress-320854.js | 0 .../extensions/regress-322957.js | 0 .../extensions/regress-327170.js | 0 .../extensions/regress-327608.js | 0 .../extensions/regress-328443.js | 0 .../extensions/regress-328556.js | 0 .../extensions/regress-330569.js | 0 .../extensions/regress-333541.js | 0 .../extensions/regress-336409-1.js | 0 .../extensions/regress-336409-2.js | 0 .../extensions/regress-336410-1.js | 0 .../extensions/regress-336410-2.js | 0 .../extensions/regress-338804-01.js | 0 .../extensions/regress-338804-02.js | 0 .../extensions/regress-338804-03.js | 0 .../extensions/regress-339685.js | 0 .../extensions/regress-341956-01.js | 0 .../extensions/regress-341956-02.js | 0 .../extensions/regress-341956-03.js | 0 .../extensions/regress-342960.js | 0 .../extensions/regress-345967.js | 0 .../extensions/regress-346642-06.js | 0 .../extensions/regress-346773.js | 0 .../extensions/regress-350312-01.js | 0 .../extensions/regress-350312.js | 0 .../extensions/regress-351070-02.js | 0 .../extensions/regress-351448.js | 0 .../extensions/regress-351463-01.js | 0 .../extensions/regress-351973.js | 0 .../extensions/regress-352291.js | 0 .../extensions/regress-352372.js | 0 .../extensions/regress-352604.js | 0 .../extensions/regress-352797-01.js | 0 .../extensions/regress-353116.js | 0 .../extensions/regress-353214-02.js | 0 .../extensions/regress-354297.js | 0 .../extensions/regress-354541-01.js | 0 .../extensions/regress-354541-02.js | 0 .../extensions/regress-354541-03.js | 0 .../extensions/regress-354541-04.js | 0 .../extensions/regress-355052-01.js | 0 .../extensions/regress-355052-02.js | 0 .../extensions/regress-355052-03.js | 0 .../extensions/regress-355410.js | 0 .../extensions/regress-355497.js | 0 .../extensions/regress-355655.js | 0 .../extensions/regress-355820.js | 0 .../extensions/regress-355982.js | 0 .../extensions/regress-356402.js | 0 .../extensions/regress-358594-01.js | 0 .../extensions/regress-358594-02.js | 0 .../extensions/regress-358594-03.js | 0 .../extensions/regress-358594-04.js | 0 .../extensions/regress-358594-05.js | 0 .../extensions/regress-358594-06.js | 0 .../extensions/regress-359024.js | 0 .../extensions/regress-363040-01.js | 0 .../extensions/regress-363040-02.js | 0 .../extensions/regress-363258.js | 0 .../extensions/regress-363988.js | 0 .../extensions/regress-365527.js | 0 .../extensions/regress-365692.js | 0 .../extensions/regress-365869.js | 0 .../extensions/regress-366288.js | 0 .../extensions/regress-366292.js | 0 .../extensions/regress-366396.js | 0 .../extensions/regress-366668-01.js | 0 .../extensions/regress-367118-01.js | 0 .../extensions/regress-367118-02.js | 0 .../extensions/regress-367119-01.js | 0 .../extensions/regress-367119-02.js | 0 .../extensions/regress-367120-01.js | 0 .../extensions/regress-367120-02.js | 0 .../extensions/regress-367121.js | 0 .../extensions/regress-367501-01.js | 0 .../extensions/regress-367501-02.js | 0 .../extensions/regress-367501-03.js | 0 .../extensions/regress-367501-04.js | 0 .../extensions/regress-367589.js | 0 .../extensions/regress-367629.js | 0 .../extensions/regress-368213.js | 0 .../extensions/regress-368224.js | 0 .../extensions/regress-368516.js | 0 .../extensions/regress-369404.js | 0 .../extensions/regress-369696-01.js | 0 .../extensions/regress-369696-02.js | 0 .../extensions/regress-369696-03.js | 0 .../extensions/regress-372309.js | 0 .../extensions/regress-375183.js | 0 .../extensions/regress-375344.js | 0 .../extensions/regress-375801.js | 0 .../extensions/regress-379566.js | 0 .../extensions/regress-380581.js | 0 .../extensions/regress-380889.js | 0 .../extensions/regress-380933.js | 0 .../extensions/regress-381211.js | 0 .../extensions/regress-381301.js | 0 .../extensions/regress-381303.js | 0 .../extensions/regress-381304.js | 0 .../extensions/regress-385393-02.js | 0 .../extensions/regress-385393-03.js | 0 .../extensions/regress-385393-08.js | 0 .../extensions/regress-385729.js | 0 .../extensions/regress-390598.js | 0 .../extensions/regress-394967.js | 0 .../extensions/regress-396326-01.js} | 0 .../extensions/regress-396326.js | 0 .../extensions/regress-406572.js | 0 .../extensions/regress-407501.js | 0 .../extensions/regress-407720.js | 0 .../extensions/regress-412926.js | 0 .../extensions/regress-414098.js | 0 .../extensions/regress-414755.js | 0 .../extensions/regress-415721.js | 0 .../extensions/regress-416354.js | 0 .../extensions/regress-416460.js | 0 .../extensions/regress-416834.js | 0 .../extensions/regress-417131.js | 0 .../extensions/regress-417817.js | 0 .../extensions/regress-419091.js | 0 .../extensions/regress-420869-01.js | 0 .../extensions/regress-422592.js | 0 .../extensions/regress-424683-01.js | 0 .../extensions/regress-426711.js | 0 .../extensions/regress-427196-01.js | 0 .../extensions/regress-427196-02.js | 0 .../extensions/regress-427196-03.js | 0 .../extensions/regress-429739.js | 0 .../extensions/regress-430740.js | 0 .../extensions/regress-434837-01.js | 0 .../extensions/regress-435497-01.js | 0 .../extensions/regress-435497-02.js | 0 .../extensions/regress-435497-03.js | 0 .../extensions/regress-436741.js | 0 .../extensions/regress-437288-01.js | 0 .../extensions/regress-44009.js | 0 .../extensions/regress-443569.js | 0 .../extensions/regress-445818.js | 0 .../extensions/regress-446169-01.js | 0 .../extensions/regress-446169-02.js | 0 .../extensions/regress-446386.js | 0 .../extensions/regress-452168.js | 0 .../extensions/regress-452178.js | 0 .../extensions/regress-452329.js | 0 .../extensions/regress-452338.js | 0 .../extensions/regress-452498-162.js | 0 .../extensions/regress-452498-196.js | 0 .../extensions/regress-452565.js | 0 .../extensions/regress-452913.js | 0 .../extensions/regress-453249.js | 0 .../extensions/regress-454704.js | 0 .../extensions/regress-454744.js | 0 .../extensions/regress-455380.js | 0 .../extensions/regress-455408.js | 0 .../extensions/regress-456826.js | 0 .../extensions/regress-458679.js | 0 .../extensions/regress-459606.js | 0 .../extensions/regress-462734-02.js | 0 .../extensions/regress-462734-03.js | 0 .../extensions/regress-462734-04.js | 0 .../extensions/regress-465276.js | 0 .../extensions/regress-465337.js | 0 .../extensions/regress-465443.js | 0 .../extensions/regress-465453.js | 0 .../extensions/regress-466905-04.js | 0 .../extensions/regress-466905-05.js | 0 .../extensions/regress-469234.js | 0 .../extensions/regress-469405-01.js | 0 .../extensions/regress-469405-02.js | 0 .../extensions/regress-469625-01.js} | 0 .../extensions/regress-469625.js | 0 .../extensions/regress-469761.js | 0 .../extensions/regress-470300-01.js | 0 .../extensions/regress-470300-02.js | 0 .../extensions/regress-470310.js | 0 .../extensions/regress-471197.js | 0 .../extensions/regress-472450-03.js | 0 .../extensions/regress-472450-04.js | 0 .../extensions/regress-472599.js | 0 .../extensions/regress-473040.js | 0 .../extensions/regress-474771-01.js | 0 .../extensions/regress-474771-02.js | 0 .../extensions/regress-475971.js | 0 .../extensions/regress-476414-01.js | 0 .../extensions/regress-476414-02.js | 0 .../extensions/regress-476447.js | 0 .../extensions/regress-476653.js | 0 .../extensions/regress-476869.js | 0 .../extensions/regress-477158.js | 0 .../extensions/regress-477187.js | 0 .../extensions/regress-479252.js | 0 .../extensions/regress-479381.js | 0 .../extensions/regress-479487.js | 0 .../extensions/regress-479551.js | 0 .../extensions/regress-480579.js | 0 .../extensions/regress-481516.js | 0 .../extensions/regress-482263.js | 0 .../extensions/regress-50447-1.js | 4 +- .../extensions/regress-543839.js | 0 .../extensions/regress-558541.js | 0 .../extensions/regress-591450.js | 0 .../extensions/regress-636818.js | 0 .../extensions/regress-645160.js | 0 .../extensions/regress-650753.js | 0 .../extensions/regress-696109.js | 0 .../extensions/regress-90596-001.js | 0 .../extensions/regress-90596-002.js | 0 .../extensions/regress-96284-001.js | 0 .../extensions/regress-96284-002.js | 0 .../extensions/regress-bug567606.js | 0 .../extensions/regress-bug607284.js | 0 .../extensions/regress-bug629723.js | 0 .../reviver-mutates-holder-array-ccw.js | 0 .../reviver-mutates-holder-array-nonnative.js | 0 .../reviver-mutates-holder-array.js | 0 .../reviver-mutates-holder-object-ccw.js | 0 ...reviver-mutates-holder-object-nonnative.js | 0 .../reviver-mutates-holder-object.js | 0 .../{js1_5 => non262}/extensions/scope-001.js | 0 .../extensions/selfhosted-detecting-strict.js | 0 .../extensions/set-property-non-extensible.js | 0 .../extensions/setImmutablePrototype.js | 0 .../extensions/shareddataview.js | 0 .../extensions/sharedtypedarray.js | 0 js/src/tests/non262/extensions/shell.js | 343 ++ .../extensions/simple-tree.js | 0 .../extensions/sps-generators.js | 0 .../extensions/strict-function-toSource.js | 0 .../strict-option-redeclared-parameter.js | 0 .../extensions/strict-warning.js | 0 ...ing-literal-getter-setter-decompilation.js | 0 .../extensions/symbol-uneval.js | 0 .../{ecma_6 => non262/extensions}/toLength.js | 0 .../toLocaleString-infinite-recursion.js | 0 .../extensions/toSource-0.js | 0 .../extensions/toSource-infinite-recursion.js | 0 ...y-arguments-constructing-bound-function.js | 0 ...pedarray-copyWithin-arguments-detaching.js | 0 .../extensions/typedarray-set-neutering.js | 0 .../typedarray-subarray-of-subarray.js | 0 .../extensions/typedarray.js | 0 .../{js1_8_5 => non262}/extensions/weakmap.js | 0 .../generators}/326466-01.js | 0 .../generators}/browser.js | 0 .../generators}/construct-newtarget.js | 0 ...eate-function-parse-before-getprototype.js | 0 .../generators}/delegating-yield-1.js | 0 .../generators}/delegating-yield-10.js | 0 .../generators}/delegating-yield-11.js | 0 .../generators}/delegating-yield-12.js | 0 .../generators}/delegating-yield-2.js | 0 .../generators}/delegating-yield-3.js | 0 .../generators}/delegating-yield-4.js | 0 .../generators}/delegating-yield-5.js | 0 .../generators}/delegating-yield-6.js | 0 .../generators}/delegating-yield-7.js | 0 .../generators}/delegating-yield-8.js | 0 .../generators}/delegating-yield-9.js | 0 .../generators}/fibonacci-matrix-generator.js | 0 .../generators}/forbidden-as-consequent.js | 0 .../generators}/gen-with-call-obj.js | 0 .../generators}/iteration.js | 0 .../generators}/iterator-next-non-object.js | 0 .../generators}/iterator-toString.js | 0 .../generators}/nested-yield.js | 0 .../generators}/objects.js | 0 .../generators}/pi-generator.js | 0 .../generators}/properties.js | 0 .../generators}/regress-345855.js | 0 .../generators}/regress-345879-01.js | 0 .../generators}/regress-349362.js | 0 .../generators}/regress-349851.js | 0 .../generators}/regress-350809.js | 0 .../generators}/regress-351120.js | 0 .../generators}/regress-359062.js | 0 .../generators}/regress-366941.js | 0 .../generators}/regress-384991.js | 0 .../generators}/regress-466206.js | 0 .../generators}/return-finally.js | 0 .../generators}/runtime.js | 0 .../Generators => non262/generators}/shell.js | 0 .../generators}/simple-fib.js | 0 .../generators}/subclass.js | 0 .../generators}/syntax.js | 0 .../generators}/yield-error.js | 0 .../generators}/yield-iterator-close.js | 0 .../generators}/yield-non-regexp.js | 0 .../generators}/yield-star-iterator-close.js | 0 .../yield-star-iterator-primitive.js | 0 .../Pipeline => non262/get-set}/browser.js | 0 .../GetSet => non262/get-set}/getset-002.js | 0 .../get-set}/regress-375976.js | 0 .../tests/{ecma_2 => non262/get-set}/shell.js | 0 .../adding-global-var-nonextensible-error.js | 0 .../RegExp => non262/global}/browser.js | 0 .../Global => non262/global}/bug-320887.js | 0 .../Global => non262/global}/bug660612.js | 0 .../global}/cross-global-implicit-this.js | 0 .../global}/decodeURI-decodes-FFFE-FFFF.js | 0 .../global}/delete-global-NaN-property.js | 0 .../global}/direct-eval-but-not.js | 0 .../Global => non262/global}/eval-01.js | 0 .../Global => non262/global}/eval-02.js | 0 .../eval-in-strict-eval-in-normal-function.js | 0 .../global}/eval-inside-with-is-direct.js | 0 .../eval-native-callback-is-indirect.js | 0 .../global}/parenthesized-eval-is-direct.js | 0 .../Global => non262/global}/parseFloat-01.js | 0 .../Global => non262/global}/parseInt-01.js | 0 .../global}/parseInt-default-to-decimal.js | 0 .../AsyncFunctions => non262/global}/shell.js | 0 .../Syntax => non262/iterable}/browser.js | 0 .../iterable/regress-340526-01.js | 0 .../iterable/regress-341815.js | 0 .../iterable/regress-341821.js | 0 .../iterable/regress-355075-01.js | 0 .../iterable/regress-415922.js | 0 .../Expressions => non262/iterable}/shell.js | 0 .../TypedArray => non262/jit}/browser.js | 0 .../{js1_8_1 => non262}/jit/math-jit-tests.js | 0 .../{js1_8_1 => non262}/jit/regress-451673.js | 0 .../jit/regress-451974-01.js | 0 .../jit/regress-451974-02.js | 0 .../jit/regress-452498-01.js | 0 .../{js1_8_1 => non262}/jit/regress-458838.js | 0 .../{js1_8_1 => non262}/jit/regress-469927.js | 0 .../{js1_8_1 => non262}/jit/regress-470739.js | 0 .../{js1_8_1 => non262}/jit/regress-489682.js | 0 .../Function => non262/jit}/shell.js | 0 .../lexical-conventions}/browser.js | 0 .../lexical-conventions}/lexical-001.js | 0 .../lexical-conventions}/regress-177314.js | 0 .../lexical-conventions}/regress-469940.js | 0 .../lexical-conventions}/shell.js | 0 ...lock-scoped-functions-annex-b-arguments.js | 0 .../block-scoped-functions-annex-b-eval.js | 0 ...ock-scoped-functions-annex-b-generators.js | 0 .../block-scoped-functions-annex-b-if.js | 0 .../block-scoped-functions-annex-b-label.js | 0 ...-scoped-functions-annex-b-notapplicable.js | 0 ...lock-scoped-functions-annex-b-parameter.js | 0 ...block-scoped-functions-annex-b-property.js | 0 ...lock-scoped-functions-annex-b-same-name.js | 0 .../block-scoped-functions-annex-b-with.js | 0 .../block-scoped-functions-annex-b.js | 0 ...lock-scoped-functions-deprecated-redecl.js | 0 .../block-scoped-functions-hoisted-tdz.js | 0 .../block-scoped-functions-strict.js | 0 .../lexical-environment}/browser.js | 0 .../lexical-environment}/bug-1216623.js | 0 .../lexical-environment}/catch-body.js | 0 .../const-declaration-in-for-loop.js | 0 .../eval-has-lexical-environment.js | 0 .../eval-nondefinable-function.js | 0 ...for-loop-with-bindings-added-at-runtime.js | 0 .../lexical-environment}/for-loop.js | 0 .../implicit-this-in-with.js | 0 .../nondefinable-function-same-script.js | 0 .../redeclaring-global-properties.js | 0 .../lexical-environment}/shell.js | 0 .../unscopables-basics.js | 0 .../unscopables-closures.js | 0 .../lexical-environment}/unscopables-const.js | 0 .../unscopables-delete.js | 0 .../unscopables-getters.js | 0 .../unscopables-global.js | 0 .../unscopables-ignored.js | 0 .../lexical-environment}/unscopables-miss.js | 0 .../unscopables-mutation-frozen.js | 0 .../unscopables-mutation.js | 0 .../lexical-environment}/unscopables-proto.js | 0 .../lexical-environment}/unscopables-proxy.js | 0 .../unscopables-strict.js | 0 .../lexical-environment}/unscopables-tdz.js | 0 ...n-catch-body-annex-b-eval-destructuring.js | 0 .../var-in-catch-body-annex-b-eval-for-of.js | 0 .../var-in-catch-body-annex-b-eval.js | 0 .../var-in-catch-body-annex-b.js | 0 ...ith-global-ignores-global-let-variables.js | 0 .../Date => non262/lexical}/browser.js | 0 .../lexical/regress-336376-01.js | 0 .../lexical/regress-346642-04.js | 0 .../lexical/regress-351515.js | 0 .../{ecma_2017 => non262/lexical}/shell.js | 0 .../Exceptions => non262/misc}/browser.js | 0 .../{ecma_5 => non262}/misc/bug1126318.js | 0 ...ltin-methods-reject-null-undefined-this.js | 0 .../misc/enumerate-undefined.js | 0 .../misc/error-undefined-message.js | 0 .../explicit-undefined-optional-argument.js | 0 .../misc/function-definition-eval.js | 0 .../misc/function-definition-evaluate.js | 0 .../misc/future-reserved-words.js | 0 .../misc/getter-setter-outerize-this.js | 0 .../misc/global-numeric-properties.js | 0 ...graph-separator-parse-as-lineterminator.js | 0 .../misc/new-with-non-constructor.js | 0 .../redeclare-var-non-writable-property.js | 0 .../misc/regexp-functions-with-undefined.js | 0 .../misc/regress-bug632003.js | 0 .../{ecma_2018/Array => non262/misc}/shell.js | 0 .../misc/syntax-error-end-of-for-head-part.js | 0 .../misc/unicode-escaped-keyword.js | 0 .../misc/unicode-identifier-1d17.js | 0 .../misc/unicode-identifier-82f1.js | 0 .../misc/unnamed-function.js | 0 .../misc/unwrapped-no-such-method.js | 0 .../module}/await-restricted-nested.js | 0 .../module}/browser.js | 0 .../module}/shell.js | 0 .../Object => non262/object}/15.2.3.12.js | 0 .../Object => non262/object}/15.2.3.14-01.js | 0 .../Object => non262/object}/15.2.3.3-01.js | 0 .../Object => non262/object}/15.2.3.4-01.js | 0 .../Object => non262/object}/15.2.3.4-02.js | 0 .../Object => non262/object}/15.2.3.4-03.js | 0 .../Object => non262/object}/15.2.3.4-04.js | 0 .../Object => non262/object}/15.2.3.5-01.js | 0 .../object}/15.2.3.6-define-over-method.js | 0 ....2.3.6-dictionary-redefinition-01-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-02-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-03-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-04-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-05-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-06-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-07-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-08-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-09-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-10-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-11-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-12-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-13-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-14-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-15-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-16-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-17-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-18-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-19-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-20-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-21-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-22-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-23-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-24-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-25-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-26-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-27-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-28-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-29-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-30-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-31-of-32.js | 2 +- ....2.3.6-dictionary-redefinition-32-of-32.js | 2 +- .../object}/15.2.3.6-function-length.js | 2 +- .../15.2.3.6-middle-redefinition-1-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-2-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-3-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-4-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-5-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-6-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-7-of-8.js | 2 +- .../15.2.3.6-middle-redefinition-8-of-8.js | 2 +- .../object}/15.2.3.6-miscellaneous.js | 0 .../object}/15.2.3.6-new-definition.js | 2 +- .../object}/15.2.3.6-redefinition-1-of-4.js | 2 +- .../object}/15.2.3.6-redefinition-2-of-4.js | 2 +- .../object}/15.2.3.6-redefinition-3-of-4.js | 2 +- .../object}/15.2.3.6-redefinition-4-of-4.js | 2 +- .../Object => non262/object}/15.2.3.7-01.js | 0 .../Object => non262/object}/15.2.3.9.js | 0 .../object}/accessor-arguments-rest.js | 0 .../Object => non262/object}/accessor-name.js | 0 .../object}/accessor-non-constructor.js | 0 .../object}/add-property-non-extensible.js | 0 .../Object => non262/object}/assign.js | 0 .../Object => non262/object}/browser.js | 0 .../Object => non262/object}/bug-1150906.js | 0 .../Object => non262/object}/bug-1206700.js | 0 .../clear-dictionary-accessor-getset.js | 0 .../object}/defineGetter-defineSetter.js | 0 .../defineProperties-callable-accessor.js | 0 .../object}/defineProperties-order.js | 0 .../object}/defineProperty-proxy.js | 0 .../object}/defineProperty-setup.js | 0 .../destructuring-shorthand-defaults.js | 0 .../Object => non262/object}/duplProps.js | 0 .../Object => non262/object}/entries.js | 0 .../object}/extensibility-01.js | 0 .../object}/extensibility-02.js | 0 .../object}/freeze-global-eval-const.js | 0 .../Object => non262/object}/freeze-proxy.js | 0 .../Object => non262/object}/freeze.js | 0 .../object}/gOPD-vs-prototype-accessor.js | 0 .../object}/getOwnPropertyDescriptor.js | 0 .../object}/getOwnPropertySymbols-proxy.js | 0 .../object}/getOwnPropertySymbols.js | 0 .../object}/getPrototypeOf-array.js | 0 .../object}/getPrototypeOf.js | 0 .../Object => non262/object}/getter-name.js | 0 .../Object => non262/object}/isExtensible.js | 0 .../Object => non262/object}/isFrozen.js | 0 .../Object => non262/object}/isPrototypeOf.js | 0 .../Object => non262/object}/isSealed.js | 0 .../{ecma_6/Object => non262/object}/keys.js | 0 .../object}/method-non-constructor.js | 0 .../object}/mutation-prevention-methods.js | 0 ...object-create-with-primitive-second-arg.js | 0 .../object}/object-toString-01.js | 0 .../object}/preventExtensions-idempotent.js | 0 .../object}/preventExtensions-proxy.js | 0 .../object}/preventExtensions.js | 0 .../object}/property-descriptor-order.js | 0 .../object}/propertyIsEnumerable-proxy.js | 0 .../object}/propertyIsEnumerable.js | 0 .../proto-property-change-writability-set.js | 0 .../object}/regress-137000.js | 0 .../object}/regress-192105.js | 0 .../object}/regress-308806-01.js | 0 .../object}/regress-338709.js | 0 .../object}/regress-361274.js | 0 .../object}/regress-382503.js | 0 .../object}/regress-382532.js | 0 .../object}/regress-385393-07.js | 0 .../object}/regress-444787.js | 0 .../object}/regress-459405.js | 0 .../object}/regress-465476.js | 0 .../Object => non262/object}/regress-72773.js | 0 .../object}/regress-79129-001.js | 0 .../object}/regress-90596-003.js | 0 .../Object => non262/object}/seal-proxy.js | 0 .../{ecma_6/Object => non262/object}/seal.js | 0 .../setPrototypeOf-cross-realm-cycle.js | 0 .../object}/setPrototypeOf-cycle.js | 0 .../object}/setPrototypeOf-same-value.js | 0 .../{ecma_3/Object => non262/object}/shell.js | 0 .../object/toLocaleString-01.js} | 0 .../object}/toLocaleString.js | 0 .../object}/toPrimitive-callers.js | 0 .../Object => non262/object}/toPrimitive.js | 0 .../vacuous-accessor-unqualified-name.js | 0 .../object}/values-entries-indexed.js | 0 .../object}/values-entries-lazy-props.js | 0 .../object}/values-entries-typedarray.js | 0 .../Object => non262/object}/values.js | 0 .../operators}/11.13.1-001.js | 0 .../operators}/11.13.1-002.js | 0 .../operators}/11.4.1-001.js | 0 .../operators}/11.4.1-002.js | 0 .../operators}/browser.js | 0 .../operators}/order-01.js | 0 .../RegExp => non262/operators}/shell.js | 0 .../FunExpr => non262/pipeline}/browser.js | 0 .../Pipeline => non262/pipeline}/eval.js | 0 .../pipeline}/evaluation-order.js | 0 .../pipeline}/parse-error.js | 0 .../pipeline}/precedence.js | 0 .../Pipeline => non262/pipeline}/receiver.js | 0 .../pipeline}/reflect-parse.js | 0 .../Pipeline => non262/pipeline}/shell.js | 0 .../pipeline}/type-error.js | 0 .../reflect-parse/Match.js | 0 .../reflect-parse/PatternAsserts.js | 0 .../reflect-parse/PatternBuilders.js | 0 .../reflect-parse/alternateBuilder.js | 0 .../reflect-parse/async.js | 0 .../reflect-parse/basicBuilder.js | 0 .../reflect-parse}/browser.js | 0 .../reflect-parse/builderExceptions.js | 0 .../reflect-parse/classes.js | 0 .../reflect-parse/computedPropNames.js | 0 .../reflect-parse/declarations.js | 0 ...structuring-array-holes-reflect-as-null.js | 0 .../reflect-parse/destructuring-assignment.js | 0 .../destructuring-function-parameters.js | 0 .../destructuring-variable-declarations.js | 0 .../reflect-parse/destructuring__proto__.js | 0 .../reflect-parse/expression.js | 0 .../reflect-parse/expressionClosures.js | 0 .../reflect-parse/for-loop-destructuring.js | 0 .../reflect-parse/generators.js | 0 .../reflect-parse/lexicals.js | 0 .../reflect-parse/location.js | 0 .../reflect-parse/methodDefn.js | 0 .../reflect-parse/newTarget.js | 0 .../reflect-parse/object-rest.js | 0 .../reflect-parse/object-spread.js | 0 .../reflect-parse/proxyArgs.js | 0 .../reflect-parse/shell.js | 0 .../reflect-parse/stackOverflow.js | 0 .../reflect-parse/statements.js | 0 .../reflect-parse/templateStrings.js | 0 .../regress}/browser.js | 0 .../regress}/regress-102725.js | 0 .../regress}/regress-10278.js | 0 .../regress}/regress-104077.js | 0 .../regress}/regress-110286.js | 0 .../regress}/regress-111557.js | 0 .../regress}/regress-114491.js | 0 .../regress}/regress-114493.js | 0 .../regress}/regress-115436.js | 0 .../regress}/regress-116228.js | 0 .../regress}/regress-118849.js | 0 .../regress}/regress-127557.js | 0 .../regress}/regress-131510-001.js | 0 .../regress/regress-1383630.js | 0 .../regress}/regress-139316.js | 0 .../regress}/regress-140852.js | 0 .../regress}/regress-140974.js | 0 .../regress}/regress-146596.js | 0 .../regress}/regress-152646.js | 0 .../regress}/regress-155081-2.js | 0 .../regress}/regress-155081.js | 0 .../regress}/regress-156354.js | 0 .../regress}/regress-159334.js | 0 .../regress}/regress-162392.js | 0 .../regress}/regress-165201.js | 0 .../regress}/regress-167328.js | 0 .../regress}/regress-167658.js | 0 .../regress}/regress-168347.js | 0 .../regress}/regress-170193.js | 0 .../regress}/regress-172699.js | 0 .../regress}/regress-174709.js | 0 .../regress}/regress-176125.js | 0 .../regress}/regress-179524.js | 0 .../regress}/regress-185165.js | 0 .../regress}/regress-191633.js | 0 .../regress}/regress-191668.js | 0 .../regress}/regress-192414.js | 0 .../regress}/regress-193418.js | 0 .../regress}/regress-203278-1.js | 0 .../regress}/regress-203402.js | 0 .../regress}/regress-203841.js | 0 .../regress}/regress-204210.js | 0 .../regress}/regress-210682.js | 0 .../regress}/regress-211590.js | 0 .../regress}/regress-214761.js | 0 .../regress}/regress-216320.js | 0 .../regress}/regress-224956.js | 0 .../regress}/regress-229006.js | 0 .../regress}/regress-230216-1.js | 0 .../regress}/regress-230216-2.js | 0 .../regress}/regress-230216-3.js | 0 .../regress}/regress-233483-2.js | 0 .../regress}/regress-233483.js | 0 .../regress}/regress-234389.js | 0 .../regress}/regress-238881.js | 0 .../regress}/regress-238945.js | 0 .../regress}/regress-243174.js | 0 .../regress}/regress-243389-n.js | 0 .../regress}/regress-243869.js | 0 .../regress}/regress-244470.js | 0 .../regress}/regress-244619.js | 0 .../regress}/regress-245113.js | 0 .../regress}/regress-245308.js | 0 .../regress}/regress-246911.js | 0 .../regress}/regress-246964.js | 0 .../regress}/regress-247179.js | 0 .../regress}/regress-248444.js | 0 .../regress}/regress-252892.js | 0 .../regress}/regress-253150.js | 0 .../regress}/regress-254296.js | 0 .../regress}/regress-254974.js | 0 .../regress}/regress-256501.js | 0 .../regress}/regress-256617.js | 0 .../regress}/regress-256798.js | 0 .../regress}/regress-259935.js | 0 .../regress}/regress-260541.js | 0 .../regress}/regress-261886.js | 0 .../regress}/regress-261887.js | 0 .../regress}/regress-271716-n.js | 0 .../regress}/regress-274035.js | 0 .../regress}/regress-274888.js | 0 .../regress}/regress-275378.js | 0 .../regress}/regress-276103.js | 0 .../regress}/regress-278873.js | 0 .../regress}/regress-280769-1.js | 0 .../regress}/regress-280769-2.js | 0 .../regress}/regress-280769-3.js | 0 .../regress}/regress-280769-4.js | 0 .../regress}/regress-280769-5.js | 0 .../regress}/regress-280769.js | 0 .../regress}/regress-281606.js | 0 .../regress}/regress-281930.js | 0 .../regress}/regress-283477.js | 0 .../regress}/regress-288688.js | 0 .../regress}/regress-289094.js | 0 .../regress}/regress-290575.js | 0 .../regress}/regress-290656.js | 0 .../regress}/regress-294191.js | 0 .../regress}/regress-294195-01.js | 0 .../regress}/regress-294195-02.js | 0 .../regress}/regress-294302.js | 0 .../regress}/regress-295052.js | 0 .../regress}/regress-295666.js | 0 .../regress}/regress-299209.js | 0 .../regress}/regress-299641.js | 0 .../regress}/regress-303213.js | 0 .../regress}/regress-306633.js | 0 .../regress}/regress-306727.js | 0 .../regress}/regress-306794.js | 0 .../regress}/regress-308085.js | 0 .../regress}/regress-308566.js | 0 .../regress}/regress-310295.js | 0 .../regress}/regress-310607.js | 0 .../regress}/regress-310993.js | 0 .../regress}/regress-311071.js | 0 .../regress}/regress-311157-01.js | 0 .../regress}/regress-311157-02.js | 0 .../regress}/regress-311629.js | 0 .../regress}/regress-312260.js | 0 .../regress}/regress-31255.js | 0 .../regress}/regress-312588.js | 0 .../regress}/regress-314401.js | 0 .../regress}/regress-315990.js | 0 .../regress}/regress-317476.js | 0 .../regress}/regress-317714-01.js | 0 .../regress}/regress-317714-02.js | 0 .../regress}/regress-319384.js | 0 .../regress}/regress-319391.js | 0 .../regress}/regress-320032.js | 0 .../regress}/regress-320172.js | 0 .../regress}/regress-321757.js | 0 .../regress}/regress-321874.js | 0 .../regress}/regress-321971.js | 0 .../regress}/regress-322430.js | 0 .../regress}/regress-323314-1.js | 0 .../regress}/regress-325925.js | 0 .../regress}/regress-326467.js | 0 .../regress}/regress-328012.js | 0 .../regress}/regress-328664.js | 0 .../regress}/regress-329383.js | 0 .../regress}/regress-329530.js | 0 .../regress}/regress-330352.js | 0 .../regress}/regress-330951.js | 0 .../regress}/regress-334807-01.js | 0 .../regress}/regress-334807-02.js | 0 .../regress}/regress-334807-03.js | 0 .../regress}/regress-334807-04.js | 0 .../regress}/regress-334807-05.js | 0 .../regress}/regress-334807-06.js | 0 .../regress}/regress-336100.js | 0 .../regress}/regress-338307.js | 0 .../regress}/regress-340369.js | 0 .../regress}/regress-341360.js | 0 .../regress}/regress-343713.js | 0 .../regress}/regress-343966.js | 0 .../regress}/regress-344711-n.js | 0 .../regress}/regress-344804.js | 0 .../regress}/regress-344959.js | 0 .../regress}/regress-346237.js | 0 .../regress}/regress-346801.js | 0 .../regress}/regress-349482-01.js | 0 .../regress}/regress-349482-02.js | 0 .../regress}/regress-349592.js | 0 .../regress}/regress-350253.js | 0 .../regress}/regress-350268.js | 0 .../regress}/regress-350312.js | 0 .../regress}/regress-350415.js | 0 .../regress}/regress-350529.js | 0 .../regress}/regress-351116.js | 0 .../regress}/regress-351515.js | 0 .../regress}/regress-351795.js | 0 .../regress}/regress-352208.js | 0 .../regress}/regress-352604.js | 0 .../regress/regress-352640-01.js | 0 .../regress/regress-352640-02.js | 0 .../regress/regress-352640-04.js | 0 .../regress}/regress-353078.js | 0 .../regress/regress-353079.js | 0 .../regress/regress-355023.js | 0 .../regress}/regress-355556.js | 0 .../regress/regress-355569.js | 0 .../regress}/regress-355829-01.js | 0 .../regress}/regress-355829-02.js | 0 .../regress}/regress-355829-03.js | 0 .../regress/regress-355832-01.js | 0 .../regress/regress-355832-02.js | 0 .../regress}/regress-356250.js | 0 .../regress}/regress-356693.js | 0 .../regress}/regress-360969-01.js | 0 .../regress}/regress-360969-02.js | 0 .../regress}/regress-360969-03.js | 0 .../regress}/regress-360969-04.js | 0 .../regress}/regress-360969-05.js | 0 .../regress}/regress-360969-06.js | 0 .../regress/regress-363040-01.js | 0 .../regress/regress-363040-02.js | 0 .../regress}/regress-3649-n.js | 0 .../regress}/regress-366122.js | 0 .../regress}/regress-366468.js | 0 .../regress}/regress-366601.js | 0 .../regress}/regress-367561-01.js | 0 .../regress}/regress-367561-03.js | 0 .../regress/regress-369666-01.js | 0 .../regress/regress-369666-02.js | 0 .../regress}/regress-372364.js | 0 .../regress/regress-373827-01.js | 0 .../regress/regress-373827-02.js | 0 .../regress/regress-373843.js | 0 .../regress}/regress-379245.js | 0 .../regress/regress-379442.js | 0 .../regress/regress-379483.js | 0 .../regress}/regress-383674.js | 0 .../regress}/regress-383682.js | 0 .../regress/regress-383902.js | 0 .../regress/regress-384758.js | 0 .../regress}/regress-385393-04.js | 0 .../regress}/regress-387951-01.js | 0 .../regress}/regress-387951-02.js | 0 .../regress}/regress-387951-03.js | 0 .../regress}/regress-39309.js | 0 .../regress}/regress-396684.js | 0 .../regress}/regress-398085-01.js | 0 .../regress}/regress-398085-02.js | 0 .../regress}/regress-398609.js | 0 .../regress/regress-404734.js | 0 .../regress}/regress-404755.js | 0 .../regress}/regress-406769.js | 0 .../regress}/regress-407024.js | 0 .../regress/regress-407727-01.js | 0 .../regress/regress-407727-02.js | 0 .../regress/regress-410649.js | 0 .../regress}/regress-410852.js | 0 .../regress/regress-414553.js | 0 .../regress}/regress-416737-01.js | 0 .../regress}/regress-416737-02.js | 0 .../regress}/regress-417893.js | 0 .../regress}/regress-418540.js | 0 .../regress/regress-418641.js | 0 .../regress}/regress-419018.js | 0 .../regress}/regress-419152.js | 0 .../regress}/regress-419803.js | 0 .../regress}/regress-420087.js | 0 .../regress}/regress-420610.js | 0 .../regress}/regress-420919.js | 0 .../regress}/regress-422348.js | 0 .../regress}/regress-424311.js | 0 .../regress}/regress-425360.js | 0 .../regress}/regress-426827.js | 0 .../regress/regress-427798.js | 0 .../regress}/regress-428366.js | 0 .../regress/regress-433279-01.js | 0 .../regress/regress-433279-02.js | 0 .../regress/regress-433279-03.js | 0 .../regress}/regress-438415-01.js | 0 .../regress}/regress-438415-02.js | 0 .../regress}/regress-440926.js | 0 .../regress}/regress-441477-01.js | 0 .../regress/regress-442333-01.js | 0 .../regress}/regress-449627.js | 0 .../regress}/regress-449666.js | 0 .../regress}/regress-450369.js | 0 .../regress}/regress-450833.js | 0 .../regress}/regress-451322.js | 0 .../regress}/regress-451884.js | 0 .../regress}/regress-451946.js | 0 .../regress}/regress-452008.js | 0 .../regress}/regress-452170.js | 0 .../regress}/regress-452189.js | 0 .../regress}/regress-452333.js | 0 .../regress}/regress-452336.js | 0 .../regress}/regress-452346.js | 0 .../regress/regress-452491.js | 0 .../regress}/regress-452495.js | 0 .../regress/regress-452498-006.js | 0 .../regress/regress-452498-027.js | 0 .../regress/regress-452498-030.js | 0 .../regress/regress-452498-040.js | 0 .../regress/regress-452498-050.js | 0 .../regress/regress-452498-051.js | 0 .../regress/regress-452498-052-a.js | 0 .../regress/regress-452498-053.js | 0 .../regress/regress-452498-058.js | 0 .../regress/regress-452498-062.js | 0 .../regress/regress-452498-063.js | 0 .../regress/regress-452498-071.js | 0 .../regress/regress-452498-072.js | 0 .../regress/regress-452498-073.js | 0 .../regress/regress-452498-074.js | 0 .../regress/regress-452498-075.js | 0 .../regress/regress-452498-076.js | 0 .../regress/regress-452498-079.js | 0 .../regress/regress-452498-082.js | 0 .../regress/regress-452498-092.js | 0 .../regress/regress-452498-101.js | 0 .../regress/regress-452498-102.js | 0 .../regress/regress-452498-104.js | 0 .../regress/regress-452498-111.js | 0 .../regress/regress-452498-112.js | 0 .../regress/regress-452498-114-a.js | 0 .../regress/regress-452498-114.js | 0 .../regress/regress-452498-116.js | 0 .../regress/regress-452498-117.js | 0 .../regress/regress-452498-118.js | 0 .../regress/regress-452498-121.js | 0 .../regress/regress-452498-123.js | 0 .../regress/regress-452498-129.js | 0 .../regress/regress-452498-131.js | 0 .../regress/regress-452498-135.js | 0 .../regress/regress-452498-155.js | 0 .../regress/regress-452498-160.js | 0 .../regress/regress-452498-168-1.js | 0 .../regress/regress-452498-168-2.js | 0 .../regress/regress-452498-176.js | 0 .../regress/regress-452498-181.js | 0 .../regress/regress-452498-185.js | 0 .../regress/regress-452498-187.js | 0 .../regress/regress-452498-191.js | 0 .../regress/regress-452498-192.js | 0 .../regress}/regress-452573-01.js | 0 .../regress}/regress-452573-02.js | 0 .../regress/regress-452703.js | 0 .../regress}/regress-452713.js | 0 .../regress}/regress-452724-01.js | 0 .../regress}/regress-452724-02.js | 0 .../regress}/regress-452742-01.js | 0 .../regress}/regress-452742-02.js | 0 .../regress}/regress-452853.js | 0 .../regress}/regress-452884-01.js | 0 .../regress}/regress-452884-02.js | 0 .../regress/regress-452960.js | 0 .../regress}/regress-453024.js | 0 .../regress/regress-453049.js | 0 .../regress/regress-453051.js | 0 .../regress}/regress-453173.js | 0 .../regress}/regress-453397.js | 0 .../regress}/regress-453701.js | 0 .../regress}/regress-453747.js | 0 .../regress}/regress-454682.js | 0 .../regress}/regress-454981.js | 0 .../regress}/regress-455605.js | 0 .../regress}/regress-455748.js | 0 .../regress}/regress-455758-01.js | 0 .../regress}/regress-455758-02.js | 0 .../regress}/regress-455775.js | 0 .../regress/regress-455981-01.js | 0 .../regress/regress-455981-02.js | 0 .../regress}/regress-456470.js | 0 .../regress}/regress-456477-01.js | 0 .../regress}/regress-456477-02.js | 0 .../regress}/regress-456494.js | 0 .../regress}/regress-456540-01.js | 0 .../regress}/regress-456540-02.js | 0 .../regress/regress-457065-01.js | 0 .../regress/regress-457065-02.js | 0 .../regress}/regress-457065-03.js | 0 .../regress}/regress-457456.js | 0 .../regress}/regress-457778.js | 0 .../regress/regress-458076.js | 0 .../regress}/regress-458851.js | 0 .../regress}/regress-459085.js | 0 .../regress/regress-459185.js | 0 .../regress/regress-459186.js | 0 .../regress/regress-459389.js | 0 .../regress}/regress-459628.js | 0 .../regress}/regress-459990.js | 0 .../regress}/regress-460024.js | 0 .../regress}/regress-460117.js | 0 .../regress}/regress-460886-01.js | 0 .../regress}/regress-460886-02.js | 0 .../regress}/regress-461307.js | 0 .../regress}/regress-461723.js | 0 .../regress/regress-462071.js | 0 .../regress/regress-462282.js | 0 .../regress}/regress-462292.js | 0 .../regress/regress-462388.js | 0 .../regress/regress-462407.js | 0 .../regress}/regress-462879.js | 0 .../regress}/regress-462989.js | 0 .../regress}/regress-463259.js | 0 .../regress}/regress-463782.js | 0 .../regress/regress-464096.js | 0 .../regress}/regress-464334.js | 0 .../regress/regress-464403.js | 0 .../regress/regress-464418.js | 0 .../regress}/regress-464862.js | 0 .../regress/regress-464978.js | 0 .../regress}/regress-465013.js | 0 .../regress}/regress-465132.js | 0 .../regress}/regress-465133.js | 0 .../regress}/regress-465135.js | 0 .../regress}/regress-465136.js | 0 .../regress}/regress-465137.js | 0 .../regress/regress-465220.js | 0 .../regress/regress-465234.js | 0 .../regress/regress-465236.js | 0 .../regress/regress-465239.js | 0 .../regress/regress-465241.js | 0 .../regress/regress-465249.js | 0 .../regress/regress-465261.js | 0 .../regress}/regress-465262.js | 0 .../regress}/regress-465272.js | 0 .../regress/regress-465308.js | 0 .../regress}/regress-465347.js | 0 .../regress}/regress-465366.js | 0 .../regress/regress-465424.js | 0 .../regress/regress-465454.js | 0 .../regress/regress-465460-01.js | 0 .../regress/regress-465460-02.js | 0 .../regress/regress-465460-03.js | 0 .../regress/regress-465460-04.js | 0 .../regress/regress-465460-05.js | 0 .../regress/regress-465460-06.js | 0 .../regress/regress-465460-07.js | 0 .../regress/regress-465460-08.js | 0 .../regress/regress-465460-10.js | 0 .../regress/regress-465460-11.js | 0 .../regress/regress-465460-12.js | 0 .../regress/regress-465483.js | 0 .../regress/regress-465484.js | 0 .../regress/regress-465567-01.js | 0 .../regress/regress-465567-02.js | 0 .../regress/regress-465686.js | 0 .../regress/regress-465688.js | 0 .../regress/regress-466128.js | 0 .../regress}/regress-466262.js | 0 .../regress}/regress-466747.js | 0 .../regress/regress-466787.js | 0 .../regress/regress-466905-01.js | 0 .../regress/regress-466905-02.js | 0 .../regress/regress-467495-01.js | 0 .../regress/regress-467495-02.js | 0 .../regress/regress-467495-03.js | 0 .../regress/regress-467495-04.js | 0 .../regress/regress-467495-05.js | 0 .../regress/regress-467495-06.js | 0 .../regress/regress-468711.js | 0 .../regress}/regress-469044.js | 0 .../regress/regress-469239-01.js | 0 .../regress/regress-469239-02.js | 0 .../regress/regress-469547.js | 0 .../regress/regress-469625-02.js | 0 .../regress/regress-469625-03.js | 0 .../regress/regress-469758.js | 0 .../regress}/regress-469937.js | 0 .../regress}/regress-470061.js | 0 .../regress}/regress-470187-01.js | 0 .../regress}/regress-470187-02.js | 0 .../regress/regress-470223.js | 0 .../regress/regress-470388-01.js | 0 .../regress}/regress-470758-01.js | 0 .../regress}/regress-470758-02.js | 0 .../regress/regress-471660.js | 0 .../regress}/regress-472533.js | 0 .../regress/regress-474769.js | 0 .../regress/regress-474771-01.js} | 0 .../regress/regress-474771.js | 0 .../regress/regress-474935.js | 0 .../regress}/regress-475469.js | 0 .../regress}/regress-475645-01.js | 0 .../regress}/regress-475645-02.js | 0 .../regress}/regress-476049.js | 0 .../regress}/regress-476192.js | 0 .../regress/regress-476655.js | 0 .../regress/regress-477053.js | 0 .../regress/regress-477234.js | 0 .../regress}/regress-477733.js | 0 .../regress}/regress-477758.js | 0 .../regress/regress-478205.js | 0 .../regress}/regress-478314.js | 0 .../regress/regress-479353-01.js} | 0 .../regress}/regress-479353.js | 0 .../regress/regress-479430-01.js | 0 .../regress/regress-479430-02.js | 0 .../regress/regress-479430-03.js | 0 .../regress/regress-479430-04.js | 0 .../regress/regress-479430-05.js | 0 .../regress/regress-479740.js | 0 .../regress}/regress-480147.js | 0 .../regress}/regress-480244.js | 0 .../regress}/regress-481436.js | 0 .../regress/regress-481800.js | 0 .../regress}/regress-482421.js | 0 .../regress}/regress-482783.js | 0 .../regress}/regress-483103.js | 0 .../regress/regress-483749.js | 0 .../regress/regress-495773.js | 0 .../regress/regress-495907.js | 0 .../regress/regress-496922.js | 0 .../regress/regress-499524.js | 0 .../regress/regress-500528.js | 0 .../regress}/regress-501124.js | 0 .../regress}/regress-503860.js | 0 .../regress}/regress-504078.js | 0 .../regress/regress-507053.js | 0 .../regress/regress-507295.js | 0 .../regress/regress-509354.js | 0 .../regress}/regress-511859.js | 0 .../regress/regress-522123.js | 0 .../regress/regress-524743.js | 0 .../regress/regress-530879.js | 0 .../regress/regress-532491.js | 0 .../regress/regress-541255-3.js | 0 .../regress/regress-541455.js | 0 .../regress/regress-551763-0.js | 0 .../regress/regress-551763-1.js | 0 .../regress/regress-551763-2.js | 0 .../regress/regress-552432.js | 0 .../regress/regress-553778.js | 0 .../regress/regress-554955-1.js | 0 .../regress/regress-554955-2.js | 0 .../regress/regress-554955-3.js | 0 .../regress/regress-554955-4.js | 0 .../regress/regress-554955-5.js | 0 .../regress/regress-554955-6.js | 0 .../regress/regress-555246-0.js | 0 .../regress/regress-555246-1.js | 0 .../regress/regress-559402-1.js | 0 .../regress/regress-559402-2.js | 0 .../regress/regress-559438.js | 0 .../regress/regress-560998-1.js | 0 .../regress/regress-560998-2.js | 0 .../regress/regress-561031.js | 0 .../regress/regress-563210.js | 0 .../regress/regress-563221.js | 0 .../regress/regress-566549.js | 0 .../regress/regress-567152.js | 0 .../regress/regress-569306.js | 0 .../regress}/regress-57043.js | 0 .../regress/regress-571014.js | 0 .../regress/regress-573875.js | 0 .../regress/regress-577648-1.js | 0 .../regress/regress-577648-2.js | 0 .../regress}/regress-580544.js | 0 .../regress}/regress-58116.js | 0 .../regress/regress-583429.js | 0 .../regress/regress-584355.js | 0 .../regress/regress-585257.js | 0 .../regress/regress-586482-1.js | 0 .../regress/regress-586482-2.js | 0 .../regress/regress-586482-3.js | 0 .../regress/regress-586482-4.js | 0 .../regress/regress-586482-5.js | 0 .../regress/regress-588339.js | 0 .../regress/regress-591846.js | 0 .../regress/regress-591897.js | 0 .../regress/regress-592202-3.js | 0 .../regress/regress-592202-4.js | 0 .../regress/regress-592556-c35.js | 0 .../regress/regress-593256.js | 0 .../regress/regress-595230-2.js | 0 .../regress/regress-595365-1.js | 0 .../regress/regress-596103.js | 0 .../regress/regress-596805-1.js | 0 .../regress/regress-596805-2.js | 0 .../regress/regress-597945-1.js | 0 .../regress/regress-597945-2.js | 0 .../regress/regress-598176.js | 0 .../regress/regress-600067.js | 0 .../regress/regress-601399.js | 0 .../regress/regress-602621.js | 0 .../regress/regress-607799.js | 0 .../regress/regress-607863.js | 0 .../regress/regress-609617.js | 0 .../regress/regress-610026.js | 0 .../regress/regress-614714.js | 0 .../regress/regress-617405-1.js | 0 .../regress/regress-617405-2.js | 0 .../regress/regress-618572.js | 0 .../regress/regress-619003-1.js | 0 .../regress/regress-619003-2.js | 0 .../regress/regress-620376-1.js | 0 .../regress/regress-621814.js | 0 .../regress/regress-624199.js | 0 .../regress/regress-624547.js | 0 .../regress/regress-624968.js | 0 .../regress/regress-626436.js | 0 .../regress/regress-633741.js | 0 .../regress/regress-634210-1.js | 0 .../regress/regress-634210-2.js | 0 .../regress/regress-634210-3.js | 0 .../regress/regress-634210-4.js | 0 .../regress/regress-636364.js | 0 .../regress/regress-640075.js | 0 .../regress/regress-642247.js | 0 .../regress/regress-643222.js | 0 .../regress/regress-646820-1.js | 0 .../regress/regress-646820-2.js | 0 .../regress/regress-646820-3.js | 0 .../regress/regress-665355.js | 0 .../regress/regress-672892.js | 0 .../regress/regress-672893.js | 0 .../regress}/regress-68498-001.js | 0 .../regress}/regress-68498-002.js | 0 .../regress}/regress-68498-003.js | 0 .../regress}/regress-68498-004.js | 0 .../regress/regress-694306.js | 0 .../regress}/regress-69607.js | 0 .../regress/regress-698028-1.js | 0 .../regress/regress-698028-2.js | 0 .../regress/regress-698028-3.js | 0 .../regress/regress-699682.js | 0 .../regress}/regress-71107.js | 0 .../regress/regress-736792.js | 0 .../regress}/regress-76054.js | 0 .../regress}/regress-80981.js | 0 .../regress/regress-810525.js | 0 .../regress}/regress-82306.js | 0 .../regress}/regress-89443.js | 0 .../regress}/regress-89474.js | 0 .../regress}/regress-90445.js | 0 .../regress}/regress-96128-n.js | 0 .../regress}/regress-96526-001.js | 0 .../regress}/regress-96526-002.js | 0 .../regress}/regress-96526-003.js | 0 .../regress}/regress-98901.js | 0 .../regress/regress-yarr-regexp.js | 0 .../Syntax => non262/regress}/shell.js | 0 js/src/tests/non262/shell.js | 293 ++ ...w-function-at-end-of-for-statement-head.js | 0 .../arrow-function-in-for-statement-head.js | 0 .../Number => non262/statements}/browser.js | 0 .../for-in-with-assignment-semantics.js | 0 .../for-in-with-assignment-syntax.js | 0 .../statements}/for-in-with-assignments.js | 0 .../statements}/for-in-with-declaration.js | 0 .../for-in-with-destructuring-assignments.js | 0 .../for-inof-coverinitname-destr-assign.js | 0 .../statements}/for-inof-finally.js | 0 .../for-inof-loop-const-declaration.js | 0 ...ration-expression-contains-index-string.js | 0 ...loop-declaration-contains-computed-name.js | 0 ...r-loop-declaration-contains-initializer.js | 0 .../for-of-iterator-close-throw.js | 0 .../statements}/for-of-iterator-close.js | 0 .../statements}/for-of-iterator-primitive.js | 0 .../for-of-var-with-initializer.js | 0 .../statements}/if-constant-folding.js | 0 .../property-reference-self-assignment.js | 0 .../statements}/regress-131348.js | 0 .../statements}/regress-157509.js | 0 .../statements}/regress-194364.js | 0 .../statements}/regress-226517.js | 0 .../statements}/regress-302439.js | 0 .../statements}/regress-324650.js | 0 .../statements}/regress-444979.js | 0 .../statements}/regress-642975.js | 0 .../statements}/regress-74474-001.js | 0 .../statements}/regress-74474-002.js | 0 .../statements}/regress-74474-003.js | 0 .../statements}/regress-83532-001.js | 0 .../statements}/regress-83532-002.js | 0 .../TypedArray => non262/statements}/shell.js | 0 .../statements}/trailing_comma_parameters.js | 0 .../statements}/try-completion.js | 0 .../tests/{ecma_5 => non262}/strict/10.4.2.js | 0 .../tests/{ecma_5 => non262}/strict/10.4.3.js | 0 .../tests/{ecma_5 => non262}/strict/10.6.js | 0 .../tests/{ecma_5 => non262}/strict/11.1.5.js | 0 .../{ecma_5 => non262}/strict/11.13.1.js | 0 .../{ecma_5 => non262}/strict/11.13.2.js | 0 .../tests/{ecma_5 => non262}/strict/11.3.1.js | 0 .../tests/{ecma_5 => non262}/strict/11.3.2.js | 0 .../tests/{ecma_5 => non262}/strict/11.4.1.js | 0 .../tests/{ecma_5 => non262}/strict/11.4.4.js | 0 .../tests/{ecma_5 => non262}/strict/11.4.5.js | 0 .../{ecma_5 => non262}/strict/12.10.1.js | 0 .../{ecma_5 => non262}/strict/12.14.1.js | 0 .../12.2.1.js => non262/strict/12.2.1-01.js} | 0 .../tests/{ecma_5 => non262}/strict/12.2.1.js | 0 .../tests/{ecma_5 => non262}/strict/13.1.js | 0 .../{ecma_5 => non262}/strict/15.10.7.js | 0 .../{ecma_5 => non262}/strict/15.3.4.5.js | 0 .../{ecma_5 => non262}/strict/15.3.5.1.js | 0 .../{ecma_5 => non262}/strict/15.3.5.2.js | 0 .../extensions => non262/strict}/15.4.4.11.js | 0 .../{ecma_5 => non262}/strict/15.4.4.12.js | 0 .../{ecma_5 => non262}/strict/15.4.4.13.js | 0 .../{ecma_5 => non262}/strict/15.4.4.6.js | 0 .../{ecma_5 => non262}/strict/15.4.4.8.js | 0 .../{ecma_5 => non262}/strict/15.4.4.9.js | 0 .../{ecma_5 => non262}/strict/15.4.5.1.js | 0 .../{ecma_5 => non262}/strict/15.5.5.1.js | 0 .../{ecma_5 => non262}/strict/15.5.5.2.js | 0 .../tests/{ecma_5 => non262}/strict/8.12.5.js | 0 .../{ecma_5 => non262}/strict/8.12.7-2.js | 0 .../tests/{ecma_5 => non262}/strict/8.12.7.js | 0 .../8.7.2.js => non262/strict/8.7.2-01.js} | 0 .../tests/{ecma_5 => non262}/strict/8.7.2.js | 0 .../tests/{ecma_5 => non262}/strict/B.1.1.js | 0 .../tests/{ecma_5 => non262}/strict/B.1.2.js | 0 .../strict/assign-to-callee-name.js | 0 .../strict}/browser.js | 0 .../strict/directive-prologue-01.js | 0 .../strict/eval-variable-environment.js | 0 .../strict/primitive-assignment.js | 0 .../strict/primitive-this-getter.js | 0 .../strict/primitive-this-no-writeback.js | 0 .../rebind-eval-should-fail-in-strict-mode.js | 0 .../strict/regress-532041.js | 0 .../strict/regress-532254.js | 0 .../strict/regress-599159.js | 0 js/src/tests/non262/strict/shell.js | 65 + .../strict}/strict-function-statements.js | 0 .../strict/strict-this-is-not-truthy.js | 0 .../this-for-function-expression-recursion.js | 0 .../{ecma_5 => non262}/strict/unbrand-this.js | 0 .../Operators => non262/syntax}/browser.js | 0 .../syntax}/declaration-forbidden-in-label.js | 0 .../syntax}/escaped-let-static-identifier.js | 0 ...escaped-strict-reserved-words-and-yield.js | 0 .../syntax}/identifier_vertical_tilde.js | 0 ...dentifiers-with-extended-unicode-escape.js | 0 .../syntax}/keyword-unescaped-requirement.js | 0 .../Syntax => non262/syntax}/let-as-label.js | 0 .../non-simple-with-strict-directive.js | 0 .../syntax}/omitted-catch-binding.js | 0 .../{ecma_2018 => non262/syntax}/shell.js | 0 .../statement-versus-statementlistitem.js | 0 .../syntax}/unicode_other_id_continue.js | 0 .../syntax}/unicode_other_id_start.js | 0 .../syntax}/yield-as-identifier.js | 0 .../template-strings}/browser.js | 0 .../template-strings}/debugLineNumber.js | 0 .../template-strings}/lineNumber.js | 0 .../template-strings}/noSubst.js | 0 .../template-strings}/shell.js | 0 .../template-strings}/tagTempl.js | 0 .../template-strings}/templLit.js | 0 js/src/tests/{ecma_3 => non262}/template.js | 0 .../Types => non262/types}/8.12.5-01.js | 0 .../RegExp => non262/types}/browser.js | 0 .../Exceptions => non262/types}/shell.js | 0 3963 files changed, 1175 insertions(+), 76163 deletions(-) delete mode 100644 js/src/tests/ecma/Array/15.4-1.js delete mode 100644 js/src/tests/ecma/Array/15.4-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.1.1.js delete mode 100644 js/src/tests/ecma/Array/15.4.1.2.js delete mode 100644 js/src/tests/ecma/Array/15.4.1.3.js delete mode 100644 js/src/tests/ecma/Array/15.4.1.js delete mode 100644 js/src/tests/ecma/Array/15.4.2.1-1.js delete mode 100644 js/src/tests/ecma/Array/15.4.2.1-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.2.1-3.js delete mode 100644 js/src/tests/ecma/Array/15.4.2.2-1.js delete mode 100644 js/src/tests/ecma/Array/15.4.2.2-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.2.3.js delete mode 100644 js/src/tests/ecma/Array/15.4.3.1-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.3.2.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.1.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.2.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.3-1.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.3-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.4-1.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.4-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.4.js delete mode 100644 js/src/tests/ecma/Array/15.4.5.1-1.js delete mode 100644 js/src/tests/ecma/Array/15.4.5.1-2.js delete mode 100644 js/src/tests/ecma/Array/15.4.5.2-1.js delete mode 100644 js/src/tests/ecma/Array/15.4.5.2-2.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.2.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.3.1-1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.3.1-2.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.3.1-3.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.3.1-4.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.3.1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4-1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.2-1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.2-2.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.2-3.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.2-4-n.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.3-1.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.3-2.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.3-3.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.3-4-n.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.3.js delete mode 100644 js/src/tests/ecma/Boolean/15.6.4.js delete mode 100644 js/src/tests/ecma/Date/15.9.1.1-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.1.1-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.1.13-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.1.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.2-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.2-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.2-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.2-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.2-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.2.2-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.1-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.1-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.1-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.1-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.1-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.2-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.2-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.2-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.2-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.2-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.8-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.8-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.8-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.8-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.3.8-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.4.2-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.4.2.js delete mode 100644 js/src/tests/ecma/Date/15.9.4.3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-10.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-11.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-12.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-13.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.10-9.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.11-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.12-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.13-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.14.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.15.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.16.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.17.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.18.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.19.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.2-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.20.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.21-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.22-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-10.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-11.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-12.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-13.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-14.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-15.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-16.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-17.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-18.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-3-n.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.23-9.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.24-8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.25-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.26-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.27-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.28-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.29-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.3-1-n.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.3-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.30-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.31-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.32-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.33-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.34-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.35-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.36-7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.37-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.37-2.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.37-3.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.37-4.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.37-5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.4-1.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.4-2-n.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.5.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.6.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.7.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.8.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.9.js delete mode 100644 js/src/tests/ecma/Date/15.9.5.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.3-1.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.3-2.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.3.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-1.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-10.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-2.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-3.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-4.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-5.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-6.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-7.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.4-8.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.5-1.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.5-2.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.5-3.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.5-4.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.8-2.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.1.8-3.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.2.1.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.2.2-1.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.2.2-2.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.2.3-1.js delete mode 100644 js/src/tests/ecma/ExecutionContexts/10.2.3-2.js delete mode 100644 js/src/tests/ecma/Expressions/11.1.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.10-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.10-2.js delete mode 100644 js/src/tests/ecma/Expressions/11.10-3.js delete mode 100644 js/src/tests/ecma/Expressions/11.12-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.12-2-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.12-3.js delete mode 100644 js/src/tests/ecma/Expressions/11.12-4.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.2-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.2-2.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.2-3.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.2-4.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.2-5.js delete mode 100644 js/src/tests/ecma/Expressions/11.13.js delete mode 100644 js/src/tests/ecma/Expressions/11.14-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.1-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.1-2.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.1-3-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.1-4-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.1-5.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-1-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-10-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-11.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-2-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-3-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-4-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-5-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-6-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-7-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-8-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.2-9-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.3-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.3-2-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.3-3-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.3-4-n.js delete mode 100644 js/src/tests/ecma/Expressions/11.2.3-5.js delete mode 100644 js/src/tests/ecma/Expressions/11.3.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.3.2.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.2.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.3.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.4.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.5.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.6.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.7-01.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.7-02.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.8.js delete mode 100644 js/src/tests/ecma/Expressions/11.4.9.js delete mode 100644 js/src/tests/ecma/Expressions/11.5.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.5.2.js delete mode 100644 js/src/tests/ecma/Expressions/11.5.3.js delete mode 100644 js/src/tests/ecma/Expressions/11.6.1-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.6.1-2.js delete mode 100644 js/src/tests/ecma/Expressions/11.6.1-3.js delete mode 100644 js/src/tests/ecma/Expressions/11.6.2-1.js delete mode 100644 js/src/tests/ecma/Expressions/11.6.3.js delete mode 100644 js/src/tests/ecma/Expressions/11.7.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.7.2.js delete mode 100644 js/src/tests/ecma/Expressions/11.7.3.js delete mode 100644 js/src/tests/ecma/Expressions/11.8.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.8.2.js delete mode 100644 js/src/tests/ecma/Expressions/11.8.3.js delete mode 100644 js/src/tests/ecma/Expressions/11.8.4.js delete mode 100644 js/src/tests/ecma/Expressions/11.9.1.js delete mode 100644 js/src/tests/ecma/Expressions/11.9.2.js delete mode 100644 js/src/tests/ecma/Expressions/11.9.3.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.1.1-1.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.1.1-2.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.1.1-3.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.2.1-1.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.2.1-2.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.2.1-3.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.3.1-2.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.3.1-3.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.3.1-4.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.3.2.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.4-1.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.4.1.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.4.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.5-1.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.5-2.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.5.1.js delete mode 100644 js/src/tests/ecma/FunctionObjects/15.3.5.3.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1-1-n.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1-2-n.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.1.1.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.1.2.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.1-2.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.2-1.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.2-2.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.3-1.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.3-2.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.4.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.5-1.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.5-2.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.5-3.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.6.js delete mode 100644 js/src/tests/ecma/GlobalObject/15.1.2.7.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.1-1.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.1-2.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.1-3.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.2-1.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.2-2-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.2-3-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.2-4-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.2-5-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.2-6.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-1.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-10.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-11.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-12.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-13-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-2.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-3.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-4.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-5.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-6.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-7.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-8.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.3-9.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.1-1-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.1-2-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.1-3-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-1-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-10-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-11-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-12-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-13-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-14-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-15-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-16-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-2-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-3-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-4-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-5-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-6-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-7-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-8-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.2-9-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-1-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-10-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-11-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-12-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-13-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-14-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-15-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-16-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-2-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-4-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-5-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-6-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-7-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-8-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.4.3-9-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-1.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-10-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-2-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-3-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-4-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-5-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-6.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-7.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-8-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.5-9-n.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.6.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.7.1.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.7.2.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.7.3-1.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.7.3-2.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.7.3.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.7.4.js delete mode 100644 js/src/tests/ecma/LexicalConventions/7.8.2-n.js delete mode 100644 js/src/tests/ecma/Math/15.8-2-n.js delete mode 100644 js/src/tests/ecma/Math/15.8-3-n.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.1-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.1-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.2-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.2-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.3-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.3-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.4-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.4-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.5-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.5-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.6-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.6-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.7-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.7-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.8-1.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.8-2.js delete mode 100644 js/src/tests/ecma/Math/15.8.1.8-3.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.1.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.10.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.11.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.12.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.14.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.15.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.6.js delete mode 100644 js/src/tests/ecma/Math/15.8.2.9.js delete mode 100644 js/src/tests/ecma/Number/15.7.1.js delete mode 100644 js/src/tests/ecma/Number/15.7.2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.1-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.1-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.1-3.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.2-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.2-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.2-3.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.2-4.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.3-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.3-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.3-3.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.3-4.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.4-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.4-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.4-3.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.4-4.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.5-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.5-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.5-3.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.5-4.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.6-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.6-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.6-3.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.6-4.js delete mode 100644 js/src/tests/ecma/Number/15.7.3.js delete mode 100644 js/src/tests/ecma/Number/15.7.4-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.1.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.2-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.2-2-n.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.2-3-n.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.2-4.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.3-1.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.3-2.js delete mode 100644 js/src/tests/ecma/Number/15.7.4.3-3-n.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.1.1.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.1.2.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.2.1.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.2.2.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.3-1.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.3.1-1.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.3.1-2.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.3.1-3.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.3.1-4.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.3.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.4.1.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.4.2.js delete mode 100644 js/src/tests/ecma/ObjectObjects/15.2.4.3.js delete mode 100644 js/src/tests/ecma/README delete mode 100644 js/src/tests/ecma/SourceText/6-1.js delete mode 100644 js/src/tests/ecma/SourceText/6-2.js delete mode 100644 js/src/tests/ecma/Statements/12.10-1.js delete mode 100644 js/src/tests/ecma/Statements/12.10.js delete mode 100644 js/src/tests/ecma/Statements/12.2-1.js delete mode 100644 js/src/tests/ecma/Statements/12.5-1.js delete mode 100644 js/src/tests/ecma/Statements/12.5-2.js delete mode 100644 js/src/tests/ecma/Statements/12.6.1-1.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-1.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-2.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-3.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-4.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-5.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-6.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-7.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-8.js delete mode 100644 js/src/tests/ecma/Statements/12.6.2-9-n.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-1.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-10.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-11.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-12.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-19.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-2.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-3.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-4.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-5-n.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-6-n.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-7-n.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-8-n.js delete mode 100644 js/src/tests/ecma/Statements/12.6.3-9-n.js delete mode 100644 js/src/tests/ecma/Statements/12.7-1-n.js delete mode 100644 js/src/tests/ecma/Statements/12.8-1-n.js delete mode 100644 js/src/tests/ecma/Statements/12.9-1-n.js delete mode 100644 js/src/tests/ecma/String/15.5.1.js delete mode 100644 js/src/tests/ecma/String/15.5.2.js delete mode 100644 js/src/tests/ecma/String/15.5.3.1-1.js delete mode 100644 js/src/tests/ecma/String/15.5.3.1-2.js delete mode 100644 js/src/tests/ecma/String/15.5.3.1-3.js delete mode 100644 js/src/tests/ecma/String/15.5.3.1-4.js delete mode 100644 js/src/tests/ecma/String/15.5.3.2-1.js delete mode 100644 js/src/tests/ecma/String/15.5.3.2-2.js delete mode 100644 js/src/tests/ecma/String/15.5.3.2-3.js delete mode 100644 js/src/tests/ecma/String/15.5.3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.10-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.11-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.11-3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.11-4.js delete mode 100644 js/src/tests/ecma/String/15.5.4.11-6.js delete mode 100644 js/src/tests/ecma/String/15.5.4.12-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.12-3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.12-5.js delete mode 100644 js/src/tests/ecma/String/15.5.4.2-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.2-2-n.js delete mode 100644 js/src/tests/ecma/String/15.5.4.2-3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.3-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.3-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.3-3-n.js delete mode 100644 js/src/tests/ecma/String/15.5.4.4-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.4-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.4-3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.4-4.js delete mode 100644 js/src/tests/ecma/String/15.5.4.5-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.5-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.5-3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.5-4.js delete mode 100644 js/src/tests/ecma/String/15.5.4.5-5.js delete mode 100644 js/src/tests/ecma/String/15.5.4.6-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.6-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.7-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.7-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.8-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.8-2.js delete mode 100644 js/src/tests/ecma/String/15.5.4.8-3.js delete mode 100644 js/src/tests/ecma/String/15.5.4.9-1.js delete mode 100644 js/src/tests/ecma/String/15.5.4.js delete mode 100644 js/src/tests/ecma/String/15.5.5.1.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.2.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.3-1.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.3.1-1.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.3.1-2.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.3.1-3.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.3.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.4-1.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.4-2.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.5-2.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.6.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.7.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.8.1.js delete mode 100644 js/src/tests/ecma/TypeConversion/9.9-1.js delete mode 100644 js/src/tests/ecma/Types/8.1.js delete mode 100644 js/src/tests/ecma/Types/8.4.js delete mode 100644 js/src/tests/ecma/Types/8.6.2.1-1.js delete mode 100644 js/src/tests/ecma/extensions/10.1.4-9.js delete mode 100644 js/src/tests/ecma/extensions/10.1.6.js delete mode 100644 js/src/tests/ecma/extensions/10.1.8-1.js delete mode 100644 js/src/tests/ecma/extensions/11.6.1-1.js delete mode 100644 js/src/tests/ecma/extensions/11.6.1-2.js delete mode 100644 js/src/tests/ecma/extensions/11.6.1-3.js delete mode 100644 js/src/tests/ecma/extensions/11.6.2-1.js delete mode 100644 js/src/tests/ecma/extensions/15-1.js delete mode 100644 js/src/tests/ecma/extensions/15-2.js delete mode 100644 js/src/tests/ecma/extensions/15.1.2.1-1.js delete mode 100644 js/src/tests/ecma/extensions/15.2.1.1.js delete mode 100644 js/src/tests/ecma/extensions/15.2.3-1.js delete mode 100644 js/src/tests/ecma/extensions/15.2.4.js delete mode 100644 js/src/tests/ecma/extensions/15.3.1.1-1.js delete mode 100644 js/src/tests/ecma/extensions/15.3.1.1-2.js delete mode 100644 js/src/tests/ecma/extensions/15.3.2.1-1.js delete mode 100644 js/src/tests/ecma/extensions/15.3.2.1-2.js delete mode 100644 js/src/tests/ecma/extensions/15.3.3.1-1.js delete mode 100644 js/src/tests/ecma/extensions/15.4.3.js delete mode 100644 js/src/tests/ecma/extensions/15.5.3.js delete mode 100644 js/src/tests/ecma/extensions/15.5.4.2.js delete mode 100644 js/src/tests/ecma/extensions/15.5.4.4-4.js delete mode 100644 js/src/tests/ecma/extensions/15.5.4.5-6.js delete mode 100644 js/src/tests/ecma/extensions/15.5.4.7-3.js delete mode 100644 js/src/tests/ecma/extensions/15.6.3.1-5.js delete mode 100644 js/src/tests/ecma/extensions/15.6.3.js delete mode 100644 js/src/tests/ecma/extensions/15.6.4-2.js delete mode 100644 js/src/tests/ecma/extensions/15.7.3.js delete mode 100644 js/src/tests/ecma/extensions/15.7.4.js delete mode 100644 js/src/tests/ecma/extensions/15.8-1.js delete mode 100644 js/src/tests/ecma/extensions/8.6.2.1-1.js delete mode 100644 js/src/tests/ecma/extensions/9.9-1.js delete mode 100644 js/src/tests/ecma/shell.js delete mode 100644 js/src/tests/ecma/template.js delete mode 100644 js/src/tests/ecma_2/Exceptions/boolean-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/boolean-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/date-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/date-003.js delete mode 100644 js/src/tests/ecma_2/Exceptions/date-004.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-003.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-004.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-005.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-006.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-007.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-008.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-009.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-010-n.js delete mode 100644 js/src/tests/ecma_2/Exceptions/exception-011-n.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-003.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-004.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-005.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-006.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-007.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-008.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-009.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-010.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-011.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-012.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-013.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-014.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-015.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-016.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-017.js delete mode 100644 js/src/tests/ecma_2/Exceptions/expression-019.js delete mode 100644 js/src/tests/ecma_2/Exceptions/function-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/global-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/global-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-003.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-004.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-005.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-006.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-007.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-008.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-009.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-011.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-012.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-013.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-014.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-015.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-016.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-017.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-018.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-019.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-020.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-021.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-023.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-024.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-025.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-026.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-027.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-028.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-029.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-030.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-031.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-032.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-033.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-034.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-035.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-036.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-037.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-038.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-039.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-040.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-041.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-042.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-047.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-048.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-049.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-050.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-051.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-052.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-053.js delete mode 100644 js/src/tests/ecma_2/Exceptions/lexical-054.js delete mode 100644 js/src/tests/ecma_2/Exceptions/number-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/number-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/number-003.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-002.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-003.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-004.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-005.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-006.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-007.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-008.js delete mode 100644 js/src/tests/ecma_2/Exceptions/statement-009.js delete mode 100644 js/src/tests/ecma_2/Exceptions/string-001.js delete mode 100644 js/src/tests/ecma_2/Exceptions/string-002.js delete mode 100644 js/src/tests/ecma_2/Expressions/StrictEquality-001.js delete mode 100644 js/src/tests/ecma_2/FunctionObjects/apply-001-n.js delete mode 100644 js/src/tests/ecma_2/FunctionObjects/call-1.js delete mode 100644 js/src/tests/ecma_2/LexicalConventions/keywords-001.js delete mode 100644 js/src/tests/ecma_2/LexicalConventions/regexp-literals-001.js delete mode 100644 js/src/tests/ecma_2/LexicalConventions/regexp-literals-002.js delete mode 100644 js/src/tests/ecma_2/README delete mode 100644 js/src/tests/ecma_2/RegExp/constructor-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/exec-002.js delete mode 100644 js/src/tests/ecma_2/RegExp/hex-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/multiline-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/octal-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/octal-002.js delete mode 100644 js/src/tests/ecma_2/RegExp/octal-003.js delete mode 100644 js/src/tests/ecma_2/RegExp/properties-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/properties-002.js delete mode 100644 js/src/tests/ecma_2/RegExp/regexp-enumerate-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/regress-001.js delete mode 100644 js/src/tests/ecma_2/RegExp/unicode-001.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-001.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-002.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-003.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-004.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-005.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-006.js delete mode 100644 js/src/tests/ecma_2/Statements/dowhile-007.js delete mode 100644 js/src/tests/ecma_2/Statements/forin-001.js delete mode 100644 js/src/tests/ecma_2/Statements/forin-002.js delete mode 100644 js/src/tests/ecma_2/Statements/if-001.js delete mode 100644 js/src/tests/ecma_2/Statements/label-001.js delete mode 100644 js/src/tests/ecma_2/Statements/label-002.js delete mode 100644 js/src/tests/ecma_2/Statements/label-003.js delete mode 100644 js/src/tests/ecma_2/Statements/switch-001.js delete mode 100644 js/src/tests/ecma_2/Statements/switch-002.js delete mode 100644 js/src/tests/ecma_2/Statements/switch-003.js delete mode 100644 js/src/tests/ecma_2/Statements/switch-004.js delete mode 100644 js/src/tests/ecma_2/Statements/try-001.js delete mode 100644 js/src/tests/ecma_2/Statements/try-003.js delete mode 100644 js/src/tests/ecma_2/Statements/try-004.js delete mode 100644 js/src/tests/ecma_2/Statements/try-005.js delete mode 100644 js/src/tests/ecma_2/Statements/try-006.js delete mode 100644 js/src/tests/ecma_2/Statements/try-007.js delete mode 100644 js/src/tests/ecma_2/Statements/try-008.js delete mode 100644 js/src/tests/ecma_2/Statements/try-009.js delete mode 100644 js/src/tests/ecma_2/Statements/try-010.js delete mode 100644 js/src/tests/ecma_2/Statements/try-012.js delete mode 100644 js/src/tests/ecma_2/Statements/while-001.js delete mode 100644 js/src/tests/ecma_2/Statements/while-002.js delete mode 100644 js/src/tests/ecma_2/Statements/while-003.js delete mode 100644 js/src/tests/ecma_2/Statements/while-004.js delete mode 100644 js/src/tests/ecma_2/String/match-001.js delete mode 100644 js/src/tests/ecma_2/String/match-002.js delete mode 100644 js/src/tests/ecma_2/String/match-003.js delete mode 100644 js/src/tests/ecma_2/String/match-004.js delete mode 100644 js/src/tests/ecma_2/String/split-001.js delete mode 100644 js/src/tests/ecma_2/String/split-002.js delete mode 100644 js/src/tests/ecma_2/String/split-003.js delete mode 100644 js/src/tests/ecma_2/extensions/constructor-001.js delete mode 100644 js/src/tests/ecma_2/extensions/function-001.js delete mode 100644 js/src/tests/ecma_2/extensions/instanceof-001.js delete mode 100644 js/src/tests/ecma_2/extensions/instanceof-002.js delete mode 100644 js/src/tests/ecma_2/extensions/instanceof-003-n.js delete mode 100644 js/src/tests/ecma_2/extensions/instanceof-004-n.js delete mode 100644 js/src/tests/ecma_2/extensions/instanceof-005-n.js delete mode 100644 js/src/tests/ecma_2/extensions/instanceof-006.js delete mode 100644 js/src/tests/ecma_2/instanceof/instanceof-001.js delete mode 100644 js/src/tests/ecma_2/instanceof/instanceof-002.js delete mode 100644 js/src/tests/ecma_2/instanceof/instanceof-003.js delete mode 100644 js/src/tests/ecma_2/instanceof/regress-7635.js delete mode 100644 js/src/tests/ecma_2/template.js delete mode 100644 js/src/tests/ecma_3/Array/15.4.4.11-01.js delete mode 100644 js/src/tests/ecma_3/Array/15.4.4.3-1.js delete mode 100644 js/src/tests/ecma_3/Array/15.4.4.4-001.js delete mode 100644 js/src/tests/ecma_3/Array/15.4.5.1-01.js delete mode 100644 js/src/tests/ecma_3/Array/15.5.4.8-01.js delete mode 100644 js/src/tests/ecma_3/Date/15.9.1.2-01.js delete mode 100644 js/src/tests/ecma_3/Date/15.9.4.3.js delete mode 100644 js/src/tests/ecma_3/Date/15.9.5.3.js delete mode 100644 js/src/tests/ecma_3/Date/15.9.5.4.js delete mode 100644 js/src/tests/ecma_3/Date/shell.js delete mode 100644 js/src/tests/ecma_3/Exceptions/15.11.1.1.js delete mode 100644 js/src/tests/ecma_3/Exceptions/15.11.4.4-1.js delete mode 100644 js/src/tests/ecma_3/Exceptions/15.11.5.js delete mode 100644 js/src/tests/ecma_3/Exceptions/15.11.7.6-001.js delete mode 100644 js/src/tests/ecma_3/Exceptions/15.11.7.6-002.js delete mode 100644 js/src/tests/ecma_3/Exceptions/15.11.7.6-003.js delete mode 100644 js/src/tests/ecma_3/Exceptions/binding-001.js delete mode 100644 js/src/tests/ecma_3/ExecutionContexts/10.1.3-1.js delete mode 100644 js/src/tests/ecma_3/ExecutionContexts/10.1.3-2.js delete mode 100644 js/src/tests/ecma_3/ExecutionContexts/10.1.3.js delete mode 100644 js/src/tests/ecma_3/ExecutionContexts/10.1.4-1.js delete mode 100644 js/src/tests/ecma_3/ExecutionContexts/10.6.1-01.js delete mode 100644 js/src/tests/ecma_3/ExecutionContexts/shell.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.10-01.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.10-02.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.10-03.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.6.1-1.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.7.1-01.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.7.2-01.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.7.3-01.js delete mode 100644 js/src/tests/ecma_3/Expressions/11.9.6-1.js delete mode 100644 js/src/tests/ecma_3/Expressions/shell.js delete mode 100644 js/src/tests/ecma_3/FunExpr/fe-001-n.js delete mode 100644 js/src/tests/ecma_3/FunExpr/fe-001.js delete mode 100644 js/src/tests/ecma_3/FunExpr/fe-002.js delete mode 100644 js/src/tests/ecma_3/FunExpr/shell.js delete mode 100644 js/src/tests/ecma_3/Function/15.3.4.3-1.js delete mode 100644 js/src/tests/ecma_3/Function/15.3.4.4-1.js delete mode 100644 js/src/tests/ecma_3/Function/arguments-001.js delete mode 100644 js/src/tests/ecma_3/Function/arguments-002.js delete mode 100644 js/src/tests/ecma_3/Function/call-001.js delete mode 100644 js/src/tests/ecma_3/Function/scope-001.js delete mode 100644 js/src/tests/ecma_3/Function/scope-002.js delete mode 100644 js/src/tests/ecma_3/Function/shell.js delete mode 100644 js/src/tests/ecma_3/LexicalConventions/7.4-01.js delete mode 100644 js/src/tests/ecma_3/LexicalConventions/7.8.3-01.js delete mode 100644 js/src/tests/ecma_3/LexicalConventions/7.9.1.js delete mode 100644 js/src/tests/ecma_3/LexicalConventions/shell.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.2-01.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.3-01.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.5-1.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.5-2.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.6-1.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.7-1.js delete mode 100644 js/src/tests/ecma_3/Number/15.7.4.7-2.js delete mode 100644 js/src/tests/ecma_3/Number/shell.js delete mode 100644 js/src/tests/ecma_3/NumberFormatting/shell.js delete mode 100644 js/src/tests/ecma_3/NumberFormatting/tostring-001.js delete mode 100644 js/src/tests/ecma_3/Object/8.6.1-01.js delete mode 100644 js/src/tests/ecma_3/Object/8.6.2.6-001.js delete mode 100644 js/src/tests/ecma_3/Object/8.6.2.6-002.js delete mode 100644 js/src/tests/ecma_3/Object/class-001.js delete mode 100644 js/src/tests/ecma_3/Object/class-002.js delete mode 100644 js/src/tests/ecma_3/Object/class-003.js delete mode 100644 js/src/tests/ecma_3/Object/class-004.js delete mode 100644 js/src/tests/ecma_3/Object/class-005.js delete mode 100644 js/src/tests/ecma_3/Operators/shell.js delete mode 100644 js/src/tests/ecma_3/README delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.2-1.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.2.12.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.3.1-1.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.3.1-2.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.4.1-1.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.4.1-2.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.4.1-3.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.4.1-4.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.4.1-6.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.6.2-1.js delete mode 100644 js/src/tests/ecma_3/RegExp/15.10.6.2-2.js delete mode 100644 js/src/tests/ecma_3/RegExp/octal-001.js delete mode 100644 js/src/tests/ecma_3/RegExp/octal-002.js delete mode 100644 js/src/tests/ecma_3/RegExp/perlstress-001.js delete mode 100644 js/src/tests/ecma_3/RegExp/perlstress-002.js delete mode 100644 js/src/tests/ecma_3/RegExp/shell.js delete mode 100644 js/src/tests/ecma_3/Regress/browser.js delete mode 100644 js/src/tests/ecma_3/Regress/shell.js delete mode 100644 js/src/tests/ecma_3/Statements/12.10-01.js delete mode 100644 js/src/tests/ecma_3/Statements/12.6.3.js delete mode 100644 js/src/tests/ecma_3/Statements/browser.js delete mode 100644 js/src/tests/ecma_3/Statements/shell.js delete mode 100644 js/src/tests/ecma_3/Statements/switch-001.js delete mode 100644 js/src/tests/ecma_3/Statements/switch-002.js delete mode 100644 js/src/tests/ecma_3/String/15.5.4.11.js delete mode 100644 js/src/tests/ecma_3/String/15.5.4.14.js delete mode 100644 js/src/tests/ecma_3/String/browser.js delete mode 100644 js/src/tests/ecma_3/String/shell.js delete mode 100644 js/src/tests/ecma_3/Unicode/browser.js delete mode 100644 js/src/tests/ecma_3/Unicode/shell.js delete mode 100644 js/src/tests/ecma_3/browser.js delete mode 100644 js/src/tests/ecma_3/extensions/10.1.3-2.js delete mode 100644 js/src/tests/ecma_3/extensions/7.9.1.js delete mode 100644 js/src/tests/ecma_3/extensions/browser.js delete mode 100644 js/src/tests/ecma_3/extensions/shell.js delete mode 100644 js/src/tests/ecma_3/shell.js delete mode 100644 js/src/tests/ecma_3_1/Object/browser.js delete mode 100644 js/src/tests/ecma_3_1/Object/shell.js delete mode 100644 js/src/tests/ecma_3_1/README delete mode 100644 js/src/tests/ecma_3_1/RegExp/browser.js delete mode 100644 js/src/tests/ecma_3_1/RegExp/shell.js delete mode 100644 js/src/tests/ecma_3_1/browser.js delete mode 100644 js/src/tests/ecma_3_1/extensions/browser.js delete mode 100644 js/src/tests/ecma_3_1/extensions/shell.js delete mode 100644 js/src/tests/ecma_3_1/shell.js delete mode 100644 js/src/tests/ecma_3_1/template.js delete mode 100644 js/src/tests/ecma_5/Array/browser.js delete mode 100644 js/src/tests/ecma_5/Array/shell.js delete mode 100644 js/src/tests/ecma_5/Boolean/browser.js delete mode 100644 js/src/tests/ecma_5/Boolean/shell.js delete mode 100644 js/src/tests/ecma_5/Date/browser.js delete mode 100644 js/src/tests/ecma_5/Date/shell.js delete mode 100644 js/src/tests/ecma_5/Exceptions/browser.js delete mode 100644 js/src/tests/ecma_5/Exceptions/shell.js delete mode 100644 js/src/tests/ecma_5/Expressions/browser.js delete mode 100644 js/src/tests/ecma_5/Expressions/shell.js delete mode 100644 js/src/tests/ecma_5/Function/browser.js delete mode 100644 js/src/tests/ecma_5/Function/shell.js delete mode 100644 js/src/tests/ecma_5/Global/browser.js delete mode 100644 js/src/tests/ecma_5/Global/shell.js delete mode 100644 js/src/tests/ecma_5/JSON/browser.js delete mode 100644 js/src/tests/ecma_5/Number/browser.js delete mode 100644 js/src/tests/ecma_5/Number/shell.js delete mode 100644 js/src/tests/ecma_5/Object/browser.js delete mode 100644 js/src/tests/ecma_5/Object/shell.js delete mode 100644 js/src/tests/ecma_5/README delete mode 100644 js/src/tests/ecma_5/RegExp/browser.js delete mode 100644 js/src/tests/ecma_5/RegExp/shell.js delete mode 100644 js/src/tests/ecma_5/String/browser.js delete mode 100644 js/src/tests/ecma_5/String/shell.js delete mode 100644 js/src/tests/ecma_5/Types/browser.js delete mode 100644 js/src/tests/ecma_5/Types/shell.js delete mode 100644 js/src/tests/ecma_5/browser.js delete mode 100644 js/src/tests/ecma_5/eval/browser.js delete mode 100644 js/src/tests/ecma_5/eval/shell.js delete mode 100644 js/src/tests/ecma_5/extensions/browser.js delete mode 100644 js/src/tests/ecma_5/extensions/shell.js delete mode 100644 js/src/tests/ecma_5/misc/browser.js delete mode 100644 js/src/tests/ecma_5/misc/shell.js delete mode 100644 js/src/tests/ecma_5/shell.js delete mode 100644 js/src/tests/ecma_5/strict/browser.js delete mode 100644 js/src/tests/ecma_5/strict/shell.js delete mode 100644 js/src/tests/ecma_5/template.js delete mode 100644 js/src/tests/ecma_6/Array/browser.js delete mode 100644 js/src/tests/ecma_6/Array/shell.js delete mode 100644 js/src/tests/ecma_6/ArrayBuffer/browser.js delete mode 100644 js/src/tests/ecma_6/ArrayBuffer/shell.js delete mode 100644 js/src/tests/ecma_6/ArrowFunctions/browser.js delete mode 100644 js/src/tests/ecma_6/ArrowFunctions/shell.js delete mode 100644 js/src/tests/ecma_6/Class/browser.js delete mode 100644 js/src/tests/ecma_6/DataView/browser.js delete mode 100644 js/src/tests/ecma_6/DataView/shell.js delete mode 100644 js/src/tests/ecma_6/Date/shell.js delete mode 100644 js/src/tests/ecma_6/Destructuring/browser.js delete mode 100644 js/src/tests/ecma_6/Destructuring/shell.js delete mode 100644 js/src/tests/ecma_6/Error/shell.js delete mode 100644 js/src/tests/ecma_6/Expressions/browser.js delete mode 100644 js/src/tests/ecma_6/Function/browser.js delete mode 100644 js/src/tests/ecma_6/Function/shell.js delete mode 100644 js/src/tests/ecma_6/LexicalEnvironment/browser.js delete mode 100644 js/src/tests/ecma_6/LexicalEnvironment/shell.js delete mode 100644 js/src/tests/ecma_6/Map/browser.js delete mode 100644 js/src/tests/ecma_6/Map/shell.js delete mode 100644 js/src/tests/ecma_6/Math/browser.js delete mode 100644 js/src/tests/ecma_6/Module/browser.js delete mode 100644 js/src/tests/ecma_6/Module/shell.js delete mode 100644 js/src/tests/ecma_6/Number/browser.js delete mode 100644 js/src/tests/ecma_6/Number/shell.js delete mode 100644 js/src/tests/ecma_6/Object/browser.js delete mode 100644 js/src/tests/ecma_6/Object/shell.js delete mode 100644 js/src/tests/ecma_6/Promise/browser.js delete mode 100644 js/src/tests/ecma_6/Promise/shell.js delete mode 100644 js/src/tests/ecma_6/Proxy/shell.js delete mode 100644 js/src/tests/ecma_6/Reflect/browser.js delete mode 100644 js/src/tests/ecma_6/RegExp/browser.js delete mode 100644 js/src/tests/ecma_6/RegExp/shell.js delete mode 100644 js/src/tests/ecma_6/Set/browser.js delete mode 100644 js/src/tests/ecma_6/Set/shell.js delete mode 100644 js/src/tests/ecma_6/Statements/browser.js delete mode 100644 js/src/tests/ecma_6/Statements/shell.js delete mode 100644 js/src/tests/ecma_6/String/browser.js delete mode 100644 js/src/tests/ecma_6/Symbol/browser.js delete mode 100644 js/src/tests/ecma_6/Symbol/shell.js delete mode 100644 js/src/tests/ecma_6/Syntax/browser.js delete mode 100644 js/src/tests/ecma_6/Syntax/shell.js delete mode 100644 js/src/tests/ecma_6/TemplateStrings/shell.js delete mode 100644 js/src/tests/ecma_6/TypedArray/browser.js delete mode 100644 js/src/tests/ecma_6/WeakMap/browser.js delete mode 100644 js/src/tests/ecma_6/WeakMap/shell.js delete mode 100644 js/src/tests/ecma_6/browser.js delete mode 100644 js/src/tests/ecma_6/extensions/browser.js delete mode 100644 js/src/tests/ecma_6/extensions/shell.js delete mode 100644 js/src/tests/ecma_6/shell.js delete mode 100644 js/src/tests/ecma_7/Array/browser.js delete mode 100644 js/src/tests/ecma_7/Array/shell.js delete mode 100644 js/src/tests/ecma_7/Destructuring/browser.js delete mode 100644 js/src/tests/ecma_7/Destructuring/shell.js delete mode 100644 js/src/tests/ecma_7/Math/shell.js delete mode 100644 js/src/tests/ecma_7/Object/browser.js delete mode 100644 js/src/tests/ecma_7/Object/shell.js delete mode 100644 js/src/tests/ecma_7/String/shell.js delete mode 100644 js/src/tests/ecma_7/Syntax/browser.js delete mode 100644 js/src/tests/ecma_7/Syntax/shell.js delete mode 100644 js/src/tests/ecma_7/TypedArray/browser.js delete mode 100644 js/src/tests/ecma_7/TypedArray/shell.js delete mode 100644 js/src/tests/ecma_7/browser.js delete mode 100644 js/src/tests/ecma_7/extensions/browser.js delete mode 100644 js/src/tests/ecma_7/extensions/shell.js delete mode 100644 js/src/tests/ecma_7/shell.js delete mode 100644 js/src/tests/js1_1/README delete mode 100644 js/src/tests/js1_1/browser.js delete mode 100644 js/src/tests/js1_1/regress/browser.js delete mode 100644 js/src/tests/js1_1/regress/function-001.js delete mode 100644 js/src/tests/js1_1/regress/perfect.js delete mode 100644 js/src/tests/js1_1/regress/shell.js delete mode 100644 js/src/tests/js1_1/shell.js delete mode 100644 js/src/tests/js1_2/Array/browser.js delete mode 100644 js/src/tests/js1_2/Array/general1.js delete mode 100644 js/src/tests/js1_2/Array/general2.js delete mode 100644 js/src/tests/js1_2/Array/shell.js delete mode 100644 js/src/tests/js1_2/Array/slice.js delete mode 100644 js/src/tests/js1_2/Array/splice1.js delete mode 100644 js/src/tests/js1_2/Array/splice2.js delete mode 100644 js/src/tests/js1_2/Objects/browser.js delete mode 100644 js/src/tests/js1_2/Objects/shell.js delete mode 100644 js/src/tests/js1_2/README delete mode 100644 js/src/tests/js1_2/String/browser.js delete mode 100644 js/src/tests/js1_2/String/charCodeAt.js delete mode 100644 js/src/tests/js1_2/String/match.js delete mode 100644 js/src/tests/js1_2/String/shell.js delete mode 100644 js/src/tests/js1_2/String/slice.js delete mode 100644 js/src/tests/js1_2/browser.js delete mode 100644 js/src/tests/js1_2/function/browser.js delete mode 100644 js/src/tests/js1_2/function/definition-1.js delete mode 100644 js/src/tests/js1_2/function/nesting-1.js delete mode 100644 js/src/tests/js1_2/function/nesting.js delete mode 100644 js/src/tests/js1_2/function/regexparg-1.js delete mode 100644 js/src/tests/js1_2/function/shell.js delete mode 100644 js/src/tests/js1_2/operator/browser.js delete mode 100644 js/src/tests/js1_2/operator/shell.js delete mode 100644 js/src/tests/js1_2/operator/strictEquality.js delete mode 100644 js/src/tests/js1_2/regexp/alphanumeric.js delete mode 100644 js/src/tests/js1_2/regexp/asterisk.js delete mode 100644 js/src/tests/js1_2/regexp/backslash.js delete mode 100644 js/src/tests/js1_2/regexp/backspace.js delete mode 100644 js/src/tests/js1_2/regexp/beginLine.js delete mode 100644 js/src/tests/js1_2/regexp/browser.js delete mode 100644 js/src/tests/js1_2/regexp/character_class.js delete mode 100644 js/src/tests/js1_2/regexp/compile.js delete mode 100644 js/src/tests/js1_2/regexp/control_characters.js delete mode 100644 js/src/tests/js1_2/regexp/digit.js delete mode 100644 js/src/tests/js1_2/regexp/dot.js delete mode 100644 js/src/tests/js1_2/regexp/endLine.js delete mode 100644 js/src/tests/js1_2/regexp/everything.js delete mode 100644 js/src/tests/js1_2/regexp/exec.js delete mode 100644 js/src/tests/js1_2/regexp/flags.js delete mode 100644 js/src/tests/js1_2/regexp/global.js delete mode 100644 js/src/tests/js1_2/regexp/hexadecimal.js delete mode 100644 js/src/tests/js1_2/regexp/ignoreCase.js delete mode 100644 js/src/tests/js1_2/regexp/interval.js delete mode 100644 js/src/tests/js1_2/regexp/octal.js delete mode 100644 js/src/tests/js1_2/regexp/parentheses.js delete mode 100644 js/src/tests/js1_2/regexp/plus.js delete mode 100644 js/src/tests/js1_2/regexp/question_mark.js delete mode 100644 js/src/tests/js1_2/regexp/shell.js delete mode 100644 js/src/tests/js1_2/regexp/simple_form.js delete mode 100644 js/src/tests/js1_2/regexp/source.js delete mode 100644 js/src/tests/js1_2/regexp/special_characters.js delete mode 100644 js/src/tests/js1_2/regexp/string_replace.js delete mode 100644 js/src/tests/js1_2/regexp/string_search.js delete mode 100644 js/src/tests/js1_2/regexp/test.js delete mode 100644 js/src/tests/js1_2/regexp/toString.js delete mode 100644 js/src/tests/js1_2/regexp/vertical_bar.js delete mode 100644 js/src/tests/js1_2/regexp/whitespace.js delete mode 100644 js/src/tests/js1_2/regexp/word_boundary.js delete mode 100644 js/src/tests/js1_2/regress/browser.js delete mode 100644 js/src/tests/js1_2/regress/regress-144834.js delete mode 100644 js/src/tests/js1_2/regress/regress-7703.js delete mode 100644 js/src/tests/js1_2/regress/shell.js delete mode 100644 js/src/tests/js1_2/shell.js delete mode 100644 js/src/tests/js1_2/statements/break.js delete mode 100644 js/src/tests/js1_2/statements/browser.js delete mode 100644 js/src/tests/js1_2/statements/continue.js delete mode 100644 js/src/tests/js1_2/statements/do_while.js delete mode 100644 js/src/tests/js1_2/statements/shell.js delete mode 100644 js/src/tests/js1_2/statements/switch.js delete mode 100644 js/src/tests/js1_2/statements/switch2.js delete mode 100644 js/src/tests/js1_3/Boolean/boolean-001.js delete mode 100644 js/src/tests/js1_3/Boolean/browser.js delete mode 100644 js/src/tests/js1_3/Boolean/shell.js delete mode 100644 js/src/tests/js1_3/README delete mode 100644 js/src/tests/js1_3/Script/browser.js delete mode 100644 js/src/tests/js1_3/Script/shell.js delete mode 100644 js/src/tests/js1_3/browser.js delete mode 100644 js/src/tests/js1_3/extensions/browser.js delete mode 100644 js/src/tests/js1_3/extensions/proto_10.js delete mode 100644 js/src/tests/js1_3/extensions/proto_2.js delete mode 100644 js/src/tests/js1_3/extensions/proto_5.js delete mode 100644 js/src/tests/js1_3/extensions/script-001.js delete mode 100644 js/src/tests/js1_3/extensions/shell.js delete mode 100644 js/src/tests/js1_3/inherit/browser.js delete mode 100644 js/src/tests/js1_3/inherit/proto_1.js delete mode 100644 js/src/tests/js1_3/inherit/proto_10.js delete mode 100644 js/src/tests/js1_3/inherit/proto_11.js delete mode 100644 js/src/tests/js1_3/inherit/proto_12.js delete mode 100644 js/src/tests/js1_3/inherit/proto_3.js delete mode 100644 js/src/tests/js1_3/inherit/proto_4.js delete mode 100644 js/src/tests/js1_3/inherit/proto_6.js delete mode 100644 js/src/tests/js1_3/inherit/proto_7.js delete mode 100644 js/src/tests/js1_3/inherit/proto_8.js delete mode 100644 js/src/tests/js1_3/inherit/proto_9.js delete mode 100644 js/src/tests/js1_3/inherit/shell.js delete mode 100644 js/src/tests/js1_3/misc/browser.js delete mode 100644 js/src/tests/js1_3/misc/shell.js delete mode 100644 js/src/tests/js1_3/regress/browser.js delete mode 100644 js/src/tests/js1_3/regress/delete-001.js delete mode 100644 js/src/tests/js1_3/regress/function-002.js delete mode 100644 js/src/tests/js1_3/regress/in-001.js delete mode 100644 js/src/tests/js1_3/regress/new-001.js delete mode 100644 js/src/tests/js1_3/regress/shell.js delete mode 100644 js/src/tests/js1_3/regress/switch-001.js delete mode 100644 js/src/tests/js1_3/shell.js delete mode 100644 js/src/tests/js1_4/Eval/browser.js delete mode 100644 js/src/tests/js1_4/Eval/eval-001.js delete mode 100644 js/src/tests/js1_4/Eval/eval-002.js delete mode 100644 js/src/tests/js1_4/Eval/eval-003.js delete mode 100644 js/src/tests/js1_4/Eval/shell.js delete mode 100644 js/src/tests/js1_4/Functions/browser.js delete mode 100644 js/src/tests/js1_4/Functions/function-001.js delete mode 100644 js/src/tests/js1_4/Functions/shell.js delete mode 100644 js/src/tests/js1_4/README delete mode 100644 js/src/tests/js1_4/Regress/browser.js delete mode 100644 js/src/tests/js1_4/Regress/function-001.js delete mode 100644 js/src/tests/js1_4/Regress/function-002.js delete mode 100644 js/src/tests/js1_4/Regress/function-003.js delete mode 100644 js/src/tests/js1_4/Regress/function-004-n.js delete mode 100644 js/src/tests/js1_4/Regress/regress-7224.js delete mode 100644 js/src/tests/js1_4/Regress/shell.js delete mode 100644 js/src/tests/js1_4/Regress/toString-001-n.js delete mode 100644 js/src/tests/js1_4/browser.js delete mode 100644 js/src/tests/js1_4/shell.js delete mode 100644 js/src/tests/js1_5/Array/browser.js delete mode 100644 js/src/tests/js1_5/Array/shell.js delete mode 100644 js/src/tests/js1_5/Date/browser.js delete mode 100644 js/src/tests/js1_5/Date/shell.js delete mode 100644 js/src/tests/js1_5/Error/browser.js delete mode 100644 js/src/tests/js1_5/Error/shell.js delete mode 100644 js/src/tests/js1_5/Exceptions/browser.js delete mode 100644 js/src/tests/js1_5/Exceptions/shell.js delete mode 100644 js/src/tests/js1_5/Expressions/browser.js delete mode 100644 js/src/tests/js1_5/Expressions/shell.js delete mode 100644 js/src/tests/js1_5/Function/browser.js delete mode 100644 js/src/tests/js1_5/Function/shell.js delete mode 100644 js/src/tests/js1_5/GC/browser.js delete mode 100644 js/src/tests/js1_5/GC/shell.js delete mode 100644 js/src/tests/js1_5/GetSet/browser.js delete mode 100644 js/src/tests/js1_5/GetSet/shell.js delete mode 100644 js/src/tests/js1_5/LexicalConventions/browser.js delete mode 100644 js/src/tests/js1_5/LexicalConventions/shell.js delete mode 100644 js/src/tests/js1_5/Object/browser.js delete mode 100644 js/src/tests/js1_5/Object/shell.js delete mode 100644 js/src/tests/js1_5/README delete mode 100644 js/src/tests/js1_5/Regress/browser.js delete mode 100644 js/src/tests/js1_5/Regress/shell.js delete mode 100644 js/src/tests/js1_5/Scope/browser.js delete mode 100644 js/src/tests/js1_5/Scope/shell.js delete mode 100644 js/src/tests/js1_5/String/browser.js delete mode 100644 js/src/tests/js1_5/String/shell.js delete mode 100644 js/src/tests/js1_5/browser.js delete mode 100644 js/src/tests/js1_5/extensions/browser.js delete mode 100644 js/src/tests/js1_5/extensions/shell.js delete mode 100644 js/src/tests/js1_5/shell.js delete mode 100644 js/src/tests/js1_5/template.js delete mode 100644 js/src/tests/js1_6/Array/browser.js delete mode 100644 js/src/tests/js1_6/Array/shell.js delete mode 100644 js/src/tests/js1_6/README delete mode 100644 js/src/tests/js1_6/Regress/browser.js delete mode 100644 js/src/tests/js1_6/Regress/shell.js delete mode 100644 js/src/tests/js1_6/String/browser.js delete mode 100644 js/src/tests/js1_6/String/shell.js delete mode 100644 js/src/tests/js1_6/browser.js delete mode 100644 js/src/tests/js1_6/extensions/browser.js delete mode 100644 js/src/tests/js1_6/extensions/shell.js delete mode 100644 js/src/tests/js1_6/shell.js delete mode 100644 js/src/tests/js1_6/template.js delete mode 100644 js/src/tests/js1_7/GC/browser.js delete mode 100644 js/src/tests/js1_7/GC/shell.js delete mode 100644 js/src/tests/js1_7/README delete mode 100644 js/src/tests/js1_7/browser.js delete mode 100644 js/src/tests/js1_7/expressions/browser.js delete mode 100644 js/src/tests/js1_7/expressions/shell.js delete mode 100644 js/src/tests/js1_7/extensions/browser.js delete mode 100644 js/src/tests/js1_7/extensions/shell.js delete mode 100644 js/src/tests/js1_7/geniter/browser.js delete mode 100644 js/src/tests/js1_7/geniter/shell.js delete mode 100644 js/src/tests/js1_7/iterable/browser.js delete mode 100644 js/src/tests/js1_7/iterable/shell.js delete mode 100644 js/src/tests/js1_7/lexical/browser.js delete mode 100644 js/src/tests/js1_7/lexical/shell.js delete mode 100644 js/src/tests/js1_7/regexp/browser.js delete mode 100644 js/src/tests/js1_7/regexp/shell.js delete mode 100644 js/src/tests/js1_7/regress/browser.js delete mode 100644 js/src/tests/js1_7/regress/shell.js delete mode 100644 js/src/tests/js1_7/shell.js delete mode 100644 js/src/tests/js1_7/template.js delete mode 100644 js/src/tests/js1_8/README delete mode 100644 js/src/tests/js1_8/browser.js delete mode 100644 js/src/tests/js1_8/extensions/browser.js delete mode 100644 js/src/tests/js1_8/extensions/shell.js delete mode 100644 js/src/tests/js1_8/genexps/shell.js delete mode 100644 js/src/tests/js1_8/regress/browser.js delete mode 100644 js/src/tests/js1_8/regress/shell.js delete mode 100644 js/src/tests/js1_8/shell.js delete mode 100644 js/src/tests/js1_8/template.js delete mode 100644 js/src/tests/js1_8_1/JSON/browser.js delete mode 100644 js/src/tests/js1_8_1/JSON/shell.js delete mode 100644 js/src/tests/js1_8_1/README delete mode 100644 js/src/tests/js1_8_1/String/browser.js delete mode 100644 js/src/tests/js1_8_1/String/shell.js delete mode 100644 js/src/tests/js1_8_1/browser.js delete mode 100644 js/src/tests/js1_8_1/extensions/browser.js delete mode 100644 js/src/tests/js1_8_1/extensions/shell.js delete mode 100644 js/src/tests/js1_8_1/jit/browser.js delete mode 100644 js/src/tests/js1_8_1/jit/shell.js delete mode 100644 js/src/tests/js1_8_1/regress/browser.js delete mode 100644 js/src/tests/js1_8_1/regress/shell.js delete mode 100644 js/src/tests/js1_8_1/shell.js delete mode 100644 js/src/tests/js1_8_1/strict/shell.js delete mode 100644 js/src/tests/js1_8_1/template.js delete mode 100644 js/src/tests/js1_8_5/README delete mode 100644 js/src/tests/js1_8_5/browser.js delete mode 100644 js/src/tests/js1_8_5/extensions/empty.txt delete mode 100644 js/src/tests/js1_8_5/extensions/shell.js delete mode 100644 js/src/tests/js1_8_5/regress/browser.js delete mode 100644 js/src/tests/js1_8_5/regress/shell.js delete mode 100644 js/src/tests/js1_8_5/shell.js delete mode 100644 js/src/tests/js1_8_5/template.js rename js/src/tests/{js1_5 => non262}/Array/11.1.4.js (100%) rename js/src/tests/{ecma => non262}/Array/15.4.4.5-1.js (100%) rename js/src/tests/{ecma => non262}/Array/15.4.4.5-2.js (100%) rename js/src/tests/{ecma => non262}/Array/15.4.4.5-3.js (98%) rename js/src/tests/{js1_5 => non262}/Array/array-001.js (100%) rename js/src/tests/{ecma => non262}/Array/array-length-set-during-for-in.js (100%) rename js/src/tests/{ecma => non262}/Array/array-length-set-on-nonarray.js (100%) rename js/src/tests/{Intl/Collator => non262/Array}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/concat-proxy.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/concat-spreadable-basic.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/concat-spreadable-primitive.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/fill.js (100%) rename js/src/tests/{js1_6 => non262}/Array/filter.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/find_findindex.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/for_of_1.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/for_of_2.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/for_of_3.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/for_of_4.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from-iterator-close.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_basics.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_constructor.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_errors.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_iterable.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_length_setter.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_mapping.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_primitive.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_proxy.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_realms.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_string.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_surfaces.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/from_this.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/frozen-dense-array.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/frozen-dict-mode-length.js (100%) rename js/src/tests/{js1_6 => non262}/Array/generics.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/getter-name.js (100%) rename js/src/tests/{ecma_7 => non262}/Array/includes.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/index-with-null-character.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/indexOf-never-returns-negative-zero.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/indexOf-packed-array.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/isArray.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/iterator_edge_cases.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/join-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/join-no-has-trap.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/lastIndexOf-never-returns-negative-zero.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/length-01.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/length-nonwritable-redefine-nop.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/length-set-object.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/length-truncate-nonconfigurable-sparse.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/length-truncate-nonconfigurable.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/length-truncate-with-indexed.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/pop-empty-nonwritable.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/pop-no-has-trap.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/pop-nonarray-higher-elements.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/redefine-length-accessor.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/redefine-length-frozen-array.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/redefine-length-frozen-dictionarymode-array.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/redefine-nonwritable-length-custom-conversion-call-counts.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/redefine-nonwritable-length-custom-conversion-throw.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/redefine-nonwritable-length-nonnumeric.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-101488.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-101964.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-107138.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-108440.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-130451.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-154338.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-157652.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-178722.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-255555.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-290592.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-299644.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-300858.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-304828.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-305002.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-310351.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-310425-01.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-310425-02.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-311515.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-313153.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-315509-01.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-322135-01.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-322135-02.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-322135-03.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-322135-04.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-330812.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-345961.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-348810.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-350256-01.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-350256-02.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-352742-01.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-352742-02.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-360681-01.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-360681-02.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-364104.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-386030.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-387501.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-390598.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-415451.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-415540.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-421325.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-422286.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-424954.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-430717.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-451483.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-451906.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-456845.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-465980-01.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-465980-02.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-474529.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-488989.js (100%) rename js/src/tests/{js1_6 => non262}/Array/regress-566651.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/regress-599159.js (100%) rename js/src/tests/{ecma_3 => non262}/Array/regress-619970.js (100%) rename js/src/tests/{js1_5 => non262}/Array/regress-94257.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/reverse-order-of-low-high-accesses.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/set-with-indexed-property-on-prototype-chain.js (100%) rename js/src/tests/{Intl => non262}/Array/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/shift-no-has-trap.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/shift_for_in.js (100%) rename js/src/tests/{ecma_7 => non262}/Array/slice-sparse-with-large-index.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/sort-01.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/sort-array-with-holes-and-undefined.js (100%) rename js/src/tests/{ecma_2018 => non262}/Array/sort-non-function.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/sort-typedarray-with-own-length.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/sort_basics.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/sort_holes.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/sort_proxy.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/sort_small.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/species.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/splice-return-array-elements-defined-not-set.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/splice-species-changes-length.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/splice-suppresses-unvisited-indexes.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/to-length.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/toLocaleString-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/toLocaleString-nointl.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/toLocaleString.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/toString-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/unscopables.js (100%) rename js/src/tests/{ecma_5 => non262}/Array/unshift-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/unshift-with-enumeration.js (100%) rename js/src/tests/{ecma_6 => non262}/Array/values.js (100%) rename js/src/tests/{ecma_6 => non262}/ArrayBuffer/CloneArrayBuffer.js (100%) rename js/src/tests/{Intl/Date => non262/ArrayBuffer}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/ArrayBuffer/constructorNotCallable.js (100%) rename js/src/tests/{ecma_6 => non262}/ArrayBuffer/getter-name.js (100%) rename js/src/tests/{Intl/Collator => non262/ArrayBuffer}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/ArrayBuffer/slice-species.js (100%) rename js/src/tests/{ecma_2018 => non262}/AsyncGenerators/async-generator-declaration-in-modules.js (100%) rename js/src/tests/{Intl/NumberFormat => non262/AsyncGenerators}/browser.js (100%) rename js/src/tests/{ecma_2018 => non262}/AsyncGenerators/create-function-parse-before-getprototype.js (100%) rename js/src/tests/{ecma_2018 => non262}/AsyncGenerators/for-await-bad-syntax.js (100%) rename js/src/tests/{ecma_2018 => non262}/AsyncGenerators/for-await-of-error.js (100%) rename js/src/tests/{Intl/Date => non262/AsyncGenerators}/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/Boolean/15.6.4.2.js (100%) rename js/src/tests/{Intl/PluralRules => non262/Boolean}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/Boolean/no-boolean-toJSON.js (100%) rename js/src/tests/{Intl/DateTimeFormat => non262/Boolean}/shell.js (100%) rename js/src/tests/{Intl/RelativeTimeFormat => non262/DataView}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/DataView/detach-after-construction.js (100%) rename js/src/tests/{ecma_6 => non262}/DataView/get-set-index-range.js (100%) rename js/src/tests/{ecma_6 => non262}/DataView/getter-name.js (100%) rename js/src/tests/{Intl/NumberFormat => non262/DataView}/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/15.9.4.2.js (100%) rename js/src/tests/{ecma_3 => non262}/Date/15.9.5.5-02.js (100%) rename js/src/tests/{ecma_3 => non262}/Date/15.9.5.5.js (100%) rename js/src/tests/{ecma_3 => non262}/Date/15.9.5.6.js (100%) rename js/src/tests/{ecma_3 => non262}/Date/15.9.5.7.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/UTC-convert-all-arguments.js (100%) rename js/src/tests/{Intl/DateTimeFormat => non262/Date}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/constructor-convert-all-arguments.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/constructor-one-Date-argument.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/constructor-one-argument.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/defaultvalue.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-1-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-2-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-3-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-4-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-5-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-6-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-7-of-8.js (100%) rename js/src/tests/{ecma => non262}/Date/dst-offset-caching-8-of-8.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/equality-to-boolean.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/fractions.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/non-iso.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/prototype-is-not-a-date.js (100%) rename js/src/tests/{js1_5 => non262}/Date/regress-188211.js (100%) rename js/src/tests/{js1_5 => non262}/Date/regress-301738-01.js (100%) rename js/src/tests/{js1_5 => non262}/Date/regress-309925-01.js (100%) rename js/src/tests/{js1_5 => non262}/Date/regress-309925-02.js (100%) rename js/src/tests/{js1_5 => non262}/Date/regress-346027.js (100%) rename js/src/tests/{js1_5 => non262}/Date/regress-346363.js (100%) rename js/src/tests/{ecma_3 => non262}/Date/regress-452786.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/setTime-argument-shortcircuiting.js (100%) rename js/src/tests/{ecma => non262}/Date/shell.js (76%) rename js/src/tests/{ecma_6 => non262}/Date/time-zone-2038-pst.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/time-zone-pst.js (99%) rename js/src/tests/{ecma_6 => non262}/Date/time-zones-pedantic.js (98%) rename js/src/tests/{ecma_6 => non262}/Date/time-zones-posix.js (99%) rename js/src/tests/{ecma_6 => non262}/Date/time-zones.js (99%) rename js/src/tests/{ecma_5 => non262}/Date/timeclip.js (100%) rename js/src/tests/{ecma_6/Date/toISOString.js => non262/Date/toISOString-01.js} (100%) rename js/src/tests/{ecma_5 => non262}/Date/toISOString.js (100%) rename js/src/tests/{ecma_5 => non262}/Date/toJSON-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/toPrimitive.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/toString-generic.js (100%) rename js/src/tests/{ecma_6 => non262}/Date/two-digit-years.js (100%) rename js/src/tests/{Intl => non262/Error}/browser.js (100%) rename js/src/tests/{js1_5 => non262}/Error/constructor-ordering.js (100%) rename js/src/tests/{ecma_6 => non262}/Error/constructor-proto.js (100%) rename js/src/tests/{ecma_6 => non262}/Error/prototype-properties.js (100%) rename js/src/tests/{ecma_6 => non262}/Error/prototype.js (100%) rename js/src/tests/{js1_5 => non262}/Error/regress-354246.js (100%) rename js/src/tests/{js1_5 => non262}/Error/regress-412324.js (100%) rename js/src/tests/{js1_5 => non262}/Error/regress-465377.js (100%) rename js/src/tests/{Intl/PluralRules => non262/Error}/shell.js (100%) rename js/src/tests/{Intl/extensions => non262/Exceptions}/browser.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/catchguard-002-n.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/catchguard-003-n.js (100%) rename js/src/tests/{ecma_5 => non262}/Exceptions/error-expando-reconfigure.js (100%) rename js/src/tests/{ecma_5 => non262}/Exceptions/error-property-enumerability.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/errstack-001.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-121658.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-123002.js (100%) rename js/src/tests/{ecma_3 => non262}/Exceptions/regress-181654.js (100%) rename js/src/tests/{ecma_3 => non262}/Exceptions/regress-181914.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-257751.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-273931.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-315147.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-332472.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-333728.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-342359.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-347674.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-350650-n.js (100%) rename js/src/tests/{js1_5 => non262}/Exceptions/regress-350837.js (100%) rename js/src/tests/{ecma_3 => non262}/Exceptions/regress-58946.js (100%) rename js/src/tests/{ecma_3 => non262}/Exceptions/regress-95101.js (100%) rename js/src/tests/{Intl/RelativeTimeFormat => non262/Exceptions}/shell.js (100%) rename js/src/tests/{js1_5 => non262}/Function/10.1.6-01.js (100%) rename js/src/tests/{js1_5 => non262}/Function/10.1.6.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/10.2.1.1.6.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/15.3.4.3-01.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/Function-arguments-gc.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/Function-with-eval.js (100%) rename js/src/tests/{ecma_2017 => non262}/Function/Object-toSource.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/arguments-caller-callee.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/arguments-extra-property.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/arguments-iterator.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/arguments-parameter-shadowing.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/arguments-property-attributes.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/arrow-has-duplicated.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/bound-length-and-name.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/bound-non-constructable.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/bound-prototype.js (100%) rename js/src/tests/{ecma/Array => non262/Function}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/builtin-no-construct.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/builtin-no-prototype.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/configurable-length-builtins.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/configurable-length.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/construct-bound-proxy-with-many-arguments.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/constructor-binding.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/create-function-parse-before-getprototype.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/function-bind.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/function-call.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/function-caller.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-constructor-toString-arguments-before-parsing-params.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name-assignment.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name-binding.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name-class.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name-for.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name-method.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name-property.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/function-name.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/has-instance-jitted.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/has-instance.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/implicit-this-in-parameter-expression.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/invalid-parameter-list.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/length-with-destructuring-and-parameter-expression.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/line-terminator-before-arrow.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/method-has-duplicated.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/parameter-redeclaration.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/redefine-arguments-length.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-123371.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-131964.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-137181.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-178389.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-193555.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-222029-001.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-222029-002.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-292215.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-313570.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-338001.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-338121-01.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-338121-02.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-338121-03.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-344052.js (100%) rename js/src/tests/{js1_5 => non262}/Function/regress-364023.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-49286.js (100%) rename js/src/tests/{ecma_3/FunExpr => non262/Function}/regress-518103.js (100%) rename js/src/tests/{ecma_3/FunExpr => non262/Function}/regress-524826.js (100%) rename js/src/tests/{ecma_3/FunExpr => non262/Function}/regress-528082.js (100%) rename js/src/tests/{ecma_3/FunExpr => non262/Function}/regress-533254.js (100%) rename js/src/tests/{ecma_3/FunExpr => non262/Function}/regress-545980.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-58274.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-85880.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-94506.js (100%) rename js/src/tests/{ecma_3 => non262}/Function/regress-97921.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/rest-has-duplicated.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/rest-parameter-names.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/return-finally.js (100%) rename js/src/tests/{Intl/String => non262/Function}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/spread-iterator-primitive.js (100%) rename js/src/tests/{ecma_5 => non262}/Function/strict-arguments.js (100%) rename js/src/tests/{ecma_6 => non262}/Function/throw-type-error.js (100%) rename js/src/tests/{ecma/Boolean => non262/GC}/browser.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-104584.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-203278-2.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-203278-3.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-278725.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-306788.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-311497.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-313276.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-313479.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-316885-01.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-316885-02.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-316885-03.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-319980-01.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-324278.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-331719.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-338653.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-341877-01.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-341877-02.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-346794.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-348532.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-352606.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-383269-01.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-383269-02.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-390078.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-418128.js (100%) rename js/src/tests/{js1_5 => non262}/GC/regress-440558.js (100%) rename js/src/tests/{Intl/TypedArray => non262/GC}/shell.js (100%) rename js/src/tests/{Intl/extensions => non262/Intl/Array}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/Array/toLocaleString-date.js (100%) rename js/src/tests/{ => non262}/Intl/Array/toLocaleString-number.js (100%) rename js/src/tests/{ => non262}/Intl/Array/toLocaleString.js (100%) rename js/src/tests/{ecma/Date => non262/Intl/Collator}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/Collator/call.js (100%) rename js/src/tests/{ => non262}/Intl/Collator/caseFirst.js (100%) rename js/src/tests/{ => non262}/Intl/Collator/compare.js (100%) rename js/src/tests/{ => non262}/Intl/Collator/construct-newtarget.js (100%) rename js/src/tests/{Intl => non262/Intl/Collator}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/Collator/supportedLocalesOf.js (100%) rename js/src/tests/{ => non262}/Intl/Collator/toStringTag.js (100%) rename js/src/tests/{ecma/ExecutionContexts => non262/Intl/Date}/browser.js (100%) rename js/src/tests/{ecma/Array => non262/Intl/Date}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/Date/toLocaleDateString_timeZone.js (100%) rename js/src/tests/{ => non262}/Intl/Date/toLocaleString_timeZone.js (100%) rename js/src/tests/{ => non262}/Intl/Date/toLocaleTimeString_timeZone.js (100%) rename js/src/tests/{ecma_6/Date => non262/Intl/DateTimeFormat}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/calendar-aliases.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/call.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/construct-newtarget.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/format.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/formatToParts.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/format_timeZone.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/hourCycle.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/islamic.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/mozExtensions.js (100%) rename js/src/tests/{ecma/Boolean => non262/Intl/DateTimeFormat}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/supportedLocalesOf.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/timeZone.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/timeZone_backward_links.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/timeZone_backzone.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/timeZone_backzone_links.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/timeZone_notbackward_links.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/toStringTag.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/tz-environment-variable.js (100%) rename js/src/tests/{ => non262}/Intl/DateTimeFormat/unwrapping.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/StringBuffer.js (100%) rename js/src/tests/{ecma/Expressions => non262/Intl/NumberFormat}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/call.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/construct-newtarget.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/duplicate-singleton-variant.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/format-as-code-or-name.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/format.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/formatToParts.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/negativeZeroFractionDigits.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/options-emulate-undefined.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/remove-unicode-extensions.js (100%) rename js/src/tests/{ecma/ExecutionContexts => non262/Intl/NumberFormat}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/significantDigitsOfZero.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/supportedLocalesOf.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/toStringTag.js (100%) rename js/src/tests/{ => non262}/Intl/NumberFormat/unwrapping.js (100%) rename js/src/tests/{ecma/FunctionObjects => non262/Intl/PluralRules}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/call.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/construct-newtarget.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/negativeZeroFractionDigits.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/pluralrules.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/resolvedOptions-overridden-species.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/select.js (100%) rename js/src/tests/{ecma/Expressions => non262/Intl/PluralRules}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/PluralRules/supportedLocalesOf.js (100%) rename js/src/tests/{ => non262}/Intl/README.txt (100%) rename js/src/tests/{ecma/GlobalObject => non262/Intl/RelativeTimeFormat}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/RelativeTimeFormat/construct-newtarget.js (100%) rename js/src/tests/{ => non262}/Intl/RelativeTimeFormat/format.js (100%) rename js/src/tests/{ => non262}/Intl/RelativeTimeFormat/relativetimeformat.js (100%) rename js/src/tests/{ecma/FunctionObjects => non262/Intl/RelativeTimeFormat}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/RelativeTimeFormat/supportedLocalesOf.js (100%) rename js/src/tests/{ecma/GlobalObject => non262/Intl/String}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/String/toLocaleLowerCase.js (100%) rename js/src/tests/{ => non262}/Intl/String/toLocaleUpperCase.js (100%) rename js/src/tests/{ecma/LexicalConventions => non262/Intl/TypedArray}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/TypedArray/toLocaleString.js (100%) rename js/src/tests/{ecma/LexicalConventions => non262/Intl}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/duplicate-variants.js (100%) rename js/src/tests/{ecma/Math => non262/Intl/extensions}/browser.js (100%) rename js/src/tests/{ => non262}/Intl/extensions/options-value-emulates-undefined.js (100%) rename js/src/tests/{ecma/Math => non262/Intl/extensions}/shell.js (100%) rename js/src/tests/{ => non262}/Intl/fallback-symbol.js (100%) rename js/src/tests/{ => non262}/Intl/four-letter-language-codes.js (100%) rename js/src/tests/{ => non262}/Intl/getCalendarInfo.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales-overridden-arg-length.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales-overridden-push.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales-overridden-set.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales-overridden-species.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales-weird-cases.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales-with-duplicates.js (100%) rename js/src/tests/{ => non262}/Intl/getCanonicalLocales.js (100%) rename js/src/tests/{ => non262}/Intl/getDisplayNames.js (100%) rename js/src/tests/{ => non262}/Intl/getLocaleInfo.js (100%) rename js/src/tests/{ecma/NativeObjects => non262/Intl}/shell.js (100%) rename js/src/tests/{ecma/NativeObjects => non262/JSON}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/cyclic-stringify-unrelated.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/cyclic-stringify.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-arguments.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-array-gc.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-crockford-01.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-mega-huge-array.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-number-syntax.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-octal-syntax-error.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-primitives.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-reviver-array-delete.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-reviver.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-syntax-errors-01.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-syntax-errors-02.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse-syntax-errors-03.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/parse.js (100%) rename js/src/tests/{js1_8_1 => non262}/JSON/regress-458959.js (100%) rename js/src/tests/{js1_8_1 => non262}/JSON/regress-459293.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/small-codepoints.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-boxed-primitives.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-call-replacer-once.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-call-toJSON-once.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-dropping-elements.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-gap.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-ignore-noncallable-toJSON.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-large-replacer-array.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-missing-arguments.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-nonarray-noncallable-replacer.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-primitives.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-array-boxed-elements.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-array-duplicated-element.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-array-edgecase-jsid-elements.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-array-hijinks.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-array-skipped-element.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-array-trailing-holes.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer-with-array-indexes.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-replacer.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-special-escapes.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify-toJSON-arguments.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/stringify.js (100%) rename js/src/tests/{ecma_5 => non262}/JSON/trailing-comma.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/NaN-as-key.js (100%) rename js/src/tests/{ecma/Number => non262/Map}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/constructor-iterator-close.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/constructor-iterator-primitive.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/forEach-selfhosted-behavior.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/getter-name.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/iterable.js (100%) rename js/src/tests/{ecma/Number => non262/Map}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Map/symbols.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.1.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.13.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.16.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.17.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.18.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.2.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.3.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.4.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.5.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.7.js (100%) rename js/src/tests/{ecma => non262}/Math/15.8.2.8.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/20.2.2.ToNumber.js (100%) rename js/src/tests/{ecma_7 => non262}/Math/Pow.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/acosh-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/acosh-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/asinh-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/asinh-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/atanh-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/atanh-exact.js (100%) rename js/src/tests/{ecma/ObjectObjects => non262/Math}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/cbrt-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/cbrt-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/clz32.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/cosh-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/cosh-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/expm1-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/expm1-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/expm1-monotonicity.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/fround.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/log10-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/log10-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/log1p-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/log1p-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/log2-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/log2-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/sign.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/sinh-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/sinh-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/tanh-approx.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/tanh-exact.js (100%) rename js/src/tests/{ecma_6 => non262}/Math/trunc.js (100%) rename js/src/tests/{ecma => non262}/Number/0x-without-following-hexdigits.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/15.7.3.7-EPSILON.js (100%) rename js/src/tests/{ecma_5 => non262}/Number/15.7.4.2.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/20.1.2.10-MIN_SAFE_INTEGER.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/20.1.2.6-MAX_SAFE_INTEGER.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/20.1.3.2-toExponential.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/20.1.3.2-toPrecision.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/20.1.3.3-toFixed.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/ToNumber.js (100%) rename js/src/tests/{ecma/SourceText => non262/Number}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/Number/conversion-invalid-precision.js (100%) rename js/src/tests/{ecma_5 => non262}/Number/defaultvalue.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/isSafeInteger-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/parseFloat-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/parseInt-01.js (100%) rename js/src/tests/{ecma_6 => non262}/Number/parseInt-default-to-decimal.js (100%) rename js/src/tests/{ecma_3 => non262}/Number/regress-442242-01.js (100%) rename js/src/tests/{ecma/ObjectObjects => non262/Number}/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/Number/toString-radix-handling.js (100%) rename js/src/tests/{ecma_5 => non262}/Number/tonumber-string-hex.js (100%) rename js/src/tests/{ecma/Statements => non262/Promise}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/bug-1287334.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/bug-1288382.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/bug-1289040.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/dependent-promises.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/enqueue-promise-reactions.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/get-wait-for-all-promise.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/iterator-close.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/iterator-primitive.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/methods-non-enumerable.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/promise-all.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/promise-basics.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/promise-rejection-tracking.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/promise-species.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/promise-subclassing.js (100%) rename js/src/tests/{ecma_6 => non262}/Promise/self-resolve.js (100%) rename js/src/tests/{ecma/SourceText => non262/Promise}/shell.js (100%) rename js/src/tests/{ecma/String => non262/Proxy}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/getPrototypeOf.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/global-receiver.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/hasInstance.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/json-stringify-replacer-array-revocable-proxy.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/ownkeys-allowed-types.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/ownkeys-linear.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/ownkeys-trap-duplicates.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/proxy-__proto__.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/proxy-constructNonObject.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/proxy-for-in.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/proxy-no-receiver-overwrite.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/proxy-proto-lazy-props.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/proxy-with-revoked-arguments.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/regress-bug1037770.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/regress-bug1062349.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/regress-bug950407.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/revocable-proxy-prototype.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/revoke-as-side-effect.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/setPrototypeOf.js (100%) rename js/src/tests/{ecma/Statements => non262/Proxy}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Proxy/trap-null.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/apply.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/argumentsList.js (100%) rename js/src/tests/{ecma/TypeConversion => non262/Reflect}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/construct.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/defineProperty.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/deleteProperty.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/get.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/getOwnPropertyDescriptor.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/getPrototypeOf.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/has.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/isExtensible.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/ownKeys.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/preventExtensions.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/propertyKeys.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/set.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/setPrototypeOf.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/surfaces.js (100%) rename js/src/tests/{ecma_6 => non262}/Reflect/target.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/15.10.5-01.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/15.10.7.5-01.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/7.8.5-01.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/RegExpExec-exec.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/RegExpExec-return.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_dollar_number.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_lastMatch.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_lastMatch_as_array.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_lastParen.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_lastParen_as_array.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_leftContext.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_leftContext_as_array.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_object.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_rightContext.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/RegExp_rightContext_as_array.js (100%) rename js/src/tests/{ecma/Types => non262/RegExp}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/character-class-escape-s.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/character-escape-class-s-mongolian-vowel-separator.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/class-null.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/compile-lastIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/compile-symbol.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-IsRegExp.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-constructor.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-ordering-2.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-ordering.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-regexp-unicode.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-regexp.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/constructor-symbol.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/descriptor.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/empty-lookahead.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/escape.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/exec-lastIndex-ToInteger.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/exec-lastIndex-negative.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/exec.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/flag-accessors.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/flags-param-handling.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/flags.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/getter-name.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/ignoreCase-multiple.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/ignoreCase-non-latin1-to-latin1.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/instance-property-storage-introspection.js (100%) rename js/src/tests/{ecma_2017 => non262}/RegExp/lastIndex-exec.js (100%) rename js/src/tests/{ecma_2017 => non262}/RegExp/lastIndex-match-or-replace.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/lastIndex-nonwritable.js (100%) rename js/src/tests/{ecma_2017 => non262}/RegExp/lastIndex-search.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/match-local-tolength-recompilation.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/match-this.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/match-trace.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/match.js (100%) rename js/src/tests/{ecma_2018 => non262}/RegExp/prototype-different-global.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/prototype.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regexp-space-character-class.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-100199.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-105972.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-119909.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-122076.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-123437.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-165353.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-169497.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-169534.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-187133.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-188206.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-191479.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-202564.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-209067.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-209919.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-216591.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-220367-001.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-223273.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-223535.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-224676.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-225289.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-225343.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-24712.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-285219.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-28686.js (100%) rename js/src/tests/{ecma_3_1 => non262}/RegExp/regress-305064.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-307456.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-309840.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-312351.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-31316.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-330684.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-334158.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-346090.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-367888.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375642.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375651.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375711.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375715-01-n.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375715-02.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375715-03.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-375715-04.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regress-429241.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-436700.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-465862.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-57572.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-57631.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regress-576828.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regress-613820-1.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regress-613820-2.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regress-613820-3.js (100%) rename js/src/tests/{ecma_5 => non262}/RegExp/regress-617935.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/regress-6359.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-67773.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-72964.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-76683.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-78156.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-85721.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-87231.js (100%) rename js/src/tests/{js1_2/regexp => non262/RegExp}/regress-9141.js (100%) rename js/src/tests/{ecma_3 => non262}/RegExp/regress-98306.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-compile-elembase.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-compile.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-global-unicode.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-local-tolength-lastindex.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-local-tolength-recompilation.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-sticky-lastIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-sticky.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-this.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-trace.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace-twoBytes.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/replace.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/search-this.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/search-trace.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/search.js (100%) create mode 100644 js/src/tests/non262/RegExp/shell.js rename js/src/tests/{ecma_6 => non262}/RegExp/source.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-deleted-flags.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-flags-on-obj.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-invalid-lastIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-limit.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-obj.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-prop-access.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-this.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split-trace.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/split.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/sticky.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/test-emptyMatch.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/test-trailing.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/toString.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-back-reference.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-braced.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-character-class-escape.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-braced.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-empty.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-ignoreCase.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-lead-trail.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-negated.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-range.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-class-raw.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-disallow-extended.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-everything.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-ignoreCase-ascii.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-ignoreCase-escape.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-ignoreCase-negated.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-ignoreCase-word-boundary.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-ignoreCase.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-index.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-lead-trail.js (100%) rename js/src/tests/{ecma_6 => non262}/RegExp/unicode-raw.js (100%) rename js/src/tests/{js1_7/regexp => non262/RegExp}/yflag.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/ToSource.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/binary-operations.js (100%) rename js/src/tests/{ecma => non262/SIMD}/browser.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/bug1023145.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/bug953270.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/check.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/comparisons.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/constructors.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/conversions.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/float64x2-arithmetic.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/load-floats.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/load-int16x8.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/load-int32x4.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/load-int8x16.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/load-sab-buffer-compat.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/load-unsigned-integers.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/minmax.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/replaceLane.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/select-bitselect.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/shell.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/shifts.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/splat.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/store.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/swizzle-shuffle.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/toString.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/typedobjects.js (100%) rename js/src/tests/{ecma_7 => non262}/SIMD/unary-operations.js (100%) rename js/src/tests/{ecma/extensions => non262/Scope}/browser.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-154693.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-181834.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-184107.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-185485.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-191276.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-192226.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-202678-001.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-202678-002.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-208496-001.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-208496-002.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-220362.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-446026-01.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-446026-02.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/regress-77578-001.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/scope-002.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/scope-003.js (100%) rename js/src/tests/{js1_5 => non262}/Scope/scope-004.js (100%) rename js/src/tests/{ecma/String => non262/Scope}/shell.js (100%) rename js/src/tests/{ecma_2/Exceptions => non262/Script}/browser.js (100%) rename js/src/tests/{js1_3 => non262}/Script/delete-001.js (100%) rename js/src/tests/{js1_3 => non262}/Script/function-002.js (100%) rename js/src/tests/{js1_3 => non262}/Script/in-001.js (100%) rename js/src/tests/{js1_3 => non262}/Script/new-001.js (100%) rename js/src/tests/{ecma/TypeConversion => non262/Script}/shell.js (100%) rename js/src/tests/{js1_3 => non262}/Script/switch-001.js (100%) rename js/src/tests/{ecma_6 => non262}/Set/NaN-as-key.js (100%) rename js/src/tests/{ecma_2/Expressions => non262/Set}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Set/forEach-selfhosted-behavior.js (100%) rename js/src/tests/{ecma_6 => non262}/Set/getter-name.js (100%) rename js/src/tests/{ecma/Types => non262/Set}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Set/symbols.js (100%) rename js/src/tests/{ecma_5 => non262}/String/15.5.4.11-01.js (100%) rename js/src/tests/{ecma_5 => non262}/String/15.5.4.2.js (100%) rename js/src/tests/{ecma_5 => non262}/String/15.5.4.7.js (100%) rename js/src/tests/{ecma_6 => non262}/String/AdvanceStringIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/String/IsRegExp.js (100%) rename js/src/tests/{ecma_2/FunctionObjects => non262/String}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/String/codePointAt.js (100%) rename js/src/tests/{ecma_5 => non262}/String/defaultvalue.js (100%) rename js/src/tests/{ecma_6 => non262}/String/fromCodePoint.js (100%) rename js/src/tests/{js1_6 => non262}/String/generics-deprecated.js (100%) rename js/src/tests/{js1_6 => non262}/String/generics.js (100%) rename js/src/tests/{ecma_6 => non262}/String/internalUsage.js (100%) rename js/src/tests/{ecma_6 => non262}/String/iterator_edge_cases.js (100%) rename js/src/tests/{ecma => non262}/String/lastIndexOf-ToNumber-when-searchStr-larger-than-string.js (100%) rename js/src/tests/{ecma_6 => non262}/String/make-normalize-generateddata-input.py (95%) rename js/src/tests/{ecma_6 => non262}/String/match-GetMethod.js (100%) rename js/src/tests/{ecma_5 => non262}/String/match-defines-match-elements.js (100%) rename js/src/tests/{ecma_5 => non262}/String/match-forward-lookahead.js (100%) rename js/src/tests/{ecma_5 => non262}/String/match-throws-nonwritable-lastIndex-global.js (100%) rename js/src/tests/{ecma_5 => non262}/String/match-updates-global-lastIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/String/match.js (100%) rename js/src/tests/{ecma_6 => non262}/String/normalize-form-non-atom.js (100%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generateddata-input.js (100%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generateddata-part0.js (88%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generateddata-part1-not-listed.js (94%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generateddata-part1.js (88%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generateddata-part2.js (88%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generateddata-part3.js (88%) rename js/src/tests/{ecma_6 => non262}/String/normalize-generic.js (100%) rename js/src/tests/{ecma_6 => non262}/String/normalize-parameter.js (100%) rename js/src/tests/{ecma_6 => non262}/String/normalize-rope.js (100%) rename js/src/tests/{ecma_6 => non262}/String/raw.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-104375.js (100%) rename js/src/tests/{js1_5 => non262}/String/regress-107771.js (100%) rename js/src/tests/{js1_5 => non262}/String/regress-112626.js (100%) rename js/src/tests/{js1_5 => non262}/String/regress-179068.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-189898.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-304376.js (100%) rename js/src/tests/{js1_8_1 => non262}/String/regress-305064.js (100%) rename js/src/tests/{js1_6 => non262}/String/regress-306591.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-313567.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-369778.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-392378.js (100%) rename js/src/tests/{ecma_3 => non262}/String/regress-83293.js (100%) rename js/src/tests/{ecma_6 => non262}/String/replace-GetMethod.js (100%) rename js/src/tests/{js1_5 => non262}/String/replace-flags.js (100%) rename js/src/tests/{ecma_5 => non262}/String/replace-math.js (100%) rename js/src/tests/{ecma_5 => non262}/String/replace-throws-nonwritable-lastIndex-global.js (100%) rename js/src/tests/{ecma_5 => non262}/String/replace-updates-global-lastIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/String/replace.js (100%) rename js/src/tests/{ecma_6 => non262}/String/search-GetMethod.js (100%) rename js/src/tests/{ecma_6 => non262}/String/search.js (100%) rename js/src/tests/{ecma_6 => non262}/String/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/String/split-01.js (100%) rename js/src/tests/{ecma_6 => non262}/String/split-GetMethod.js (100%) rename js/src/tests/{ecma_6 => non262}/String/split-order.js (100%) rename js/src/tests/{ecma_5 => non262}/String/split-undefined-separator.js (100%) rename js/src/tests/{ecma_5 => non262}/String/split-xregexp.js (100%) rename js/src/tests/{ecma_6 => non262}/String/split.js (100%) rename js/src/tests/{ecma_6 => non262}/String/string-code-point-upper-lower-mapping.js (100%) rename js/src/tests/{ecma_5 => non262}/String/string-object-length.js (100%) rename js/src/tests/{ecma_7 => non262}/String/string-pad-start-end.js (100%) rename js/src/tests/{ecma_5 => non262}/String/string-space-trim.js (100%) rename js/src/tests/{ecma_5 => non262}/String/string-upper-lower-mapping.js (100%) rename js/src/tests/{ecma_6 => non262}/String/unicode-braced.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/as-base-value.js (100%) rename js/src/tests/{ecma_2/LexicalConventions => non262/Symbol}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/comparisons.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/constructor.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/conversions.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/enumeration-order.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/enumeration.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/equality.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/errors.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/for-in-order.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/for.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/json-stringify-keys.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/json-stringify-values.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/keyFor.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/property-accessor.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/property-basics.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/property-inheritance.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/property-nonwritable.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/property-reflection.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/realms.js (100%) rename js/src/tests/{ecma/extensions => non262/Symbol}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/species.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/surfaces.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/symbol-object-not-unboxed-for-value-to-id.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/toPrimitive-undefined-or-null.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/toPrimitive.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/toString.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/toStringTag.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/typed-arrays.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/typeof.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/valueOf.js (100%) rename js/src/tests/{ecma_6 => non262}/Symbol/well-known.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/Tconstructor-fromTypedArray-byteLength.js (100%) rename js/src/tests/{ecma_2/RegExp => non262/TypedArray}/browser.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-ArrayBuffer-species-wrap.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-ArrayBuffer-species.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-buffer-sequence.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-byteoffsets-bounds.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-generator.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-modified-array-iterator-next.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-modified-array-iterator.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-nonpacked-array.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-not-callable.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-packed-array-side-effect.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-packed-array.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterable-undefined-or-null.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-iterator-primitive.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-length-too-large.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-non-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-not-callable.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-typedarray-species-other-global.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor-undefined-args.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/constructor_bad-args.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/detached-array-buffer-checks.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/element-setting-converts-using-ToNumber.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/entries.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/every-and-some.js (100%) rename js/src/tests/{ecma_2018 => non262}/TypedArray/fill-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/fill.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/filter-species.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/filter-validation.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/find-and-findIndex.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/forEach.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/from-iterable-validation.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/from-non-iterable-validation.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_basics.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_constructor.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_errors.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_iterable.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_mapping.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_realms.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_string.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_surfaces.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/from_this.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/getter-name.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/has-property-op.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/includes.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/indexOf-and-lastIndexOf.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/indexOf-never-returns-negative-zero.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/iterator-next-with-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/iterator.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/join.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/keys.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/lastIndexOf-never-returns-negative-zero.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/length.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/map-and-filter.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/map-species.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/map-validation.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/object-defineproperty.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/of-validation.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/of.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/prototype-constructor-identity.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/reduce-and-reduceRight.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/reverse.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/seal-and-freeze.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set-negative-offset.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set-same-buffer-different-source-target-types.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set-tointeger.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set-toobject.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set-wrapped.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/set.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/slice-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/slice-species.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/slice-validation.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/slice.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort-negative-nan.js (100%) rename js/src/tests/{ecma_2018 => non262}/TypedArray/sort-non-function.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_basics.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_byteoffset.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_comparators.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_errors.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_globals.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_small.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sort_snans.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/sorting_buffer_access.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/subarray-species.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedArray/subarray-validation.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/subarray.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/test-integrity-level-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/test-integrity-level.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/toLocaleString-detached.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/toLocaleString-nointl.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/toLocaleString.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/toString.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/uint8clamped-constructor.js (100%) rename js/src/tests/{ecma_6 => non262}/TypedArray/values.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/architecture.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/arraybuffer_isview.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/arrayequiv.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/arrayofstructs.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/arraytype.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/arrayzerolen.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/atopbuffer.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/atopbufferwithoffset.js (100%) rename js/src/tests/{ecma_2/Statements => non262/TypedObject}/browser.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/map-neutered-midway.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/memory.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/method_build.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/method_filter.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/method_from.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/method_map.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/method_reduce.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/numerictypes.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/objecttype.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/redimension.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/referencetypealiasing.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/referencetypecoercions.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/referencetypemultiple.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/referencetypetrace.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/referencetypeuninit.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/scalar_types.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/shell.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/simpleequiv.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/size_and_alignment.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/storageopaque.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structequiv.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structtypeenumerate.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structtypegetownproperty.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structtypeindexedfields.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structtypeprototype.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structtypereflection.js (100%) rename js/src/tests/{ecma_7 => non262}/TypedObject/structtypestructuralassign.js (100%) rename js/src/tests/{ecma_2/String => non262/Unicode}/browser.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/regress-352044-01.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/regress-352044-02-n.js (100%) rename js/src/tests/{ecma_2/Exceptions => non262/Unicode}/shell.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/uc-001-n.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/uc-002-n.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/uc-002.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/uc-003.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/uc-004.js (100%) rename js/src/tests/{ecma_3 => non262}/Unicode/uc-005.js (100%) rename js/src/tests/{ecma_2 => non262/WeakMap}/browser.js (100%) rename js/src/tests/{ecma_2/Expressions => non262/WeakMap}/shell.js (100%) rename js/src/tests/{ecma_6 => non262}/WeakMap/symbols.js (100%) rename js/src/tests/{ecma_6/ArrowFunctions => non262/arrow-functions}/arrow-not-as-end-of-statement.js (100%) rename js/src/tests/{ecma_6/ArrowFunctions => non262/arrow-functions}/arrow-returning-arrow-with-block-body-followed-by-regexp.js (100%) rename js/src/tests/{ecma_2/extensions => non262/arrow-functions}/browser.js (100%) rename js/src/tests/{ecma_2/FunctionObjects => non262/arrow-functions}/shell.js (100%) rename js/src/tests/{ecma_6/ArrowFunctions => non262/arrow-functions}/yield-in-arrow.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/BoundNames.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/EarlyErrors.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/ErrorStack.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/arguments_callee.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/async-contains-unicode-escape.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/async-function-declaration-in-modules.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/async-property-name-error.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/await-error.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/await-in-arrow-parameters.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/await-newline.js (100%) rename js/src/tests/{ecma_2/instanceof => non262/async-functions}/browser.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/clone.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/construct-newtarget.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/constructor.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/cover-init-name-syntax.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/create-function-parse-before-getprototype.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/duplicate-__proto__.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/forbidden-as-consequent.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/identity.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/inner-caller.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/length.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/methods.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/no-expression-closure.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/properties.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/property.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/semantics.js (100%) rename js/src/tests/{ecma_2/LexicalConventions => non262/async-functions}/shell.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/subclass.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/syntax-arrow.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/syntax-modules.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/syntax.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/toSource.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/toString.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/async-functions}/yield.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262}/browser.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/boundFunctionSubclassing.js (100%) rename js/src/tests/{ecma_2017/Expressions => non262/class}/browser.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/bytecodePatternMatching.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/classConstructorNoCall.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/classHeritage.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/className.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/classPrototype.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/compPropDestr.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/compPropNames.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/constructorCalled.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/defaultConstructorBase.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/defaultConstructorDerivedSpread.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/defaultConstructorNotCallable.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalBinding.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalClosed.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalEscape.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalEscapeUninitialized.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalGetThis.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalNestedSuperCall.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorArrowEvalSuperCall.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorInlining.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorName.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorReturnPrimitive.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorTDZExplicitThis.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorTDZOffEdge.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorTDZReturnAliasedTry.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorTDZReturnObject.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorTDZReturnTry.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/derivedConstructorTDZReturnUndefined.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/extendBuiltinConstructors.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/geterNoExprClosure.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/innerBinding.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/member-expr-after-super.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/methDefn.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/methDefnGen.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/method-named-static.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/methodInstallation.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/methodName.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/methodOverwrites.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/methodsPrototype.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetArgumentsIntact.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetArrow.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetBound.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetCCW.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetDVG.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetDefaults.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetDirectInvoke.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetEval.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetGenerators.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetMethods.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetNonFunction.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/newTargetProxyNative.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/outerBinding.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/parenExprToString.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/shell.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/staticConstructor.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/staticMethods.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/strictExecution.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/stringConstructor.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/subclassedArrayUnboxed.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallBadDynamicSuperClass.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallBadNewTargetPrototype.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallBaseInvoked.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallIllegal.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallInvalidBase.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallOrder.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallProperBase.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallSpreadCall.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superCallThisInit.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropBasicCalls.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropBasicChain.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropBasicGetter.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropBasicNew.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropChains.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropDVG.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropDelete.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropDerivedCalls.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropDestructuring.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropEvalInsideArrow.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropEvalInsideNested.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropFor.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropHeavyweightArrow.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropHomeObject.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropIncDecElem.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropLazyInnerFunction.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropNoOverwriting.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropOrdering.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropProtoChanges.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropProxies.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropSkips.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropStatics.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superPropStrictAssign.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/superThisStrictNoBoxing.js (100%) rename js/src/tests/{ecma_6/Class => non262/class}/uninitializedThisError.js (100%) rename js/src/tests/{ecma_2017/Function => non262/comprehensions}/browser.js (100%) rename js/src/tests/{ecma_2/RegExp => non262/comprehensions}/shell.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/array-default-class.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/array-iterator-close.js (100%) rename js/src/tests/{ecma_2017/RegExp => non262/destructuring}/browser.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/bug1396261.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/constant-folding.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/cover-init-name-syntax.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/duplicate-__proto__.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/iterator-primitive.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/order-super.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/order.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/rest-parameter-aray-iterator.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/rest-parameter-arguments.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/rest-parameter-function-length.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/rest-parameter-spread-call-optimization.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/rest-parameter-syntax.js (100%) rename js/src/tests/{ecma_7/Destructuring => non262/destructuring}/rest-parameter.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/rest-with-trailing-comma.js (100%) rename js/src/tests/{ecma_2/Statements => non262/destructuring}/shell.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/yield-in-object-destr-function.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/yield-in-object-destr-generator.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/yield-in-object-destr-script.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/yield-with-escape-in-object-destr-function.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/yield-with-escape-in-object-destr-generator.js (100%) rename js/src/tests/{ecma_6/Destructuring => non262/destructuring}/yield-with-escape-in-object-destr-script.js (100%) rename js/src/tests/{js1_4/Eval/regress-531682.js => non262/ev} (100%) rename js/src/tests/{ecma_2017/Statements => non262/eval}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-normalcaller-direct-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-normalcaller-direct-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-normalcaller-indirect-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-normalcaller-indirect-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-strictcaller-direct-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-strictcaller-direct-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-strictcaller-indirect-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-fun-strictcaller-indirect-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-normalcaller-direct-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-normalcaller-direct-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-normalcaller-indirect-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-normalcaller-indirect-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-strictcaller-direct-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-strictcaller-direct-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-strictcaller-indirect-normalcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/exhaustive-global-strictcaller-indirect-strictcode.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/line-terminator-paragraph-terminator.js (100%) rename js/src/tests/{ecma_2/String => non262/eval}/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/eval/undeclared-name-in-nested-strict-eval.js (100%) rename js/src/tests/{ecma_2017 => non262/execution-contexts}/browser.js (100%) rename js/src/tests/{ecma_3/ExecutionContexts => non262/execution-contexts}/regress-23346.js (100%) rename js/src/tests/{ecma_3/ExecutionContexts => non262/execution-contexts}/regress-448595-01.js (100%) rename js/src/tests/{ecma_2/extensions => non262/execution-contexts}/shell.js (100%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/11.1.5-01.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/ToPropertyKey-symbols.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/binary-literals.js (100%) rename js/src/tests/{ecma_2018/Array => non262/expressions}/browser.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/computed-property-side-effects.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/delete-constant-folded-and-or.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/delete-name-parenthesized-early-error-strict-mode.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-default-call.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-default-class.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-default-function-nested.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-default-function.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-default-simple.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-default-yield.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-done.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-array-lexical.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/destructuring-pattern-parenthesized.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/destructuring-scope.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/inNotObjectError.js (100%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/named-accessor-function.js (100%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/nested-delete-name-in-evalcode.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/object-literal-__proto__.js (100%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/object-literal-accessor-arguments.js (100%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/object-literal-accessor-property-name.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/object-literal-computed-property-evaluation.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/octal-literals.js (100%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/primitive-this-boxing-behavior.js (100%) rename js/src/tests/{js1_5/Expressions => non262/expressions}/regress-192288.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/regress-346203.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/regress-346645-01.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/regress-346645-02.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/regress-346645-03.js (100%) rename js/src/tests/{js1_5/Expressions => non262/expressions}/regress-394673.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/regress-418051.js (100%) rename js/src/tests/{js1_7 => non262}/expressions/regress-451340.js (100%) rename js/src/tests/{js1_5/Expressions => non262/expressions}/regress-96526-argsub.js (100%) rename js/src/tests/{js1_5/Expressions => non262/expressions}/regress-96526-delelem.js (100%) rename js/src/tests/{js1_5/Expressions => non262/expressions}/regress-96526-noargsub.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/shell.js (58%) rename js/src/tests/{ecma_5/Expressions => non262/expressions}/string-literal-escape-sequences.js (100%) rename js/src/tests/{ecma_6/Expressions => non262/expressions}/tagged-template-constant-folding.js (100%) rename js/src/tests/{ecma_2017/Expressions => non262/expressions}/trailing_comma_arguments.js (100%) rename js/src/tests/{ecma_2017/Expressions => non262/expressions}/trailing_comma_arrow.js (100%) rename js/src/tests/{ecma_2017/Expressions => non262/expressions}/trailing_comma_getter_setter.js (100%) rename js/src/tests/{ecma_2017/Expressions => non262/expressions}/trailing_comma_parameters.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/15.9.4.2.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/8.12.5-01.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/ArrayBuffer-slice-arguments-detaching.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/Boolean-toSource.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/DataView-construct-arguments-detaching.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/DataView-set-arguments-detaching.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/Number-toSource.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/RegExp-replace-lastParen.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/String-match-flags.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/String-methods-infinite-recursion.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/String-toSource.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/TypedArray-set-object-funky-length-detaches.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/TypedArray-subarray-arguments-detaching.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/__proto__.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/arguments-property-access-in-function.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/array-inherited-__proto__.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/array-isArray-proxy-recursion.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/array-length-protochange.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/array-pop-proxy.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/array-toString-recursion.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/arraybuffer-prototype.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/arrow-as-end-of-expression-closure.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/basic-for-each.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/basic-for-in.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/bug472534.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/bug496985.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/bug566661.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/builtin-function-arguments-caller.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/censor-strict-caller.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-complex-object.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-errors.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-forge.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-leaf-object.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-many-transferables.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-object-deep.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-object.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-regexp.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-sab-failure.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-sab-leak.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-sab.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-simple.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-transferables.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-typed-array.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-v1-typed-array-data.dat (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/clone-v1-typed-array.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/collect-gray.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/column-numbers.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/cross-global-eval-is-indirect.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/cross-global-getPrototypeOf.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/dataview.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/decompile-for-of.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/dekker.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/destructure-accessor.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/destructuring-__proto__-shorthand-assignment-before-var.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/destructuring-__proto__-shorthand-assignment.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/destructuring-__proto__-target-assignment.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/destructuring-for-inof-__proto__.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/destructuring-order.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/element-setting-ToNumber-detaches.js (100%) rename js/src/tests/{ecma_2/instanceof/shell.js => non262/extensions/empty.txt} (100%) rename js/src/tests/{ecma_5 => non262}/extensions/error-tostring-function.js (100%) rename js/src/tests/{ecma => non262}/extensions/errorcolumnblame.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/es5ish-defineGetter-defineSetter.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/eval-native-callback-is-indirect.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/expclo.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/expclo2.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/expression-closure-syntax.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/extension-methods-reject-null-undefined-this.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/file-mapped-arraybuffers.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/file-mapped-arraybuffers.txt (100%) rename js/src/tests/{ecma_6 => non262}/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/function-caller-skips-eval-frames.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/function-caller-strict-cross-global.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/function-definition-with.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/function-properties.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/getOwnPropertyNames-__proto__.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/getset-001.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/getset-003.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/getset-004.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/getset-005.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/getset-006.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/inc-dec-functioncall.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/keyword-unescaped-requirement-modules.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/keyword-unescaped-requirement.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/misplaced-inconsistent-directive.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/mutable-proto-special-form.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/nested-delete-name-in-evalcode.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/new-cross-compartment.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/new-parenthesization.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/newer-type-functions-caller-arguments.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/non_syntactic.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/object-toSource-undefined-getter.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/object-toSource-with-symbol-keys.js (100%) rename js/src/tests/{ecma_7 => non262}/extensions/parse-rest-destructuring-parameter.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/peterson.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/preventExtensions-cross-global.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/proxy-array-target-length-definition.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/proxy-enumeration.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/proxy-proto-setter.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/proxy-strict.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/recursion.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/redeclaration-of-catch-warning.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/reentrant-RegExp-creation-and-gc-during-new-RegExp-pattern-ToString.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-103087.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-104077.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-178722.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-188206-01.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-188206-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-192465.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-220367-002.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-225831.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-226078.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-226507.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-228087.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-231518.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-237461.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-245148.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-245795.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-254375.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-255245.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-274152.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-291213.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-300079.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-304897.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-306738.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-311161.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-311583.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-311792-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-311792-02.js (100%) rename js/src/tests/{js1_6 => non262}/extensions/regress-312385-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-313763.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-313803.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-313938.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-314874.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-315509-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-319683.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-320854.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-322957.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-327170.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-327608.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-328443.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-328556.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-330569.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-333541.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-336409-1.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-336409-2.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-336410-1.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-336410-2.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-338804-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-338804-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-338804-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-339685.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-341956-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-341956-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-341956-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-342960.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-345967.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-346642-06.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-346773.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-350312-01.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-350312.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-351070-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-351448.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-351463-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-351973.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-352291.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-352372.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-352604.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-352797-01.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-353116.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-353214-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-354297.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-354541-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-354541-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-354541-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-354541-04.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-355052-01.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-355052-02.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-355052-03.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-355410.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-355497.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-355655.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-355820.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-355982.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-356402.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-358594-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-358594-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-358594-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-358594-04.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-358594-05.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-358594-06.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-359024.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-363040-01.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-363040-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-363258.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-363988.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-365527.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-365692.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-365869.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-366288.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-366292.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-366396.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-366668-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367118-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367118-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367119-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367119-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367120-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367120-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367121.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367501-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367501-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367501-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367501-04.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-367589.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-367629.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-368213.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-368224.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-368516.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-369404.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-369696-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-369696-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-369696-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-372309.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-375183.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-375344.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-375801.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-379566.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-380581.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-380889.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-380933.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-381211.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-381301.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-381303.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-381304.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-385393-02.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-385393-03.js (100%) rename js/src/tests/{js1_6 => non262}/extensions/regress-385393-08.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-385729.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-390598.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-394967.js (100%) rename js/src/tests/{js1_7/extensions/regress-396326.js => non262/extensions/regress-396326-01.js} (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-396326.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-406572.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-407501.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-407720.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-412926.js (100%) rename js/src/tests/{js1_6 => non262}/extensions/regress-414098.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-414755.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-415721.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-416354.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-416460.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-416834.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-417131.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-417817.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-419091.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-420869-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-422592.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-424683-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-426711.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-427196-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-427196-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-427196-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-429739.js (100%) rename js/src/tests/{ecma_3 => non262}/extensions/regress-430740.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-434837-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-435497-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-435497-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-435497-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-436741.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-437288-01.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-44009.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-443569.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-445818.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-446169-01.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-446169-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-446386.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-452168.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-452178.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-452329.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-452338.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-452498-162.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-452498-196.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-452565.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-452913.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-453249.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-454704.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-454744.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-455380.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-455408.js (100%) rename js/src/tests/{js1_6 => non262}/extensions/regress-456826.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-458679.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-459606.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-462734-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-462734-03.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-462734-04.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-465276.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-465337.js (100%) rename js/src/tests/{js1_6 => non262}/extensions/regress-465443.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-465453.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-466905-04.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-466905-05.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-469234.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-469405-01.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-469405-02.js (100%) rename js/src/tests/{js1_8/extensions/regress-469625.js => non262/extensions/regress-469625-01.js} (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-469625.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-469761.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-470300-01.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-470300-02.js (100%) rename js/src/tests/{js1_6 => non262}/extensions/regress-470310.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-471197.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-472450-03.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-472450-04.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-472599.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-473040.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-474771-01.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-474771-02.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-475971.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-476414-01.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-476414-02.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-476447.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-476653.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-476869.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-477158.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/regress-477187.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-479252.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-479381.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-479487.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-479551.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-480579.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-481516.js (100%) rename js/src/tests/{js1_8 => non262}/extensions/regress-482263.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-50447-1.js (97%) rename js/src/tests/{js1_5 => non262}/extensions/regress-543839.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/regress-558541.js (100%) rename js/src/tests/{js1_7 => non262}/extensions/regress-591450.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/regress-636818.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/regress-645160.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/regress-650753.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/regress-696109.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-90596-001.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-90596-002.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-96284-001.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/regress-96284-002.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/regress-bug567606.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/regress-bug607284.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/regress-bug629723.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/reviver-mutates-holder-array-ccw.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/reviver-mutates-holder-array-nonnative.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/reviver-mutates-holder-array.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/reviver-mutates-holder-object-ccw.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/reviver-mutates-holder-object-nonnative.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/reviver-mutates-holder-object.js (100%) rename js/src/tests/{js1_5 => non262}/extensions/scope-001.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/selfhosted-detecting-strict.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/set-property-non-extensible.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/setImmutablePrototype.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/shareddataview.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/sharedtypedarray.js (100%) create mode 100644 js/src/tests/non262/extensions/shell.js rename js/src/tests/{js1_8 => non262}/extensions/simple-tree.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/sps-generators.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/strict-function-toSource.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/strict-option-redeclared-parameter.js (100%) rename js/src/tests/{js1_8_1 => non262}/extensions/strict-warning.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/string-literal-getter-setter-decompilation.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/symbol-uneval.js (100%) rename js/src/tests/{ecma_6 => non262/extensions}/toLength.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/toLocaleString-infinite-recursion.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/toSource-0.js (100%) rename js/src/tests/{ecma_5 => non262}/extensions/toSource-infinite-recursion.js (100%) rename js/src/tests/{ecma_6 => non262}/extensions/too-many-arguments-constructing-bound-function.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/typedarray-copyWithin-arguments-detaching.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/typedarray-set-neutering.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/typedarray-subarray-of-subarray.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/typedarray.js (100%) rename js/src/tests/{js1_8_5 => non262}/extensions/weakmap.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/326466-01.js (100%) rename js/src/tests/{ecma_2018/AsyncGenerators => non262/generators}/browser.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/construct-newtarget.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/create-function-parse-before-getprototype.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-1.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-10.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-11.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-12.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-2.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-3.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-4.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-5.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-6.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-7.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-8.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/delegating-yield-9.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/fibonacci-matrix-generator.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/forbidden-as-consequent.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/gen-with-call-obj.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/iteration.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/iterator-next-non-object.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/iterator-toString.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/nested-yield.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/objects.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/pi-generator.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/properties.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-345855.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-345879-01.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-349362.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-349851.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-350809.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-351120.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-359062.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-366941.js (100%) rename js/src/tests/{js1_8/genexps => non262/generators}/regress-384991.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/regress-466206.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/return-finally.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/runtime.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/shell.js (100%) rename js/src/tests/{js1_7/geniter => non262/generators}/simple-fib.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/subclass.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/syntax.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/yield-error.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/yield-iterator-close.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/yield-non-regexp.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/yield-star-iterator-close.js (100%) rename js/src/tests/{ecma_6/Generators => non262/generators}/yield-star-iterator-primitive.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/get-set}/browser.js (100%) rename js/src/tests/{js1_5/GetSet => non262/get-set}/getset-002.js (100%) rename js/src/tests/{js1_5/GetSet => non262/get-set}/regress-375976.js (100%) rename js/src/tests/{ecma_2 => non262/get-set}/shell.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/adding-global-var-nonextensible-error.js (100%) rename js/src/tests/{ecma_2018/RegExp => non262/global}/browser.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/bug-320887.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/bug660612.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/cross-global-implicit-this.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/decodeURI-decodes-FFFE-FFFF.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/delete-global-NaN-property.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/direct-eval-but-not.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/eval-01.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/eval-02.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/eval-in-strict-eval-in-normal-function.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/eval-inside-with-is-direct.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/eval-native-callback-is-indirect.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/parenthesized-eval-is-direct.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/parseFloat-01.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/parseInt-01.js (100%) rename js/src/tests/{ecma_5/Global => non262/global}/parseInt-default-to-decimal.js (100%) rename js/src/tests/{ecma_2017/AsyncFunctions => non262/global}/shell.js (100%) rename js/src/tests/{ecma_2018/Syntax => non262/iterable}/browser.js (100%) rename js/src/tests/{js1_7 => non262}/iterable/regress-340526-01.js (100%) rename js/src/tests/{js1_7 => non262}/iterable/regress-341815.js (100%) rename js/src/tests/{js1_7 => non262}/iterable/regress-341821.js (100%) rename js/src/tests/{js1_7 => non262}/iterable/regress-355075-01.js (100%) rename js/src/tests/{js1_7 => non262}/iterable/regress-415922.js (100%) rename js/src/tests/{ecma_2017/Expressions => non262/iterable}/shell.js (100%) rename js/src/tests/{ecma_2018/TypedArray => non262/jit}/browser.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/math-jit-tests.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-451673.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-451974-01.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-451974-02.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-452498-01.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-458838.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-469927.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-470739.js (100%) rename js/src/tests/{js1_8_1 => non262}/jit/regress-489682.js (100%) rename js/src/tests/{ecma_2017/Function => non262/jit}/shell.js (100%) rename js/src/tests/{ecma_2018 => non262/lexical-conventions}/browser.js (100%) rename js/src/tests/{js1_5/LexicalConventions => non262/lexical-conventions}/lexical-001.js (100%) rename js/src/tests/{js1_5/LexicalConventions => non262/lexical-conventions}/regress-177314.js (100%) rename js/src/tests/{js1_5/LexicalConventions => non262/lexical-conventions}/regress-469940.js (100%) rename js/src/tests/{ecma_2017/RegExp => non262/lexical-conventions}/shell.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-arguments.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-eval.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-generators.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-if.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-label.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-notapplicable.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-parameter.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-property.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-same-name.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b-with.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-annex-b.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-deprecated-redecl.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-hoisted-tdz.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/block-scoped-functions-strict.js (100%) rename js/src/tests/{ecma_3/Array => non262/lexical-environment}/browser.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/bug-1216623.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/catch-body.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/const-declaration-in-for-loop.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/eval-has-lexical-environment.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/eval-nondefinable-function.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/for-loop-with-bindings-added-at-runtime.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/for-loop.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/implicit-this-in-with.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/nondefinable-function-same-script.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/redeclaring-global-properties.js (100%) rename js/src/tests/{ecma_2017/Statements => non262/lexical-environment}/shell.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-basics.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-closures.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-const.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-delete.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-getters.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-global.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-ignored.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-miss.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-mutation-frozen.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-mutation.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-proto.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-proxy.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-strict.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/unscopables-tdz.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/var-in-catch-body-annex-b-eval-destructuring.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/var-in-catch-body-annex-b-eval-for-of.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/var-in-catch-body-annex-b-eval.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/var-in-catch-body-annex-b.js (100%) rename js/src/tests/{ecma_6/LexicalEnvironment => non262/lexical-environment}/with-global-ignores-global-let-variables.js (100%) rename js/src/tests/{ecma_3/Date => non262/lexical}/browser.js (100%) rename js/src/tests/{js1_7 => non262}/lexical/regress-336376-01.js (100%) rename js/src/tests/{js1_7 => non262}/lexical/regress-346642-04.js (100%) rename js/src/tests/{js1_7 => non262}/lexical/regress-351515.js (100%) rename js/src/tests/{ecma_2017 => non262/lexical}/shell.js (100%) rename js/src/tests/{ecma_3/Exceptions => non262/misc}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/bug1126318.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/builtin-methods-reject-null-undefined-this.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/enumerate-undefined.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/error-undefined-message.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/explicit-undefined-optional-argument.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/function-definition-eval.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/function-definition-evaluate.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/future-reserved-words.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/getter-setter-outerize-this.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/global-numeric-properties.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/line-paragraph-separator-parse-as-lineterminator.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/new-with-non-constructor.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/redeclare-var-non-writable-property.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/regexp-functions-with-undefined.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/regress-bug632003.js (100%) rename js/src/tests/{ecma_2018/Array => non262/misc}/shell.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/syntax-error-end-of-for-head-part.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/unicode-escaped-keyword.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/unicode-identifier-1d17.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/unicode-identifier-82f1.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/unnamed-function.js (100%) rename js/src/tests/{ecma_5 => non262}/misc/unwrapped-no-such-method.js (100%) rename js/src/tests/{ecma_6/Module => non262/module}/await-restricted-nested.js (100%) rename js/src/tests/{ecma_3/ExecutionContexts => non262/module}/browser.js (100%) rename js/src/tests/{ecma_2018/AsyncGenerators => non262/module}/shell.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.12.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.14-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.3-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.4-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.4-02.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.4-03.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.4-04.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.5-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-define-over-method.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-01-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-02-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-03-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-04-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-05-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-06-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-07-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-08-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-09-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-10-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-11-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-12-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-13-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-14-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-15-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-16-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-17-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-18-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-19-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-20-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-21-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-22-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-23-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-24-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-25-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-26-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-27-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-28-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-29-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-30-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-31-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-dictionary-redefinition-32-of-32.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-function-length.js (94%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-1-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-2-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-3-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-4-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-5-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-6-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-7-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-middle-redefinition-8-of-8.js (82%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-miscellaneous.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-new-definition.js (94%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-redefinition-1-of-4.js (95%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-redefinition-2-of-4.js (95%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-redefinition-3-of-4.js (95%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.6-redefinition-4-of-4.js (95%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.7-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/15.2.3.9.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/accessor-arguments-rest.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/accessor-name.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/accessor-non-constructor.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/add-property-non-extensible.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/assign.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/browser.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/bug-1150906.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/bug-1206700.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/clear-dictionary-accessor-getset.js (100%) rename js/src/tests/{ecma_7/Object => non262/object}/defineGetter-defineSetter.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/defineProperties-callable-accessor.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/defineProperties-order.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/defineProperty-proxy.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/defineProperty-setup.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/destructuring-shorthand-defaults.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/duplProps.js (100%) rename js/src/tests/{ecma_7/Object => non262/object}/entries.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/extensibility-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/extensibility-02.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/freeze-global-eval-const.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/freeze-proxy.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/freeze.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/gOPD-vs-prototype-accessor.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/getOwnPropertyDescriptor.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/getOwnPropertySymbols-proxy.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/getOwnPropertySymbols.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/getPrototypeOf-array.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/getPrototypeOf.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/getter-name.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/isExtensible.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/isFrozen.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/isPrototypeOf.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/isSealed.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/keys.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/method-non-constructor.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/mutation-prevention-methods.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/object-create-with-primitive-second-arg.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/object-toString-01.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/preventExtensions-idempotent.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/preventExtensions-proxy.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/preventExtensions.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/property-descriptor-order.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/propertyIsEnumerable-proxy.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/propertyIsEnumerable.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/proto-property-change-writability-set.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-137000.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-192105.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-308806-01.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-338709.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/regress-361274.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-382503.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-382532.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/regress-385393-07.js (100%) rename js/src/tests/{ecma_3_1/Object => non262/object}/regress-444787.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/regress-459405.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-465476.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/regress-72773.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/regress-79129-001.js (100%) rename js/src/tests/{js1_5/Object => non262/object}/regress-90596-003.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/seal-proxy.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/seal.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/setPrototypeOf-cross-realm-cycle.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/setPrototypeOf-cycle.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/setPrototypeOf-same-value.js (100%) rename js/src/tests/{ecma_3/Object => non262/object}/shell.js (100%) rename js/src/tests/{ecma_6/Object/toLocaleString.js => non262/object/toLocaleString-01.js} (100%) rename js/src/tests/{ecma_5/Object => non262/object}/toLocaleString.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/toPrimitive-callers.js (100%) rename js/src/tests/{ecma_6/Object => non262/object}/toPrimitive.js (100%) rename js/src/tests/{ecma_5/Object => non262/object}/vacuous-accessor-unqualified-name.js (100%) rename js/src/tests/{ecma_7/Object => non262/object}/values-entries-indexed.js (100%) rename js/src/tests/{ecma_7/Object => non262/object}/values-entries-lazy-props.js (100%) rename js/src/tests/{ecma_7/Object => non262/object}/values-entries-typedarray.js (100%) rename js/src/tests/{ecma_7/Object => non262/object}/values.js (100%) rename js/src/tests/{ecma_3/Operators => non262/operators}/11.13.1-001.js (100%) rename js/src/tests/{ecma_3/Operators => non262/operators}/11.13.1-002.js (100%) rename js/src/tests/{ecma_3/Operators => non262/operators}/11.4.1-001.js (100%) rename js/src/tests/{ecma_3/Operators => non262/operators}/11.4.1-002.js (100%) rename js/src/tests/{ecma_3/Expressions => non262/operators}/browser.js (100%) rename js/src/tests/{ecma_3/Operators => non262/operators}/order-01.js (100%) rename js/src/tests/{ecma_2018/RegExp => non262/operators}/shell.js (100%) rename js/src/tests/{ecma_3/FunExpr => non262/pipeline}/browser.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/eval.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/evaluation-order.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/parse-error.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/precedence.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/receiver.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/reflect-parse.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/shell.js (100%) rename js/src/tests/{ecma_2018/Pipeline => non262/pipeline}/type-error.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/Match.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/PatternAsserts.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/PatternBuilders.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/alternateBuilder.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/async.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/basicBuilder.js (100%) rename js/src/tests/{ecma_3/Function => non262/reflect-parse}/browser.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/builderExceptions.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/classes.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/computedPropNames.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/declarations.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/destructuring-array-holes-reflect-as-null.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/destructuring-assignment.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/destructuring-function-parameters.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/destructuring-variable-declarations.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/destructuring__proto__.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/expression.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/expressionClosures.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/for-loop-destructuring.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/generators.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/lexicals.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/location.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/methodDefn.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/newTarget.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/object-rest.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/object-spread.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/proxyArgs.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/shell.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/stackOverflow.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/statements.js (100%) rename js/src/tests/{js1_8_5 => non262}/reflect-parse/templateStrings.js (100%) rename js/src/tests/{ecma_3/LexicalConventions => non262/regress}/browser.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-102725.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-10278.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-104077.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-110286.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-111557.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-114491.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-114493.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-115436.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-116228.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-118849.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-127557.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-131510-001.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-1383630.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-139316.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-140852.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-140974.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-146596.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-152646.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-155081-2.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-155081.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-156354.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-159334.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-162392.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-165201.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-167328.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-167658.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-168347.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-170193.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-172699.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-174709.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-176125.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-179524.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-185165.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-191633.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-191668.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-192414.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-193418.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-203278-1.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-203402.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-203841.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-204210.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-210682.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-211590.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-214761.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-216320.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-224956.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-229006.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-230216-1.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-230216-2.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-230216-3.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-233483-2.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-233483.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-234389.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-238881.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-238945.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-243174.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-243389-n.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-243869.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-244470.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-244619.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-245113.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-245308.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-246911.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-246964.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-247179.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-248444.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-252892.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-253150.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-254296.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-254974.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-256501.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-256617.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-256798.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-259935.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-260541.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-261886.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-261887.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-271716-n.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-274035.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-274888.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-275378.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-276103.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-278873.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-280769-1.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-280769-2.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-280769-3.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-280769-4.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-280769-5.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-280769.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-281606.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-281930.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-283477.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-288688.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-289094.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-290575.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-290656.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-294191.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-294195-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-294195-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-294302.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-295052.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-295666.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-299209.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-299641.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-303213.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-306633.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-306727.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-306794.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-308085.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-308566.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-310295.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-310607.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-310993.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-311071.js (100%) rename js/src/tests/{js1_6/Regress => non262/regress}/regress-311157-01.js (100%) rename js/src/tests/{js1_6/Regress => non262/regress}/regress-311157-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-311629.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-312260.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-31255.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-312588.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-314401.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-315990.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-317476.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-317714-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-317714-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-319384.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-319391.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-320032.js (100%) rename js/src/tests/{js1_6/Regress => non262/regress}/regress-320172.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-321757.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-321874.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-321971.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-322430.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-323314-1.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-325925.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-326467.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-328012.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-328664.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-329383.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-329530.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-330352.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-330951.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-334807-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-334807-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-334807-03.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-334807-04.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-334807-05.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-334807-06.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-336100.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-338307.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-340369.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-341360.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-343713.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-343966.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-344711-n.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-344804.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-344959.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-346237.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-346801.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-349482-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-349482-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-349592.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-350253.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-350268.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-350312.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-350415.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-350529.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-351116.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-351515.js (100%) rename js/src/tests/{js1_6/Regress => non262/regress}/regress-351795.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-352208.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-352604.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-352640-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-352640-02.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-352640-04.js (100%) rename js/src/tests/{js1_6/Regress => non262/regress}/regress-353078.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-353079.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-355023.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-355556.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-355569.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-355829-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-355829-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-355829-03.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-355832-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-355832-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-356250.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-356693.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-360969-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-360969-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-360969-03.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-360969-04.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-360969-05.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-360969-06.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-363040-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-363040-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-3649-n.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-366122.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-366468.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-366601.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-367561-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-367561-03.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-369666-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-369666-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-372364.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-373827-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-373827-02.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-373843.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-379245.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-379442.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-379483.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-383674.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-383682.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-383902.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-384758.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-385393-04.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-387951-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-387951-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-387951-03.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-39309.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-396684.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-398085-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-398085-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-398609.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-404734.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-404755.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-406769.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-407024.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-407727-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-407727-02.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-410649.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-410852.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-414553.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-416737-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-416737-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-417893.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-418540.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-418641.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-419018.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-419152.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-419803.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-420087.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-420610.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-420919.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-422348.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-424311.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-425360.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-426827.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-427798.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-428366.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-433279-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-433279-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-433279-03.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-438415-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-438415-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-440926.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-441477-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-442333-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-449627.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-449666.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-450369.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-450833.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-451322.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-451884.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-451946.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452008.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452170.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452189.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452333.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452336.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452346.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-452491.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452495.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-006.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-027.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-030.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-040.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-050.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-051.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-052-a.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-053.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-058.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-062.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-063.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-071.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-072.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-073.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-074.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-075.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-076.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-079.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-082.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-092.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-101.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-102.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-104.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-111.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-112.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-114-a.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-114.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-116.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-117.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-118.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-121.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-123.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-129.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-131.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-135.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-155.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-160.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-168-1.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-168-2.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-176.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-181.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-185.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-187.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-191.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-452498-192.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452573-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452573-02.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-452703.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452713.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452724-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452724-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452742-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452742-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452853.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452884-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-452884-02.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-452960.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-453024.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-453049.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-453051.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-453173.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-453397.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-453701.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-453747.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-454682.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-454981.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-455605.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-455748.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-455758-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-455758-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-455775.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-455981-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-455981-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-456470.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-456477-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-456477-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-456494.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-456540-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-456540-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-457065-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-457065-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-457065-03.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-457456.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-457778.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-458076.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-458851.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-459085.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-459185.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-459186.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-459389.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-459628.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-459990.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-460024.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-460117.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-460886-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-460886-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-461307.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-461723.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-462071.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-462282.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-462292.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-462388.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-462407.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-462879.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-462989.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-463259.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-463782.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-464096.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-464334.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-464403.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-464418.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-464862.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-464978.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465013.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465132.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465133.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465135.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465136.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465137.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465220.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465234.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-465236.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465239.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465241.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465249.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465261.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465262.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465272.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465308.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465347.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-465366.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-465424.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465454.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-03.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-04.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-05.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-06.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-07.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-08.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-10.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-11.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465460-12.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465483.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-465484.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465567-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465567-02.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-465686.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-465688.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-466128.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-466262.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-466747.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-466787.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-466905-01.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-466905-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-467495-01.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-467495-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-467495-03.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-467495-04.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-467495-05.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-467495-06.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-468711.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-469044.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-469239-01.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-469239-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-469547.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-469625-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-469625-03.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-469758.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-469937.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-470061.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-470187-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-470187-02.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-470223.js (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-470388-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-470758-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-470758-02.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-471660.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-472533.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-474769.js (100%) rename js/src/tests/{js1_8/regress/regress-474771.js => non262/regress/regress-474771-01.js} (100%) rename js/src/tests/{js1_7 => non262}/regress/regress-474771.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-474935.js (100%) rename js/src/tests/{js1_6/Regress => non262/regress}/regress-475469.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-475645-01.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-475645-02.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-476049.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-476192.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-476655.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-477053.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-477234.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-477733.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-477758.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-478205.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-478314.js (100%) rename js/src/tests/{js1_8/regress/regress-479353.js => non262/regress/regress-479353-01.js} (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-479353.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-479430-01.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-479430-02.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-479430-03.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-479430-04.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-479430-05.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-479740.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-480147.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-480244.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-481436.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-481800.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-482421.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-482783.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-483103.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-483749.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-495773.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-495907.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-496922.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-499524.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-500528.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-501124.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-503860.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-504078.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-507053.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-507295.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-509354.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-511859.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-522123.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-524743.js (100%) rename js/src/tests/{js1_8_1 => non262}/regress/regress-530879.js (100%) rename js/src/tests/{js1_8 => non262}/regress/regress-532491.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-541255-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-541455.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-551763-0.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-551763-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-551763-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-552432.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-553778.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-554955-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-554955-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-554955-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-554955-4.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-554955-5.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-554955-6.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-555246-0.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-555246-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-559402-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-559402-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-559438.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-560998-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-560998-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-561031.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-563210.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-563221.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-566549.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-567152.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-569306.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-57043.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-571014.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-573875.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-577648-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-577648-2.js (100%) rename js/src/tests/{ecma_3/Regress => non262/regress}/regress-580544.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-58116.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-583429.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-584355.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-585257.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-586482-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-586482-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-586482-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-586482-4.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-586482-5.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-588339.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-591846.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-591897.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-592202-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-592202-4.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-592556-c35.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-593256.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-595230-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-595365-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-596103.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-596805-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-596805-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-597945-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-597945-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-598176.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-600067.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-601399.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-602621.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-607799.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-607863.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-609617.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-610026.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-614714.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-617405-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-617405-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-618572.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-619003-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-619003-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-620376-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-621814.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-624199.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-624547.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-624968.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-626436.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-633741.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-634210-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-634210-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-634210-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-634210-4.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-636364.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-640075.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-642247.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-643222.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-646820-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-646820-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-646820-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-665355.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-672892.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-672893.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-68498-001.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-68498-002.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-68498-003.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-68498-004.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-694306.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-69607.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-698028-1.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-698028-2.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-698028-3.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-699682.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-71107.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-736792.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-76054.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-80981.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-810525.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-82306.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-89443.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-89474.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-90445.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-96128-n.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-96526-001.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-96526-002.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-96526-003.js (100%) rename js/src/tests/{js1_5/Regress => non262/regress}/regress-98901.js (100%) rename js/src/tests/{js1_8_5 => non262}/regress/regress-yarr-regexp.js (100%) rename js/src/tests/{ecma_2018/Syntax => non262/regress}/shell.js (100%) create mode 100644 js/src/tests/non262/shell.js rename js/src/tests/{ecma_6/Statements => non262/statements}/arrow-function-at-end-of-for-statement-head.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/arrow-function-in-for-statement-head.js (100%) rename js/src/tests/{ecma_3/Number => non262/statements}/browser.js (100%) rename js/src/tests/{ecma_2017/Statements => non262/statements}/for-in-with-assignment-semantics.js (100%) rename js/src/tests/{ecma_2017/Statements => non262/statements}/for-in-with-assignment-syntax.js (100%) rename js/src/tests/{ecma_2017/Statements => non262/statements}/for-in-with-assignments.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-in-with-declaration.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-in-with-destructuring-assignments.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-inof-coverinitname-destr-assign.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-inof-finally.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-inof-loop-const-declaration.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-inof-name-iteration-expression-contains-index-string.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-loop-declaration-contains-computed-name.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-loop-declaration-contains-initializer.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-of-iterator-close-throw.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-of-iterator-close.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-of-iterator-primitive.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/for-of-var-with-initializer.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/if-constant-folding.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/property-reference-self-assignment.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-131348.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-157509.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-194364.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-226517.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-302439.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-324650.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-444979.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-642975.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-74474-001.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-74474-002.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-74474-003.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-83532-001.js (100%) rename js/src/tests/{ecma_3/Statements => non262/statements}/regress-83532-002.js (100%) rename js/src/tests/{ecma_2018/TypedArray => non262/statements}/shell.js (100%) rename js/src/tests/{ecma_2017/Statements => non262/statements}/trailing_comma_parameters.js (100%) rename js/src/tests/{ecma_6/Statements => non262/statements}/try-completion.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/10.4.2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/10.4.3.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/10.6.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.1.5.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.13.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.13.2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.3.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.3.2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.4.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.4.4.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/11.4.5.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/12.10.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/12.14.1.js (100%) rename js/src/tests/{js1_8_1/strict/12.2.1.js => non262/strict/12.2.1-01.js} (100%) rename js/src/tests/{ecma_5 => non262}/strict/12.2.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/13.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.10.7.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.3.4.5.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.3.5.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.3.5.2.js (100%) rename js/src/tests/{ecma_5/extensions => non262/strict}/15.4.4.11.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.4.4.12.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.4.4.13.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.4.4.6.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.4.4.8.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.4.4.9.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.4.5.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.5.5.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/15.5.5.2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/8.12.5.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/8.12.7-2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/8.12.7.js (100%) rename js/src/tests/{js1_8_1/strict/8.7.2.js => non262/strict/8.7.2-01.js} (100%) rename js/src/tests/{ecma_5 => non262}/strict/8.7.2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/B.1.1.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/B.1.2.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/assign-to-callee-name.js (100%) rename js/src/tests/{ecma_3/NumberFormatting => non262/strict}/browser.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/directive-prologue-01.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/eval-variable-environment.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/primitive-assignment.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/primitive-this-getter.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/primitive-this-no-writeback.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/rebind-eval-should-fail-in-strict-mode.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/regress-532041.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/regress-532254.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/regress-599159.js (100%) create mode 100644 js/src/tests/non262/strict/shell.js rename js/src/tests/{ecma_5/extensions => non262/strict}/strict-function-statements.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/strict-this-is-not-truthy.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/this-for-function-expression-recursion.js (100%) rename js/src/tests/{ecma_5 => non262}/strict/unbrand-this.js (100%) rename js/src/tests/{ecma_3/Operators => non262/syntax}/browser.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/declaration-forbidden-in-label.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/escaped-let-static-identifier.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/escaped-strict-reserved-words-and-yield.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/identifier_vertical_tilde.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/identifiers-with-extended-unicode-escape.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/keyword-unescaped-requirement.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/let-as-label.js (100%) rename js/src/tests/{ecma_7/Syntax => non262/syntax}/non-simple-with-strict-directive.js (100%) rename js/src/tests/{ecma_2018/Syntax => non262/syntax}/omitted-catch-binding.js (100%) rename js/src/tests/{ecma_2018 => non262/syntax}/shell.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/statement-versus-statementlistitem.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/unicode_other_id_continue.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/unicode_other_id_start.js (100%) rename js/src/tests/{ecma_6/Syntax => non262/syntax}/yield-as-identifier.js (100%) rename js/src/tests/{ecma_6/TemplateStrings => non262/template-strings}/browser.js (100%) rename js/src/tests/{ecma_6/TemplateStrings => non262/template-strings}/debugLineNumber.js (100%) rename js/src/tests/{ecma_6/TemplateStrings => non262/template-strings}/lineNumber.js (100%) rename js/src/tests/{ecma_6/TemplateStrings => non262/template-strings}/noSubst.js (100%) rename js/src/tests/{ecma_3/Array => non262/template-strings}/shell.js (100%) rename js/src/tests/{ecma_6/TemplateStrings => non262/template-strings}/tagTempl.js (100%) rename js/src/tests/{ecma_6/TemplateStrings => non262/template-strings}/templLit.js (100%) rename js/src/tests/{ecma_3 => non262}/template.js (100%) rename js/src/tests/{ecma_5/Types => non262/types}/8.12.5-01.js (100%) rename js/src/tests/{ecma_3/RegExp => non262/types}/browser.js (100%) rename js/src/tests/{ecma_3/Exceptions => non262/types}/shell.js (100%) diff --git a/js/src/jit-test/lib/asserts.js b/js/src/jit-test/lib/asserts.js index 119d5bd0fbc9..a690ec96277c 100644 --- a/js/src/jit-test/lib/asserts.js +++ b/js/src/jit-test/lib/asserts.js @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -load(libdir + "../../tests/ecma_6/shell.js"); +load(libdir + "../../tests/non262/shell.js"); if (typeof assertWarning === 'undefined') { var assertWarning = function assertWarning(f, errorClass, msg) { diff --git a/js/src/jit-test/lib/match.js b/js/src/jit-test/lib/match.js index 1313bb4b0119..70cd15a5b5a8 100644 --- a/js/src/jit-test/lib/match.js +++ b/js/src/jit-test/lib/match.js @@ -1 +1 @@ -loadRelativeToScript("../../tests/js1_8_5/reflect-parse/Match.js"); +loadRelativeToScript("../../tests/non262/reflect-parse/Match.js"); diff --git a/js/src/jit-test/tests/basic/hypot-approx.js b/js/src/jit-test/tests/basic/hypot-approx.js index 452e6c633e3c..639a9793f819 100644 --- a/js/src/jit-test/tests/basic/hypot-approx.js +++ b/js/src/jit-test/tests/basic/hypot-approx.js @@ -1,4 +1,4 @@ -loadRelativeToScript("../../../tests/ecma_6/Math/shell.js"); +loadRelativeToScript("../../../tests/non262/Math/shell.js"); for (var i = -20; i < 20; i++) { assertEq(Math.hypot(+0, i), Math.abs(i)); diff --git a/js/src/tests/ecma/Array/15.4-1.js b/js/src/tests/ecma/Array/15.4-1.js deleted file mode 100644 index 50c548e3b665..000000000000 --- a/js/src/tests/ecma/Array/15.4-1.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4-1.js - ECMA Section: 15.4 Array Objects - - Description: Every Array object has a length property whose value - is always an integer with positive sign and less than - Math.pow(2,32). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.4-1"; -var TITLE = "Array Objects"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr[Math.pow(2,32)-2]", - "hi", - eval("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr[Math.pow(2,32)-2]") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr.length", - (Math.pow(2,32)-1), - eval("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr.length") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr[Math.pow(2,32)-3]", - "hi", - eval("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr[Math.pow(2,32)-3]") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr.length", - (Math.pow(2,32)-2), - eval("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr.length") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr[Math.pow(2,31)-2]", - "hi", - eval("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr[Math.pow(2,31)-2]") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr.length", - (Math.pow(2,31)-1), - eval("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr.length") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr[Math.pow(2,31)-1]", - "hi", - eval("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr[Math.pow(2,31)-1]") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr.length", - (Math.pow(2,31)), - eval("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr.length") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr[Math.pow(2,31)]", - "hi", - eval("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr[Math.pow(2,31)]") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr.length", - (Math.pow(2,31)+1), - eval("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr.length") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr[Math.pow(2,30)-2]", - "hi", - eval("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr[Math.pow(2,30)-2]") - ); - -new TestCase("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr.length", - (Math.pow(2,30)-1), - eval("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr.length") - ); - -test(); - diff --git a/js/src/tests/ecma/Array/15.4-2.js b/js/src/tests/ecma/Array/15.4-2.js deleted file mode 100644 index 4eb4ab39f4b7..000000000000 --- a/js/src/tests/ecma/Array/15.4-2.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4-2.js - ECMA Section: 15.4 Array Objects - - Description: Whenever a property is added whose name is an array - index, the length property is changed, if necessary, - to be one more than the numeric value of that array - index; and whenever the length property is changed, - every property whose name is an array index whose value - is not smaller than the new length is automatically - deleted. This constraint applies only to the Array - object itself, and is unaffected by length or array - index properties that may be inherited from its - prototype. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.4-2"; -var TITLE = "Array Objects"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var arr=new Array(); arr[Math.pow(2,16)] = 'hi'; arr.length", - Math.pow(2,16)+1, - eval("var arr=new Array(); arr[Math.pow(2,16)] = 'hi'; arr.length") ); - -new TestCase( "var arr=new Array(); arr[Math.pow(2,30)-2] = 'hi'; arr.length", - Math.pow(2,30)-1, - eval("var arr=new Array(); arr[Math.pow(2,30)-2] = 'hi'; arr.length") ); - -new TestCase( "var arr=new Array(); arr[Math.pow(2,30)-1] = 'hi'; arr.length", - Math.pow(2,30), - eval("var arr=new Array(); arr[Math.pow(2,30)-1] = 'hi'; arr.length") ); - -new TestCase( "var arr=new Array(); arr[Math.pow(2,30)] = 'hi'; arr.length", - Math.pow(2,30)+1, - eval("var arr=new Array(); arr[Math.pow(2,30)] = 'hi'; arr.length") ); - - -new TestCase( "var arr=new Array(); arr[Math.pow(2,31)-2] = 'hi'; arr.length", - Math.pow(2,31)-1, - eval("var arr=new Array(); arr[Math.pow(2,31)-2] = 'hi'; arr.length") ); - -new TestCase( "var arr=new Array(); arr[Math.pow(2,31)-1] = 'hi'; arr.length", - Math.pow(2,31), - eval("var arr=new Array(); arr[Math.pow(2,31)-1] = 'hi'; arr.length") ); - -new TestCase( "var arr=new Array(); arr[Math.pow(2,31)] = 'hi'; arr.length", - Math.pow(2,31)+1, - eval("var arr=new Array(); arr[Math.pow(2,31)] = 'hi'; arr.length") ); - -new TestCase( "var arr = new Array(0,1,2,3,4,5); arr.length = 2; String(arr)", - "0,1", - eval("var arr = new Array(0,1,2,3,4,5); arr.length = 2; String(arr)") ); - -new TestCase( "var arr = new Array(0,1); arr.length = 3; String(arr)", - "0,1,", - eval("var arr = new Array(0,1); arr.length = 3; String(arr)") ); - -test(); - diff --git a/js/src/tests/ecma/Array/15.4.1.1.js b/js/src/tests/ecma/Array/15.4.1.1.js deleted file mode 100644 index 4c1f4252c457..000000000000 --- a/js/src/tests/ecma/Array/15.4.1.1.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.1.1.js - ECMA Section: 15.4.1 Array( item0, item1,... ) - - Description: When Array is called as a function rather than as a - constructor, it creates and initializes a new array - object. Thus, the function call Array(...) is - equivalent to the object creation new Array(...) with - the same arguments. - - An array is created and returned as if by the expression - new Array( item0, item1, ... ). - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.1.1"; -var TITLE = "Array Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "typeof Array(1,2)", - "object", - typeof Array(1,2) ); - -new TestCase( "(Array(1,2)).toString", - Array.prototype.toString, - (Array(1,2)).toString ); - -new TestCase( "var arr = Array(1,2,3); arr.toString = Object.prototype.toString; arr.toString()", - "[object Array]", - eval("var arr = Array(1,2,3); arr.toString = Object.prototype.toString; arr.toString()") ); - -new TestCase( "(Array(1,2)).length", - 2, - (Array(1,2)).length ); - -new TestCase( "var arr = (Array(1,2)); arr[0]", - 1, - eval("var arr = (Array(1,2)); arr[0]") ); - -new TestCase( "var arr = (Array(1,2)); arr[1]", - 2, - eval("var arr = (Array(1,2)); arr[1]") ); - -new TestCase( "var arr = (Array(1,2)); String(arr)", - "1,2", - eval("var arr = (Array(1,2)); String(arr)") ); - -test(); - -function ToUint32( n ) { - n = Number( n ); - if( isNaN(n) || n == 0 || n == Number.POSITIVE_INFINITY || - n == Number.NEGATIVE_INFINITY ) { - return 0; - } - var sign = n < 0 ? -1 : 1; - - return ( sign * ( n * Math.floor( Math.abs(n) ) ) ) % Math.pow(2, 32); -} - diff --git a/js/src/tests/ecma/Array/15.4.1.2.js b/js/src/tests/ecma/Array/15.4.1.2.js deleted file mode 100644 index 3fa7c9768c7f..000000000000 --- a/js/src/tests/ecma/Array/15.4.1.2.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.1.2.js - ECMA Section: 15.4.1.2 Array(len) - - Description: When Array is called as a function rather than as a - constructor, it creates and initializes a new array - object. Thus, the function call Array(...) is - equivalent to the object creationi new Array(...) with - the same arguments. - - An array is created and returned as if by the - expression new Array(len). - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.1.2"; -var TITLE = "Array Constructor Called as a Function: Array(len)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(Array()).length", - 0, - (Array()).length ); - -new TestCase( "(Array(0)).length", - 0, - (Array(0)).length ); - -new TestCase( "(Array(1)).length", - 1, - (Array(1)).length ); - -new TestCase( "(Array(10)).length", - 10, - (Array(10)).length ); - -new TestCase( "(Array('1')).length", - 1, - (Array('1')).length ); - -new TestCase( "(Array(1000)).length", - 1000, - (Array(1000)).length ); - -new TestCase( "(Array('1000')).length", - 1, - (Array('1000')).length ); - -new TestCase( "(Array(4294967295)).length", - ToUint32(4294967295), - (Array(4294967295)).length ); - -new TestCase( "(Array(Math.pow(2,31)-1)).length", - ToUint32(Math.pow(2,31)-1), - (Array(Math.pow(2,31)-1)).length ); - -new TestCase( "(Array(Math.pow(2,31))).length", - ToUint32(Math.pow(2,31)), - (Array(Math.pow(2,31))).length ); - -new TestCase( "(Array(Math.pow(2,31)+1)).length", - ToUint32(Math.pow(2,31)+1), - (Array(Math.pow(2,31)+1)).length ); - -new TestCase( "(Array('8589934592')).length", - 1, - (Array("8589934592")).length ); - -new TestCase( "(Array('4294967296')).length", - 1, - (Array("4294967296")).length ); - -new TestCase( "(Array(1073741823)).length", - ToUint32(1073741823), - (Array(1073741823)).length ); - -new TestCase( "(Array(1073741824)).length", - ToUint32(1073741824), - (Array(1073741824)).length ); - -new TestCase( "(Array('a string')).length", - 1, - (Array("a string")).length ); - -test(); - -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} diff --git a/js/src/tests/ecma/Array/15.4.1.3.js b/js/src/tests/ecma/Array/15.4.1.3.js deleted file mode 100644 index d280474da4b9..000000000000 --- a/js/src/tests/ecma/Array/15.4.1.3.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.1.3.js - ECMA Section: 15.4.1.3 Array() - - Description: When Array is called as a function rather than as a - constructor, it creates and initializes a new array - object. Thus, the function call Array(...) is - equivalent to the object creationi new Array(...) with - the same arguments. - - An array is created and returned as if by the - expression new Array(len). - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.1.3"; -var TITLE = "Array Constructor Called as a Function: Array()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "typeof Array()", - "object", - typeof Array() ); - -new TestCase( "MYARR = new Array();MYARR.getClass = Object.prototype.toString;MYARR.getClass()", - "[object Array]", - eval("MYARR = Array();MYARR.getClass = Object.prototype.toString;MYARR.getClass()") ); - -new TestCase( "(Array()).length", - 0, - (Array()).length ); - -new TestCase( "Array().toString()", - "", - Array().toString() ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.1.js b/js/src/tests/ecma/Array/15.4.1.js deleted file mode 100644 index e262d813fc51..000000000000 --- a/js/src/tests/ecma/Array/15.4.1.js +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.1.js - ECMA Section: 15.4.1 The Array Constructor Called as a Function - - Description: When Array is called as a function rather than as a - constructor, it creates and initializes a new array - object. Thus, the function call Array(...) is - equivalent to the object creationi new Array(...) with - the same arguments. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.1"; -var TITLE = "The Array Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Array() +''", - "", - Array() +"" ); - -new TestCase( - "typeof Array()", - "object", - typeof Array() ); - -new TestCase( - "var arr = Array(); arr.getClass = Object.prototype.toString; arr.getClass()", - "[object Array]", - eval("var arr = Array(); arr.getClass = Object.prototype.toString; arr.getClass()") ); - -new TestCase( - "var arr = Array(); arr.toString == Array.prototype.toString", - true, - eval("var arr = Array(); arr.toString == Array.prototype.toString") ); - -new TestCase( - "Array().length", - 0, - Array().length ); - -new TestCase( - "Array(1,2,3) +''", - "1,2,3", - Array(1,2,3) +"" ); - -new TestCase( - "typeof Array(1,2,3)", - "object", - typeof Array(1,2,3) ); - -new TestCase( - "var arr = Array(1,2,3); arr.getClass = Object.prototype.toString; arr.getClass()", - "[object Array]", - eval("var arr = Array(1,2,3); arr.getClass = Object.prototype.toString; arr.getClass()") ); - -new TestCase( - "var arr = Array(1,2,3); arr.toString == Array.prototype.toString", - true, - eval("var arr = Array(1,2,3); arr.toString == Array.prototype.toString") ); - -new TestCase( - "Array(1,2,3).length", - 3, - Array(1,2,3).length ); - -new TestCase( - "typeof Array(12345)", - "object", - typeof Array(12345) ); - -new TestCase( - "var arr = Array(12345); arr.getClass = Object.prototype.toString; arr.getClass()", - "[object Array]", - eval("var arr = Array(12345); arr.getClass = Object.prototype.toString; arr.getClass()") ); - -new TestCase( - "var arr = Array(1,2,3,4,5); arr.toString == Array.prototype.toString", - true, - eval("var arr = Array(1,2,3,4,5); arr.toString == Array.prototype.toString") ); - -new TestCase( - "Array(12345).length", - 12345, - Array(12345).length ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.2.1-1.js b/js/src/tests/ecma/Array/15.4.2.1-1.js deleted file mode 100644 index 29316e3d5509..000000000000 --- a/js/src/tests/ecma/Array/15.4.2.1-1.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.2.1-1.js - ECMA Section: 15.4.2.1 new Array( item0, item1, ... ) - Description: This description only applies of the constructor is - given two or more arguments. - - The [[Prototype]] property of the newly constructed - object is set to the original Array prototype object, - the one that is the initial value of Array.prototype - (15.4.3.1). - - The [[Class]] property of the newly constructed object - is set to "Array". - - The length property of the newly constructed object is - set to the number of arguments. - - The 0 property of the newly constructed object is set - to item0... in general, for as many arguments as there - are, the k property of the newly constructed object is - set to argument k, where the first argument is - considered to be argument number 0. - - This file tests the typeof the newly constructed object. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.2.1-1"; -var TITLE = "The Array Constructor: new Array( item0, item1, ...)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "typeof new Array(1,2)", - "object", - typeof new Array(1,2) ); - -new TestCase( "(new Array(1,2)).toString", - Array.prototype.toString, - (new Array(1,2)).toString ); - -new TestCase( "var arr = new Array(1,2,3); arr.getClass = Object.prototype.toString; arr.getClass()", - "[object Array]", - eval("var arr = new Array(1,2,3); arr.getClass = Object.prototype.toString; arr.getClass()") ); - -new TestCase( "(new Array(1,2)).length", - 2, - (new Array(1,2)).length ); - -new TestCase( "var arr = (new Array(1,2)); arr[0]", - 1, - eval("var arr = (new Array(1,2)); arr[0]") ); - -new TestCase( "var arr = (new Array(1,2)); arr[1]", - 2, - eval("var arr = (new Array(1,2)); arr[1]") ); - -new TestCase( "var arr = (new Array(1,2)); String(arr)", - "1,2", - eval("var arr = (new Array(1,2)); String(arr)") ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.2.1-2.js b/js/src/tests/ecma/Array/15.4.2.1-2.js deleted file mode 100644 index 79085f666517..000000000000 --- a/js/src/tests/ecma/Array/15.4.2.1-2.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.2.1-2.js - ECMA Section: 15.4.2.1 new Array( item0, item1, ... ) - Description: This description only applies of the constructor is - given two or more arguments. - - The [[Prototype]] property of the newly constructed - object is set to the original Array prototype object, - the one that is the initial value of Array.prototype - (15.4.3.1). - - The [[Class]] property of the newly constructed object - is set to "Array". - - The length property of the newly constructed object is - set to the number of arguments. - - The 0 property of the newly constructed object is set - to item0... in general, for as many arguments as there - are, the k property of the newly constructed object is - set to argument k, where the first argument is - considered to be argument number 0. - - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.2.1-2"; -var TITLE = "The Array Constructor: new Array( item0, item1, ...)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var TEST_STRING = "new Array("; -var ARGUMENTS = "" - var TEST_LENGTH = Math.pow(2,10); //Math.pow(2,32); - -for ( var index = 0; index < TEST_LENGTH; index++ ) { - ARGUMENTS += index; - ARGUMENTS += (index == (TEST_LENGTH-1) ) ? "" : ","; -} - -TEST_STRING += ARGUMENTS + ")"; - -TEST_ARRAY = eval( TEST_STRING ); - -for ( var item = 0; item < TEST_LENGTH; item++ ) { - new TestCase( "["+item+"]", - item, - TEST_ARRAY[item] ); -} - -new TestCase( "new Array( ["+TEST_LENGTH+" arguments] ) +''", - ARGUMENTS, - TEST_ARRAY +"" ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.2.1-3.js b/js/src/tests/ecma/Array/15.4.2.1-3.js deleted file mode 100644 index f143690f0c45..000000000000 --- a/js/src/tests/ecma/Array/15.4.2.1-3.js +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.2.1-3.js - ECMA Section: 15.4.2.1 new Array( item0, item1, ... ) - Description: This description only applies of the constructor is - given two or more arguments. - - The [[Prototype]] property of the newly constructed - object is set to the original Array prototype object, - the one that is the initial value of Array.prototype - (15.4.3.1). - - The [[Class]] property of the newly constructed object - is set to "Array". - - The length property of the newly constructed object is - set to the number of arguments. - - The 0 property of the newly constructed object is set - to item0... in general, for as many arguments as there - are, the k property of the newly constructed object is - set to argument k, where the first argument is - considered to be argument number 0. - - This test stresses the number of arguments presented to - the Array constructor. Should support up to Math.pow - (2,32) arguments, since that is the maximum length of an - ECMAScript array. - - ***Change TEST_LENGTH to Math.pow(2,32) when larger array - lengths are supported. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.2.1-3"; -var TITLE = "The Array Constructor: new Array( item0, item1, ...)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = "new Array("; -var ARGUMENTS = "" - var TEST_LENGTH = Math.pow(2,10); //Math.pow(2,32); - -for ( var index = 0; index < TEST_LENGTH; index++ ) { - ARGUMENTS += index; - ARGUMENTS += (index == (TEST_LENGTH-1) ) ? "" : ","; -} - -TEST_STRING += ARGUMENTS + ")"; - -TEST_ARRAY = eval( TEST_STRING ); - -for ( var item = 0; item < TEST_LENGTH; item++ ) { - new TestCase( "TEST_ARRAY["+item+"]", - item, - TEST_ARRAY[item] ); -} - -new TestCase( "new Array( ["+TEST_LENGTH+" arguments] ) +''", - ARGUMENTS, - TEST_ARRAY +"" ); - -new TestCase( "TEST_ARRAY.toString", - Array.prototype.toString, - TEST_ARRAY.toString ); - -new TestCase( "TEST_ARRAY.join", - Array.prototype.join, - TEST_ARRAY.join ); - -new TestCase( "TEST_ARRAY.sort", - Array.prototype.sort, - TEST_ARRAY.sort ); - -new TestCase( "TEST_ARRAY.reverse", - Array.prototype.reverse, - TEST_ARRAY.reverse ); - -new TestCase( "TEST_ARRAY.length", - TEST_LENGTH, - TEST_ARRAY.length ); - -new TestCase( "TEST_ARRAY.toString = Object.prototype.toString; TEST_ARRAY.toString()", - "[object Array]", - eval("TEST_ARRAY.toString = Object.prototype.toString; TEST_ARRAY.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.2.2-1.js b/js/src/tests/ecma/Array/15.4.2.2-1.js deleted file mode 100644 index 2c4c3a453f73..000000000000 --- a/js/src/tests/ecma/Array/15.4.2.2-1.js +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.2.2-1.js - ECMA Section: 15.4.2.2 new Array(len) - - Description: This description only applies of the constructor is - given two or more arguments. - - The [[Prototype]] property of the newly constructed - object is set to the original Array prototype object, - the one that is the initial value of Array.prototype(0) - (15.4.3.1). - - The [[Class]] property of the newly constructed object - is set to "Array". - - If the argument len is a number, then the length - property of the newly constructed object is set to - ToUint32(len). - - If the argument len is not a number, then the length - property of the newly constructed object is set to 1 - and the 0 property of the newly constructed object is - set to len. - - This file tests cases where len is a number. - - The cases in this test need to be updated since the - ToUint32_t description has changed. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.2.2-1"; -var TITLE = "The Array Constructor: new Array( len )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "new Array(0)", - "", - (new Array(0)).toString() ); - -new TestCase( "typeof new Array(0)", - "object", - (typeof new Array(0)) ); - -new TestCase( "(new Array(0)).length", - 0, - (new Array(0)).length ); - -new TestCase( "(new Array(0)).toString", - Array.prototype.toString, - (new Array(0)).toString ); - -new TestCase( "new Array(1)", - "", - (new Array(1)).toString() ); - -new TestCase( "new Array(1).length", - 1, - (new Array(1)).length ); - -new TestCase( "(new Array(1)).toString", - Array.prototype.toString, - (new Array(1)).toString ); - -new TestCase( "(new Array(-0)).length", - 0, - (new Array(-0)).length ); - -new TestCase( "(new Array(0)).length", - 0, - (new Array(0)).length ); - -new TestCase( "(new Array(10)).length", - 10, - (new Array(10)).length ); - -new TestCase( "(new Array('1')).length", - 1, - (new Array('1')).length ); - -new TestCase( "(new Array(1000)).length", - 1000, - (new Array(1000)).length ); - -new TestCase( "(new Array('1000')).length", - 1, - (new Array('1000')).length ); - -new TestCase( "(new Array(4294967295)).length", - ToUint32(4294967295), - (new Array(4294967295)).length ); - -new TestCase( "(new Array('8589934592')).length", - 1, - (new Array("8589934592")).length ); - -new TestCase( "(new Array('4294967296')).length", - 1, - (new Array("4294967296")).length ); - -new TestCase( "(new Array(1073741824)).length", - ToUint32(1073741824), - (new Array(1073741824)).length ); - -test(); - -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} diff --git a/js/src/tests/ecma/Array/15.4.2.2-2.js b/js/src/tests/ecma/Array/15.4.2.2-2.js deleted file mode 100644 index b569df975085..000000000000 --- a/js/src/tests/ecma/Array/15.4.2.2-2.js +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.2.2-2.js - ECMA Section: 15.4.2.2 new Array(len) - - Description: This description only applies of the constructor is - given two or more arguments. - - The [[Prototype]] property of the newly constructed - object is set to the original Array prototype object, - the one that is the initial value of Array.prototype(0) - (15.4.3.1). - - The [[Class]] property of the newly constructed object - is set to "Array". - - If the argument len is a number, then the length - property of the newly constructed object is set to - ToUint32(len). - - If the argument len is not a number, then the length - property of the newly constructed object is set to 1 - and the 0 property of the newly constructed object is - set to len. - - This file tests length of the newly constructed array - when len is not a number. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.2.2-2"; -var TITLE = "The Array Constructor: new Array( len )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new Array(new Number(1073741823))).length", - 1, - (new Array(new Number(1073741823))).length ); - -new TestCase( "(new Array(new Number(0))).length", - 1, - (new Array(new Number(0))).length ); - -new TestCase( "(new Array(new Number(1000))).length", - 1, - (new Array(new Number(1000))).length ); - -new TestCase( "(new Array('mozilla, larryzilla, curlyzilla')).length", - 1, - (new Array('mozilla, larryzilla, curlyzilla')).length ); - -new TestCase( "(new Array(true)).length", - 1, - (new Array(true)).length ); - -new TestCase( "(new Array(false)).length", - 1, - (new Array(false)).length); - -new TestCase( "(new Array(new Boolean(true)).length", - 1, - (new Array(new Boolean(true))).length ); - -new TestCase( "(new Array(new Boolean(false)).length", - 1, - (new Array(new Boolean(false))).length ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.2.3.js b/js/src/tests/ecma/Array/15.4.2.3.js deleted file mode 100644 index 72acf4f1720a..000000000000 --- a/js/src/tests/ecma/Array/15.4.2.3.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.2.3.js - ECMA Section: 15.4.2.3 new Array() - Description: The [[Prototype]] property of the newly constructed - object is set to the origianl Array prototype object, - the one that is the initial value of Array.prototype. - The [[Class]] property of the new object is set to - "Array". The length of the object is set to 0. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.2.3"; -var TITLE = "The Array Constructor: new Array()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "new Array() +''", - "", - (new Array()) +"" ); - -new TestCase( "typeof new Array()", - "object", - (typeof new Array()) ); - -new TestCase( "var arr = new Array(); arr.getClass = Object.prototype.toString; arr.getClass()", - "[object Array]", - eval("var arr = new Array(); arr.getClass = Object.prototype.toString; arr.getClass()") ); - -new TestCase( "(new Array()).length", - 0, - (new Array()).length ); - -new TestCase( "(new Array()).toString == Array.prototype.toString", - true, - (new Array()).toString == Array.prototype.toString ); - -new TestCase( "(new Array()).join == Array.prototype.join", - true, - (new Array()).join == Array.prototype.join ); - -new TestCase( "(new Array()).reverse == Array.prototype.reverse", - true, - (new Array()).reverse == Array.prototype.reverse ); - -new TestCase( "(new Array()).sort == Array.prototype.sort", - true, - (new Array()).sort == Array.prototype.sort ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.3.1-2.js b/js/src/tests/ecma/Array/15.4.3.1-2.js deleted file mode 100644 index 730b7d5d2dae..000000000000 --- a/js/src/tests/ecma/Array/15.4.3.1-2.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.3.1-1.js - ECMA Section: 15.4.3.1 Array.prototype - Description: The initial value of Array.prototype is the built-in - Array prototype object (15.4.4). - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.3.1-1"; -var TITLE = "Array.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var ARRAY_PROTO = Array.prototype; - -new TestCase( "var props = ''; for ( p in Array ) { props += p } props", - "", - eval("var props = ''; for ( p in Array ) { props += p } props") ); - -new TestCase( "Array.prototype = null; Array.prototype", - ARRAY_PROTO, - eval("Array.prototype = null; Array.prototype") ); - -new TestCase( "delete Array.prototype", - false, - delete Array.prototype ); - -new TestCase( "delete Array.prototype; Array.prototype", - ARRAY_PROTO, - eval("delete Array.prototype; Array.prototype") ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.3.2.js b/js/src/tests/ecma/Array/15.4.3.2.js deleted file mode 100644 index b7216853af0d..000000000000 --- a/js/src/tests/ecma/Array/15.4.3.2.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.3.2.js - ECMA Section: 15.4.3.2 Array.length - Description: The length property is 1. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.3.2"; -var TITLE = "Array.length"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Array.length", - 1, - Array.length ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.4.1.js b/js/src/tests/ecma/Array/15.4.4.1.js deleted file mode 100644 index 8a8caea4b8ed..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.1.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.4.1.js - ECMA Section: 15.4.4.1 Array.prototype.constructor - Description: The initial value of Array.prototype.constructor - is the built-in Array constructor. - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.4.1"; -var TITLE = "Array.prototype.constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "Array.prototype.constructor == Array", - true, - Array.prototype.constructor == Array); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.4.2.js b/js/src/tests/ecma/Array/15.4.4.2.js deleted file mode 100644 index 7e40739b46ab..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.2.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.4.2.js - ECMA Section: 15.4.4.2 Array.prototype.toString() - Description: The elements of this object are converted to strings - and these strings are then concatenated, separated by - comma characters. The result is the same as if the - built-in join method were invoiked for this object - with no argument. - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.4.2"; -var TITLE = "Array.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Array.prototype.toString.length", - 0, - Array.prototype.toString.length ); - -new TestCase( "(new Array()).toString()", - "", - (new Array()).toString() ); - -new TestCase( "(new Array(2)).toString()", - ",", - (new Array(2)).toString() ); - -new TestCase( "(new Array(0,1)).toString()", - "0,1", - (new Array(0,1)).toString() ); - -new TestCase( "(new Array( Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY)).toString()", - "NaN,Infinity,-Infinity", - (new Array( Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY)).toString() ); - -new TestCase( "(new Array( Boolean(1), Boolean(0))).toString()", - "true,false", - (new Array(Boolean(1),Boolean(0))).toString() ); - -new TestCase( "(new Array(void 0,null)).toString()", - ",", - (new Array(void 0,null)).toString() ); - -var EXPECT_STRING = ""; -var MYARR = new Array(); - -for ( var i = -50; i < 50; i+= 0.25 ) { - MYARR[MYARR.length] = i; - EXPECT_STRING += i +","; -} - -EXPECT_STRING = EXPECT_STRING.substring( 0, EXPECT_STRING.length -1 ); - -new TestCase( "MYARR.toString()", - EXPECT_STRING, - MYARR.toString() ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.4.3-1.js b/js/src/tests/ecma/Array/15.4.4.3-1.js deleted file mode 100644 index 6820390f569b..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.3-1.js +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.4.3-1.js - ECMA Section: 15.4.4.3-1 Array.prototype.join() - Description: The elements of this object are converted to strings and - these strings are then concatenated, separated by comma - characters. The result is the same as if the built-in join - method were invoiked for this object with no argument. - Author: christine@netscape.com, pschwartau@netscape.com - Date: 07 October 1997 - Modified: 14 July 2002 - Reason: See http://bugzilla.mozilla.org/show_bug.cgi?id=155285 - ECMA-262 Ed.3 Section 15.4.4.5 Array.prototype.join() - Step 3: If |separator| is |undefined|, let |separator| - be the single-character string "," - * - */ - -var SECTION = "15.4.4.3-1"; - -writeHeaderToLog( SECTION + " Array.prototype.join()"); - -var ARR_PROTOTYPE = Array.prototype; - -new TestCase( "Array.prototype.join.length", 1, Array.prototype.join.length ); - -// case where array length is 0 - -new TestCase( "var TEST_ARRAY = new Array(); TEST_ARRAY.join()", - "", - eval("var TEST_ARRAY = new Array(); TEST_ARRAY.join()") ); - -// array length is 0, but spearator is specified - -new TestCase( "var TEST_ARRAY = new Array(); TEST_ARRAY.join(' ')", - "", - eval("var TEST_ARRAY = new Array(); TEST_ARRAY.join(' ')") ); - -// length is greater than 0, separator is supplied -new TestCase( "var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('&')", - "&&true&false&123&[object Object]&true", - eval("var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('&')") ); - -// length is greater than 0, separator is empty string -new TestCase( "var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('')", - "truefalse123[object Object]true", - eval("var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('')") ); - -// length is greater than 0, separator is undefined -new TestCase( "var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join(void 0)", - ",,true,false,123,[object Object],true", - eval("var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join(void 0)") ); - -// length is greater than 0, separator is not supplied -new TestCase( "var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join()", - ",,true,false,123,[object Object],true", - eval("var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join()") ); - -// separator is a control character -new TestCase( "var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('\v')", - decodeURIComponent("%0B%0Btrue%0Bfalse%0B123%0B[object Object]%0Btrue"), - eval("var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('\v')") ); - -// length of array is 1 -new TestCase( "var TEST_ARRAY = new Array(true) ); TEST_ARRAY.join('\v')", - "true", - eval("var TEST_ARRAY = new Array(true); TEST_ARRAY.join('\v')") ); - - -SEPARATOR = "\t" - TEST_LENGTH = 100; -TEST_STRING = ""; -ARGUMENTS = ""; -TEST_RESULT = ""; - -for ( var index = 0; index < TEST_LENGTH; index++ ) { - ARGUMENTS += index; - ARGUMENTS += ( index == TEST_LENGTH -1 ) ? "" : ","; - - TEST_RESULT += index; - TEST_RESULT += ( index == TEST_LENGTH -1 ) ? "" : SEPARATOR; -} - -TEST_ARRAY = eval( "new Array( "+ARGUMENTS +")" ); - -new TestCase( "TEST_ARRAY.join("+SEPARATOR+")", - TEST_RESULT, - TEST_ARRAY.join( SEPARATOR ) ); - -new TestCase( "(new Array( Boolean(true), Boolean(false), null, void 0, Number(1e+21), Number(1e-7))).join()", - "true,false,,,1e+21,1e-7", - (new Array( Boolean(true), Boolean(false), null, void 0, Number(1e+21), Number(1e-7))).join() ); - -// this is not an Array object -new TestCase( "var OB = new Object_1('true,false,111,0.5,1.23e6,NaN,void 0,null'); OB.join(':')", - "true:false:111:0.5:1230000:NaN::", - eval("var OB = new Object_1('true,false,111,0.5,1.23e6,NaN,void 0,null'); OB.join(':')") ); - -test(); - -function Object_1( value ) { - this.array = value.split(","); - this.length = this.array.length; - for ( var i = 0; i < this.length; i++ ) { - this[i] = eval(this.array[i]); - } - this.join = Array.prototype.join; - this.getClass = Object.prototype.toString; -} diff --git a/js/src/tests/ecma/Array/15.4.4.3-2.js b/js/src/tests/ecma/Array/15.4.4.3-2.js deleted file mode 100644 index 9b01737c2f66..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.3-2.js +++ /dev/null @@ -1,39 +0,0 @@ -var arr = [0,1,,3,4]; -Object.prototype[2] = 2; - -assertEq(arr.join(""), "01234"); -assertEq(arr.join(","), "0,1,2,3,4"); - -arr[2] = "porkchops"; -assertEq(arr.join("*"), "0*1*porkchops*3*4"); - -delete Object.prototype[2]; -assertEq(arr.join("*"), "0*1*porkchops*3*4"); - -delete arr[2]; -assertEq(arr.join("*"), "0*1**3*4"); - -Object.prototype[2] = null; -assertEq(arr.join("*"), "0*1**3*4"); -Object.prototype[2] = undefined; -assertEq(arr.join("*"), "0*1**3*4"); -arr[2] = null; -assertEq(arr.join("*"), "0*1**3*4"); -arr[2] = undefined; -assertEq(arr.join("*"), "0*1**3*4"); - -var arr = new Array(10); -assertEq(arr.join(""), ""); -assertEq(arr.join(), ",,,,,,,,,"); -assertEq(arr.join("|"), "|||||||||"); - -arr[2] = "doubt"; -assertEq(arr.join(","), ",,doubt,,,,,,,"); - -arr[9] = "failure"; -assertEq(arr.join(","), ",,doubt,,,,,,,failure"); - -delete arr[2]; -assertEq(arr.join(","), ",,,,,,,,,failure"); - -reportCompare(true, true); diff --git a/js/src/tests/ecma/Array/15.4.4.4-1.js b/js/src/tests/ecma/Array/15.4.4.4-1.js deleted file mode 100644 index 88686948d68d..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.4-1.js +++ /dev/null @@ -1,238 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.4.3-1.js - ECMA Section: 15.4.4.3-1 Array.prototype.reverse() - Description: - - The elements of the array are rearranged so as to reverse their order. - This object is returned as the result of the call. - - 1. Call the [[Get]] method of this object with argument "length". - 2. Call ToUint32(Result(1)). - 3. Compute floor(Result(2)/2). - 4. Let k be 0. - 5. If k equals Result(3), return this object. - 6. Compute Result(2)k1. - 7. Call ToString(k). - 8. ToString(Result(6)). - 9. Call the [[Get]] method of this object with argument Result(7). - 10. Call the [[Get]] method of this object with argument Result(8). - 11. If this object has a property named by Result(8), go to step 12; but - if this object has no property named by Result(8), then go to either - step 12 or step 14, depending on the implementation. - 12. Call the [[Put]] method of this object with arguments Result(7) and - Result(10). - 13. Go to step 15. - 14. Call the [[Delete]] method on this object, providing Result(7) as the - name of the property to delete. - 15. If this object has a property named by Result(7), go to step 16; but if - this object has no property named by Result(7), then go to either step 16 - or step 18, depending on the implementation. - 16. Call the [[Put]] method of this object with arguments Result(8) and - Result(9). - 17. Go to step 19. - 18. Call the [[Delete]] method on this object, providing Result(8) as the - name of the property to delete. - 19. Increase k by 1. - 20. Go to step 5. - - Note that the reverse function is intentionally generic; it does not require - that its this value be an Array object. Therefore it can be transferred to other - kinds of objects for use as a method. Whether the reverse function can be applied - successfully to a host object is implementation dependent. - - Note: Array.prototype.reverse allows some flexibility in implementation - regarding array indices that have not been populated. This test covers the - cases in which unpopulated indices are not deleted, since the JavaScript - implementation does not delete uninitialzed indices. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.4.4.4-1"; -var BUGNUMBER="123724"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " Array.prototype.reverse()"); - -var ARR_PROTOTYPE = Array.prototype; - -new TestCase( "Array.prototype.reverse.length", - 0, - Array.prototype.reverse.length ); - -// length of array is 0 -new TestCase( "var A = new Array(); A.reverse(); A.length", - 0, - eval("var A = new Array(); A.reverse(); A.length") ); - -// length of array is 1 -var A = new Array(true); -var R = Reverse(A); - -new TestCase( "var A = new Array(true); A.reverse(); A.length", - R.length, - eval("var A = new Array(true); A.reverse(); A.length") ); - -CheckItems( R, A ); - -// length of array is 2 -var S = "var A = new Array( true,false )"; -eval(S); -var R = Reverse(A); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); - -CheckItems( R, A ); - -// length of array is 3 -var S = "var A = new Array( true,false,null )"; -eval(S); -var R = Reverse(A); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); - -CheckItems( R, A ); - -// length of array is 4 -var S = "var A = new Array( true,false,null,void 0 )"; -eval(S); -var R = Reverse(A); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); -CheckItems( R, A ); - - -// some array indexes have not been set -var S = "var A = new Array(); A[8] = 'hi', A[3] = 'yo'"; -eval(S); -var R = Reverse(A); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); - -CheckItems( R, A ); - - -var OBJECT_OBJECT = new Object(); -var FUNCTION_OBJECT = new Function( 'return this' ); -var BOOLEAN_OBJECT = new Boolean; -var DATE_OBJECT = new Date(0); -var STRING_OBJECT = new String('howdy'); -var NUMBER_OBJECT = new Number(Math.PI); -var ARRAY_OBJECT= new Array(1000); - -var args = "null, void 0, Math.pow(2,32), 1.234e-32, OBJECT_OBJECT, BOOLEAN_OBJECT, FUNCTION_OBJECT, DATE_OBJECT, STRING_OBJECT,"+ - "ARRAY_OBJECT, NUMBER_OBJECT, Math, true, false, 123, '90210'"; - -var S = "var A = new Array("+args+")"; -eval(S); -var R = Reverse(A); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); - -CheckItems( R, A ); - -var limit = 1000; -var args = ""; -for (var i = 0; i < limit; i++ ) { - args += i +""; - if ( i + 1 < limit ) { - args += ","; - } -} - -var S = "var A = new Array("+args+")"; -eval(S); -var R = Reverse(A); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); - -CheckItems( R, A ); - -var S = "var MYOBJECT = new Object_1( \"void 0, 1, null, 2, \'\'\" )"; -eval(S); -var R = Reverse( A ); - -new TestCase( S +"; A.reverse(); A.length", - R.length, - eval( S + "; A.reverse(); A.length") ); - -CheckItems( R, A ); - -test(); - -function CheckItems( R, A ) { - for ( var i = 0; i < R.length; i++ ) { - new TestCase( - "A["+i+ "]", - R[i], - A[i] ); - } -} - -function Object_1( value ) { - this.array = value.split(","); - this.length = this.array.length; - for ( var i = 0; i < this.length; i++ ) { - this[i] = eval(this.array[i]); - } - this.join = Array.prototype.reverse; - this.getClass = Object.prototype.toString; -} - -function Reverse( array ) { - var r2 = array.length; - var k = 0; - var r3 = Math.floor( r2/2 ); - if ( r3 == k ) { - return array; - } - - for ( k = 0; k < r3; k++ ) { - var r6 = r2 - k - 1; -// var r7 = String( k ); - var r7 = k; - var r8 = String( r6 ); - - var r9 = array[r7]; - var r10 = array[r8]; - - array[r7] = r10; - array[r8] = r9; - } - - return array; -} - -function Iterate( array ) { - for ( var i = 0; i < array.length; i++ ) { -// print( i+": "+ array[String(i)] ); - } -} - -function Object_1( value ) { - this.array = value.split(","); - this.length = this.array.length; - for ( var i = 0; i < this.length; i++ ) { - this[i] = this.array[i]; - } - this.reverse = Array.prototype.reverse; - this.getClass = Object.prototype.toString; -} diff --git a/js/src/tests/ecma/Array/15.4.4.4-2.js b/js/src/tests/ecma/Array/15.4.4.4-2.js deleted file mode 100644 index 5028fbbdad4f..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.4-2.js +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.4.3-1.js - ECMA Section: 15.4.4.3-1 Array.prototype.reverse() - Description: - - The elements of the array are rearranged so as to reverse their order. - This object is returned as the result of the call. - - 1. Call the [[Get]] method of this object with argument "length". - 2. Call ToUint32(Result(1)). - 3. Compute floor(Result(2)/2). - 4. Let k be 0. - 5. If k equals Result(3), return this object. - 6. Compute Result(2)k1. - 7. Call ToString(k). - 8. ToString(Result(6)). - 9. Call the [[Get]] method of this object with argument Result(7). - 10. Call the [[Get]] method of this object with argument Result(8). - 11. If this object has a property named by Result(8), go to step 12; but - if this object has no property named by Result(8), then go to either - step 12 or step 14, depending on the implementation. - 12. Call the [[Put]] method of this object with arguments Result(7) and - Result(10). - 13. Go to step 15. - 14. Call the [[Delete]] method on this object, providing Result(7) as the - name of the property to delete. - 15. If this object has a property named by Result(7), go to step 16; but if - this object has no property named by Result(7), then go to either step 16 - or step 18, depending on the implementation. - 16. Call the [[Put]] method of this object with arguments Result(8) and - Result(9). - 17. Go to step 19. - 18. Call the [[Delete]] method on this object, providing Result(8) as the - name of the property to delete. - 19. Increase k by 1. - 20. Go to step 5. - - Note that the reverse function is intentionally generic; it does not require - that its this value be an Array object. Therefore it can be transferred to other - kinds of objects for use as a method. Whether the reverse function can be applied - successfully to a host object is implementation dependent. - - Note: Array.prototype.reverse allows some flexibility in implementation - regarding array indices that have not been populated. This test covers the - cases in which unpopulated indices are not deleted, since the JavaScript - implementation does not delete uninitialzed indices. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.4.4-1"; - -writeHeaderToLog( SECTION + " Array.prototype.reverse()"); - -var ARR_PROTOTYPE = Array.prototype; - -new TestCase( "Array.prototype.reverse.length", 0, Array.prototype.reverse.length ); - -// length of array is 0 -new TestCase( - "var A = new Array(); A.reverse(); A.length", - 0, - eval("var A = new Array(); A.reverse(); A.length") ); - -test(); - -function CheckItems( R, A ) { - for ( var i = 0; i < R.length; i++ ) { - new TestCase( - "A["+i+ "]", - R[i], - A[i] ); - } -} -test(); - -function Object_1( value ) { - this.array = value.split(","); - this.length = this.array.length; - for ( var i = 0; i < this.length; i++ ) { - this[i] = eval(this.array[i]); - } - this.join = Array.prototype.reverse; - this.getClass = Object.prototype.toString; -} -function Reverse( array ) { - var r2 = array.length; - var k = 0; - var r3 = Math.floor( r2/2 ); - if ( r3 == k ) { - return array; - } - - for ( k = 0; k < r3; k++ ) { - var r6 = r2 - k - 1; -// var r7 = String( k ); - var r7 = k; - var r8 = String( r6 ); - - var r9 = array[r7]; - var r10 = array[r8]; - - array[r7] = r10; - array[r8] = r9; - } - - return array; -} -function Iterate( array ) { - for ( var i = 0; i < array.length; i++ ) { -// print( i+": "+ array[String(i)] ); - } -} - -function Object_1( value ) { - this.array = value.split(","); - this.length = this.array.length; - for ( var i = 0; i < this.length; i++ ) { - this[i] = this.array[i]; - } - this.reverse = Array.prototype.reverse; - this.getClass = Object.prototype.toString; -} diff --git a/js/src/tests/ecma/Array/15.4.4.js b/js/src/tests/ecma/Array/15.4.4.js deleted file mode 100644 index 8c58fd2a3961..000000000000 --- a/js/src/tests/ecma/Array/15.4.4.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.4.js - ECMA Section: 15.4.4 Properties of the Array Prototype Object - Description: The value of the internal [[Prototype]] property of - the Array prototype object is the Object prototype - object. - - Note that the Array prototype object is itself an - array; it has a length property (whose initial value - is (0) and the special [[Put]] method. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.4"; -var TITLE = "Properties of the Array Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "Array.prototype.length", 0, Array.prototype.length ); - -// verify that prototype object is an Array object. -new TestCase( "typeof Array.prototype", "object", typeof Array.prototype ); - -new TestCase( "Array.prototype.toString = Object.prototype.toString; Array.prototype.toString()", - "[object Array]", - eval("Array.prototype.toString = Object.prototype.toString; Array.prototype.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.5.1-1.js b/js/src/tests/ecma/Array/15.4.5.1-1.js deleted file mode 100644 index 9c159e133a04..000000000000 --- a/js/src/tests/ecma/Array/15.4.5.1-1.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.5.1-1.js - ECMA Section: [[ Put]] (P, V) - Description: - Array objects use a variation of the [[Put]] method used for other native - ECMAScript objects (section 8.6.2.2). - - Assume A is an Array object and P is a string. - - When the [[Put]] method of A is called with property P and value V, the - following steps are taken: - - 1. Call the [[CanPut]] method of A with name P. - 2. If Result(1) is false, return. - 3. If A doesn't have a property with name P, go to step 7. - 4. If P is "length", go to step 12. - 5. Set the value of property P of A to V. - 6. Go to step 8. - 7. Create a property with name P, set its value to V and give it empty - attributes. - 8. If P is not an array index, return. - 9. If A itself has a property (not an inherited property) named "length", - andToUint32(P) is less than the value of the length property of A, then - return. - 10. Change (or set) the value of the length property of A to ToUint32(P)+1. - 11. Return. - 12. Compute ToUint32(V). - 13. For every integer k that is less than the value of the length property - of A but not less than Result(12), if A itself has a property (not an - inherited property) named ToString(k), then delete that property. - 14. Set the value of property P of A to Result(12). - 15. Return. - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.4.5.1-1"; -var TITLE = "Array [[Put]] (P, V)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// P is "length" - -new TestCase( "var A = new Array(); A.length = 1000; A.length", - 1000, - eval("var A = new Array(); A.length = 1000; A.length") ); - -// A has Property P, and P is not length or an array index -new TestCase( "var A = new Array(1000); A.name = 'name of this array'; A.name", - 'name of this array', - eval("var A = new Array(1000); A.name = 'name of this array'; A.name") ); - -new TestCase( "var A = new Array(1000); A.name = 'name of this array'; A.length", - 1000, - eval("var A = new Array(1000); A.name = 'name of this array'; A.length") ); - - -// A has Property P, P is not length, P is an array index, and ToUint32(p) is less than the -// value of length - -new TestCase( "var A = new Array(1000); A[123] = 'hola'; A[123]", - 'hola', - eval("var A = new Array(1000); A[123] = 'hola'; A[123]") ); - -new TestCase( "var A = new Array(1000); A[123] = 'hola'; A.length", - 1000, - eval("var A = new Array(1000); A[123] = 'hola'; A.length") ); - - -for ( var i = 0X0020, TEST_STRING = "var A = new Array( " ; i < 0x00ff; i++ ) { - if (i === "u".charCodeAt(0) || i === "x".charCodeAt(0)) - continue; - TEST_STRING += "\'\\"+ String.fromCharCode( i ) +"\'"; - if ( i < 0x00FF - 1 ) { - TEST_STRING += ","; - } else { - TEST_STRING += ");" - } -} - -var LENGTH = 0x00ff - 0x0020 - 2 /* "u"/"x" exclusions above */; - -new TestCase( TEST_STRING +" A[150] = 'hello'; A[150]", - 'hello', - eval( TEST_STRING + " A[150] = 'hello'; A[150]" ) ); - -new TestCase( TEST_STRING +" A[150] = 'hello'; A[150]", - LENGTH, - eval( TEST_STRING + " A[150] = 'hello'; A.length" ) ); - -// A has Property P, P is not length, P is an array index, and ToUint32(p) is not less than the -// value of length - -new TestCase( "var A = new Array(); A[123] = true; A.length", - 124, - eval("var A = new Array(); A[123] = true; A.length") ); - -new TestCase( "var A = new Array(0,1,2,3,4,5,6,7,8,9,10); A[15] ='15'; A.length", - 16, - eval("var A = new Array(0,1,2,3,4,5,6,7,8,9,10); A[15] ='15'; A.length") ); - -for ( var i = 0; i < A.length; i++ ) { - new TestCase( "var A = new Array(0,1,2,3,4,5,6,7,8,9,10); A[15] ='15'; A[" +i +"]", - (i <= 10) ? i : ( i == 15 ? '15' : void 0 ), - A[i] ); -} -// P is not an array index, and P is not "length" - -new TestCase( "var A = new Array(); A.join.length = 4; A.join.length", - 1, - eval("var A = new Array(); A.join.length = 4; A.join.length") ); - -new TestCase( "var A = new Array(); A.join.length = 4; A.length", - 0, - eval("var A = new Array(); A.join.length = 4; A.length") ); - -test(); diff --git a/js/src/tests/ecma/Array/15.4.5.1-2.js b/js/src/tests/ecma/Array/15.4.5.1-2.js deleted file mode 100644 index ca02b34a78ef..000000000000 --- a/js/src/tests/ecma/Array/15.4.5.1-2.js +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.5.1-2.js - ECMA Section: [[ Put]] (P, V) - Description: - Array objects use a variation of the [[Put]] method used for other native - ECMAScript objects (section 8.6.2.2). - - Assume A is an Array object and P is a string. - - When the [[Put]] method of A is called with property P and value V, the - following steps are taken: - - 1. Call the [[CanPut]] method of A with name P. - 2. If Result(1) is false, return. - 3. If A doesn't have a property with name P, go to step 7. - 4. If P is "length", go to step 12. - 5. Set the value of property P of A to V. - 6. Go to step 8. - 7. Create a property with name P, set its value to V and give it empty - attributes. - 8. If P is not an array index, return. - 9. If A itself has a property (not an inherited property) named "length", - andToUint32(P) is less than the value of the length property of A, then - return. - 10. Change (or set) the value of the length property of A to ToUint32(P)+1. - 11. Return. - 12. Compute ToUint32(V). - 13. For every integer k that is less than the value of the length property - of A but not less than Result(12), if A itself has a property (not an - inherited property) named ToString(k), then delete that property. - 14. Set the value of property P of A to Result(12). - 15. Return. - - - These are test cases from Waldemar, detailed in - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=123552 - - Author: christine@netscape.com - Date: 15 June 1998 -*/ - -var SECTION = "15.4.5.1-2"; -var TITLE = "Array [[Put]] (P,V)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var a = new Array(); - -AddCase( "3.00", "three" ); -AddCase( "00010", "eight" ); -AddCase( "37xyz", "thirty-five" ); -AddCase("5000000000", 5) - AddCase( "-2", -3 ); - -new TestCase( "a[10]", - void 0, - a[10] ); - -new TestCase( "a[3]", - void 0, - a[3] ); - -a[4] = "four"; - -new TestCase( "a[4] = \"four\"; a[4]", - "four", - a[4] ); - -new TestCase( "a[\"4\"]", - "four", - a["4"] ); - -new TestCase( "a[\"4.00\"]", - void 0, - a["4.00"] ); - -new TestCase( "a.length", - 5, - a.length ); - - -a["5000000000"] = 5; - -new TestCase( "a[\"5000000000\"] = 5; a.length", - 5, - a.length ); - -new TestCase( "a[\"-2\"] = -3; a.length", - 5, - a.length ); - -test(); - -function AddCase ( arg, value ) { - - a[arg] = value; - - new TestCase( "a[\"" + arg + "\"] = "+ value +"; a.length", - 0, - a.length ); -} diff --git a/js/src/tests/ecma/Array/15.4.5.2-1.js b/js/src/tests/ecma/Array/15.4.5.2-1.js deleted file mode 100644 index 54f3382dfc2d..000000000000 --- a/js/src/tests/ecma/Array/15.4.5.2-1.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.5.2-1.js - ECMA Section: Array.length - Description: - 15.4.5.2 length - The length property of this Array object is always numerically greater - than the name of every property whose name is an array index. - - The length property has the attributes { DontEnum, DontDelete }. - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.4.5.2-1"; -var TITLE = "Array.length"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var A = new Array(); A.length", - 0, - eval("var A = new Array(); A.length") ); -new TestCase( "var A = new Array(); A[Math.pow(2,32)-2] = 'hi'; A.length", - Math.pow(2,32)-1, - eval("var A = new Array(); A[Math.pow(2,32)-2] = 'hi'; A.length") ); -new TestCase( "var A = new Array(); A.length = 123; A.length", - 123, - eval("var A = new Array(); A.length = 123; A.length") ); -new TestCase( "var A = new Array(); A.length = 123; var PROPS = ''; for ( var p in A ) { PROPS += ( p == 'length' ? p : ''); } PROPS", - "", - eval("var A = new Array(); A.length = 123; var PROPS = ''; for ( var p in A ) { PROPS += ( p == 'length' ? p : ''); } PROPS") ); -new TestCase( "var A = new Array(); A.length = 123; delete A.length", - false , - eval("var A = new Array(); A.length = 123; delete A.length") ); -new TestCase( "var A = new Array(); A.length = 123; delete A.length; A.length", - 123, - eval("var A = new Array(); A.length = 123; delete A.length; A.length") ); -test(); - diff --git a/js/src/tests/ecma/Array/15.4.5.2-2.js b/js/src/tests/ecma/Array/15.4.5.2-2.js deleted file mode 100644 index a00536899074..000000000000 --- a/js/src/tests/ecma/Array/15.4.5.2-2.js +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.5.2-2.js - ECMA Section: Array.length - Description: - 15.4.5.2 length - The length property of this Array object is always numerically greater - than the name of every property whose name is an array index. - - The length property has the attributes { DontEnum, DontDelete }. - - This test verifies that the Array.length property is not Read Only. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.4.5.2-2"; -var TITLE = "Array.length"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addCase( new Array(), 0, Math.pow(2,14), Math.pow(2,14) ); - -addCase( new Array(), 0, 1, 1 ); - -addCase( new Array(Math.pow(2,12)), Math.pow(2,12), 0, 0 ); -addCase( new Array(Math.pow(2,13)), Math.pow(2,13), Math.pow(2,12), Math.pow(2,12) ); -addCase( new Array(Math.pow(2,12)), Math.pow(2,12), Math.pow(2,12), Math.pow(2,12) ); -addCase( new Array(Math.pow(2,14)), Math.pow(2,14), Math.pow(2,12), Math.pow(2,12) ) - -// some tests where array is not empty -// array is populated with strings - for ( var arg = "", i = 0; i < Math.pow(2,12); i++ ) { - arg += String(i) + ( i != Math.pow(2,12)-1 ? "," : "" ); - - } -// print(i +":"+arg); - -var a = eval( "new Array("+arg+")" ); - -addCase( a, i, i, i ); -addCase( a, i, Math.pow(2,12)+i+1, Math.pow(2,12)+i+1, true ); -addCase( a, Math.pow(2,12)+5, 0, 0, true ); - -test(); - -function addCase( object, old_len, set_len, new_len, checkitems ) { - object.length = set_len; - - new TestCase( "array = new Array("+ old_len+"); array.length = " + set_len + - "; array.length", - new_len, - object.length ); - - if ( checkitems ) { - // verify that items between old and newlen are all undefined - if ( new_len < old_len ) { - var passed = true; - for ( var i = new_len; i < old_len; i++ ) { - if ( object[i] != void 0 ) { - passed = false; - } - } - new TestCase( "verify that array items have been deleted", - true, - passed ); - } - if ( new_len > old_len ) { - var passed = true; - for ( var i = old_len; i < new_len; i++ ) { - if ( object[i] != void 0 ) { - passed = false; - } - } - new TestCase( "verify that new items are undefined", - true, - passed ); - } - } - -} - diff --git a/js/src/tests/ecma/Boolean/15.6.1.js b/js/src/tests/ecma/Boolean/15.6.1.js deleted file mode 100644 index ac03ef68b84e..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.1.js +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.1.js - ECMA Section: 15.6.1 The Boolean Function - 15.6.1.1 Boolean( value ) - 15.6.1.2 Boolean () - Description: Boolean( value ) should return a Boolean value - not a Boolean object) computed by - Boolean.toBooleanValue( value) - - 15.6.1.2 Boolean() returns false - - Author: christine@netscape.com - Date: 27 jun 1997 - - - Data File Fields: - VALUE Argument passed to the Boolean function - TYPE typeof VALUE (not used, but helpful in understanding - the data file) - E_RETURN Expected return value of Boolean( VALUE ) -*/ -var SECTION = "15.6.1"; -var TITLE = "The Boolean constructor called as a function: Boolean( value ) and Boolean()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var array = new Array(); -var item = 0; - -new TestCase( "Boolean(1)", true, Boolean(1) ); -new TestCase( "Boolean(0)", false, Boolean(0) ); -new TestCase( "Boolean(-1)", true, Boolean(-1) ); -new TestCase( "Boolean('1')", true, Boolean("1") ); -new TestCase( "Boolean('0')", true, Boolean("0") ); -new TestCase( "Boolean('-1')", true, Boolean("-1") ); -new TestCase( "Boolean(true)", true, Boolean(true) ); -new TestCase( "Boolean(false)", false, Boolean(false) ); - -new TestCase( "Boolean('true')", true, Boolean("true") ); -new TestCase( "Boolean('false')", true, Boolean("false") ); -new TestCase( "Boolean(null)", false, Boolean(null) ); - -new TestCase( "Boolean(-Infinity)", true, Boolean(Number.NEGATIVE_INFINITY) ); -new TestCase( "Boolean(NaN)", false, Boolean(Number.NaN) ); -new TestCase( "Boolean(void(0))", false, Boolean( void(0) ) ); -new TestCase( "Boolean(x=0)", false, Boolean( x=0 ) ); -new TestCase( "Boolean(x=1)", true, Boolean( x=1 ) ); -new TestCase( "Boolean(x=false)", false, Boolean( x=false ) ); -new TestCase( "Boolean(x=true)", true, Boolean( x=true ) ); -new TestCase( "Boolean(x=null)", false, Boolean( x=null ) ); -new TestCase( "Boolean()", false, Boolean() ); -// array[item++] = new TestCase( "Boolean(var someVar)", false, Boolean( someVar ) ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.2.js b/js/src/tests/ecma/Boolean/15.6.2.js deleted file mode 100644 index fd63a086691a..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.2.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.2.js - ECMA Section: 15.6.2 The Boolean Constructor - 15.6.2.1 new Boolean( value ) - 15.6.2.2 new Boolean() - - This test verifies that the Boolean constructor - initializes a new object (typeof should return - "object"). The prototype of the new object should - be Boolean.prototype. The value of the object - should be ToBoolean( value ) (a boolean value). - - Description: - Author: christine@netscape.com - Date: june 27, 1997 - -*/ -var SECTION = "15.6.2"; -var TITLE = "15.6.2 The Boolean Constructor; 15.6.2.1 new Boolean( value ); 15.6.2.2 new Boolean()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var array = new Array(); -var item = 0; - -new TestCase( "typeof (new Boolean(1))", "object", typeof (new Boolean(1)) ); -new TestCase( "(new Boolean(1)).constructor", Boolean.prototype.constructor, (new Boolean(1)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(1)).valueOf()", true, (new Boolean(1)).valueOf() ); -new TestCase( "typeof new Boolean(1)", "object", typeof new Boolean(1) ); -new TestCase( "(new Boolean(0)).constructor", Boolean.prototype.constructor, (new Boolean(0)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(0)).valueOf()", false, (new Boolean(0)).valueOf() ); -new TestCase( "typeof new Boolean(0)", "object", typeof new Boolean(0) ); -new TestCase( "(new Boolean(-1)).constructor", Boolean.prototype.constructor, (new Boolean(-1)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(-1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(-1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(-1)).valueOf()", true, (new Boolean(-1)).valueOf() ); -new TestCase( "typeof new Boolean(-1)", "object", typeof new Boolean(-1) ); -new TestCase( "(new Boolean('1')).constructor", Boolean.prototype.constructor, (new Boolean('1')).constructor ); -new TestCase( - "TESTBOOL=new Boolean('1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean('1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean('1')).valueOf()", true, (new Boolean('1')).valueOf() ); -new TestCase( "typeof new Boolean('1')", "object", typeof new Boolean('1') ); -new TestCase( "(new Boolean('0')).constructor", Boolean.prototype.constructor, (new Boolean('0')).constructor ); -new TestCase( - "TESTBOOL=new Boolean('0');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean('0');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean('0')).valueOf()", true, (new Boolean('0')).valueOf() ); -new TestCase( "typeof new Boolean('0')", "object", typeof new Boolean('0') ); -new TestCase( "(new Boolean('-1')).constructor", Boolean.prototype.constructor, (new Boolean('-1')).constructor ); -new TestCase( - "TESTBOOL=new Boolean('-1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean('-1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean('-1')).valueOf()", true, (new Boolean('-1')).valueOf() ); -new TestCase( "typeof new Boolean('-1')", "object", typeof new Boolean('-1') ); -new TestCase( "(new Boolean(new Boolean(true))).constructor", Boolean.prototype.constructor, (new Boolean(new Boolean(true))).constructor ); -new TestCase( - "TESTBOOL=new Boolean(new Boolean(true));TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(new Boolean(true));TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(new Boolean(true))).valueOf()", true, (new Boolean(new Boolean(true))).valueOf() ); -new TestCase( "typeof new Boolean(new Boolean(true))", "object", typeof new Boolean(new Boolean(true)) ); -new TestCase( "(new Boolean(Number.NaN)).constructor", Boolean.prototype.constructor, (new Boolean(Number.NaN)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(Number.NaN);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(Number.NaN);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(Number.NaN)).valueOf()", false, (new Boolean(Number.NaN)).valueOf() ); -new TestCase( "typeof new Boolean(Number.NaN)", "object", typeof new Boolean(Number.NaN) ); -new TestCase( "(new Boolean(null)).constructor", Boolean.prototype.constructor, (new Boolean(null)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(null);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(null);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(null)).valueOf()", false, (new Boolean(null)).valueOf() ); -new TestCase( "typeof new Boolean(null)", "object", typeof new Boolean(null) ); -new TestCase( "(new Boolean(void 0)).constructor", Boolean.prototype.constructor, (new Boolean(void 0)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(void 0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(void 0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(void 0)).valueOf()", false, (new Boolean(void 0)).valueOf() ); -new TestCase( "typeof new Boolean(void 0)", "object", typeof new Boolean(void 0) ); -new TestCase( "(new Boolean(Number.POSITIVE_INFINITY)).constructor", Boolean.prototype.constructor, (new Boolean(Number.POSITIVE_INFINITY)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(Number.POSITIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(Number.POSITIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(Number.POSITIVE_INFINITY)).valueOf()", true, (new Boolean(Number.POSITIVE_INFINITY)).valueOf() ); -new TestCase( "typeof new Boolean(Number.POSITIVE_INFINITY)", "object", typeof new Boolean(Number.POSITIVE_INFINITY) ); -new TestCase( "(new Boolean(Number.NEGATIVE_INFINITY)).constructor", Boolean.prototype.constructor, (new Boolean(Number.NEGATIVE_INFINITY)).constructor ); -new TestCase( - "TESTBOOL=new Boolean(Number.NEGATIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean(Number.NEGATIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean(Number.NEGATIVE_INFINITY)).valueOf()", true, (new Boolean(Number.NEGATIVE_INFINITY)).valueOf() ); -new TestCase( "typeof new Boolean(Number.NEGATIVE_INFINITY)", "object", typeof new Boolean(Number.NEGATIVE_INFINITY) ); -new TestCase( "(new Boolean(Number.NEGATIVE_INFINITY)).constructor", Boolean.prototype.constructor, (new Boolean(Number.NEGATIVE_INFINITY)).constructor ); -new TestCase( "TESTBOOL=new Boolean();TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", - "[object Boolean]", - eval("TESTBOOL=new Boolean();TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); -new TestCase( "(new Boolean()).valueOf()", false, (new Boolean()).valueOf() ); -new TestCase( "typeof new Boolean()", "object", typeof new Boolean() ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.3.1-1.js b/js/src/tests/ecma/Boolean/15.6.3.1-1.js deleted file mode 100644 index fcb7273143d1..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.3.1-1.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.1-1.js - ECMA Section: 15.6.3 Boolean.prototype - - Description: The initial value of Boolean.prototype is the built-in - Boolean prototype object (15.6.4). - - The property shall have the attributes [DontEnum, - DontDelete, ReadOnly ]. - - This tests the DontEnum property of Boolean.prototype - - Author: christine@netscape.com - Date: june 27, 1997 - -*/ -var SECTION = "15.6.3.1-1"; -var TITLE = "Boolean.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var array = new Array(); -var item = 0; - -new TestCase( "var str='';for ( p in Boolean ) { str += p } str;", - "", - eval("var str='';for ( p in Boolean ) { str += p } str;") ); -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.3.1-2.js b/js/src/tests/ecma/Boolean/15.6.3.1-2.js deleted file mode 100644 index 900673352b0b..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.3.1-2.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.1-2.js - ECMA Section: 15.6.3.1 Boolean.prototype - - Description: The initial valu eof Boolean.prototype is the built-in - Boolean prototype object (15.6.4). - - The property shall have the attributes [DontEnum, - DontDelete, ReadOnly ]. - - This tests the DontDelete property of Boolean.prototype - - Author: christine@netscape.com - Date: june 27, 1997 - -*/ -var SECTION = "15.6.3.1-2"; -var TITLE = "Boolean.prototype" - writeHeaderToLog( SECTION + TITLE ); - -var array = new Array(); -var item = 0; - -new TestCase( "delete( Boolean.prototype)", - false, - delete( Boolean.prototype) ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.3.1-3.js b/js/src/tests/ecma/Boolean/15.6.3.1-3.js deleted file mode 100644 index bed67a7fe74e..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.3.1-3.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.1-3.js - ECMA Section: 15.6.3.1 Boolean.prototype - - Description: The initial valu eof Boolean.prototype is the built-in - Boolean prototype object (15.6.4). - - The property shall have the attributes [DontEnum, - DontDelete, ReadOnly ]. - - This tests the DontDelete property of Boolean.prototype - - Author: christine@netscape.com - Date: june 27, 1997 - -*/ -var SECTION = "15.6.3.1-3"; -var TITLE = "Boolean.prototype" - writeHeaderToLog( SECTION + TITLE ); - -var array = new Array(); -var item = 0; - -new TestCase( "delete( Boolean.prototype); Boolean.prototype", - Boolean.prototype, - eval("delete( Boolean.prototype); Boolean.prototype") ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.3.1-4.js b/js/src/tests/ecma/Boolean/15.6.3.1-4.js deleted file mode 100644 index 0d908f48cc33..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.3.1-4.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.1-4.js - ECMA Section: 15.6.3.1 Properties of the Boolean Prototype Object - - Description: The initial value of Boolean.prototype is the built-in - Boolean prototype object (15.6.4). - - The property shall have the attributes [DontEnum, - DontDelete, ReadOnly ]. - - This tests the ReadOnly property of Boolean.prototype - - Author: christine@netscape.com - Date: 30 september 1997 - -*/ -var SECTION = "15.6.3.1-4"; -var TITLE = "Boolean.prototype" - writeHeaderToLog( SECTION + TITLE ); - -var BOOL_PROTO = Boolean.prototype; - -new TestCase( "var BOOL_PROTO = Boolean.prototype; Boolean.prototype=null; Boolean.prototype == BOOL_PROTO", - true, - eval("var BOOL_PROTO = Boolean.prototype; Boolean.prototype=null; Boolean.prototype == BOOL_PROTO") ); - -new TestCase( "var BOOL_PROTO = Boolean.prototype; Boolean.prototype=null; Boolean.prototype == null", - false, - eval("var BOOL_PROTO = Boolean.prototype; Boolean.prototype=null; Boolean.prototype == null") ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.3.1.js b/js/src/tests/ecma/Boolean/15.6.3.1.js deleted file mode 100644 index 889899bd3936..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.3.1.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.1.js - ECMA Section: 15.6.3.1 Boolean.prototype - - Description: The initial valu eof Boolean.prototype is the built-in - Boolean prototype object (15.6.4). - - The property shall have the attributes [DontEnum, - DontDelete, ReadOnly ]. - - It has the internal [[Call]] and [[Construct]] - properties (not tested), and the length property. - - Author: christine@netscape.com - Date: june 27, 1997 - -*/ - -var SECTION = "15.6.3.1"; -var TITLE = "Boolean.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Boolean.prototype.valueOf()", false, Boolean.prototype.valueOf() ); -new TestCase( "Boolean.length", 1, Boolean.length ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4-1.js b/js/src/tests/ecma/Boolean/15.6.4-1.js deleted file mode 100644 index bb00ef3d2249..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4-1.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4-1.js - ECMA Section: 15.6.4 Properties of the Boolean Prototype Object - - Description: - The Boolean prototype object is itself a Boolean object (its [[Class]] is - "Boolean") whose value is false. - - The value of the internal [[Prototype]] property of the Boolean prototype object - is the Object prototype object (15.2.3.1). - - Author: christine@netscape.com - Date: 30 september 1997 - -*/ - - -var SECTION = "15.6.4-1"; - -writeHeaderToLog( SECTION + " Properties of the Boolean Prototype Object"); - -new TestCase( "typeof Boolean.prototype == typeof( new Boolean )", true, typeof Boolean.prototype == typeof( new Boolean ) ); -new TestCase( "typeof( Boolean.prototype )", "object", typeof(Boolean.prototype) ); -new TestCase( - "Boolean.prototype.toString = Object.prototype.toString; Boolean.prototype.toString()", - "[object Boolean]", - eval("Boolean.prototype.toString = Object.prototype.toString; Boolean.prototype.toString()") ); -new TestCase( "Boolean.prototype.valueOf()", false, Boolean.prototype.valueOf() ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.1.js b/js/src/tests/ecma/Boolean/15.6.4.1.js deleted file mode 100644 index 717025b6e6be..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.1.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.1.js - ECMA Section: 15.6.4.1 Boolean.prototype.constructor - - Description: The initial value of Boolean.prototype.constructor - is the built-in Boolean constructor. - - Author: christine@netscape.com - Date: 30 september 1997 - -*/ -var SECTION = "15.6.4.1"; -var TITLE = "Boolean.prototype.constructor" - writeHeaderToLog( SECTION + TITLE ); - -new TestCase( "( Boolean.prototype.constructor == Boolean )", - true , - (Boolean.prototype.constructor == Boolean) ); -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.2-1.js b/js/src/tests/ecma/Boolean/15.6.4.2-1.js deleted file mode 100644 index e3ddea8a9c9c..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.2-1.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.2.js - ECMA Section: 15.6.4.2-1 Boolean.prototype.toString() - Description: If this boolean value is true, then the string "true" - is returned; otherwise this boolean value must be false, - and the string "false" is returned. - - The toString function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - -var SECTION = "15.6.4.2-1"; -var TITLE = "Boolean.prototype.toString()" - writeHeaderToLog( SECTION + TITLE ); - - -new TestCase( "new Boolean(1)", "true", (new Boolean(1)).toString() ); -new TestCase( "new Boolean(0)", "false", (new Boolean(0)).toString() ); -new TestCase( "new Boolean(-1)", "true", (new Boolean(-1)).toString() ); -new TestCase( "new Boolean('1')", "true", (new Boolean("1")).toString() ); -new TestCase( "new Boolean('0')", "true", (new Boolean("0")).toString() ); -new TestCase( "new Boolean(true)", "true", (new Boolean(true)).toString() ); -new TestCase( "new Boolean(false)", "false", (new Boolean(false)).toString() ); -new TestCase( "new Boolean('true')", "true", (new Boolean('true')).toString() ); -new TestCase( "new Boolean('false')", "true", (new Boolean('false')).toString() ); - -new TestCase( "new Boolean('')", "false", (new Boolean('')).toString() ); -new TestCase( "new Boolean(null)", "false", (new Boolean(null)).toString() ); -new TestCase( "new Boolean(void(0))", "false", (new Boolean(void(0))).toString() ); -new TestCase( "new Boolean(-Infinity)", "true", (new Boolean(Number.NEGATIVE_INFINITY)).toString() ); -new TestCase( "new Boolean(NaN)", "false", (new Boolean(Number.NaN)).toString() ); -new TestCase( "new Boolean()", "false", (new Boolean()).toString() ); -new TestCase( "new Boolean(x=1)", "true", (new Boolean(x=1)).toString() ); -new TestCase( "new Boolean(x=0)", "false", (new Boolean(x=0)).toString() ); -new TestCase( "new Boolean(x=false)", "false", (new Boolean(x=false)).toString() ); -new TestCase( "new Boolean(x=true)", "true", (new Boolean(x=true)).toString() ); -new TestCase( "new Boolean(x=null)", "false", (new Boolean(x=null)).toString() ); -new TestCase( "new Boolean(x='')", "false", (new Boolean(x="")).toString() ); -new TestCase( "new Boolean(x=' ')", "true", (new Boolean(x=" ")).toString() ); - -new TestCase( "new Boolean(new MyObject(true))", "true", (new Boolean(new MyObject(true))).toString() ); -new TestCase( "new Boolean(new MyObject(false))", "true", (new Boolean(new MyObject(false))).toString() ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value" ); - return this; -} diff --git a/js/src/tests/ecma/Boolean/15.6.4.2-2.js b/js/src/tests/ecma/Boolean/15.6.4.2-2.js deleted file mode 100644 index e5eb487f2583..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.2-2.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.2-2.js - ECMA Section: 15.6.4.2 Boolean.prototype.toString() - Description: Returns this boolean value. - - The toString function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - -var SECTION = "15.6.4.2-2"; -var TITLE = "Boolean.prototype.toString()" - writeHeaderToLog( SECTION + TITLE ); - -new TestCase( "tostr=Boolean.prototype.toString; x=new Boolean(); x.toString=tostr;x.toString()", - "false", - eval("tostr=Boolean.prototype.toString; x=new Boolean(); x.toString=tostr;x.toString()") ); -new TestCase( "tostr=Boolean.prototype.toString; x=new Boolean(true); x.toString=tostr; x.toString()", - "true", - eval("tostr=Boolean.prototype.toString; x=new Boolean(true); x.toString=tostr; x.toString()") ); -new TestCase( "tostr=Boolean.prototype.toString; x=new Boolean(false); x.toString=tostr;x.toString()", - "false", - eval("tostr=Boolean.prototype.toString; x=new Boolean(); x.toString=tostr;x.toString()") ); -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.2-3.js b/js/src/tests/ecma/Boolean/15.6.4.2-3.js deleted file mode 100644 index 970a60799b08..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.2-3.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.2-3.js - ECMA Section: 15.6.4.2 Boolean.prototype.toString() - Description: Returns this boolean value. - - The toString function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - - -var SECTION = "15.6.4.2-3"; -var TITLE = "Boolean.prototype.toString()" - writeHeaderToLog( SECTION + TITLE ); - -new TestCase( "tostr=Boolean.prototype.toString; x=true; x.toString=tostr;x.toString()", "true", eval("tostr=Boolean.prototype.toString; x=true; x.toString=tostr;x.toString()") ); -new TestCase( "tostr=Boolean.prototype.toString; x=false; x.toString=tostr;x.toString()", "false", eval("tostr=Boolean.prototype.toString; x=false; x.toString=tostr;x.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.2-4-n.js b/js/src/tests/ecma/Boolean/15.6.4.2-4-n.js deleted file mode 100644 index c493f849f222..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.2-4-n.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.2-4.js - ECMA Section: 15.6.4.2 Boolean.prototype.toString() - Description: Returns this boolean value. - - The toString function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - -var SECTION = "15.6.4.2-4-n"; -var TITLE = "Boolean.prototype.toString()"; -writeHeaderToLog( SECTION +" "+ TITLE ); - -DESCRIPTION = "tostr=Boolean.prototype.toString; x=new String( 'hello' ); x.toString=tostr; x.toString()"; - -new TestCase( "tostr=Boolean.prototype.toString; x=new String( 'hello' ); x.toString=tostr; x.toString()", - "error", - eval("tostr=Boolean.prototype.toString; x=new String( 'hello' ); x.toString=tostr; x.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.3-1.js b/js/src/tests/ecma/Boolean/15.6.4.3-1.js deleted file mode 100644 index 940d41a90937..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.3-1.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.3.js - ECMA Section: 15.6.4.3 Boolean.prototype.valueOf() - Description: Returns this boolean value. - - The valueOf function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - -var SECTION = "15.6.4.3-1"; -var TITLE = "Boolean.prototype.valueOf()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "new Boolean(1)", true, (new Boolean(1)).valueOf() ); - -new TestCase( "new Boolean(0)", false, (new Boolean(0)).valueOf() ); -new TestCase( "new Boolean(-1)", true, (new Boolean(-1)).valueOf() ); -new TestCase( "new Boolean('1')", true, (new Boolean("1")).valueOf() ); -new TestCase( "new Boolean('0')", true, (new Boolean("0")).valueOf() ); -new TestCase( "new Boolean(true)", true, (new Boolean(true)).valueOf() ); -new TestCase( "new Boolean(false)", false, (new Boolean(false)).valueOf() ); -new TestCase( "new Boolean('true')", true, (new Boolean("true")).valueOf() ); -new TestCase( "new Boolean('false')", true, (new Boolean('false')).valueOf() ); - -new TestCase( "new Boolean('')", false, (new Boolean('')).valueOf() ); -new TestCase( "new Boolean(null)", false, (new Boolean(null)).valueOf() ); -new TestCase( "new Boolean(void(0))", false, (new Boolean(void(0))).valueOf() ); -new TestCase( "new Boolean(-Infinity)", true, (new Boolean(Number.NEGATIVE_INFINITY)).valueOf() ); -new TestCase( "new Boolean(NaN)", false, (new Boolean(Number.NaN)).valueOf() ); -new TestCase( "new Boolean()", false, (new Boolean()).valueOf() ); - -new TestCase( "new Boolean(x=1)", true, (new Boolean(x=1)).valueOf() ); -new TestCase( "new Boolean(x=0)", false, (new Boolean(x=0)).valueOf() ); -new TestCase( "new Boolean(x=false)", false, (new Boolean(x=false)).valueOf() ); -new TestCase( "new Boolean(x=true)", true, (new Boolean(x=true)).valueOf() ); -new TestCase( "new Boolean(x=null)", false, (new Boolean(x=null)).valueOf() ); -new TestCase( "new Boolean(x='')", false, (new Boolean(x="")).valueOf() ); -new TestCase( "new Boolean(x=' ')", true, (new Boolean(x=" ")).valueOf() ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.3-2.js b/js/src/tests/ecma/Boolean/15.6.4.3-2.js deleted file mode 100644 index 3640c67c5299..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.3-2.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.3-2.js - ECMA Section: 15.6.4.3 Boolean.prototype.valueOf() - Description: Returns this boolean value. - - The valueOf function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - -var SECTION = "15.6.4.3-2"; -var TITLE = "Boolean.prototype.valueOf()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "valof=Boolean.prototype.valueOf; x=new Boolean(); x.valueOf=valof;x.valueOf()", false, eval("valof=Boolean.prototype.valueOf; x=new Boolean(); x.valueOf=valof;x.valueOf()") ); - -new TestCase( "valof=Boolean.prototype.valueOf; x=new Boolean(true); x.valueOf=valof;x.valueOf()", true, eval("valof=Boolean.prototype.valueOf; x=new Boolean(true); x.valueOf=valof;x.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.3-3.js b/js/src/tests/ecma/Boolean/15.6.4.3-3.js deleted file mode 100644 index f03ebeeb3294..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.3-3.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.3-3.js - ECMA Section: 15.6.4.3 Boolean.prototype.valueOf() - Description: Returns this boolean value. - - The valueOf function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - -var SECTION = "15.6.4.3-3"; -var TITLE = "Boolean.prototype.valueOf()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "x=true; x.valueOf=Boolean.prototype.valueOf;x.valueOf()", - true, - eval("x=true; x.valueOf=Boolean.prototype.valueOf;x.valueOf()") ); -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.3-4-n.js b/js/src/tests/ecma/Boolean/15.6.4.3-4-n.js deleted file mode 100644 index b05ad8c99740..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.3-4-n.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.3-4.js - ECMA Section: 15.6.4.3 Boolean.prototype.valueOf() - Description: Returns this boolean value. - - The valueOf function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ -var SECTION = "15.6.4.3-4-n"; -var TITLE = "Boolean.prototype.valueOf()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "valof=Boolean.prototype.valueOf; x=new String( 'hello' ); x.valueOf=valof;x.valueOf()" - -new TestCase( - "valof=Boolean.prototype.valueOf; x=new String( 'hello' ); x.valueOf=valof;x.valueOf()", - "error", - eval("valof=Boolean.prototype.valueOf; x=new String( 'hello' ); x.valueOf=valof;x.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.3.js b/js/src/tests/ecma/Boolean/15.6.4.3.js deleted file mode 100644 index b71990e755a2..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.3.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.3.js - ECMA Section: 15.6.4.3 Boolean.prototype.valueOf() - Description: Returns this boolean value. - - The valueOf function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ - - - -new TestCase( "new Boolean(1)", true, (new Boolean(1)).valueOf() ); - -new TestCase( "new Boolean(0)", false, (new Boolean(0)).valueOf() ); -new TestCase( "new Boolean(-1)", true, (new Boolean(-1)).valueOf() ); -new TestCase( "new Boolean('1')", true, (new Boolean("1")).valueOf() ); -new TestCase( "new Boolean('0')", true, (new Boolean("0")).valueOf() ); -new TestCase( "new Boolean(true)", true, (new Boolean(true)).valueOf() ); -new TestCase( "new Boolean(false)", false, (new Boolean(false)).valueOf() ); -new TestCase( "new Boolean('true')", true, (new Boolean("true")).valueOf() ); -new TestCase( "new Boolean('false')", true, (new Boolean('false')).valueOf() ); - -new TestCase( "new Boolean('')", false, (new Boolean('')).valueOf() ); -new TestCase( "new Boolean(null)", false, (new Boolean(null)).valueOf() ); -new TestCase( "new Boolean(void(0))", false, (new Boolean(void(0))).valueOf() ); -new TestCase( "new Boolean(-Infinity)", true, (new Boolean(Number.NEGATIVE_INFINITY)).valueOf() ); -new TestCase( "new Boolean(NaN)", false, (new Boolean(Number.NaN)).valueOf() ); -new TestCase( "new Boolean()", false, (new Boolean()).valueOf() ); - -new TestCase( "new Boolean(x=1)", true, (new Boolean(x=1)).valueOf() ); -new TestCase( "new Boolean(x=0)", false, (new Boolean(x=0)).valueOf() ); -new TestCase( "new Boolean(x=false)", false, (new Boolean(x=false)).valueOf() ); -new TestCase( "new Boolean(x=true)", true, (new Boolean(x=true)).valueOf() ); -new TestCase( "new Boolean(x=null)", false, (new Boolean(x=null)).valueOf() ); -new TestCase( "new Boolean(x='')", false, (new Boolean(x="")).valueOf() ); -new TestCase( "new Boolean(x=' ')", true, (new Boolean(x=" ")).valueOf() ); - -test(); diff --git a/js/src/tests/ecma/Boolean/15.6.4.js b/js/src/tests/ecma/Boolean/15.6.4.js deleted file mode 100644 index e0de2661de44..000000000000 --- a/js/src/tests/ecma/Boolean/15.6.4.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4.js - ECMA Section: Properties of the Boolean Prototype Object - Description: - The Boolean prototype object is itself a Boolean object (its [[Class]] is " - Boolean") whose value is false. - - The value of the internal [[Prototype]] property of the Boolean prototype - object is the Object prototype object (15.2.3.1). - - In following descriptions of functions that are properties of the Boolean - prototype object, the phrase "this Boolean object" refers to the object that - is the this value for the invocation of the function; it is an error if - this does not refer to an object for which the value of the internal - [[Class]] property is "Boolean". Also, the phrase "this boolean value" - refers to the boolean value represented by this Boolean object, that is, - the value of the internal [[Value]] property of this Boolean object. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.6.4"; -var TITLE = "Properties of the Boolean Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Boolean.prototype == false", - true, - Boolean.prototype == false ); - -new TestCase( "Boolean.prototype.toString = Object.prototype.toString; Boolean.prototype.toString()", - "[object Boolean]", - eval("Boolean.prototype.toString = Object.prototype.toString; Boolean.prototype.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.1.1-1.js b/js/src/tests/ecma/Date/15.9.1.1-1.js deleted file mode 100644 index 534e6468c45e..000000000000 --- a/js/src/tests/ecma/Date/15.9.1.1-1.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.1.1-1.js - ECMA Section: 15.9.1.1 Time Range - Description: - - leap seconds are ignored - - assume 86400000 ms / day - - numbers range fom +/- 9,007,199,254,740,991 - - ms precision for any instant that is within - approximately +/-285,616 years from 1 jan 1970 - UTC - - range of times supported is -100,000,000 days - to 100,000,000 days from 1 jan 1970 12:00 am - - time supported is 8.64e5*10e8 milliseconds from - 1 jan 1970 UTC (+/-273972.6027397 years) - - - this test generates its own data -- it does not - read data from a file. - Author: christine@netscape.com - Date: 7 july 1997 - - Static variables: - FOUR_HUNDRED_YEARS - -*/ - -// every one hundred years contains: -// 24 years with 366 days -// -// every four hundred years contains: -// 97 years with 366 days -// 303 years with 365 days -// -// 86400000*365*97 = 3067372800000 -// +86400000*366*303 = + 9555408000000 -// = 1.26227808e+13 -var FOUR_HUNDRED_YEARS = 1.26227808e+13; -var SECTION = "15.9.1.1-1"; - -writeHeaderToLog("15.9.1.1 Time Range"); - -var M_SECS; -var CURRENT_YEAR; - -for ( M_SECS = 0, CURRENT_YEAR = 1970; - M_SECS < 8640000000000000; - M_SECS += FOUR_HUNDRED_YEARS, CURRENT_YEAR += 400 ) { - - new TestCase( - "new Date("+M_SECS+")", - CURRENT_YEAR, - (new Date( M_SECS)).getUTCFullYear() ); -} - -test(); - diff --git a/js/src/tests/ecma/Date/15.9.1.1-2.js b/js/src/tests/ecma/Date/15.9.1.1-2.js deleted file mode 100644 index 953d1ed2a1be..000000000000 --- a/js/src/tests/ecma/Date/15.9.1.1-2.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.1.1-2.js - ECMA Section: 15.9.1.1 Time Range - Description: - - leap seconds are ignored - - assume 86400000 ms / day - - numbers range fom +/- 9,007,199,254,740,991 - - ms precision for any instant that is within - approximately +/-285,616 years from 1 jan 1970 - UTC - - range of times supported is -100,000,000 days - to 100,000,000 days from 1 jan 1970 12:00 am - - time supported is 8.64e5*10e8 milliseconds from - 1 jan 1970 UTC (+/-273972.6027397 years) - Author: christine@netscape.com - Date: 9 july 1997 -*/ - -// every one hundred years contains: -// 24 years with 366 days -// -// every four hundred years contains: -// 97 years with 366 days -// 303 years with 365 days -// -// 86400000*366*97 = 3067372800000 -// +86400000*365*303 = + 9555408000000 -// = 1.26227808e+13 - -var FOUR_HUNDRED_YEARS = 1.26227808e+13; -var SECTION = "15.9.1.1-2"; - -writeHeaderToLog("15.9.1.1 Time Range"); - -var M_SECS; -var CURRENT_YEAR; - -for ( M_SECS = 0, CURRENT_YEAR = 1970; - M_SECS > -8640000000000000; - M_SECS -= FOUR_HUNDRED_YEARS, CURRENT_YEAR -= 400 ) { - - new TestCase( - "new Date("+M_SECS+")", - CURRENT_YEAR, - (new Date( M_SECS )).getUTCFullYear() ); - -} - -test(); - diff --git a/js/src/tests/ecma/Date/15.9.1.13-1.js b/js/src/tests/ecma/Date/15.9.1.13-1.js deleted file mode 100644 index 4d9be48b5228..000000000000 --- a/js/src/tests/ecma/Date/15.9.1.13-1.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.1.13-1.js - ECMA Section: 15.9.1.1 MakeDate(day, time) - Description: - - The operator MakeDate calculates a number of milliseconds from its - two arguments, which must be ECMAScript number values. This - operator functions as follows: - - 1. If day is not finite or time is not finite, return NaN. - - 2. Compute day * msPerDay + time. - - 3. Return Result(2). -*/ - -new TestCase( "MakeDate(Number.POSITIVE_INFINITY, 0)", - Number.NaN, - MakeDate(Number.POSITIVE_INFINITY, 0)); - -new TestCase( "MakeDate(Number.NEGATIVE_INFINITY, 0)", - Number.NaN, - MakeDate(Number.NEGATIVE_INFINITY, 0)); - -new TestCase( "MakeDate(0, Number.POSITIVE_INFINITY)", - Number.NaN, - MakeDate(0, Number.POSITIVE_INFINITY)); - -new TestCase( "MakeDate(0, Number.NEGATIVE_INFINITY)", - Number.NaN, - MakeDate(0, Number.NEGATIVE_INFINITY)); - -test(); - diff --git a/js/src/tests/ecma/Date/15.9.2.1.js b/js/src/tests/ecma/Date/15.9.2.1.js deleted file mode 100644 index 2723cf3cb9a6..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.1.js +++ /dev/null @@ -1,138 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.1.js - ECMA Section: 15.9.2.1 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds, ms ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.9.2.1"; -var TITLE = "Date Constructor used as a function"; -var TYPEOF = "string"; -var TOLERANCE = 1000; - -writeHeaderToLog("15.9.2.1 The Date Constructor Called as a Function: " + - "Date( year, month, date, hours, minutes, seconds, ms )" ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around 1970 - -d1 = new Date(); -d2 = Date.parse(Date(1970,0,1,0,0,0,0)); -new TestCase("Date(1970,0,1,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1969,11,31,15,59,59,999)); -new TestCase("Date(1969,11,31,15,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1969,11,31,16,0,0,0)); -new TestCase("Date(1969,11,31,16,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1969,11,31,16,0,0,1)); -new TestCase("Date(1969,11,31,16,0,0,1)", true, d2 - d1 <= 1000); - -// Dates around 2000 -d1 = new Date(); -d2 = Date.parse(Date(1999,11,15,59,59,999)); -new TestCase("Date(1999,11,15,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1999,11,16,0,0,0,0)); -new TestCase("Date(1999,11,16,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1999,11,31,23,59,59,999)); -new TestCase("Date(1999,11,31,23,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,0,0,0,0,0,0)); -new TestCase("Date(2000,0,1,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,0,0,0,0,0,1)); -new TestCase("Date(2000,0,1,0,0,0,1)", true, d2 - d1 <= 1000); - -// Dates around 1900 - -d1 = new Date(); -d2 = Date.parse(Date(1899,11,31,23,59,59,999)); -new TestCase("Date(1899,11,31,23,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1900,0,1,0,0,0,0)); -new TestCase("Date(1900,0,1,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1900,0,1,0,0,0,1)); -new TestCase("Date(1900,0,1,0,0,0,1)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1899,11,31,16,0,0,0,0)); -new TestCase("Date(1899,11,31,16,0,0,0,0)", true, d2 - d1 <= 1000); - -// Dates around feb 29, 2000 - -d1 = new Date(); -d2 = Date.parse(Date(2000,1,29,0,0,0,0)); -new TestCase("Date(2000,1,29,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,1,28,23,59,59,999)); -new TestCase("Date(2000,1,28,23,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,1,27,16,0,0,0)); -new TestCase("Date(2000,1,27,16,0,0,0)", true, d2 - d1 <= 1000); - -// Dates around jan 1, 2005 -d1 = new Date(); -d2 = Date.parse(Date(2004,11,31,23,59,59,999)); -new TestCase("Date(2004,11,31,23,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2005,0,1,0,0,0,0)); -new TestCase("Date(2005,0,1,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2005,0,1,0,0,0,1)); -new TestCase("Date(2005,0,1,0,0,0,1)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2004,11,31,16,0,0,0,0)); -new TestCase("Date(2004,11,31,16,0,0,0,0)", true, d2 - d1 <= 1000); - -// Dates around jan 1, 2032 -d1 = new Date(); -d2 = Date.parse(Date(2031,11,31,23,59,59,999)); -new TestCase("Date(2031,11,31,23,59,59,999)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2032,0,1,0,0,0,0)); -new TestCase("Date(2032,0,1,0,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2032,0,1,0,0,0,1)); -new TestCase("Date(2032,0,1,0,0,0,1)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2031,11,31,16,0,0,0,0)); -new TestCase("Date(2031,11,31,16,0,0,0,0)", true, d2 - d1 <= 1000); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.2.2-1.js b/js/src/tests/ecma/Date/15.9.2.2-1.js deleted file mode 100644 index 6f7e48b98051..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.2-1.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.2.js - ECMA Section: 15.9.2.2 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ -var SECTION = "15.9.2.2"; -var TOLERANCE = 100; -var TITLE = "The Date Constructor Called as a Function"; - -writeHeaderToLog(SECTION+" "+TITLE ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around 1970 - -d1 = new Date(); -d2 = Date.parse(Date(1970,0,1,0,0,0)); -new TestCase("Date(1970,0,1,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1969,11,31,15,59,59)); -new TestCase("Date(1969,11,31,15,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1969,11,31,16,0,0)); -new TestCase("Date(1969,11,31,16,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1969,11,31,16,0,1)); -new TestCase("Date(1969,11,31,16,0,1)", true, d2 - d1 <= 1000); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.2.2-2.js b/js/src/tests/ecma/Date/15.9.2.2-2.js deleted file mode 100644 index f4a64be99ce3..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.2-2.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.2.js - ECMA Section: 15.9.2.2 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ -var SECTION = "15.9.2.2"; -var TOLERANCE = 100; -var TITLE = "The Date Constructor Called as a Function"; - -writeHeaderToLog(SECTION+" "+TITLE ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around 2000 -d1 = new Date(); -d2 = Date.parse(Date(1999,11,15,59,59)); -new TestCase( "Date(1999,11,15,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1999,11,16,0,0,0)); -new TestCase( "Date(1999,11,16,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1999,11,31,23,59,59)); -new TestCase( "Date(1999,11,31,23,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,0,0,0,0,0)); -new TestCase( "Date(2000,0,1,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,0,0,0,0,1)); -new TestCase( "Date(2000,0,1,0,0,1)", true, d2 - d1 <= 1000) - -test(); diff --git a/js/src/tests/ecma/Date/15.9.2.2-3.js b/js/src/tests/ecma/Date/15.9.2.2-3.js deleted file mode 100644 index 6be1f7148eb1..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.2-3.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.2.js - ECMA Section: 15.9.2.2 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ -var SECTION = "15.9.2.2"; -var TOLERANCE = 100; -var TITLE = "The Date Constructor Called as a Function"; - -writeHeaderToLog(SECTION+" "+TITLE ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around 1900 - -d1 = new Date(); -d2 = Date.parse(Date(1899,11,31,23,59,59)); -new TestCase( "Date(1899,11,31,23,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1900,0,1,0,0,0)); -new TestCase( "Date(1900,0,1,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1900,0,1,0,0,1) ); -new TestCase( "Date(1900,0,1,0,0,1)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(1899,11,31,16,0,0,0)); -new TestCase( "Date(1899,11,31,16,0,0,0)", true, d2 - d1 <= 1000); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.2.2-4.js b/js/src/tests/ecma/Date/15.9.2.2-4.js deleted file mode 100644 index 8209f062f900..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.2-4.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.2.js - ECMA Section: 15.9.2.2 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ -var SECTION = "15.9.2.2"; -var TOLERANCE = 100; -var TITLE = "The Date Constructor Called as a Function"; - -writeHeaderToLog(SECTION+" "+TITLE ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around feb 29, 2000 - -d1 = new Date(); -d2 = Date.parse(Date(2000,1,29,0,0,0)); -new TestCase("Date(2000,1,29,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,1,28,23,59,59)); -new TestCase("Date(2000,1,28,23,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2000,1,27,16,0,0)); -new TestCase("Date(2000,1,27,16,0,0)", true, d2 - d1 <= 1000); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.2.2-5.js b/js/src/tests/ecma/Date/15.9.2.2-5.js deleted file mode 100644 index ed514cd75308..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.2-5.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.2.js - ECMA Section: 15.9.2.2 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ -var SECTION = "15.9.2.2"; -var TOLERANCE = 100; -var TITLE = "The Date Constructor Called as a Function"; - -writeHeaderToLog(SECTION+" "+TITLE ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around jan 1, 2005 - -d1 = new Date(); -d2 = Date.parse(Date(2004,11,31,23,59,59)); -new TestCase( "Date(2004,11,31,23,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2005,0,1,0,0,0) ); -new TestCase( "Date(2005,0,1,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2005,0,1,0,0,1) ); -new TestCase( "Date(2005,0,1,0,0,1)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2004,11,31,16,0,0,0)); -new TestCase( "Date(2004,11,31,16,0,0,0)", true, d2 - d1 <= 1000); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.2.2-6.js b/js/src/tests/ecma/Date/15.9.2.2-6.js deleted file mode 100644 index a555154ad4e3..000000000000 --- a/js/src/tests/ecma/Date/15.9.2.2-6.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.2.2.js - ECMA Section: 15.9.2.2 Date constructor used as a function - Date( year, month, date, hours, minutes, seconds ) - Description: The arguments are accepted, but are completely ignored. - A string is created and returned as if by the - expression (new Date()).toString(). - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ -var SECTION = "15.9.2.2"; -var TOLERANCE = 100; -var TITLE = "The Date Constructor Called as a Function"; - -writeHeaderToLog(SECTION+" "+TITLE ); - -// allow up to 1 second difference due to possibility -// the date may change by 1 second in between calls to Date - -var d1; -var d2; - -// Dates around jan 1, 2032 -d1 = new Date(); -d2 = Date.parse(Date(2031,11,31,23,59,59)); -new TestCase("Date(2031,11,31,23,59,59)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2032,0,1,0,0,0)); -new TestCase("Date(2032,0,1,0,0,0)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2032,0,1,0,0,1)); -new TestCase("Date(2032,0,1,0,0,1)", true, d2 - d1 <= 1000); - -d1 = new Date(); -d2 = Date.parse(Date(2031,11,31,16,0,0,0)); -new TestCase("Date(2031,11,31,16,0,0,0)", true, d2 - d1 <= 1000); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.3.1-1.js b/js/src/tests/ecma/Date/15.9.3.1-1.js deleted file mode 100644 index d431a346a5b3..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.1-1.js +++ /dev/null @@ -1,203 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1) is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.9.3.1"; -var TITLE = "new Date( year, month, date, hours, minutes, seconds, ms )"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Dates around 1970 - -addNewTestCase( new Date( 1969,11,31,15,59,59,999), - "new Date( 1969,11,31,15,59,59,999)", - [TIME_1970-1,1969,11,31,3,23,59,59,999,1969,11,31,3,15,59,59,999] ); - -addNewTestCase( new Date( 1969,11,31,23,59,59,999), - "new Date( 1969,11,31,23,59,59,999)", - [TIME_1970-PST_ADJUST-1,1970,0,1,4,7,59,59,999,1969,11,31,3,23,59,59,999] ); - -addNewTestCase( new Date( 1970,0,1,0,0,0,0), - "new Date( 1970,0,1,0,0,0,0)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date( 1969,11,31,16,0,0,0), - "new Date( 1969,11,31,16,0,0,0)", - [TIME_1970,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date(1969,12,1,0,0,0,0), - "new Date(1969,12,1,0,0,0,0)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date(1969,11,32,0,0,0,0), - "new Date(1969,11,32,0,0,0,0)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date(1969,11,31,24,0,0,0), - "new Date(1969,11,31,24,0,0,0)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date(1969,11,31,23,60,0,0), - "new Date(1969,11,31,23,60,0,0)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date(1969,11,31,23,59,60,0), - "new Date(1969,11,31,23,59,60,0)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date(1969,11,31,23,59,59,1000), - "new Date(1969,11,31,23,59,59,1000)", - [TIME_1970-PST_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -// Dates around 2000 - -addNewTestCase( new Date( 1999,11,31,15,59,59,999), - "new Date( 1999,11,31,15,59,59,999)", - [TIME_2000-1,1999,11,31,5,23,59,59,999,1999,11,31,5,15,59,59,999] ); - -addNewTestCase( new Date( 1999,11,31,16,0,0,0), - "new Date( 1999,11,31,16,0,0,0)", - [TIME_2000,2000,0,1,6,0,0,0,0,1999,11,31,5, 16,0,0,0] ); - -addNewTestCase( new Date( 1999,11,31,23,59,59,999), - "new Date( 1999,11,31,23,59,59,999)", - [TIME_2000-PST_ADJUST-1,2000,0,1,6,7,59,59,999,1999,11,31,5,23,59,59,999] ); - -addNewTestCase( new Date( 2000,0,1,0,0,0,0), - "new Date( 2000,0,1,0,0,0,0)", - [TIME_2000-PST_ADJUST,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date( 2000,0,1,0,0,0,1), - "new Date( 2000,0,1,0,0,0,1)", - [TIME_2000-PST_ADJUST+1,2000,0,1,6,8,0,0,1,2000,0,1,6,0,0,0,1] ); - -// Dates around 29 Feb 2000 - -addNewTestCase( new Date(2000,1,28,16,0,0,0), - "new Date(2000,1,28,16,0,0,0)", - [UTC_FEB_29_2000,2000,1,29,2,0,0,0,0,2000,1,28,1,16,0,0,0] ); - -addNewTestCase( new Date(2000,1,29,0,0,0,0), - "new Date(2000,1,29,0,0,0,0)", - [UTC_FEB_29_2000-PST_ADJUST,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -addNewTestCase( new Date(2000,1,28,24,0,0,0), - "new Date(2000,1,28,24,0,0,0)", - [UTC_FEB_29_2000-PST_ADJUST,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -// Dates around 1900 - -addNewTestCase( new Date(1899,11,31,16,0,0,0), - "new Date(1899,11,31,16,0,0,0)", - [TIME_1900,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date(1899,11,31,15,59,59,999), - "new Date(1899,11,31,15,59,59,999)", - [TIME_1900-1,1899,11,31,0,23,59,59,999,1899,11,31,0,15,59,59,999] ); - -addNewTestCase( new Date(1899,11,31,23,59,59,999), - "new Date(1899,11,31,23,59,59,999)", - [TIME_1900-PST_ADJUST-1,1900,0,1,1,7,59,59,999,1899,11,31,0,23,59,59,999] ); - -addNewTestCase( new Date(1900,0,1,0,0,0,0), - "new Date(1900,0,1,0,0,0,0)", - [TIME_1900-PST_ADJUST,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); - -addNewTestCase( new Date(1900,0,1,0,0,0,1), - "new Date(1900,0,1,0,0,0,1)", - [TIME_1900-PST_ADJUST+1,1900,0,1,1,8,0,0,1,1900,0,1,1,0,0,0,1] ); - -// Dates around 2005 - -addNewTestCase( new Date(2005,0,1,0,0,0,0), - "new Date(2005,0,1,0,0,0,0)", - [UTC_JAN_1_2005-PST_ADJUST,2005,0,1,6,8,0,0,0,2005,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date(2004,11,31,16,0,0,0), - "new Date(2004,11,31,16,0,0,0)", - [UTC_JAN_1_2005,2005,0,1,6,0,0,0,0,2004,11,31,5,16,0,0,0] ); - -test(); - - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} - diff --git a/js/src/tests/ecma/Date/15.9.3.1-2.js b/js/src/tests/ecma/Date/15.9.3.1-2.js deleted file mode 100644 index 7ec177779fbd..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.1-2.js +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1) is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.9.3.1"; -var TITLE = "new Date( year, month, date, hours, minutes, seconds, ms )"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - - -// Dates around 2000 - -addNewTestCase( new Date( 1999,11,31,15,59,59,999), - "new Date( 1999,11,31,15,59,59,999)", - [TIME_2000-1,1999,11,31,5,23,59,59,999,1999,11,31,5,15,59,59,999] ); - -addNewTestCase( new Date( 1999,11,31,16,0,0,0), - "new Date( 1999,11,31,16,0,0,0)", - [TIME_2000,2000,0,1,6,0,0,0,0,1999,11,31,5, 16,0,0,0] ); - -addNewTestCase( new Date( 1999,11,31,23,59,59,999), - "new Date( 1999,11,31,23,59,59,999)", - [TIME_2000-PST_ADJUST-1,2000,0,1,6,7,59,59,999,1999,11,31,5,23,59,59,999] ); - -addNewTestCase( new Date( 2000,0,1,0,0,0,0), - "new Date( 2000,0,1,0,0,0,0)", - [TIME_2000-PST_ADJUST,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date( 2000,0,1,0,0,0,1), - "new Date( 2000,0,1,0,0,0,1)", - [TIME_2000-PST_ADJUST+1,2000,0,1,6,8,0,0,1,2000,0,1,6,0,0,0,1] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.1-3.js b/js/src/tests/ecma/Date/15.9.3.1-3.js deleted file mode 100644 index e16b6bf23648..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.1-3.js +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1) is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.9.3.1"; -var TITLE = "new Date( year, month, date, hours, minutes, seconds, ms )"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - -addNewTestCase( new Date(2000,1,28,16,0,0,0), - "new Date(2000,1,28,16,0,0,0)", - [UTC_FEB_29_2000,2000,1,29,2,0,0,0,0,2000,1,28,1,16,0,0,0] ); - -addNewTestCase( new Date(2000,1,29,0,0,0,0), - "new Date(2000,1,29,0,0,0,0)", - [UTC_FEB_29_2000 - PST_ADJUST,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -addNewTestCase( new Date(2000,1,28,24,0,0,0), - "new Date(2000,1,28,24,0,0,0)", - [UTC_FEB_29_2000 - PST_ADJUST,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.1-4.js b/js/src/tests/ecma/Date/15.9.3.1-4.js deleted file mode 100644 index a0ecd808ae1f..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.1-4.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1) is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.9.3.1"; -var TITLE = "new Date( year, month, date, hours, minutes, seconds, ms )"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - - -// Dates around 1900 - -addNewTestCase( new Date(1899,11,31,16,0,0,0), - "new Date(1899,11,31,16,0,0,0)", - [TIME_1900,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date(1899,11,31,15,59,59,999), - "new Date(1899,11,31,15,59,59,999)", - [TIME_1900-1,1899,11,31,0,23,59,59,999,1899,11,31,0,15,59,59,999] ); - -addNewTestCase( new Date(1899,11,31,23,59,59,999), - "new Date(1899,11,31,23,59,59,999)", - [TIME_1900-PST_ADJUST-1,1900,0,1,1,7,59,59,999,1899,11,31,0,23,59,59,999] ); - -addNewTestCase( new Date(1900,0,1,0,0,0,0), - "new Date(1900,0,1,0,0,0,0)", - [TIME_1900-PST_ADJUST,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); - -addNewTestCase( new Date(1900,0,1,0,0,0,1), - "new Date(1900,0,1,0,0,0,1)", - [TIME_1900-PST_ADJUST+1,1900,0,1,1,8,0,0,1,1900,0,1,1,0,0,0,1] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.1-5.js b/js/src/tests/ecma/Date/15.9.3.1-5.js deleted file mode 100644 index 88402e7a9451..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.1-5.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1) is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.9.3.1"; -var TITLE = "new Date( year, month, date, hours, minutes, seconds, ms )"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - - -// Dates around 2005 - -addNewTestCase( new Date(2005,0,1,0,0,0,0), - "new Date(2005,0,1,0,0,0,0)", - [UTC_JAN_1_2005-PST_ADJUST,2005,0,1,6,8,0,0,0,2005,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date(2004,11,31,16,0,0,0), - "new Date(2004,11,31,16,0,0,0)", - [UTC_JAN_1_2005,2005,0,1,6,0,0,0,0,2004,11,31,5,16,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} - diff --git a/js/src/tests/ecma/Date/15.9.3.2-1.js b/js/src/tests/ecma/Date/15.9.3.2-1.js deleted file mode 100644 index 52f3210e7ce1..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.2-1.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1)is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -var SECTION = "15.9.3.1"; -var TITLE = "Date( year, month, date, hours, minutes, seconds )"; - -writeHeaderToLog( SECTION+" " +TITLE ); - -// Dates around 1970 - -addNewTestCase( new Date( 1969,11,31,15,59,59), - "new Date( 1969,11,31,15,59,59)", - [-1000,1969,11,31,3,23,59,59,0,1969,11,31,3,15,59,59,0] ); - -addNewTestCase( new Date( 1969,11,31,16,0,0), - "new Date( 1969,11,31,16,0,0)", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date( 1969,11,31,23,59,59), - "new Date( 1969,11,31,23,59,59)", - [28799000,1970,0,1,4,7,59,59,0,1969,11,31,3,23,59,59,0] ); - -addNewTestCase( new Date( 1970, 0, 1, 0, 0, 0), - "new Date( 1970, 0, 1, 0, 0, 0)", - [28800000,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date( 1969,11,31,16,0,0), - "new Date( 1969,11,31,16,0,0)", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); - -} diff --git a/js/src/tests/ecma/Date/15.9.3.2-2.js b/js/src/tests/ecma/Date/15.9.3.2-2.js deleted file mode 100644 index 55aa125513ed..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.2-2.js +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1)is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -var SECTION = "15.9.3.1"; -var TITLE = "Date( year, month, date, hours, minutes, seconds )"; - -writeHeaderToLog( SECTION+" " +TITLE ); - -// Dates around 2000 - -addNewTestCase( new Date( 1999,11,31,15,59,59), - "new Date( 1999,11,31,15,59,59)", - [946684799000,1999,11,31,5,23,59,59,0,1999,11,31,5,15,59,59,0] ); - -addNewTestCase( new Date( 1999,11,31,16,0,0), - "new Date( 1999,11,31,16,0,0)", - [946684800000,2000,0,1,6,0,0,0,0,1999,11,31,5, 16,0,0,0] ); - -addNewTestCase( new Date( 2000,0,1,0,0,0), - "new Date( 2000,0,1,0,0,0)", - [946713600000,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); - -} diff --git a/js/src/tests/ecma/Date/15.9.3.2-3.js b/js/src/tests/ecma/Date/15.9.3.2-3.js deleted file mode 100644 index c86c96af12a7..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.2-3.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1)is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -var SECTION = "15.9.3.1"; -var TITLE = "Date( year, month, date, hours, minutes, seconds )"; - -writeHeaderToLog( SECTION+" " +TITLE ); - -// Dates around 1900 - -addNewTestCase( new Date(1899,11,31,16,0,0), - "new Date(1899,11,31,16,0,0)", - [-2208988800000,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date(1899,11,31,15,59,59), - "new Date(1899,11,31,15,59,59)", - [-2208988801000,1899,11,31,0,23,59,59,0,1899,11,31,0,15,59,59,0] ); - -addNewTestCase( new Date(1900,0,1,0,0,0), - "new Date(1900,0,1,0,0,0)", - [-2208960000000,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); - -addNewTestCase( new Date(1900,0,1,0,0,1), - "new Date(1900,0,1,0,0,1)", - [-2208959999000,1900,0,1,1,8,0,1,0,1900,0,1,1,0,0,1,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); - -} diff --git a/js/src/tests/ecma/Date/15.9.3.2-4.js b/js/src/tests/ecma/Date/15.9.3.2-4.js deleted file mode 100644 index 42e48d6d3938..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.2-4.js +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1)is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -var SECTION = "15.9.3.1"; -var TITLE = "Date( year, month, date, hours, minutes, seconds )"; - -writeHeaderToLog( SECTION+" " +TITLE ); - -var PST_FEB_29_2000 = UTC_FEB_29_2000 + 8*msPerHour; - -// Dates around Feb 29, 2000 -addNewTestCase( new Date(2000,1,28,16,0,0,0), - "new Date(2000,1,28,16,0,0,0)", - [UTC_FEB_29_2000,2000,1,29,2,0,0,0,0,2000,1,28,1,16,0,0,0,0] ); - -addNewTestCase( new Date(2000,1,29,0,0,0,0), - "new Date(2000,1,29,0,0,0,0)", - [PST_FEB_29_2000,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -addNewTestCase( new Date(2000,1,29,24,0,0,0), - "new Date(2000,1,29,24,0,0,0)", - [PST_FEB_29_2000+msPerDay,2000,2,1,3,8,0,0,0,2000,2,1,3,0,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); - -} diff --git a/js/src/tests/ecma/Date/15.9.3.2-5.js b/js/src/tests/ecma/Date/15.9.3.2-5.js deleted file mode 100644 index e5e1f31b1e96..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.2-5.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.1.js - ECMA Section: 15.9.3.1 new Date (year, month, date, hours, minutes, seconds, ms) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial value of Date.prototype. - - The [[Class]] property of the newly constructed object - is set as follows: - 1. Call ToNumber(year) - 2. Call ToNumber(month) - 3. Call ToNumber(date) - 4. Call ToNumber(hours) - 5. Call ToNumber(minutes) - 6. Call ToNumber(seconds) - 7. Call ToNumber(ms) - 8. If Result(1)is NaN and 0 <= ToInteger(Result(1)) <= - 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, - Result(8) is Result(1) - 9. Compute MakeDay(Result(8), Result(2), Result(3) - 10. Compute MakeTime(Result(4), Result(5), Result(6), - Result(7) - 11. Compute MakeDate(Result(9), Result(10)) - 12. Set the [[Value]] property of the newly constructed - object to TimeClip(UTC(Result(11))). - - - This tests the returned value of a newly constructed - Date object. - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - -var SECTION = "15.9.3.1"; -var TITLE = "Date( year, month, date, hours, minutes, seconds )"; - -writeHeaderToLog( SECTION+" " +TITLE ); - -// Dates around Jan 1, 2005 - -var PST_JAN_1_2005 = UTC_JAN_1_2005 + 8*msPerHour; - -addNewTestCase( new Date(2005,0,1,0,0,0,0), - "new Date(2005,0,1,0,0,0,0)", - [PST_JAN_1_2005,2005,0,1,6,8,0,0,0,2005,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date(2004,11,31,16,0,0,0), - "new Date(2004,11,31,16,0,0,0)", - [UTC_JAN_1_2005,2005,0,1,6,0,0,0,0,2004,11,31,5,16,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { -//adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); - -} diff --git a/js/src/tests/ecma/Date/15.9.3.8-1.js b/js/src/tests/ecma/Date/15.9.3.8-1.js deleted file mode 100644 index abd91dd03022..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.8-1.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.8.js - ECMA Section: 15.9.3.8 The Date Constructor - new Date( value ) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial valiue of Date.prototype. - - The [[Class]] property of the newly constructed object is - set to "Date". - - The [[Value]] property of the newly constructed object is - set as follows: - - 1. Call ToPrimitive(value) - 2. If Type( Result(1) ) is String, then go to step 5. - 3. Let V be ToNumber( Result(1) ). - 4. Set the [[Value]] property of the newly constructed - object to TimeClip(V) and return. - 5. Parse Result(1) as a date, in exactly the same manner - as for the parse method. Let V be the time value for - this date. - 6. Go to step 4. - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ - -var SECTION = "15.9.3.8"; -var TYPEOF = "object"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - - -var TITLE = "Date constructor: new Date( value )"; -var SECTION = "15.9.3.8"; - -writeHeaderToLog( SECTION +" " + TITLE ); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - -var TZ_ADJUST = -TZ_PST * msPerHour; - - -// Dates around 1970 -addNewTestCase( new Date(0), - "new Date(0)", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date(1), - "new Date(1)", - [1,1970,0,1,4,0,0,0,1,1969,11,31,3,16,0,0,1] ); - -addNewTestCase( new Date(true), - "new Date(true)", - [1,1970,0,1,4,0,0,0,1,1969,11,31,3,16,0,0,1] ); - -addNewTestCase( new Date(false), - "new Date(false)", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date( (new Date(0)).toString() ), - "new Date(\""+ (new Date(0)).toString()+"\" )", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray, 'msMode'); - - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.8-2.js b/js/src/tests/ecma/Date/15.9.3.8-2.js deleted file mode 100644 index 21f4eeb0e554..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.8-2.js +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.8.js - ECMA Section: 15.9.3.8 The Date Constructor - new Date( value ) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial valiue of Date.prototype. - - The [[Class]] property of the newly constructed object is - set to "Date". - - The [[Value]] property of the newly constructed object is - set as follows: - - 1. Call ToPrimitive(value) - 2. If Type( Result(1) ) is String, then go to step 5. - 3. Let V be ToNumber( Result(1) ). - 4. Set the [[Value]] property of the newly constructed - object to TimeClip(V) and return. - 5. Parse Result(1) as a date, in exactly the same manner - as for the parse method. Let V be the time value for - this date. - 6. Go to step 4. - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ - -var SECTION = "15.9.3.8"; -var TYPEOF = "object"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - - -var TITLE = "Date constructor: new Date( value )"; -var SECTION = "15.9.3.8"; - -writeHeaderToLog( SECTION +" " + TITLE ); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - -var TZ_ADJUST = -TZ_PST * msPerHour; - -addNewTestCase( new Date((new Date(0)).toUTCString()), - "new Date(\""+ (new Date(0)).toUTCString()+"\" )", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date((new Date(1)).toString()), - "new Date(\""+ (new Date(1)).toString()+"\" )", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date( TZ_ADJUST ), - "new Date(" + TZ_ADJUST+")", - [TZ_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -addNewTestCase( new Date((new Date(TZ_ADJUST)).toString()), - "new Date(\""+ (new Date(TZ_ADJUST)).toString()+"\")", - [TZ_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - - -addNewTestCase( new Date( (new Date(TZ_ADJUST)).toUTCString() ), - "new Date(\""+ (new Date(TZ_ADJUST)).toUTCString()+"\")", - [TZ_ADJUST,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray, 'msMode'); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.8-3.js b/js/src/tests/ecma/Date/15.9.3.8-3.js deleted file mode 100644 index cf6d137d7c73..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.8-3.js +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.8.js - ECMA Section: 15.9.3.8 The Date Constructor - new Date( value ) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial valiue of Date.prototype. - - The [[Class]] property of the newly constructed object is - set to "Date". - - The [[Value]] property of the newly constructed object is - set as follows: - - 1. Call ToPrimitive(value) - 2. If Type( Result(1) ) is String, then go to step 5. - 3. Let V be ToNumber( Result(1) ). - 4. Set the [[Value]] property of the newly constructed - object to TimeClip(V) and return. - 5. Parse Result(1) as a date, in exactly the same manner - as for the parse method. Let V be the time value for - this date. - 6. Go to step 4. - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ - -var SECTION = "15.9.3.8"; -var TYPEOF = "object"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - - -var TITLE = "Date constructor: new Date( value )"; -var SECTION = "15.9.3.8"; - -writeHeaderToLog( SECTION +" " + TITLE ); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - -var TZ_ADJUST = -TZ_PST * msPerHour; - - -// Dates around 2000 - -addNewTestCase( new Date(TIME_2000+TZ_ADJUST), - "new Date(" +(TIME_2000+TZ_ADJUST)+")", - [TIME_2000+TZ_ADJUST,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date(TIME_2000), - "new Date(" +TIME_2000+")", - [TIME_2000,2000,0,1,6,0,0,0,0,1999,11,31,5,16,0,0,0] ); - -addNewTestCase( new Date( (new Date(TIME_2000+TZ_ADJUST)).toString()), - "new Date(\"" +(new Date(TIME_2000+TZ_ADJUST)).toString()+"\")", - [TIME_2000+TZ_ADJUST,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date((new Date(TIME_2000)).toString()), - "new Date(\"" +(new Date(TIME_2000)).toString()+"\")", - [TIME_2000,2000,0,1,6,0,0,0,0,1999,11,31,5,16,0,0,0] ); - - -addNewTestCase( new Date( (new Date(TIME_2000+TZ_ADJUST)).toUTCString()), - "new Date(\"" +(new Date(TIME_2000+TZ_ADJUST)).toUTCString()+"\")", - [TIME_2000+TZ_ADJUST,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -addNewTestCase( new Date( (new Date(TIME_2000)).toUTCString()), - "new Date(\"" +(new Date(TIME_2000)).toUTCString()+"\")", - [TIME_2000,2000,0,1,6,0,0,0,0,1999,11,31,5,16,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray, 'msMode'); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.8-4.js b/js/src/tests/ecma/Date/15.9.3.8-4.js deleted file mode 100644 index d629103f2fbd..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.8-4.js +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.8.js - ECMA Section: 15.9.3.8 The Date Constructor - new Date( value ) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial valiue of Date.prototype. - - The [[Class]] property of the newly constructed object is - set to "Date". - - The [[Value]] property of the newly constructed object is - set as follows: - - 1. Call ToPrimitive(value) - 2. If Type( Result(1) ) is String, then go to step 5. - 3. Let V be ToNumber( Result(1) ). - 4. Set the [[Value]] property of the newly constructed - object to TimeClip(V) and return. - 5. Parse Result(1) as a date, in exactly the same manner - as for the parse method. Let V be the time value for - this date. - 6. Go to step 4. - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ - -var SECTION = "15.9.3.8"; -var TYPEOF = "object"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - - -var TITLE = "Date constructor: new Date( value )"; -var SECTION = "15.9.3.8"; - -writeHeaderToLog( SECTION +" " + TITLE ); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - -var TZ_ADJUST = -TZ_PST * msPerHour; - -// Dates around Feb 29, 2000 - -var PST_FEB_29_2000 = UTC_FEB_29_2000 + TZ_ADJUST; - -addNewTestCase( new Date(UTC_FEB_29_2000), - "new Date("+UTC_FEB_29_2000+")", - [UTC_FEB_29_2000,2000,1,29,2,0,0,0,0,2000,1,28,1,16,0,0,0] ); - -addNewTestCase( new Date(PST_FEB_29_2000), - "new Date("+PST_FEB_29_2000+")", - [PST_FEB_29_2000,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -addNewTestCase( new Date( (new Date(UTC_FEB_29_2000)).toString() ), - "new Date(\""+(new Date(UTC_FEB_29_2000)).toString()+"\")", - [UTC_FEB_29_2000,2000,1,29,2,0,0,0,0,2000,1,28,1,16,0,0,0] ); - -addNewTestCase( new Date( (new Date(PST_FEB_29_2000)).toString() ), - "new Date(\""+(new Date(PST_FEB_29_2000)).toString()+"\")", - [PST_FEB_29_2000,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - - -addNewTestCase( new Date( (new Date(UTC_FEB_29_2000)).toGMTString() ), - "new Date(\""+(new Date(UTC_FEB_29_2000)).toGMTString()+"\")", - [UTC_FEB_29_2000,2000,1,29,2,0,0,0,0,2000,1,28,1,16,0,0,0] ); - -addNewTestCase( new Date( (new Date(PST_FEB_29_2000)).toGMTString() ), - "new Date(\""+(new Date(PST_FEB_29_2000)).toGMTString()+"\")", - [PST_FEB_29_2000,2000,1,29,2,8,0,0,0,2000,1,29,2,0,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray, 'msMode'); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.3.8-5.js b/js/src/tests/ecma/Date/15.9.3.8-5.js deleted file mode 100644 index 720ea6f3e2eb..000000000000 --- a/js/src/tests/ecma/Date/15.9.3.8-5.js +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.3.8.js - ECMA Section: 15.9.3.8 The Date Constructor - new Date( value ) - Description: The [[Prototype]] property of the newly constructed - object is set to the original Date prototype object, - the one that is the initial valiue of Date.prototype. - - The [[Class]] property of the newly constructed object is - set to "Date". - - The [[Value]] property of the newly constructed object is - set as follows: - - 1. Call ToPrimitive(value) - 2. If Type( Result(1) ) is String, then go to step 5. - 3. Let V be ToNumber( Result(1) ). - 4. Set the [[Value]] property of the newly constructed - object to TimeClip(V) and return. - 5. Parse Result(1) as a date, in exactly the same manner - as for the parse method. Let V be the time value for - this date. - 6. Go to step 4. - - Author: christine@netscape.com - Date: 28 october 1997 - Version: 9706 - -*/ - -var SECTION = "15.9.3.8"; -var TYPEOF = "object"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; - - -var TITLE = "Date constructor: new Date( value )"; -var SECTION = "15.9.3.8"; - -writeHeaderToLog( SECTION +" " + TITLE ); - -// all the "ResultArrays" below are hard-coded to Pacific Standard Time values - -var TZ_ADJUST = -TZ_PST * msPerHour; - - -// Dates around 1900 - -var PST_1900 = TIME_1900 + 8*msPerHour; - -addNewTestCase( new Date( TIME_1900 ), - "new Date("+TIME_1900+")", - [TIME_1900,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date(PST_1900), - "new Date("+PST_1900+")", - [ PST_1900,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); - -addNewTestCase( new Date( (new Date(TIME_1900)).toString() ), - "new Date(\""+(new Date(TIME_1900)).toString()+"\")", - [TIME_1900,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date( (new Date(PST_1900)).toString() ), - "new Date(\""+(new Date(PST_1900 )).toString()+"\")", - [ PST_1900,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); - -addNewTestCase( new Date( (new Date(TIME_1900)).toUTCString() ), - "new Date(\""+(new Date(TIME_1900)).toUTCString()+"\")", - [TIME_1900,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date( (new Date(PST_1900)).toUTCString() ), - "new Date(\""+(new Date(PST_1900 )).toUTCString()+"\")", - [ PST_1900,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - //adjust hard-coded ResultArray for tester's timezone instead of PST - adjustResultArray(ResultArray, 'msMode'); - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - new TestCase( DateString+".getUTCFullYear()", ResultArray[UTC_YEAR], DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", ResultArray[UTC_MONTH], DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", ResultArray[UTC_DATE], DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", ResultArray[UTC_DAY], DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", ResultArray[UTC_HOURS], DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", ResultArray[UTC_MINUTES],DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", ResultArray[UTC_SECONDS],DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", ResultArray[UTC_MS], DateCase.getUTCMilliseconds() ); - new TestCase( DateString+".getFullYear()", ResultArray[YEAR], DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", ResultArray[MONTH], DateCase.getMonth() ); - new TestCase( DateString+".getDate()", ResultArray[DATE], DateCase.getDate() ); - new TestCase( DateString+".getDay()", ResultArray[DAY], DateCase.getDay() ); - new TestCase( DateString+".getHours()", ResultArray[HOURS], DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", ResultArray[MINUTES], DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", ResultArray[SECONDS], DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", ResultArray[MS], DateCase.getMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.4.2-1.js b/js/src/tests/ecma/Date/15.9.4.2-1.js deleted file mode 100644 index 704dc3dd89e7..000000000000 --- a/js/src/tests/ecma/Date/15.9.4.2-1.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: - * Reference: http://bugzilla.mozilla.org/show_bug.cgi?id=4088 - * Description: Date parsing gets 12:30 AM wrong. - * New behavior: - * js> d = new Date('1/1/1999 13:30 AM') - * Invalid Date - * js> d = new Date('1/1/1999 13:30 PM') - * Invalid Date - * js> d = new Date('1/1/1999 12:30 AM') - * Fri Jan 01 00:30:00 GMT-0800 (PST) 1999 - * js> d = new Date('1/1/1999 12:30 PM') - * Fri Jan 01 12:30:00 GMT-0800 (PST) 1999 - * Author: christine@netscape.com - */ - -var SECTION = "15.9.4.2-1"; // provide a document reference (ie, ECMA section) -var TITLE = "Regression Test for Date.parse"; // Provide ECMA section title or a description -var BUGNUMBER = "http://bugzilla.mozilla.org/show_bug.cgi?id=4088"; // Provide URL to bugsplat or bugzilla report - -printBugNumber(BUGNUMBER); - -AddTestCase( "new Date('1/1/1999 12:30 AM').toString()", - new Date(1999,0,1,0,30).toString(), - new Date('1/1/1999 12:30 AM').toString() ); - -AddTestCase( "new Date('1/1/1999 12:30 PM').toString()", - new Date( 1999,0,1,12,30 ).toString(), - new Date('1/1/1999 12:30 PM').toString() ); - -AddTestCase( "new Date('1/1/1999 13:30 AM')", - "Invalid Date", - new Date('1/1/1999 13:30 AM').toString() ); - - -AddTestCase( "new Date('1/1/1999 13:30 PM')", - "Invalid Date", - new Date('1/1/1999 13:30 PM').toString() ); - -test(); // leave this alone. this executes the test cases and -// displays results. diff --git a/js/src/tests/ecma/Date/15.9.4.2.js b/js/src/tests/ecma/Date/15.9.4.2.js deleted file mode 100644 index 93761bec9ee2..000000000000 --- a/js/src/tests/ecma/Date/15.9.4.2.js +++ /dev/null @@ -1,154 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.4.2.js - ECMA Section: 15.9.4.2 Date.parse() - Description: The parse() function applies the to ToString() operator - to its argument and interprets the resulting string as - a date. It returns a number, the UTC time value - corresponding to the date. - - The string may be interpreted as a local time, a UTC - time, or a time in some other time zone, depending on - the contents of the string. - - (need to test strings containing stuff with the time - zone specified, and verify that parse() returns the - correct GMT time) - - so for any Date object x, all of these things should - be equal: - - value tested in function: - x.valueOf() test_value() - Date.parse(x.toString()) test_tostring() - Date.parse(x.toGMTString()) test_togmt() - - Date.parse(x.toLocaleString()) is not required to - produce the same number value as the preceding three - expressions. in general the value produced by - Date.parse is implementation dependent when given any - string value that could not be produced in that - implementation by the toString or toGMTString method. - - value tested in function: - Date.parse( x.toLocaleString()) test_tolocale() - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ - -var SECTION = "15.9.4.2"; -var TITLE = "Date.parse()"; - -var TIME = 0; -var UTC_YEAR = 1; -var UTC_MONTH = 2; -var UTC_DATE = 3; -var UTC_DAY = 4; -var UTC_HOURS = 5; -var UTC_MINUTES = 6; -var UTC_SECONDS = 7; -var UTC_MS = 8; - -var YEAR = 9; -var MONTH = 10; -var DATE = 11; -var DAY = 12; -var HOURS = 13; -var MINUTES = 14; -var SECONDS = 15; -var MS = 16; -var TYPEOF = "object"; - -writeHeaderToLog("15.9.4.2 Date.parse()" ); - -// Dates around 1970 - -addNewTestCase( new Date(0), - "new Date(0)", - [0,1970,0,1,4,0,0,0,0,1969,11,31,3,16,0,0,0] ); - -addNewTestCase( new Date(-1), - "new Date(-1)", - [-1,1969,11,31,3,23,59,59,999,1969,11,31,3,15,59,59,999] ); -addNewTestCase( new Date(28799999), - "new Date(28799999)", - [28799999,1970,0,1,4,7,59,59,999,1969,11,31,3,23,59,59,999] ); -addNewTestCase( new Date(28800000), - "new Date(28800000)", - [28800000,1970,0,1,4,8,0,0,0,1970,0,1,4,0,0,0,0] ); - -// Dates around 2000 - -addNewTestCase( new Date(946684799999), - "new Date(946684799999)", - [946684799999,1999,11,31,5,23,59,59,999,1999,11,31,5,15,59,59,999] ); -addNewTestCase( new Date(946713599999), - "new Date(946713599999)", - [946713599999,2000,0,1,6,7,59,59,999,1999,11,31,5,23,59,59,999] ); -addNewTestCase( new Date(946684800000), - "new Date(946684800000)", - [946684800000,2000,0,1,6,0,0,0,0,1999,11,31,5, 16,0,0,0] ); -addNewTestCase( new Date(946713600000), - "new Date(946713600000)", - [946713600000,2000,0,1,6,8,0,0,0,2000,0,1,6,0,0,0,0] ); - -// Dates around 1900 - -addNewTestCase( new Date(-2208988800000), - "new Date(-2208988800000)", - [-2208988800000,1900,0,1,1,0,0,0,0,1899,11,31,0,16,0,0,0] ); - -addNewTestCase( new Date(-2208988800001), - "new Date(-2208988800001)", - [-2208988800001,1899,11,31,0,23,59,59,999,1899,11,31,0,15,59,59,999] ); - -addNewTestCase( new Date(-2208960000001), - "new Date(-2208960000001)", - [-2208960000001,1900,0,1,1,7,59,59,0,1899,11,31,0,23,59,59,999] ); -addNewTestCase( new Date(-2208960000000), - "new Date(-2208960000000)", - [-2208960000000,1900,0,1,1,8,0,0,0,1900,0,1,1,0,0,0,0] ); -addNewTestCase( new Date(-2208959999999), - "new Date(-2208959999999)", - [-2208959999999,1900,0,1,1,8,0,0,1,1900,0,1,1,0,0,0,1] ); - -// Dates around Feb 29, 2000 - -var PST_FEB_29_2000 = UTC_FEB_29_2000 + 8*msPerHour; - -addNewTestCase( new Date(UTC_FEB_29_2000), - "new Date(" + UTC_FEB_29_2000 +")", - [UTC_FEB_29_2000,2000,0,1,6,0,0,0,0,1999,11,31,5,16,0,0,0] ); -addNewTestCase( new Date(PST_FEB_29_2000), - "new Date(" + PST_FEB_29_2000 +")", - [PST_FEB_29_2000,2000,0,1,6,8.0,0,0,2000,0,1,6,0,0,0,0]); - -// Dates around Jan 1 2005 - -var PST_JAN_1_2005 = UTC_JAN_1_2005 + 8*msPerHour; - -addNewTestCase( new Date(UTC_JAN_1_2005), - "new Date("+ UTC_JAN_1_2005 +")", - [UTC_JAN_1_2005,2005,0,1,6,0,0,0,0,2004,11,31,5,16,0,0,0] ); -addNewTestCase( new Date(PST_JAN_1_2005), - "new Date("+ PST_JAN_1_2005 +")", - [PST_JAN_1_2005,2005,0,1,6,8,0,0,0,2005,0,1,6,0,0,0,0] ); - - -test(); - -function addNewTestCase( DateCase, DateString, ResultArray ) { - DateCase = DateCase; - - new TestCase( DateString+".getTime()", ResultArray[TIME], DateCase.getTime() ); - new TestCase( DateString+".valueOf()", ResultArray[TIME], DateCase.valueOf() ); - new TestCase( "Date.parse(" + DateCase.toString() +")", Math.floor(ResultArray[TIME]/1000)*1000, Date.parse(DateCase.toString()) ); - new TestCase( "Date.parse(" + DateCase.toGMTString() +")", Math.floor(ResultArray[TIME]/1000)*1000, Date.parse(DateCase.toGMTString()) ); -} diff --git a/js/src/tests/ecma/Date/15.9.4.3.js b/js/src/tests/ecma/Date/15.9.4.3.js deleted file mode 100644 index 5d62976ca3e7..000000000000 --- a/js/src/tests/ecma/Date/15.9.4.3.js +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -var SECTION = "15.9.4.3"; -var TITLE = "Date.UTC( year, month, date, hours, minutes, seconds, ms )"; - -// Dates around 1970 - -addNewTestCase( Date.UTC( 1970,0,1,0,0,0,0), - "Date.UTC( 1970,0,1,0,0,0,0)", - utc(1970,0,1,0,0,0,0) ); - -addNewTestCase( Date.UTC( 1969,11,31,23,59,59,999), - "Date.UTC( 1969,11,31,23,59,59,999)", - utc(1969,11,31,23,59,59,999) ); -addNewTestCase( Date.UTC( 1972,1,29,23,59,59,999), - "Date.UTC( 1972,1,29,23,59,59,999)", - utc(1972,1,29,23,59,59,999) ); -addNewTestCase( Date.UTC( 1972,2,1,23,59,59,999), - "Date.UTC( 1972,2,1,23,59,59,999)", - utc(1972,2,1,23,59,59,999) ); -addNewTestCase( Date.UTC( 1968,1,29,23,59,59,999), - "Date.UTC( 1968,1,29,23,59,59,999)", - utc(1968,1,29,23,59,59,999) ); -addNewTestCase( Date.UTC( 1968,2,1,23,59,59,999), - "Date.UTC( 1968,2,1,23,59,59,999)", - utc(1968,2,1,23,59,59,999) ); -addNewTestCase( Date.UTC( 1969,0,1,0,0,0,0), - "Date.UTC( 1969,0,1,0,0,0,0)", - utc(1969,0,1,0,0,0,0) ); -addNewTestCase( Date.UTC( 1969,11,31,23,59,59,1000), - "Date.UTC( 1969,11,31,23,59,59,1000)", - utc(1970,0,1,0,0,0,0) ); -addNewTestCase( Date.UTC( 1969,Number.NaN,31,23,59,59,999), - "Date.UTC( 1969,Number.NaN,31,23,59,59,999)", - utc(1969,Number.NaN,31,23,59,59,999) ); - -// Dates around 2000 - -addNewTestCase( Date.UTC( 1999,11,31,23,59,59,999), - "Date.UTC( 1999,11,31,23,59,59,999)", - utc(1999,11,31,23,59,59,999) ); -addNewTestCase( Date.UTC( 2000,0,1,0,0,0,0), - "Date.UTC( 2000,0,1,0,0,0,0)", - utc(2000,0,1,0,0,0,0) ); - -// Dates around 1900 -addNewTestCase( Date.UTC( 1899,11,31,23,59,59,999), - "Date.UTC( 1899,11,31,23,59,59,999)", - utc(1899,11,31,23,59,59,999) ); -addNewTestCase( Date.UTC( 1900,0,1,0,0,0,0), - "Date.UTC( 1900,0,1,0,0,0,0)", - utc(1900,0,1,0,0,0,0) ); -addNewTestCase( Date.UTC( 1973,0,1,0,0,0,0), - "Date.UTC( 1973,0,1,0,0,0,0)", - utc(1973,0,1,0,0,0,0) ); -addNewTestCase( Date.UTC( 1776,6,4,12,36,13,111), - "Date.UTC( 1776,6,4,12,36,13,111)", - utc(1776,6,4,12,36,13,111) ); -addNewTestCase( Date.UTC( 2525,9,18,15,30,1,123), - "Date.UTC( 2525,9,18,15,30,1,123)", - utc(2525,9,18,15,30,1,123) ); - -// Dates around 29 Feb 2000 - -addNewTestCase( Date.UTC( 2000,1,29,0,0,0,0 ), - "Date.UTC( 2000,1,29,0,0,0,0 )", - utc(2000,1,29,0,0,0,0) ); -addNewTestCase( Date.UTC( 2000,1,29,8,0,0,0 ), - "Date.UTC( 2000,1,29,8,0,0,0 )", - utc(2000,1,29,8,0,0,0) ); - -// Dates around 1 Jan 2005 - -addNewTestCase( Date.UTC( 2005,0,1,0,0,0,0 ), - "Date.UTC( 2005,0,1,0,0,0,0 )", - utc(2005,0,1,0,0,0,0) ); -addNewTestCase( Date.UTC( 2004,11,31,16,0,0,0 ), - "Date.UTC( 2004,11,31,16,0,0,0 )", - utc(2004,11,31,16,0,0,0) ); - -test(); - -function addNewTestCase( DateCase, DateString, ExpectDate) { - DateCase = DateCase; - - new TestCase( DateString, ExpectDate.value, DateCase ); - new TestCase( DateString, ExpectDate.value, DateCase ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} - -function utc( year, month, date, hours, minutes, seconds, ms ) { - d = new MyDate(); - d.year = Number(year); - - if (month) - d.month = Number(month); - if (date) - d.date = Number(date); - if (hours) - d.hours = Number(hours); - if (minutes) - d.minutes = Number(minutes); - if (seconds) - d.seconds = Number(seconds); - if (ms) - d.ms = Number(ms); - - if ( isNaN(d.year) && 0 <= ToInteger(d.year) && d.year <= 99 ) { - d.year = 1900 + ToInteger(d.year); - } - - if (isNaN(month) || isNaN(year) || isNaN(date) || isNaN(hours) || - isNaN(minutes) || isNaN(seconds) || isNaN(ms) ) { - d.year = Number.NaN; - d.month = Number.NaN; - d.date = Number.NaN; - d.hours = Number.NaN; - d.minutes = Number.NaN; - d.seconds = Number.NaN; - d.ms = Number.NaN; - d.value = Number.NaN; - d.time = Number.NaN; - d.day =Number.NaN; - return d; - } - - d.day = MakeDay( d.year, d.month, d.date ); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = (TimeClip( MakeDate(d.day,d.time))); - - return d; -} - -function UTCTime( t ) { - sign = ( t < 0 ) ? -1 : 1; - return ( (t +(TZ_DIFF*msPerHour)) ); -} - diff --git a/js/src/tests/ecma/Date/15.9.5.1.js b/js/src/tests/ecma/Date/15.9.5.1.js deleted file mode 100644 index e5068496e9fc..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.1.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.1.js - ECMA Section: 15.9.5.1 Date.prototype.constructor - Description: - The initial value of Date.prototype.constructor is the built-in Date - constructor. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.1"; -var TITLE = "Date.prototype.constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Date.prototype.constructor == Date", - true, - Date.prototype.constructor == Date ); -test(); diff --git a/js/src/tests/ecma/Date/15.9.5.10-1.js b/js/src/tests/ecma/Date/15.9.5.10-1.js deleted file mode 100644 index cc3e4da960f3..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-1.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-10.js b/js/src/tests/ecma/Date/15.9.5.10-10.js deleted file mode 100644 index 6c794e3d48c5..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-10.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some daylight savings time cases - -var DST_START_1998 = GetDSTStart(TimeFromYear(1998)); - -addTestCase( DST_START_1998+1 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-11.js b/js/src/tests/ecma/Date/15.9.5.10-11.js deleted file mode 100644 index 07a7fe189b66..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-11.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some daylight savings time cases - -var DST_END_1998 = GetDSTEnd(TimeFromYear(1998)); - -addTestCase( DST_END_1998 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-12.js b/js/src/tests/ecma/Date/15.9.5.10-12.js deleted file mode 100644 index df8a898966ba..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-12.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some daylight savings time cases - -var DST_END_1998 = GetDSTEnd(TimeFromYear(1998)); - -addTestCase( DST_END_1998-1 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-13.js b/js/src/tests/ecma/Date/15.9.5.10-13.js deleted file mode 100644 index b81de4268234..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-13.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some daylight savings time cases - -var DST_END_1998 = GetDSTEnd(TimeFromYear(1998)); - -addTestCase( DST_END_1998+1 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-2.js b/js/src/tests/ecma/Date/15.9.5.10-2.js deleted file mode 100644 index f2c851dfb339..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-2.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-3.js b/js/src/tests/ecma/Date/15.9.5.10-3.js deleted file mode 100644 index 8db25ce52173..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-3.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1970 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-4.js b/js/src/tests/ecma/Date/15.9.5.10-4.js deleted file mode 100644 index 7063445268ad..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-4.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1900 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-5.js b/js/src/tests/ecma/Date/15.9.5.10-5.js deleted file mode 100644 index 6fd5e659db78..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-5.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_2000 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-6.js b/js/src/tests/ecma/Date/15.9.5.10-6.js deleted file mode 100644 index 05fef100e6d8..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-6.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_FEB_29_2000 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-7.js b/js/src/tests/ecma/Date/15.9.5.10-7.js deleted file mode 100644 index 51028179d96d..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-7.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-8.js b/js/src/tests/ecma/Date/15.9.5.10-8.js deleted file mode 100644 index be63dea6451f..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-8.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some daylight savings time cases - -var DST_START_1998 = GetDSTStart(TimeFromYear(1998)); - -addTestCase( DST_START_1998 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.10-9.js b/js/src/tests/ecma/Date/15.9.5.10-9.js deleted file mode 100644 index a05aa2f5df4c..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.10-9.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.10.js - ECMA Section: 15.9.5.10 - Description: Date.prototype.getDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return DateFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.10"; -var TITLE = "Date.prototype.getDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some daylight savings time cases - -var DST_START_1998 = GetDSTStart(TimeFromYear(1998)); - -addTestCase( DST_START_1998-1 ); - -new TestCase( "(new Date(NaN)).getDate()", - NaN, - (new Date(NaN)).getDate() ); - -new TestCase( "Date.prototype.getDate.length", - 0, - Date.prototype.getDate.length ); -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDate()", - DateFromTime(LocalTime(d)), - (new Date(d)).getDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-1.js b/js/src/tests/ecma/Date/15.9.5.11-1.js deleted file mode 100644 index fdd9fa70d247..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-1.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11.js - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-2.js b/js/src/tests/ecma/Date/15.9.5.11-2.js deleted file mode 100644 index cddb925b1219..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-2.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11 - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-3.js b/js/src/tests/ecma/Date/15.9.5.11-3.js deleted file mode 100644 index b78b454516aa..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-3.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11.js - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1970 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-4.js b/js/src/tests/ecma/Date/15.9.5.11-4.js deleted file mode 100644 index 6b873349f944..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-4.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11.js - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1900 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-5.js b/js/src/tests/ecma/Date/15.9.5.11-5.js deleted file mode 100644 index 98091f286ae2..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-5.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11.js - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_2000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-6.js b/js/src/tests/ecma/Date/15.9.5.11-6.js deleted file mode 100644 index 7cd160c65b93..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-6.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11.js - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_FEB_29_2000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.11-7.js b/js/src/tests/ecma/Date/15.9.5.11-7.js deleted file mode 100644 index f68c62c62eef..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.11-7.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.11.js - ECMA Section: 15.9.5.11 - Description: Date.prototype.getUTCDate - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 1.Return DateFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.11"; -var TITLE = "Date.prototype.getUTCDate()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDate()", - DateFromTime(d), - (new Date(d)).getUTCDate() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-1.js b/js/src/tests/ecma/Date/15.9.5.12-1.js deleted file mode 100644 index 712cab4cefe7..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-1.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-2.js b/js/src/tests/ecma/Date/15.9.5.12-2.js deleted file mode 100644 index 8ecea765d2c4..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-2.js +++ /dev/null @@ -1,41 +0,0 @@ -// |reftest| skip-if(!xulRuntime.shell&&xulRuntime.OS=="Linux"&&xulRuntime.XPCOMABI.match(/x86_64/)) -- bug xxx crash -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-3.js b/js/src/tests/ecma/Date/15.9.5.12-3.js deleted file mode 100644 index 6a3665186882..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-3.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1970 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-4.js b/js/src/tests/ecma/Date/15.9.5.12-4.js deleted file mode 100644 index 5ccd2b92533a..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-4.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1900 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-5.js b/js/src/tests/ecma/Date/15.9.5.12-5.js deleted file mode 100644 index 68efa2994e27..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-5.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_2000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-6.js b/js/src/tests/ecma/Date/15.9.5.12-6.js deleted file mode 100644 index fa6d7caa4cc2..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-6.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_FEB_29_2000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-7.js b/js/src/tests/ecma/Date/15.9.5.12-7.js deleted file mode 100644 index 707eb09e31b5..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-7.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12.js - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getDay()", - WeekDay((LocalTime(d))), - (new Date(d)).getDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.12-8.js b/js/src/tests/ecma/Date/15.9.5.12-8.js deleted file mode 100644 index 9fec10f0d6fa..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.12-8.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.12 - ECMA Section: 15.9.5.12 - Description: Date.prototype.getDay - - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return WeekDay(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.12"; -var TITLE = "Date.prototype.getDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new Date(NaN)).getDay()", - NaN, - (new Date(NaN)).getDay() ); - -new TestCase( "Date.prototype.getDay.length", - 0, - Date.prototype.getDay.length ); -test(); diff --git a/js/src/tests/ecma/Date/15.9.5.13-1.js b/js/src/tests/ecma/Date/15.9.5.13-1.js deleted file mode 100644 index c2df21d2e0ee..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-1.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// get the current time -var now = (new Date()).valueOf(); - -addTestCase( now ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.13-2.js b/js/src/tests/ecma/Date/15.9.5.13-2.js deleted file mode 100644 index 5ca76b943fb9..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-2.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13 - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.13-3.js b/js/src/tests/ecma/Date/15.9.5.13-3.js deleted file mode 100644 index de8c9ed91cb8..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-3.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1970 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} - diff --git a/js/src/tests/ecma/Date/15.9.5.13-4.js b/js/src/tests/ecma/Date/15.9.5.13-4.js deleted file mode 100644 index 20e5655c4807..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-4.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1900 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} - diff --git a/js/src/tests/ecma/Date/15.9.5.13-5.js b/js/src/tests/ecma/Date/15.9.5.13-5.js deleted file mode 100644 index b622a0639388..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-5.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_2000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} - diff --git a/js/src/tests/ecma/Date/15.9.5.13-6.js b/js/src/tests/ecma/Date/15.9.5.13-6.js deleted file mode 100644 index bd7aae7070be..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-6.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_FEB_29_2000 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} - diff --git a/js/src/tests/ecma/Date/15.9.5.13-7.js b/js/src/tests/ecma/Date/15.9.5.13-7.js deleted file mode 100644 index c9f7ce0fc5eb..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-7.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - var start = TimeFromYear(YearFromTime(t)); - var stop = TimeFromYear(YearFromTime(t) + 1); - - for (var d = start; d < stop; d += msPerDay) - { - new TestCase( "(new Date("+d+")).getUTCDay()", - WeekDay((d)), - (new Date(d)).getUTCDay() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.13-8.js b/js/src/tests/ecma/Date/15.9.5.13-8.js deleted file mode 100644 index 27e083738f3f..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.13-8.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.13.js - ECMA Section: 15.9.5.13 - Description: Date.prototype.getUTCDay - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return WeekDay(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.13"; -var TITLE = "Date.prototype.getUTCDay()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new Date(NaN)).getUTCDay()", - NaN, - (new Date(NaN)).getUTCDay() ); - -new TestCase( "Date.prototype.getUTCDay.length", - 0, - Date.prototype.getUTCDay.length ); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.5.14.js b/js/src/tests/ecma/Date/15.9.5.14.js deleted file mode 100644 index 3540a090207c..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.14.js +++ /dev/null @@ -1,49 +0,0 @@ -// |reftest| random -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.14.js - ECMA Section: 15.9.5.14 - Description: Date.prototype.getHours - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return HourFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.14"; -var TITLE = "Date.prototype.getHours()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getHours()", - NaN, - (new Date(NaN)).getHours() ); - -new TestCase( "Date.prototype.getHours.length", - 0, - Date.prototype.getHours.length ); -test(); - -function addTestCase( t ) { - for ( h = 0; h < 24; h+=4 ) { - t += msPerHour; - new TestCase( "(new Date("+t+")).getHours()", - HourFromTime((LocalTime(t))), - (new Date(t)).getHours() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.15.js b/js/src/tests/ecma/Date/15.9.5.15.js deleted file mode 100644 index 4f2f2f3d34a3..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.15.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.15.js - ECMA Section: 15.9.5.15 - Description: Date.prototype.getUTCHours - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return HourFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.15"; -var TITLE = "Date.prototype.getUTCHours()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getUTCHours()", - NaN, - (new Date(NaN)).getUTCHours() ); - -new TestCase( "Date.prototype.getUTCHours.length", - 0, - Date.prototype.getUTCHours.length ); -test(); - -function addTestCase( t ) { - for ( h = 0; h < 24; h+=3 ) { - t += msPerHour; - new TestCase( "(new Date("+t+")).getUTCHours()", - HourFromTime((t)), - (new Date(t)).getUTCHours() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.16.js b/js/src/tests/ecma/Date/15.9.5.16.js deleted file mode 100644 index d15887f7796e..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.16.js +++ /dev/null @@ -1,49 +0,0 @@ -// |reftest| skip-if(!xulRuntime.shell&&xulRuntime.OS=="Linux"&&xulRuntime.XPCOMABI.match(/x86_64/)) -- bug xxx crash -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.16.js - ECMA Section: 15.9.5.16 - Description: Date.prototype.getMinutes - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return MinFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.16"; -var TITLE = "Date.prototype.getMinutes()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getMinutes()", - NaN, - (new Date(NaN)).getMinutes() ); - -new TestCase( "Date.prototype.getMinutes.length", - 0, - Date.prototype.getMinutes.length ); -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 60; m+=10 ) { - t += msPerMinute; - new TestCase( "(new Date("+t+")).getMinutes()", - MinFromTime((LocalTime(t))), - (new Date(t)).getMinutes() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.17.js b/js/src/tests/ecma/Date/15.9.5.17.js deleted file mode 100644 index d4793cc1dfcf..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.17.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.17.js - ECMA Section: 15.9.5.17 - Description: Date.prototype.getUTCMinutes - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return MinFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.17"; -var TITLE = "Date.prototype.getUTCMinutes()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getUTCMinutes()", - NaN, - (new Date(NaN)).getUTCMinutes() ); - -new TestCase( "Date.prototype.getUTCMinutes.length", - 0, - Date.prototype.getUTCMinutes.length ); -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 60; m+=10 ) { - t += msPerMinute; - new TestCase( "(new Date("+t+")).getUTCMinutes()", - MinFromTime(t), - (new Date(t)).getUTCMinutes() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.18.js b/js/src/tests/ecma/Date/15.9.5.18.js deleted file mode 100644 index 65210c627304..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.18.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.18.js - ECMA Section: 15.9.5.18 - Description: Date.prototype.getSeconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return SecFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.18"; -var TITLE = "Date.prototype.getSeconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getSeconds()", - NaN, - (new Date(NaN)).getSeconds() ); - -new TestCase( "Date.prototype.getSeconds.length", - 0, - Date.prototype.getSeconds.length ); -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 60; m+=10 ) { - t += 1000; - new TestCase( "(new Date("+t+")).getSeconds()", - SecFromTime(LocalTime(t)), - (new Date(t)).getSeconds() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.19.js b/js/src/tests/ecma/Date/15.9.5.19.js deleted file mode 100644 index 24b7e3d34999..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.19.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.19.js - ECMA Section: 15.9.5.19 - Description: Date.prototype.getUTCSeconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return SecFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.19"; -var TITLE = "Date.prototype.getUTCSeconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getUTCSeconds()", - NaN, - (new Date(NaN)).getUTCSeconds() ); - -new TestCase( "Date.prototype.getUTCSeconds.length", - 0, - Date.prototype.getUTCSeconds.length ); -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 60; m+=10 ) { - t += 1000; - new TestCase( "(new Date("+t+")).getUTCSeconds()", - SecFromTime(t), - (new Date(t)).getUTCSeconds() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.2-1.js b/js/src/tests/ecma/Date/15.9.5.2-1.js deleted file mode 100644 index abf2ba59f886..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.2-1.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.2.js - ECMA Section: 15.9.5.2 Date.prototype.toString - Description: - This function returns a string value. The contents of the string are - implementation dependent, but are intended to represent the Date in a - convenient, human-readable form in the current time zone. - - The toString function is not generic; it generates a runtime error if its - this value is not a Date object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.2"; -var TITLE = "Date.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Date.prototype.toString.length", - 0, - Date.prototype.toString.length ); - -var now = new Date(); - -// can't test the content of the string, but can verify that the string is -// parsable by Date.parse - -new TestCase( - "Math.abs(Date.parse(now.toString()) - now.valueOf()) < 1000", - true, - Math.abs(Date.parse(now.toString()) - now.valueOf()) < 1000 ); - -new TestCase( - "typeof now.toString()", - "string", - typeof now.toString() ); -// 1970 - -new TestCase( - "Date.parse( (new Date(0)).toString() )", - 0, - Date.parse( (new Date(0)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+TZ_ADJUST+")).toString() )", - TZ_ADJUST, - Date.parse( (new Date(TZ_ADJUST)).toString() ) ); - -// 1900 -new TestCase( - "Date.parse( (new Date("+TIME_1900+")).toString() )", - TIME_1900, - Date.parse( (new Date(TIME_1900)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+TIME_1900 -TZ_ADJUST+")).toString() )", - TIME_1900 -TZ_ADJUST, - Date.parse( (new Date(TIME_1900 -TZ_ADJUST)).toString() ) ); - -// 2000 -new TestCase( - "Date.parse( (new Date("+TIME_2000+")).toString() )", - TIME_2000, - Date.parse( (new Date(TIME_2000)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+TIME_2000 -TZ_ADJUST+")).toString() )", - TIME_2000 -TZ_ADJUST, - Date.parse( (new Date(TIME_2000 -TZ_ADJUST)).toString() ) ); - -// 29 Feb 2000 - -new TestCase( - "Date.parse( (new Date("+UTC_FEB_29_2000+")).toString() )", - UTC_FEB_29_2000, - Date.parse( (new Date(UTC_FEB_29_2000)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+(UTC_FEB_29_2000-1000)+")).toString() )", - UTC_FEB_29_2000-1000, - Date.parse( (new Date(UTC_FEB_29_2000-1000)).toString() ) ); - - -new TestCase( - "Date.parse( (new Date("+(UTC_FEB_29_2000-TZ_ADJUST)+")).toString() )", - UTC_FEB_29_2000-TZ_ADJUST, - Date.parse( (new Date(UTC_FEB_29_2000-TZ_ADJUST)).toString() ) ); -// 2O05 - -new TestCase( - "Date.parse( (new Date("+UTC_JAN_1_2005+")).toString() )", - UTC_JAN_1_2005, - Date.parse( (new Date(UTC_JAN_1_2005)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+(UTC_JAN_1_2005-1000)+")).toString() )", - UTC_JAN_1_2005-1000, - Date.parse( (new Date(UTC_JAN_1_2005-1000)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+(UTC_JAN_1_2005-TZ_ADJUST)+")).toString() )", - UTC_JAN_1_2005-TZ_ADJUST, - Date.parse( (new Date(UTC_JAN_1_2005-TZ_ADJUST)).toString() ) ); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.5.2.js b/js/src/tests/ecma/Date/15.9.5.2.js deleted file mode 100644 index abf2ba59f886..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.2.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.2.js - ECMA Section: 15.9.5.2 Date.prototype.toString - Description: - This function returns a string value. The contents of the string are - implementation dependent, but are intended to represent the Date in a - convenient, human-readable form in the current time zone. - - The toString function is not generic; it generates a runtime error if its - this value is not a Date object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.2"; -var TITLE = "Date.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Date.prototype.toString.length", - 0, - Date.prototype.toString.length ); - -var now = new Date(); - -// can't test the content of the string, but can verify that the string is -// parsable by Date.parse - -new TestCase( - "Math.abs(Date.parse(now.toString()) - now.valueOf()) < 1000", - true, - Math.abs(Date.parse(now.toString()) - now.valueOf()) < 1000 ); - -new TestCase( - "typeof now.toString()", - "string", - typeof now.toString() ); -// 1970 - -new TestCase( - "Date.parse( (new Date(0)).toString() )", - 0, - Date.parse( (new Date(0)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+TZ_ADJUST+")).toString() )", - TZ_ADJUST, - Date.parse( (new Date(TZ_ADJUST)).toString() ) ); - -// 1900 -new TestCase( - "Date.parse( (new Date("+TIME_1900+")).toString() )", - TIME_1900, - Date.parse( (new Date(TIME_1900)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+TIME_1900 -TZ_ADJUST+")).toString() )", - TIME_1900 -TZ_ADJUST, - Date.parse( (new Date(TIME_1900 -TZ_ADJUST)).toString() ) ); - -// 2000 -new TestCase( - "Date.parse( (new Date("+TIME_2000+")).toString() )", - TIME_2000, - Date.parse( (new Date(TIME_2000)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+TIME_2000 -TZ_ADJUST+")).toString() )", - TIME_2000 -TZ_ADJUST, - Date.parse( (new Date(TIME_2000 -TZ_ADJUST)).toString() ) ); - -// 29 Feb 2000 - -new TestCase( - "Date.parse( (new Date("+UTC_FEB_29_2000+")).toString() )", - UTC_FEB_29_2000, - Date.parse( (new Date(UTC_FEB_29_2000)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+(UTC_FEB_29_2000-1000)+")).toString() )", - UTC_FEB_29_2000-1000, - Date.parse( (new Date(UTC_FEB_29_2000-1000)).toString() ) ); - - -new TestCase( - "Date.parse( (new Date("+(UTC_FEB_29_2000-TZ_ADJUST)+")).toString() )", - UTC_FEB_29_2000-TZ_ADJUST, - Date.parse( (new Date(UTC_FEB_29_2000-TZ_ADJUST)).toString() ) ); -// 2O05 - -new TestCase( - "Date.parse( (new Date("+UTC_JAN_1_2005+")).toString() )", - UTC_JAN_1_2005, - Date.parse( (new Date(UTC_JAN_1_2005)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+(UTC_JAN_1_2005-1000)+")).toString() )", - UTC_JAN_1_2005-1000, - Date.parse( (new Date(UTC_JAN_1_2005-1000)).toString() ) ); - -new TestCase( - "Date.parse( (new Date("+(UTC_JAN_1_2005-TZ_ADJUST)+")).toString() )", - UTC_JAN_1_2005-TZ_ADJUST, - Date.parse( (new Date(UTC_JAN_1_2005-TZ_ADJUST)).toString() ) ); - -test(); diff --git a/js/src/tests/ecma/Date/15.9.5.20.js b/js/src/tests/ecma/Date/15.9.5.20.js deleted file mode 100644 index 2e75a1931cb0..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.20.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.20.js - ECMA Section: 15.9.5.20 - Description: Date.prototype.getMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.20"; -var TITLE = "Date.prototype.getMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getMilliseconds()", - NaN, - (new Date(NaN)).getMilliseconds() ); - -new TestCase( "Date.prototype.getMilliseconds.length", - 0, - Date.prototype.getMilliseconds.length ); -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( "(new Date("+t+")).getMilliseconds()", - msFromTime(LocalTime(t)), - (new Date(t)).getMilliseconds() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-1.js b/js/src/tests/ecma/Date/15.9.5.21-1.js deleted file mode 100644 index 49ef6c230be1..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-1.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-2.js b/js/src/tests/ecma/Date/15.9.5.21-2.js deleted file mode 100644 index 383fc5e36699..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-2.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-3.js b/js/src/tests/ecma/Date/15.9.5.21-3.js deleted file mode 100644 index 9ef70adfd1ad..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-3.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1970 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-4.js b/js/src/tests/ecma/Date/15.9.5.21-4.js deleted file mode 100644 index ffdea1270937..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-4.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1900 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-5.js b/js/src/tests/ecma/Date/15.9.5.21-5.js deleted file mode 100644 index 42d9ea7cf146..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-5.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_2000 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-6.js b/js/src/tests/ecma/Date/15.9.5.21-6.js deleted file mode 100644 index 055dd3908b27..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-6.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_FEB_29_2000 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-7.js b/js/src/tests/ecma/Date/15.9.5.21-7.js deleted file mode 100644 index d3bb9146be08..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-7.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - new TestCase("(new Date("+t+")).getUTCMilliseconds()", - msFromTime(t), - (new Date(t)).getUTCMilliseconds() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.21-8.js b/js/src/tests/ecma/Date/15.9.5.21-8.js deleted file mode 100644 index 71480c6808e3..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.21-8.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.21.js - ECMA Section: 15.9.5.21 - Description: Date.prototype.getUTCMilliseconds - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return msFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.21"; -var TITLE = "Date.prototype.getUTCMilliseconds()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new Date(NaN)).getUTCMilliseconds()", - NaN, - (new Date(NaN)).getUTCMilliseconds() ); - -new TestCase( "Date.prototype.getUTCMilliseconds.length", - 0, - Date.prototype.getUTCMilliseconds.length ); -test(); - diff --git a/js/src/tests/ecma/Date/15.9.5.22-1.js b/js/src/tests/ecma/Date/15.9.5.22-1.js deleted file mode 100644 index 51d39ebcc1e6..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-1.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getTimezoneOffset()", - NaN, - (new Date(NaN)).getTimezoneOffset() ); - -new TestCase( "Date.prototype.getTimezoneOffset.length", - 0, - Date.prototype.getTimezoneOffset.length ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-2.js b/js/src/tests/ecma/Date/15.9.5.22-2.js deleted file mode 100644 index bb7408017e72..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-2.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_0000 ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( - "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-3.js b/js/src/tests/ecma/Date/15.9.5.22-3.js deleted file mode 100644 index f8c4764721c9..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-3.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1970 ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( - "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-4.js b/js/src/tests/ecma/Date/15.9.5.22-4.js deleted file mode 100644 index 9bc72f8efc52..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-4.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_1900 ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( - "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-5.js b/js/src/tests/ecma/Date/15.9.5.22-5.js deleted file mode 100644 index 3e443af60461..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-5.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_2000 ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( - "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-6.js b/js/src/tests/ecma/Date/15.9.5.22-6.js deleted file mode 100644 index c0bb9522f253..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-6.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_FEB_29_2000 ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( - "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-7.js b/js/src/tests/ecma/Date/15.9.5.22-7.js deleted file mode 100644 index a34e06e983e6..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-7.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - for ( m = 0; m <= 1000; m+=100 ) { - t++; - new TestCase( - "(new Date("+t+")).getTimezoneOffset()", - (t - LocalTime(t)) / msPerMinute, - (new Date(t)).getTimezoneOffset() ); - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.22-8.js b/js/src/tests/ecma/Date/15.9.5.22-8.js deleted file mode 100644 index c9576cdfc151..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.22-8.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.22.js - ECMA Section: 15.9.5.22 - Description: Date.prototype.getTimezoneOffset - - Returns the difference between local time and UTC time in minutes. - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return (t - LocalTime(t)) / msPerMinute. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.22"; -var TITLE = "Date.prototype.getTimezoneOffset()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new Date(NaN)).getTimezoneOffset()", - NaN, - (new Date(NaN)).getTimezoneOffset() ); - -new TestCase( "Date.prototype.getTimezoneOffset.length", - 0, - Date.prototype.getTimezoneOffset.length ); -test(); - diff --git a/js/src/tests/ecma/Date/15.9.5.23-1.js b/js/src/tests/ecma/Date/15.9.5.23-1.js deleted file mode 100644 index 78ddd54971eb..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-1.js +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( 0, 0 ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} - diff --git a/js/src/tests/ecma/Date/15.9.5.23-10.js b/js/src/tests/ecma/Date/15.9.5.23-10.js deleted file mode 100644 index 79a69976b32d..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-10.js +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, -2208988800000 ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} - diff --git a/js/src/tests/ecma/Date/15.9.5.23-11.js b/js/src/tests/ecma/Date/15.9.5.23-11.js deleted file mode 100644 index 0a300f1f8e68..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-11.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, -86400000 ); - -test(); - - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} - - diff --git a/js/src/tests/ecma/Date/15.9.5.23-12.js b/js/src/tests/ecma/Date/15.9.5.23-12.js deleted file mode 100644 index 3372ef258520..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-12.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, 946684800000 ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-13.js b/js/src/tests/ecma/Date/15.9.5.23-13.js deleted file mode 100644 index 162980b2c88a..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-13.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-13"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, -2208988800000 ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-14.js b/js/src/tests/ecma/Date/15.9.5.23-14.js deleted file mode 100644 index 76ea71626253..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-14.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-14"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, 946684800000 ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-15.js b/js/src/tests/ecma/Date/15.9.5.23-15.js deleted file mode 100644 index 9d0503cc84b2..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-15.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, 0 ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-16.js b/js/src/tests/ecma/Date/15.9.5.23-16.js deleted file mode 100644 index e94a29a71bd7..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-16.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, String( TIME_1900 ) ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-17.js b/js/src/tests/ecma/Date/15.9.5.23-17.js deleted file mode 100644 index 84f6389c57f9..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-17.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, String( TZ_DIFF* msPerHour ) ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-18.js b/js/src/tests/ecma/Date/15.9.5.23-18.js deleted file mode 100644 index 47947793f9f5..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-18.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-1.js - ECMA Section: 15.9.5.23 Date.prototype.setTime(time) - Description: - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.9.5.23-1"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " Date.prototype.setTime(time)"); - -var now = "now"; -addTestCase( now, String( TIME_2000 ) ); - -test(); - -function addTestCase( startTime, setTime ) { - if ( startTime == "now" ) { - DateCase = new Date(); - } else { - DateCase = new Date( startTime ); - } - - DateCase.setTime( setTime ); - var DateString = "var d = new Date("+startTime+"); d.setTime("+setTime+"); d" ; - var UTCDate = UTCDateFromTime ( Number(setTime) ); - var LocalDate = LocalDateFromTime( Number(setTime) ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-2.js b/js/src/tests/ecma/Date/15.9.5.23-2.js deleted file mode 100644 index 89cef2f4fd0a..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-2.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_1970, TIME_1900, TIME_2000 ); - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(TIME_NOW), test_times[j] ); -} - -new TestCase( "(new Date(NaN)).setTime()", - NaN, - (new Date(NaN)).setTime() ); - -new TestCase( "Date.prototype.setTime.length", - 1, - Date.prototype.setTime.length ); -test(); - -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-3-n.js b/js/src/tests/ecma/Date/15.9.5.23-3-n.js deleted file mode 100644 index 5f3a7d42e5d7..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-3-n.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-3-n.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-3-n"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MYDATE = new MyDate(TIME_1970); - -DESCRIPTION = "MYDATE.setTime(TIME_2000)"; - -new TestCase( - "MYDATE.setTime(TIME_2000)", - "error", - eval("MYDATE.setTime(TIME_2000)") ); - -test(); - -function MyDate(value) { - this.value = value; - this.setTime = Date.prototype.setTime; - return this; -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-4.js b/js/src/tests/ecma/Date/15.9.5.23-4.js deleted file mode 100644 index 61f4e469fd21..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-4.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_0000, TIME_1970, TIME_1900, TIME_2000, - UTC_FEB_29_2000, UTC_JAN_1_2005 ); - - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(TIME_0000), test_times[j] ); -} - -new TestCase( "(new Date(NaN)).setTime()", - NaN, - (new Date(NaN)).setTime() ); - -new TestCase( "Date.prototype.setTime.length", - 1, - Date.prototype.setTime.length ); -test(); - -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-5.js b/js/src/tests/ecma/Date/15.9.5.23-5.js deleted file mode 100644 index 4dee826b684c..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-5.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_0000, TIME_1970, TIME_1900, TIME_2000, - UTC_FEB_29_2000, UTC_JAN_1_2005 ); - - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(TIME_1970), test_times[j] ); -} - - -new TestCase( "(new Date(NaN)).setTime()", - NaN, - (new Date(NaN)).setTime() ); - -new TestCase( "Date.prototype.setTime.length", - 1, - Date.prototype.setTime.length ); -test(); - -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-6.js b/js/src/tests/ecma/Date/15.9.5.23-6.js deleted file mode 100644 index af2efe572d25..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-6.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_0000, TIME_1970, TIME_1900, TIME_2000, - UTC_FEB_29_2000, UTC_JAN_1_2005 ); - - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(TIME_1900), test_times[j] ); -} - - -new TestCase( "(new Date(NaN)).setTime()", - NaN, - (new Date(NaN)).setTime() ); - -new TestCase( "Date.prototype.setTime.length", - 1, - Date.prototype.setTime.length ); -test(); -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-7.js b/js/src/tests/ecma/Date/15.9.5.23-7.js deleted file mode 100644 index 0776778b2b84..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-7.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_0000, TIME_1970, TIME_1900, TIME_2000, - UTC_FEB_29_2000, UTC_JAN_1_2005 ); - - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(TIME_2000), test_times[j] ); -} - - -new TestCase( "(new Date(NaN)).setTime()", - NaN, - (new Date(NaN)).setTime() ); - -new TestCase( "Date.prototype.setTime.length", - 1, - Date.prototype.setTime.length ); -test(); - -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-8.js b/js/src/tests/ecma/Date/15.9.5.23-8.js deleted file mode 100644 index a521076c66ba..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-8.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_0000, TIME_1970, TIME_1900, TIME_2000, - UTC_FEB_29_2000, UTC_JAN_1_2005 ); - - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(UTC_FEB_29_2000), test_times[j] ); -} - -test(); - -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.23-9.js b/js/src/tests/ecma/Date/15.9.5.23-9.js deleted file mode 100644 index 6a36b113b73e..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.23-9.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.23-2.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.23-2"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -test_times = new Array( TIME_NOW, TIME_0000, TIME_1970, TIME_1900, TIME_2000, - UTC_FEB_29_2000, UTC_JAN_1_2005 ); - - -for ( var j = 0; j < test_times.length; j++ ) { - addTestCase( new Date(UTC_JAN_1_2005), test_times[j] ); -} - -test(); - -function addTestCase( d, t ) { - new TestCase( "( "+d+" ).setTime("+t+")", - t, - d.setTime(t) ); - - new TestCase( "( "+d+" ).setTime("+(t+1.1)+")", - TimeClip(t+1.1), - d.setTime(t+1.1) ); - - new TestCase( "( "+d+" ).setTime("+(t+1)+")", - t+1, - d.setTime(t+1) ); - - new TestCase( "( "+d+" ).setTime("+(t-1)+")", - t-1, - d.setTime(t-1) ); - - new TestCase( "( "+d+" ).setTime("+(t-TZ_ADJUST)+")", - t-TZ_ADJUST, - d.setTime(t-TZ_ADJUST) ); - - new TestCase( "( "+d+" ).setTime("+(t+TZ_ADJUST)+")", - t+TZ_ADJUST, - d.setTime(t+TZ_ADJUST) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-1.js b/js/src/tests/ecma/Date/15.9.5.24-1.js deleted file mode 100644 index 1383d2ee66c4..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-1.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, 0 ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-2.js b/js/src/tests/ecma/Date/15.9.5.24-2.js deleted file mode 100644 index 338ad07cbb78..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-2.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, -86400000 ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-3.js b/js/src/tests/ecma/Date/15.9.5.24-3.js deleted file mode 100644 index 6ed110284d3a..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-3.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, -2208988800000 ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-4.js b/js/src/tests/ecma/Date/15.9.5.24-4.js deleted file mode 100644 index 64678c0ddc7a..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-4.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, 946684800000 ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-5.js b/js/src/tests/ecma/Date/15.9.5.24-5.js deleted file mode 100644 index ac3d0b93fd4f..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-5.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, "0" ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-6.js b/js/src/tests/ecma/Date/15.9.5.24-6.js deleted file mode 100644 index 3b5a96410aea..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-6.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, "-2208988800000" ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-7.js b/js/src/tests/ecma/Date/15.9.5.24-7.js deleted file mode 100644 index 4ab745a4d8da..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-7.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - - -addTestCase( 0, "-86400000" ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.24-8.js b/js/src/tests/ecma/Date/15.9.5.24-8.js deleted file mode 100644 index 53b04527ce51..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.24-8.js +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.24-1.js - ECMA Section: 15.9.5.24 Date.prototype.setTime(time) - Description: - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var TITLE = "Date.prototype.setTime" - var SECTION = "15.9.5.24-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMilliseconds(ms)"); - -addTestCase( 0, "946684800000" ); - -test(); - -function addTestCase( startms, newms ) { - - var DateCase = new Date( startms ); - DateCase.setMilliseconds( newms ); - var DateString = "var date = new Date("+ startms +"); date.setMilliseconds("+ newms +"); date"; - var localms = UTC( Number(newms) + LocalTime( Number(startms) ) ); - var UTCDate = UTCDateFromTime( localms ); - var LocalDate = LocalDateFromTime( localms ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} diff --git a/js/src/tests/ecma/Date/15.9.5.25-1.js b/js/src/tests/ecma/Date/15.9.5.25-1.js deleted file mode 100644 index bfcbd00ab9e2..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.25-1.js +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.25-1.js - ECMA Section: 15.9.5.25 Date.prototype.setUTCMilliseconds(ms) - Description: - 1. Let t be this time value. - 2. Call ToNumber(ms). - 3. Compute MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), Result(2)). - 4. Compute MakeDate(Day(t), Result(3)). - 5. Set the [[Value]] property of the this value to TimeClip(Result(4)). - 6. Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.25-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCMilliseconds(ms)"); - -addNewTestCase( 0, 0, "TDATE = new Date(0);(TDATE).setUTCMilliseconds(0);TDATE", - UTCDateFromTime(SetUTCMilliseconds(0,0)), - LocalDateFromTime(SetUTCMilliseconds(0,0)) ); -addNewTestCase( 28800000,999, - "TDATE = new Date(28800000);(TDATE).setUTCMilliseconds(999);TDATE", - UTCDateFromTime(SetUTCMilliseconds(28800000,999)), - LocalDateFromTime(SetUTCMilliseconds(28800000,999)) ); -addNewTestCase( 28800000,-28800000, - "TDATE = new Date(28800000);(TDATE).setUTCMilliseconds(-28800000);TDATE", - UTCDateFromTime(SetUTCMilliseconds(28800000,-28800000)), - LocalDateFromTime(SetUTCMilliseconds(28800000,-28800000)) ); -addNewTestCase( 946684800000,1234567, - "TDATE = new Date(946684800000);(TDATE).setUTCMilliseconds(1234567);TDATE", - UTCDateFromTime(SetUTCMilliseconds(946684800000,1234567)), - LocalDateFromTime(SetUTCMilliseconds(946684800000,1234567)) ); -addNewTestCase( 946684800000, 123456789, - "TDATE = new Date(946684800000);(TDATE).setUTCMilliseconds(123456789);TDATE", - UTCDateFromTime(SetUTCMilliseconds(946684800000,123456789)), - LocalDateFromTime(SetUTCMilliseconds(946684800000,123456789)) ); - -addNewTestCase( -2208988800000,123456789, - "TDATE = new Date(-2208988800000);(TDATE).setUTCMilliseconds(123456789);TDATE", - UTCDateFromTime(SetUTCMilliseconds(-2208988800000,123456789)), - LocalDateFromTime(SetUTCMilliseconds(-2208988800000,123456789)) ); - -addNewTestCase( -2208988800000,123456, - "TDATE = new Date(-2208988800000);(TDATE).setUTCMilliseconds(123456);TDATE", - UTCDateFromTime(SetUTCMilliseconds(-2208988800000,123456)), - LocalDateFromTime(SetUTCMilliseconds(-2208988800000,123456)) ); - -addNewTestCase( -2208988800000,-123456, - "TDATE = new Date(-2208988800000);(TDATE).setUTCMilliseconds(-123456);TDATE", - UTCDateFromTime(SetUTCMilliseconds(-2208988800000,-123456)), - LocalDateFromTime(SetUTCMilliseconds(-2208988800000,-123456)) ); - -addNewTestCase( 0,-999, - "TDATE = new Date(0);(TDATE).setUTCMilliseconds(-999);TDATE", - UTCDateFromTime(SetUTCMilliseconds(0,-999)), - LocalDateFromTime(SetUTCMilliseconds(0,-999)) ); - -test(); - -function addNewTestCase( initialTime, ms, DateString, UTCDate, LocalDate) { - DateCase = new Date(initialTime); - DateCase.setUTCMilliseconds(ms); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} - -function SetUTCMilliseconds( T, MS ) { - T = Number( T ); - TIME = MakeTime( HourFromTime(T), - MinFromTime(T), - SecFromTime(T), - MS ); - return( MakeDate( Day(T), TIME )); -} diff --git a/js/src/tests/ecma/Date/15.9.5.26-1.js b/js/src/tests/ecma/Date/15.9.5.26-1.js deleted file mode 100644 index 7b3d94f6fc10..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.26-1.js +++ /dev/null @@ -1,146 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** File Name: 15.9.5.26-1.js - ECMA Section: 15.9.5.26 Date.prototype.setSeconds(sec [,ms]) - Description: - - If ms is not specified, this behaves as if ms were specified with the - value getMilliseconds( ). - - 1. Let t be the result of LocalTime(this time value). - 2. Call ToNumber(sec). - 3. If ms is not specified, compute msFromTime(t); otherwise, call - ToNumber(ms). - 4. Compute MakeTime(HourFromTime(t), MinFromTime(t), Result(2), - Result(3)). - 5. Compute UTC(MakeDate(Day(t), Result(4))). - 6. Set the [[Value]] property of the this value to TimeClip(Result(5)). - 7. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.26-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setSeconds(sec [,ms] )"); - -addNewTestCase( 0, 0, 0, - "TDATE = new Date(0);(TDATE).setSeconds(0,0);TDATE", - UTCDateFromTime(SetSeconds(0,0,0)), - LocalDateFromTime(SetSeconds(0,0,0)) ); - -addNewTestCase( 28800000,59,999, - "TDATE = new Date(28800000);(TDATE).setSeconds(59,999);TDATE", - UTCDateFromTime(SetSeconds(28800000,59,999)), - LocalDateFromTime(SetSeconds(28800000,59,999)) ); - -addNewTestCase( 28800000,999,999, - "TDATE = new Date(28800000);(TDATE).setSeconds(999,999);TDATE", - UTCDateFromTime(SetSeconds(28800000,999,999)), - LocalDateFromTime(SetSeconds(28800000,999,999)) ); - -addNewTestCase( 28800000,999, void 0, - "TDATE = new Date(28800000);(TDATE).setSeconds(999);TDATE", - UTCDateFromTime(SetSeconds(28800000,999,0)), - LocalDateFromTime(SetSeconds(28800000,999,0)) ); - -addNewTestCase( 28800000,-28800, void 0, - "TDATE = new Date(28800000);(TDATE).setSeconds(-28800);TDATE", - UTCDateFromTime(SetSeconds(28800000,-28800)), - LocalDateFromTime(SetSeconds(28800000,-28800)) ); - -addNewTestCase( 946684800000,1234567,void 0, - "TDATE = new Date(946684800000);(TDATE).setSeconds(1234567);TDATE", - UTCDateFromTime(SetSeconds(946684800000,1234567)), - LocalDateFromTime(SetSeconds(946684800000,1234567)) ); - -addNewTestCase( -2208988800000,59,999, - "TDATE = new Date(-2208988800000);(TDATE).setSeconds(59,999);TDATE", - UTCDateFromTime(SetSeconds(-2208988800000,59,999)), - LocalDateFromTime(SetSeconds(-2208988800000,59,999)) ); - -test(); - -function addNewTestCase( startTime, sec, ms, DateString,UTCDate, LocalDate) { - DateCase = new Date( startTime ); - if ( ms != void 0 ) { - DateCase.setSeconds( sec, ms ); - } else { - DateCase.setSeconds( sec ); - } - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetSeconds( t, s, m ) { - var MS = ( m == void 0 ) ? msFromTime(t) : Number( m ); - var TIME = LocalTime( t ); - var SEC = Number(s); - var RESULT4 = MakeTime( HourFromTime( TIME ), - MinFromTime( TIME ), - SEC, - MS ); - var UTC_TIME = UTC(MakeDate(Day(TIME), RESULT4)); - return ( TimeClip(UTC_TIME) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.27-1.js b/js/src/tests/ecma/Date/15.9.5.27-1.js deleted file mode 100644 index 425f7cdac138..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.27-1.js +++ /dev/null @@ -1,146 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.27-1.js - ECMA Section: 15.9.5.27 Date.prototype.setUTCSeconds(sec [,ms]) - Description: - - If ms is not specified, this behaves as if ms were specified with the - value getUTCMilliseconds( ). - - 1. Let t be this time value. - 2. Call ToNumber(sec). - 3. If ms is not specified, compute msFromTime(t); otherwise, call - ToNumber(ms) - 4. Compute MakeTime(HourFromTime(t), MinFromTime(t), Result(2), Result(3)) - 5. Compute MakeDate(Day(t), Result(4)). - 6. Set the [[Value]] property of the this value to TimeClip(Result(5)). - 7. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.27-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCSeconds(sec [,ms] )"); - -addNewTestCase( 0, 0, 0, "TDATE = new Date(0);(TDATE).setUTCSeconds(0,0);TDATE", - UTCDateFromTime(SetUTCSeconds(0,0,0)), - LocalDateFromTime(SetUTCSeconds(0,0,0)) ); - -addNewTestCase( 28800000,59,999, - "TDATE = new Date(28800000);(TDATE).setUTCSeconds(59,999);TDATE", - UTCDateFromTime(SetUTCSeconds(28800000,59,999)), - LocalDateFromTime(SetUTCSeconds(28800000,59,999)) ); - -addNewTestCase( 28800000,999,999, - "TDATE = new Date(28800000);(TDATE).setUTCSeconds(999,999);TDATE", - UTCDateFromTime(SetUTCSeconds(28800000,999,999)), - LocalDateFromTime(SetUTCSeconds(28800000,999,999)) ); - -addNewTestCase( 28800000, 999, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCSeconds(999);TDATE", - UTCDateFromTime(SetUTCSeconds(28800000,999,0)), - LocalDateFromTime(SetUTCSeconds(28800000,999,0)) ); - -addNewTestCase( 28800000, -28800, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCSeconds(-28800);TDATE", - UTCDateFromTime(SetUTCSeconds(28800000,-28800)), - LocalDateFromTime(SetUTCSeconds(28800000,-28800)) ); - -addNewTestCase( 946684800000, 1234567, void 0, - "TDATE = new Date(946684800000);(TDATE).setUTCSeconds(1234567);TDATE", - UTCDateFromTime(SetUTCSeconds(946684800000,1234567)), - LocalDateFromTime(SetUTCSeconds(946684800000,1234567)) ); - -addNewTestCase( -2208988800000,59,999, - "TDATE = new Date(-2208988800000);(TDATE).setUTCSeconds(59,999);TDATE", - UTCDateFromTime(SetUTCSeconds(-2208988800000,59,999)), - LocalDateFromTime(SetUTCSeconds(-2208988800000,59,999)) ); - -test(); - -function addNewTestCase( startTime, sec, ms, DateString, UTCDate, LocalDate) { - DateCase = new Date( startTime ); - if ( ms == void 0) { - DateCase.setSeconds( sec ); - } else { - DateCase.setSeconds( sec, ms ); - } - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} - -function SetUTCSeconds( t, s, m ) { - var TIME = t; - var SEC = Number(s); - var MS = ( m == void 0 ) ? msFromTime(TIME) : Number( m ); - var RESULT4 = MakeTime( HourFromTime( TIME ), - MinFromTime( TIME ), - SEC, - MS ); - return ( TimeClip(MakeDate(Day(TIME), RESULT4)) ); -} - diff --git a/js/src/tests/ecma/Date/15.9.5.28-1.js b/js/src/tests/ecma/Date/15.9.5.28-1.js deleted file mode 100644 index 3b9f5034b1c6..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.28-1.js +++ /dev/null @@ -1,161 +0,0 @@ -// |reftest| random-if(Android) -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.28-1.js - ECMA Section: 15.9.5.28 Date.prototype.setMinutes(min [, sec [, ms ]] ) - Description: - If sec is not specified, this behaves as if sec were specified with the - value getSeconds ( ). - - If ms is not specified, this behaves as if ms were specified with the - value getMilliseconds( ). - - 1. Let t be the result of LocalTime(this time value). - 2. Call ToNumber(min). - 3. If sec is not specified, compute SecFromTime(t); otherwise, call ToNumber(sec). - 4. If ms is not specified, compute msFromTime(t); otherwise, call ToNumber(ms). - 5. Compute MakeTime(HourFromTime(t), Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Day(t), Result(5))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.28-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMinutes(sec [,ms] )"); - -addNewTestCase( 0, 0, void 0, void 0, - "TDATE = new Date(0);(TDATE).setMinutes(0);TDATE", - UTCDateFromTime(SetMinutes(0,0,0,0)), - LocalDateFromTime(SetMinutes(0,0,0,0)) ); - -addNewTestCase( 28800000, 59, 59, void 0, - "TDATE = new Date(28800000);(TDATE).setMinutes(59,59);TDATE", - UTCDateFromTime(SetMinutes(28800000,59,59)), - LocalDateFromTime(SetMinutes(28800000,59,59)) ); - -addNewTestCase( 28800000, 59, 59, 999, - "TDATE = new Date(28800000);(TDATE).setMinutes(59,59,999);TDATE", - UTCDateFromTime(SetMinutes(28800000,59,59,999)), - LocalDateFromTime(SetMinutes(28800000,59,59,999)) ); - -addNewTestCase( 28800000, 59, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setMinutes(59);TDATE", - UTCDateFromTime(SetMinutes(28800000,59,0)), - LocalDateFromTime(SetMinutes(28800000,59,0)) ); - -addNewTestCase( 28800000, -480, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setMinutes(-480);TDATE", - UTCDateFromTime(SetMinutes(28800000,-480)), - LocalDateFromTime(SetMinutes(28800000,-480)) ); - -addNewTestCase( 946684800000, 1234567, void 0, void 0, - "TDATE = new Date(946684800000);(TDATE).setMinutes(1234567);TDATE", - UTCDateFromTime(SetMinutes(946684800000,1234567)), - LocalDateFromTime(SetMinutes(946684800000,1234567)) ); - -addNewTestCase( -2208988800000,59, 59, void 0, - "TDATE = new Date(-2208988800000);(TDATE).setMinutes(59,59);TDATE", - UTCDateFromTime(SetMinutes(-2208988800000,59,59)), - LocalDateFromTime(SetMinutes(-2208988800000,59,59)) ); - -addNewTestCase( -2208988800000, 59, 59, 999, - "TDATE = new Date(-2208988800000);(TDATE).setMinutes(59,59,999);TDATE", - UTCDateFromTime(SetMinutes(-2208988800000,59,59,999)), - LocalDateFromTime(SetMinutes(-2208988800000,59,59,999)) ); - -test(); - -function addNewTestCase( time, min, sec, ms, DateString, UTCDate, LocalDate) { - DateCase = new Date( time ); - - if ( sec == void 0 ) { - DateCase.setMinutes( min ); - } else { - if ( ms == void 0 ) { - DateCase.setMinutes( min, sec ); - } else { - DateCase.setMinutes( min, sec, ms ); - } - } - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} - -function SetMinutes( t, min, sec, ms ) { - var TIME = LocalTime(t); - var MIN = Number(min); - var SEC = ( sec == void 0) ? SecFromTime(TIME) : Number(sec); - var MS = ( ms == void 0 ) ? msFromTime(TIME) : Number(ms); - var RESULT5 = MakeTime( HourFromTime( TIME ), - MIN, - SEC, - MS ); - return ( TimeClip(UTC( MakeDate(Day(TIME),RESULT5))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.29-1.js b/js/src/tests/ecma/Date/15.9.5.29-1.js deleted file mode 100644 index 37542f349ae2..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.29-1.js +++ /dev/null @@ -1,155 +0,0 @@ -// |reftest| random-if(Android) -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.29-1.js - ECMA Section: 15.9.5.29 Date.prototype.setUTCMinutes(min [, sec [, ms ]] ) - Description: - If sec is not specified, this behaves as if sec were specified with the - value getUTCSeconds ( ). - - If ms is not specified, this behaves as if ms were specified with the value - getUTCMilliseconds( ). - - 1. Let t be this time value. - 2. Call ToNumber(min). - 3. If sec is not specified, compute SecFromTime(t); otherwise, call - ToNumber(sec). - 4. If ms is not specified, compute msFromTime(t); otherwise, call - ToNumber(ms). - 5. Compute MakeTime(HourFromTime(t), Result(2), Result(3), Result(4)). - 6. Compute MakeDate(Day(t), Result(5)). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.29-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCMinutes( min [, sec, ms] )"); - -addNewTestCase( 0, 0, void 0, void 0, - "TDATE = new Date(0);(TDATE).setUTCMinutes(0);TDATE", - UTCDateFromTime(SetUTCMinutes(0,0,0,0)), - LocalDateFromTime(SetUTCMinutes(0,0,0,0)) ); - -addNewTestCase( 28800000, 59, 59, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCMinutes(59,59);TDATE", - UTCDateFromTime(SetUTCMinutes(28800000,59,59)), - LocalDateFromTime(SetUTCMinutes(28800000,59,59)) ); - -addNewTestCase( 28800000, 59, 59, 999, - "TDATE = new Date(28800000);(TDATE).setUTCMinutes(59,59,999);TDATE", - UTCDateFromTime(SetUTCMinutes(28800000,59,59,999)), - LocalDateFromTime(SetUTCMinutes(28800000,59,59,999)) ); - -addNewTestCase( 28800000, 59, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCMinutes(59);TDATE", - UTCDateFromTime(SetUTCMinutes(28800000,59)), - LocalDateFromTime(SetUTCMinutes(28800000,59)) ); - -addNewTestCase( 28800000, -480, 0, 0, - "TDATE = new Date(28800000);(TDATE).setUTCMinutes(-480);TDATE", - UTCDateFromTime(SetUTCMinutes(28800000,-480)), - LocalDateFromTime(SetUTCMinutes(28800000,-480)) ); - -addNewTestCase( 946684800000, 1234567, void 0, void 0, - "TDATE = new Date(946684800000);(TDATE).setUTCMinutes(1234567);TDATE", - UTCDateFromTime(SetUTCMinutes(946684800000,1234567)), - LocalDateFromTime(SetUTCMinutes(946684800000,1234567)) ); - -addNewTestCase( -2208988800000, 59, 999, void 0, - "TDATE = new Date(-2208988800000);(TDATE).setUTCMinutes(59,999);TDATE", - UTCDateFromTime(SetUTCMinutes(-2208988800000,59,999)), - LocalDateFromTime(SetUTCMinutes(-2208988800000,59,999)) ); - -test(); - -function addNewTestCase( time, min, sec, ms, DateString, UTCDate, LocalDate) { - var DateCase = new Date( time ); - - if ( sec == void 0 ) { - DateCase.setUTCMinutes( min ); - } else { - if ( ms == void 0 ) { - DateCase.setUTCMinutes( min, sec ); - } else { - DateCase.setUTCMinutes( min, sec, ms ); - } - } - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCMinutes( t, min, sec, ms ) { - var TIME = t; - var MIN = Number(min); - var SEC = ( sec == void 0) ? SecFromTime(TIME) : Number(sec); - var MS = ( ms == void 0 ) ? msFromTime(TIME) : Number(ms); - var RESULT5 = MakeTime( HourFromTime( TIME ), - MIN, - SEC, - MS ); - return ( TimeClip(MakeDate(Day(TIME),RESULT5)) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.3-1-n.js b/js/src/tests/ecma/Date/15.9.5.3-1-n.js deleted file mode 100644 index 718d3926498e..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.3-1-n.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.3-1.js - ECMA Section: 15.9.5.3-1 Date.prototype.valueOf - Description: - - The valueOf function returns a number, which is this time value. - - The valueOf function is not generic; it generates a runtime error if - its this value is not a Date object. Therefore it cannot be transferred - to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.3-1-n"; -var TITLE = "Date.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var OBJ = new MyObject( new Date(0) ); - -DESCRIPTION = "var OBJ = new MyObject( new Date(0) ); OBJ.valueOf()"; - -new TestCase( "var OBJ = new MyObject( new Date(0) ); OBJ.valueOf()", - "error", - eval("OBJ.valueOf()") ); -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = Date.prototype.valueOf; -// The following line causes an infinte loop -// this.toString = new Function( "return this+\"\";"); - return this; -} diff --git a/js/src/tests/ecma/Date/15.9.5.3-2.js b/js/src/tests/ecma/Date/15.9.5.3-2.js deleted file mode 100644 index 016c04c991d1..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.3-2.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.3-2.js - ECMA Section: 15.9.5.3-2 Date.prototype.valueOf - Description: - - The valueOf function returns a number, which is this time value. - - The valueOf function is not generic; it generates a runtime error if - its this value is not a Date object. Therefore it cannot be transferred - to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.3-2"; -var TITLE = "Date.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+").valueOf()", - t, - (new Date(t)).valueOf() ); - - new TestCase( "(new Date("+(t+1)+").valueOf()", - t+1, - (new Date(t+1)).valueOf() ); - - new TestCase( "(new Date("+(t-1)+").valueOf()", - t-1, - (new Date(t-1)).valueOf() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+").valueOf()", - t-TZ_ADJUST, - (new Date(t-TZ_ADJUST)).valueOf() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+").valueOf()", - t+TZ_ADJUST, - (new Date(t+TZ_ADJUST)).valueOf() ); -} - -function MyObject( value ) { - this.value = value; - this.valueOf = Date.prototype.valueOf; - this.toString = new Function( "return this+\"\";"); - return this; -} diff --git a/js/src/tests/ecma/Date/15.9.5.30-1.js b/js/src/tests/ecma/Date/15.9.5.30-1.js deleted file mode 100644 index 16643483dccd..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.30-1.js +++ /dev/null @@ -1,156 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.30-1.js - ECMA Section: 15.9.5.30 Date.prototype.setHours(hour [, min [, sec [, ms ]]] ) - Description: - If min is not specified, this behaves as if min were specified with the - value getMinutes( ). If sec is not specified, this behaves as if sec were - specified with the value getSeconds ( ). If ms is not specified, this - behaves as if ms were specified with the value getMilliseconds( ). - - 1. Let t be the result of LocalTime(this time value). - 2. Call ToNumber(hour). - 3. If min is not specified, compute MinFromTime(t); otherwise, call - ToNumber(min). - 4. If sec is not specified, compute SecFromTime(t); otherwise, call - ToNumber(sec). - 5. If ms is not specified, compute msFromTime(t); otherwise, call - ToNumber(ms). - 6. Compute MakeTime(Result(2), Result(3), Result(4), Result(5)). - 7. Compute UTC(MakeDate(Day(t), Result(6))). - 8. Set the [[Value]] property of the this value to TimeClip(Result(7)). - 9. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.30-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setHours( hour [, min, sec, ms] )"); - -addNewTestCase( 0,0,0,0,void 0, - "TDATE = new Date(0);(TDATE).setHours(0);TDATE" ); - -addNewTestCase( 28800000, 23, 59, 999,void 0, - "TDATE = new Date(28800000);(TDATE).setHours(23,59,999);TDATE" ); - -addNewTestCase( 28800000, 999, 999, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setHours(999,999);TDATE" ); - -addNewTestCase( 28800000,999,0, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setHours(999);TDATE" ); - -addNewTestCase( 28800000,-8, void 0, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setHours(-8);TDATE" ); - -addNewTestCase( 946684800000,8760, void 0, void 0, void 0, - "TDATE = new Date(946684800000);(TDATE).setHours(8760);TDATE" ); - -addNewTestCase( TIME_2000 - msPerDay, 23, 59, 59, 999, - "d = new Date( " + (TIME_2000-msPerDay) +"); d.setHours(23,59,59,999)" ); - -addNewTestCase( TIME_2000 - msPerDay, 23, 59, 59, 1000, - "d = new Date( " + (TIME_2000-msPerDay) +"); d.setHours(23,59,59,1000)" ); - -test(); - -function addNewTestCase( time, hours, min, sec, ms, DateString) { - var UTCDate = UTCDateFromTime( SetHours( time, hours, min, sec, ms )); - var LocalDate = LocalDateFromTime( SetHours( time, hours, min, sec, ms )); - - var DateCase = new Date( time ); - - if ( min == void 0 ) { - DateCase.setHours( hours ); - } else { - if ( sec == void 0 ) { - DateCase.setHours( hours, min ); - } else { - if ( ms == void 0 ) { - DateCase.setHours( hours, min, sec ); - } else { - DateCase.setHours( hours, min, sec, ms ); - } - } - } - - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.day = WeekDay( t ); - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - - return (d); -} -function SetHours( t, hour, min, sec, ms ) { - var TIME = LocalTime(t); - var HOUR = Number(hour); - var MIN = ( min == void 0) ? MinFromTime(TIME) : Number(min); - var SEC = ( sec == void 0) ? SecFromTime(TIME) : Number(sec); - var MS = ( ms == void 0 ) ? msFromTime(TIME) : Number(ms); - var RESULT6 = MakeTime( HOUR, - MIN, - SEC, - MS ); - var UTC_TIME = UTC( MakeDate(Day(TIME), RESULT6) ); - return ( TimeClip(UTC_TIME) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.31-1.js b/js/src/tests/ecma/Date/15.9.5.31-1.js deleted file mode 100644 index 5c79ebae7383..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.31-1.js +++ /dev/null @@ -1,185 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.31-1.js - - ECMA Section: - 15.9.5.31 Date.prototype.setUTCHours(hour [, min [, sec [, ms ]]] ) - - Description: - - If min is not specified, this behaves as if min were specified with - the value getUTCMinutes( ). If sec is not specified, this behaves - as if sec were specified with the value getUTCSeconds ( ). If ms - is not specified, this behaves as if ms were specified with the - value getUTCMilliseconds( ). - - 1.Let t be this time value. - 2.Call ToNumber(hour). - 3.If min is not specified, compute MinFromTime(t); - otherwise, call ToNumber(min). - 4.If sec is not specified, compute SecFromTime(t); - otherwise, call ToNumber(sec). - 5.If ms is not specified, compute msFromTime(t); - otherwise, call ToNumber(ms). - 6.Compute MakeTime(Result(2), Result(3), Result(4), Result(5)). - 7.Compute MakeDate(Day(t), Result(6)). - 8.Set the [[Value]] property of the this value to TimeClip(Result(7)). - - 1.Return the value of the [[Value]] property of the this value. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.31-1"; - -writeHeaderToLog(SECTION + - " Date.prototype.setUTCHours(hour [, min [, sec [, ms ]]] )"); - -addNewTestCase( 0, 0, void 0, void 0, void 0, - "TDATE = new Date(0);(TDATE).setUTCHours(0);TDATE", - UTCDateFromTime(SetUTCHours(0,0,0,0)), - LocalDateFromTime(SetUTCHours(0,0,0,0)) ); - -addNewTestCase( 28800000, 23, 59, 999, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCHours(23,59,999);TDATE", - UTCDateFromTime(SetUTCHours(28800000,23,59,999)), - LocalDateFromTime(SetUTCHours(28800000,23,59,999)) ); - -addNewTestCase( 28800000,999,999, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCHours(999,999);TDATE", - UTCDateFromTime(SetUTCHours(28800000,999,999)), - LocalDateFromTime(SetUTCHours(28800000,999,999)) ); - -addNewTestCase( 28800000, 999, void 0, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCHours(999);TDATE", - UTCDateFromTime(SetUTCHours(28800000,999,0)), - LocalDateFromTime(SetUTCHours(28800000,999,0)) ); - -addNewTestCase( 28800000, -8670, void 0, void 0, void 0, - "TDATE = new Date(28800000);(TDATE).setUTCHours(-8670);TDATE", - UTCDateFromTime(SetUTCHours(28800000,-8670)), - LocalDateFromTime(SetUTCHours(28800000,-8670)) ); - -// modify hours to remove dst ambiguity -addNewTestCase( 946684800000, 1235567, void 0, void 0, void 0, - "TDATE = new Date(946684800000);(TDATE).setUTCHours(1235567);TDATE", - UTCDateFromTime(SetUTCHours(946684800000,1235567)), - LocalDateFromTime(SetUTCHours(946684800000,1235567)) ); - -addNewTestCase( -2208988800000, 59, 999, void 0, void 0, - "TDATE = new Date(-2208988800000);(TDATE).setUTCHours(59,999);TDATE", - UTCDateFromTime(SetUTCHours(-2208988800000,59,999)), - LocalDateFromTime(SetUTCHours(-2208988800000,59,999)) ); - -test(); - -function addNewTestCase( time, hours, min, sec, ms, DateString, UTCDate, LocalDate) { - - DateCase = new Date(time); - if ( min == void 0 ) { - DateCase.setUTCHours( hours ); - } else { - if ( sec == void 0 ) { - DateCase.setUTCHours( hours, min ); - } else { - if ( ms == void 0 ) { - DateCase.setUTCHours( hours, min, sec ); - } else { - DateCase.setUTCHours( hours, min, sec, ms ); - } - } - } - - new TestCase( DateString+".getTime()", UTCDate.value, - DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, - DateCase.valueOf() ); - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, - DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, - DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, - DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, - DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, - DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, - DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, - DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, - DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, - DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, - DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, - DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, - DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, - DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, - DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, - DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, - DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( DateString+".toString=Object.prototype.toString;" + - DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCHours( t, hour, min, sec, ms ) { - var TIME = t; - var HOUR = Number(hour); - var MIN = ( min == void 0) ? MinFromTime(TIME) : Number(min); - var SEC = ( sec == void 0) ? SecFromTime(TIME) : Number(sec); - var MS = ( ms == void 0 ) ? msFromTime(TIME) : Number(ms); - var RESULT6 = MakeTime( HOUR, - MIN, - SEC, - MS ); - return ( TimeClip(MakeDate(Day(TIME), RESULT6)) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.32-1.js b/js/src/tests/ecma/Date/15.9.5.32-1.js deleted file mode 100644 index d90435e6ea66..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.32-1.js +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.32-1.js - ECMA Section: 15.9.5.32 Date.prototype.setDate(date) - Description: - 1. Let t be the result of LocalTime(this time value). - 2. Call ToNumber(date). - 3. Compute MakeDay(YearFromTime(t), MonthFromTime(t), Result(2)). - 4. Compute UTC(MakeDate(Result(3), TimeWithinDay(t))). - 5. Set the [[Value]] property of the this value to TimeClip(Result(4)). - 6. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.32-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setDate(date) "); - -addNewTestCase( 0, 1, - "TDATE = new Date(0);(TDATE).setDate(1);TDATE" ); - -test(); - -function addNewTestCase( t, d, DateString ) { - var DateCase = new Date( t ); - DateCase.setDate( d ); - - var UTCDate = UTCDateFromTime(SetDate(t, d)); - var LocalDate=LocalDateFromTime(SetDate(t,d)); - - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} - -function SetDate( t, date ) { - var T = LocalTime( t ); - var DATE = Number( date ); - var RESULT3 = MakeDay(YearFromTime(T), MonthFromTime(T), DATE ); - var UTC_DATE = UTC( MakeDate(RESULT3, TimeWithinDay(T)) ); - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.33-1.js b/js/src/tests/ecma/Date/15.9.5.33-1.js deleted file mode 100644 index 886a7b74414d..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.33-1.js +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.33-1.js - ECMA Section: 15.9.5.33 Date.prototype.setUTCDate(date) - Description: - 1. Let t be this time value. - 2. Call ToNumber(date). - 3. Compute MakeDay(YearFromTime(t), MonthFromTime(t), Result(2)). - 4. Compute MakeDate(Result(3), TimeWithinDay(t)). - 5. Set the [[Value]] property of the this value to TimeClip(Result(4)). - 6. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.33-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCDate(date) "); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCDate(31);TDATE", - UTCDateFromTime(SetUTCDate(0,31)), - LocalDateFromTime(SetUTCDate(0,31)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCDate(1);TDATE", - UTCDateFromTime(SetUTCDate(0,1)), - LocalDateFromTime(SetUTCDate(0,1)) ); - -addNewTestCase( "TDATE = new Date(86400000);(TDATE).setUTCDate(1);TDATE", - UTCDateFromTime(SetUTCDate(86400000,1)), - LocalDateFromTime(SetUTCDate(86400000,1)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCDate( t, date ) { - var T = t; - var DATE = Number( date ); - var RESULT3 = MakeDay(YearFromTime(T), MonthFromTime(T), DATE ); - return ( TimeClip(MakeDate(RESULT3, TimeWithinDay(t))) ); -} - diff --git a/js/src/tests/ecma/Date/15.9.5.34-1.js b/js/src/tests/ecma/Date/15.9.5.34-1.js deleted file mode 100644 index 914d779bb504..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.34-1.js +++ /dev/null @@ -1,145 +0,0 @@ -// |reftest| random -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.34-1.js - ECMA Section: 15.9.5.34 Date.prototype.setMonth(mon [, date ] ) - Description: - If date is not specified, this behaves as if date were specified with the - value getDate( ). - - 1. Let t be the result of LocalTime(this time value). - 2. Call ToNumber(date). - 3. If date is not specified, compute DateFromTime(t); otherwise, call ToNumber(date). - 4. Compute MakeDay(YearFromTime(t), Result(2), Result(3)). - 5. Compute UTC(MakeDate(Result(4), TimeWithinDay(t))). - 6. Set the [[Value]] property of the this value to TimeClip(Result(5)). - 7. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.34-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setMonth(mon [, date ] )"); - -getFunctionCases(); - -// regression test for http://scopus.mcom.com/bugsplat/show_bug.cgi?id=112404 -d = new Date(0); -d.setMonth(1,1,1,1,1,1); - -addNewTestCase( - "TDATE = new Date(0); TDATE.setMonth(1,1,1,1,1,1); TDATE", - UTCDateFromTime(SetMonth(0,1,1)), - LocalDateFromTime(SetMonth(0,1,1)) ); - - -// whatever today is - -addNewTestCase( "TDATE = new Date(TIME_NOW); (TDATE).setMonth(11,31); TDATE", - UTCDateFromTime(SetMonth(TIME_NOW,11,31)), - LocalDateFromTime(SetMonth(TIME_NOW,11,31)) ); - -// 1970 - -addNewTestCase( "TDATE = new Date(0);(TDATE).setMonth(0,1);TDATE", - UTCDateFromTime(SetMonth(0,0,1)), - LocalDateFromTime(SetMonth(0,0,1)) ); - -addNewTestCase( "TDATE = new Date("+TIME_1900+"); "+ - "(TDATE).setMonth(11,31); TDATE", - UTCDateFromTime( SetMonth(TIME_1900,11,31) ), - LocalDateFromTime( SetMonth(TIME_1900,11,31) ) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function getFunctionCases() { - // some tests for all functions - new TestCase( - "Date.prototype.setMonth.length", - 2, - Date.prototype.setMonth.length ); - - new TestCase( - "typeof Date.prototype.setMonth", - "function", - typeof Date.prototype.setMonth ); - -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetMonth( t, mon, date ) { - var TIME = LocalTime(t); - var MONTH = Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(TIME) : Number( date ); - var DAY = MakeDay( YearFromTime(TIME), MONTH, DATE ); - return ( TimeClip (UTC(MakeDate( DAY, TimeWithinDay(TIME) ))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.35-1.js b/js/src/tests/ecma/Date/15.9.5.35-1.js deleted file mode 100644 index ff376748d849..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.35-1.js +++ /dev/null @@ -1,103 +0,0 @@ -// |reftest| random-if(Android) -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.35-1.js - ECMA Section: 15.9.5.35 Date.prototype.setUTCMonth(mon [,date]) - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.35-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCMonth(mon [,date] ) "); -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCMonth(0);TDATE", - UTCDateFromTime(SetUTCMonth(0,0)), - LocalDateFromTime(SetUTCMonth(0,0)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCMonth(11);TDATE", - UTCDateFromTime(SetUTCMonth(0,11)), - LocalDateFromTime(SetUTCMonth(0,11)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCMonth(5,4);TDATE", - UTCDateFromTime(SetUTCMonth(0,5,4)), - LocalDateFromTime(SetUTCMonth(0,5,4)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes, DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds, DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCMonth( t, month, date ) { - var T = t; - var MONTH = Number( month ); - var DATE = ( date == void 0) ? DateFromTime(T) : Number( date ); - - var RESULT4 = MakeDay(YearFromTime(T), MONTH, DATE ); - var RESULT5 = MakeDate( RESULT4, TimeWithinDay(T)); - - return ( TimeClip(RESULT5) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-1.js b/js/src/tests/ecma/Date/15.9.5.36-1.js deleted file mode 100644 index 970ee5bad841..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-1.js +++ /dev/null @@ -1,129 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - - -// 1969 - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1969);TDATE", - UTCDateFromTime(SetFullYear(0,1969)), - LocalDateFromTime(SetFullYear(0,1969)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1969,11);TDATE", - UTCDateFromTime(SetFullYear(0,1969,11)), - LocalDateFromTime(SetFullYear(0,1969,11)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1969,11,31);TDATE", - UTCDateFromTime(SetFullYear(0,1969,11,31)), - LocalDateFromTime(SetFullYear(0,1969,11,31)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-2.js b/js/src/tests/ecma/Date/15.9.5.36-2.js deleted file mode 100644 index 3728eb1f093f..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-2.js +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-2"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - -// 1970 - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1970);TDATE", - UTCDateFromTime(SetFullYear(0,1970)), - LocalDateFromTime(SetFullYear(0,1970)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1970,0);TDATE", - UTCDateFromTime(SetFullYear(0,1970,0)), - LocalDateFromTime(SetFullYear(0,1970,0)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1970,0,1);TDATE", - UTCDateFromTime(SetFullYear(0,1970,0,1)), - LocalDateFromTime(SetFullYear(0,1970,0,1)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-3.js b/js/src/tests/ecma/Date/15.9.5.36-3.js deleted file mode 100644 index d1906facdfb1..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-3.js +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - -// 1971 -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1971);TDATE", - UTCDateFromTime(SetFullYear(0,1971)), - LocalDateFromTime(SetFullYear(0,1971)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1971,0);TDATE", - UTCDateFromTime(SetFullYear(0,1971,0)), - LocalDateFromTime(SetFullYear(0,1971,0)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1971,0,1);TDATE", - UTCDateFromTime(SetFullYear(0,1971,0,1)), - LocalDateFromTime(SetFullYear(0,1971,0,1)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-4.js b/js/src/tests/ecma/Date/15.9.5.36-4.js deleted file mode 100644 index ba128db862b2..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-4.js +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - -// 1999 -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1999);TDATE", - UTCDateFromTime(SetFullYear(0,1999)), - LocalDateFromTime(SetFullYear(0,1999)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1999,11);TDATE", - UTCDateFromTime(SetFullYear(0,1999,11)), - LocalDateFromTime(SetFullYear(0,1999,11)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(1999,11,31);TDATE", - UTCDateFromTime(SetFullYear(0,1999,11,31)), - LocalDateFromTime(SetFullYear(0,1999,11,31)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-5.js b/js/src/tests/ecma/Date/15.9.5.36-5.js deleted file mode 100644 index 62f87d5bef57..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-5.js +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - -// 2000 -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2000);TDATE", - UTCDateFromTime(SetFullYear(0,2000)), - LocalDateFromTime(SetFullYear(0,2000)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2000,0);TDATE", - UTCDateFromTime(SetFullYear(0,2000,0)), - LocalDateFromTime(SetFullYear(0,2000,0)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2000,0,1);TDATE", - UTCDateFromTime(SetFullYear(0,2000,0,1)), - LocalDateFromTime(SetFullYear(0,2000,0,1)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-6.js b/js/src/tests/ecma/Date/15.9.5.36-6.js deleted file mode 100644 index 4b3224a89857..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-6.js +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - -// feb 29, 2000 -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2000);TDATE", - UTCDateFromTime(SetFullYear(0,2000)), - LocalDateFromTime(SetFullYear(0,2000)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2000,1);TDATE", - UTCDateFromTime(SetFullYear(0,2000,1)), - LocalDateFromTime(SetFullYear(0,2000,1)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2000,1,29);TDATE", - UTCDateFromTime(SetFullYear(0,2000,1,29)), - LocalDateFromTime(SetFullYear(0,2000,1,29)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.36-7.js b/js/src/tests/ecma/Date/15.9.5.36-7.js deleted file mode 100644 index 395aaaf0f399..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.36-7.js +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.36-1.js - ECMA Section: 15.9.5.36 Date.prototype.setFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getMonth( ). If date is not specified, this behaves as if date were - specified with the value getDate( ). - - 1. Let t be the result of LocalTime(this time value); but if this time - value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute UTC(MakeDate(Result(5), TimeWithinDay(t))). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added test cases for Year 2000 Compatilibity Testing. - -*/ -var SECTION = "15.9.5.36-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setFullYear(year [, mon [, date ]] )"); - -// Jan 1, 2005 -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2005);TDATE", - UTCDateFromTime(SetFullYear(0,2005)), - LocalDateFromTime(SetFullYear(0,2005)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2005,0);TDATE", - UTCDateFromTime(SetFullYear(0,2005,0)), - LocalDateFromTime(SetFullYear(0,2005,0)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setFullYear(2005,0,1);TDATE", - UTCDateFromTime(SetFullYear(0,2005,0,1)), - LocalDateFromTime(SetFullYear(0,2005,0,1)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetFullYear( t, year, mon, date ) { - var T = ( isNaN(t) ) ? 0 : LocalTime(t) ; - var YEAR = Number( year ); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - - var DAY = MakeDay( YEAR, MONTH, DATE ); - var UTC_DATE = UTC(MakeDate( DAY, TimeWithinDay(T))); - - return ( TimeClip(UTC_DATE) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.37-1.js b/js/src/tests/ecma/Date/15.9.5.37-1.js deleted file mode 100644 index 1951c4602fe9..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.37-1.js +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.37-1.js - ECMA Section: 15.9.5.37 Date.prototype.setUTCFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getUTCMonth( ). If date is not specified, this behaves as if date - were specified with the value getUTCDate( ). - - 1. Let t be this time value; but if this time value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute MakeDate(Result(5), TimeWithinDay(t)). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added some Year 2000 test cases. -*/ -var SECTION = "15.9.5.37-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCFullYear(year [, mon [, date ]] )"); - - -// Dates around 1970 - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCFullYear(1970);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1970)), - LocalDateFromTime(SetUTCFullYear(0,1970)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCFullYear(1971);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1971)), - LocalDateFromTime(SetUTCFullYear(0,1971)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCFullYear(1972);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1972)), - LocalDateFromTime(SetUTCFullYear(0,1972)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCFullYear(1968);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1968)), - LocalDateFromTime(SetUTCFullYear(0,1968)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCFullYear(1969);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1969)), - LocalDateFromTime(SetUTCFullYear(0,1969)) ); - -addNewTestCase( "TDATE = new Date(0);(TDATE).setUTCFullYear(1969);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1969)), - LocalDateFromTime(SetUTCFullYear(0,1969)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCFullYear( t, year, mon, date ) { - var T = ( t != t ) ? 0 : t; - var YEAR = Number(year); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - var DAY = MakeDay( YEAR, MONTH, DATE ); - - return ( TimeClip(MakeDate(DAY, TimeWithinDay(T))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.37-2.js b/js/src/tests/ecma/Date/15.9.5.37-2.js deleted file mode 100644 index 1ed5fbbff53f..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.37-2.js +++ /dev/null @@ -1,125 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.37-1.js - ECMA Section: 15.9.5.37 Date.prototype.setUTCFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getUTCMonth( ). If date is not specified, this behaves as if date - were specified with the value getUTCDate( ). - - 1. Let t be this time value; but if this time value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute MakeDate(Result(5), TimeWithinDay(t)). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added some Year 2000 test cases. -*/ -var SECTION = "15.9.5.37-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCFullYear(year [, mon [, date ]] )"); - - -// Dates around 2000 - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(2000);TDATE", - UTCDateFromTime(SetUTCFullYear(0,2000)), - LocalDateFromTime(SetUTCFullYear(0,2000)) ); - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(2001);TDATE", - UTCDateFromTime(SetUTCFullYear(0,2001)), - LocalDateFromTime(SetUTCFullYear(0,2001)) ); - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(1999);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1999)), - LocalDateFromTime(SetUTCFullYear(0,1999)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCFullYear( t, year, mon, date ) { - var T = ( t != t ) ? 0 : t; - var YEAR = Number(year); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - var DAY = MakeDay( YEAR, MONTH, DATE ); - - return ( TimeClip(MakeDate(DAY, TimeWithinDay(T))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.37-3.js b/js/src/tests/ecma/Date/15.9.5.37-3.js deleted file mode 100644 index e76e51a2f84d..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.37-3.js +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.37-1.js - ECMA Section: 15.9.5.37 Date.prototype.setUTCFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getUTCMonth( ). If date is not specified, this behaves as if date - were specified with the value getUTCDate( ). - - 1. Let t be this time value; but if this time value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute MakeDate(Result(5), TimeWithinDay(t)). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added some Year 2000 test cases. -*/ -var SECTION = "15.9.5.37-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCFullYear(year [, mon [, date ]] )"); - - -// Dates around 29 February 2000 - -var UTC_FEB_29_1972 = TIME_1970 + TimeInYear(1970) + TimeInYear(1971) + - 31*msPerDay + 28*msPerDay; - -var PST_FEB_29_1972 = UTC_FEB_29_1972 - TZ_DIFF * msPerHour; - -addNewTestCase( "TDATE = new Date("+UTC_FEB_29_1972+"); "+ - "TDATE.setUTCFullYear(2000);TDATE", - UTCDateFromTime(SetUTCFullYear(UTC_FEB_29_1972,2000)), - LocalDateFromTime(SetUTCFullYear(UTC_FEB_29_1972,2000)) ); - -addNewTestCase( "TDATE = new Date("+PST_FEB_29_1972+"); "+ - "TDATE.setUTCFullYear(2000);TDATE", - UTCDateFromTime(SetUTCFullYear(PST_FEB_29_1972,2000)), - LocalDateFromTime(SetUTCFullYear(PST_FEB_29_1972,2000)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCFullYear( t, year, mon, date ) { - var T = ( t != t ) ? 0 : t; - var YEAR = Number(year); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - var DAY = MakeDay( YEAR, MONTH, DATE ); - - return ( TimeClip(MakeDate(DAY, TimeWithinDay(T))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.37-4.js b/js/src/tests/ecma/Date/15.9.5.37-4.js deleted file mode 100644 index bdd5007240b7..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.37-4.js +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.37-1.js - ECMA Section: 15.9.5.37 Date.prototype.setUTCFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getUTCMonth( ). If date is not specified, this behaves as if date - were specified with the value getUTCDate( ). - - 1. Let t be this time value; but if this time value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute MakeDate(Result(5), TimeWithinDay(t)). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added some Year 2000 test cases. -*/ -var SECTION = "15.9.5.37-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCFullYear(year [, mon [, date ]] )"); - -// Dates around 2005 - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(2005);TDATE", - UTCDateFromTime(SetUTCFullYear(0,2005)), - LocalDateFromTime(SetUTCFullYear(0,2005)) ); - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(2004);TDATE", - UTCDateFromTime(SetUTCFullYear(0,2004)), - LocalDateFromTime(SetUTCFullYear(0,2004)) ); - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(2006);TDATE", - UTCDateFromTime(SetUTCFullYear(0,2006)), - LocalDateFromTime(SetUTCFullYear(0,2006)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - -// fixed_year = ( ExpectDate.year >=1900 || ExpectDate.year < 2000 ) ? ExpectDate.year - 1900 : ExpectDate.year; - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCFullYear( t, year, mon, date ) { - var T = ( t != t ) ? 0 : t; - var YEAR = Number(year); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - var DAY = MakeDay( YEAR, MONTH, DATE ); - - return ( TimeClip(MakeDate(DAY, TimeWithinDay(T))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.37-5.js b/js/src/tests/ecma/Date/15.9.5.37-5.js deleted file mode 100644 index c876b69f26bc..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.37-5.js +++ /dev/null @@ -1,123 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.37-1.js - ECMA Section: 15.9.5.37 Date.prototype.setUTCFullYear(year [, mon [, date ]] ) - Description: - - If mon is not specified, this behaves as if mon were specified with the - value getUTCMonth( ). If date is not specified, this behaves as if date - were specified with the value getUTCDate( ). - - 1. Let t be this time value; but if this time value is NaN, let t be +0. - 2. Call ToNumber(year). - 3. If mon is not specified, compute MonthFromTime(t); otherwise, call - ToNumber(mon). - 4. If date is not specified, compute DateFromTime(t); otherwise, call - ToNumber(date). - 5. Compute MakeDay(Result(2), Result(3), Result(4)). - 6. Compute MakeDate(Result(5), TimeWithinDay(t)). - 7. Set the [[Value]] property of the this value to TimeClip(Result(6)). - 8. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 - - Added some Year 2000 test cases. -*/ -var SECTION = "15.9.5.37-1"; - -writeHeaderToLog( SECTION + " Date.prototype.setUTCFullYear(year [, mon [, date ]] )"); - -// Dates around 1900 -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(1900);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1900)), - LocalDateFromTime(SetUTCFullYear(0,1900)) ); - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(1899);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1899)), - LocalDateFromTime(SetUTCFullYear(0,1899)) ); - -addNewTestCase( "TDATE = new Date(0); TDATE.setUTCFullYear(1901);TDATE", - UTCDateFromTime(SetUTCFullYear(0,1901)), - LocalDateFromTime(SetUTCFullYear(0,1901)) ); - -test(); - -function addNewTestCase( DateString, UTCDate, LocalDate) { - DateCase = eval( DateString ); - - new TestCase( DateString+".getTime()", UTCDate.value, DateCase.getTime() ); - new TestCase( DateString+".valueOf()", UTCDate.value, DateCase.valueOf() ); - - new TestCase( DateString+".getUTCFullYear()", UTCDate.year, DateCase.getUTCFullYear() ); - new TestCase( DateString+".getUTCMonth()", UTCDate.month, DateCase.getUTCMonth() ); - new TestCase( DateString+".getUTCDate()", UTCDate.date, DateCase.getUTCDate() ); - new TestCase( DateString+".getUTCDay()", UTCDate.day, DateCase.getUTCDay() ); - new TestCase( DateString+".getUTCHours()", UTCDate.hours, DateCase.getUTCHours() ); - new TestCase( DateString+".getUTCMinutes()", UTCDate.minutes,DateCase.getUTCMinutes() ); - new TestCase( DateString+".getUTCSeconds()", UTCDate.seconds,DateCase.getUTCSeconds() ); - new TestCase( DateString+".getUTCMilliseconds()", UTCDate.ms, DateCase.getUTCMilliseconds() ); - - new TestCase( DateString+".getFullYear()", LocalDate.year, DateCase.getFullYear() ); - new TestCase( DateString+".getMonth()", LocalDate.month, DateCase.getMonth() ); - new TestCase( DateString+".getDate()", LocalDate.date, DateCase.getDate() ); - new TestCase( DateString+".getDay()", LocalDate.day, DateCase.getDay() ); - new TestCase( DateString+".getHours()", LocalDate.hours, DateCase.getHours() ); - new TestCase( DateString+".getMinutes()", LocalDate.minutes, DateCase.getMinutes() ); - new TestCase( DateString+".getSeconds()", LocalDate.seconds, DateCase.getSeconds() ); - new TestCase( DateString+".getMilliseconds()", LocalDate.ms, DateCase.getMilliseconds() ); - - DateCase.toString = Object.prototype.toString; - - new TestCase( - DateString+".toString=Object.prototype.toString;"+DateString+".toString()", - "[object Date]", - DateCase.toString() ); -} - -function MyDate() { - this.year = 0; - this.month = 0; - this.date = 0; - this.hours = 0; - this.minutes = 0; - this.seconds = 0; - this.ms = 0; -} -function LocalDateFromTime(t) { - t = LocalTime(t); - return ( MyDateFromTime(t) ); -} -function UTCDateFromTime(t) { - return ( MyDateFromTime(t) ); -} -function MyDateFromTime( t ) { - var d = new MyDate(); - d.year = YearFromTime(t); - d.month = MonthFromTime(t); - d.date = DateFromTime(t); - d.hours = HourFromTime(t); - d.minutes = MinFromTime(t); - d.seconds = SecFromTime(t); - d.ms = msFromTime(t); - - d.time = MakeTime( d.hours, d.minutes, d.seconds, d.ms ); - d.value = TimeClip( MakeDate( MakeDay( d.year, d.month, d.date ), d.time ) ); - d.day = WeekDay( d.value ); - - return (d); -} -function SetUTCFullYear( t, year, mon, date ) { - var T = ( t != t ) ? 0 : t; - var YEAR = Number(year); - var MONTH = ( mon == void 0 ) ? MonthFromTime(T) : Number( mon ); - var DATE = ( date == void 0 ) ? DateFromTime(T) : Number( date ); - var DAY = MakeDay( YEAR, MONTH, DATE ); - - return ( TimeClip(MakeDate(DAY, TimeWithinDay(T))) ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.4-1.js b/js/src/tests/ecma/Date/15.9.5.4-1.js deleted file mode 100644 index c1fe55906e65..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.4-1.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.4-1.js - ECMA Section: 15.9.5.4-1 Date.prototype.getTime - Description: - - 1. If the this value is not an object whose [[Class]] property is "Date", - generate a runtime error. - 2. Return this time value. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.9.5.4-1"; -var TITLE = "Date.prototype.getTime"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+").getTime()", - t, - (new Date(t)).getTime() ); - - new TestCase( "(new Date("+(t+1)+").getTime()", - t+1, - (new Date(t+1)).getTime() ); - - new TestCase( "(new Date("+(t-1)+").getTime()", - t-1, - (new Date(t-1)).getTime() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+").getTime()", - t-TZ_ADJUST, - (new Date(t-TZ_ADJUST)).getTime() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+").getTime()", - t+TZ_ADJUST, - (new Date(t+TZ_ADJUST)).getTime() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.4-2-n.js b/js/src/tests/ecma/Date/15.9.5.4-2-n.js deleted file mode 100644 index 24e12f53596c..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.4-2-n.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.4-2-n.js - ECMA Section: 15.9.5.4-1 Date.prototype.getTime - Description: - - 1. If the this value is not an object whose [[Class]] property is "Date", - generate a runtime error. - 2. Return this time value. - Author: christine@netscape.com - Date: 12 november 1997 -*/ - - -var SECTION = "15.9.5.4-2-n"; -var TITLE = "Date.prototype.getTime"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MYDATE = new MyDate( TIME_2000 ); - -DESCRIPTION = "MYDATE.getTime()"; - -new TestCase( "MYDATE.getTime()", - "error", - eval("MYDATE.getTime()") ); - -test(); - -function MyDate( value ) { - this.value = value; - this.getTime = Date.prototype.getTime; -} diff --git a/js/src/tests/ecma/Date/15.9.5.5.js b/js/src/tests/ecma/Date/15.9.5.5.js deleted file mode 100644 index 5d1e7b91130d..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.5.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.5.js - ECMA Section: 15.9.5.5 - Description: Date.prototype.getYear - - This function is specified here for backwards compatibility only. The - function getFullYear is much to be preferred for nearly all purposes, - because it avoids the "year 2000 problem." - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return YearFromTime(LocalTime(t)) 1900. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.5"; -var TITLE = "Date.prototype.getYear()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); - -new TestCase( "(new Date(NaN)).getYear()", - NaN, - (new Date(NaN)).getYear() ); - -new TestCase( "Date.prototype.getYear.length", - 0, - Date.prototype.getYear.length ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getYear()", - GetYear(YearFromTime(LocalTime(t))), - (new Date(t)).getYear() ); - - new TestCase( "(new Date("+(t+1)+")).getYear()", - GetYear(YearFromTime(LocalTime(t+1))), - (new Date(t+1)).getYear() ); - - new TestCase( "(new Date("+(t-1)+")).getYear()", - GetYear(YearFromTime(LocalTime(t-1))), - (new Date(t-1)).getYear() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+")).getYear()", - GetYear(YearFromTime(LocalTime(t-TZ_ADJUST))), - (new Date(t-TZ_ADJUST)).getYear() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+")).getYear()", - GetYear(YearFromTime(LocalTime(t+TZ_ADJUST))), - (new Date(t+TZ_ADJUST)).getYear() ); -} -function GetYear( year ) { - return year - 1900; -} diff --git a/js/src/tests/ecma/Date/15.9.5.6.js b/js/src/tests/ecma/Date/15.9.5.6.js deleted file mode 100644 index caa09a3052a7..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.6.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.6.js - ECMA Section: 15.9.5.6 - Description: Date.prototype.getFullYear - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return YearFromTime(LocalTime(t)). - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.6"; -var TITLE = "Date.prototype.getFullYear()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getFullYear()", - NaN, - (new Date(NaN)).getFullYear() ); - -new TestCase( "Date.prototype.getFullYear.length", - 0, - Date.prototype.getFullYear.length ); - -test(); -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getFullYear()", - YearFromTime(LocalTime(t)), - (new Date(t)).getFullYear() ); - - new TestCase( "(new Date("+(t+1)+")).getFullYear()", - YearFromTime(LocalTime(t+1)), - (new Date(t+1)).getFullYear() ); - - new TestCase( "(new Date("+(t-1)+")).getFullYear()", - YearFromTime(LocalTime(t-1)), - (new Date(t-1)).getFullYear() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+")).getFullYear()", - YearFromTime(LocalTime(t-TZ_ADJUST)), - (new Date(t-TZ_ADJUST)).getFullYear() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+")).getFullYear()", - YearFromTime(LocalTime(t+TZ_ADJUST)), - (new Date(t+TZ_ADJUST)).getFullYear() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.7.js b/js/src/tests/ecma/Date/15.9.5.7.js deleted file mode 100644 index 3f73ad22a131..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.7.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.7.js - ECMA Section: 15.9.5.7 - Description: Date.prototype.getUTCFullYear - - 1.Let t be this time value. - 2.If t is NaN, return NaN. - 3.Return YearFromTime(t). - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.7"; -var TITLE = "Date.prototype.getUTCFullYear()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getUTCFullYear()", - NaN, - (new Date(NaN)).getUTCFullYear() ); - -new TestCase( "Date.prototype.getUTCFullYear.length", - 0, - Date.prototype.getUTCFullYear.length ); - -test(); - -function addTestCase( t ) { - new TestCase( "(new Date("+t+")).getUTCFullYear()", - YearFromTime(t), - (new Date(t)).getUTCFullYear() ); - - new TestCase( "(new Date("+(t+1)+")).getUTCFullYear()", - YearFromTime(t+1), - (new Date(t+1)).getUTCFullYear() ); - - new TestCase( "(new Date("+(t-1)+")).getUTCFullYear()", - YearFromTime(t-1), - (new Date(t-1)).getUTCFullYear() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+")).getUTCFullYear()", - YearFromTime(t-TZ_ADJUST), - (new Date(t-TZ_ADJUST)).getUTCFullYear() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+")).getUTCFullYear()", - YearFromTime(t+TZ_ADJUST), - (new Date(t+TZ_ADJUST)).getUTCFullYear() ); -} diff --git a/js/src/tests/ecma/Date/15.9.5.8.js b/js/src/tests/ecma/Date/15.9.5.8.js deleted file mode 100644 index 66d5cb91d5c3..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.8.js +++ /dev/null @@ -1,71 +0,0 @@ -// |reftest| random-if(Android) -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.8.js - ECMA Section: 15.9.5.8 - Description: Date.prototype.getMonth - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return MonthFromTime(LocalTime(t)). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.8"; -var TITLE = "Date.prototype.getMonth()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getMonth()", - NaN, - (new Date(NaN)).getMonth() ); - -new TestCase( "Date.prototype.getMonth.length", - 0, - Date.prototype.getMonth.length ); -test(); - -function addTestCase( t ) { - var leap = InLeapYear(t); - - for ( var m = 0; m < 12; m++ ) { - - t += TimeInMonth(m, leap); - - new TestCase( "(new Date("+t+")).getMonth()", - MonthFromTime(LocalTime(t)), - (new Date(t)).getMonth() ); - - new TestCase( "(new Date("+(t+1)+")).getMonth()", - MonthFromTime(LocalTime(t+1)), - (new Date(t+1)).getMonth() ); - - new TestCase( "(new Date("+(t-1)+")).getMonth()", - MonthFromTime(LocalTime(t-1)), - (new Date(t-1)).getMonth() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+")).getMonth()", - MonthFromTime(LocalTime(t-TZ_ADJUST)), - (new Date(t-TZ_ADJUST)).getMonth() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+")).getMonth()", - MonthFromTime(LocalTime(t+TZ_ADJUST)), - (new Date(t+TZ_ADJUST)).getMonth() ); - - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.9.js b/js/src/tests/ecma/Date/15.9.5.9.js deleted file mode 100644 index c8cb1bc8c1bb..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.9.js +++ /dev/null @@ -1,71 +0,0 @@ -// |reftest| skip-if(Android) -- bug 686143, skip temporarily to see what happens to the frequency and location of Android timeouts -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.9.js - ECMA Section: 15.9.5.9 - Description: Date.prototype.getUTCMonth - - 1. Let t be this time value. - 2. If t is NaN, return NaN. - 3. Return MonthFromTime(t). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5.9"; -var TITLE = "Date.prototype.getUTCMonth()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -addTestCase( TIME_NOW ); -addTestCase( TIME_0000 ); -addTestCase( TIME_1970 ); -addTestCase( TIME_1900 ); -addTestCase( TIME_2000 ); -addTestCase( UTC_FEB_29_2000 ); -addTestCase( UTC_JAN_1_2005 ); - -new TestCase( "(new Date(NaN)).getUTCMonth()", - NaN, - (new Date(NaN)).getUTCMonth() ); - -new TestCase( "Date.prototype.getUTCMonth.length", - 0, - Date.prototype.getUTCMonth.length ); -test(); - -function addTestCase( t ) { - var leap = InLeapYear(t); - - for ( var m = 0; m < 12; m++ ) { - - t += TimeInMonth(m, leap); - - new TestCase( "(new Date("+t+")).getUTCMonth()", - MonthFromTime(t), - (new Date(t)).getUTCMonth() ); - - new TestCase( "(new Date("+(t+1)+")).getUTCMonth()", - MonthFromTime(t+1), - (new Date(t+1)).getUTCMonth() ); - - new TestCase( "(new Date("+(t-1)+")).getUTCMonth()", - MonthFromTime(t-1), - (new Date(t-1)).getUTCMonth() ); - - new TestCase( "(new Date("+(t-TZ_ADJUST)+")).getUTCMonth()", - MonthFromTime(t-TZ_ADJUST), - (new Date(t-TZ_ADJUST)).getUTCMonth() ); - - new TestCase( "(new Date("+(t+TZ_ADJUST)+")).getUTCMonth()", - MonthFromTime(t+TZ_ADJUST), - (new Date(t+TZ_ADJUST)).getUTCMonth() ); - - } -} diff --git a/js/src/tests/ecma/Date/15.9.5.js b/js/src/tests/ecma/Date/15.9.5.js deleted file mode 100644 index 9bcb3386e5bd..000000000000 --- a/js/src/tests/ecma/Date/15.9.5.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.9.5.js - ECMA Section: 15.9.5 Properties of the Date prototype object - Description: - - The Date prototype object is itself a Date object (its [[Class]] is - "Date") whose value is NaN. - - The value of the internal [[Prototype]] property of the Date prototype - object is the Object prototype object (15.2.3.1). - - In following descriptions of functions that are properties of the Date - prototype object, the phrase "this Date object" refers to the object that - is the this value for the invocation of the function; it is an error if - this does not refer to an object for which the value of the internal - [[Class]] property is "Date". Also, the phrase "this time value" refers - to the number value for the time represented by this Date object, that is, - the value of the internal [[Value]] property of this Date object. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.9.5"; -var TITLE = "Properties of the Date Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -Date.prototype.getClass = Object.prototype.toString; - -new TestCase( "Date.prototype.getClass", - "[object Object]", - Date.prototype.getClass() ); -new TestCase( "Date.prototype.valueOf()", - "TypeError", - (function() { try { Date.prototype.valueOf() } catch (e) { return e.constructor.name; } })()); -new TestCase( - "Date.prototype.__proto__ == Object.prototype", - true, - Date.prototype.__proto__ == Object.prototype ); -test(); diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.3-1.js b/js/src/tests/ecma/ExecutionContexts/10.1.3-1.js deleted file mode 100644 index d4ce99ca9441..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.3-1.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.3-1.js - ECMA Section: 10.1.3 - Description: - - For each formal parameter, as defined in the FormalParameterList, create - a property of the variable object whose name is the Identifier and whose - attributes are determined by the type of code. The values of the - parameters are supplied by the caller. If the caller supplies fewer - parameter values than there are formal parameters, the extra formal - parameters have value undefined. If two or more formal parameters share - the same name, hence the same property, the corresponding property is - given the value that was supplied for the last parameter with this name. - If the value of this last parameter was not supplied by the caller, - the value of the corresponding property is undefined. - - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=104191 - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.1.3-1"; -var TITLE = "Variable Instantiation: Formal Parameters"; -var BUGNUMBER="104191"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var myfun1 = new Function( "a", "a", "return a" ); -var myfun2 = new Function( "a", "b", "a", "return a" ); - -function myfun3(a, b, a) { - return a; -} - -// myfun1, myfun2, myfun3 tostring - - -new TestCase( - String(myfun2) +"; myfun2(2,4,8)", - 8, - myfun2(2,4,8) ); - -new TestCase( - "myfun2(2,4)", - void 0, - myfun2(2,4)); - -new TestCase( - String(myfun3) +"; myfun3(2,4,8)", - 8, - myfun3(2,4,8) ); - -new TestCase( - "myfun3(2,4)", - void 0, - myfun3(2,4) ); - -test(); - diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.3-2.js b/js/src/tests/ecma/ExecutionContexts/10.1.3-2.js deleted file mode 100644 index 3cd4e4833c9a..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.3-2.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.3-1.js - ECMA Section: 10.1.3 - Description: - - Author: mozilla@florian.loitsch.com - Date: 27 July 2005 -*/ - -var SECTION = "10.1.3-2"; -var TITLE = "Variable Instantiation: Function Declarations"; -var BUGNUMBER="299639"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -function f(g) -{ - function g() { - return "g"; - }; - return g; -} - -new TestCase( - "typeof f(\"parameter\")", - "function", - typeof f("parameter") ); - -test(); - diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.3.js b/js/src/tests/ecma/ExecutionContexts/10.1.3.js deleted file mode 100644 index 2cfbe99a1a87..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.3.js +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.3.js - ECMA Section: 10.1.3.js Variable Instantiation - Description: - Author: christine@netscape.com - Date: 11 september 1997 -*/ - -var SECTION = "10.1.3"; -var TITLE = "Variable instantiation"; -var BUGNUMBER = "20256"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// overriding a variable or function name with a function should succeed - -new TestCase("function t() { return \"first\" };" + - "function t() { return \"second\" };t() ", - "second", - eval("function t() { return \"first\" };" + - "function t() { return \"second\" };t()")); - - -new TestCase("var t; function t(){}; typeof(t)", - "function", - eval("var t; function t(){}; typeof(t)")); - - -// formal parameter tests - -new TestCase("function t1(a,b) { return b; }; t1( 4 );", - void 0, - eval("function t1(a,b) { return b; }; t1( 4 );") ); - -new TestCase("function t1(a,b) { return a; }; t1(4);", - 4, - eval("function t1(a,b) { return a; }; t1(4)")); - -new TestCase("function t1(a,b) { return a; }; t1();", - void 0, - eval("function t1(a,b) { return a; }; t1()")); - -new TestCase("function t1(a,b) { return a; }; t1(1,2,4);", - 1, - eval("function t1(a,b) { return a; }; t1(1,2,4)")); -/* - -new TestCase("function t1(a,a) { return a; }; t1( 4 );", -void 0, -eval("function t1(a,a) { return a; }; t1( 4 )")); - -new TestCase("function t1(a,a) { return a; }; t1( 1,2 );", -2, -eval("function t1(a,a) { return a; }; t1( 1,2 )")); -*/ -// variable declarations - -new TestCase("function t1(a,b) { return a; }; t1( false, true );", - false, - eval("function t1(a,b) { return a; }; t1( false, true );")); - -new TestCase("function t1(a,b) { return b; }; t1( false, true );", - true, - eval("function t1(a,b) { return b; }; t1( false, true );")); - -new TestCase("function t1(a,b) { return a+b; }; t1( 4, 2 );", - 6, - eval("function t1(a,b) { return a+b; }; t1( 4, 2 );")); - -new TestCase("function t1(a,b) { return a+b; }; t1( 4 );", - Number.NaN, - eval("function t1(a,b) { return a+b; }; t1( 4 );")); - -// overriding a function name with a variable should fail - -new TestCase("function t() { return 'function' };" + - "var t = 'variable'; typeof(t)", - "string", - eval("function t() { return 'function' };" + - "var t = 'variable'; typeof(t)")); - -// function as a constructor - -new TestCase("function t1(a,b) { var a = b; return a; } t1(1,3);", - 3, - eval("function t1(a, b){ var a = b; return a;}; t1(1,3)")); - -new TestCase("function t2(a,b) { this.a = b; } x = new t2(1,3); x.a", - 3, - eval("function t2(a,b) { this.a = b; };" + - "x = new t2(1,3); x.a")); - -new TestCase("function t2(a,b) { this.a = a; } x = new t2(1,3); x.a", - 1, - eval("function t2(a,b) { this.a = a; };" + - "x = new t2(1,3); x.a")); - -new TestCase("function t2(a,b) { this.a = b; this.b = a; } " + - "x = new t2(1,3);x.a;", - 3, - eval("function t2(a,b) { this.a = b; this.b = a; };" + - "x = new t2(1,3);x.a;")); - -new TestCase("function t2(a,b) { this.a = b; this.b = a; }" + - "x = new t2(1,3);x.b;", - 1, - eval("function t2(a,b) { this.a = b; this.b = a; };" + - "x = new t2(1,3);x.b;") ); - -test(); diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-1.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-1.js deleted file mode 100644 index fa84e742ee44..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-1.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-1"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect = Math.pow(INPUT,2); - with ( MYOBJECT ) { - actual = eval( INPUT ); - } - - new TestCase("with MyObject, eval should return square of ( " + INPUT + " )", - expect, actual); -} - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-10.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-10.js deleted file mode 100644 index 919e7200e76f..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-10.js +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-10.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-10"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var VALUE = 12345; - var MYOBJECT = new Number( VALUE ); - - var actual, expect = String(VALUE); - with ( MYOBJECT ) { - actual = toString(); - } - - new TestCase("MYOBJECT.toString()", expect, actual); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-2.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-2.js deleted file mode 100644 index fa965d9cc0c2..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-2.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-2"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect = Math.pow(INPUT,2); - with ( this ) { - with ( MYOBJECT ) { - actual = eval( INPUT ); - } - } - - new TestCase("with MyObject, eval should return square of ( " + INPUT + " )", - expect, actual); -} - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-3.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-3.js deleted file mode 100644 index a5801f817741..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-3.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-3"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect; - with ( MYOBJECT ) { - eval( INPUT ); - } - - new TestCase("with MyObject, eval should be [object Global].eval (" + INPUT + ")", - expect, actual); -} - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-4.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-4.js deleted file mode 100644 index 7ec3f685cfe5..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-4.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-1"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect; - with ( MYOBJECT ) { - eval( INPUT ); - } - - actual = eval( INPUT ); - expect = INPUT; - - new TestCase("with MyObject, eval should be [object Global].eval (" + INPUT + ")", - expect, actual); -} - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-5.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-5.js deleted file mode 100644 index 6ab4f604dc91..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-5.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-1"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect; - with ( MYOBJECT ) { - eval = null; - } - - actual = eval( INPUT ); - expect = INPUT; - - new TestCase("with MyObject, eval should be [object Global].eval (" + INPUT + ")", - expect, actual); -} -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-6.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-6.js deleted file mode 100644 index c652b649a3ab..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-6.js +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-6"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -var MYOBJECT = new MyObject(); -var INPUT = 2; - -with ( MYOBJECT ) { - ; -} - -new TestCase("with MyObject, eval should be [object Global].eval (" + INPUT + ")", - INPUT, eval( INPUT )); - -test(); - - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-7.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-7.js deleted file mode 100644 index cd0a4ce150a4..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-7.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-7.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-7"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect = INPUT; - with ( MYOBJECT ) { - delete( eval ); - actual = eval( INPUT ); - } - - new TestCase("with MyObject, eval should be [object Global].eval (" + INPUT + ")", - expect, actual); -} - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.4-8.js b/js/src/tests/ecma/ExecutionContexts/10.1.4-8.js deleted file mode 100644 index c24155a901cd..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.4-8.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-1.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-1"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var INPUT = 2; - - var actual, expect = Math.pow(INPUT,3); - with ( MYOBJECT ) { - eval = new Function ( "x", "return(Math.pow(Number(x),3))" ); - - actual = eval( INPUT ); - } - - new TestCase("with MyObject, eval should cube INPUT: (" + INPUT + ")", - expect, actual); -} - -function MyObject() { - this.eval = new Function( "x", "return(Math.pow(Number(x),2))" ); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.5-1.js b/js/src/tests/ecma/ExecutionContexts/10.1.5-1.js deleted file mode 100644 index 84eff005c924..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.5-1.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.5-1.js - ECMA Section: 10.1.5 Global Object - Description: - There is a unique global object which is created before control enters - any execution context. Initially the global object has the following - properties: - - Built-in objects such as Math, String, Date, parseInt, etc. These have - attributes { DontEnum }. - - Additional host defined properties. This may include a property whose - value is the global object itself, for example window in HTML. - - As control enters execution contexts, and as ECMAScript code is executed, - additional properties may be added to the global object and the initial - properties may be changed. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.5.1-1"; - -writeHeaderToLog( SECTION + " Global Object"); - -new TestCase( "Global Code check: Object", false, Object == null); -new TestCase( "Global Code check: Function", false, Function == null); -new TestCase( "Global Code check: String", false, String == null); -new TestCase( "Global Code check: Array", false, Array == null); -new TestCase( "Global Code check: Number", false, Number == null); -new TestCase( "Global Code check: Math", false, Math == null); -new TestCase( "Global Code check: Boolean", false, Boolean == null); -new TestCase( "Global Code check: Date", false, Date == null); -new TestCase( "Global Code check: eval", false, eval == null); -new TestCase( "Global Code check: parseInt", false, parseInt == null); - -test(); - diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.5-2.js b/js/src/tests/ecma/ExecutionContexts/10.1.5-2.js deleted file mode 100644 index 1220b8af9cf1..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.5-2.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.5-2.js - ECMA Section: 10.1.5 Global Object - Description: - There is a unique global object which is created before control enters - any execution context. Initially the global object has the following - properties: - - Built-in objects such as Math, String, Date, parseInt, etc. These have - attributes { DontEnum }. - - Additional host defined properties. This may include a property whose - value is the global object itself, for example window in HTML. - - As control enters execution contexts, and as ECMAScript code is executed, - additional properties may be added to the global object and the initial - properties may be changed. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.5.1-2"; - -writeHeaderToLog( SECTION + " Global Object"); - -var EVAL_STRING = - 'new TestCase( "Eval Code check: Object", false, Object == null);' + - 'new TestCase( "Eval Code check: Function", false, Function == null);' + - 'new TestCase( "Eval Code check: String", false, String == null);' + - 'new TestCase( "Eval Code check: Array", false, Array == null);' + - 'new TestCase( "Eval Code check: Number", false, Number == null);' + - 'new TestCase( "Eval Code check: Math", false, Math == null);' + - 'new TestCase( "Eval Code check: Boolean", false, Boolean == null);' + - 'new TestCase( "Eval Code check: Date", false, Date == null);' + - 'new TestCase( "Eval Code check: eval", false, eval == null);' + - 'new TestCase( "Eval Code check: parseInt", false, parseInt == null);'; - -eval( EVAL_STRING ); - -test(); - diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.5-3.js b/js/src/tests/ecma/ExecutionContexts/10.1.5-3.js deleted file mode 100644 index 47cb5877a47f..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.5-3.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.5-3.js - ECMA Section: 10.1.5 Global Object - Description: - There is a unique global object which is created before control enters - any execution context. Initially the global object has the following - properties: - - Built-in objects such as Math, String, Date, parseInt, etc. These have - attributes { DontEnum }. - - Additional host defined properties. This may include a property whose - value is the global object itself, for example window in HTML. - - As control enters execution contexts, and as ECMAScript code is executed, - additional properties may be added to the global object and the initial - properties may be changed. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.5.1-3"; -writeHeaderToLog( SECTION + " Global Object"); - -addTestCase(); - -test(); - -function addTestCase() { - new TestCase( "Function Code check: Object", false, Object == null); - new TestCase( "Function Code check: Function", false, Function == null); - new TestCase( "Function Code check: String", false, String == null); - new TestCase( "Function Code check: Array", false, Array == null); - new TestCase( "Function Code check: Number", false, Number == null); - new TestCase( "Function Code check: Math", false, Math == null); - new TestCase( "Function Code check: Boolean", false, Boolean == null); - new TestCase( "Function Code check: Date", false, Date == null); - new TestCase( "Function Code check: eval", false, eval == null); - new TestCase( "Function Code check: parseInt", false, parseInt == null); -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.5-4.js b/js/src/tests/ecma/ExecutionContexts/10.1.5-4.js deleted file mode 100644 index fa7f5b73754f..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.5-4.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.5-4.js - ECMA Section: 10.1.5 Global Object - Description: - There is a unique global object which is created before control enters - any execution context. Initially the global object has the following - properties: - - Built-in objects such as Math, String, Date, parseInt, etc. These have - attributes { DontEnum }. - - Additional host defined properties. This may include a property whose - value is the global object itself, for example window in HTML. - - As control enters execution contexts, and as ECMAScript code is executed, - additional properties may be added to the global object and the initial - properties may be changed. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.5.1-4"; - -writeHeaderToLog( SECTION + " Global Object"); - -var EVAL_STRING = - 'new TestCase( "Anonymous Code check: Object", false, Object == null);' + - 'new TestCase( "Anonymous Code check: Function", false, Function == null);' + - 'new TestCase( "Anonymous Code check: String", false, String == null);' + - 'new TestCase( "Anonymous Code check: Array", false, Array == null);' + - 'new TestCase( "Anonymous Code check: Number", false, Number == null);' + - 'new TestCase( "Anonymous Code check: Math", false, Math == null);' + - 'new TestCase( "Anonymous Code check: Boolean", false, Boolean == null);' + - 'new TestCase( "Anonymous Code check: Date", false, Date == null);' + - 'new TestCase( "Anonymous Code check: eval", false, eval == null);' + - 'new TestCase( "Anonymous Code check: parseInt", false, parseInt == null);'; - -var NEW_FUNCTION = new Function( EVAL_STRING ); - -NEW_FUNCTION(); - -test(); diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.8-2.js b/js/src/tests/ecma/ExecutionContexts/10.1.8-2.js deleted file mode 100644 index 043cdba0b997..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.8-2.js +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.8-2 - ECMA Section: Arguments Object - Description: - - When control enters an execution context for declared function code, - anonymous code, or implementation-supplied code, an arguments object is - created and initialized as follows: - - The [[Prototype]] of the arguments object is to the original Object - prototype object, the one that is the initial value of Object.prototype - (section 15.2.3.1). - - A property is created with name callee and property attributes {DontEnum}. - The initial value of this property is the function object being executed. - This allows anonymous functions to be recursive. - - A property is created with name length and property attributes {DontEnum}. - The initial value of this property is the number of actual parameter values - supplied by the caller. - - For each non-negative integer, iarg, less than the value of the length - property, a property is created with name ToString(iarg) and property - attributes { DontEnum }. The initial value of this property is the value - of the corresponding actual parameter supplied by the caller. The first - actual parameter value corresponds to iarg = 0, the second to iarg = 1 and - so on. In the case when iarg is less than the number of formal parameters - for the function object, this property shares its value with the - corresponding property of the activation object. This means that changing - this property changes the corresponding property of the activation object - and vice versa. The value sharing mechanism depends on the implementation. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.1.8-2"; -var TITLE = "Arguments Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Tests for anonymous functions - -var GetCallee = new Function( "var c = arguments.callee; return c" ); -var GetArguments = new Function( "var a = arguments; return a" ); -var GetLength = new Function( "var l = arguments.length; return l" ); - -var ARG_STRING = "value of the argument property"; - -new TestCase( "GetCallee()", - GetCallee, - GetCallee() ); - -var LIMIT = 100; - -for ( var i = 0, args = "" ; i < LIMIT; i++ ) { - args += String(i) + ( i+1 < LIMIT ? "," : "" ); - -} - -var LENGTH = eval( "GetLength("+ args +")" ); - -new TestCase( "GetLength("+args+")", - 100, - LENGTH ); - -var ARGUMENTS = eval( "GetArguments( " +args+")" ); - -for ( var i = 0; i < 100; i++ ) { - new TestCase( "GetArguments("+args+")["+i+"]", - i, - ARGUMENTS[i] ); -} - -test(); diff --git a/js/src/tests/ecma/ExecutionContexts/10.1.8-3.js b/js/src/tests/ecma/ExecutionContexts/10.1.8-3.js deleted file mode 100644 index 26b9c236f193..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.1.8-3.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.8-3 - ECMA Section: Arguments Object - Description: - - The [[Prototype]] of the arguments object is to the original Object - prototype object, the one that is the initial value of Object.prototype - (section 15.2.3.1). - - ... - - Test that "typeof arguments" is thus "object". - -*/ - -var SECTION = "10.1.8-2"; -var TITLE = "Arguments Object"; -writeHeaderToLog( SECTION + " "+ TITLE); - -var expected = "object"; -var actual = (function () { return typeof arguments; })(); -reportCompare(expected, actual, "typeof arguments == object"); - diff --git a/js/src/tests/ecma/ExecutionContexts/10.2.1.js b/js/src/tests/ecma/ExecutionContexts/10.2.1.js deleted file mode 100644 index 8f3f1d304356..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.2.1.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.2.1.js - ECMA Section: 10.2.1 Global Code - Description: - - The scope chain is created and initialized to contain the global object and - no others. - - Variable instantiation is performed using the global object as the variable - object and using empty property attributes. - - The this value is the global object. - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.2.1"; -var TITLE = "Global Code"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var THIS = this; - -new TestCase( "this +''", - GLOBAL, - THIS + "" ); - -var GLOBAL_PROPERTIES = new Array(); -var i = 0; - -for ( p in this ) { - GLOBAL_PROPERTIES[i++] = p; -} - -for ( i = 0; i < GLOBAL_PROPERTIES.length; i++ ) { - new TestCase( GLOBAL_PROPERTIES[i] +" == void 0", - false, - eval("GLOBAL_PROPERTIES["+i+"] == void 0")); -} - -test(); diff --git a/js/src/tests/ecma/ExecutionContexts/10.2.2-1.js b/js/src/tests/ecma/ExecutionContexts/10.2.2-1.js deleted file mode 100644 index 8f7812ff1c10..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.2.2-1.js +++ /dev/null @@ -1,81 +0,0 @@ -// |reftest| skip-if(Android) -- bug - nsIDOMWindow.crypto throws NS_ERROR_NOT_IMPLEMENTED on Android -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.2.2-1.js - ECMA Section: 10.2.2 Eval Code - Description: - - When control enters an execution context for eval code, the previous - active execution context, referred to as the calling context, is used to - determine the scope chain, the variable object, and the this value. If - there is no calling context, then initializing the scope chain, variable - instantiation, and determination of the this value are performed just as - for global code. - - The scope chain is initialized to contain the same objects, in the same - order, as the calling context's scope chain. This includes objects added - to the calling context's scope chain by WithStatement. - - Variable instantiation is performed using the calling context's variable - object and using empty property attributes. - - The this value is the same as the this value of the calling context. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.2.2-1"; -var TITLE = "Eval Code"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var THIS = eval("this"); - -new TestCase( "this +''", - GLOBAL, - THIS + "" ); - -var GLOBAL_PROPERTIES = new Array(); -var i = 0; - -for ( p in THIS ) { - GLOBAL_PROPERTIES[i++] = p; -} - -for ( i = 0; i < GLOBAL_PROPERTIES.length; i++ ) { - new TestCase( GLOBAL_PROPERTIES[i] +" == THIS["+GLOBAL_PROPERTIES[i]+"]", - true, - eval(GLOBAL_PROPERTIES[i]) == eval( "THIS[GLOBAL_PROPERTIES[i]]") ); -} - -// this in eval statements is the same as this value of the calling context - -var RESULT = THIS == this; - -new TestCase( "eval( 'this == THIS' )", - true, - RESULT ); - -var RESULT = THIS +''; - -new TestCase( "eval( 'this + \"\"' )", - GLOBAL, - RESULT ); - - -new TestCase( "eval( 'this == THIS' )", - true, - eval( "this == THIS" ) ); - -new TestCase( "eval( 'this + \"\"' )", - GLOBAL, - eval( "this +''") ); - - -test(); diff --git a/js/src/tests/ecma/ExecutionContexts/10.2.2-2.js b/js/src/tests/ecma/ExecutionContexts/10.2.2-2.js deleted file mode 100644 index d47916c8dc09..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.2.2-2.js +++ /dev/null @@ -1,90 +0,0 @@ -// |reftest| skip-if(Android) -- bug - nsIDOMWindow.crypto throws NS_ERROR_NOT_IMPLEMENTED on Android -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.2.2-2.js - ECMA Section: 10.2.2 Eval Code - Description: - - When control enters an execution context for eval code, the previous - active execution context, referred to as the calling context, is used to - determine the scope chain, the variable object, and the this value. If - there is no calling context, then initializing the scope chain, variable - instantiation, and determination of the this value are performed just as - for global code. - - The scope chain is initialized to contain the same objects, in the same - order, as the calling context's scope chain. This includes objects added - to the calling context's scope chain by WithStatement. - - Variable instantiation is performed using the calling context's variable - object and using empty property attributes. - - The this value is the same as the this value of the calling context. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.2.2-2"; -var TITLE = "Eval Code"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Test Objects - -var OBJECT = new MyObject( "hello" ); -var GLOBAL_PROPERTIES = new Array(); -var i = 0; - -for ( p in this ) { - GLOBAL_PROPERTIES[i++] = p; -} - -with ( OBJECT ) { - var THIS = this; - new TestCase( "eval( 'this == THIS' )", - true, - eval("this == THIS") ); - new TestCase( "this in a with() block", - GLOBAL, - this+"" ); - new TestCase( "new MyObject('hello').value", - "hello", - value ); - new TestCase( "eval(new MyObject('hello').value)", - "hello", - eval("value") ); - new TestCase( "new MyObject('hello').getClass()", - "[object Object]", - getClass() ); - new TestCase( "eval(new MyObject('hello').getClass())", - "[object Object]", - eval("getClass()") ); - new TestCase( "eval(new MyObject('hello').toString())", - "hello", - eval("toString()") ); - new TestCase( "eval('getClass') == Object.prototype.toString", - true, - eval("getClass") == Object.prototype.toString ); - - for ( i = 0; i < GLOBAL_PROPERTIES.length; i++ ) { - new TestCase( GLOBAL_PROPERTIES[i] + - " == THIS["+GLOBAL_PROPERTIES[i]+"]", true, - eval(GLOBAL_PROPERTIES[i]) == eval( "THIS[GLOBAL_PROPERTIES[i]]") ); - } - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.getClass = Object.prototype.toString; - this.toString = new Function( "return this.value+''" ); - return this; -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.2.3-1.js b/js/src/tests/ecma/ExecutionContexts/10.2.3-1.js deleted file mode 100644 index 169a719b8083..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.2.3-1.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.2.3-1.js - ECMA Section: 10.2.3 Function and Anonymous Code - Description: - - The scope chain is initialized to contain the activation object followed - by the global object. Variable instantiation is performed using the - activation by the global object. Variable instantiation is performed using - the activation object as the variable object and using property attributes - { DontDelete }. The caller provides the this value. If the this value - provided by the caller is not an object (including the case where it is - null), then the this value is the global object. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.2.3-1"; -var TITLE = "Eval Code"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var o = new MyObject("hello") - - new TestCase( "var o = new MyObject('hello'); o.THIS == x", - true, - o.THIS == o ); - -var o = MyFunction(); - -new TestCase( "var o = MyFunction(); o == this", - true, - o == this ); - -test(); - -function MyFunction( value ) { - return this; -} -function MyObject( value ) { - this.THIS = this; -} diff --git a/js/src/tests/ecma/ExecutionContexts/10.2.3-2.js b/js/src/tests/ecma/ExecutionContexts/10.2.3-2.js deleted file mode 100644 index 009bfef3ad03..000000000000 --- a/js/src/tests/ecma/ExecutionContexts/10.2.3-2.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.2.3-2.js - ECMA Section: 10.2.3 Function and Anonymous Code - Description: - - The scope chain is initialized to contain the activation object followed - by the global object. Variable instantiation is performed using the - activation by the global object. Variable instantiation is performed using - the activation object as the variable object and using property attributes - { DontDelete }. The caller provides the this value. If the this value - provided by the caller is not an object (including the case where it is - null), then the this value is the global object. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.2.3-2"; -var TITLE = "Function and Anonymous Code"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var o = new MyObject("hello"); - -new TestCase( "MyFunction(\"PASSED!\")", - "PASSED!", - MyFunction("PASSED!") ); - -var o = MyFunction(); - -new TestCase( "MyOtherFunction(true);", - false, - MyOtherFunction(true) ); - -test(); - -function MyFunction( value ) { - var x = value; - delete x; - return x; -} -function MyOtherFunction(value) { - var x = value; - return delete x; -} -function MyObject( value ) { - this.THIS = this; -} diff --git a/js/src/tests/ecma/Expressions/11.1.1.js b/js/src/tests/ecma/Expressions/11.1.1.js deleted file mode 100644 index b1ca80bf7e8c..000000000000 --- a/js/src/tests/ecma/Expressions/11.1.1.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.1.1.js - ECMA Section: 11.1.1 The this keyword - Description: - - The this keyword evaluates to the this value of the execution context. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.1.1"; - -writeHeaderToLog( SECTION + " The this keyword"); - -var GLOBAL_OBJECT = this.toString(); - -// this in global code and eval(this) in global code should return the global object. - -new TestCase( - "Global Code: this.toString()", - GLOBAL_OBJECT, - this.toString() ); - -new TestCase( - "Global Code: eval('this.toString()')", - GLOBAL_OBJECT, - eval('this.toString()') ); - -// this in anonymous code called as a function should return the global object. - -new TestCase( - "Anonymous Code: var MYFUNC = new Function('return this.toString()'); MYFUNC()", - GLOBAL_OBJECT, - eval("var MYFUNC = new Function('return this.toString()'); MYFUNC()") ); - -// eval( this ) in anonymous code called as a function should return that function's activation object - -new TestCase( - "Anonymous Code: var MYFUNC = new Function('return (eval(\"this.toString()\")'); (MYFUNC()).toString()", - GLOBAL_OBJECT, - eval("var MYFUNC = new Function('return eval(\"this.toString()\")'); (MYFUNC()).toString()") ); - -// this and eval( this ) in anonymous code called as a constructor should return the object - -new TestCase( - "Anonymous Code: var MYFUNC = new Function('this.THIS = this'); ((new MYFUNC()).THIS).toString()", - "[object Object]", - eval("var MYFUNC = new Function('this.THIS = this'); ((new MYFUNC()).THIS).toString()") ); - -new TestCase( - "Anonymous Code: var MYFUNC = new Function('this.THIS = this'); var FUN1 = new MYFUNC(); FUN1.THIS == FUN1", - true, - eval("var MYFUNC = new Function('this.THIS = this'); var FUN1 = new MYFUNC(); FUN1.THIS == FUN1") ); - -new TestCase( - "Anonymous Code: var MYFUNC = new Function('this.THIS = eval(\"this\")'); ((new MYFUNC().THIS).toString()", - "[object Object]", - eval("var MYFUNC = new Function('this.THIS = eval(\"this\")'); ((new MYFUNC()).THIS).toString()") ); - -new TestCase( - "Anonymous Code: var MYFUNC = new Function('this.THIS = eval(\"this\")'); var FUN1 = new MYFUNC(); FUN1.THIS == FUN1", - true, - eval("var MYFUNC = new Function('this.THIS = eval(\"this\")'); var FUN1 = new MYFUNC(); FUN1.THIS == FUN1") ); - -// this and eval(this) in function code called as a function should return the global object. -new TestCase( - "Function Code: ReturnThis()", - GLOBAL_OBJECT, - ReturnThis() ); - -new TestCase( - "Function Code: ReturnEvalThis()", - GLOBAL_OBJECT, - ReturnEvalThis() ); - -// this and eval(this) in function code called as a contructor should return the object. -new TestCase( - "var MYOBJECT = new ReturnThis(); MYOBJECT.toString()", - "[object Object]", - eval("var MYOBJECT = new ReturnThis(); MYOBJECT.toString()") ); - -new TestCase( - "var MYOBJECT = new ReturnEvalThis(); MYOBJECT.toString()", - "[object Object]", - eval("var MYOBJECT = new ReturnEvalThis(); MYOBJECT.toString()") ); - -test(); - -function ReturnThis() { - return this.toString(); -} - -function ReturnEvalThis() { - return( eval("this.toString()") ); -} diff --git a/js/src/tests/ecma/Expressions/11.10-1.js b/js/src/tests/ecma/Expressions/11.10-1.js deleted file mode 100644 index dac8ece426e7..000000000000 --- a/js/src/tests/ecma/Expressions/11.10-1.js +++ /dev/null @@ -1,234 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.10-1.js - ECMA Section: 11.10-1 Binary Bitwise Operators: & - Description: - Semantics - - The production A : A @ B, where @ is one of the bitwise operators in the - productions &, ^, | , is evaluated as follows: - - 1. Evaluate A. - 2. Call GetValue(Result(1)). - 3. Evaluate B. - 4. Call GetValue(Result(3)). - 5. Call ToInt32(Result(2)). - 6. Call ToInt32(Result(4)). - 7. Apply the bitwise operator @ to Result(5) and Result(6). The result is - a signed 32 bit integer. - 8. Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.10-1"; - -writeHeaderToLog( SECTION + " Binary Bitwise Operators: &"); - -var shiftexp = 0; -var addexp = 0; - -// for ( shiftpow = 0; shiftpow < 33; shiftpow++ ) { -for ( shiftpow = 0; shiftpow < 1; shiftpow++ ) { - shiftexp += Math.pow( 2, shiftpow ); - - for ( addpow = 0; addpow < 33; addpow++ ) { - addexp += Math.pow(2, addpow); - - new TestCase( - shiftexp + " & " + addexp, - And( shiftexp, addexp ), - shiftexp & addexp ); - } -} - -test(); - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - - for ( l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - - } - - return r; -} -function And( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( bs.charAt(bit) == "1" && ba.charAt(bit) == "1" ) { - result += "1"; - } else { - result += "0"; - } - } - return ToInt32Decimal(result); -} -function Xor( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( (bs.charAt(bit) == "1" && ba.charAt(bit) == "0") || - (bs.charAt(bit) == "0" && ba.charAt(bit) == "1") - ) { - result += "1"; - } else { - result += "0"; - } - } - - return ToInt32Decimal(result); -} -function Or( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( bs.charAt(bit) == "1" || ba.charAt(bit) == "1" ) { - result += "1"; - } else { - result += "0"; - } - } - - return ToInt32Decimal(result); -} diff --git a/js/src/tests/ecma/Expressions/11.10-2.js b/js/src/tests/ecma/Expressions/11.10-2.js deleted file mode 100644 index 04691d6535fd..000000000000 --- a/js/src/tests/ecma/Expressions/11.10-2.js +++ /dev/null @@ -1,233 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.10-2.js - ECMA Section: 11.10-2 Binary Bitwise Operators: | - Description: - Semantics - - The production A : A @ B, where @ is one of the bitwise operators in the - productions &, ^, | , is evaluated as follows: - - 1. Evaluate A. - 2. Call GetValue(Result(1)). - 3. Evaluate B. - 4. Call GetValue(Result(3)). - 5. Call ToInt32(Result(2)). - 6. Call ToInt32(Result(4)). - 7. Apply the bitwise operator @ to Result(5) and Result(6). The result is - a signed 32 bit integer. - 8. Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.10-2"; - -writeHeaderToLog( SECTION + " Binary Bitwise Operators: |"); - -var shiftexp = 0; -var addexp = 0; - -for ( shiftpow = 0; shiftpow < 33; shiftpow++ ) { - shiftexp += Math.pow( 2, shiftpow ); - - for ( addpow = 0; addpow < 33; addpow++ ) { - addexp += Math.pow(2, addpow); - - new TestCase( - shiftexp + " | " + addexp, - Or( shiftexp, addexp ), - shiftexp | addexp ); - } -} - -test(); - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - - for ( l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - - } - - return r; -} -function And( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( bs.charAt(bit) == "1" && ba.charAt(bit) == "1" ) { - result += "1"; - } else { - result += "0"; - } - } - return ToInt32Decimal(result); -} -function Xor( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( (bs.charAt(bit) == "1" && ba.charAt(bit) == "0") || - (bs.charAt(bit) == "0" && ba.charAt(bit) == "1") - ) { - result += "1"; - } else { - result += "0"; - } - } - - return ToInt32Decimal(result); -} -function Or( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( bs.charAt(bit) == "1" || ba.charAt(bit) == "1" ) { - result += "1"; - } else { - result += "0"; - } - } - - return ToInt32Decimal(result); -} diff --git a/js/src/tests/ecma/Expressions/11.10-3.js b/js/src/tests/ecma/Expressions/11.10-3.js deleted file mode 100644 index f0c0197a1847..000000000000 --- a/js/src/tests/ecma/Expressions/11.10-3.js +++ /dev/null @@ -1,232 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.10-3.js - ECMA Section: 11.10-3 Binary Bitwise Operators: ^ - Description: - Semantics - - The production A : A @ B, where @ is one of the bitwise operators in the - productions &, ^, | , is evaluated as follows: - - 1. Evaluate A. - 2. Call GetValue(Result(1)). - 3. Evaluate B. - 4. Call GetValue(Result(3)). - 5. Call ToInt32(Result(2)). - 6. Call ToInt32(Result(4)). - 7. Apply the bitwise operator @ to Result(5) and Result(6). The result is - a signed 32 bit integer. - 8. Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.10-3"; - -writeHeaderToLog( SECTION + " Binary Bitwise Operators: ^"); - -var shiftexp = 0; -var addexp = 0; - -for ( shiftpow = 0; shiftpow < 33; shiftpow++ ) { - shiftexp += Math.pow( 2, shiftpow ); - - for ( addpow = 0; addpow < 33; addpow++ ) { - addexp += Math.pow(2, addpow); - - new TestCase( - shiftexp + " ^ " + addexp, - Xor( shiftexp, addexp ), - shiftexp ^ addexp ); - } -} - -test(); - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - for ( l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - - } - - return r; -} -function And( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( bs.charAt(bit) == "1" && ba.charAt(bit) == "1" ) { - result += "1"; - } else { - result += "0"; - } - } - return ToInt32Decimal(result); -} -function Xor( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( (bs.charAt(bit) == "1" && ba.charAt(bit) == "0") || - (bs.charAt(bit) == "0" && ba.charAt(bit) == "1") - ) { - result += "1"; - } else { - result += "0"; - } - } - - return ToInt32Decimal(result); -} -function Or( s, a ) { - s = ToInt32( s ); - a = ToInt32( a ); - - var bs = ToInt32BitString( s ); - var ba = ToInt32BitString( a ); - - var result = ""; - - for ( var bit = 0; bit < bs.length; bit++ ) { - if ( bs.charAt(bit) == "1" || ba.charAt(bit) == "1" ) { - result += "1"; - } else { - result += "0"; - } - } - - return ToInt32Decimal(result); -} diff --git a/js/src/tests/ecma/Expressions/11.12-1.js b/js/src/tests/ecma/Expressions/11.12-1.js deleted file mode 100644 index e7cc50ee3e56..000000000000 --- a/js/src/tests/ecma/Expressions/11.12-1.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.12.js - ECMA Section: 11.12 Conditional Operator - Description: - Logi - - calORExpression ? AssignmentExpression : AssignmentExpression - - Semantics - - The production ConditionalExpression : - LogicalORExpression ? AssignmentExpression : AssignmentExpression - is evaluated as follows: - - 1. Evaluate LogicalORExpression. - 2. Call GetValue(Result(1)). - 3. Call ToBoolean(Result(2)). - 4. If Result(3) is false, go to step 8. - 5. Evaluate the first AssignmentExpression. - 6. Call GetValue(Result(5)). - 7. Return Result(6). - 8. Evaluate the second AssignmentExpression. - 9. Call GetValue(Result(8)). - 10. Return Result(9). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.12"; - -writeHeaderToLog( SECTION + " Conditional operator( ? : )"); - -new TestCase( "true ? 'PASSED' : 'FAILED'", - "PASSED", - (true?"PASSED":"FAILED")); - -new TestCase( "false ? 'FAILED' : 'PASSED'", - "PASSED", - (false?"FAILED":"PASSED")); - -new TestCase( "1 ? 'PASSED' : 'FAILED'", - "PASSED", - (true?"PASSED":"FAILED")); - -new TestCase( "0 ? 'FAILED' : 'PASSED'", - "PASSED", - (false?"FAILED":"PASSED")); - -new TestCase( "-1 ? 'PASSED' : 'FAILED'", - "PASSED", - (true?"PASSED":"FAILED")); - -new TestCase( "NaN ? 'FAILED' : 'PASSED'", - "PASSED", - (Number.NaN?"FAILED":"PASSED")); - -new TestCase( "var VAR = true ? , : 'FAILED'", - "PASSED", - (VAR = true ? "PASSED" : "FAILED") ); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.12-2-n.js b/js/src/tests/ecma/Expressions/11.12-2-n.js deleted file mode 100644 index 6d2d4a3e6349..000000000000 --- a/js/src/tests/ecma/Expressions/11.12-2-n.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.12-2-n.js - ECMA Section: 11.12 - Description: - - The grammar for a ConditionalExpression in ECMAScript is a little bit - different from that in C and Java, which each allow the second - subexpression to be an Expression but restrict the third expression to - be a ConditionalExpression. The motivation for this difference in - ECMAScript is to allow an assignment expression to be governed by either - arm of a conditional and to eliminate the confusing and fairly useless - case of a comma expression as the center expression. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.12-2-n"; -writeHeaderToLog( SECTION + " Conditional operator ( ? : )"); - -// the following expression should be an error in JS. - -DESCRIPTION = "var MYVAR = true ? 'EXPR1', 'EXPR2' : 'EXPR3'; MYVAR"; - -new TestCase( "var MYVAR = true ? 'EXPR1', 'EXPR2' : 'EXPR3'; MYVAR", - "error", - eval("var MYVAR = true ? 'EXPR1', 'EXPR2' : 'EXPR3'; MYVAR") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.12-3.js b/js/src/tests/ecma/Expressions/11.12-3.js deleted file mode 100644 index 7121354c4002..000000000000 --- a/js/src/tests/ecma/Expressions/11.12-3.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.12-3.js - ECMA Section: 11.12 - Description: - - The grammar for a ConditionalExpression in ECMAScript is a little bit - different from that in C and Java, which each allow the second - subexpression to be an Expression but restrict the third expression to - be a ConditionalExpression. The motivation for this difference in - ECMAScript is to allow an assignment expression to be governed by either - arm of a conditional and to eliminate the confusing and fairly useless - case of a comma expression as the center expression. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.12-3"; -writeHeaderToLog( SECTION + " Conditional operator ( ? : )"); - -// the following expression should NOT be an error in JS. - -new TestCase( "var MYVAR = true ? ('FAIL1', 'PASSED') : 'FAIL2'; MYVAR", - "PASSED", - eval("var MYVAR = true ? ('FAIL1', 'PASSED') : 'FAIL2'; MYVAR")); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.12-4.js b/js/src/tests/ecma/Expressions/11.12-4.js deleted file mode 100644 index c7ee28aac066..000000000000 --- a/js/src/tests/ecma/Expressions/11.12-4.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.12-4.js - ECMA Section: 11.12 - Description: - - The grammar for a ConditionalExpression in ECMAScript is a little bit - different from that in C and Java, which each allow the second - subexpression to be an Expression but restrict the third expression to - be a ConditionalExpression. The motivation for this difference in - ECMAScript is to allow an assignment expression to be governed by either - arm of a conditional and to eliminate the confusing and fairly useless - case of a comma expression as the center expression. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.12-4"; -writeHeaderToLog( SECTION + " Conditional operator ( ? : )"); - -// the following expression should NOT be an error in JS. - -new TestCase( "true ? MYVAR1 = 'PASSED' : MYVAR1 = 'FAILED'; MYVAR1", - "PASSED", - eval("true ? MYVAR1 = 'PASSED' : MYVAR1 = 'FAILED'; MYVAR1") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.13.1.js b/js/src/tests/ecma/Expressions/11.13.1.js deleted file mode 100644 index 6792e337fbc5..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.1.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.13.1.js - ECMA Section: 11.13.1 Simple assignment - Description: - - 11.13.1 Simple Assignment ( = ) - - The production AssignmentExpression : - LeftHandSideExpression = AssignmentExpression is evaluated as follows: - - 1. Evaluate LeftHandSideExpression. - 2. Evaluate AssignmentExpression. - 3. Call GetValue(Result(2)). - 4. Call PutValue(Result(1), Result(3)). - 5. Return Result(3). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.13.1"; - -writeHeaderToLog( SECTION + " Simple Assignment ( = )"); - -new TestCase( "SOMEVAR = true", - true, - SOMEVAR = true ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.13.2-1.js b/js/src/tests/ecma/Expressions/11.13.2-1.js deleted file mode 100644 index 1a2cb217100d..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.2-1.js +++ /dev/null @@ -1,165 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.13.2-1.js - ECMA Section: 11.13.2 Compound Assignment: *= - Description: - - *= /= %= += -= <<= >>= >>>= &= ^= |= - - 11.13.2 Compound assignment ( op= ) - - The production AssignmentExpression : - LeftHandSideExpression @ = AssignmentExpression, where @ represents one of - the operators indicated above, is evaluated as follows: - - 1. Evaluate LeftHandSideExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AssignmentExpression. - 4. Call GetValue(Result(3)). - 5. Apply operator @ to Result(2) and Result(4). - 6. Call PutValue(Result(1), Result(5)). - 7. Return Result(5). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.13.2-1"; - -writeHeaderToLog( SECTION + " Compound Assignment: *="); - - -// NaN cases - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 *= VAR2", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=1; VAR1 *= VAR2") ); - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 *= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=1; VAR1 *= VAR2; VAR1") ); - -// number cases -new TestCase( "VAR1 = 0; VAR2=1; VAR1 *= VAR2", - 0, - eval("VAR1 = 0; VAR2=1; VAR1 *= VAR2") ); - -new TestCase( "VAR1 = 0; VAR2=1; VAR1 *= VAR2;VAR1", - 0, - eval("VAR1 = 0; VAR2=1; VAR1 *= VAR2;VAR1") ); - -new TestCase( "VAR1 = 0xFF; VAR2 = 0xA, VAR1 *= VAR2", - 2550, - eval("VAR1 = 0XFF; VAR2 = 0XA, VAR1 *= VAR2") ); - -// special multiplication cases - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR1 *= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR1 *= VAR2", - Number.NaN, - eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR1 *= VAR2", - Number.NaN, - eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR1 *= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR2 *= VAR1", - Number.NaN, - eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR2 *= VAR1; VAR2") ); - -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR2 *= VAR1", - Number.NaN, - eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR2 *= VAR1; VAR2") ); - -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR2 *= VAR1", - Number.NaN, - eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR2 *= VAR1; VAR2") ); - -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR2 *= VAR1", - Number.NaN, - eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR2 *= VAR1; VAR2") ); - -new TestCase( "VAR1 = Infinity; VAR2= Infinity; VAR1 *= VAR2", - Number.POSITIVE_INFINITY, - eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = Infinity; VAR2= -Infinity; VAR1 *= VAR2", - Number.NEGATIVE_INFINITY, - eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 =-Infinity; VAR2= Infinity; VAR1 *= VAR2", - Number.NEGATIVE_INFINITY, - eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 =-Infinity; VAR2=-Infinity; VAR1 *= VAR2", - Number.POSITIVE_INFINITY, - eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 *= VAR2; VAR1") ); - -// string cases -new TestCase( "VAR1 = 10; VAR2 = '255', VAR1 *= VAR2", - 2550, - eval("VAR1 = 10; VAR2 = '255', VAR1 *= VAR2") ); - -new TestCase( "VAR1 = '255'; VAR2 = 10, VAR1 *= VAR2", - 2550, - eval("VAR1 = '255'; VAR2 = 10, VAR1 *= VAR2") ); - -new TestCase( "VAR1 = 10; VAR2 = '0XFF', VAR1 *= VAR2", - 2550, - eval("VAR1 = 10; VAR2 = '0XFF', VAR1 *= VAR2") ); - -new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 *= VAR2", - 2550, - eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 *= VAR2") ); - -new TestCase( "VAR1 = '10'; VAR2 = '255', VAR1 *= VAR2", - 2550, - eval("VAR1 = '10'; VAR2 = '255', VAR1 *= VAR2") ); - -new TestCase( "VAR1 = '10'; VAR2 = '0XFF', VAR1 *= VAR2", - 2550, - eval("VAR1 = '10'; VAR2 = '0XFF', VAR1 *= VAR2") ); - -new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 *= VAR2", - 2550, - eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 *= VAR2") ); - -// boolean cases -new TestCase( "VAR1 = true; VAR2 = false; VAR1 *= VAR2", - 0, - eval("VAR1 = true; VAR2 = false; VAR1 *= VAR2") ); - -new TestCase( "VAR1 = true; VAR2 = true; VAR1 *= VAR2", - 1, - eval("VAR1 = true; VAR2 = true; VAR1 *= VAR2") ); - -// object cases -new TestCase( "VAR1 = new Boolean(true); VAR2 = 10; VAR1 *= VAR2;VAR1", - 10, - eval("VAR1 = new Boolean(true); VAR2 = 10; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = new Number(11); VAR2 = 10; VAR1 *= VAR2; VAR1", - 110, - eval("VAR1 = new Number(11); VAR2 = 10; VAR1 *= VAR2; VAR1") ); - -new TestCase( "VAR1 = new Number(11); VAR2 = new Number(10); VAR1 *= VAR2", - 110, - eval("VAR1 = new Number(11); VAR2 = new Number(10); VAR1 *= VAR2") ); - -new TestCase( "VAR1 = new String('15'); VAR2 = new String('0xF'); VAR1 *= VAR2", - 225, - eval("VAR1 = String('15'); VAR2 = new String('0xF'); VAR1 *= VAR2") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.13.2-2.js b/js/src/tests/ecma/Expressions/11.13.2-2.js deleted file mode 100644 index 8594b2fcfb82..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.2-2.js +++ /dev/null @@ -1,186 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.13.2-2js - ECMA Section: 11.13.2 Compound Assignment: /= - Description: - - *= /= %= += -= <<= >>= >>>= &= ^= |= - - 11.13.2 Compound assignment ( op= ) - - The production AssignmentExpression : - LeftHandSideExpression @ = AssignmentExpression, where @ represents one of - the operators indicated above, is evaluated as follows: - - 1. Evaluate LeftHandSideExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AssignmentExpression. - 4. Call GetValue(Result(3)). - 5. Apply operator @ to Result(2) and Result(4). - 6. Call PutValue(Result(1), Result(5)). - 7. Return Result(5). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.13.2-2"; - -writeHeaderToLog( SECTION + " Compound Assignment: /="); - - -// NaN cases - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=1; VAR1 /= VAR2") ); - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 /= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=1; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=0; VAR1 /= VAR2") ); - -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 /= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2=Number.NaN; VAR1 /= VAR2") ); - -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 /= VAR2; VAR1", - Number.NaN, - eval("VAR1 = 0; VAR2=Number.NaN; VAR1 /= VAR2; VAR1") ); - -// number cases -new TestCase( "VAR1 = 0; VAR2=1; VAR1 /= VAR2", - 0, - eval("VAR1 = 0; VAR2=1; VAR1 /= VAR2") ); - -new TestCase( "VAR1 = 0; VAR2=1; VAR1 /= VAR2;VAR1", - 0, - eval("VAR1 = 0; VAR2=1; VAR1 /= VAR2;VAR1") ); - -new TestCase( "VAR1 = 0xFF; VAR2 = 0xA, VAR1 /= VAR2", - 25.5, - eval("VAR1 = 0XFF; VAR2 = 0XA, VAR1 /= VAR2") ); - -// special division cases - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR1 /= VAR2", - 0, - eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR1 /= VAR2", - 0, - eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR1 /= VAR2", - 0, - eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR1 /= VAR2", - 0, - eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR2 /= VAR1", - Number.POSITIVE_INFINITY, - eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR2 /= VAR1; VAR2") ); - -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR2 /= VAR1", - Number.NEGATIVE_INFINITY, - eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR2 /= VAR1; VAR2") ); - -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR2 /= VAR1", - Number.POSITIVE_INFINITY, - eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR2 /= VAR1; VAR2") ); - -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR2 /= VAR1", - Number.NEGATIVE_INFINITY, - eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR2 /= VAR1; VAR2") ); - -new TestCase( "VAR1 = Infinity; VAR2= Infinity; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = Infinity; VAR2= -Infinity; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 =-Infinity; VAR2= Infinity; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 =-Infinity; VAR2=-Infinity; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= 0; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2 = 0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= -0; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2 = -0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= 0; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = -0; VAR2 = 0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= -0; VAR1 /= VAR2", - Number.NaN, - eval("VAR1 = -0; VAR2 = -0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 1; VAR2= 0; VAR1 /= VAR2", - Number.POSITIVE_INFINITY, - eval("VAR1 = 1; VAR2 = 0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = 1; VAR2= -0; VAR1 /= VAR2", - Number.NEGATIVE_INFINITY, - eval("VAR1 = 1; VAR2 = -0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = -1; VAR2= 0; VAR1 /= VAR2", - Number.NEGATIVE_INFINITY, - eval("VAR1 = -1; VAR2 = 0; VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = -1; VAR2= -0; VAR1 /= VAR2", - Number.POSITIVE_INFINITY, - eval("VAR1 = -1; VAR2 = -0; VAR1 /= VAR2; VAR1") ); - -// string cases -new TestCase( "VAR1 = 1000; VAR2 = '10', VAR1 /= VAR2; VAR1", - 100, - eval("VAR1 = 1000; VAR2 = '10', VAR1 /= VAR2; VAR1") ); - -new TestCase( "VAR1 = '1000'; VAR2 = 10, VAR1 /= VAR2; VAR1", - 100, - eval("VAR1 = '1000'; VAR2 = 10, VAR1 /= VAR2; VAR1") ); -/* - new TestCase( "VAR1 = 10; VAR2 = '0XFF', VAR1 /= VAR2", 2550, eval("VAR1 = 10; VAR2 = '0XFF', VAR1 /= VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 /= VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 /= VAR2") ); - - new TestCase( "VAR1 = '10'; VAR2 = '255', VAR1 /= VAR2", 2550, eval("VAR1 = '10'; VAR2 = '255', VAR1 /= VAR2") ); - new TestCase( "VAR1 = '10'; VAR2 = '0XFF', VAR1 /= VAR2", 2550, eval("VAR1 = '10'; VAR2 = '0XFF', VAR1 /= VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 /= VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 /= VAR2") ); - - // boolean cases - new TestCase( "VAR1 = true; VAR2 = false; VAR1 /= VAR2", 0, eval("VAR1 = true; VAR2 = false; VAR1 /= VAR2") ); - new TestCase( "VAR1 = true; VAR2 = true; VAR1 /= VAR2", 1, eval("VAR1 = true; VAR2 = true; VAR1 /= VAR2") ); - - // object cases - new TestCase( "VAR1 = new Boolean(true); VAR2 = 10; VAR1 /= VAR2;VAR1", 10, eval("VAR1 = new Boolean(true); VAR2 = 10; VAR1 /= VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = 10; VAR1 /= VAR2; VAR1", 110, eval("VAR1 = new Number(11); VAR2 = 10; VAR1 /= VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = new Number(10); VAR1 /= VAR2", 110, eval("VAR1 = new Number(11); VAR2 = new Number(10); VAR1 /= VAR2") ); - new TestCase( "VAR1 = new String('15'); VAR2 = new String('0xF'); VAR1 /= VAR2", 255, eval("VAR1 = String('15'); VAR2 = new String('0xF'); VAR1 /= VAR2") ); - -*/ - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.13.2-3.js b/js/src/tests/ecma/Expressions/11.13.2-3.js deleted file mode 100644 index 4990c3fbad06..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.2-3.js +++ /dev/null @@ -1,224 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.13.2-4.js - ECMA Section: 11.13.2 Compound Assignment: %= - Description: - - *= /= %= += -= <<= >>= >>>= &= ^= |= - - 11.13.2 Compound assignment ( op= ) - - The production AssignmentExpression : - LeftHandSideExpression @ = AssignmentExpression, where @ represents one of - the operators indicated above, is evaluated as follows: - - 1. Evaluate LeftHandSideExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AssignmentExpression. - 4. Call GetValue(Result(3)). - 5. Apply operator @ to Result(2) and Result(4). - 6. Call PutValue(Result(1), Result(5)). - 7. Return Result(5). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.13.2-3"; - -writeHeaderToLog( SECTION + " Compound Assignment: +="); - -// If either operand is NaN, result is NaN - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=1; VAR1 %= VAR2") ); - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=1; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=0; VAR1 %= VAR2") ); - -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NaN; VAR2=0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2=Number.NaN; VAR1 %= VAR2") ); - -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = 0; VAR2=Number.NaN; VAR1 %= VAR2; VAR1") ); - -// if the dividend is infinity or the divisor is zero or both, the result is NaN - -new TestCase( "VAR1 = Infinity; VAR2= Infinity; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = Infinity; VAR2= -Infinity; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 =-Infinity; VAR2= Infinity; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 =-Infinity; VAR2=-Infinity; VAR1 %= VAR2; VAR1", - Number.NaN, - eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = 1; VAR2= Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = 1; VAR2 = Number.POSITIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = -1; VAR2= Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = -1; VAR2 = Number.POSITIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = -1; VAR2= -Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = -1; VAR2 = Number.NEGATIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = 1; VAR2= -Infinity; VAR2 %= VAR1", - Number.NaN, - eval("VAR1 = 1; VAR2 = Number.NEGATIVE_INFINITY; VAR2 %= VAR1; VAR2") ); - -new TestCase( "VAR1 = 0; VAR2= 0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2 = 0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= -0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = 0; VAR2 = -0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= 0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = -0; VAR2 = 0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= -0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = -0; VAR2 = -0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 1; VAR2= 0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = 1; VAR2 = 0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 1; VAR2= -0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = 1; VAR2 = -0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -1; VAR2= 0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = -1; VAR2 = 0; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -1; VAR2= -0; VAR1 %= VAR2", - Number.NaN, - eval("VAR1 = -1; VAR2 = -0; VAR1 %= VAR2; VAR1") ); - -// if the dividend is finite and the divisor is an infinity, the result equals the dividend. - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR1 %= VAR2;VAR1", - 0, - eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR1 %= VAR2;VAR1", - -0, - eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR1 %= VAR2;VAR1", - -0, - eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR1 %= VAR2;VAR1", - 0, - eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 1; VAR2= Infinity; VAR1 %= VAR2;VAR1", - 1, - eval("VAR1 = 1; VAR2 = Number.POSITIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -1; VAR2= Infinity; VAR1 %= VAR2;VAR1", - -1, - eval("VAR1 = -1; VAR2 = Number.POSITIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -1; VAR2= -Infinity; VAR1 %= VAR2;VAR1", - -1, - eval("VAR1 = -1; VAR2 = Number.NEGATIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 1; VAR2= -Infinity; VAR1 %= VAR2;VAR1", - 1, - eval("VAR1 = 1; VAR2 = Number.NEGATIVE_INFINITY; VAR1 %= VAR2; VAR1") ); - -// if the dividend is a zero and the divisor is finite, the result is the same as the dividend - -new TestCase( "VAR1 = 0; VAR2= 1; VAR1 %= VAR2; VAR1", - 0, - eval("VAR1 = 0; VAR2 = 1; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= 1; VAR1 %= VAR2; VAR1", - -0, - eval("VAR1 = -0; VAR2 = 1; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = -0; VAR2= -1; VAR1 %= VAR2; VAR1", - -0, - eval("VAR1 = -0; VAR2 = -1; VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = 0; VAR2= -1; VAR1 %= VAR2; VAR1", - 0, - eval("VAR1 = 0; VAR2 = -1; VAR1 %= VAR2; VAR1") ); - -// string cases -new TestCase( "VAR1 = 1000; VAR2 = '10', VAR1 %= VAR2; VAR1", - 0, - eval("VAR1 = 1000; VAR2 = '10', VAR1 %= VAR2; VAR1") ); - -new TestCase( "VAR1 = '1000'; VAR2 = 10, VAR1 %= VAR2; VAR1", - 0, - eval("VAR1 = '1000'; VAR2 = 10, VAR1 %= VAR2; VAR1") ); -/* - new TestCase( "VAR1 = 10; VAR2 = '0XFF', VAR1 %= VAR2", 2550, eval("VAR1 = 10; VAR2 = '0XFF', VAR1 %= VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 %= VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 %= VAR2") ); - - new TestCase( "VAR1 = '10'; VAR2 = '255', VAR1 %= VAR2", 2550, eval("VAR1 = '10'; VAR2 = '255', VAR1 %= VAR2") ); - new TestCase( "VAR1 = '10'; VAR2 = '0XFF', VAR1 %= VAR2", 2550, eval("VAR1 = '10'; VAR2 = '0XFF', VAR1 %= VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 %= VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 %= VAR2") ); - - // boolean cases - new TestCase( "VAR1 = true; VAR2 = false; VAR1 %= VAR2", 0, eval("VAR1 = true; VAR2 = false; VAR1 %= VAR2") ); - new TestCase( "VAR1 = true; VAR2 = true; VAR1 %= VAR2", 1, eval("VAR1 = true; VAR2 = true; VAR1 %= VAR2") ); - - // object cases - new TestCase( "VAR1 = new Boolean(true); VAR2 = 10; VAR1 %= VAR2;VAR1", 10, eval("VAR1 = new Boolean(true); VAR2 = 10; VAR1 %= VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = 10; VAR1 %= VAR2; VAR1", 110, eval("VAR1 = new Number(11); VAR2 = 10; VAR1 %= VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = new Number(10); VAR1 %= VAR2", 110, eval("VAR1 = new Number(11); VAR2 = new Number(10); VAR1 %= VAR2") ); - new TestCase( "VAR1 = new String('15'); VAR2 = new String('0xF'); VAR1 %= VAR2", 255, eval("VAR1 = String('15'); VAR2 = new String('0xF'); VAR1 %= VAR2") ); - -*/ - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.13.2-4.js b/js/src/tests/ecma/Expressions/11.13.2-4.js deleted file mode 100644 index f58bf6745062..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.2-4.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.13.2-4.js - ECMA Section: 11.13.2 Compound Assignment:+= - Description: - - *= /= %= += -= <<= >>= >>>= &= ^= |= - - 11.13.2 Compound assignment ( op= ) - - The production AssignmentExpression : - LeftHandSideExpression @ = AssignmentExpression, where @ represents one of - the operators indicated above, is evaluated as follows: - - 1. Evaluate LeftHandSideExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AssignmentExpression. - 4. Call GetValue(Result(3)). - 5. Apply operator @ to Result(2) and Result(4). - 6. Call PutValue(Result(1), Result(5)). - 7. Return Result(5). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.13.2-4"; - -writeHeaderToLog( SECTION + " Compound Assignment: +="); - -// If either operand is NaN, result is NaN - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 += VAR2", Number.NaN, eval("VAR1 = Number.NaN; VAR2=1; VAR1 += VAR2") ); -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 += VAR2; VAR1", Number.NaN, eval("VAR1 = Number.NaN; VAR2=1; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 += VAR2", Number.NaN, eval("VAR1 = Number.NaN; VAR2=0; VAR1 += VAR2") ); -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 += VAR2; VAR1", Number.NaN, eval("VAR1 = Number.NaN; VAR2=0; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 += VAR2", Number.NaN, eval("VAR1 = 0; VAR2=Number.NaN; VAR1 += VAR2") ); -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 += VAR2; VAR1", Number.NaN, eval("VAR1 = 0; VAR2=Number.NaN; VAR1 += VAR2; VAR1") ); - -// the sum of two Infinities the same sign is the infinity of that sign -// the sum of two Infinities of opposite sign is NaN - -new TestCase( "VAR1 = Infinity; VAR2= Infinity; VAR1 += VAR2; VAR1", Number.POSITIVE_INFINITY, eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = Infinity; VAR2= -Infinity; VAR1 += VAR2; VAR1", Number.NaN, eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 =-Infinity; VAR2= Infinity; VAR1 += VAR2; VAR1", Number.NaN, eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 =-Infinity; VAR2=-Infinity; VAR1 += VAR2; VAR1", Number.NEGATIVE_INFINITY, eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 += VAR2; VAR1") ); - -// the sum of an infinity and a finite value is equal to the infinite operand - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR1 += VAR2;VAR1", Number.POSITIVE_INFINITY, eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR1 += VAR2;VAR1", Number.POSITIVE_INFINITY, eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR1 += VAR2;VAR1", Number.NEGATIVE_INFINITY, eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR1 += VAR2;VAR1", Number.NEGATIVE_INFINITY, eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 += VAR2; VAR1") ); - -// the sum of two negative zeros is -0. the sum of two positive zeros, or of two zeros of opposite sign, is +0 - -new TestCase( "VAR1 = 0; VAR2= 0; VAR1 += VAR2", 0, eval("VAR1 = 0; VAR2 = 0; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2= -0; VAR1 += VAR2", 0, eval("VAR1 = 0; VAR2 = -0; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= 0; VAR1 += VAR2", 0, eval("VAR1 = -0; VAR2 = 0; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= -0; VAR1 += VAR2", -0, eval("VAR1 = -0; VAR2 = -0; VAR1 += VAR2; VAR1") ); - -// the sum of a zero and a nonzero finite value is eqal to the nonzero operand - -new TestCase( "VAR1 = 0; VAR2= 1; VAR2 += VAR1; VAR2", 1, eval("VAR1 = 0; VAR2 = 1; VAR2 += VAR1; VAR2") ); -new TestCase( "VAR1 = -0; VAR2= 1; VAR2 += VAR1; VAR2", 1, eval("VAR1 = -0; VAR2 = 1; VAR2 += VAR1; VAR2") ); -new TestCase( "VAR1 = -0; VAR2= -1; VAR2 += VAR1; VAR2", -1, eval("VAR1 = -0; VAR2 = -1; VAR2 += VAR1; VAR2") ); -new TestCase( "VAR1 = 0; VAR2= -1; VAR2 += VAR1; VAR2", -1, eval("VAR1 = 0; VAR2 = -1; VAR2 += VAR1; VAR2") ); - -// the sum of a zero and a nozero finite value is equal to the nonzero operand. -new TestCase( "VAR1 = 0; VAR2=1; VAR1 += VAR2", 1, eval("VAR1 = 0; VAR2=1; VAR1 += VAR2") ); -new TestCase( "VAR1 = 0; VAR2=1; VAR1 += VAR2;VAR1", 1, eval("VAR1 = 0; VAR2=1; VAR1 += VAR2;VAR1") ); - -// the sum of two nonzero finite values of the same magnitude and opposite sign is +0 -new TestCase( "VAR1 = Number.MAX_VALUE; VAR2= -Number.MAX_VALUE; VAR1 += VAR2; VAR1", 0, eval("VAR1 = Number.MAX_VALUE; VAR2= -Number.MAX_VALUE; VAR1 += VAR2; VAR1") ); -new TestCase( "VAR1 = Number.MIN_VALUE; VAR2= -Number.MIN_VALUE; VAR1 += VAR2; VAR1", 0, eval("VAR1 = Number.MIN_VALUE; VAR2= -Number.MIN_VALUE; VAR1 += VAR2; VAR1") ); - -/* - new TestCase( "VAR1 = 10; VAR2 = '0XFF', VAR1 += VAR2", 2550, eval("VAR1 = 10; VAR2 = '0XFF', VAR1 += VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 += VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 += VAR2") ); - - new TestCase( "VAR1 = '10'; VAR2 = '255', VAR1 += VAR2", 2550, eval("VAR1 = '10'; VAR2 = '255', VAR1 += VAR2") ); - new TestCase( "VAR1 = '10'; VAR2 = '0XFF', VAR1 += VAR2", 2550, eval("VAR1 = '10'; VAR2 = '0XFF', VAR1 += VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 += VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 += VAR2") ); - - // boolean cases - new TestCase( "VAR1 = true; VAR2 = false; VAR1 += VAR2", 0, eval("VAR1 = true; VAR2 = false; VAR1 += VAR2") ); - new TestCase( "VAR1 = true; VAR2 = true; VAR1 += VAR2", 1, eval("VAR1 = true; VAR2 = true; VAR1 += VAR2") ); - - // object cases - new TestCase( "VAR1 = new Boolean(true); VAR2 = 10; VAR1 += VAR2;VAR1", 10, eval("VAR1 = new Boolean(true); VAR2 = 10; VAR1 += VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = 10; VAR1 += VAR2; VAR1", 110, eval("VAR1 = new Number(11); VAR2 = 10; VAR1 += VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = new Number(10); VAR1 += VAR2", 110, eval("VAR1 = new Number(11); VAR2 = new Number(10); VAR1 += VAR2") ); - new TestCase( "VAR1 = new String('15'); VAR2 = new String('0xF'); VAR1 += VAR2", 255, eval("VAR1 = String('15'); VAR2 = new String('0xF'); VAR1 += VAR2") ); - -*/ - -test(); diff --git a/js/src/tests/ecma/Expressions/11.13.2-5.js b/js/src/tests/ecma/Expressions/11.13.2-5.js deleted file mode 100644 index 6bafdc655502..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.2-5.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.13.2-5.js - ECMA Section: 11.13.2 Compound Assignment: -= - Description: - - *= /= %= -= -= <<= >>= >>>= &= ^= |= - - 11.13.2 Compound assignment ( op= ) - - The production AssignmentExpression : - LeftHandSideExpression @ = AssignmentExpression, where @ represents one of - the operators indicated above, is evaluated as follows: - - 1. Evaluate LeftHandSideExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AssignmentExpression. - 4. Call GetValue(Result(3)). - 5. Apply operator @ to Result(2) and Result(4). - 6. Call PutValue(Result(1), Result(5)). - 7. Return Result(5). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.13.2-5"; - -writeHeaderToLog( SECTION + " Compound Assignment: -="); - -// If either operand is NaN, result is NaN - -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 -= VAR2", Number.NaN, eval("VAR1 = Number.NaN; VAR2=1; VAR1 -= VAR2") ); -new TestCase( "VAR1 = NaN; VAR2=1; VAR1 -= VAR2; VAR1", Number.NaN, eval("VAR1 = Number.NaN; VAR2=1; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 -= VAR2", Number.NaN, eval("VAR1 = Number.NaN; VAR2=0; VAR1 -= VAR2") ); -new TestCase( "VAR1 = NaN; VAR2=0; VAR1 -= VAR2; VAR1", Number.NaN, eval("VAR1 = Number.NaN; VAR2=0; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 -= VAR2", Number.NaN, eval("VAR1 = 0; VAR2=Number.NaN; VAR1 -= VAR2") ); -new TestCase( "VAR1 = 0; VAR2=NaN; VAR1 -= VAR2; VAR1", Number.NaN, eval("VAR1 = 0; VAR2=Number.NaN; VAR1 -= VAR2; VAR1") ); - -// the sum of two Infinities the same sign is the infinity of that sign -// the sum of two Infinities of opposite sign is NaN - -new TestCase( "VAR1 = Infinity; VAR2= Infinity; VAR1 -= VAR2; VAR1", Number.NaN, eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = Infinity; VAR2= -Infinity; VAR1 -= VAR2; VAR1", Number.POSITIVE_INFINITY, eval("VAR1 = Number.POSITIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 =-Infinity; VAR2= Infinity; VAR1 -= VAR2; VAR1", Number.NEGATIVE_INFINITY, eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.POSITIVE_INFINITY; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 =-Infinity; VAR2=-Infinity; VAR1 -= VAR2; VAR1", Number.NaN, eval("VAR1 = Number.NEGATIVE_INFINITY; VAR2 = Number.NEGATIVE_INFINITY; VAR1 -= VAR2; VAR1") ); - -// the sum of an infinity and a finite value is equal to the infinite operand - -new TestCase( "VAR1 = 0; VAR2= Infinity; VAR1 -= VAR2;VAR1", Number.NEGATIVE_INFINITY, eval("VAR1 = 0; VAR2 = Number.POSITIVE_INFINITY; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= Infinity; VAR1 -= VAR2;VAR1", Number.NEGATIVE_INFINITY, eval("VAR1 = -0; VAR2 = Number.POSITIVE_INFINITY; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2= -Infinity; VAR1 -= VAR2;VAR1", Number.POSITIVE_INFINITY, eval("VAR1 = 0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= -Infinity; VAR1 -= VAR2;VAR1", Number.POSITIVE_INFINITY, eval("VAR1 = -0; VAR2 = Number.NEGATIVE_INFINITY; VAR1 -= VAR2; VAR1") ); - -// the sum of two negative zeros is -0. the sum of two positive zeros, or of two zeros of opposite sign, is +0 - -new TestCase( "VAR1 = 0; VAR2= -0; VAR1 -= VAR2", 0, eval("VAR1 = 0; VAR2 = 0; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2= 0; VAR1 -= VAR2", 0, eval("VAR1 = 0; VAR2 = -0; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= -0; VAR1 -= VAR2", 0, eval("VAR1 = -0; VAR2 = 0; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= 0; VAR1 -= VAR2", -0, eval("VAR1 = -0; VAR2 = -0; VAR1 -= VAR2; VAR1") ); - -// the sum of a zero and a nonzero finite value is eqal to the nonzero operand - -new TestCase( "VAR1 = 0; VAR2= -1; VAR1 -= VAR2; VAR1", 1, eval("VAR1 = 0; VAR2 = -1; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= -1; VAR1 -= VAR2; VAR1", 1, eval("VAR1 = -0; VAR2 = -1; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = -0; VAR2= 1; VAR1 -= VAR2; VAR1", -1, eval("VAR1 = -0; VAR2 = 1; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = 0; VAR2= 1; VAR1 -= VAR2; VAR1", -1, eval("VAR1 = 0; VAR2 = 1; VAR1 -= VAR2; VAR1") ); - -// the sum of a zero and a nozero finite value is equal to the nonzero operand. -new TestCase( "VAR1 = 0; VAR2=-1; VAR1 -= VAR2", 1, eval("VAR1 = 0; VAR2=-1; VAR1 -= VAR2;VAR1") ); -new TestCase( "VAR1 = 0; VAR2=-1; VAR1 -= VAR2;VAR1", 1, eval("VAR1 = 0; VAR2=-1; VAR1 -= VAR2;VAR1") ); - -// the sum of two nonzero finite values of the same magnitude and opposite sign is +0 -new TestCase( "VAR1 = Number.MAX_VALUE; VAR2= Number.MAX_VALUE; VAR1 -= VAR2; VAR1", 0, eval("VAR1 = Number.MAX_VALUE; VAR2= Number.MAX_VALUE; VAR1 -= VAR2; VAR1") ); -new TestCase( "VAR1 = Number.MIN_VALUE; VAR2= Number.MIN_VALUE; VAR1 -= VAR2; VAR1", 0, eval("VAR1 = Number.MIN_VALUE; VAR2= Number.MIN_VALUE; VAR1 -= VAR2; VAR1") ); - -/* - new TestCase( "VAR1 = 10; VAR2 = '0XFF', VAR1 -= VAR2", 2550, eval("VAR1 = 10; VAR2 = '0XFF', VAR1 -= VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 -= VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 -= VAR2") ); - - new TestCase( "VAR1 = '10'; VAR2 = '255', VAR1 -= VAR2", 2550, eval("VAR1 = '10'; VAR2 = '255', VAR1 -= VAR2") ); - new TestCase( "VAR1 = '10'; VAR2 = '0XFF', VAR1 -= VAR2", 2550, eval("VAR1 = '10'; VAR2 = '0XFF', VAR1 -= VAR2") ); - new TestCase( "VAR1 = '0xFF'; VAR2 = 0xA, VAR1 -= VAR2", 2550, eval("VAR1 = '0XFF'; VAR2 = 0XA, VAR1 -= VAR2") ); - - // boolean cases - new TestCase( "VAR1 = true; VAR2 = false; VAR1 -= VAR2", 0, eval("VAR1 = true; VAR2 = false; VAR1 -= VAR2") ); - new TestCase( "VAR1 = true; VAR2 = true; VAR1 -= VAR2", 1, eval("VAR1 = true; VAR2 = true; VAR1 -= VAR2") ); - - // object cases - new TestCase( "VAR1 = new Boolean(true); VAR2 = 10; VAR1 -= VAR2;VAR1", 10, eval("VAR1 = new Boolean(true); VAR2 = 10; VAR1 -= VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = 10; VAR1 -= VAR2; VAR1", 110, eval("VAR1 = new Number(11); VAR2 = 10; VAR1 -= VAR2; VAR1") ); - new TestCase( "VAR1 = new Number(11); VAR2 = new Number(10); VAR1 -= VAR2", 110, eval("VAR1 = new Number(11); VAR2 = new Number(10); VAR1 -= VAR2") ); - new TestCase( "VAR1 = new String('15'); VAR2 = new String('0xF'); VAR1 -= VAR2", 255, eval("VAR1 = String('15'); VAR2 = new String('0xF'); VAR1 -= VAR2") ); - -*/ - -test(); diff --git a/js/src/tests/ecma/Expressions/11.13.js b/js/src/tests/ecma/Expressions/11.13.js deleted file mode 100644 index c71fcd3691c8..000000000000 --- a/js/src/tests/ecma/Expressions/11.13.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.12.js - ECMA Section: 11.12 Conditional Operator - Description: - Logi - - calORExpression ? AssignmentExpression : AssignmentExpression - - Semantics - - The production ConditionalExpression : - LogicalORExpression ? AssignmentExpression : AssignmentExpression - is evaluated as follows: - - 1. Evaluate LogicalORExpression. - 2. Call GetValue(Result(1)). - 3. Call ToBoolean(Result(2)). - 4. If Result(3) is false, go to step 8. - 5. Evaluate the first AssignmentExpression. - 6. Call GetValue(Result(5)). - 7. Return Result(6). - 8. Evaluate the second AssignmentExpression. - 9. Call GetValue(Result(8)). - 10. Return Result(9). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.12"; - -writeHeaderToLog( SECTION + " Conditional operator( ? : )"); - -new TestCase( "true ? 'PASSED' : 'FAILED'", "PASSED", (true?"PASSED":"FAILED")); -new TestCase( "false ? 'FAILED' : 'PASSED'", "PASSED", (false?"FAILED":"PASSED")); - -new TestCase( "1 ? 'PASSED' : 'FAILED'", "PASSED", (true?"PASSED":"FAILED")); -new TestCase( "0 ? 'FAILED' : 'PASSED'", "PASSED", (false?"FAILED":"PASSED")); -new TestCase( "-1 ? 'PASSED' : 'FAILED'", "PASSED", (true?"PASSED":"FAILED")); - -new TestCase( "NaN ? 'FAILED' : 'PASSED'", "PASSED", (Number.NaN?"FAILED":"PASSED")); - -new TestCase( "var VAR = true ? , : 'FAILED'", "PASSED", (VAR = true ? "PASSED" : "FAILED") ); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.14-1.js b/js/src/tests/ecma/Expressions/11.14-1.js deleted file mode 100644 index 927a98c4d3b4..000000000000 --- a/js/src/tests/ecma/Expressions/11.14-1.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.14-1.js - ECMA Section: 11.14 Comma operator (,) - Description: - Expression : - - AssignmentExpression - Expression , AssignmentExpression - - Semantics - - The production Expression : Expression , AssignmentExpression is evaluated as follows: - - 1. Evaluate Expression. - 2. Call GetValue(Result(1)). - 3. Evaluate AssignmentExpression. - 4. Call GetValue(Result(3)). - 5. Return Result(4). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.14-1"; - -writeHeaderToLog( SECTION + " Comma operator (,)"); - -new TestCase( "true, false", false, eval("true, false") ); -new TestCase( "VAR1=true, VAR2=false", false, eval("VAR1=true, VAR2=false") ); -new TestCase( "VAR1=true, VAR2=false;VAR1", true, eval("VAR1=true, VAR2=false; VAR1") ); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.2.1-1.js b/js/src/tests/ecma/Expressions/11.2.1-1.js deleted file mode 100644 index 224878873bbb..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.1-1.js +++ /dev/null @@ -1,234 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.1-1.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Properties are accessed by name, using either the dot notation: - MemberExpression . Identifier - CallExpression . Identifier - - or the bracket notation: MemberExpression [ Expression ] - CallExpression [ Expression ] - - The dot notation is explained by the following syntactic conversion: - MemberExpression . Identifier - is identical in its behavior to - MemberExpression [ ] - and similarly - CallExpression . Identifier - is identical in its behavior to - CallExpression [ ] - where is a string literal containing the same sequence - of characters as the Identifier. - - The production MemberExpression : MemberExpression [ Expression ] is - evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Expression. - 4. Call GetValue(Result(3)). - 5. Call ToObject(Result(2)). - 6. Call ToString(Result(4)). - 7. Return a value of type Reference whose base object is Result(5) and - whose property name is Result(6). - - The production CallExpression : CallExpression [ Expression ] is evaluated - in exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.2.1-1"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - -// go through all Native Function objects, methods, and properties and get their typeof. - -var PROPERTY = new Array(); -var p = 0; - -// properties and functions of the global object - -PROPERTY[p++] = new Property( "this", "NaN", "number" ); -PROPERTY[p++] = new Property( "this", "Infinity", "number" ); -PROPERTY[p++] = new Property( "this", "eval", "function" ); -PROPERTY[p++] = new Property( "this", "parseInt", "function" ); -PROPERTY[p++] = new Property( "this", "parseFloat", "function" ); -PROPERTY[p++] = new Property( "this", "escape", "function" ); -PROPERTY[p++] = new Property( "this", "unescape", "function" ); -PROPERTY[p++] = new Property( "this", "isNaN", "function" ); -PROPERTY[p++] = new Property( "this", "isFinite", "function" ); -PROPERTY[p++] = new Property( "this", "Object", "function" ); -PROPERTY[p++] = new Property( "this", "Number", "function" ); -PROPERTY[p++] = new Property( "this", "Function", "function" ); -PROPERTY[p++] = new Property( "this", "Array", "function" ); -PROPERTY[p++] = new Property( "this", "String", "function" ); -PROPERTY[p++] = new Property( "this", "Boolean", "function" ); -PROPERTY[p++] = new Property( "this", "Date", "function" ); -PROPERTY[p++] = new Property( "this", "Math", "object" ); - -// properties and methods of Object objects - -PROPERTY[p++] = new Property( "Object", "prototype", "object" ); -PROPERTY[p++] = new Property( "Object", "toString", "function" ); -PROPERTY[p++] = new Property( "Object", "valueOf", "function" ); -PROPERTY[p++] = new Property( "Object", "constructor", "function" ); - -// properties of the Function object - -PROPERTY[p++] = new Property( "Function", "prototype", "function" ); -PROPERTY[p++] = new Property( "Function.prototype", "toString", "function" ); -PROPERTY[p++] = new Property( "Function.prototype", "length", "number" ); -PROPERTY[p++] = new Property( "Function.prototype", "valueOf", "function" ); - -Function.prototype.myProperty = "hi"; - -PROPERTY[p++] = new Property( "Function.prototype", "myProperty", "string" ); - -// properties of the Array object -PROPERTY[p++] = new Property( "Array", "prototype", "object" ); -PROPERTY[p++] = new Property( "Array", "length", "number" ); -PROPERTY[p++] = new Property( "Array.prototype", "constructor", "function" ); -PROPERTY[p++] = new Property( "Array.prototype", "toString", "function" ); -PROPERTY[p++] = new Property( "Array.prototype", "join", "function" ); -PROPERTY[p++] = new Property( "Array.prototype", "reverse", "function" ); -PROPERTY[p++] = new Property( "Array.prototype", "sort", "function" ); - -// properties of the String object -PROPERTY[p++] = new Property( "String", "prototype", "object" ); -PROPERTY[p++] = new Property( "String", "fromCharCode", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "toString", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "constructor", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "valueOf", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "charAt", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "charCodeAt", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "indexOf", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "lastIndexOf", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "split", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "substring", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "toLowerCase", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "toUpperCase", "function" ); -PROPERTY[p++] = new Property( "String.prototype", "length", "number" ); - -// properties of the Boolean object -PROPERTY[p++] = new Property( "Boolean", "prototype", "object" ); -PROPERTY[p++] = new Property( "Boolean", "constructor", "function" ); -PROPERTY[p++] = new Property( "Boolean.prototype", "valueOf", "function" ); -PROPERTY[p++] = new Property( "Boolean.prototype", "toString", "function" ); - -// properties of the Number object - -PROPERTY[p++] = new Property( "Number", "MAX_VALUE", "number" ); -PROPERTY[p++] = new Property( "Number", "MIN_VALUE", "number" ); -PROPERTY[p++] = new Property( "Number", "NaN", "number" ); -PROPERTY[p++] = new Property( "Number", "NEGATIVE_INFINITY", "number" ); -PROPERTY[p++] = new Property( "Number", "POSITIVE_INFINITY", "number" ); -PROPERTY[p++] = new Property( "Number.prototype", "toString", "function" ); -PROPERTY[p++] = new Property( "Number.prototype", "constructor", "function" ); -PROPERTY[p++] = new Property( "Number.prototype", "valueOf", "function" ); - -// properties of the Math Object. -PROPERTY[p++] = new Property( "Math", "E", "number" ); -PROPERTY[p++] = new Property( "Math", "LN10", "number" ); -PROPERTY[p++] = new Property( "Math", "LN2", "number" ); -PROPERTY[p++] = new Property( "Math", "LOG2E", "number" ); -PROPERTY[p++] = new Property( "Math", "LOG10E", "number" ); -PROPERTY[p++] = new Property( "Math", "PI", "number" ); -PROPERTY[p++] = new Property( "Math", "SQRT1_2", "number" ); -PROPERTY[p++] = new Property( "Math", "SQRT2", "number" ); -PROPERTY[p++] = new Property( "Math", "abs", "function" ); -PROPERTY[p++] = new Property( "Math", "acos", "function" ); -PROPERTY[p++] = new Property( "Math", "asin", "function" ); -PROPERTY[p++] = new Property( "Math", "atan", "function" ); -PROPERTY[p++] = new Property( "Math", "atan2", "function" ); -PROPERTY[p++] = new Property( "Math", "ceil", "function" ); -PROPERTY[p++] = new Property( "Math", "cos", "function" ); -PROPERTY[p++] = new Property( "Math", "exp", "function" ); -PROPERTY[p++] = new Property( "Math", "floor", "function" ); -PROPERTY[p++] = new Property( "Math", "log", "function" ); -PROPERTY[p++] = new Property( "Math", "max", "function" ); -PROPERTY[p++] = new Property( "Math", "min", "function" ); -PROPERTY[p++] = new Property( "Math", "pow", "function" ); -PROPERTY[p++] = new Property( "Math", "random", "function" ); -PROPERTY[p++] = new Property( "Math", "round", "function" ); -PROPERTY[p++] = new Property( "Math", "sin", "function" ); -PROPERTY[p++] = new Property( "Math", "sqrt", "function" ); -PROPERTY[p++] = new Property( "Math", "tan", "function" ); - -// properties of the Date object -PROPERTY[p++] = new Property( "Date", "parse", "function" ); -PROPERTY[p++] = new Property( "Date", "prototype", "object" ); -PROPERTY[p++] = new Property( "Date", "UTC", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "constructor", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "toString", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "valueOf", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getTime", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getYear", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getFullYear", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCFullYear", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getMonth", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCMonth", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getDate", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCDate", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getDay", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCDay", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getHours", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCHours", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getMinutes", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCMinutes", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getSeconds", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCSeconds", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getMilliseconds","function" ); -PROPERTY[p++] = new Property( "Date.prototype", "getUTCMilliseconds", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setTime", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setMilliseconds","function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCMilliseconds", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setSeconds", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCSeconds", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setMinutes", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCMinutes", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setHours", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCHours", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setDate", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCDate", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setMonth", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCMonth", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setFullYear", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setUTCFullYear", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "setYear", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "toLocaleString", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "toUTCString", "function" ); -PROPERTY[p++] = new Property( "Date.prototype", "toGMTString", "function" ); - -for ( var i = 0, RESULT; i < PROPERTY.length; i++ ) { - RESULT = eval("typeof " + PROPERTY[i].object + "." + PROPERTY[i].name ); - - new TestCase( "typeof " + PROPERTY[i].object + "." + PROPERTY[i].name, - PROPERTY[i].type, - RESULT ); - - RESULT = eval("typeof " + PROPERTY[i].object + "['" + PROPERTY[i].name +"']"); - - new TestCase( "typeof " + PROPERTY[i].object + "['" + PROPERTY[i].name +"']", - PROPERTY[i].type, - RESULT ); -} - -test(); - -function MyObject( arg0, arg1, arg2, arg3, arg4 ) { - this.name = arg0; -} -function Property( object, name, type ) { - this.object = object; - this.name = name; - this.type = type; -} diff --git a/js/src/tests/ecma/Expressions/11.2.1-2.js b/js/src/tests/ecma/Expressions/11.2.1-2.js deleted file mode 100644 index 5084693b757c..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.1-2.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.1-2.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Properties are accessed by name, using either the dot notation: - MemberExpression . Identifier - CallExpression . Identifier - - or the bracket notation: MemberExpression [ Expression ] - CallExpression [ Expression ] - - The dot notation is explained by the following syntactic conversion: - MemberExpression . Identifier - is identical in its behavior to - MemberExpression [ ] - and similarly - CallExpression . Identifier - is identical in its behavior to - CallExpression [ ] - where is a string literal containing the same sequence - of characters as the Identifier. - - The production MemberExpression : MemberExpression [ Expression ] is - evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Expression. - 4. Call GetValue(Result(3)). - 5. Call ToObject(Result(2)). - 6. Call ToString(Result(4)). - 7. Return a value of type Reference whose base object is Result(5) and - whose property name is Result(6). - - The production CallExpression : CallExpression [ Expression ] is evaluated - in exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.2.1-2"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - -// go through all Native Function objects, methods, and properties and get their typeof. - -var PROPERTY = new Array(); -var p = 0; - -// try to access properties of primitive types - -PROPERTY[p++] = new Property( "\"hi\"", "hi", "hi", NaN ); -PROPERTY[p++] = new Property( NaN, NaN, "NaN", NaN ); -// PROPERTY[p++] = new Property( 3, 3, "3", 3 ); -PROPERTY[p++] = new Property( true, true, "true", 1 ); -PROPERTY[p++] = new Property( false, false, "false", 0 ); - -for ( var i = 0, RESULT; i < PROPERTY.length; i++ ) { - new TestCase( PROPERTY[i].object + ".valueOf()", - PROPERTY[i].value, - eval( PROPERTY[i].object+ ".valueOf()" ) ); - - new TestCase( PROPERTY[i].object + ".toString()", - PROPERTY[i].string, - eval( PROPERTY[i].object+ ".toString()" ) ); - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.stringValue = value +""; - this.numberValue = Number(value); - return this; -} -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.2.1-3-n.js b/js/src/tests/ecma/Expressions/11.2.1-3-n.js deleted file mode 100644 index c215866a2de2..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.1-3-n.js +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.1-2.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Properties are accessed by name, using either the dot notation: - MemberExpression . Identifier - CallExpression . Identifier - - or the bracket notation: MemberExpression [ Expression ] - CallExpression [ Expression ] - - The dot notation is explained by the following syntactic conversion: - MemberExpression . Identifier - is identical in its behavior to - MemberExpression [ ] - and similarly - CallExpression . Identifier - is identical in its behavior to - CallExpression [ ] - where is a string literal containing the same sequence - of characters as the Identifier. - - The production MemberExpression : MemberExpression [ Expression ] is - evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Expression. - 4. Call GetValue(Result(3)). - 5. Call ToObject(Result(2)). - 6. Call ToString(Result(4)). - 7. Return a value of type Reference whose base object is Result(5) and - whose property name is Result(6). - - The production CallExpression : CallExpression [ Expression ] is evaluated - in exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.2.1-2"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - -// go through all Native Function objects, methods, and properties and get their typeof. - -var PROPERTY = new Array(); -var p = 0; - -// try to access properties of primitive types - -PROPERTY[p++] = new Property( "undefined", void 0, "undefined", NaN ); - -for ( var i = 0, RESULT; i < PROPERTY.length; i++ ) { - - DESCRIPTION = PROPERTY[i].object + ".valueOf()"; - - new TestCase( - PROPERTY[i].object + ".valueOf()", - PROPERTY[i].value, - eval( PROPERTY[i].object+ ".valueOf()" ) ); - - new TestCase( - PROPERTY[i].object + ".toString()", - PROPERTY[i].string, - eval(PROPERTY[i].object+ ".toString()") ); -} -test(); - - -function MyObject( value ) { - this.value = value; - this.stringValue = value +""; - this.numberValue = Number(value); - return this; -} - -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.2.1-4-n.js b/js/src/tests/ecma/Expressions/11.2.1-4-n.js deleted file mode 100644 index b44bb1b07501..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.1-4-n.js +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.1-4-n.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Properties are accessed by name, using either the dot notation: - MemberExpression . Identifier - CallExpression . Identifier - - or the bracket notation: MemberExpression [ Expression ] - CallExpression [ Expression ] - - The dot notation is explained by the following syntactic conversion: - MemberExpression . Identifier - is identical in its behavior to - MemberExpression [ ] - and similarly - CallExpression . Identifier - is identical in its behavior to - CallExpression [ ] - where is a string literal containing the same sequence - of characters as the Identifier. - - The production MemberExpression : MemberExpression [ Expression ] is - evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Expression. - 4. Call GetValue(Result(3)). - 5. Call ToObject(Result(2)). - 6. Call ToString(Result(4)). - 7. Return a value of type Reference whose base object is Result(5) and - whose property name is Result(6). - - The production CallExpression : CallExpression [ Expression ] is evaluated - in exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.2.1-4-n"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - -// go through all Native Function objects, methods, and properties and get their typeof. - -var PROPERTY = new Array(); -var p = 0; - -// try to access properties of primitive types - -PROPERTY[p++] = new Property( "null", null, "null", 0 ); - -for ( var i = 0, RESULT; i < PROPERTY.length; i++ ) { - - DESCRIPTION = PROPERTY[i].object + ".valueOf()"; - - new TestCase( PROPERTY[i].object + ".valueOf()", - PROPERTY[i].value, - eval( PROPERTY[i].object+ ".valueOf()" ) ); - - new TestCase( PROPERTY[i].object + ".toString()", - PROPERTY[i].string, - eval(PROPERTY[i].object+ ".toString()") ); - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.stringValue = value +""; - this.numberValue = Number(value); - return this; -} -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.2.1-5.js b/js/src/tests/ecma/Expressions/11.2.1-5.js deleted file mode 100644 index 49a5a77df42d..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.1-5.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.1-5.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Properties are accessed by name, using either the dot notation: - MemberExpression . Identifier - CallExpression . Identifier - - or the bracket notation: MemberExpression [ Expression ] - CallExpression [ Expression ] - - The dot notation is explained by the following syntactic conversion: - MemberExpression . Identifier - is identical in its behavior to - MemberExpression [ ] - and similarly - CallExpression . Identifier - is identical in its behavior to - CallExpression [ ] - where is a string literal containing the same sequence - of characters as the Identifier. - - The production MemberExpression : MemberExpression [ Expression ] is - evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Expression. - 4. Call GetValue(Result(3)). - 5. Call ToObject(Result(2)). - 6. Call ToString(Result(4)). - 7. Return a value of type Reference whose base object is Result(5) and - whose property name is Result(6). - - The production CallExpression : CallExpression [ Expression ] is evaluated - in exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.2.1-5"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - -// go through all Native Function objects, methods, and properties and get their typeof. - -var PROPERTY = new Array(); -var p = 0; - -// try to access properties of primitive types - -PROPERTY[p++] = new Property( new String("hi"), "hi", "hi", NaN ); -PROPERTY[p++] = new Property( new Number(NaN), NaN, "NaN", NaN ); -PROPERTY[p++] = new Property( new Number(3), 3, "3", 3 ); -PROPERTY[p++] = new Property( new Boolean(true), true, "true", 1 ); -PROPERTY[p++] = new Property( new Boolean(false), false, "false", 0 ); - -for ( var i = 0, RESULT; i < PROPERTY.length; i++ ) { - new TestCase( PROPERTY[i].object + ".valueOf()", - PROPERTY[i].value, - eval( "PROPERTY[i].object.valueOf()" ) ); - - new TestCase( PROPERTY[i].object + ".toString()", - PROPERTY[i].string, - eval( "PROPERTY[i].object.toString()" ) ); - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.stringValue = value +""; - this.numberValue = Number(value); - return this; -} -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-1-n.js b/js/src/tests/ecma/Expressions/11.2.2-1-n.js deleted file mode 100644 index 60b7ef8307d7..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-1-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-1.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-1-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var OBJECT = new Object(); - -DESCRIPTION = "OBJECT = new Object; var o = new OBJECT()"; - -new TestCase( - "OBJECT = new Object; var o = new OBJECT()", - "error", - eval("o = new OBJECT()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-1.js b/js/src/tests/ecma/Expressions/11.2.2-1.js deleted file mode 100644 index d507335fe8f7..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-1.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-1.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-1"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new TestFunction(0,1,2,3,4,5)).length", - 6, - (new TestFunction(0,1,2,3,4,5)).length ); - -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-10-n.js b/js/src/tests/ecma/Expressions/11.2.2-10-n.js deleted file mode 100644 index ec81f0e32854..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-10-n.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-9-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-9-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var m = new Math()"; - -new TestCase( "var m = new Math()", - "error", - eval("m = new Math()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-11.js b/js/src/tests/ecma/Expressions/11.2.2-11.js deleted file mode 100644 index f0155650af3e..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-11.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-9-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-9-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var FUNCTION = new Function(); - -new TestCase( "var FUNCTION = new Function(); f = new FUNCTION(); typeof f", - "object", - eval("var FUNCTION = new Function(); f = new FUNCTION(); typeof f") ); - -new TestCase( "var FUNCTION = new Function('return this'); f = new FUNCTION(); typeof f", - "object", - eval("var FUNCTION = new Function('return this'); f = new FUNCTION(); typeof f") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.2.2-2-n.js b/js/src/tests/ecma/Expressions/11.2.2-2-n.js deleted file mode 100644 index 7d0977c8df53..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-2-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-2.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-2-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var UNDEFINED = void 0; - -DESCRIPTION = "UNDEFINED = void 0; var o = new UNDEFINED()"; - -new TestCase( - "UNDEFINED = void 0; var o = new UNDEFINED()", - "error", - eval("o = new UNDEFINED()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-3-n.js b/js/src/tests/ecma/Expressions/11.2.2-3-n.js deleted file mode 100644 index ade2fdc43b40..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-3-n.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-3-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-3-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var DESCRIPTION = "NULL = null; var o = new NULL()"; -var NULL = null; - -new TestCase( - "NULL = null; var o = new NULL()", - "error", - eval("o = new NULL()") ); -test(); - diff --git a/js/src/tests/ecma/Expressions/11.2.2-4-n.js b/js/src/tests/ecma/Expressions/11.2.2-4-n.js deleted file mode 100644 index 5995fa2a100e..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-4-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-4-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-4-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var STRING = ""; - -DESCRIPTION = "STRING = '', var s = new STRING()"; - -new TestCase( - "STRING = '', var s = new STRING()", - "error", - eval("s = new STRING()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-5-n.js b/js/src/tests/ecma/Expressions/11.2.2-5-n.js deleted file mode 100644 index bb763e6b7f3c..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-5-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-5-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-5-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var NUMBER = 0; - -DESCRIPTION = "NUMBER=0, var n = new NUMBER()"; - -new TestCase( - "NUMBER=0, var n = new NUMBER()", - "error", - eval("n = new NUMBER()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-6-n.js b/js/src/tests/ecma/Expressions/11.2.2-6-n.js deleted file mode 100644 index b7024b166e4f..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-6-n.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-6-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.2.2-6-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var BOOLEAN = true; -DESCRIPTION = "BOOLEAN = true; var b = new BOOLEAN()"; - -new TestCase( - "BOOLEAN = true; var b = new BOOLEAN()", - "error", - eval("b = new BOOLEAN()") ); -test(); - -function TestFunction() { - return arguments; -} - diff --git a/js/src/tests/ecma/Expressions/11.2.2-7-n.js b/js/src/tests/ecma/Expressions/11.2.2-7-n.js deleted file mode 100644 index dc9ed17842bd..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-7-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-6-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-6-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var STRING = new String("hi"); - -DESCRIPTION = "var STRING = new String('hi'); var s = new STRING()"; - -new TestCase( - "var STRING = new String('hi'); var s = new STRING()", - "error", - eval("s = new STRING()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-8-n.js b/js/src/tests/ecma/Expressions/11.2.2-8-n.js deleted file mode 100644 index 17ae67c14bb2..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-8-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-8-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-8-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var NUMBER = new Number(1); - -DESCRIPTION = "var NUMBER = new Number(1); var n = new NUMBER()"; - -new TestCase( - "var NUMBER = new Number(1); var n = new NUMBER()", - "error", - eval("n = new NUMBER()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.2-9-n.js b/js/src/tests/ecma/Expressions/11.2.2-9-n.js deleted file mode 100644 index 5bfa343ba358..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.2-9-n.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.2-9-n.js - ECMA Section: 11.2.2. The new operator - Description: - - MemberExpression: - PrimaryExpression - MemberExpression[Expression] - MemberExpression.Identifier - new MemberExpression Arguments - - new NewExpression - - The production NewExpression : new NewExpression is evaluated as follows: - - 1. Evaluate NewExpression. - 2. Call GetValue(Result(1)). - 3. If Type(Result(2)) is not Object, generate a runtime error. - 4. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 5. Call the [[Construct]] method on Result(2), providing no arguments - (that is, an empty list of arguments). - 6. If Type(Result(5)) is not Object, generate a runtime error. - 7. Return Result(5). - - The production MemberExpression : new MemberExpression Arguments is evaluated as follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate Arguments, producing an internal list of argument values - (section 0). - 4. If Type(Result(2)) is not Object, generate a runtime error. - 5. If Result(2) does not implement the internal [[Construct]] method, - generate a runtime error. - 6. Call the [[Construct]] method on Result(2), providing the list - Result(3) as the argument values. - 7. If Type(Result(6)) is not Object, generate a runtime error. - 8 .Return Result(6). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.2-9-n.js"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var BOOLEAN = new Boolean(); - -DESCRIPTION = "var BOOLEAN = new Boolean(); var b = new BOOLEAN()"; - -new TestCase( - "var BOOLEAN = new Boolean(); var b = new BOOLEAN()", - "error", - eval("b = new BOOLEAN()") ); -test(); - -function TestFunction() { - return arguments; -} diff --git a/js/src/tests/ecma/Expressions/11.2.3-1.js b/js/src/tests/ecma/Expressions/11.2.3-1.js deleted file mode 100644 index 7e19a49c857e..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.3-1.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.3-1.js - ECMA Section: 11.2.3. Function Calls - Description: - - The production CallExpression : MemberExpression Arguments is evaluated as - follows: - - 1.Evaluate MemberExpression. - 2.Evaluate Arguments, producing an internal list of argument values - (section 0). - 3.Call GetValue(Result(1)). - 4.If Type(Result(3)) is not Object, generate a runtime error. - 5.If Result(3) does not implement the internal [[Call]] method, generate a - runtime error. - 6.If Type(Result(1)) is Reference, Result(6) is GetBase(Result(1)). Otherwise, - Result(6) is null. - 7.If Result(6) is an activation object, Result(7) is null. Otherwise, Result(7) is - the same as Result(6). - 8.Call the [[Call]] method on Result(3), providing Result(7) as the this value - and providing the list Result(2) as the argument values. - 9.Return Result(8). - - The production CallExpression : CallExpression Arguments is evaluated in - exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Note: Result(8) will never be of type Reference if Result(3) is a native - ECMAScript object. Whether calling a host object can return a value of - type Reference is implementation-dependent. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.3-1"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -/* this.eval() is no longer legal syntax. -// MemberExpression : this - -new TestCase( -"this.eval()", -void 0, -this.eval() ); - -new TestCase( -"this.eval('NaN')", -NaN, -this.eval("NaN") ); -*/ -// MemberExpression: Identifier - -var OBJECT = true; - -new TestCase( "OBJECT.toString()", - "true", - OBJECT.toString() ); - -// MemberExpression[ Expression] - -new TestCase( "(new Array())['length'].valueOf()", - 0, - (new Array())["length"].valueOf() ); - -// MemberExpression . Identifier -new TestCase( "(new Array()).length.valueOf()", - 0, - (new Array()).length.valueOf() ); -// new MemberExpression Arguments - -new TestCase( "(new Array(20))['length'].valueOf()", - 20, - (new Array(20))["length"].valueOf() ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.2.3-2-n.js b/js/src/tests/ecma/Expressions/11.2.3-2-n.js deleted file mode 100644 index fcafeed9d05d..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.3-2-n.js +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.3-2-n.js - ECMA Section: 11.2.3. Function Calls - Description: - - The production CallExpression : MemberExpression Arguments is evaluated as - follows: - - 1.Evaluate MemberExpression. - 2.Evaluate Arguments, producing an internal list of argument values - (section 0). - 3.Call GetValue(Result(1)). - 4.If Type(Result(3)) is not Object, generate a runtime error. - 5.If Result(3) does not implement the internal [[Call]] method, generate a - runtime error. - 6.If Type(Result(1)) is Reference, Result(6) is GetBase(Result(1)). Otherwise, - Result(6) is null. - 7.If Result(6) is an activation object, Result(7) is null. Otherwise, Result(7) is - the same as Result(6). - 8.Call the [[Call]] method on Result(3), providing Result(7) as the this value - and providing the list Result(2) as the argument values. - 9.Return Result(8). - - The production CallExpression : CallExpression Arguments is evaluated in - exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Note: Result(8) will never be of type Reference if Result(3) is a native - ECMAScript object. Whether calling a host object can return a value of - type Reference is implementation-dependent. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.3-2-n.js"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "3.valueOf()", - 3, - eval("3.valueOf()") ); - -new TestCase( - "(3).valueOf()", - 3, - eval("(3).valueOf()") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.2.3-3-n.js b/js/src/tests/ecma/Expressions/11.2.3-3-n.js deleted file mode 100644 index 529f96b29a72..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.3-3-n.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.3-3-n.js - ECMA Section: 11.2.3. Function Calls - Description: - - The production CallExpression : MemberExpression Arguments is evaluated as - follows: - - 1.Evaluate MemberExpression. - 2.Evaluate Arguments, producing an internal list of argument values - (section 0). - 3.Call GetValue(Result(1)). - 4.If Type(Result(3)) is not Object, generate a runtime error. - 5.If Result(3) does not implement the internal [[Call]] method, generate a - runtime error. - 6.If Type(Result(1)) is Reference, Result(6) is GetBase(Result(1)). Otherwise, - Result(6) is null. - 7.If Result(6) is an activation object, Result(7) is null. Otherwise, Result(7) is - the same as Result(6). - 8.Call the [[Call]] method on Result(3), providing Result(7) as the this value - and providing the list Result(2) as the argument values. - 9.Return Result(8). - - The production CallExpression : CallExpression Arguments is evaluated in - exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Note: Result(8) will never be of type Reference if Result(3) is a native - ECMAScript object. Whether calling a host object can return a value of - type Reference is implementation-dependent. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.3-3-n.js"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "(void 0).valueOf()"; - -new TestCase( "(void 0).valueOf()", - "error", - eval("(void 0).valueOf()") ); -test(); - diff --git a/js/src/tests/ecma/Expressions/11.2.3-4-n.js b/js/src/tests/ecma/Expressions/11.2.3-4-n.js deleted file mode 100644 index 38ab2f1a6ed9..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.3-4-n.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.3-4-n.js - ECMA Section: 11.2.3. Function Calls - Description: - - The production CallExpression : MemberExpression Arguments is evaluated as - follows: - - 1.Evaluate MemberExpression. - 2.Evaluate Arguments, producing an internal list of argument values - (section 0). - 3.Call GetValue(Result(1)). - 4.If Type(Result(3)) is not Object, generate a runtime error. - 5.If Result(3) does not implement the internal [[Call]] method, generate a - runtime error. - 6.If Type(Result(1)) is Reference, Result(6) is GetBase(Result(1)). Otherwise, - Result(6) is null. - 7.If Result(6) is an activation object, Result(7) is null. Otherwise, Result(7) is - the same as Result(6). - 8.Call the [[Call]] method on Result(3), providing Result(7) as the this value - and providing the list Result(2) as the argument values. - 9.Return Result(8). - - The production CallExpression : CallExpression Arguments is evaluated in - exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Note: Result(8) will never be of type Reference if Result(3) is a native - ECMAScript object. Whether calling a host object can return a value of - type Reference is implementation-dependent. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.3-4-n.js"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "null.valueOf()"; - -new TestCase( "null.valueOf()", - "error", - eval("null.valueOf()") ); -test(); - diff --git a/js/src/tests/ecma/Expressions/11.2.3-5.js b/js/src/tests/ecma/Expressions/11.2.3-5.js deleted file mode 100644 index 6cb8173d65e3..000000000000 --- a/js/src/tests/ecma/Expressions/11.2.3-5.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.2.3-5-n.js - ECMA Section: 11.2.3. Function Calls - Description: - - The production CallExpression : MemberExpression Arguments is evaluated as - follows: - - 1. Evaluate MemberExpression. - 2. Evaluate Arguments, producing an internal list of argument values - (section 0). - 3. Call GetValue(Result(1)). - 4. If Type(Result(3)) is not Object, generate a runtime error. - 5. If Result(3) does not implement the internal [[Call]] method, generate a - runtime error. - 6. If Type(Result(1)) is Reference, Result(6) is GetBase(Result(1)). Otherwise, - Result(6) is null. - 7. If Result(6) is an activation object, Result(7) is null. Otherwise, Result(7) is - the same as Result(6). - 8. Call the [[Call]] method on Result(3), providing Result(7) as the this value - and providing the list Result(2) as the argument values. - 9. Return Result(8). - - The production CallExpression : CallExpression Arguments is evaluated in - exactly the same manner, except that the contained CallExpression is - evaluated in step 1. - - Note: Result(8) will never be of type Reference if Result(3) is a native - ECMAScript object. Whether calling a host object can return a value of - type Reference is implementation-dependent. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "11.2.3-5"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "true.valueOf()", true, true.valueOf() ); -test(); - diff --git a/js/src/tests/ecma/Expressions/11.3.1.js b/js/src/tests/ecma/Expressions/11.3.1.js deleted file mode 100644 index 37d54d67b563..000000000000 --- a/js/src/tests/ecma/Expressions/11.3.1.js +++ /dev/null @@ -1,117 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.3.1.js - ECMA Section: 11.3.1 Postfix increment operator - Description: - The production MemberExpression : MemberExpression ++ is evaluated as - follows: - - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Call ToNumber(Result(2)). - 4. Add the value 1 to Result(3), using the same rules as for the + - operator (section 0). - 5. Call PutValue(Result(1), Result(4)). - 6. Return Result(3). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.3.1"; - -writeHeaderToLog( SECTION + " Postfix increment operator"); - -// special numbers -new TestCase( "var MYVAR; MYVAR++", NaN, eval("var MYVAR; MYVAR++") ); -new TestCase( "var MYVAR= void 0; MYVAR++", NaN, eval("var MYVAR=void 0; MYVAR++") ); -new TestCase( "var MYVAR=null; MYVAR++", 0, eval("var MYVAR=null; MYVAR++") ); -new TestCase( "var MYVAR=true; MYVAR++", 1, eval("var MYVAR=true; MYVAR++") ); -new TestCase( "var MYVAR=false; MYVAR++", 0, eval("var MYVAR=false; MYVAR++") ); - -// verify return value - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;MYVAR++", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;MYVAR++") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;MYVAR++", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;MYVAR++") ); -new TestCase( "var MYVAR=Number.NaN;MYVAR++", Number.NaN, eval("var MYVAR=Number.NaN;MYVAR++") ); - -// verify value of variable - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;MYVAR++;MYVAR", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;MYVAR++;MYVAR", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=Number.NaN;MYVAR++;MYVAR", Number.NaN, eval("var MYVAR=Number.NaN;MYVAR++;MYVAR") ); - -// number primitives -new TestCase( "var MYVAR=0;MYVAR++", 0, eval("var MYVAR=0;MYVAR++") ); -new TestCase( "var MYVAR=0.2345;MYVAR++", 0.2345, eval("var MYVAR=0.2345;MYVAR++") ); -new TestCase( "var MYVAR=-0.2345;MYVAR++", -0.2345, eval("var MYVAR=-0.2345;MYVAR++") ); - -// verify value of variable - -new TestCase( "var MYVAR=0;MYVAR++;MYVAR", 1, eval("var MYVAR=0;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=0.2345;MYVAR++;MYVAR", 1.2345, eval("var MYVAR=0.2345;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=-0.2345;MYVAR++;MYVAR", 0.7655, eval("var MYVAR=-0.2345;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=0;MYVAR++;MYVAR", 1, eval("var MYVAR=0;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=0;MYVAR++;MYVAR", 1, eval("var MYVAR=0;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=0;MYVAR++;MYVAR", 1, eval("var MYVAR=0;MYVAR++;MYVAR") ); - -// boolean values -// verify return value - -new TestCase( "var MYVAR=true;MYVAR++", 1, eval("var MYVAR=true;MYVAR++") ); -new TestCase( "var MYVAR=false;MYVAR++", 0, eval("var MYVAR=false;MYVAR++") ); -// verify value of variable - -new TestCase( "var MYVAR=true;MYVAR++;MYVAR", 2, eval("var MYVAR=true;MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=false;MYVAR++;MYVAR", 1, eval("var MYVAR=false;MYVAR++;MYVAR") ); - -// boolean objects -// verify return value - -new TestCase( "var MYVAR=new Boolean(true);MYVAR++", 1, eval("var MYVAR=true;MYVAR++") ); -new TestCase( "var MYVAR=new Boolean(false);MYVAR++", 0, eval("var MYVAR=false;MYVAR++") ); -// verify value of variable - -new TestCase( "var MYVAR=new Boolean(true);MYVAR++;MYVAR", 2, eval("var MYVAR=new Boolean(true);MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=new Boolean(false);MYVAR++;MYVAR", 1, eval("var MYVAR=new Boolean(false);MYVAR++;MYVAR") ); - -// string primitives -new TestCase( "var MYVAR='string';MYVAR++", Number.NaN, eval("var MYVAR='string';MYVAR++") ); -new TestCase( "var MYVAR='12345';MYVAR++", 12345, eval("var MYVAR='12345';MYVAR++") ); -new TestCase( "var MYVAR='-12345';MYVAR++", -12345, eval("var MYVAR='-12345';MYVAR++") ); -new TestCase( "var MYVAR='0Xf';MYVAR++", 15, eval("var MYVAR='0Xf';MYVAR++") ); -new TestCase( "var MYVAR='077';MYVAR++", 77, eval("var MYVAR='077';MYVAR++") ); -new TestCase( "var MYVAR=''; MYVAR++", 0, eval("var MYVAR='';MYVAR++") ); - -// verify value of variable - -new TestCase( "var MYVAR='string';MYVAR++;MYVAR", Number.NaN, eval("var MYVAR='string';MYVAR++;MYVAR") ); -new TestCase( "var MYVAR='12345';MYVAR++;MYVAR", 12346, eval("var MYVAR='12345';MYVAR++;MYVAR") ); -new TestCase( "var MYVAR='-12345';MYVAR++;MYVAR", -12344, eval("var MYVAR='-12345';MYVAR++;MYVAR") ); -new TestCase( "var MYVAR='0xf';MYVAR++;MYVAR", 16, eval("var MYVAR='0xf';MYVAR++;MYVAR") ); -new TestCase( "var MYVAR='077';MYVAR++;MYVAR", 78, eval("var MYVAR='077';MYVAR++;MYVAR") ); -new TestCase( "var MYVAR='';MYVAR++;MYVAR", 1, eval("var MYVAR='';MYVAR++;MYVAR") ); - -// string objects -new TestCase( "var MYVAR=new String('string');MYVAR++", Number.NaN, eval("var MYVAR=new String('string');MYVAR++") ); -new TestCase( "var MYVAR=new String('12345');MYVAR++", 12345, eval("var MYVAR=new String('12345');MYVAR++") ); -new TestCase( "var MYVAR=new String('-12345');MYVAR++", -12345, eval("var MYVAR=new String('-12345');MYVAR++") ); -new TestCase( "var MYVAR=new String('0Xf');MYVAR++", 15, eval("var MYVAR=new String('0Xf');MYVAR++") ); -new TestCase( "var MYVAR=new String('077');MYVAR++", 77, eval("var MYVAR=new String('077');MYVAR++") ); -new TestCase( "var MYVAR=new String(''); MYVAR++", 0, eval("var MYVAR=new String('');MYVAR++") ); - -// verify value of variable - -new TestCase( "var MYVAR=new String('string');MYVAR++;MYVAR", Number.NaN, eval("var MYVAR=new String('string');MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=new String('12345');MYVAR++;MYVAR", 12346, eval("var MYVAR=new String('12345');MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=new String('-12345');MYVAR++;MYVAR", -12344, eval("var MYVAR=new String('-12345');MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=new String('0xf');MYVAR++;MYVAR", 16, eval("var MYVAR=new String('0xf');MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=new String('077');MYVAR++;MYVAR", 78, eval("var MYVAR=new String('077');MYVAR++;MYVAR") ); -new TestCase( "var MYVAR=new String('');MYVAR++;MYVAR", 1, eval("var MYVAR=new String('');MYVAR++;MYVAR") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.3.2.js b/js/src/tests/ecma/Expressions/11.3.2.js deleted file mode 100644 index 6826665509fe..000000000000 --- a/js/src/tests/ecma/Expressions/11.3.2.js +++ /dev/null @@ -1,117 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.3.2.js - ECMA Section: 11.3.2 Postfix decrement operator - Description: - - 11.3.2 Postfix decrement operator - - The production MemberExpression : MemberExpression -- is evaluated as follows: - 1. Evaluate MemberExpression. - 2. Call GetValue(Result(1)). - 3. Call ToNumber(Result(2)). - 4. Subtract the value 1 from Result(3), using the same rules as for the - - operator (section 0). - 5. Call PutValue(Result(1), Result(4)). - 6. Return Result(3). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.3.2"; - -writeHeaderToLog( SECTION + " Postfix decrement operator"); - -// special numbers -new TestCase( "var MYVAR; MYVAR--", NaN, eval("var MYVAR; MYVAR--") ); -new TestCase( "var MYVAR= void 0; MYVAR--", NaN, eval("var MYVAR=void 0; MYVAR--") ); -new TestCase( "var MYVAR=null; MYVAR--", 0, eval("var MYVAR=null; MYVAR--") ); -new TestCase( "var MYVAR=true; MYVAR--", 1, eval("var MYVAR=true; MYVAR--") ); -new TestCase( "var MYVAR=false; MYVAR--", 0, eval("var MYVAR=false; MYVAR--") ); - -// verify return value - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;MYVAR--", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;MYVAR--") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;MYVAR--", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;MYVAR--") ); -new TestCase( "var MYVAR=Number.NaN;MYVAR--", Number.NaN, eval("var MYVAR=Number.NaN;MYVAR--") ); - -// verify value of variable - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;MYVAR--;MYVAR", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;MYVAR--;MYVAR", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=Number.NaN;MYVAR--;MYVAR", Number.NaN, eval("var MYVAR=Number.NaN;MYVAR--;MYVAR") ); - -// number primitives -new TestCase( "var MYVAR=0;MYVAR--", 0, eval("var MYVAR=0;MYVAR--") ); -new TestCase( "var MYVAR=0.2345;MYVAR--", 0.2345, eval("var MYVAR=0.2345;MYVAR--") ); -new TestCase( "var MYVAR=-0.2345;MYVAR--", -0.2345, eval("var MYVAR=-0.2345;MYVAR--") ); - -// verify value of variable - -new TestCase( "var MYVAR=0;MYVAR--;MYVAR", -1, eval("var MYVAR=0;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=0.2345;MYVAR--;MYVAR", -0.7655, eval("var MYVAR=0.2345;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=-0.2345;MYVAR--;MYVAR", -1.2345, eval("var MYVAR=-0.2345;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=0;MYVAR--;MYVAR", -1, eval("var MYVAR=0;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=0;MYVAR--;MYVAR", -1, eval("var MYVAR=0;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=0;MYVAR--;MYVAR", -1, eval("var MYVAR=0;MYVAR--;MYVAR") ); - -// boolean values -// verify return value - -new TestCase( "var MYVAR=true;MYVAR--", 1, eval("var MYVAR=true;MYVAR--") ); -new TestCase( "var MYVAR=false;MYVAR--", 0, eval("var MYVAR=false;MYVAR--") ); -// verify value of variable - -new TestCase( "var MYVAR=true;MYVAR--;MYVAR", 0, eval("var MYVAR=true;MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=false;MYVAR--;MYVAR", -1, eval("var MYVAR=false;MYVAR--;MYVAR") ); - -// boolean objects -// verify return value - -new TestCase( "var MYVAR=new Boolean(true);MYVAR--", 1, eval("var MYVAR=true;MYVAR--") ); -new TestCase( "var MYVAR=new Boolean(false);MYVAR--", 0, eval("var MYVAR=false;MYVAR--") ); -// verify value of variable - -new TestCase( "var MYVAR=new Boolean(true);MYVAR--;MYVAR", 0, eval("var MYVAR=new Boolean(true);MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=new Boolean(false);MYVAR--;MYVAR", -1, eval("var MYVAR=new Boolean(false);MYVAR--;MYVAR") ); - -// string primitives -new TestCase( "var MYVAR='string';MYVAR--", Number.NaN, eval("var MYVAR='string';MYVAR--") ); -new TestCase( "var MYVAR='12345';MYVAR--", 12345, eval("var MYVAR='12345';MYVAR--") ); -new TestCase( "var MYVAR='-12345';MYVAR--", -12345, eval("var MYVAR='-12345';MYVAR--") ); -new TestCase( "var MYVAR='0Xf';MYVAR--", 15, eval("var MYVAR='0Xf';MYVAR--") ); -new TestCase( "var MYVAR='077';MYVAR--", 77, eval("var MYVAR='077';MYVAR--") ); -new TestCase( "var MYVAR=''; MYVAR--", 0, eval("var MYVAR='';MYVAR--") ); - -// verify value of variable - -new TestCase( "var MYVAR='string';MYVAR--;MYVAR", Number.NaN, eval("var MYVAR='string';MYVAR--;MYVAR") ); -new TestCase( "var MYVAR='12345';MYVAR--;MYVAR", 12344, eval("var MYVAR='12345';MYVAR--;MYVAR") ); -new TestCase( "var MYVAR='-12345';MYVAR--;MYVAR", -12346, eval("var MYVAR='-12345';MYVAR--;MYVAR") ); -new TestCase( "var MYVAR='0xf';MYVAR--;MYVAR", 14, eval("var MYVAR='0xf';MYVAR--;MYVAR") ); -new TestCase( "var MYVAR='077';MYVAR--;MYVAR", 76, eval("var MYVAR='077';MYVAR--;MYVAR") ); -new TestCase( "var MYVAR='';MYVAR--;MYVAR", -1, eval("var MYVAR='';MYVAR--;MYVAR") ); - -// string objects -new TestCase( "var MYVAR=new String('string');MYVAR--", Number.NaN, eval("var MYVAR=new String('string');MYVAR--") ); -new TestCase( "var MYVAR=new String('12345');MYVAR--", 12345, eval("var MYVAR=new String('12345');MYVAR--") ); -new TestCase( "var MYVAR=new String('-12345');MYVAR--", -12345, eval("var MYVAR=new String('-12345');MYVAR--") ); -new TestCase( "var MYVAR=new String('0Xf');MYVAR--", 15, eval("var MYVAR=new String('0Xf');MYVAR--") ); -new TestCase( "var MYVAR=new String('077');MYVAR--", 77, eval("var MYVAR=new String('077');MYVAR--") ); -new TestCase( "var MYVAR=new String(''); MYVAR--", 0, eval("var MYVAR=new String('');MYVAR--") ); - -// verify value of variable - -new TestCase( "var MYVAR=new String('string');MYVAR--;MYVAR", Number.NaN, eval("var MYVAR=new String('string');MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=new String('12345');MYVAR--;MYVAR", 12344, eval("var MYVAR=new String('12345');MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=new String('-12345');MYVAR--;MYVAR", -12346, eval("var MYVAR=new String('-12345');MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=new String('0xf');MYVAR--;MYVAR", 14, eval("var MYVAR=new String('0xf');MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=new String('077');MYVAR--;MYVAR", 76, eval("var MYVAR=new String('077');MYVAR--;MYVAR") ); -new TestCase( "var MYVAR=new String('');MYVAR--;MYVAR", -1, eval("var MYVAR=new String('');MYVAR--;MYVAR") ); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.4.1.js b/js/src/tests/ecma/Expressions/11.4.1.js deleted file mode 100644 index f80c42f8cf28..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.1.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.1.js - ECMA Section: 11.4.1 the Delete Operator - Description: returns true if the property could be deleted - returns false if it could not be deleted - Author: christine@netscape.com - Date: 7 july 1997 - -*/ - - -var SECTION = "11.4.1"; -var TITLE = "The delete operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// new TestCase( "x=[9,8,7];delete(x[2]);x.length", 2, eval("x=[9,8,7];delete(x[2]);x.length") ); -// new TestCase( "x=[9,8,7];delete(x[2]);x.toString()", "9,8", eval("x=[9,8,7];delete(x[2]);x.toString()") ); -new TestCase( "x=new Date();delete x;typeof(x)", "undefined", eval("x=new Date();delete x;typeof(x)") ); - -// array[item++] = new TestCase( "delete(x=new Date())", true, delete(x=new Date()) ); -// array[item++] = new TestCase( "delete('string primitive')", true, delete("string primitive") ); -// array[item++] = new TestCase( "delete(new String( 'string object' ) )", true, delete(new String("string object")) ); -// array[item++] = new TestCase( "delete(new Number(12345) )", true, delete(new Number(12345)) ); -new TestCase( "delete(Math.PI)", false, delete(Math.PI) ); -// array[item++] = new TestCase( "delete(null)", true, delete(null) ); -// array[item++] = new TestCase( "delete(void(0))", true, delete(void(0)) ); - -// variables declared with the var statement are not deletable. - -var abc; -new TestCase( "var abc; delete(abc)", false, delete abc ); - -new TestCase( "var OB = new MyObject(); for ( p in OB ) { delete p }", - true, - eval("var OB = new MyObject(); for ( p in OB ) { delete p }") ); - -test(); - -function MyObject() { - this.prop1 = true; - this.prop2 = false; - this.prop3 = null; - this.prop4 = void 0; - this.prop5 = "hi"; - this.prop6 = 42; - this.prop7 = new Date(); - this.prop8 = Math.PI; -} diff --git a/js/src/tests/ecma/Expressions/11.4.2.js b/js/src/tests/ecma/Expressions/11.4.2.js deleted file mode 100644 index d9debe50130d..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.2.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.2.js - ECMA Section: 11.4.2 the Void Operator - Description: always returns undefined (?) - Author: christine@netscape.com - Date: 7 july 1997 - -*/ -var SECTION = "11.4.2"; -var TITLE = "The void operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "void(new String('string object'))", void 0, void(new String( 'string object' )) ); -new TestCase( "void('string primitive')", void 0, void("string primitive") ); -new TestCase( "void(Number.NaN)", void 0, void(Number.NaN) ); -new TestCase( "void(Number.POSITIVE_INFINITY)", void 0, void(Number.POSITIVE_INFINITY) ); -new TestCase( "void(1)", void 0, void(1) ); -new TestCase( "void(0)", void 0, void(0) ); -new TestCase( "void(-1)", void 0, void(-1) ); -new TestCase( "void(Number.NEGATIVE_INFINITY)", void 0, void(Number.NEGATIVE_INFINITY) ); -new TestCase( "void(Math.PI)", void 0, void(Math.PI) ); -new TestCase( "void(true)", void 0, void(true) ); -new TestCase( "void(false)", void 0, void(false) ); -new TestCase( "void(null)", void 0, void(null) ); -new TestCase( "void new String('string object')", void 0, void new String( 'string object' ) ); -new TestCase( "void 'string primitive'", void 0, void "string primitive" ); -new TestCase( "void Number.NaN", void 0, void Number.NaN ); -new TestCase( "void Number.POSITIVE_INFINITY", void 0, void Number.POSITIVE_INFINITY ); -new TestCase( "void 1", void 0, void 1 ); -new TestCase( "void 0", void 0, void 0 ); -new TestCase( "void -1", void 0, void -1 ); -new TestCase( "void Number.NEGATIVE_INFINITY", void 0, void Number.NEGATIVE_INFINITY ); -new TestCase( "void Math.PI", void 0, void Math.PI ); -new TestCase( "void true", void 0, void true ); -new TestCase( "void false", void 0, void false ); -new TestCase( "void null", void 0, void null ); - -// array[item++] = new TestCase( "void()", void 0, void() ); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.4.3.js b/js/src/tests/ecma/Expressions/11.4.3.js deleted file mode 100644 index 20fb4eae0a57..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.3.js +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: typeof_1.js - ECMA Section: 11.4.3 typeof operator - Description: typeof evaluates unary expressions: - undefined "undefined" - null "object" - Boolean "boolean" - Number "number" - String "string" - Object "object" [native, doesn't implement Call] - Object "function" [native, implements [Call]] - Object implementation dependent - [not sure how to test this] - Author: christine@netscape.com - Date: june 30, 1997 - -*/ - -var SECTION = "11.4.3"; - -var TITLE = " The typeof operator"; -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "typeof(void(0))", "undefined", typeof(void(0)) ); -new TestCase( "typeof(null)", "object", typeof(null) ); -new TestCase( "typeof(true)", "boolean", typeof(true) ); -new TestCase( "typeof(false)", "boolean", typeof(false) ); -new TestCase( "typeof(new Boolean())", "object", typeof(new Boolean()) ); -new TestCase( "typeof(new Boolean(true))", "object", typeof(new Boolean(true)) ); -new TestCase( "typeof(Boolean())", "boolean", typeof(Boolean()) ); -new TestCase( "typeof(Boolean(false))", "boolean", typeof(Boolean(false)) ); -new TestCase( "typeof(Boolean(true))", "boolean", typeof(Boolean(true)) ); -new TestCase( "typeof(NaN)", "number", typeof(Number.NaN) ); -new TestCase( "typeof(Infinity)", "number", typeof(Number.POSITIVE_INFINITY) ); -new TestCase( "typeof(-Infinity)", "number", typeof(Number.NEGATIVE_INFINITY) ); -new TestCase( "typeof(Math.PI)", "number", typeof(Math.PI) ); -new TestCase( "typeof(0)", "number", typeof(0) ); -new TestCase( "typeof(1)", "number", typeof(1) ); -new TestCase( "typeof(-1)", "number", typeof(-1) ); -new TestCase( "typeof('0')", "string", typeof("0") ); -new TestCase( "typeof(Number())", "number", typeof(Number()) ); -new TestCase( "typeof(Number(0))", "number", typeof(Number(0)) ); -new TestCase( "typeof(Number(1))", "number", typeof(Number(1)) ); -new TestCase( "typeof(Nubmer(-1))", "number", typeof(Number(-1)) ); -new TestCase( "typeof(new Number())", "object", typeof(new Number()) ); -new TestCase( "typeof(new Number(0))", "object", typeof(new Number(0)) ); -new TestCase( "typeof(new Number(1))", "object", typeof(new Number(1)) ); - -// Math does not implement [[Construct]] or [[Call]] so its type is object. - -new TestCase( "typeof(Math)", "object", typeof(Math) ); - -new TestCase( "typeof(Number.prototype.toString)", "function", typeof(Number.prototype.toString) ); - -new TestCase( "typeof('a string')", "string", typeof("a string") ); -new TestCase( "typeof('')", "string", typeof("") ); -new TestCase( "typeof(new Date())", "object", typeof(new Date()) ); -new TestCase( "typeof(new Array(1,2,3))", "object", typeof(new Array(1,2,3)) ); -new TestCase( "typeof(new String('string object'))", "object", typeof(new String("string object")) ); -new TestCase( "typeof(String('string primitive'))", "string", typeof(String("string primitive")) ); -new TestCase( "typeof(['array', 'of', 'strings'])", "object", typeof(["array", "of", "strings"]) ); -new TestCase( "typeof(new Function())", "function", typeof( new Function() ) ); -new TestCase( "typeof(parseInt)", "function", typeof( parseInt ) ); -new TestCase( "typeof(test)", "function", typeof( test ) ); -new TestCase( "typeof(String.fromCharCode)", "function", typeof( String.fromCharCode ) ); - - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.4.4.js b/js/src/tests/ecma/Expressions/11.4.4.js deleted file mode 100644 index b1a45ca77176..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.4.js +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.4.js - ECMA Section: 11.4.4 Prefix increment operator - Description: - The production UnaryExpression : ++ UnaryExpression is evaluated as - follows: - - 1. Evaluate UnaryExpression. - 2. Call GetValue(Result(1)). - 3. Call ToNumber(Result(2)). - 4. Add the value 1 to Result(3), using the same rules as for the + - operator (section 11.6.3). - 5. Call PutValue(Result(1), Result(4)). - 6. Return Result(4). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.4.4"; - -writeHeaderToLog( SECTION + " Prefix increment operator"); - -// special case: var is not defined - -new TestCase( "var MYVAR; ++MYVAR", NaN, eval("var MYVAR; ++MYVAR") ); -new TestCase( "var MYVAR= void 0; ++MYVAR", NaN, eval("var MYVAR=void 0; ++MYVAR") ); -new TestCase( "var MYVAR=null; ++MYVAR", 1, eval("var MYVAR=null; ++MYVAR") ); -new TestCase( "var MYVAR=true; ++MYVAR", 2, eval("var MYVAR=true; ++MYVAR") ); -new TestCase( "var MYVAR=false; ++MYVAR", 1, eval("var MYVAR=false; ++MYVAR") ); - -// special numbers -// verify return value - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;++MYVAR", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;++MYVAR") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;++MYVAR", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;++MYVAR") ); -new TestCase( "var MYVAR=Number.NaN;++MYVAR", Number.NaN, eval("var MYVAR=Number.NaN;++MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;++MYVAR;MYVAR", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;++MYVAR;MYVAR", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=Number.NaN;++MYVAR;MYVAR", Number.NaN, eval("var MYVAR=Number.NaN;++MYVAR;MYVAR") ); - - -// number primitives -new TestCase( "var MYVAR=0;++MYVAR", 1, eval("var MYVAR=0;++MYVAR") ); -new TestCase( "var MYVAR=0.2345;++MYVAR", 1.2345, eval("var MYVAR=0.2345;++MYVAR") ); -new TestCase( "var MYVAR=-0.2345;++MYVAR", 0.7655, eval("var MYVAR=-0.2345;++MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR=0;++MYVAR;MYVAR", 1, eval("var MYVAR=0;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0.2345;++MYVAR;MYVAR", 1.2345, eval("var MYVAR=0.2345;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=-0.2345;++MYVAR;MYVAR", 0.7655, eval("var MYVAR=-0.2345;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0;++MYVAR;MYVAR", 1, eval("var MYVAR=0;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0;++MYVAR;MYVAR", 1, eval("var MYVAR=0;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0;++MYVAR;MYVAR", 1, eval("var MYVAR=0;++MYVAR;MYVAR") ); - -// boolean values -// verify return value - -new TestCase( "var MYVAR=true;++MYVAR", 2, eval("var MYVAR=true;++MYVAR") ); -new TestCase( "var MYVAR=false;++MYVAR", 1, eval("var MYVAR=false;++MYVAR") ); -// verify value of variable - -new TestCase( "var MYVAR=true;++MYVAR;MYVAR", 2, eval("var MYVAR=true;++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=false;++MYVAR;MYVAR", 1, eval("var MYVAR=false;++MYVAR;MYVAR") ); - -// boolean objects -// verify return value - -new TestCase( "var MYVAR=new Boolean(true);++MYVAR", 2, eval("var MYVAR=true;++MYVAR") ); -new TestCase( "var MYVAR=new Boolean(false);++MYVAR", 1, eval("var MYVAR=false;++MYVAR") ); -// verify value of variable - -new TestCase( "var MYVAR=new Boolean(true);++MYVAR;MYVAR", 2, eval("var MYVAR=new Boolean(true);++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new Boolean(false);++MYVAR;MYVAR", 1, eval("var MYVAR=new Boolean(false);++MYVAR;MYVAR") ); - -// string primitives -new TestCase( "var MYVAR='string';++MYVAR", Number.NaN, eval("var MYVAR='string';++MYVAR") ); -new TestCase( "var MYVAR='12345';++MYVAR", 12346, eval("var MYVAR='12345';++MYVAR") ); -new TestCase( "var MYVAR='-12345';++MYVAR", -12344, eval("var MYVAR='-12345';++MYVAR") ); -new TestCase( "var MYVAR='0Xf';++MYVAR", 16, eval("var MYVAR='0Xf';++MYVAR") ); -new TestCase( "var MYVAR='077';++MYVAR", 78, eval("var MYVAR='077';++MYVAR") ); -new TestCase( "var MYVAR=''; ++MYVAR", 1, eval("var MYVAR='';++MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR='string';++MYVAR;MYVAR", Number.NaN, eval("var MYVAR='string';++MYVAR;MYVAR") ); -new TestCase( "var MYVAR='12345';++MYVAR;MYVAR", 12346, eval("var MYVAR='12345';++MYVAR;MYVAR") ); -new TestCase( "var MYVAR='-12345';++MYVAR;MYVAR", -12344, eval("var MYVAR='-12345';++MYVAR;MYVAR") ); -new TestCase( "var MYVAR='0xf';++MYVAR;MYVAR", 16, eval("var MYVAR='0xf';++MYVAR;MYVAR") ); -new TestCase( "var MYVAR='077';++MYVAR;MYVAR", 78, eval("var MYVAR='077';++MYVAR;MYVAR") ); -new TestCase( "var MYVAR='';++MYVAR;MYVAR", 1, eval("var MYVAR='';++MYVAR;MYVAR") ); - -// string objects -new TestCase( "var MYVAR=new String('string');++MYVAR", Number.NaN, eval("var MYVAR=new String('string');++MYVAR") ); -new TestCase( "var MYVAR=new String('12345');++MYVAR", 12346, eval("var MYVAR=new String('12345');++MYVAR") ); -new TestCase( "var MYVAR=new String('-12345');++MYVAR", -12344, eval("var MYVAR=new String('-12345');++MYVAR") ); -new TestCase( "var MYVAR=new String('0Xf');++MYVAR", 16, eval("var MYVAR=new String('0Xf');++MYVAR") ); -new TestCase( "var MYVAR=new String('077');++MYVAR", 78, eval("var MYVAR=new String('077');++MYVAR") ); -new TestCase( "var MYVAR=new String(''); ++MYVAR", 1, eval("var MYVAR=new String('');++MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR=new String('string');++MYVAR;MYVAR", Number.NaN, eval("var MYVAR=new String('string');++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('12345');++MYVAR;MYVAR", 12346, eval("var MYVAR=new String('12345');++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('-12345');++MYVAR;MYVAR", -12344, eval("var MYVAR=new String('-12345');++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('0xf');++MYVAR;MYVAR", 16, eval("var MYVAR=new String('0xf');++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('077');++MYVAR;MYVAR", 78, eval("var MYVAR=new String('077');++MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('');++MYVAR;MYVAR", 1, eval("var MYVAR=new String('');++MYVAR;MYVAR") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.4.5.js b/js/src/tests/ecma/Expressions/11.4.5.js deleted file mode 100644 index 927621e3feb8..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.5.js +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.5.js - ECMA Section: 11.4.5 Prefix decrement operator - Description: - - The production UnaryExpression : -- UnaryExpression is evaluated as follows: - - 1.Evaluate UnaryExpression. - 2.Call GetValue(Result(1)). - 3.Call ToNumber(Result(2)). - 4.Subtract the value 1 from Result(3), using the same rules as for the - operator (section 11.6.3). - 5.Call PutValue(Result(1), Result(4)). - - 1.Return Result(4). - Author: christine@netscape.com - Date: \ 12 november 1997 -*/ -var SECTION = "11.4.5"; - -writeHeaderToLog( SECTION + " Prefix decrement operator"); - -// -new TestCase( "var MYVAR; --MYVAR", NaN, eval("var MYVAR; --MYVAR") ); -new TestCase( "var MYVAR= void 0; --MYVAR", NaN, eval("var MYVAR=void 0; --MYVAR") ); -new TestCase( "var MYVAR=null; --MYVAR", -1, eval("var MYVAR=null; --MYVAR") ); -new TestCase( "var MYVAR=true; --MYVAR", 0, eval("var MYVAR=true; --MYVAR") ); -new TestCase( "var MYVAR=false; --MYVAR", -1, eval("var MYVAR=false; --MYVAR") ); - -// special numbers -// verify return value - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;--MYVAR", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;--MYVAR") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;--MYVAR", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;--MYVAR") ); -new TestCase( "var MYVAR=Number.NaN;--MYVAR", Number.NaN, eval("var MYVAR=Number.NaN;--MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR=Number.POSITIVE_INFINITY;--MYVAR;MYVAR", Number.POSITIVE_INFINITY, eval("var MYVAR=Number.POSITIVE_INFINITY;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=Number.NEGATIVE_INFINITY;--MYVAR;MYVAR", Number.NEGATIVE_INFINITY, eval("var MYVAR=Number.NEGATIVE_INFINITY;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=Number.NaN;--MYVAR;MYVAR", Number.NaN, eval("var MYVAR=Number.NaN;--MYVAR;MYVAR") ); - - -// number primitives -new TestCase( "var MYVAR=0;--MYVAR", -1, eval("var MYVAR=0;--MYVAR") ); -new TestCase( "var MYVAR=0.2345;--MYVAR", -0.7655, eval("var MYVAR=0.2345;--MYVAR") ); -new TestCase( "var MYVAR=-0.2345;--MYVAR", -1.2345, eval("var MYVAR=-0.2345;--MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR=0;--MYVAR;MYVAR", -1, eval("var MYVAR=0;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0.2345;--MYVAR;MYVAR", -0.7655, eval("var MYVAR=0.2345;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=-0.2345;--MYVAR;MYVAR", -1.2345, eval("var MYVAR=-0.2345;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0;--MYVAR;MYVAR", -1, eval("var MYVAR=0;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0;--MYVAR;MYVAR", -1, eval("var MYVAR=0;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=0;--MYVAR;MYVAR", -1, eval("var MYVAR=0;--MYVAR;MYVAR") ); - -// boolean values -// verify return value - -new TestCase( "var MYVAR=true;--MYVAR", 0, eval("var MYVAR=true;--MYVAR") ); -new TestCase( "var MYVAR=false;--MYVAR", -1, eval("var MYVAR=false;--MYVAR") ); -// verify value of variable - -new TestCase( "var MYVAR=true;--MYVAR;MYVAR", 0, eval("var MYVAR=true;--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=false;--MYVAR;MYVAR", -1, eval("var MYVAR=false;--MYVAR;MYVAR") ); - -// boolean objects -// verify return value - -new TestCase( "var MYVAR=new Boolean(true);--MYVAR", 0, eval("var MYVAR=true;--MYVAR") ); -new TestCase( "var MYVAR=new Boolean(false);--MYVAR", -1, eval("var MYVAR=false;--MYVAR") ); -// verify value of variable - -new TestCase( "var MYVAR=new Boolean(true);--MYVAR;MYVAR", 0, eval("var MYVAR=new Boolean(true);--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new Boolean(false);--MYVAR;MYVAR", -1, eval("var MYVAR=new Boolean(false);--MYVAR;MYVAR") ); - -// string primitives -new TestCase( "var MYVAR='string';--MYVAR", Number.NaN, eval("var MYVAR='string';--MYVAR") ); -new TestCase( "var MYVAR='12345';--MYVAR", 12344, eval("var MYVAR='12345';--MYVAR") ); -new TestCase( "var MYVAR='-12345';--MYVAR", -12346, eval("var MYVAR='-12345';--MYVAR") ); -new TestCase( "var MYVAR='0Xf';--MYVAR", 14, eval("var MYVAR='0Xf';--MYVAR") ); -new TestCase( "var MYVAR='077';--MYVAR", 76, eval("var MYVAR='077';--MYVAR") ); -new TestCase( "var MYVAR=''; --MYVAR", -1, eval("var MYVAR='';--MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR='string';--MYVAR;MYVAR", Number.NaN, eval("var MYVAR='string';--MYVAR;MYVAR") ); -new TestCase( "var MYVAR='12345';--MYVAR;MYVAR", 12344, eval("var MYVAR='12345';--MYVAR;MYVAR") ); -new TestCase( "var MYVAR='-12345';--MYVAR;MYVAR", -12346, eval("var MYVAR='-12345';--MYVAR;MYVAR") ); -new TestCase( "var MYVAR='0xf';--MYVAR;MYVAR", 14, eval("var MYVAR='0xf';--MYVAR;MYVAR") ); -new TestCase( "var MYVAR='077';--MYVAR;MYVAR", 76, eval("var MYVAR='077';--MYVAR;MYVAR") ); -new TestCase( "var MYVAR='';--MYVAR;MYVAR", -1, eval("var MYVAR='';--MYVAR;MYVAR") ); - -// string objects -new TestCase( "var MYVAR=new String('string');--MYVAR", Number.NaN, eval("var MYVAR=new String('string');--MYVAR") ); -new TestCase( "var MYVAR=new String('12345');--MYVAR", 12344, eval("var MYVAR=new String('12345');--MYVAR") ); -new TestCase( "var MYVAR=new String('-12345');--MYVAR", -12346, eval("var MYVAR=new String('-12345');--MYVAR") ); -new TestCase( "var MYVAR=new String('0Xf');--MYVAR", 14, eval("var MYVAR=new String('0Xf');--MYVAR") ); -new TestCase( "var MYVAR=new String('077');--MYVAR", 76, eval("var MYVAR=new String('077');--MYVAR") ); -new TestCase( "var MYVAR=new String(''); --MYVAR", -1, eval("var MYVAR=new String('');--MYVAR") ); - -// verify value of variable - -new TestCase( "var MYVAR=new String('string');--MYVAR;MYVAR", Number.NaN, eval("var MYVAR=new String('string');--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('12345');--MYVAR;MYVAR", 12344, eval("var MYVAR=new String('12345');--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('-12345');--MYVAR;MYVAR", -12346, eval("var MYVAR=new String('-12345');--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('0xf');--MYVAR;MYVAR", 14, eval("var MYVAR=new String('0xf');--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('077');--MYVAR;MYVAR", 76, eval("var MYVAR=new String('077');--MYVAR;MYVAR") ); -new TestCase( "var MYVAR=new String('');--MYVAR;MYVAR", -1, eval("var MYVAR=new String('');--MYVAR;MYVAR") ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.4.6.js b/js/src/tests/ecma/Expressions/11.4.6.js deleted file mode 100644 index 3a432fe001f8..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.6.js +++ /dev/null @@ -1,264 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.6.js - ECMA Section: 11.4.6 Unary + Operator - Description: convert operand to Number type - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "11.4.6"; -var BUGNUMBER="77391"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " Unary + operator"); - -new TestCase( "+('')", 0, +("") ); -new TestCase( "+(' ')", 0, +(" ") ); -new TestCase( "+(\\t)", 0, +("\t") ); -new TestCase( "+(\\n)", 0, +("\n") ); -new TestCase( "+(\\r)", 0, +("\r") ); -new TestCase( "+(\\f)", 0, +("\f") ); - -new TestCase( "+(String.fromCharCode(0x0009)", 0, +(String.fromCharCode(0x0009)) ); -new TestCase( "+(String.fromCharCode(0x0020)", 0, +(String.fromCharCode(0x0020)) ); -new TestCase( "+(String.fromCharCode(0x000C)", 0, +(String.fromCharCode(0x000C)) ); -new TestCase( "+(String.fromCharCode(0x000B)", 0, +(String.fromCharCode(0x000B)) ); -new TestCase( "+(String.fromCharCode(0x000D)", 0, +(String.fromCharCode(0x000D)) ); -new TestCase( "+(String.fromCharCode(0x000A)", 0, +(String.fromCharCode(0x000A)) ); - -// a StringNumericLiteral may be preceeded or followed by whitespace and/or -// line terminators - -new TestCase( "+( ' ' + 999 )", 999, +( ' '+999) ); -new TestCase( "+( '\\n' + 999 )", 999, +( '\n' +999) ); -new TestCase( "+( '\\r' + 999 )", 999, +( '\r' +999) ); -new TestCase( "+( '\\t' + 999 )", 999, +( '\t' +999) ); -new TestCase( "+( '\\f' + 999 )", 999, +( '\f' +999) ); - -new TestCase( "+( 999 + ' ' )", 999, +( 999+' ') ); -new TestCase( "+( 999 + '\\n' )", 999, +( 999+'\n' ) ); -new TestCase( "+( 999 + '\\r' )", 999, +( 999+'\r' ) ); -new TestCase( "+( 999 + '\\t' )", 999, +( 999+'\t' ) ); -new TestCase( "+( 999 + '\\f' )", 999, +( 999+'\f' ) ); - -new TestCase( "+( '\\n' + 999 + '\\n' )", 999, +( '\n' +999+'\n' ) ); -new TestCase( "+( '\\r' + 999 + '\\r' )", 999, +( '\r' +999+'\r' ) ); -new TestCase( "+( '\\t' + 999 + '\\t' )", 999, +( '\t' +999+'\t' ) ); -new TestCase( "+( '\\f' + 999 + '\\f' )", 999, +( '\f' +999+'\f' ) ); - -new TestCase( "+( ' ' + '999' )", 999, +( ' '+'999') ); -new TestCase( "+( '\\n' + '999' )", 999, +( '\n' +'999') ); -new TestCase( "+( '\\r' + '999' )", 999, +( '\r' +'999') ); -new TestCase( "+( '\\t' + '999' )", 999, +( '\t' +'999') ); -new TestCase( "+( '\\f' + '999' )", 999, +( '\f' +'999') ); - -new TestCase( "+( '999' + ' ' )", 999, +( '999'+' ') ); -new TestCase( "+( '999' + '\\n' )", 999, +( '999'+'\n' ) ); -new TestCase( "+( '999' + '\\r' )", 999, +( '999'+'\r' ) ); -new TestCase( "+( '999' + '\\t' )", 999, +( '999'+'\t' ) ); -new TestCase( "+( '999' + '\\f' )", 999, +( '999'+'\f' ) ); - -new TestCase( "+( '\\n' + '999' + '\\n' )", 999, +( '\n' +'999'+'\n' ) ); -new TestCase( "+( '\\r' + '999' + '\\r' )", 999, +( '\r' +'999'+'\r' ) ); -new TestCase( "+( '\\t' + '999' + '\\t' )", 999, +( '\t' +'999'+'\t' ) ); -new TestCase( "+( '\\f' + '999' + '\\f' )", 999, +( '\f' +'999'+'\f' ) ); - -new TestCase( "+( String.fromCharCode(0x0009) + '99' )", 99, +( String.fromCharCode(0x0009) + '99' ) ); -new TestCase( "+( String.fromCharCode(0x0020) + '99' )", 99, +( String.fromCharCode(0x0020) + '99' ) ); -new TestCase( "+( String.fromCharCode(0x000C) + '99' )", 99, +( String.fromCharCode(0x000C) + '99' ) ); -new TestCase( "+( String.fromCharCode(0x000B) + '99' )", 99, +( String.fromCharCode(0x000B) + '99' ) ); -new TestCase( "+( String.fromCharCode(0x000D) + '99' )", 99, +( String.fromCharCode(0x000D) + '99' ) ); -new TestCase( "+( String.fromCharCode(0x000A) + '99' )", 99, +( String.fromCharCode(0x000A) + '99' ) ); - -new TestCase( "+( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0009)", 99, +( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0009)) ); -new TestCase( "+( String.fromCharCode(0x0020) + '99' + String.fromCharCode(0x0020)", 99, +( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0020)) ); -new TestCase( "+( String.fromCharCode(0x000C) + '99' + String.fromCharCode(0x000C)", 99, +( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000C)) ); -new TestCase( "+( String.fromCharCode(0x000D) + '99' + String.fromCharCode(0x000D)", 99, +( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000D)) ); -new TestCase( "+( String.fromCharCode(0x000B) + '99' + String.fromCharCode(0x000B)", 99, +( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000B)) ); -new TestCase( "+( String.fromCharCode(0x000A) + '99' + String.fromCharCode(0x000A)", 99, +( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000A)) ); - -new TestCase( "+( '99' + String.fromCharCode(0x0009)", 99, +( '99' + String.fromCharCode(0x0009)) ); -new TestCase( "+( '99' + String.fromCharCode(0x0020)", 99, +( '99' + String.fromCharCode(0x0020)) ); -new TestCase( "+( '99' + String.fromCharCode(0x000C)", 99, +( '99' + String.fromCharCode(0x000C)) ); -new TestCase( "+( '99' + String.fromCharCode(0x000D)", 99, +( '99' + String.fromCharCode(0x000D)) ); -new TestCase( "+( '99' + String.fromCharCode(0x000B)", 99, +( '99' + String.fromCharCode(0x000B)) ); -new TestCase( "+( '99' + String.fromCharCode(0x000A)", 99, +( '99' + String.fromCharCode(0x000A)) ); - -new TestCase( "+( String.fromCharCode(0x0009) + 99 )", 99, +( String.fromCharCode(0x0009) + 99 ) ); -new TestCase( "+( String.fromCharCode(0x0020) + 99 )", 99, +( String.fromCharCode(0x0020) + 99 ) ); -new TestCase( "+( String.fromCharCode(0x000C) + 99 )", 99, +( String.fromCharCode(0x000C) + 99 ) ); -new TestCase( "+( String.fromCharCode(0x000B) + 99 )", 99, +( String.fromCharCode(0x000B) + 99 ) ); -new TestCase( "+( String.fromCharCode(0x000D) + 99 )", 99, +( String.fromCharCode(0x000D) + 99 ) ); -new TestCase( "+( String.fromCharCode(0x000A) + 99 )", 99, +( String.fromCharCode(0x000A) + 99 ) ); - -new TestCase( "+( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0009)", 99, +( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0009)) ); -new TestCase( "+( String.fromCharCode(0x0020) + 99 + String.fromCharCode(0x0020)", 99, +( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0020)) ); -new TestCase( "+( String.fromCharCode(0x000C) + 99 + String.fromCharCode(0x000C)", 99, +( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000C)) ); -new TestCase( "+( String.fromCharCode(0x000D) + 99 + String.fromCharCode(0x000D)", 99, +( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000D)) ); -new TestCase( "+( String.fromCharCode(0x000B) + 99 + String.fromCharCode(0x000B)", 99, +( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000B)) ); -new TestCase( "+( String.fromCharCode(0x000A) + 99 + String.fromCharCode(0x000A)", 99, +( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000A)) ); - -new TestCase( "+( 99 + String.fromCharCode(0x0009)", 99, +( 99 + String.fromCharCode(0x0009)) ); -new TestCase( "+( 99 + String.fromCharCode(0x0020)", 99, +( 99 + String.fromCharCode(0x0020)) ); -new TestCase( "+( 99 + String.fromCharCode(0x000C)", 99, +( 99 + String.fromCharCode(0x000C)) ); -new TestCase( "+( 99 + String.fromCharCode(0x000D)", 99, +( 99 + String.fromCharCode(0x000D)) ); -new TestCase( "+( 99 + String.fromCharCode(0x000B)", 99, +( 99 + String.fromCharCode(0x000B)) ); -new TestCase( "+( 99 + String.fromCharCode(0x000A)", 99, +( 99 + String.fromCharCode(0x000A)) ); - - -// StrNumericLiteral:::StrDecimalLiteral:::Infinity - -new TestCase( "+('Infinity')", Math.pow(10,10000), +("Infinity") ); -new TestCase( "+('-Infinity')", -Math.pow(10,10000), +("-Infinity") ); -new TestCase( "+('+Infinity')", Math.pow(10,10000), +("+Infinity") ); - -// StrNumericLiteral::: StrDecimalLiteral ::: DecimalDigits . DecimalDigits opt ExponentPart opt - -new TestCase( "+('0')", 0, +("0") ); -new TestCase( "+('-0')", -0, +("-0") ); -new TestCase( "+('+0')", 0, +("+0") ); - -new TestCase( "+('1')", 1, +("1") ); -new TestCase( "+('-1')", -1, +("-1") ); -new TestCase( "+('+1')", 1, +("+1") ); - -new TestCase( "+('2')", 2, +("2") ); -new TestCase( "+('-2')", -2, +("-2") ); -new TestCase( "+('+2')", 2, +("+2") ); - -new TestCase( "+('3')", 3, +("3") ); -new TestCase( "+('-3')", -3, +("-3") ); -new TestCase( "+('+3')", 3, +("+3") ); - -new TestCase( "+('4')", 4, +("4") ); -new TestCase( "+('-4')", -4, +("-4") ); -new TestCase( "+('+4')", 4, +("+4") ); - -new TestCase( "+('5')", 5, +("5") ); -new TestCase( "+('-5')", -5, +("-5") ); -new TestCase( "+('+5')", 5, +("+5") ); - -new TestCase( "+('6')", 6, +("6") ); -new TestCase( "+('-6')", -6, +("-6") ); -new TestCase( "+('+6')", 6, +("+6") ); - -new TestCase( "+('7')", 7, +("7") ); -new TestCase( "+('-7')", -7, +("-7") ); -new TestCase( "+('+7')", 7, +("+7") ); - -new TestCase( "+('8')", 8, +("8") ); -new TestCase( "+('-8')", -8, +("-8") ); -new TestCase( "+('+8')", 8, +("+8") ); - -new TestCase( "+('9')", 9, +("9") ); -new TestCase( "+('-9')", -9, +("-9") ); -new TestCase( "+('+9')", 9, +("+9") ); - -new TestCase( "+('3.14159')", 3.14159, +("3.14159") ); -new TestCase( "+('-3.14159')", -3.14159, +("-3.14159") ); -new TestCase( "+('+3.14159')", 3.14159, +("+3.14159") ); - -new TestCase( "+('3.')", 3, +("3.") ); -new TestCase( "+('-3.')", -3, +("-3.") ); -new TestCase( "+('+3.')", 3, +("+3.") ); - -new TestCase( "+('3.e1')", 30, +("3.e1") ); -new TestCase( "+('-3.e1')", -30, +("-3.e1") ); -new TestCase( "+('+3.e1')", 30, +("+3.e1") ); - -new TestCase( "+('3.e+1')", 30, +("3.e+1") ); -new TestCase( "+('-3.e+1')", -30, +("-3.e+1") ); -new TestCase( "+('+3.e+1')", 30, +("+3.e+1") ); - -new TestCase( "+('3.e-1')", .30, +("3.e-1") ); -new TestCase( "+('-3.e-1')", -.30, +("-3.e-1") ); -new TestCase( "+('+3.e-1')", .30, +("+3.e-1") ); - -// StrDecimalLiteral::: .DecimalDigits ExponentPart opt - -new TestCase( "+('.00001')", 0.00001, +(".00001") ); -new TestCase( "+('+.00001')", 0.00001, +("+.00001") ); -new TestCase( "+('-0.0001')", -0.00001, +("-.00001") ); - -new TestCase( "+('.01e2')", 1, +(".01e2") ); -new TestCase( "+('+.01e2')", 1, +("+.01e2") ); -new TestCase( "+('-.01e2')", -1, +("-.01e2") ); - -new TestCase( "+('.01e+2')", 1, +(".01e+2") ); -new TestCase( "+('+.01e+2')", 1, +("+.01e+2") ); -new TestCase( "+('-.01e+2')", -1, +("-.01e+2") ); - -new TestCase( "+('.01e-2')", 0.0001, +(".01e-2") ); -new TestCase( "+('+.01e-2')", 0.0001, +("+.01e-2") ); -new TestCase( "+('-.01e-2')", -0.0001, +("-.01e-2") ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt - -new TestCase( "+('1234e5')", 123400000, +("1234e5") ); -new TestCase( "+('+1234e5')", 123400000, +("+1234e5") ); -new TestCase( "+('-1234e5')", -123400000, +("-1234e5") ); - -new TestCase( "+('1234e+5')", 123400000, +("1234e+5") ); -new TestCase( "+('+1234e+5')", 123400000, +("+1234e+5") ); -new TestCase( "+('-1234e+5')", -123400000, +("-1234e+5") ); - -new TestCase( "+('1234e-5')", 0.01234, +("1234e-5") ); -new TestCase( "+('+1234e-5')", 0.01234, +("+1234e-5") ); -new TestCase( "+('-1234e-5')", -0.01234, +("-1234e-5") ); - -// StrNumericLiteral::: HexIntegerLiteral - -new TestCase( "+('0x0')", 0, +("0x0")); -new TestCase( "+('0x1')", 1, +("0x1")); -new TestCase( "+('0x2')", 2, +("0x2")); -new TestCase( "+('0x3')", 3, +("0x3")); -new TestCase( "+('0x4')", 4, +("0x4")); -new TestCase( "+('0x5')", 5, +("0x5")); -new TestCase( "+('0x6')", 6, +("0x6")); -new TestCase( "+('0x7')", 7, +("0x7")); -new TestCase( "+('0x8')", 8, +("0x8")); -new TestCase( "+('0x9')", 9, +("0x9")); -new TestCase( "+('0xa')", 10, +("0xa")); -new TestCase( "+('0xb')", 11, +("0xb")); -new TestCase( "+('0xc')", 12, +("0xc")); -new TestCase( "+('0xd')", 13, +("0xd")); -new TestCase( "+('0xe')", 14, +("0xe")); -new TestCase( "+('0xf')", 15, +("0xf")); -new TestCase( "+('0xA')", 10, +("0xA")); -new TestCase( "+('0xB')", 11, +("0xB")); -new TestCase( "+('0xC')", 12, +("0xC")); -new TestCase( "+('0xD')", 13, +("0xD")); -new TestCase( "+('0xE')", 14, +("0xE")); -new TestCase( "+('0xF')", 15, +("0xF")); - -new TestCase( "+('0X0')", 0, +("0X0")); -new TestCase( "+('0X1')", 1, +("0X1")); -new TestCase( "+('0X2')", 2, +("0X2")); -new TestCase( "+('0X3')", 3, +("0X3")); -new TestCase( "+('0X4')", 4, +("0X4")); -new TestCase( "+('0X5')", 5, +("0X5")); -new TestCase( "+('0X6')", 6, +("0X6")); -new TestCase( "+('0X7')", 7, +("0X7")); -new TestCase( "+('0X8')", 8, +("0X8")); -new TestCase( "+('0X9')", 9, +("0X9")); -new TestCase( "+('0Xa')", 10, +("0Xa")); -new TestCase( "+('0Xb')", 11, +("0Xb")); -new TestCase( "+('0Xc')", 12, +("0Xc")); -new TestCase( "+('0Xd')", 13, +("0Xd")); -new TestCase( "+('0Xe')", 14, +("0Xe")); -new TestCase( "+('0Xf')", 15, +("0Xf")); -new TestCase( "+('0XA')", 10, +("0XA")); -new TestCase( "+('0XB')", 11, +("0XB")); -new TestCase( "+('0XC')", 12, +("0XC")); -new TestCase( "+('0XD')", 13, +("0XD")); -new TestCase( "+('0XE')", 14, +("0XE")); -new TestCase( "+('0XF')", 15, +("0XF")); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.4.7-01.js b/js/src/tests/ecma/Expressions/11.4.7-01.js deleted file mode 100644 index 348144b853ce..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.7-01.js +++ /dev/null @@ -1,264 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.7-01.js - ECMA Section: 11.4.7 Unary - Operator - Description: convert operand to Number type and change sign - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "11.4.7"; -var BUGNUMBER="77391"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " Unary + operator"); - -new TestCase( "-('')", -0, -("") ); -new TestCase( "-(' ')", -0, -(" ") ); -new TestCase( "-(\\t)", -0, -("\t") ); -new TestCase( "-(\\n)", -0, -("\n") ); -new TestCase( "-(\\r)", -0, -("\r") ); -new TestCase( "-(\\f)", -0, -("\f") ); - -new TestCase( "-(String.fromCharCode(0x0009)", -0, -(String.fromCharCode(0x0009)) ); -new TestCase( "-(String.fromCharCode(0x0020)", -0, -(String.fromCharCode(0x0020)) ); -new TestCase( "-(String.fromCharCode(0x000C)", -0, -(String.fromCharCode(0x000C)) ); -new TestCase( "-(String.fromCharCode(0x000B)", -0, -(String.fromCharCode(0x000B)) ); -new TestCase( "-(String.fromCharCode(0x000D)", -0, -(String.fromCharCode(0x000D)) ); -new TestCase( "-(String.fromCharCode(0x000A)", -0, -(String.fromCharCode(0x000A)) ); - -// a StringNumericLiteral may be preceeded or followed by whitespace and/or -// line terminators - -new TestCase( "-( ' ' + 999 )", -999, -( ' '+999) ); -new TestCase( "-( '\\n' + 999 )", -999, -( '\n' +999) ); -new TestCase( "-( '\\r' + 999 )", -999, -( '\r' +999) ); -new TestCase( "-( '\\t' + 999 )", -999, -( '\t' +999) ); -new TestCase( "-( '\\f' + 999 )", -999, -( '\f' +999) ); - -new TestCase( "-( 999 + ' ' )", -999, -( 999+' ') ); -new TestCase( "-( 999 + '\\n' )", -999, -( 999+'\n' ) ); -new TestCase( "-( 999 + '\\r' )", -999, -( 999+'\r' ) ); -new TestCase( "-( 999 + '\\t' )", -999, -( 999+'\t' ) ); -new TestCase( "-( 999 + '\\f' )", -999, -( 999+'\f' ) ); - -new TestCase( "-( '\\n' + 999 + '\\n' )", -999, -( '\n' +999+'\n' ) ); -new TestCase( "-( '\\r' + 999 + '\\r' )", -999, -( '\r' +999+'\r' ) ); -new TestCase( "-( '\\t' + 999 + '\\t' )", -999, -( '\t' +999+'\t' ) ); -new TestCase( "-( '\\f' + 999 + '\\f' )", -999, -( '\f' +999+'\f' ) ); - -new TestCase( "-( ' ' + '999' )", -999, -( ' '+'999') ); -new TestCase( "-( '\\n' + '999' )", -999, -( '\n' +'999') ); -new TestCase( "-( '\\r' + '999' )", -999, -( '\r' +'999') ); -new TestCase( "-( '\\t' + '999' )", -999, -( '\t' +'999') ); -new TestCase( "-( '\\f' + '999' )", -999, -( '\f' +'999') ); - -new TestCase( "-( '999' + ' ' )", -999, -( '999'+' ') ); -new TestCase( "-( '999' + '\\n' )", -999, -( '999'+'\n' ) ); -new TestCase( "-( '999' + '\\r' )", -999, -( '999'+'\r' ) ); -new TestCase( "-( '999' + '\\t' )", -999, -( '999'+'\t' ) ); -new TestCase( "-( '999' + '\\f' )", -999, -( '999'+'\f' ) ); - -new TestCase( "-( '\\n' + '999' + '\\n' )", -999, -( '\n' +'999'+'\n' ) ); -new TestCase( "-( '\\r' + '999' + '\\r' )", -999, -( '\r' +'999'+'\r' ) ); -new TestCase( "-( '\\t' + '999' + '\\t' )", -999, -( '\t' +'999'+'\t' ) ); -new TestCase( "-( '\\f' + '999' + '\\f' )", -999, -( '\f' +'999'+'\f' ) ); - -new TestCase( "-( String.fromCharCode(0x0009) + '99' )", -99, -( String.fromCharCode(0x0009) + '99' ) ); -new TestCase( "-( String.fromCharCode(0x0020) + '99' )", -99, -( String.fromCharCode(0x0020) + '99' ) ); -new TestCase( "-( String.fromCharCode(0x000C) + '99' )", -99, -( String.fromCharCode(0x000C) + '99' ) ); -new TestCase( "-( String.fromCharCode(0x000B) + '99' )", -99, -( String.fromCharCode(0x000B) + '99' ) ); -new TestCase( "-( String.fromCharCode(0x000D) + '99' )", -99, -( String.fromCharCode(0x000D) + '99' ) ); -new TestCase( "-( String.fromCharCode(0x000A) + '99' )", -99, -( String.fromCharCode(0x000A) + '99' ) ); - -new TestCase( "-( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0009)", -99, -( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0009)) ); -new TestCase( "-( String.fromCharCode(0x0020) + '99' + String.fromCharCode(0x0020)", -99, -( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0020)) ); -new TestCase( "-( String.fromCharCode(0x000C) + '99' + String.fromCharCode(0x000C)", -99, -( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000C)) ); -new TestCase( "-( String.fromCharCode(0x000D) + '99' + String.fromCharCode(0x000D)", -99, -( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000D)) ); -new TestCase( "-( String.fromCharCode(0x000B) + '99' + String.fromCharCode(0x000B)", -99, -( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000B)) ); -new TestCase( "-( String.fromCharCode(0x000A) + '99' + String.fromCharCode(0x000A)", -99, -( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000A)) ); - -new TestCase( "-( '99' + String.fromCharCode(0x0009)", -99, -( '99' + String.fromCharCode(0x0009)) ); -new TestCase( "-( '99' + String.fromCharCode(0x0020)", -99, -( '99' + String.fromCharCode(0x0020)) ); -new TestCase( "-( '99' + String.fromCharCode(0x000C)", -99, -( '99' + String.fromCharCode(0x000C)) ); -new TestCase( "-( '99' + String.fromCharCode(0x000D)", -99, -( '99' + String.fromCharCode(0x000D)) ); -new TestCase( "-( '99' + String.fromCharCode(0x000B)", -99, -( '99' + String.fromCharCode(0x000B)) ); -new TestCase( "-( '99' + String.fromCharCode(0x000A)", -99, -( '99' + String.fromCharCode(0x000A)) ); - -new TestCase( "-( String.fromCharCode(0x0009) + 99 )", -99, -( String.fromCharCode(0x0009) + 99 ) ); -new TestCase( "-( String.fromCharCode(0x0020) + 99 )", -99, -( String.fromCharCode(0x0020) + 99 ) ); -new TestCase( "-( String.fromCharCode(0x000C) + 99 )", -99, -( String.fromCharCode(0x000C) + 99 ) ); -new TestCase( "-( String.fromCharCode(0x000B) + 99 )", -99, -( String.fromCharCode(0x000B) + 99 ) ); -new TestCase( "-( String.fromCharCode(0x000D) + 99 )", -99, -( String.fromCharCode(0x000D) + 99 ) ); -new TestCase( "-( String.fromCharCode(0x000A) + 99 )", -99, -( String.fromCharCode(0x000A) + 99 ) ); - -new TestCase( "-( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0009)", -99, -( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0009)) ); -new TestCase( "-( String.fromCharCode(0x0020) + 99 + String.fromCharCode(0x0020)", -99, -( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0020)) ); -new TestCase( "-( String.fromCharCode(0x000C) + 99 + String.fromCharCode(0x000C)", -99, -( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000C)) ); -new TestCase( "-( String.fromCharCode(0x000D) + 99 + String.fromCharCode(0x000D)", -99, -( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000D)) ); -new TestCase( "-( String.fromCharCode(0x000B) + 99 + String.fromCharCode(0x000B)", -99, -( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000B)) ); -new TestCase( "-( String.fromCharCode(0x000A) + 99 + String.fromCharCode(0x000A)", -99, -( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000A)) ); - -new TestCase( "-( 99 + String.fromCharCode(0x0009)", -99, -( 99 + String.fromCharCode(0x0009)) ); -new TestCase( "-( 99 + String.fromCharCode(0x0020)", -99, -( 99 + String.fromCharCode(0x0020)) ); -new TestCase( "-( 99 + String.fromCharCode(0x000C)", -99, -( 99 + String.fromCharCode(0x000C)) ); -new TestCase( "-( 99 + String.fromCharCode(0x000D)", -99, -( 99 + String.fromCharCode(0x000D)) ); -new TestCase( "-( 99 + String.fromCharCode(0x000B)", -99, -( 99 + String.fromCharCode(0x000B)) ); -new TestCase( "-( 99 + String.fromCharCode(0x000A)", -99, -( 99 + String.fromCharCode(0x000A)) ); - - -// StrNumericLiteral:::StrDecimalLiteral:::Infinity - -new TestCase( "-('Infinity')", -Math.pow(10,10000), -("Infinity") ); -new TestCase( "-('-Infinity')", +Math.pow(10,10000), -("-Infinity") ); -new TestCase( "-('+Infinity')", -Math.pow(10,10000), -("+Infinity") ); - -// StrNumericLiteral::: StrDecimalLiteral ::: DecimalDigits . DecimalDigits opt ExponentPart opt - -new TestCase( "-('0')", -0, -("0") ); -new TestCase( "-('-0')", +0, -("-0") ); -new TestCase( "-('+0')", -0, -("+0") ); - -new TestCase( "-('1')", -1, -("1") ); -new TestCase( "-('-1')", +1, -("-1") ); -new TestCase( "-('+1')", -1, -("+1") ); - -new TestCase( "-('2')", -2, -("2") ); -new TestCase( "-('-2')", +2, -("-2") ); -new TestCase( "-('+2')", -2, -("+2") ); - -new TestCase( "-('3')", -3, -("3") ); -new TestCase( "-('-3')", +3, -("-3") ); -new TestCase( "-('+3')", -3, -("+3") ); - -new TestCase( "-('4')", -4, -("4") ); -new TestCase( "-('-4')", +4, -("-4") ); -new TestCase( "-('+4')", -4, -("+4") ); - -new TestCase( "-('5')", -5, -("5") ); -new TestCase( "-('-5')", +5, -("-5") ); -new TestCase( "-('+5')", -5, -("+5") ); - -new TestCase( "-('6')", -6, -("6") ); -new TestCase( "-('-6')", +6, -("-6") ); -new TestCase( "-('+6')", -6, -("+6") ); - -new TestCase( "-('7')", -7, -("7") ); -new TestCase( "-('-7')", +7, -("-7") ); -new TestCase( "-('+7')", -7, -("+7") ); - -new TestCase( "-('8')", -8, -("8") ); -new TestCase( "-('-8')", +8, -("-8") ); -new TestCase( "-('+8')", -8, -("+8") ); - -new TestCase( "-('9')", -9, -("9") ); -new TestCase( "-('-9')", +9, -("-9") ); -new TestCase( "-('+9')", -9, -("+9") ); - -new TestCase( "-('3.14159')", -3.14159, -("3.14159") ); -new TestCase( "-('-3.14159')", +3.14159, -("-3.14159") ); -new TestCase( "-('+3.14159')", -3.14159, -("+3.14159") ); - -new TestCase( "-('3.')", -3, -("3.") ); -new TestCase( "-('-3.')", +3, -("-3.") ); -new TestCase( "-('+3.')", -3, -("+3.") ); - -new TestCase( "-('3.e1')", -30, -("3.e1") ); -new TestCase( "-('-3.e1')", +30, -("-3.e1") ); -new TestCase( "-('+3.e1')", -30, -("+3.e1") ); - -new TestCase( "-('3.e+1')", -30, -("3.e+1") ); -new TestCase( "-('-3.e+1')", +30, -("-3.e+1") ); -new TestCase( "-('+3.e+1')", -30, -("+3.e+1") ); - -new TestCase( "-('3.e-1')", -.30, -("3.e-1") ); -new TestCase( "-('-3.e-1')", +.30, -("-3.e-1") ); -new TestCase( "-('+3.e-1')", -.30, -("+3.e-1") ); - -// StrDecimalLiteral::: .DecimalDigits ExponentPart opt - -new TestCase( "-('.00001')", -0.00001, -(".00001") ); -new TestCase( "-('+.00001')", -0.00001, -("+.00001") ); -new TestCase( "-('-0.0001')", +0.00001, -("-.00001") ); - -new TestCase( "-('.01e2')", -1, -(".01e2") ); -new TestCase( "-('+.01e2')", -1, -("+.01e2") ); -new TestCase( "-('-.01e2')", +1, -("-.01e2") ); - -new TestCase( "-('.01e+2')", -1, -(".01e+2") ); -new TestCase( "-('+.01e+2')", -1, -("+.01e+2") ); -new TestCase( "-('-.01e+2')", +1, -("-.01e+2") ); - -new TestCase( "-('.01e-2')", -0.0001, -(".01e-2") ); -new TestCase( "-('+.01e-2')", -0.0001, -("+.01e-2") ); -new TestCase( "-('-.01e-2')", +0.0001, -("-.01e-2") ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt - -new TestCase( "-('1234e5')", -123400000, -("1234e5") ); -new TestCase( "-('+1234e5')", -123400000, -("+1234e5") ); -new TestCase( "-('-1234e5')", +123400000, -("-1234e5") ); - -new TestCase( "-('1234e+5')", -123400000, -("1234e+5") ); -new TestCase( "-('+1234e+5')", -123400000, -("+1234e+5") ); -new TestCase( "-('-1234e+5')", +123400000, -("-1234e+5") ); - -new TestCase( "-('1234e-5')", -0.01234, -("1234e-5") ); -new TestCase( "-('+1234e-5')", -0.01234, -("+1234e-5") ); -new TestCase( "-('-1234e-5')", +0.01234, -("-1234e-5") ); - -// StrNumericLiteral::: HexIntegerLiteral - -new TestCase( "-('0x0')", -0, -("0x0")); -new TestCase( "-('0x1')", -1, -("0x1")); -new TestCase( "-('0x2')", -2, -("0x2")); -new TestCase( "-('0x3')", -3, -("0x3")); -new TestCase( "-('0x4')", -4, -("0x4")); -new TestCase( "-('0x5')", -5, -("0x5")); -new TestCase( "-('0x6')", -6, -("0x6")); -new TestCase( "-('0x7')", -7, -("0x7")); -new TestCase( "-('0x8')", -8, -("0x8")); -new TestCase( "-('0x9')", -9, -("0x9")); -new TestCase( "-('0xa')", -10, -("0xa")); -new TestCase( "-('0xb')", -11, -("0xb")); -new TestCase( "-('0xc')", -12, -("0xc")); -new TestCase( "-('0xd')", -13, -("0xd")); -new TestCase( "-('0xe')", -14, -("0xe")); -new TestCase( "-('0xf')", -15, -("0xf")); -new TestCase( "-('0xA')", -10, -("0xA")); -new TestCase( "-('0xB')", -11, -("0xB")); -new TestCase( "-('0xC')", -12, -("0xC")); -new TestCase( "-('0xD')", -13, -("0xD")); -new TestCase( "-('0xE')", -14, -("0xE")); -new TestCase( "-('0xF')", -15, -("0xF")); - -new TestCase( "-('0X0')", -0, -("0X0")); -new TestCase( "-('0X1')", -1, -("0X1")); -new TestCase( "-('0X2')", -2, -("0X2")); -new TestCase( "-('0X3')", -3, -("0X3")); -new TestCase( "-('0X4')", -4, -("0X4")); -new TestCase( "-('0X5')", -5, -("0X5")); -new TestCase( "-('0X6')", -6, -("0X6")); -new TestCase( "-('0X7')", -7, -("0X7")); -new TestCase( "-('0X8')", -8, -("0X8")); -new TestCase( "-('0X9')", -9, -("0X9")); -new TestCase( "-('0Xa')", -10, -("0Xa")); -new TestCase( "-('0Xb')", -11, -("0Xb")); -new TestCase( "-('0Xc')", -12, -("0Xc")); -new TestCase( "-('0Xd')", -13, -("0Xd")); -new TestCase( "-('0Xe')", -14, -("0Xe")); -new TestCase( "-('0Xf')", -15, -("0Xf")); -new TestCase( "-('0XA')", -10, -("0XA")); -new TestCase( "-('0XB')", -11, -("0XB")); -new TestCase( "-('0XC')", -12, -("0XC")); -new TestCase( "-('0XD')", -13, -("0XD")); -new TestCase( "-('0XE')", -14, -("0XE")); -new TestCase( "-('0XF')", -15, -("0XF")); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.4.7-02.js b/js/src/tests/ecma/Expressions/11.4.7-02.js deleted file mode 100644 index 2fe7ed28caad..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.7-02.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: 11.4.7-02.js - * Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=432881 - * Description: ecma 11.4.7 - */ - -var SECTION = "11.4.7"; -var TITLE = "Unary - Operator"; -var BUGNUMBER = "432881"; - -printBugNumber(BUGNUMBER); - -test_negation(0, -0.0); -test_negation(-0.0, 0); -test_negation(1, -1); -test_negation(1.0/0.0, -1.0/0.0); -test_negation(-1.0/0.0, 1.0/0.0); - -//1073741824 == (1 << 30) -test_negation(1073741824, -1073741824); -test_negation(-1073741824, 1073741824); - -//1073741824 == (1 << 30) - 1 -test_negation(1073741823, -1073741823); -test_negation(-1073741823, 1073741823); - -//1073741824 == (1 << 30) -test_negation(1073741824, -1073741824); -test_negation(-1073741824, 1073741824); - -//1073741824 == (1 << 30) - 1 -test_negation(1073741823, -1073741823); -test_negation(-1073741823, 1073741823); - -//2147483648 == (1 << 31) -test_negation(2147483648, -2147483648); -test_negation(-2147483648, 2147483648); - -//2147483648 == (1 << 31) - 1 -test_negation(2147483647, -2147483647); -test_negation(-2147483647, 2147483647); - -function test_negation(value, expected) -{ - var actual = -value; - reportCompare(expected, actual, '-(' + value + ') == ' + expected); -} diff --git a/js/src/tests/ecma/Expressions/11.4.8.js b/js/src/tests/ecma/Expressions/11.4.8.js deleted file mode 100644 index 91256b596843..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.8.js +++ /dev/null @@ -1,179 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.8.js - ECMA Section: 11.4.8 Bitwise NOT Operator - Description: flip bits up to 32 bits - no special cases - Author: christine@netscape.com - Date: 7 july 1997 - - Data File Fields: - VALUE value passed as an argument to the ~ operator - E_RESULT expected return value of ~ VALUE; - - Static variables: - none - -*/ - -var SECTION = "11.4.8"; - -writeHeaderToLog( SECTION + " Bitwise Not operator"); - -for ( var i = 0; i < 35; i++ ) { - var p = Math.pow(2,i); - - new TestCase( "~"+p, Not(p), ~p ); - -} -for ( i = 0; i < 35; i++ ) { - var p = -Math.pow(2,i); - - new TestCase( "~"+p, Not(p), ~p ); - -} - -test(); - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( var p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( var p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - for ( var l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function Not( n ) { - n = ToInt32(n); - n = ToInt32BitString(n); - - var r = ""; - - for( var l = 0; l < n.length; l++ ) { - r += ( n.charAt(l) == "0" ) ? "1" : "0"; - } - - n = ToInt32Decimal(r); - - return n; -} diff --git a/js/src/tests/ecma/Expressions/11.4.9.js b/js/src/tests/ecma/Expressions/11.4.9.js deleted file mode 100644 index c0931e401007..000000000000 --- a/js/src/tests/ecma/Expressions/11.4.9.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.4.9.js - ECMA Section: 11.4.9 Logical NOT Operator (!) - Description: if the ToBoolean( VALUE ) result is true, return - true. else return false. - Author: christine@netscape.com - Date: 7 july 1997 - - Static variables: - none -*/ -var SECTION = "11.4.9"; -var TITLE = "Logical NOT operator (!)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "!(null)", true, !(null) ); -new TestCase( "!(var x)", true, !(eval("var x")) ); -new TestCase( "!(void 0)", true, !(void 0) ); - -new TestCase( "!(false)", true, !(false) ); -new TestCase( "!(true)", false, !(true) ); -new TestCase( "!()", true, !(eval()) ); -new TestCase( "!(0)", true, !(0) ); -new TestCase( "!(-0)", true, !(-0) ); -new TestCase( "!(NaN)", true, !(Number.NaN) ); -new TestCase( "!(Infinity)", false, !(Number.POSITIVE_INFINITY) ); -new TestCase( "!(-Infinity)", false, !(Number.NEGATIVE_INFINITY) ); -new TestCase( "!(Math.PI)", false, !(Math.PI) ); -new TestCase( "!(1)", false, !(1) ); -new TestCase( "!(-1)", false, !(-1) ); -new TestCase( "!('')", true, !("") ); -new TestCase( "!('\t')", false, !("\t") ); -new TestCase( "!('0')", false, !("0") ); -new TestCase( "!('string')", false, !("string") ); -new TestCase( "!(new String(''))", false, !(new String("")) ); -new TestCase( "!(new String('string'))", false, !(new String("string")) ); -new TestCase( "!(new String())", false, !(new String()) ); -new TestCase( "!(new Boolean(true))", false, !(new Boolean(true)) ); -new TestCase( "!(new Boolean(false))", false, !(new Boolean(false)) ); -new TestCase( "!(new Array())", false, !(new Array()) ); -new TestCase( "!(new Array(1,2,3)", false, !(new Array(1,2,3)) ); -new TestCase( "!(new Number())", false, !(new Number()) ); -new TestCase( "!(new Number(0))", false, !(new Number(0)) ); -new TestCase( "!(new Number(NaN))", false, !(new Number(Number.NaN)) ); -new TestCase( "!(new Number(Infinity))", false, !(new Number(Number.POSITIVE_INFINITY)) ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.5.1.js b/js/src/tests/ecma/Expressions/11.5.1.js deleted file mode 100644 index 5cc7cf77751b..000000000000 --- a/js/src/tests/ecma/Expressions/11.5.1.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.5.1.js - ECMA Section: 11.5.1 Applying the * operator - Description: - - 11.5.1 Applying the * operator - - The * operator performs multiplication, producing the product of its - operands. Multiplication is commutative. Multiplication is not always - associative in ECMAScript, because of finite precision. - - The result of a floating-point multiplication is governed by the rules - of IEEE 754 double-precision arithmetic: - - If either operand is NaN, the result is NaN. - The sign of the result is positive if both operands have the same sign, - negative if the operands have different signs. - Multiplication of an infinity by a zero results in NaN. - Multiplication of an infinity by an infinity results in an infinity. - The sign is determined by the rule already stated above. - Multiplication of an infinity by a finite non-zero value results in a - signed infinity. The sign is determined by the rule already stated above. - In the remaining cases, where neither an infinity or NaN is involved, the - product is computed and rounded to the nearest representable value using IEEE - 754 round-to-nearest mode. If the magnitude is too large to represent, - the result is then an infinity of appropriate sign. If the magnitude is - oo small to represent, the result is then a zero - of appropriate sign. The ECMAScript language requires support of gradual - underflow as defined by IEEE 754. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.5.1"; - -writeHeaderToLog( SECTION + " Applying the * operator"); - -new TestCase( "Number.NaN * Number.NaN", Number.NaN, Number.NaN * Number.NaN ); -new TestCase( "Number.NaN * 1", Number.NaN, Number.NaN * 1 ); -new TestCase( "1 * Number.NaN", Number.NaN, 1 * Number.NaN ); - -new TestCase( "Number.POSITIVE_INFINITY * 0", Number.NaN, Number.POSITIVE_INFINITY * 0 ); -new TestCase( "Number.NEGATIVE_INFINITY * 0", Number.NaN, Number.NEGATIVE_INFINITY * 0 ); -new TestCase( "0 * Number.POSITIVE_INFINITY", Number.NaN, 0 * Number.POSITIVE_INFINITY ); -new TestCase( "0 * Number.NEGATIVE_INFINITY", Number.NaN, 0 * Number.NEGATIVE_INFINITY ); - -new TestCase( "-0 * Number.POSITIVE_INFINITY", Number.NaN, -0 * Number.POSITIVE_INFINITY ); -new TestCase( "-0 * Number.NEGATIVE_INFINITY", Number.NaN, -0 * Number.NEGATIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY * -0", Number.NaN, Number.POSITIVE_INFINITY * -0 ); -new TestCase( "Number.NEGATIVE_INFINITY * -0", Number.NaN, Number.NEGATIVE_INFINITY * -0 ); - -new TestCase( "0 * -0", -0, 0 * -0 ); -new TestCase( "-0 * 0", -0, -0 * 0 ); -new TestCase( "-0 * -0", 0, -0 * -0 ); -new TestCase( "0 * 0", 0, 0 * 0 ); - -new TestCase( "Number.NEGATIVE_INFINITY * Number.NEGATIVE_INFINITY", Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY * Number.NEGATIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY * Number.NEGATIVE_INFINITY", Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY * Number.NEGATIVE_INFINITY ); -new TestCase( "Number.NEGATIVE_INFINITY * Number.POSITIVE_INFINITY", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY * Number.POSITIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY * Number.POSITIVE_INFINITY", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY * Number.POSITIVE_INFINITY ); - -new TestCase( "Number.NEGATIVE_INFINITY * 1 ", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY * 1 ); -new TestCase( "Number.NEGATIVE_INFINITY * -1 ", Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY * -1 ); -new TestCase( "1 * Number.NEGATIVE_INFINITY", Number.NEGATIVE_INFINITY, 1 * Number.NEGATIVE_INFINITY ); -new TestCase( "-1 * Number.NEGATIVE_INFINITY", Number.POSITIVE_INFINITY, -1 * Number.NEGATIVE_INFINITY ); - -new TestCase( "Number.POSITIVE_INFINITY * 1 ", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY * 1 ); -new TestCase( "Number.POSITIVE_INFINITY * -1 ", Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY * -1 ); -new TestCase( "1 * Number.POSITIVE_INFINITY", Number.POSITIVE_INFINITY, 1 * Number.POSITIVE_INFINITY ); -new TestCase( "-1 * Number.POSITIVE_INFINITY", Number.NEGATIVE_INFINITY, -1 * Number.POSITIVE_INFINITY ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.5.2.js b/js/src/tests/ecma/Expressions/11.5.2.js deleted file mode 100644 index 9acb72c66171..000000000000 --- a/js/src/tests/ecma/Expressions/11.5.2.js +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.5.2.js - ECMA Section: 11.5.2 Applying the / operator - Description: - - The / operator performs division, producing the quotient of its operands. - The left operand is the dividend and the right operand is the divisor. - ECMAScript does not perform integer division. The operands and result of all - division operations are double-precision floating-point numbers. - The result of division is determined by the specification of IEEE 754 arithmetic: - - If either operand is NaN, the result is NaN. - The sign of the result is positive if both operands have the same sign, negative if the operands have different - signs. - Division of an infinity by an infinity results in NaN. - Division of an infinity by a zero results in an infinity. The sign is determined by the rule already stated above. - Division of an infinity by a non-zero finite value results in a signed infinity. The sign is determined by the rule - already stated above. - Division of a finite value by an infinity results in zero. The sign is determined by the rule already stated above. - Division of a zero by a zero results in NaN; division of zero by any other finite value results in zero, with the sign - determined by the rule already stated above. - Division of a non-zero finite value by a zero results in a signed infinity. The sign is determined by the rule - already stated above. - In the remaining cases, where neither an infinity, nor a zero, nor NaN is involved, the quotient is computed and - rounded to the nearest representable value using IEEE 754 round-to-nearest mode. If the magnitude is too - large to represent, we say the operation overflows; the result is then an infinity of appropriate sign. If the - magnitude is too small to represent, we say the operation underflows and the result is a zero of the appropriate - sign. The ECMAScript language requires support of gradual underflow as defined by IEEE 754. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.5.2"; -var BUGNUMBER="111202"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " Applying the / operator"); - -// if either operand is NaN, the result is NaN. - -new TestCase( "Number.NaN / Number.NaN", Number.NaN, Number.NaN / Number.NaN ); -new TestCase( "Number.NaN / 1", Number.NaN, Number.NaN / 1 ); -new TestCase( "1 / Number.NaN", Number.NaN, 1 / Number.NaN ); - -new TestCase( "Number.POSITIVE_INFINITY / Number.NaN", Number.NaN, Number.POSITIVE_INFINITY / Number.NaN ); -new TestCase( "Number.NEGATIVE_INFINITY / Number.NaN", Number.NaN, Number.NEGATIVE_INFINITY / Number.NaN ); - -// Division of an infinity by an infinity results in NaN. - -new TestCase( "Number.NEGATIVE_INFINITY / Number.NEGATIVE_INFINITY", Number.NaN, Number.NEGATIVE_INFINITY / Number.NEGATIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY / Number.NEGATIVE_INFINITY", Number.NaN, Number.POSITIVE_INFINITY / Number.NEGATIVE_INFINITY ); -new TestCase( "Number.NEGATIVE_INFINITY / Number.POSITIVE_INFINITY", Number.NaN, Number.NEGATIVE_INFINITY / Number.POSITIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY / Number.POSITIVE_INFINITY", Number.NaN, Number.POSITIVE_INFINITY / Number.POSITIVE_INFINITY ); - -// Division of an infinity by a zero results in an infinity. - -new TestCase( "Number.POSITIVE_INFINITY / 0", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY / 0 ); -new TestCase( "Number.NEGATIVE_INFINITY / 0", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY / 0 ); -new TestCase( "Number.POSITIVE_INFINITY / -0", Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY / -0 ); -new TestCase( "Number.NEGATIVE_INFINITY / -0", Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY / -0 ); - -// Division of an infinity by a non-zero finite value results in a signed infinity. - -new TestCase( "Number.NEGATIVE_INFINITY / 1 ", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY / 1 ); -new TestCase( "Number.NEGATIVE_INFINITY / -1 ", Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY / -1 ); -new TestCase( "Number.POSITIVE_INFINITY / 1 ", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY / 1 ); -new TestCase( "Number.POSITIVE_INFINITY / -1 ", Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY / -1 ); - -new TestCase( "Number.NEGATIVE_INFINITY / Number.MAX_VALUE ", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY / Number.MAX_VALUE ); -new TestCase( "Number.NEGATIVE_INFINITY / -Number.MAX_VALUE ", Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY / -Number.MAX_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY / Number.MAX_VALUE ", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY / Number.MAX_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY / -Number.MAX_VALUE ", Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY / -Number.MAX_VALUE ); - -// Division of a finite value by an infinity results in zero. - -new TestCase( "1 / Number.NEGATIVE_INFINITY", -0, 1 / Number.NEGATIVE_INFINITY ); -new TestCase( "1 / Number.POSITIVE_INFINITY", 0, 1 / Number.POSITIVE_INFINITY ); -new TestCase( "-1 / Number.POSITIVE_INFINITY", -0, -1 / Number.POSITIVE_INFINITY ); -new TestCase( "-1 / Number.NEGATIVE_INFINITY", 0, -1 / Number.NEGATIVE_INFINITY ); - -new TestCase( "Number.MAX_VALUE / Number.NEGATIVE_INFINITY", -0, Number.MAX_VALUE / Number.NEGATIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE / Number.POSITIVE_INFINITY", 0, Number.MAX_VALUE / Number.POSITIVE_INFINITY ); -new TestCase( "-Number.MAX_VALUE / Number.POSITIVE_INFINITY", -0, -Number.MAX_VALUE / Number.POSITIVE_INFINITY ); -new TestCase( "-Number.MAX_VALUE / Number.NEGATIVE_INFINITY", 0, -Number.MAX_VALUE / Number.NEGATIVE_INFINITY ); - -// Division of a zero by a zero results in NaN - -new TestCase( "0 / -0", Number.NaN, 0 / -0 ); -new TestCase( "-0 / 0", Number.NaN, -0 / 0 ); -new TestCase( "-0 / -0", Number.NaN, -0 / -0 ); -new TestCase( "0 / 0", Number.NaN, 0 / 0 ); - -// division of zero by any other finite value results in zero - -new TestCase( "0 / 1", 0, 0 / 1 ); -new TestCase( "0 / -1", -0, 0 / -1 ); -new TestCase( "-0 / 1", -0, -0 / 1 ); -new TestCase( "-0 / -1", 0, -0 / -1 ); - -// Division of a non-zero finite value by a zero results in a signed infinity. - -new TestCase( "1 / 0", Number.POSITIVE_INFINITY, 1/0 ); -new TestCase( "1 / -0", Number.NEGATIVE_INFINITY, 1/-0 ); -new TestCase( "-1 / 0", Number.NEGATIVE_INFINITY, -1/0 ); -new TestCase( "-1 / -0", Number.POSITIVE_INFINITY, -1/-0 ); - -new TestCase( "0 / Number.POSITIVE_INFINITY", 0, 0 / Number.POSITIVE_INFINITY ); -new TestCase( "0 / Number.NEGATIVE_INFINITY", -0, 0 / Number.NEGATIVE_INFINITY ); -new TestCase( "-0 / Number.POSITIVE_INFINITY", -0, -0 / Number.POSITIVE_INFINITY ); -new TestCase( "-0 / Number.NEGATIVE_INFINITY", 0, -0 / Number.NEGATIVE_INFINITY ); - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.5.3.js b/js/src/tests/ecma/Expressions/11.5.3.js deleted file mode 100644 index 38291732bd6f..000000000000 --- a/js/src/tests/ecma/Expressions/11.5.3.js +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.5.3.js - ECMA Section: 11.5.3 Applying the % operator - Description: - - The binary % operator is said to yield the remainder of its operands from - an implied division; the left operand is the dividend and the right operand - is the divisor. In C and C++, the remainder operator accepts only integral - operands, but in ECMAScript, it also accepts floating-point operands. - - The result of a floating-point remainder operation as computed by the % - operator is not the same as the "remainder" operation defined by IEEE 754. - The IEEE 754 "remainder" operation computes the remainder from a rounding - division, not a truncating division, and so its behavior is not analogous - to that of the usual integer remainder operator. Instead the ECMAScript - language defines % on floating-point operations to behave in a manner - analogous to that of the Java integer remainder operator; this may be - compared with the C library function fmod. - - The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetic: - - If either operand is NaN, the result is NaN. - The sign of the result equals the sign of the dividend. - If the dividend is an infinity, or the divisor is a zero, or both, the result is NaN. - If the dividend is finite and the divisor is an infinity, the result equals the dividend. - If the dividend is a zero and the divisor is finite, the result is the same as the dividend. - In the remaining cases, where neither an infinity, nor a zero, nor NaN is involved, the floating-point remainder r - from a dividend n and a divisor d is defined by the mathematical relation r = n (d * q) where q is an integer that - is negative only if n/d is negative and positive only if n/d is positive, and whose magnitude is as large as - possible without exceeding the magnitude of the true mathematical quotient of n and d. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.5.3"; -var BUGNUMBER="111202"; -printBugNumber(BUGNUMBER); - - -writeHeaderToLog( SECTION + " Applying the % operator"); - -// if either operand is NaN, the result is NaN. - -new TestCase( "Number.NaN % Number.NaN", Number.NaN, Number.NaN % Number.NaN ); -new TestCase( "Number.NaN % 1", Number.NaN, Number.NaN % 1 ); -new TestCase( "1 % Number.NaN", Number.NaN, 1 % Number.NaN ); - -new TestCase( "Number.POSITIVE_INFINITY % Number.NaN", Number.NaN, Number.POSITIVE_INFINITY % Number.NaN ); -new TestCase( "Number.NEGATIVE_INFINITY % Number.NaN", Number.NaN, Number.NEGATIVE_INFINITY % Number.NaN ); - -// If the dividend is an infinity, or the divisor is a zero, or both, the result is NaN. -// dividend is an infinity - -new TestCase( "Number.NEGATIVE_INFINITY % Number.NEGATIVE_INFINITY", Number.NaN, Number.NEGATIVE_INFINITY % Number.NEGATIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY % Number.NEGATIVE_INFINITY", Number.NaN, Number.POSITIVE_INFINITY % Number.NEGATIVE_INFINITY ); -new TestCase( "Number.NEGATIVE_INFINITY % Number.POSITIVE_INFINITY", Number.NaN, Number.NEGATIVE_INFINITY % Number.POSITIVE_INFINITY ); -new TestCase( "Number.POSITIVE_INFINITY % Number.POSITIVE_INFINITY", Number.NaN, Number.POSITIVE_INFINITY % Number.POSITIVE_INFINITY ); - -new TestCase( "Number.POSITIVE_INFINITY % 0", Number.NaN, Number.POSITIVE_INFINITY % 0 ); -new TestCase( "Number.NEGATIVE_INFINITY % 0", Number.NaN, Number.NEGATIVE_INFINITY % 0 ); -new TestCase( "Number.POSITIVE_INFINITY % -0", Number.NaN, Number.POSITIVE_INFINITY % -0 ); -new TestCase( "Number.NEGATIVE_INFINITY % -0", Number.NaN, Number.NEGATIVE_INFINITY % -0 ); - -new TestCase( "Number.NEGATIVE_INFINITY % 1 ", Number.NaN, Number.NEGATIVE_INFINITY % 1 ); -new TestCase( "Number.NEGATIVE_INFINITY % -1 ", Number.NaN, Number.NEGATIVE_INFINITY % -1 ); -new TestCase( "Number.POSITIVE_INFINITY % 1 ", Number.NaN, Number.POSITIVE_INFINITY % 1 ); -new TestCase( "Number.POSITIVE_INFINITY % -1 ", Number.NaN, Number.POSITIVE_INFINITY % -1 ); - -new TestCase( "Number.NEGATIVE_INFINITY % Number.MAX_VALUE ", Number.NaN, Number.NEGATIVE_INFINITY % Number.MAX_VALUE ); -new TestCase( "Number.NEGATIVE_INFINITY % -Number.MAX_VALUE ", Number.NaN, Number.NEGATIVE_INFINITY % -Number.MAX_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY % Number.MAX_VALUE ", Number.NaN, Number.POSITIVE_INFINITY % Number.MAX_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY % -Number.MAX_VALUE ", Number.NaN, Number.POSITIVE_INFINITY % -Number.MAX_VALUE ); - -// divisor is 0 -new TestCase( "0 % -0", Number.NaN, 0 % -0 ); -new TestCase( "-0 % 0", Number.NaN, -0 % 0 ); -new TestCase( "-0 % -0", Number.NaN, -0 % -0 ); -new TestCase( "0 % 0", Number.NaN, 0 % 0 ); - -new TestCase( "1 % 0", Number.NaN, 1%0 ); -new TestCase( "1 % -0", Number.NaN, 1%-0 ); -new TestCase( "-1 % 0", Number.NaN, -1%0 ); -new TestCase( "-1 % -0", Number.NaN, -1%-0 ); - -new TestCase( "Number.MAX_VALUE % 0", Number.NaN, Number.MAX_VALUE%0 ); -new TestCase( "Number.MAX_VALUE % -0", Number.NaN, Number.MAX_VALUE%-0 ); -new TestCase( "-Number.MAX_VALUE % 0", Number.NaN, -Number.MAX_VALUE%0 ); -new TestCase( "-Number.MAX_VALUE % -0", Number.NaN, -Number.MAX_VALUE%-0 ); - -// If the dividend is finite and the divisor is an infinity, the result equals the dividend. - -new TestCase( "1 % Number.NEGATIVE_INFINITY", 1, 1 % Number.NEGATIVE_INFINITY ); -new TestCase( "1 % Number.POSITIVE_INFINITY", 1, 1 % Number.POSITIVE_INFINITY ); -new TestCase( "-1 % Number.POSITIVE_INFINITY", -1, -1 % Number.POSITIVE_INFINITY ); -new TestCase( "-1 % Number.NEGATIVE_INFINITY", -1, -1 % Number.NEGATIVE_INFINITY ); - -new TestCase( "Number.MAX_VALUE % Number.NEGATIVE_INFINITY", Number.MAX_VALUE, Number.MAX_VALUE % Number.NEGATIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE % Number.POSITIVE_INFINITY", Number.MAX_VALUE, Number.MAX_VALUE % Number.POSITIVE_INFINITY ); -new TestCase( "-Number.MAX_VALUE % Number.POSITIVE_INFINITY", -Number.MAX_VALUE, -Number.MAX_VALUE % Number.POSITIVE_INFINITY ); -new TestCase( "-Number.MAX_VALUE % Number.NEGATIVE_INFINITY", -Number.MAX_VALUE, -Number.MAX_VALUE % Number.NEGATIVE_INFINITY ); - -new TestCase( "0 % Number.POSITIVE_INFINITY", 0, 0 % Number.POSITIVE_INFINITY ); -new TestCase( "0 % Number.NEGATIVE_INFINITY", 0, 0 % Number.NEGATIVE_INFINITY ); -new TestCase( "-0 % Number.POSITIVE_INFINITY", -0, -0 % Number.POSITIVE_INFINITY ); -new TestCase( "-0 % Number.NEGATIVE_INFINITY", -0, -0 % Number.NEGATIVE_INFINITY ); - -// If the dividend is a zero and the divisor is finite, the result is the same as the dividend. - -new TestCase( "0 % 1", 0, 0 % 1 ); -new TestCase( "0 % -1", -0, 0 % -1 ); -new TestCase( "-0 % 1", -0, -0 % 1 ); -new TestCase( "-0 % -1", 0, -0 % -1 ); - -// In the remaining cases, where neither an infinity, nor a zero, nor NaN is involved, the floating-point remainder r -// from a dividend n and a divisor d is defined by the mathematical relation r = n (d * q) where q is an integer that -// is negative only if n/d is negative and positive only if n/d is positive, and whose magnitude is as large as -// possible without exceeding the magnitude of the true mathematical quotient of n and d. - -test(); - diff --git a/js/src/tests/ecma/Expressions/11.6.1-1.js b/js/src/tests/ecma/Expressions/11.6.1-1.js deleted file mode 100644 index 2bc1c054ca17..000000000000 --- a/js/src/tests/ecma/Expressions/11.6.1-1.js +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.1-1.js - ECMA Section: 11.6.1 The addition operator ( + ) - Description: - - The addition operator either performs string concatenation or numeric - addition. - - The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression - is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToPrimitive(Result(2)). - 6. Call ToPrimitive(Result(4)). - 7. If Type(Result(5)) is String or Type(Result(6)) is String, go to step 12. - (Note that this step differs from step 3 in the algorithm for comparison - for the relational operators in using or instead of and.) - 8. Call ToNumber(Result(5)). - 9. Call ToNumber(Result(6)). - 10. Apply the addition operation to Result(8) and Result(9). See the discussion below (11.6.3). - 11. Return Result(10). - 12. Call ToString(Result(5)). - 13. Call ToString(Result(6)). - 14. Concatenate Result(12) followed by Result(13). - 15. Return Result(14). - - Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6. - All native ECMAScript objects except Date objects handle the absence of a - hint as if the hint Number were given; Date objects handle the absence of a - hint as if the hint String were given. Host objects may handle the absence - of a hint in some other manner. - - This test does not cover cases where the Additive or Mulplicative expression - ToPrimitive is string. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.1-1"; - -writeHeaderToLog( SECTION + " The Addition operator ( + )"); - -// tests for boolean primitive, boolean object, Object object, a "MyObject" whose value is -// a boolean primitive and a boolean object. - -new TestCase( "var EXP_1 = true; var EXP_2 = false; EXP_1 + EXP_2", - 1, - eval("var EXP_1 = true; var EXP_2 = false; EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Boolean(true); var EXP_2 = new Boolean(false); EXP_1 + EXP_2", - 1, - eval("var EXP_1 = new Boolean(true); var EXP_2 = new Boolean(false); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(true); var EXP_2 = new Object(false); EXP_1 + EXP_2", - 1, - eval("var EXP_1 = new Object(true); var EXP_2 = new Object(false); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(new Boolean(true)); var EXP_2 = new Object(new Boolean(false)); EXP_1 + EXP_2", - 1, - eval("var EXP_1 = new Object(new Boolean(true)); var EXP_2 = new Object(new Boolean(false)); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(true); var EXP_2 = new MyObject(false); EXP_1 + EXP_2", - 1, - eval("var EXP_1 = new MyObject(true); var EXP_2 = new MyObject(false); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(new Boolean(true)); var EXP_2 = new MyObject(new Boolean(false)); EXP_1 + EXP_2", - "[object Object][object Object]", - eval("var EXP_1 = new MyObject(new Boolean(true)); var EXP_2 = new MyObject(new Boolean(false)); EXP_1 + EXP_2") ); - -// tests for number primitive, number object, Object object, a "MyObject" whose value is -// a number primitive and a number object. - -new TestCase( "var EXP_1 = 100; var EXP_2 = -1; EXP_1 + EXP_2", - 99, - eval("var EXP_1 = 100; var EXP_2 = -1; EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Number(100); var EXP_2 = new Number(-1); EXP_1 + EXP_2", - 99, - eval("var EXP_1 = new Number(100); var EXP_2 = new Number(-1); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(100); var EXP_2 = new Object(-1); EXP_1 + EXP_2", - 99, - eval("var EXP_1 = new Object(100); var EXP_2 = new Object(-1); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(new Number(100)); var EXP_2 = new Object(new Number(-1)); EXP_1 + EXP_2", - 99, - eval("var EXP_1 = new Object(new Number(100)); var EXP_2 = new Object(new Number(-1)); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(100); var EXP_2 = new MyObject(-1); EXP_1 + EXP_2", - 99, - eval("var EXP_1 = new MyObject(100); var EXP_2 = new MyObject(-1); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(new Number(100)); var EXP_2 = new MyObject(new Number(-1)); EXP_1 + EXP_2", - "[object Object][object Object]", - eval("var EXP_1 = new MyObject(new Number(100)); var EXP_2 = new MyObject(new Number(-1)); EXP_1 + EXP_2") ); - - -test(); - -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.6.1-2.js b/js/src/tests/ecma/Expressions/11.6.1-2.js deleted file mode 100644 index f9ac47db09ef..000000000000 --- a/js/src/tests/ecma/Expressions/11.6.1-2.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.1-2.js - ECMA Section: 11.6.1 The addition operator ( + ) - Description: - - The addition operator either performs string concatenation or numeric - addition. - - The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression - is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToPrimitive(Result(2)). - 6. Call ToPrimitive(Result(4)). - 7. If Type(Result(5)) is String or Type(Result(6)) is String, go to step 12. - (Note that this step differs from step 3 in the algorithm for comparison - for the relational operators in using or instead of and.) - 8. Call ToNumber(Result(5)). - 9. Call ToNumber(Result(6)). - 10. Apply the addition operation to Result(8) and Result(9). See the discussion below (11.6.3). - 11. Return Result(10). - 12. Call ToString(Result(5)). - 13. Call ToString(Result(6)). - 14. Concatenate Result(12) followed by Result(13). - 15. Return Result(14). - - Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6. - All native ECMAScript objects except Date objects handle the absence of a - hint as if the hint Number were given; Date objects handle the absence of a - hint as if the hint String were given. Host objects may handle the absence - of a hint in some other manner. - - This test does only covers cases where the Additive or Mulplicative expression - ToPrimitive is a string. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.1-2"; - -writeHeaderToLog( SECTION + " The Addition operator ( + )"); - -// tests for boolean primitive, boolean object, Object object, a "MyObject" whose value is -// a boolean primitive and a boolean object. - -new TestCase( "var EXP_1 = 'string'; var EXP_2 = false; EXP_1 + EXP_2", - "stringfalse", - eval("var EXP_1 = 'string'; var EXP_2 = false; EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = true; var EXP_2 = 'string'; EXP_1 + EXP_2", - "truestring", - eval("var EXP_1 = true; var EXP_2 = 'string'; EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Boolean(true); var EXP_2 = new String('string'); EXP_1 + EXP_2", - "truestring", - eval("var EXP_1 = new Boolean(true); var EXP_2 = new String('string'); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(true); var EXP_2 = new Object('string'); EXP_1 + EXP_2", - "truestring", - eval("var EXP_1 = new Object(true); var EXP_2 = new Object('string'); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(new String('string')); var EXP_2 = new Object(new Boolean(false)); EXP_1 + EXP_2", - "stringfalse", - eval("var EXP_1 = new Object(new String('string')); var EXP_2 = new Object(new Boolean(false)); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(true); var EXP_2 = new MyObject('string'); EXP_1 + EXP_2", - "truestring", - eval("var EXP_1 = new MyObject(true); var EXP_2 = new MyObject('string'); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(new String('string')); var EXP_2 = new MyObject(new Boolean(false)); EXP_1 + EXP_2", - "[object Object][object Object]", - eval("var EXP_1 = new MyObject(new String('string')); var EXP_2 = new MyObject(new Boolean(false)); EXP_1 + EXP_2") ); - -// tests for number primitive, number object, Object object, a "MyObject" whose value is -// a number primitive and a number object. - -new TestCase( "var EXP_1 = 100; var EXP_2 = 'string'; EXP_1 + EXP_2", - "100string", - eval("var EXP_1 = 100; var EXP_2 = 'string'; EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new String('string'); var EXP_2 = new Number(-1); EXP_1 + EXP_2", - "string-1", - eval("var EXP_1 = new String('string'); var EXP_2 = new Number(-1); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(100); var EXP_2 = new Object('string'); EXP_1 + EXP_2", - "100string", - eval("var EXP_1 = new Object(100); var EXP_2 = new Object('string'); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new Object(new String('string')); var EXP_2 = new Object(new Number(-1)); EXP_1 + EXP_2", - "string-1", - eval("var EXP_1 = new Object(new String('string')); var EXP_2 = new Object(new Number(-1)); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(100); var EXP_2 = new MyObject('string'); EXP_1 + EXP_2", - "100string", - eval("var EXP_1 = new MyObject(100); var EXP_2 = new MyObject('string'); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(new String('string')); var EXP_2 = new MyObject(new Number(-1)); EXP_1 + EXP_2", - "[object Object][object Object]", - eval("var EXP_1 = new MyObject(new String('string')); var EXP_2 = new MyObject(new Number(-1)); EXP_1 + EXP_2") ); - -test(); - -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.6.1-3.js b/js/src/tests/ecma/Expressions/11.6.1-3.js deleted file mode 100644 index 9f91dbbc8582..000000000000 --- a/js/src/tests/ecma/Expressions/11.6.1-3.js +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.1-3.js - ECMA Section: 11.6.1 The addition operator ( + ) - Description: - - The addition operator either performs string concatenation or numeric - addition. - - The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression - is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToPrimitive(Result(2)). - 6. Call ToPrimitive(Result(4)). - 7. If Type(Result(5)) is String or Type(Result(6)) is String, go to step 12. - (Note that this step differs from step 3 in the algorithm for comparison - for the relational operators in using or instead of and.) - 8. Call ToNumber(Result(5)). - 9. Call ToNumber(Result(6)). - 10. Apply the addition operation to Result(8) and Result(9). See the discussion below (11.6.3). - 11. Return Result(10). - 12. Call ToString(Result(5)). - 13. Call ToString(Result(6)). - 14. Concatenate Result(12) followed by Result(13). - 15. Return Result(14). - - Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6. - All native ECMAScript objects except Date objects handle the absence of a - hint as if the hint Number were given; Date objects handle the absence of a - hint as if the hint String were given. Host objects may handle the absence - of a hint in some other manner. - - This test does only covers cases where the Additive or Mulplicative expression - is a Date. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.1-3"; - -writeHeaderToLog( SECTION + " The Addition operator ( + )"); - -// tests for boolean primitive, boolean object, Object object, a "MyObject" whose value is -// a boolean primitive and a boolean object. - -var DATE1 = new Date(); - -new TestCase( "var DATE1 = new Date(); DATE1 + DATE1", - DATE1.toString() + DATE1.toString(), - DATE1 + DATE1 ); - -new TestCase( "var DATE1 = new Date(); DATE1 + 0", - DATE1.toString() + 0, - DATE1 + 0 ); - -new TestCase( "var DATE1 = new Date(); DATE1 + new Number(0)", - DATE1.toString() + 0, - DATE1 + new Number(0) ); - -new TestCase( "var DATE1 = new Date(); DATE1 + true", - DATE1.toString() + "true", - DATE1 + true ); - -new TestCase( "var DATE1 = new Date(); DATE1 + new Boolean(true)", - DATE1.toString() + "true", - DATE1 + new Boolean(true) ); - -new TestCase( "var DATE1 = new Date(); DATE1 + new Boolean(true)", - DATE1.toString() + "true", - DATE1 + new Boolean(true) ); - -var MYOB1 = new MyObject( DATE1 ); - -new TestCase( "MYOB1 = new MyObject(DATE1); MYOB1 + new Number(1)", - "[object Object]1", - MYOB1 + new Number(1) ); - -new TestCase( "MYOB1 = new MyObject(DATE1); MYOB1 + 1", - "[object Object]1", - MYOB1 + 1 ); - -new TestCase( "MYOB1 = new MyObject(DATE1); MYOB1 + true", - "[object Object]true", - MYOB1 + true ); - -test(); - -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.6.2-1.js b/js/src/tests/ecma/Expressions/11.6.2-1.js deleted file mode 100644 index 40e589e034aa..000000000000 --- a/js/src/tests/ecma/Expressions/11.6.2-1.js +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.2-1.js - ECMA Section: 11.6.2 The Subtraction operator ( - ) - Description: - - The production AdditiveExpression : AdditiveExpression - - MultiplicativeExpression is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToNumber(Result(2)). - 6. Call ToNumber(Result(4)). - 7. Apply the subtraction operation to Result(5) and Result(6). See the - discussion below (11.6.3). - 8. Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.2-1"; - -writeHeaderToLog( SECTION + " The subtraction operator ( - )"); - -// tests for boolean primitive, boolean object, Object object, a "MyObject" whose value is -// a boolean primitive and a boolean object. - -new TestCase( "var EXP_1 = true; var EXP_2 = false; EXP_1 - EXP_2", - 1, - eval("var EXP_1 = true; var EXP_2 = false; EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new Boolean(true); var EXP_2 = new Boolean(false); EXP_1 - EXP_2", - 1, - eval("var EXP_1 = new Boolean(true); var EXP_2 = new Boolean(false); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new Object(true); var EXP_2 = new Object(false); EXP_1 - EXP_2", - 1, - eval("var EXP_1 = new Object(true); var EXP_2 = new Object(false); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new Object(new Boolean(true)); var EXP_2 = new Object(new Boolean(false)); EXP_1 - EXP_2", - 1, - eval("var EXP_1 = new Object(new Boolean(true)); var EXP_2 = new Object(new Boolean(false)); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(true); var EXP_2 = new MyObject(false); EXP_1 - EXP_2", - 1, - eval("var EXP_1 = new MyObject(true); var EXP_2 = new MyObject(false); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(new Boolean(true)); var EXP_2 = new MyObject(new Boolean(false)); EXP_1 - EXP_2", - Number.NaN, - eval("var EXP_1 = new MyObject(new Boolean(true)); var EXP_2 = new MyObject(new Boolean(false)); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyOtherObject(new Boolean(true)); var EXP_2 = new MyOtherObject(new Boolean(false)); EXP_1 - EXP_2", - Number.NaN, - eval("var EXP_1 = new MyOtherObject(new Boolean(true)); var EXP_2 = new MyOtherObject(new Boolean(false)); EXP_1 - EXP_2") ); - -// tests for number primitive, number object, Object object, a "MyObject" whose value is -// a number primitive and a number object. - -new TestCase( "var EXP_1 = 100; var EXP_2 = 1; EXP_1 - EXP_2", - 99, - eval("var EXP_1 = 100; var EXP_2 = 1; EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new Number(100); var EXP_2 = new Number(1); EXP_1 - EXP_2", - 99, - eval("var EXP_1 = new Number(100); var EXP_2 = new Number(1); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new Object(100); var EXP_2 = new Object(1); EXP_1 - EXP_2", - 99, - eval("var EXP_1 = new Object(100); var EXP_2 = new Object(1); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new Object(new Number(100)); var EXP_2 = new Object(new Number(1)); EXP_1 - EXP_2", - 99, - eval("var EXP_1 = new Object(new Number(100)); var EXP_2 = new Object(new Number(1)); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(100); var EXP_2 = new MyObject(1); EXP_1 - EXP_2", - 99, - eval("var EXP_1 = new MyObject(100); var EXP_2 = new MyObject(1); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyObject(new Number(100)); var EXP_2 = new MyObject(new Number(1)); EXP_1 - EXP_2", - Number.NaN, - eval("var EXP_1 = new MyObject(new Number(100)); var EXP_2 = new MyObject(new Number(1)); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyOtherObject(new Number(100)); var EXP_2 = new MyOtherObject(new Number(1)); EXP_1 - EXP_2", - 99, - eval("var EXP_1 = new MyOtherObject(new Number(100)); var EXP_2 = new MyOtherObject(new Number(1)); EXP_1 - EXP_2") ); - -// same thing with string! -new TestCase( "var EXP_1 = new MyOtherObject(new String('0xff')); var EXP_2 = new MyOtherObject(new String('1'); EXP_1 - EXP_2", - 254, - eval("var EXP_1 = new MyOtherObject(new String('0xff')); var EXP_2 = new MyOtherObject(new String('1')); EXP_1 - EXP_2") ); - -test(); - -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} -function MyOtherObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.toString = new Function ( "return this.value + ''" ); - this.value = value; -} diff --git a/js/src/tests/ecma/Expressions/11.6.3.js b/js/src/tests/ecma/Expressions/11.6.3.js deleted file mode 100644 index e85828d4b0ae..000000000000 --- a/js/src/tests/ecma/Expressions/11.6.3.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.3.js - ECMA Section: 11.6.3 Applying the additive operators - (+, -) to numbers - Description: - The + operator performs addition when applied to two operands of numeric - type, producing the sum of the operands. The - operator performs - subtraction, producing the difference of two numeric operands. - - Addition is a commutative operation, but not always associative. - - The result of an addition is determined using the rules of IEEE 754 - double-precision arithmetic: - - If either operand is NaN, the result is NaN. - The sum of two infinities of opposite sign is NaN. - The sum of two infinities of the same sign is the infinity of that sign. - The sum of an infinity and a finite value is equal to the infinite operand. - The sum of two negative zeros is 0. The sum of two positive zeros, or of - two zeros of opposite sign, is +0. - The sum of a zero and a nonzero finite value is equal to the nonzero - operand. - The sum of two nonzero finite values of the same magnitude and opposite - sign is +0. - In the remaining cases, where neither an infinity, nor a zero, nor NaN is - involved, and the operands have the same sign or have different - magnitudes, the sum is computed and rounded to the nearest - representable value using IEEE 754 round-to-nearest mode. If the - magnitude is too large to represent, the operation overflows and - the result is then an infinity of appropriate sign. The ECMAScript - language requires support of gradual underflow as defined by IEEE 754. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.3"; - -writeHeaderToLog( SECTION + " Applying the additive operators (+,-) to numbers"); - -new TestCase( "Number.NaN + 1", Number.NaN, Number.NaN + 1 ); -new TestCase( "1 + Number.NaN", Number.NaN, 1 + Number.NaN ); - -new TestCase( "Number.NaN - 1", Number.NaN, Number.NaN - 1 ); -new TestCase( "1 - Number.NaN", Number.NaN, 1 - Number.NaN ); - -new TestCase( "Number.POSITIVE_INFINITY + Number.POSITIVE_INFINITY", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY + Number.POSITIVE_INFINITY); -new TestCase( "Number.NEGATIVE_INFINITY + Number.NEGATIVE_INFINITY", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY + Number.NEGATIVE_INFINITY); - -new TestCase( "Number.POSITIVE_INFINITY + Number.NEGATIVE_INFINITY", Number.NaN, Number.POSITIVE_INFINITY + Number.NEGATIVE_INFINITY); -new TestCase( "Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY", Number.NaN, Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY); - -new TestCase( "Number.POSITIVE_INFINITY - Number.POSITIVE_INFINITY", Number.NaN, Number.POSITIVE_INFINITY - Number.POSITIVE_INFINITY); -new TestCase( "Number.NEGATIVE_INFINITY - Number.NEGATIVE_INFINITY", Number.NaN, Number.NEGATIVE_INFINITY - Number.NEGATIVE_INFINITY); - -new TestCase( "Number.POSITIVE_INFINITY - Number.NEGATIVE_INFINITY", Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY - Number.NEGATIVE_INFINITY); -new TestCase( "Number.NEGATIVE_INFINITY - Number.POSITIVE_INFINITY", Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY - Number.POSITIVE_INFINITY); - -new TestCase( "-0 + -0", -0, -0 + -0 ); -new TestCase( "-0 - 0", -0, -0 - 0 ); - -new TestCase( "0 + 0", 0, 0 + 0 ); -new TestCase( "0 + -0", 0, 0 + -0 ); -new TestCase( "0 - -0", 0, 0 - -0 ); -new TestCase( "0 - 0", 0, 0 - 0 ); -new TestCase( "-0 - -0", 0, -0 - -0 ); -new TestCase( "-0 + 0", 0, -0 + 0 ); - -new TestCase( "Number.MAX_VALUE - Number.MAX_VALUE", 0, Number.MAX_VALUE - Number.MAX_VALUE ); -new TestCase( "1/Number.MAX_VALUE - 1/Number.MAX_VALUE", 0, 1/Number.MAX_VALUE - 1/Number.MAX_VALUE ); - -new TestCase( "Number.MIN_VALUE - Number.MIN_VALUE", 0, Number.MIN_VALUE - Number.MIN_VALUE ); - -test(); diff --git a/js/src/tests/ecma/Expressions/11.7.1.js b/js/src/tests/ecma/Expressions/11.7.1.js deleted file mode 100644 index 60f1e16be7a1..000000000000 --- a/js/src/tests/ecma/Expressions/11.7.1.js +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.7.1.js - ECMA Section: 11.7.1 The Left Shift Operator ( << ) - Description: - Performs a bitwise left shift operation on the left argument by the amount - specified by the right argument. - - The production ShiftExpression : ShiftExpression << AdditiveExpression is - evaluated as follows: - - 1. Evaluate ShiftExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AdditiveExpression. - 4. Call GetValue(Result(3)). - 5. Call ToInt32(Result(2)). - 6. Call ToUint32(Result(4)). - 7. Mask out all but the least significant 5 bits of Result(6), that is, - compute Result(6) & 0x1F. - 8. Left shift Result(5) by Result(7) bits. The result is a signed 32 bit - integer. - 9. Return Result(8). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.7.1"; - -writeHeaderToLog( SECTION + " The left shift operator ( << )"); - -for ( power = 0; power < 33; power++ ) { - shiftexp = Math.pow( 2, power ); - - for ( addexp = 0; addexp < 33; addexp++ ) { - new TestCase( - shiftexp + " << " + addexp, - LeftShift( shiftexp, addexp ), - shiftexp << addexp ); - } -} - -test(); - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - - for ( l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - - } - - return r; -} -function LeftShift( s, a ) { - var shift = ToInt32( s ); - var add = ToUint32( a ); - add = Mask( add, 5 ); - var exp = LShift( shift, add ); - - return ( exp ); -} -function LShift( s, a ) { - s = ToInt32BitString( s ); - - for ( var z = 0; z < a; z++ ) { - s += "0"; - } - - s = s.substring( a, s.length); - - return ToInt32(ToInt32Decimal(s)); -} diff --git a/js/src/tests/ecma/Expressions/11.7.2.js b/js/src/tests/ecma/Expressions/11.7.2.js deleted file mode 100644 index 6d6edd90dee3..000000000000 --- a/js/src/tests/ecma/Expressions/11.7.2.js +++ /dev/null @@ -1,208 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.7.2.js - ECMA Section: 11.7.2 The signed right shift operator ( >> ) - Description: - Performs a sign-filling bitwise right shift operation on the left argument - by the amount specified by the right argument. - - The production ShiftExpression : ShiftExpression >> AdditiveExpression is - evaluated as follows: - - 1. Evaluate ShiftExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AdditiveExpression. - 4. Call GetValue(Result(3)). - 5. Call ToInt32(Result(2)). - 6. Call ToUint32(Result(4)). - 7. Mask out all but the least significant 5 bits of Result(6), that is, - compute Result(6) & 0x1F. - 8. Perform sign-extending right shift of Result(5) by Result(7) bits. The - most significant bit is propagated. The result is a signed 32 bit - integer. - 9. Return Result(8). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.7.2"; - -writeHeaderToLog( SECTION + " The signed right shift operator ( >> )"); - -var power = 0; -var addexp = 0; - -for ( power = 0; power <= 32; power++ ) { - shiftexp = Math.pow( 2, power ); - - for ( addexp = 0; addexp <= 32; addexp++ ) { - new TestCase( shiftexp + " >> " + addexp, - SignedRightShift( shiftexp, addexp ), - shiftexp >> addexp ); - } -} - -for ( power = 0; power <= 32; power++ ) { - shiftexp = -Math.pow( 2, power ); - - for ( addexp = 0; addexp <= 32; addexp++ ) { - new TestCase( shiftexp + " >> " + addexp, - SignedRightShift( shiftexp, addexp ), - shiftexp >> addexp ); - } -} - -test(); - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - for ( l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function SignedRightShift( s, a ) { - s = ToInt32( s ); - a = ToUint32( a ); - a = Mask( a, 5 ); - return ( SignedRShift( s, a ) ); -} -function SignedRShift( s, a ) { - s = ToInt32BitString( s ); - - var firstbit = s.substring(0,1); - - s = s.substring( 1, s.length ); - - for ( var z = 0; z < a; z++ ) { - s = firstbit + s; - } - - s = s.substring( 0, s.length - a); - - s = firstbit +s; - - - return ToInt32(ToInt32Decimal(s)); -} diff --git a/js/src/tests/ecma/Expressions/11.7.3.js b/js/src/tests/ecma/Expressions/11.7.3.js deleted file mode 100644 index 14d6ccb48e76..000000000000 --- a/js/src/tests/ecma/Expressions/11.7.3.js +++ /dev/null @@ -1,193 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.7.3.js - ECMA Section: 11.7.3 The unsigned right shift operator ( >>> ) - Description: - 11.7.3 The unsigned right shift operator ( >>> ) - Performs a zero-filling bitwise right shift operation on the left argument - by the amount specified by the right argument. - - The production ShiftExpression : ShiftExpression >>> AdditiveExpression is - evaluated as follows: - - 1. Evaluate ShiftExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate AdditiveExpression. - 4. Call GetValue(Result(3)). - 5. Call ToUint32(Result(2)). - 6. Call ToUint32(Result(4)). - 7. Mask out all but the least significant 5 bits of Result(6), that is, - compute Result(6) & 0x1F. - 8. Perform zero-filling right shift of Result(5) by Result(7) bits. - Vacated bits are filled with zero. The result is an unsigned 32 bit - integer. - 9. Return Result(8). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.7.3"; - -writeHeaderToLog( SECTION + " The unsigned right shift operator ( >>> )"); - -var addexp = 0; -var power = 0; - -for ( power = 0; power <= 32; power++ ) { - shiftexp = Math.pow( 2, power ); - - for ( addexp = 0; addexp <= 32; addexp++ ) { - new TestCase( shiftexp + " >>> " + addexp, - UnsignedRightShift( shiftexp, addexp ), - shiftexp >>> addexp ); - } -} - -test(); - - -function ToInteger( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( n != n ) { - return 0; - } - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) { - return n; - } - return ( sign * Math.floor(Math.abs(n)) ); -} -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - - return ( n ); -} -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} -function ToUint16( n ) { - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = ( sign * Math.floor( Math.abs(n) ) ) % Math.pow(2,16); - - if (n <0) { - n += Math.pow(2,16); - } - - return ( n ); -} -function Mask( b, n ) { - b = ToUint32BitString( b ); - b = b.substring( b.length - n ); - b = ToUint32Decimal( b ); - return ( b ); -} -function ToUint32BitString( n ) { - var b = ""; - for ( p = 31; p >=0; p-- ) { - if ( n >= Math.pow(2,p) ) { - b += "1"; - n -= Math.pow(2,p); - } else { - b += "0"; - } - } - return b; -} -function ToInt32BitString( n ) { - var b = ""; - var sign = ( n < 0 ) ? -1 : 1; - - b += ( sign == 1 ) ? "0" : "1"; - - for ( p = 30; p >=0; p-- ) { - if ( (sign == 1 ) ? sign * n >= Math.pow(2,p) : sign * n > Math.pow(2,p) ) { - b += ( sign == 1 ) ? "1" : "0"; - n -= sign * Math.pow( 2, p ); - } else { - b += ( sign == 1 ) ? "0" : "1"; - } - } - - return b; -} -function ToInt32Decimal( bin ) { - var r = 0; - var sign; - - if ( Number(bin.charAt(0)) == 0 ) { - sign = 1; - r = 0; - } else { - sign = -1; - r = -(Math.pow(2,31)); - } - - for ( var j = 0; j < 31; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - } - - return r; -} -function ToUint32Decimal( bin ) { - var r = 0; - - - for ( l = bin.length; l < 32; l++ ) { - bin = "0" + bin; - } - - for ( j = 0; j < 32; j++ ) { - r += Math.pow( 2, j ) * Number(bin.charAt(31-j)); - - } - - return r; -} -function RShift( s, a ) { - s = ToUint32BitString( s ); - for ( z = 0; z < a; z++ ) { - s = "0" + s; - } - s = s.substring( 0, s.length - a ); - - return ToUint32Decimal(s); -} -function UnsignedRightShift( s, a ) { - s = ToUint32( s ); - a = ToUint32( a ); - a = Mask( a, 5 ); - return ( RShift( s, a ) ); -} diff --git a/js/src/tests/ecma/Expressions/11.8.1.js b/js/src/tests/ecma/Expressions/11.8.1.js deleted file mode 100644 index ab05822beed9..000000000000 --- a/js/src/tests/ecma/Expressions/11.8.1.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.8.1.js - ECMA Section: 11.8.1 The less-than operator ( < ) - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.8.1"; - -writeHeaderToLog( SECTION + " The less-than operator ( < )"); - -new TestCase( "true < false", false, true < false ); -new TestCase( "false < true", true, false < true ); -new TestCase( "false < false", false, false < false ); -new TestCase( "true < true", false, true < true ); - -new TestCase( "new Boolean(true) < new Boolean(true)", false, new Boolean(true) < new Boolean(true) ); -new TestCase( "new Boolean(true) < new Boolean(false)", false, new Boolean(true) < new Boolean(false) ); -new TestCase( "new Boolean(false) < new Boolean(true)", true, new Boolean(false) < new Boolean(true) ); -new TestCase( "new Boolean(false) < new Boolean(false)", false, new Boolean(false) < new Boolean(false) ); - -new TestCase( "new MyObject(Infinity) < new MyObject(Infinity)", false, new MyObject( Number.POSITIVE_INFINITY ) < new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) < new MyObject(Infinity)", true, new MyObject( Number.NEGATIVE_INFINITY ) < new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) < new MyObject(-Infinity)", false, new MyObject( Number.NEGATIVE_INFINITY ) < new MyObject( Number.NEGATIVE_INFINITY) ); - -new TestCase( "new MyValueObject(false) < new MyValueObject(true)", true, new MyValueObject(false) < new MyValueObject(true) ); -new TestCase( "new MyValueObject(true) < new MyValueObject(true)", false, new MyValueObject(true) < new MyValueObject(true) ); -new TestCase( "new MyValueObject(false) < new MyValueObject(false)", false, new MyValueObject(false) < new MyValueObject(false) ); - -new TestCase( "new MyStringObject(false) < new MyStringObject(true)", true, new MyStringObject(false) < new MyStringObject(true) ); -new TestCase( "new MyStringObject(true) < new MyStringObject(true)", false, new MyStringObject(true) < new MyStringObject(true) ); -new TestCase( "new MyStringObject(false) < new MyStringObject(false)", false, new MyStringObject(false) < new MyStringObject(false) ); - -new TestCase( "Number.NaN < Number.NaN", false, Number.NaN < Number.NaN ); -new TestCase( "0 < Number.NaN", false, 0 < Number.NaN ); -new TestCase( "Number.NaN < 0", false, Number.NaN < 0 ); - -new TestCase( "0 < -0", false, 0 < -0 ); -new TestCase( "-0 < 0", false, -0 < 0 ); - -new TestCase( "Infinity < 0", false, Number.POSITIVE_INFINITY < 0 ); -new TestCase( "Infinity < Number.MAX_VALUE", false, Number.POSITIVE_INFINITY < Number.MAX_VALUE ); -new TestCase( "Infinity < Infinity", false, Number.POSITIVE_INFINITY < Number.POSITIVE_INFINITY ); - -new TestCase( "0 < Infinity", true, 0 < Number.POSITIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE < Infinity", true, Number.MAX_VALUE < Number.POSITIVE_INFINITY ); - -new TestCase( "0 < -Infinity", false, 0 < Number.NEGATIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE < -Infinity", false, Number.MAX_VALUE < Number.NEGATIVE_INFINITY ); -new TestCase( "-Infinity < -Infinity", false, Number.NEGATIVE_INFINITY < Number.NEGATIVE_INFINITY ); - -new TestCase( "-Infinity < 0", true, Number.NEGATIVE_INFINITY < 0 ); -new TestCase( "-Infinity < -Number.MAX_VALUE", true, Number.NEGATIVE_INFINITY < -Number.MAX_VALUE ); -new TestCase( "-Infinity < Number.MIN_VALUE", true, Number.NEGATIVE_INFINITY < Number.MIN_VALUE ); - -new TestCase( "'string' < 'string'", false, 'string' < 'string' ); -new TestCase( "'astring' < 'string'", true, 'astring' < 'string' ); -new TestCase( "'strings' < 'stringy'", true, 'strings' < 'stringy' ); -new TestCase( "'strings' < 'stringier'", false, 'strings' < 'stringier' ); -new TestCase( "'string' < 'astring'", false, 'string' < 'astring' ); -new TestCase( "'string' < 'strings'", true, 'string' < 'strings' ); - -test(); - -function MyObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); - this.toString = new Function( "return this.value +''" ); -} -function MyValueObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} -function MyStringObject(value) { - this.value = value; - this.toString = new Function( "return this.value +''" ); -} diff --git a/js/src/tests/ecma/Expressions/11.8.2.js b/js/src/tests/ecma/Expressions/11.8.2.js deleted file mode 100644 index fa7615110387..000000000000 --- a/js/src/tests/ecma/Expressions/11.8.2.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.8.2.js - ECMA Section: 11.8.2 The greater-than operator ( > ) - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.8.2"; - -writeHeaderToLog( SECTION + " The greater-than operator ( > )"); - -new TestCase( "true > false", true, true > false ); -new TestCase( "false > true", false, false > true ); -new TestCase( "false > false", false, false > false ); -new TestCase( "true > true", false, true > true ); - -new TestCase( "new Boolean(true) > new Boolean(true)", false, new Boolean(true) > new Boolean(true) ); -new TestCase( "new Boolean(true) > new Boolean(false)", true, new Boolean(true) > new Boolean(false) ); -new TestCase( "new Boolean(false) > new Boolean(true)", false, new Boolean(false) > new Boolean(true) ); -new TestCase( "new Boolean(false) > new Boolean(false)", false, new Boolean(false) > new Boolean(false) ); - -new TestCase( "new MyObject(Infinity) > new MyObject(Infinity)", false, new MyObject( Number.POSITIVE_INFINITY ) > new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) > new MyObject(Infinity)", false, new MyObject( Number.NEGATIVE_INFINITY ) > new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) > new MyObject(-Infinity)", false, new MyObject( Number.NEGATIVE_INFINITY ) > new MyObject( Number.NEGATIVE_INFINITY) ); - -new TestCase( "new MyValueObject(false) > new MyValueObject(true)", false, new MyValueObject(false) > new MyValueObject(true) ); -new TestCase( "new MyValueObject(true) > new MyValueObject(true)", false, new MyValueObject(true) > new MyValueObject(true) ); -new TestCase( "new MyValueObject(false) > new MyValueObject(false)", false, new MyValueObject(false) > new MyValueObject(false) ); - -new TestCase( "new MyStringObject(false) > new MyStringObject(true)", false, new MyStringObject(false) > new MyStringObject(true) ); -new TestCase( "new MyStringObject(true) > new MyStringObject(true)", false, new MyStringObject(true) > new MyStringObject(true) ); -new TestCase( "new MyStringObject(false) > new MyStringObject(false)", false, new MyStringObject(false) > new MyStringObject(false) ); - -new TestCase( "Number.NaN > Number.NaN", false, Number.NaN > Number.NaN ); -new TestCase( "0 > Number.NaN", false, 0 > Number.NaN ); -new TestCase( "Number.NaN > 0", false, Number.NaN > 0 ); - -new TestCase( "0 > -0", false, 0 > -0 ); -new TestCase( "-0 > 0", false, -0 > 0 ); - -new TestCase( "Infinity > 0", true, Number.POSITIVE_INFINITY > 0 ); -new TestCase( "Infinity > Number.MAX_VALUE", true, Number.POSITIVE_INFINITY > Number.MAX_VALUE ); -new TestCase( "Infinity > Infinity", false, Number.POSITIVE_INFINITY > Number.POSITIVE_INFINITY ); - -new TestCase( "0 > Infinity", false, 0 > Number.POSITIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE > Infinity", false, Number.MAX_VALUE > Number.POSITIVE_INFINITY ); - -new TestCase( "0 > -Infinity", true, 0 > Number.NEGATIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE > -Infinity", true, Number.MAX_VALUE > Number.NEGATIVE_INFINITY ); -new TestCase( "-Infinity > -Infinity", false, Number.NEGATIVE_INFINITY > Number.NEGATIVE_INFINITY ); - -new TestCase( "-Infinity > 0", false, Number.NEGATIVE_INFINITY > 0 ); -new TestCase( "-Infinity > -Number.MAX_VALUE", false, Number.NEGATIVE_INFINITY > -Number.MAX_VALUE ); -new TestCase( "-Infinity > Number.MIN_VALUE", false, Number.NEGATIVE_INFINITY > Number.MIN_VALUE ); - -new TestCase( "'string' > 'string'", false, 'string' > 'string' ); -new TestCase( "'astring' > 'string'", false, 'astring' > 'string' ); -new TestCase( "'strings' > 'stringy'", false, 'strings' > 'stringy' ); -new TestCase( "'strings' > 'stringier'", true, 'strings' > 'stringier' ); -new TestCase( "'string' > 'astring'", true, 'string' > 'astring' ); -new TestCase( "'string' > 'strings'", false, 'string' > 'strings' ); - -test(); - -function MyObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); - this.toString = new Function( "return this.value +''" ); -} -function MyValueObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} -function MyStringObject(value) { - this.value = value; - this.toString = new Function( "return this.value +''" ); -} diff --git a/js/src/tests/ecma/Expressions/11.8.3.js b/js/src/tests/ecma/Expressions/11.8.3.js deleted file mode 100644 index 2fb88dc82276..000000000000 --- a/js/src/tests/ecma/Expressions/11.8.3.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.8.3.js - ECMA Section: 11.8.3 The less-than-or-equal operator ( <= ) - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.8.1"; - -writeHeaderToLog( SECTION + " The less-than-or-equal operator ( <= )"); - -new TestCase( "true <= false", false, true <= false ); -new TestCase( "false <= true", true, false <= true ); -new TestCase( "false <= false", true, false <= false ); -new TestCase( "true <= true", true, true <= true ); - -new TestCase( "new Boolean(true) <= new Boolean(true)", true, new Boolean(true) <= new Boolean(true) ); -new TestCase( "new Boolean(true) <= new Boolean(false)", false, new Boolean(true) <= new Boolean(false) ); -new TestCase( "new Boolean(false) <= new Boolean(true)", true, new Boolean(false) <= new Boolean(true) ); -new TestCase( "new Boolean(false) <= new Boolean(false)", true, new Boolean(false) <= new Boolean(false) ); - -new TestCase( "new MyObject(Infinity) <= new MyObject(Infinity)", true, new MyObject( Number.POSITIVE_INFINITY ) <= new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) <= new MyObject(Infinity)", true, new MyObject( Number.NEGATIVE_INFINITY ) <= new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) <= new MyObject(-Infinity)", true, new MyObject( Number.NEGATIVE_INFINITY ) <= new MyObject( Number.NEGATIVE_INFINITY) ); - -new TestCase( "new MyValueObject(false) <= new MyValueObject(true)", true, new MyValueObject(false) <= new MyValueObject(true) ); -new TestCase( "new MyValueObject(true) <= new MyValueObject(true)", true, new MyValueObject(true) <= new MyValueObject(true) ); -new TestCase( "new MyValueObject(false) <= new MyValueObject(false)", true, new MyValueObject(false) <= new MyValueObject(false) ); - -new TestCase( "new MyStringObject(false) <= new MyStringObject(true)", true, new MyStringObject(false) <= new MyStringObject(true) ); -new TestCase( "new MyStringObject(true) <= new MyStringObject(true)", true, new MyStringObject(true) <= new MyStringObject(true) ); -new TestCase( "new MyStringObject(false) <= new MyStringObject(false)", true, new MyStringObject(false) <= new MyStringObject(false) ); - -new TestCase( "Number.NaN <= Number.NaN", false, Number.NaN <= Number.NaN ); -new TestCase( "0 <= Number.NaN", false, 0 <= Number.NaN ); -new TestCase( "Number.NaN <= 0", false, Number.NaN <= 0 ); - -new TestCase( "0 <= -0", true, 0 <= -0 ); -new TestCase( "-0 <= 0", true, -0 <= 0 ); - -new TestCase( "Infinity <= 0", false, Number.POSITIVE_INFINITY <= 0 ); -new TestCase( "Infinity <= Number.MAX_VALUE", false, Number.POSITIVE_INFINITY <= Number.MAX_VALUE ); -new TestCase( "Infinity <= Infinity", true, Number.POSITIVE_INFINITY <= Number.POSITIVE_INFINITY ); - -new TestCase( "0 <= Infinity", true, 0 <= Number.POSITIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE <= Infinity", true, Number.MAX_VALUE <= Number.POSITIVE_INFINITY ); - -new TestCase( "0 <= -Infinity", false, 0 <= Number.NEGATIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE <= -Infinity", false, Number.MAX_VALUE <= Number.NEGATIVE_INFINITY ); -new TestCase( "-Infinity <= -Infinity", true, Number.NEGATIVE_INFINITY <= Number.NEGATIVE_INFINITY ); - -new TestCase( "-Infinity <= 0", true, Number.NEGATIVE_INFINITY <= 0 ); -new TestCase( "-Infinity <= -Number.MAX_VALUE", true, Number.NEGATIVE_INFINITY <= -Number.MAX_VALUE ); -new TestCase( "-Infinity <= Number.MIN_VALUE", true, Number.NEGATIVE_INFINITY <= Number.MIN_VALUE ); - -new TestCase( "'string' <= 'string'", true, 'string' <= 'string' ); -new TestCase( "'astring' <= 'string'", true, 'astring' <= 'string' ); -new TestCase( "'strings' <= 'stringy'", true, 'strings' <= 'stringy' ); -new TestCase( "'strings' <= 'stringier'", false, 'strings' <= 'stringier' ); -new TestCase( "'string' <= 'astring'", false, 'string' <= 'astring' ); -new TestCase( "'string' <= 'strings'", true, 'string' <= 'strings' ); - -test(); - -function MyObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); - this.toString = new Function( "return this.value +''" ); -} -function MyValueObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} -function MyStringObject(value) { - this.value = value; - this.toString = new Function( "return this.value +''" ); -} diff --git a/js/src/tests/ecma/Expressions/11.8.4.js b/js/src/tests/ecma/Expressions/11.8.4.js deleted file mode 100644 index 7fba0584f2d1..000000000000 --- a/js/src/tests/ecma/Expressions/11.8.4.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.8.4.js - ECMA Section: 11.8.4 The greater-than-or-equal operator ( >= ) - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.8.4"; - -writeHeaderToLog( SECTION + " The greater-than-or-equal operator ( >= )"); - -new TestCase( "true >= false", true, true >= false ); -new TestCase( "false >= true", false, false >= true ); -new TestCase( "false >= false", true, false >= false ); -new TestCase( "true >= true", true, true >= true ); - -new TestCase( "new Boolean(true) >= new Boolean(true)", true, new Boolean(true) >= new Boolean(true) ); -new TestCase( "new Boolean(true) >= new Boolean(false)", true, new Boolean(true) >= new Boolean(false) ); -new TestCase( "new Boolean(false) >= new Boolean(true)", false, new Boolean(false) >= new Boolean(true) ); -new TestCase( "new Boolean(false) >= new Boolean(false)", true, new Boolean(false) >= new Boolean(false) ); - -new TestCase( "new MyObject(Infinity) >= new MyObject(Infinity)", true, new MyObject( Number.POSITIVE_INFINITY ) >= new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) >= new MyObject(Infinity)", false, new MyObject( Number.NEGATIVE_INFINITY ) >= new MyObject( Number.POSITIVE_INFINITY) ); -new TestCase( "new MyObject(-Infinity) >= new MyObject(-Infinity)", true, new MyObject( Number.NEGATIVE_INFINITY ) >= new MyObject( Number.NEGATIVE_INFINITY) ); - -new TestCase( "new MyValueObject(false) >= new MyValueObject(true)", false, new MyValueObject(false) >= new MyValueObject(true) ); -new TestCase( "new MyValueObject(true) >= new MyValueObject(true)", true, new MyValueObject(true) >= new MyValueObject(true) ); -new TestCase( "new MyValueObject(false) >= new MyValueObject(false)", true, new MyValueObject(false) >= new MyValueObject(false) ); - -new TestCase( "new MyStringObject(false) >= new MyStringObject(true)", false, new MyStringObject(false) >= new MyStringObject(true) ); -new TestCase( "new MyStringObject(true) >= new MyStringObject(true)", true, new MyStringObject(true) >= new MyStringObject(true) ); -new TestCase( "new MyStringObject(false) >= new MyStringObject(false)", true, new MyStringObject(false) >= new MyStringObject(false) ); - -new TestCase( "Number.NaN >= Number.NaN", false, Number.NaN >= Number.NaN ); -new TestCase( "0 >= Number.NaN", false, 0 >= Number.NaN ); -new TestCase( "Number.NaN >= 0", false, Number.NaN >= 0 ); - -new TestCase( "0 >= -0", true, 0 >= -0 ); -new TestCase( "-0 >= 0", true, -0 >= 0 ); - -new TestCase( "Infinity >= 0", true, Number.POSITIVE_INFINITY >= 0 ); -new TestCase( "Infinity >= Number.MAX_VALUE", true, Number.POSITIVE_INFINITY >= Number.MAX_VALUE ); -new TestCase( "Infinity >= Infinity", true, Number.POSITIVE_INFINITY >= Number.POSITIVE_INFINITY ); - -new TestCase( "0 >= Infinity", false, 0 >= Number.POSITIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE >= Infinity", false, Number.MAX_VALUE >= Number.POSITIVE_INFINITY ); - -new TestCase( "0 >= -Infinity", true, 0 >= Number.NEGATIVE_INFINITY ); -new TestCase( "Number.MAX_VALUE >= -Infinity", true, Number.MAX_VALUE >= Number.NEGATIVE_INFINITY ); -new TestCase( "-Infinity >= -Infinity", true, Number.NEGATIVE_INFINITY >= Number.NEGATIVE_INFINITY ); - -new TestCase( "-Infinity >= 0", false, Number.NEGATIVE_INFINITY >= 0 ); -new TestCase( "-Infinity >= -Number.MAX_VALUE", false, Number.NEGATIVE_INFINITY >= -Number.MAX_VALUE ); -new TestCase( "-Infinity >= Number.MIN_VALUE", false, Number.NEGATIVE_INFINITY >= Number.MIN_VALUE ); - -new TestCase( "'string' > 'string'", false, 'string' > 'string' ); -new TestCase( "'astring' > 'string'", false, 'astring' > 'string' ); -new TestCase( "'strings' > 'stringy'", false, 'strings' > 'stringy' ); -new TestCase( "'strings' > 'stringier'", true, 'strings' > 'stringier' ); -new TestCase( "'string' > 'astring'", true, 'string' > 'astring' ); -new TestCase( "'string' > 'strings'", false, 'string' > 'strings' ); - -test(); - -function MyObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); - this.toString = new Function( "return this.value +''" ); -} -function MyValueObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} -function MyStringObject(value) { - this.value = value; - this.toString = new Function( "return this.value +''" ); -} diff --git a/js/src/tests/ecma/Expressions/11.9.1.js b/js/src/tests/ecma/Expressions/11.9.1.js deleted file mode 100644 index 3efb571d6d25..000000000000 --- a/js/src/tests/ecma/Expressions/11.9.1.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.9.1.js - ECMA Section: 11.9.1 The equals operator ( == ) - Description: - - The production EqualityExpression: - EqualityExpression == RelationalExpression is evaluated as follows: - - 1. Evaluate EqualityExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate RelationalExpression. - 4. Call GetValue(Result(3)). - 5. Perform the comparison Result(4) == Result(2). (See section 11.9.3) - 6. Return Result(5). - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.9.1"; -var BUGNUMBER="77391"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " The equals operator ( == )"); - -// type x and type y are the same. if type x is undefined or null, return true - -new TestCase( "void 0 = void 0", true, void 0 == void 0 ); -new TestCase( "null == null", true, null == null ); - -// if x is NaN, return false. if y is NaN, return false. - -new TestCase( "NaN == NaN", false, Number.NaN == Number.NaN ); -new TestCase( "NaN == 0", false, Number.NaN == 0 ); -new TestCase( "0 == NaN", false, 0 == Number.NaN ); -new TestCase( "NaN == Infinity", false, Number.NaN == Number.POSITIVE_INFINITY ); -new TestCase( "Infinity == NaN", false, Number.POSITIVE_INFINITY == Number.NaN ); - -// if x is the same number value as y, return true. - -new TestCase( "Number.MAX_VALUE == Number.MAX_VALUE", true, Number.MAX_VALUE == Number.MAX_VALUE ); -new TestCase( "Number.MIN_VALUE == Number.MIN_VALUE", true, Number.MIN_VALUE == Number.MIN_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY == Number.POSITIVE_INFINITY", true, Number.POSITIVE_INFINITY == Number.POSITIVE_INFINITY ); -new TestCase( "Number.NEGATIVE_INFINITY == Number.NEGATIVE_INFINITY", true, Number.NEGATIVE_INFINITY == Number.NEGATIVE_INFINITY ); - -// if xis 0 and y is -0, return true. if x is -0 and y is 0, return true. - -new TestCase( "0 == 0", true, 0 == 0 ); -new TestCase( "0 == -0", true, 0 == -0 ); -new TestCase( "-0 == 0", true, -0 == 0 ); -new TestCase( "-0 == -0", true, -0 == -0 ); - -// return false. - -new TestCase( "0.9 == 1", false, 0.9 == 1 ); -new TestCase( "0.999999 == 1", false, 0.999999 == 1 ); -new TestCase( "0.9999999999 == 1", false, 0.9999999999 == 1 ); -new TestCase( "0.9999999999999 == 1", false, 0.9999999999999 == 1 ); - -// type x and type y are the same type, but not numbers. - - -// x and y are strings. return true if x and y are exactly the same sequence of characters. -// otherwise, return false. - -new TestCase( "'hello' == 'hello'", true, "hello" == "hello" ); - -// x and y are booleans. return true if both are true or both are false. - -new TestCase( "true == true", true, true == true ); -new TestCase( "false == false", true, false == false ); -new TestCase( "true == false", false, true == false ); -new TestCase( "false == true", false, false == true ); - -// return true if x and y refer to the same object. otherwise return false. - -new TestCase( "new MyObject(true) == new MyObject(true)", false, new MyObject(true) == new MyObject(true) ); -new TestCase( "new Boolean(true) == new Boolean(true)", false, new Boolean(true) == new Boolean(true) ); -new TestCase( "new Boolean(false) == new Boolean(false)", false, new Boolean(false) == new Boolean(false) ); - - -new TestCase( "x = new MyObject(true); y = x; z = x; z == y", true, eval("x = new MyObject(true); y = x; z = x; z == y") ); -new TestCase( "x = new MyObject(false); y = x; z = x; z == y", true, eval("x = new MyObject(false); y = x; z = x; z == y") ); -new TestCase( "x = new Boolean(true); y = x; z = x; z == y", true, eval("x = new Boolean(true); y = x; z = x; z == y") ); -new TestCase( "x = new Boolean(false); y = x; z = x; z == y", true, eval("x = new Boolean(false); y = x; z = x; z == y") ); - -new TestCase( "new Boolean(true) == new Boolean(true)", false, new Boolean(true) == new Boolean(true) ); -new TestCase( "new Boolean(false) == new Boolean(false)", false, new Boolean(false) == new Boolean(false) ); - -// if x is null and y is undefined, return true. if x is undefined and y is null return true. - -new TestCase( "null == void 0", true, null == void 0 ); -new TestCase( "void 0 == null", true, void 0 == null ); - -// if type(x) is Number and type(y) is string, return the result of the comparison x == ToNumber(y). - -new TestCase( "1 == '1'", true, 1 == '1' ); -new TestCase( "255 == '0xff'", true, 255 == '0xff' ); -new TestCase( "0 == '\r'", true, 0 == "\r" ); -new TestCase( "1e19 == '1e19'", true, 1e19 == "1e19" ); - - -new TestCase( "new Boolean(true) == true", true, true == new Boolean(true) ); -new TestCase( "new MyObject(true) == true", true, true == new MyObject(true) ); - -new TestCase( "new Boolean(false) == false", true, new Boolean(false) == false ); -new TestCase( "new MyObject(false) == false", true, new MyObject(false) == false ); - -new TestCase( "true == new Boolean(true)", true, true == new Boolean(true) ); -new TestCase( "true == new MyObject(true)", true, true == new MyObject(true) ); - -new TestCase( "false == new Boolean(false)", true, false == new Boolean(false) ); -new TestCase( "false == new MyObject(false)", true, false == new MyObject(false) ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} diff --git a/js/src/tests/ecma/Expressions/11.9.2.js b/js/src/tests/ecma/Expressions/11.9.2.js deleted file mode 100644 index 60f83cdef843..000000000000 --- a/js/src/tests/ecma/Expressions/11.9.2.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.9.2.js - ECMA Section: 11.9.2 The equals operator ( == ) - Description: - - The production EqualityExpression: - EqualityExpression == RelationalExpression is evaluated as follows: - - 1. Evaluate EqualityExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate RelationalExpression. - 4. Call GetValue(Result(3)). - 5. Perform the comparison Result(4) == Result(2). (See section 11.9.3) - 6. Return Result(5). - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.9.2"; -var BUGNUMBER="77391"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " The equals operator ( == )"); - -// type x and type y are the same. if type x is undefined or null, return true - -new TestCase( "void 0 == void 0", false, void 0 != void 0 ); -new TestCase( "null == null", false, null != null ); - -// if x is NaN, return false. if y is NaN, return false. - -new TestCase( "NaN != NaN", true, Number.NaN != Number.NaN ); -new TestCase( "NaN != 0", true, Number.NaN != 0 ); -new TestCase( "0 != NaN", true, 0 != Number.NaN ); -new TestCase( "NaN != Infinity", true, Number.NaN != Number.POSITIVE_INFINITY ); -new TestCase( "Infinity != NaN", true, Number.POSITIVE_INFINITY != Number.NaN ); - -// if x is the same number value as y, return true. - -new TestCase( "Number.MAX_VALUE != Number.MAX_VALUE", false, Number.MAX_VALUE != Number.MAX_VALUE ); -new TestCase( "Number.MIN_VALUE != Number.MIN_VALUE", false, Number.MIN_VALUE != Number.MIN_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY != Number.POSITIVE_INFINITY", false, Number.POSITIVE_INFINITY != Number.POSITIVE_INFINITY ); -new TestCase( "Number.NEGATIVE_INFINITY != Number.NEGATIVE_INFINITY", false, Number.NEGATIVE_INFINITY != Number.NEGATIVE_INFINITY ); - -// if xis 0 and y is -0, return true. if x is -0 and y is 0, return true. - -new TestCase( "0 != 0", false, 0 != 0 ); -new TestCase( "0 != -0", false, 0 != -0 ); -new TestCase( "-0 != 0", false, -0 != 0 ); -new TestCase( "-0 != -0", false, -0 != -0 ); - -// return false. - -new TestCase( "0.9 != 1", true, 0.9 != 1 ); -new TestCase( "0.999999 != 1", true, 0.999999 != 1 ); -new TestCase( "0.9999999999 != 1", true, 0.9999999999 != 1 ); -new TestCase( "0.9999999999999 != 1", true, 0.9999999999999 != 1 ); - -// type x and type y are the same type, but not numbers. - - -// x and y are strings. return true if x and y are exactly the same sequence of characters. -// otherwise, return false. - -new TestCase( "'hello' != 'hello'", false, "hello" != "hello" ); - -// x and y are booleans. return true if both are true or both are false. - -new TestCase( "true != true", false, true != true ); -new TestCase( "false != false", false, false != false ); -new TestCase( "true != false", true, true != false ); -new TestCase( "false != true", true, false != true ); - -// return true if x and y refer to the same object. otherwise return false. - -new TestCase( "new MyObject(true) != new MyObject(true)", true, new MyObject(true) != new MyObject(true) ); -new TestCase( "new Boolean(true) != new Boolean(true)", true, new Boolean(true) != new Boolean(true) ); -new TestCase( "new Boolean(false) != new Boolean(false)", true, new Boolean(false) != new Boolean(false) ); - - -new TestCase( "x = new MyObject(true); y = x; z = x; z != y", false, eval("x = new MyObject(true); y = x; z = x; z != y") ); -new TestCase( "x = new MyObject(false); y = x; z = x; z != y", false, eval("x = new MyObject(false); y = x; z = x; z != y") ); -new TestCase( "x = new Boolean(true); y = x; z = x; z != y", false, eval("x = new Boolean(true); y = x; z = x; z != y") ); -new TestCase( "x = new Boolean(false); y = x; z = x; z != y", false, eval("x = new Boolean(false); y = x; z = x; z != y") ); - -new TestCase( "new Boolean(true) != new Boolean(true)", true, new Boolean(true) != new Boolean(true) ); -new TestCase( "new Boolean(false) != new Boolean(false)", true, new Boolean(false) != new Boolean(false) ); - -// if x is null and y is undefined, return true. if x is undefined and y is null return true. - -new TestCase( "null != void 0", false, null != void 0 ); -new TestCase( "void 0 != null", false, void 0 != null ); - -// if type(x) is Number and type(y) is string, return the result of the comparison x != ToNumber(y). - -new TestCase( "1 != '1'", false, 1 != '1' ); -new TestCase( "255 != '0xff'", false, 255 != '0xff' ); -new TestCase( "0 != '\r'", false, 0 != "\r" ); -new TestCase( "1e19 != '1e19'", false, 1e19 != "1e19" ); - - -new TestCase( "new Boolean(true) != true", false, true != new Boolean(true) ); -new TestCase( "new MyObject(true) != true", false, true != new MyObject(true) ); - -new TestCase( "new Boolean(false) != false", false, new Boolean(false) != false ); -new TestCase( "new MyObject(false) != false", false, new MyObject(false) != false ); - -new TestCase( "true != new Boolean(true)", false, true != new Boolean(true) ); -new TestCase( "true != new MyObject(true)", false, true != new MyObject(true) ); - -new TestCase( "false != new Boolean(false)", false, false != new Boolean(false) ); -new TestCase( "false != new MyObject(false)", false, false != new MyObject(false) ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} diff --git a/js/src/tests/ecma/Expressions/11.9.3.js b/js/src/tests/ecma/Expressions/11.9.3.js deleted file mode 100644 index 3d74cc271a31..000000000000 --- a/js/src/tests/ecma/Expressions/11.9.3.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.9.3.js - ECMA Section: 11.9.3 The equals operator ( == ) - Description: - - The production EqualityExpression: - EqualityExpression == RelationalExpression is evaluated as follows: - - 1. Evaluate EqualityExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate RelationalExpression. - 4. Call GetValue(Result(3)). - 5. Perform the comparison Result(4) == Result(2). (See section 11.9.3) - 6. Return Result(5). - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.9.3"; -var BUGNUMBER="77391"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " The equals operator ( == )"); - -// type x and type y are the same. if type x is undefined or null, return true - -new TestCase( "void 0 = void 0", true, void 0 == void 0 ); -new TestCase( "null == null", true, null == null ); - -// if x is NaN, return false. if y is NaN, return false. - -new TestCase( "NaN == NaN", false, Number.NaN == Number.NaN ); -new TestCase( "NaN == 0", false, Number.NaN == 0 ); -new TestCase( "0 == NaN", false, 0 == Number.NaN ); -new TestCase( "NaN == Infinity", false, Number.NaN == Number.POSITIVE_INFINITY ); -new TestCase( "Infinity == NaN", false, Number.POSITIVE_INFINITY == Number.NaN ); - -// if x is the same number value as y, return true. - -new TestCase( "Number.MAX_VALUE == Number.MAX_VALUE", true, Number.MAX_VALUE == Number.MAX_VALUE ); -new TestCase( "Number.MIN_VALUE == Number.MIN_VALUE", true, Number.MIN_VALUE == Number.MIN_VALUE ); -new TestCase( "Number.POSITIVE_INFINITY == Number.POSITIVE_INFINITY", true, Number.POSITIVE_INFINITY == Number.POSITIVE_INFINITY ); -new TestCase( "Number.NEGATIVE_INFINITY == Number.NEGATIVE_INFINITY", true, Number.NEGATIVE_INFINITY == Number.NEGATIVE_INFINITY ); - -// if xis 0 and y is -0, return true. if x is -0 and y is 0, return true. - -new TestCase( "0 == 0", true, 0 == 0 ); -new TestCase( "0 == -0", true, 0 == -0 ); -new TestCase( "-0 == 0", true, -0 == 0 ); -new TestCase( "-0 == -0", true, -0 == -0 ); - -// return false. - -new TestCase( "0.9 == 1", false, 0.9 == 1 ); -new TestCase( "0.999999 == 1", false, 0.999999 == 1 ); -new TestCase( "0.9999999999 == 1", false, 0.9999999999 == 1 ); -new TestCase( "0.9999999999999 == 1", false, 0.9999999999999 == 1 ); - -// type x and type y are the same type, but not numbers. - - -// x and y are strings. return true if x and y are exactly the same sequence of characters. -// otherwise, return false. - -new TestCase( "'hello' == 'hello'", true, "hello" == "hello" ); - -// x and y are booleans. return true if both are true or both are false. - -new TestCase( "true == true", true, true == true ); -new TestCase( "false == false", true, false == false ); -new TestCase( "true == false", false, true == false ); -new TestCase( "false == true", false, false == true ); - -// return true if x and y refer to the same object. otherwise return false. - -new TestCase( "new MyObject(true) == new MyObject(true)", false, new MyObject(true) == new MyObject(true) ); -new TestCase( "new Boolean(true) == new Boolean(true)", false, new Boolean(true) == new Boolean(true) ); -new TestCase( "new Boolean(false) == new Boolean(false)", false, new Boolean(false) == new Boolean(false) ); - - -new TestCase( "x = new MyObject(true); y = x; z = x; z == y", true, eval("x = new MyObject(true); y = x; z = x; z == y") ); -new TestCase( "x = new MyObject(false); y = x; z = x; z == y", true, eval("x = new MyObject(false); y = x; z = x; z == y") ); -new TestCase( "x = new Boolean(true); y = x; z = x; z == y", true, eval("x = new Boolean(true); y = x; z = x; z == y") ); -new TestCase( "x = new Boolean(false); y = x; z = x; z == y", true, eval("x = new Boolean(false); y = x; z = x; z == y") ); - -new TestCase( "new Boolean(true) == new Boolean(true)", false, new Boolean(true) == new Boolean(true) ); -new TestCase( "new Boolean(false) == new Boolean(false)", false, new Boolean(false) == new Boolean(false) ); - -// if x is null and y is undefined, return true. if x is undefined and y is null return true. - -new TestCase( "null == void 0", true, null == void 0 ); -new TestCase( "void 0 == null", true, void 0 == null ); - -// if type(x) is Number and type(y) is string, return the result of the comparison x == ToNumber(y). - -new TestCase( "1 == '1'", true, 1 == '1' ); -new TestCase( "255 == '0xff'", true, 255 == '0xff' ); -new TestCase( "0 == '\r'", true, 0 == "\r" ); -new TestCase( "1e19 == '1e19'", true, 1e19 == "1e19" ); - - -new TestCase( "new Boolean(true) == true", true, true == new Boolean(true) ); -new TestCase( "new MyObject(true) == true", true, true == new MyObject(true) ); - -new TestCase( "new Boolean(false) == false", true, new Boolean(false) == false ); -new TestCase( "new MyObject(false) == false", true, new MyObject(false) == false ); - -new TestCase( "true == new Boolean(true)", true, true == new Boolean(true) ); -new TestCase( "true == new MyObject(true)", true, true == new MyObject(true) ); - -new TestCase( "false == new Boolean(false)", true, false == new Boolean(false) ); -new TestCase( "false == new MyObject(false)", true, false == new MyObject(false) ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} diff --git a/js/src/tests/ecma/FunctionObjects/15.3.1.1-1.js b/js/src/tests/ecma/FunctionObjects/15.3.1.1-1.js deleted file mode 100644 index 5e3725915ece..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.1.1-1.js +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.1.1.js - ECMA Section: 15.3.1.1 The Function Constructor Called as a Function - - Description: - When the Function function is called with some arguments p1, p2, . . . , pn, body - (where n might be 0, that is, there are no "p" arguments, and where body might - also not be provided), the following steps are taken: - - 1. Create and return a new Function object exactly if the function constructor had - been called with the same arguments (15.3.2.1). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.1.1-1"; -var TITLE = "The Function Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MyObject = Function( "value", "this.value = value; this.valueOf = Function( 'return this.value' ); this.toString = Function( 'return String(this.value);' )" ); - - -var myfunc = Function(); -myfunc.toString = Object.prototype.toString; - -// not going to test toString here since it is implementation dependent. -// new TestCase( "myfunc.toString()", "function anonymous() { }", myfunc.toString() ); - -myfunc.toString = Object.prototype.toString; -new TestCase( "myfunc = Function(); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc.toString() ); - -new TestCase( "myfunc.length", - 0, - myfunc.length ); - -new TestCase( "myfunc.prototype.toString()", - "[object Object]", - myfunc.prototype.toString() ); - -new TestCase( "myfunc.prototype.constructor", - myfunc, - myfunc.prototype.constructor ); - -new TestCase( "myfunc.arguments", - null, - myfunc.arguments ); - -new TestCase( "var OBJ = new MyObject(true); OBJ.valueOf()", - true, - eval("var OBJ = new MyObject(true); OBJ.valueOf()") ); - -new TestCase( "OBJ.toString()", - "true", - OBJ.toString() ); - -new TestCase( "OBJ.toString = Object.prototype.toString; OBJ.toString()", - "[object Object]", - eval("OBJ.toString = Object.prototype.toString; OBJ.toString()") ); - -new TestCase( "MyObject.toString = Object.prototype.toString; MyObject.toString()", - "[object Function]", - eval("MyObject.toString = Object.prototype.toString; MyObject.toString()") ); - -new TestCase( "MyObject.length", - 1, - MyObject.length ); - -new TestCase( "MyObject.prototype.constructor", - MyObject, - MyObject.prototype.constructor ); - -new TestCase( "MyObject.arguments", - null, - MyObject.arguments ); - -test(); - - diff --git a/js/src/tests/ecma/FunctionObjects/15.3.1.1-2.js b/js/src/tests/ecma/FunctionObjects/15.3.1.1-2.js deleted file mode 100644 index d99d7cacc290..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.1.1-2.js +++ /dev/null @@ -1,147 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.1.1-2.js - ECMA Section: 15.3.1.1 The Function Constructor Called as a Function - Function(p1, p2, ..., pn, body ) - - Description: - When the Function function is called with some arguments p1, p2, . . . , pn, - body (where n might be 0, that is, there are no "p" arguments, and where body - might also not be provided), the following steps are taken: - - 1. Create and return a new Function object exactly if the function constructor - had been called with the same arguments (15.3.2.1). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.1.1-2"; -var TITLE = "The Function Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var myfunc1 = Function("a","b","c", "return a+b+c" ); -var myfunc2 = Function("a, b, c", "return a+b+c" ); -var myfunc3 = Function("a,b", "c", "return a+b+c" ); - -myfunc1.toString = Object.prototype.toString; -myfunc2.toString = Object.prototype.toString; -myfunc3.toString = Object.prototype.toString; - -new TestCase( - "myfunc1 = Function('a','b','c'); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc1.toString() ); - -new TestCase( - "myfunc1.length", - 3, - myfunc1.length ); - -new TestCase( - "myfunc1.prototype.toString()", - "[object Object]", - myfunc1.prototype.toString() ); - -new TestCase( - "myfunc1.prototype.constructor", - myfunc1, - myfunc1.prototype.constructor ); - -new TestCase( - "myfunc1.arguments", - null, - myfunc1.arguments ); - -new TestCase( - "myfunc1(1,2,3)", - 6, - myfunc1(1,2,3) ); - -new TestCase( - "var MYPROPS = ''; for ( var p in myfunc1.prototype ) { MYPROPS += p; }; MYPROPS", - "", - eval("var MYPROPS = ''; for ( var p in myfunc1.prototype ) { MYPROPS += p; }; MYPROPS") ); - -new TestCase( - "myfunc2 = Function('a','b','c'); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc2.toString() ); - -new TestCase( - "myfunc2.length", - 3, - myfunc2.length ); - -new TestCase( - "myfunc2.prototype.toString()", - "[object Object]", - myfunc2.prototype.toString() ); - -new TestCase( - "myfunc2.prototype.constructor", - myfunc2, - myfunc2.prototype.constructor ); - -new TestCase( - "myfunc2.arguments", - null, - myfunc2.arguments ); - -new TestCase( - "myfunc2( 1000, 200, 30 )", - 1230, - myfunc2(1000,200,30) ); - -new TestCase( - "var MYPROPS = ''; for ( var p in myfunc2.prototype ) { MYPROPS += p; }; MYPROPS", - "", - eval("var MYPROPS = ''; for ( var p in myfunc2.prototype ) { MYPROPS += p; }; MYPROPS") ); - -new TestCase( - "myfunc3 = Function('a','b','c'); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc3.toString() ); - -new TestCase( - "myfunc3.length", - 3, - myfunc3.length ); - -new TestCase( - "myfunc3.prototype.toString()", - "[object Object]", - myfunc3.prototype.toString() ); - -new TestCase( - "myfunc3.prototype.valueOf() +''", - "[object Object]", - myfunc3.prototype.valueOf() +'' ); - -new TestCase( - "myfunc3.prototype.constructor", - myfunc3, - myfunc3.prototype.constructor ); - -new TestCase( - "myfunc3.arguments", - null, - myfunc3.arguments ); - -new TestCase( - "myfunc3(-100,100,NaN)", - Number.NaN, - myfunc3(-100,100,NaN) ); - -new TestCase( - "var MYPROPS = ''; for ( var p in myfunc3.prototype ) { MYPROPS += p; }; MYPROPS", - "", - eval("var MYPROPS = ''; for ( var p in myfunc3.prototype ) { MYPROPS += p; }; MYPROPS") ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.1.1-3.js b/js/src/tests/ecma/FunctionObjects/15.3.1.1-3.js deleted file mode 100644 index 505170ea614f..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.1.1-3.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.1.1-3.js - ECMA Section: 15.3.1.1 The Function Constructor Called as a Function - - new Function(p1, p2, ..., pn, body ) - - Description: The last argument specifies the body (executable code) - of a function; any preceding arguments sepcify formal - parameters. - - See the text for description of this section. - - This test examples from the specification. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.1.1-3"; -var TITLE = "The Function Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var args = ""; - -for ( var i = 0; i < 2000; i++ ) { - args += "arg"+i; - if ( i != 1999 ) { - args += ","; - } -} - -var s = ""; - -for ( var i = 0; i < 2000; i++ ) { - s += ".0005"; - if ( i != 1999 ) { - s += ","; - } -} - -MyFunc = Function( args, "var r=0; for (var i = 0; i < MyFunc.length; i++ ) { if ( eval('arg'+i) == void 0) break; else r += eval('arg'+i); }; return r"); -MyObject = Function( args, "for (var i = 0; i < MyFunc.length; i++ ) { if ( eval('arg'+i) == void 0) break; eval('this.arg'+i +'=arg'+i); };"); - -var MY_OB = eval( "MyFunc("+ s +")" ); - -new TestCase( "MyFunc.length", 2000, MyFunc.length ); -new TestCase( "var MY_OB = eval('MyFunc(s)')", 1, MY_OB ); -new TestCase( "var MY_OB = eval('MyFunc(s)')", 1, eval("var MY_OB = MyFunc("+s+"); MY_OB") ); - -new TestCase( "MyObject.length", 2000, MyObject.length ); - -new TestCase( "FUN1 = Function( 'a','b','c', 'return FUN1.length' ); FUN1.length", 3, eval("FUN1 = Function( 'a','b','c', 'return FUN1.length' ); FUN1.length") ); -new TestCase( "FUN1 = Function( 'a','b','c', 'return FUN1.length' ); FUN1()", 3, eval("FUN1 = Function( 'a','b','c', 'return FUN1.length' ); FUN1()") ); -new TestCase( "FUN1 = Function( 'a','b','c', 'return FUN1.length' ); FUN1(1,2,3,4,5)", 3, eval("FUN1 = Function( 'a','b','c', 'return FUN1.length' ); FUN1(1,2,3,4,5)") ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.2.1-1.js b/js/src/tests/ecma/FunctionObjects/15.3.2.1-1.js deleted file mode 100644 index 79ac5cd36980..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.2.1-1.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.2.1.js - ECMA Section: 15.3.2.1 The Function Constructor - new Function(p1, p2, ..., pn, body ) - - Description: The last argument specifies the body (executable code) - of a function; any preceding arguments sepcify formal - parameters. - - See the text for description of this section. - - This test examples from the specification. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.2.1"; -var TITLE = "The Function Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MyObject = new Function( "value", "this.value = value; this.valueOf = new Function( 'return this.value' ); this.toString = new Function( 'return String(this.value);' )" ); - -var myfunc = new Function(); - -// not going to test toString here since it is implementation dependent. -// new TestCase( "myfunc.toString()", "function anonymous() { }", myfunc.toString() ); - -myfunc.toString = Object.prototype.toString; - -new TestCase( "myfunc = new Function(); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc.toString() ); - -new TestCase( "myfunc.length", - 0, - myfunc.length ); - -new TestCase( "myfunc.prototype.toString()", - "[object Object]", - myfunc.prototype.toString() ); - -new TestCase( "myfunc.prototype.constructor", - myfunc, - myfunc.prototype.constructor ); - -new TestCase( "myfunc.arguments", - null, - myfunc.arguments ); - -new TestCase( "var OBJ = new MyObject(true); OBJ.valueOf()", - true, - eval("var OBJ = new MyObject(true); OBJ.valueOf()") ); - -new TestCase( "OBJ.toString()", - "true", - OBJ.toString() ); - -new TestCase( "OBJ.toString = Object.prototype.toString; OBJ.toString()", "[object Object]", - eval("OBJ.toString = Object.prototype.toString; OBJ.toString()") ); - -new TestCase( "MyObject.toString = Object.prototype.toString; MyObject.toString()", - "[object Function]", - eval("MyObject.toString = Object.prototype.toString; MyObject.toString()") ); - -new TestCase( "MyObject.length", - 1, - MyObject.length ); - -new TestCase( "MyObject.prototype.constructor", - MyObject, - MyObject.prototype.constructor ); - -new TestCase( "MyObject.arguments", - null, - MyObject.arguments ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.2.1-2.js b/js/src/tests/ecma/FunctionObjects/15.3.2.1-2.js deleted file mode 100644 index cb929cbc0653..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.2.1-2.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.2.1.js - ECMA Section: 15.3.2.1 The Function Constructor - new Function(p1, p2, ..., pn, body ) - - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.2.1-2"; -var TITLE = "The Function Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var myfunc1 = new Function("a","b","c", "return a+b+c" ); -var myfunc2 = new Function("a, b, c", "return a+b+c" ); -var myfunc3 = new Function("a,b", "c", "return a+b+c" ); - -myfunc1.toString = Object.prototype.toString; -myfunc2.toString = Object.prototype.toString; -myfunc3.toString = Object.prototype.toString; - -new TestCase( "myfunc1 = new Function('a','b','c'); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc1.toString() ); - -new TestCase( "myfunc1.length", 3, myfunc1.length ); -new TestCase( "myfunc1.prototype.toString()", "[object Object]", myfunc1.prototype.toString() ); - -new TestCase( "myfunc1.prototype.constructor", myfunc1, myfunc1.prototype.constructor ); -new TestCase( "myfunc1.arguments", null, myfunc1.arguments ); -new TestCase( "myfunc1(1,2,3)", 6, myfunc1(1,2,3) ); -new TestCase( "var MYPROPS = ''; for ( var p in myfunc1.prototype ) { MYPROPS += p; }; MYPROPS", - "", - eval("var MYPROPS = ''; for ( var p in myfunc1.prototype ) { MYPROPS += p; }; MYPROPS") ); - -new TestCase( "myfunc2 = new Function('a','b','c'); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc2.toString() ); -new TestCase( "myfunc2.length", 3, myfunc2.length ); -new TestCase( "myfunc2.prototype.toString()", "[object Object]", myfunc2.prototype.toString() ); - -new TestCase( "myfunc2.prototype.constructor", myfunc2, myfunc2.prototype.constructor ); -new TestCase( "myfunc2.arguments", null, myfunc2.arguments ); -new TestCase( "myfunc2( 1000, 200, 30 )", 1230, myfunc2(1000,200,30) ); -new TestCase( "var MYPROPS = ''; for ( var p in myfunc2.prototype ) { MYPROPS += p; }; MYPROPS", - "", - eval("var MYPROPS = ''; for ( var p in myfunc2.prototype ) { MYPROPS += p; }; MYPROPS") ); - -new TestCase( "myfunc3 = new Function('a','b','c'); myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - myfunc3.toString() ); -new TestCase( "myfunc3.length", 3, myfunc3.length ); -new TestCase( "myfunc3.prototype.toString()", "[object Object]", myfunc3.prototype.toString() ); -new TestCase( "myfunc3.prototype.valueOf() +''", "[object Object]", myfunc3.prototype.valueOf() +'' ); -new TestCase( "myfunc3.prototype.constructor", myfunc3, myfunc3.prototype.constructor ); -new TestCase( "myfunc3.arguments", null, myfunc3.arguments ); -new TestCase( "myfunc3(-100,100,NaN)", Number.NaN, myfunc3(-100,100,NaN) ); - -new TestCase( "var MYPROPS = ''; for ( var p in myfunc3.prototype ) { MYPROPS += p; }; MYPROPS", - "", - eval("var MYPROPS = ''; for ( var p in myfunc3.prototype ) { MYPROPS += p; }; MYPROPS") ); -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.2.1-3.js b/js/src/tests/ecma/FunctionObjects/15.3.2.1-3.js deleted file mode 100644 index 356d87755fce..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.2.1-3.js +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.2.1-3.js - ECMA Section: 15.3.2.1 The Function Constructor - new Function(p1, p2, ..., pn, body ) - - Description: The last argument specifies the body (executable code) - of a function; any preceding arguments sepcify formal - parameters. - - See the text for description of this section. - - This test examples from the specification. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.2.1-3"; -var TITLE = "The Function Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var args = ""; - -for ( var i = 0; i < 2000; i++ ) { - args += "arg"+i; - if ( i != 1999 ) { - args += ","; - } -} - -var s = ""; - -for ( var i = 0; i < 2000; i++ ) { - s += ".0005"; - if ( i != 1999 ) { - s += ","; - } -} - -MyFunc = new Function( args, "var r=0; for (var i = 0; i < MyFunc.length; i++ ) { if ( eval('arg'+i) == void 0) break; else r += eval('arg'+i); }; return r"); -MyObject = new Function( args, "for (var i = 0; i < MyFunc.length; i++ ) { if ( eval('arg'+i) == void 0) break; eval('this.arg'+i +'=arg'+i); };"); - -new TestCase( "MyFunc.length", 2000, MyFunc.length ); -new TestCase( "var MY_OB = eval('MyFunc(s)')", 1, eval("var MY_OB = MyFunc("+s+"); MY_OB") ); - -new TestCase( "MyObject.length", 2000, MyObject.length ); - -new TestCase( "FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1.length", 3, eval("FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1.length") ); -new TestCase( "FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1()", 3, eval("FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1()") ); -new TestCase( "FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1(1,2,3,4,5)", 3, eval("FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1(1,2,3,4,5)") ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.3.1-2.js b/js/src/tests/ecma/FunctionObjects/15.3.3.1-2.js deleted file mode 100644 index 15c117159f2b..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.3.1-2.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.3.1-2.js - ECMA Section: 15.3.3.1 Properties of the Function Constructor - Function.prototype - - Description: The initial value of Function.prototype is the built-in - Function prototype object. - - This property shall have the attributes [DontEnum | - DontDelete | ReadOnly] - - This test the DontEnum property of Function.prototype. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.3.1-2"; -var TITLE = "Function.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var str='';for (prop in Function ) str += prop; str;", - "", - eval("var str='';for (prop in Function) str += prop; str;") - ); -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.3.1-3.js b/js/src/tests/ecma/FunctionObjects/15.3.3.1-3.js deleted file mode 100644 index ffe26fc28052..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.3.1-3.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.3.1-3.js - ECMA Section: 15.3.3.1 Properties of the Function Constructor - Function.prototype - - Description: The initial value of Function.prototype is the built-in - Function prototype object. - - This property shall have the attributes [DontEnum | - DontDelete | ReadOnly] - - This test the DontDelete property of Function.prototype. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.3.1-3"; -var TITLE = "Function.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var FUN_PROTO = Function.prototype; - -new TestCase( "delete Function.prototype", - false, - delete Function.prototype - ); - -new TestCase( "delete Function.prototype; Function.prototype", - FUN_PROTO, - eval("delete Function.prototype; Function.prototype") - ); -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.3.1-4.js b/js/src/tests/ecma/FunctionObjects/15.3.3.1-4.js deleted file mode 100644 index d2694ea2531b..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.3.1-4.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.3.1-4.js - ECMA Section: 15.3.3.1 Properties of the Function Constructor - Function.prototype - - Description: The initial value of Function.prototype is the built-in - Function prototype object. - - This property shall have the attributes [DontEnum | - DontDelete | ReadOnly] - - This test the ReadOnly property of Function.prototype. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.3.1-4"; -var TITLE = "Function.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Function.prototype = null; Function.prototype", - Function.prototype, - eval("Function.prototype = null; Function.prototype") - ); -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.3.2.js b/js/src/tests/ecma/FunctionObjects/15.3.3.2.js deleted file mode 100644 index 15057a322fa3..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.3.2.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.3.2.js - ECMA Section: 15.3.3.2 Properties of the Function Constructor - Function.length - - Description: The length property is 1. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.3.3.2"; -var TITLE = "Function.length"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Function.length", 1, Function.length ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.4-1.js b/js/src/tests/ecma/FunctionObjects/15.3.4-1.js deleted file mode 100644 index 01728bd57b5e..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.4-1.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.4-1.js - ECMA Section: 15.3.4 Properties of the Function Prototype Object - - Description: The Function prototype object is itself a Function - object ( its [[Class]] is "Function") that, when - invoked, accepts any arguments and returns undefined. - - The value of the internal [[Prototype]] property - object is the Object prototype object. - - It is a function with an "empty body"; if it is - invoked, it merely returns undefined. - - The Function prototype object does not have a valueOf - property of its own; however it inherits the valueOf - property from the Object prototype Object. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.3.4-1"; -var TITLE = "Properties of the Function Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var myfunc = Function.prototype; myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - eval("var myfunc = Function.prototype; myfunc.toString = Object.prototype.toString; myfunc.toString()")); - - -// new TestCase( "Function.prototype.__proto__", Object.prototype, Function.prototype.__proto__ ); - -new TestCase( "Function.prototype.valueOf", - Object.prototype.valueOf, - Function.prototype.valueOf ); - -new TestCase( "Function.prototype()", - (void 0), - Function.prototype() ); - -new TestCase( "Function.prototype(1,true,false,'string', new Date(),null)", - (void 0), - Function.prototype(1,true,false,'string', new Date(),null) ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.4.1.js b/js/src/tests/ecma/FunctionObjects/15.3.4.1.js deleted file mode 100644 index 7b8b2f8a296b..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.4.1.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.4.1.js - ECMA Section: 15.3.4.1 Function.prototype.constructor - - Description: The initial value of Function.prototype.constructor - is the built-in Function constructor. - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.3.4.1"; -var TITLE = "Function.prototype.constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Function.prototype.constructor", Function, Function.prototype.constructor ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.4.js b/js/src/tests/ecma/FunctionObjects/15.3.4.js deleted file mode 100644 index 9b6145b83b40..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.4.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.4.js - ECMA Section: 15.3.4 Properties of the Function Prototype Object - - Description: The Function prototype object is itself a Function - object ( its [[Class]] is "Function") that, when - invoked, accepts any arguments and returns undefined. - - The value of the internal [[Prototype]] property - object is the Object prototype object. - - It is a function with an "empty body"; if it is - invoked, it merely returns undefined. - - The Function prototype object does not have a valueOf - property of its own; however it inherits the valueOf - property from the Object prototype Object. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.4"; -var TITLE = "Properties of the Function Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "var myfunc = Function.prototype; myfunc.toString = Object.prototype.toString; myfunc.toString()", - "[object Function]", - eval("var myfunc = Function.prototype; myfunc.toString = Object.prototype.toString; myfunc.toString()")); - - -// new TestCase( "Function.prototype.__proto__", Object.prototype, Function.prototype.__proto__ ); -new TestCase( "Function.prototype.valueOf", Object.prototype.valueOf, Function.prototype.valueOf ); -new TestCase( "Function.prototype()", (void 0), Function.prototype() ); -new TestCase( "Function.prototype(1,true,false,'string', new Date(),null)", (void 0), Function.prototype(1,true,false,'string', new Date(),null) ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.5-1.js b/js/src/tests/ecma/FunctionObjects/15.3.5-1.js deleted file mode 100644 index 4eff5202dccd..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.5-1.js +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.5-1.js - ECMA Section: 15.3.5 Properties of Function Instances - new Function(p1, p2, ..., pn, body ) - - Description: - - 15.3.5.1 length - - The value of the length property is usually an integer that indicates - the "typical" number of arguments expected by the function. However, - the language permits the function to be invoked with some other number - of arguments. The behavior of a function when invoked on a number of - arguments other than the number specified by its length property depends - on the function. - - 15.3.5.2 prototype - The value of the prototype property is used to initialize the internal [[ - Prototype]] property of a newly created object before the Function object - is invoked as a constructor for that newly created object. - - 15.3.5.3 arguments - - The value of the arguments property is normally null if there is no - outstanding invocation of the function in progress (that is, the function has been called - but has not yet returned). When a non-internal Function object (15.3.2.1) is invoked, its - arguments property is "dynamically bound" to a newly created object that contains the - arguments on which it was invoked (see 10.1.6 and 10.1.8). Note that the use of this - property is discouraged; it is provided principally for compatibility with existing old code. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.3.5-1"; -var TITLE = "Properties of Function Instances"; - -writeHeaderToLog( SECTION + " "+TITLE); - -var args = ""; - -for ( var i = 0; i < 2000; i++ ) { - args += "arg"+i; - if ( i != 1999 ) { - args += ","; - } -} - -var s = ""; - -for ( var i = 0; i < 2000; i++ ) { - s += ".0005"; - if ( i != 1999 ) { - s += ","; - } -} - -MyFunc = new Function( args, "var r=0; for (var i = 0; i < MyFunc.length; i++ ) { if ( eval('arg'+i) == void 0) break; else r += eval('arg'+i); }; return r"); -MyObject = new Function( args, "for (var i = 0; i < MyFunc.length; i++ ) { if ( eval('arg'+i) == void 0) break; eval('this.arg'+i +'=arg'+i); };"); - - -new TestCase( "MyFunc.length", 2000, MyFunc.length ); -new TestCase( "var MY_OB = eval('MyFunc(s)')", 1, eval("var MY_OB = MyFunc("+s+"); MY_OB") ); -new TestCase( "MyFunc.prototype.toString()", "[object Object]", MyFunc.prototype.toString() ); -new TestCase( "typeof MyFunc.prototype", "object", typeof MyFunc.prototype ); - - -new TestCase( "MyObject.length", 2000, MyObject.length ); - -new TestCase( "FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1.length", 3, eval("FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1.length") ); -new TestCase( "FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1()", 3, eval("FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1()") ); -new TestCase( "FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1(1,2,3,4,5)", 3, eval("FUN1 = new Function( 'a','b','c', 'return FUN1.length' ); FUN1(1,2,3,4,5)") ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.5-2.js b/js/src/tests/ecma/FunctionObjects/15.3.5-2.js deleted file mode 100644 index 8c98c8660573..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.5-2.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.5-1.js - ECMA Section: 15.3.5 Properties of Function Instances - new Function(p1, p2, ..., pn, body ) - - Description: - - 15.3.5.1 length - - The value of the length property is usually an integer that indicates - the "typical" number of arguments expected by the function. However, - the language permits the function to be invoked with some other number - of arguments. The behavior of a function when invoked on a number of - arguments other than the number specified by its length property depends - on the function. - - 15.3.5.2 prototype - The value of the prototype property is used to initialize the internal [[ - Prototype]] property of a newly created object before the Function object - is invoked as a constructor for that newly created object. - - 15.3.5.3 arguments - - The value of the arguments property is normally null if there is no - outstanding invocation of the function in progress (that is, the function has been called - but has not yet returned). When a non-internal Function object (15.3.2.1) is invoked, its - arguments property is "dynamically bound" to a newly created object that contains the - arguments on which it was invoked (see 10.1.6 and 10.1.8). Note that the use of this - property is discouraged; it is provided principally for compatibility with existing old code. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.3.5-2"; -var TITLE = "Properties of Function Instances"; - -writeHeaderToLog( SECTION + " "+TITLE); - -var MyObject = new Function( 'a', 'b', 'c', 'this.a = a; this.b = b; this.c = c; this.value = a+b+c; this.valueOf = new Function( "return this.value" )' ); - -new TestCase( "MyObject.length", 3, MyObject.length ); -new TestCase( "typeof MyObject.prototype", "object", typeof MyObject.prototype ); -new TestCase( "typeof MyObject.prototype.constructor", "function", typeof MyObject.prototype.constructor ); -new TestCase( "MyObject.arguments", null, MyObject.arguments ); - -test(); diff --git a/js/src/tests/ecma/FunctionObjects/15.3.5.1.js b/js/src/tests/ecma/FunctionObjects/15.3.5.1.js deleted file mode 100644 index 37f9d06036fb..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.5.1.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.5.1.js - ECMA Section: Function.length - Description: - - The value of the length property is usually an integer that indicates the - "typical" number of arguments expected by the function. However, the - language permits the function to be invoked with some other number of - arguments. The behavior of a function when invoked on a number of arguments - other than the number specified by its length property depends on the function. - - this test needs a 1.2 version check. - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=104204 - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.3.5.1"; -var TITLE = "Function.length"; -var BUGNUMBER="104204"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var f = new Function( "a","b", "c", "return f.length"); - -new TestCase( 'var f = new Function( "a","b", "c", "return f.length"); f()', - 3, - f() ); - - -new TestCase( 'var f = new Function( "a","b", "c", "return f.length"); f(1,2,3,4,5)', - 3, - f(1,2,3,4,5) ); - -test(); - diff --git a/js/src/tests/ecma/FunctionObjects/15.3.5.3.js b/js/src/tests/ecma/FunctionObjects/15.3.5.3.js deleted file mode 100644 index e9632ccb1013..000000000000 --- a/js/src/tests/ecma/FunctionObjects/15.3.5.3.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.5.3.js - ECMA Section: Function.arguments - Description: - - The value of the arguments property is normally null if there is no - outstanding invocation of the function in progress (that is, the - function has been called but has not yet returned). When a non-internal - Function object (15.3.2.1) is invoked, its arguments property is - "dynamically bound" to a newly created object that contains the arguments - on which it was invoked (see 10.1.6 and 10.1.8). Note that the use of this - property is discouraged; it is provided principally for compatibility - with existing old code. - - See sections 10.1.6 and 10.1.8 for more extensive tests. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.3.5.3"; -var TITLE = "Function.arguments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MYFUNCTION = new Function( "return this.arguments" ); - -new TestCase( "var MYFUNCTION = new Function( 'return this.arguments' ); MYFUNCTION.arguments", null, MYFUNCTION.arguments ); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1-1-n.js b/js/src/tests/ecma/GlobalObject/15.1-1-n.js deleted file mode 100644 index 733eadf18041..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1-1-n.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1-1-n.js - ECMA Section: The global object - Description: - - The global object does not have a [[Construct]] property; it is not - possible to use the global object as a constructor with the new operator. - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.1-1-n"; -var TITLE = "The Global Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var MY_GLOBAL = new this()"; - -new TestCase( "var MY_GLOBAL = new this()", - "error", - eval("var MY_GLOBAL = new this()") ); - -test(); - diff --git a/js/src/tests/ecma/GlobalObject/15.1-2-n.js b/js/src/tests/ecma/GlobalObject/15.1-2-n.js deleted file mode 100644 index 9e7823fa04d7..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1-2-n.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1-2-n.js - ECMA Section: The global object - Description: - - The global object does not have a [[Call]] property; it is not possible - to invoke the global object as a function. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.1-2-n"; -var TITLE = "The Global Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var MY_GLOBAL = this()"; - -new TestCase( "var MY_GLOBAL = this()", - "error", - eval("var MY_GLOBAL = this()") ); -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.1.1.js b/js/src/tests/ecma/GlobalObject/15.1.1.1.js deleted file mode 100644 index 890809c2a14c..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.1.1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.1.1.js - ECMA Section: 15.1.1.1 NaN - - Description: The initial value of NaN is NaN. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.1.1"; -var TITLE = "NaN"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "NaN", Number.NaN, NaN ); -new TestCase( "this.NaN", Number.NaN, this.NaN ); -new TestCase( "typeof NaN", "number", typeof NaN ); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.1.2.js b/js/src/tests/ecma/GlobalObject/15.1.1.2.js deleted file mode 100644 index 92f4487d3fe5..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.1.2.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.1.2.js - ECMA Section: 15.1.1.2 Infinity - - Description: The initial value of Infinity is +Infinity. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.1.2"; -var TITLE = "Infinity"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Infinity", Number.POSITIVE_INFINITY, Infinity ); -new TestCase( "this.Infinity", Number.POSITIVE_INFINITY, this.Infinity ); -new TestCase( "typeof Infinity", "number", typeof Infinity ); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.1-2.js b/js/src/tests/ecma/GlobalObject/15.1.2.1-2.js deleted file mode 100644 index 30274eebbffb..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.1-2.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.1-2.js - ECMA Section: 15.1.2.1 eval(x) - - Parse x as an ECMAScript Program. If the parse fails, - generate a runtime error. Evaluate the program. If - result is "Normal completion after value V", return - the value V. Else, return undefined. - Description: - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.1.2.1-2"; -var TITLE = "eval(x)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "d = new Date(0); with (d) { x = getUTCMonth() +'/'+ getUTCDate() +'/'+ getUTCFullYear(); } x", - "0/1/1970", - eval( "d = new Date(0); with (d) { x = getUTCMonth() +'/'+ getUTCDate() +'/'+ getUTCFullYear(); } x" )); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.2-1.js b/js/src/tests/ecma/GlobalObject/15.1.2.2-1.js deleted file mode 100644 index a92583a606d2..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.2-1.js +++ /dev/null @@ -1,326 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.2-1.js - ECMA Section: 15.1.2.2 Function properties of the global object - parseInt( string, radix ) - - Description: - - The parseInt function produces an integer value dictated by intepretation - of the contents of the string argument according to the specified radix. - - When the parseInt function is called, the following steps are taken: - - 1. Call ToString(string). - 2. Compute a substring of Result(1) consisting of the leftmost character - that is not a StrWhiteSpaceChar and all characters to the right of - that character. (In other words, remove leading whitespace.) - 3. Let sign be 1. - 4. If Result(2) is not empty and the first character of Result(2) is a - minus sign -, let sign be -1. - 5. If Result(2) is not empty and the first character of Result(2) is a - plus sign + or a minus sign -, then Result(5) is the substring of - Result(2) produced by removing the first character; otherwise, Result(5) - is Result(2). - 6. If the radix argument is not supplied, go to step 12. - 7. Call ToInt32(radix). - 8. If Result(7) is zero, go to step 12; otherwise, if Result(7) < 2 or - Result(7) > 36, return NaN. - 9. Let R be Result(7). - 10. If R = 16 and the length of Result(5) is at least 2 and the first two - characters of Result(5) are either "0x" or "0X", let S be the substring - of Result(5) consisting of all but the first two characters; otherwise, - let S be Result(5). - 11. Go to step 22. - 12. If Result(5) is empty or the first character of Result(5) is not 0, - go to step 20. - 13. If the length of Result(5) is at least 2 and the second character of - Result(5) is x or X, go to step 17. - 14. Let R be 8. - 15. Let S be Result(5). - 16. Go to step 22. - 17. Let R be 16. - 18. Let S be the substring of Result(5) consisting of all but the first - two characters. - 19. Go to step 22. - 20. Let R be 10. - 21. Let S be Result(5). - 22. If S contains any character that is not a radix-R digit, then let Z be - the substring of S consisting of all characters to the left of the - leftmost such character; otherwise, let Z be S. - 23. If Z is empty, return NaN. - 24. Compute the mathematical integer value that is represented by Z in - radix-R notation. (But if R is 10 and Z contains more than 20 - significant digits, every digit after the 20th may be replaced by a 0 - digit, at the option of the implementation; and if R is not 2, 4, 8, - 10, 16, or 32, then Result(24) may be an implementation-dependent - approximation to the mathematical integer value that is represented - by Z in radix-R notation.) - 25. Compute the number value for Result(24). - 26. Return sign Result(25). - - Note that parseInt may interpret only a leading portion of the string as - an integer value; it ignores any characters that cannot be interpreted as - part of the notation of an integer, and no indication is given that any - such characters were ignored. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.2.2-1"; -var TITLE = "parseInt(string, radix)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var HEX_STRING = "0x0"; -var HEX_VALUE = 0; - -new TestCase( "parseInt.length", - 2, - parseInt.length ); - -new TestCase( "parseInt.length = 0; parseInt.length", - 2, - eval("parseInt.length = 0; parseInt.length") ); - -new TestCase( "var PROPS=''; for ( var p in parseInt ) { PROPS += p; }; PROPS", "", - eval("var PROPS=''; for ( var p in parseInt ) { PROPS += p; }; PROPS") ); - -new TestCase( "parseInt()", - NaN, - parseInt() ); - -new TestCase( "parseInt('')", - NaN, - parseInt("") ); - -new TestCase( "parseInt('','')", - NaN, - parseInt("","") ); - -new TestCase( "parseInt(\" 0xabcdef ", - 11259375, - parseInt( " 0xabcdef " )); - -new TestCase( "parseInt(\" 0XABCDEF ", - 11259375, - parseInt( " 0XABCDEF " ) ); - -new TestCase( "parseInt( 0xabcdef )", - 11259375, - parseInt( "0xabcdef") ); - -new TestCase( "parseInt( 0XABCDEF )", - 11259375, - parseInt( "0XABCDEF") ); - -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"')", HEX_VALUE, parseInt(HEX_STRING) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "0X0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"')", HEX_VALUE, parseInt(HEX_STRING) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"', 16)", HEX_VALUE, parseInt(HEX_STRING,16) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"', 16)", HEX_VALUE, parseInt(HEX_STRING,16) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"', null)", HEX_VALUE, parseInt(HEX_STRING,null) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"', void 0)", HEX_VALUE, parseInt(HEX_STRING, void 0) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} - -// a few tests with spaces - -for ( var space = " ", HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; - POWER < 15; - POWER++, HEX_STRING = HEX_STRING +"f", space += " ") -{ - new TestCase( "parseInt('"+space+HEX_STRING+space+"', void 0)", HEX_VALUE, parseInt(space+HEX_STRING+space, void 0) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} - -new TestCase("parseInt(BOM + '123', 10)", 123, parseInt("\uFEFF" + "123", 10)); - -// a few tests with negative numbers -for ( HEX_STRING = "-0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"')", HEX_VALUE, parseInt(HEX_STRING) ); - HEX_VALUE -= Math.pow(16,POWER)*15; -} - -// we should stop parsing when we get to a value that is not a numeric literal for the type we expect - -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"g', 16)", HEX_VALUE, parseInt(HEX_STRING+"g",16) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"G', 16)", HEX_VALUE, parseInt(HEX_STRING+"G",16) ); - HEX_VALUE += Math.pow(16,POWER)*15; -} - -for ( HEX_STRING = "-0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"')", HEX_VALUE, parseInt(HEX_STRING) ); - HEX_VALUE -= Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "-0X0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"')", HEX_VALUE, parseInt(HEX_STRING) ); - HEX_VALUE -= Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "-0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"', 16)", HEX_VALUE, parseInt(HEX_STRING,16) ); - HEX_VALUE -= Math.pow(16,POWER)*15; -} -for ( HEX_STRING = "-0x0", HEX_VALUE = 0, POWER = 0; POWER < 15; POWER++, HEX_STRING = HEX_STRING +"f" ) { - new TestCase( "parseInt('"+HEX_STRING+"', 16)", HEX_VALUE, parseInt(HEX_STRING,16) ); - HEX_VALUE -= Math.pow(16,POWER)*15; -} - -// Numbers that start with 0 and do not provide a radix should use 10 as radix -// per ES5, not octal (as it was in ES3). - -var OCT_STRING = "0"; -var OCT_VALUE = 0; - -for ( OCT_STRING = "0", OCT_VALUE = 0, POWER = 0; POWER < 15; POWER++, OCT_STRING = OCT_STRING +"7" ) { - new TestCase( "parseInt('"+OCT_STRING+"')", OCT_VALUE, parseInt(OCT_STRING) ); - OCT_VALUE += Math.pow(10,POWER)*7; -} - -for ( OCT_STRING = "-0", OCT_VALUE = 0, POWER = 0; POWER < 15; POWER++, OCT_STRING = OCT_STRING +"7" ) { - new TestCase( "parseInt('"+OCT_STRING+"')", OCT_VALUE, parseInt(OCT_STRING) ); - OCT_VALUE -= Math.pow(10,POWER)*7; -} - -// should get octal-based results if we provid the radix of 8 (or 010) - -for ( OCT_STRING = "0", OCT_VALUE = 0, POWER = 0; POWER < 15; POWER++, OCT_STRING = OCT_STRING +"7" ) { - new TestCase( "parseInt('"+OCT_STRING+"', 8)", OCT_VALUE, parseInt(OCT_STRING,8) ); - OCT_VALUE += Math.pow(8,POWER)*7; -} -for ( OCT_STRING = "-0", OCT_VALUE = 0, POWER = 0; POWER < 15; POWER++, OCT_STRING = OCT_STRING +"7" ) { - new TestCase( "parseInt('"+OCT_STRING+"', 010)", OCT_VALUE, parseInt(OCT_STRING,010) ); - OCT_VALUE -= Math.pow(8,POWER)*7; -} - -// we shall stop parsing digits when we get one that isn't a numeric literal of the type we think -// it should be. -for ( OCT_STRING = "0", OCT_VALUE = 0, POWER = 0; POWER < 15; POWER++, OCT_STRING = OCT_STRING +"7" ) { - new TestCase( "parseInt('"+OCT_STRING+"8', 8)", OCT_VALUE, parseInt(OCT_STRING+"8",8) ); - OCT_VALUE += Math.pow(8,POWER)*7; -} -for ( OCT_STRING = "-0", OCT_VALUE = 0, POWER = 0; POWER < 15; POWER++, OCT_STRING = OCT_STRING +"7" ) { - new TestCase( "parseInt('"+OCT_STRING+"8', 010)", OCT_VALUE, parseInt(OCT_STRING+"8",010) ); - OCT_VALUE -= Math.pow(8,POWER)*7; -} - -new TestCase( "parseInt( '0x' )", - NaN, - parseInt("0x") ); - -new TestCase( "parseInt( '0X' )", - NaN, - parseInt("0X") ); - -new TestCase( "parseInt( '11111111112222222222' )", - 11111111112222222222, - parseInt("11111111112222222222") ); - -new TestCase( "parseInt( '111111111122222222223' )", - 111111111122222222220, - parseInt("111111111122222222223") ); - -new TestCase( "parseInt( '11111111112222222222',10 )", - 11111111112222222222, - parseInt("11111111112222222222",10) ); - -new TestCase( "parseInt( '111111111122222222223',10 )", - 111111111122222222220, - parseInt("111111111122222222223",10) ); - -new TestCase( "parseInt( '01234567890', -1 )", - Number.NaN, - parseInt("01234567890",-1) ); - -new TestCase( "parseInt( '01234567890', 0 )", - 1234567890, - parseInt("01234567890", 0) ); - -new TestCase( "parseInt( '01234567890', 1 )", - Number.NaN, - parseInt("01234567890",1) ); - -new TestCase( "parseInt( '01234567890', 2 )", - 1, - parseInt("01234567890",2) ); - -new TestCase( "parseInt( '01234567890', 3 )", - 5, - parseInt("01234567890",3) ); - -new TestCase( "parseInt( '01234567890', 4 )", - 27, - parseInt("01234567890",4) ); - -new TestCase( "parseInt( '01234567890', 5 )", - 194, - parseInt("01234567890",5) ); - -new TestCase( "parseInt( '01234567890', 6 )", - 1865, - parseInt("01234567890",6) ); - -new TestCase( "parseInt( '01234567890', 7 )", - 22875, - parseInt("01234567890",7) ); - -new TestCase( "parseInt( '01234567890', 8 )", - 342391, - parseInt("01234567890",8) ); - -new TestCase( "parseInt( '01234567890', 9 )", - 6053444, - parseInt("01234567890",9) ); - -new TestCase( "parseInt( '01234567890', 10 )", - 1234567890, - parseInt("01234567890",10) ); - -// need more test cases with hex radix - -new TestCase( "parseInt( '1234567890', '0xa')", - 1234567890, - parseInt("1234567890","0xa") ); - -new TestCase( "parseInt( '012345', 11 )", - 17715, - parseInt("012345",11) ); - -new TestCase( "parseInt( '012345', 35 )", - 1590195, - parseInt("012345",35) ); - -new TestCase( "parseInt( '012345', 36 )", - 1776965, - parseInt("012345",36) ); - -new TestCase( "parseInt( '012345', 37 )", - Number.NaN, - parseInt("012345",37) ); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.2-2.js b/js/src/tests/ecma/GlobalObject/15.1.2.2-2.js deleted file mode 100644 index 0841e3d62526..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.2-2.js +++ /dev/null @@ -1,205 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.2-1.js - ECMA Section: 15.1.2.2 Function properties of the global object - parseInt( string, radix ) - - Description: parseInt test cases written by waldemar, and documented in - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=123874. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.2.2-2"; -var TITLE = "parseInt(string, radix)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - 'parseInt("000000100000000100100011010001010110011110001001101010111100",2)', - 9027215253084860, - parseInt("000000100000000100100011010001010110011110001001101010111100",2) ); - -new TestCase( - 'parseInt("000000100000000100100011010001010110011110001001101010111101",2)', - 9027215253084860, - parseInt("000000100000000100100011010001010110011110001001101010111101",2)); - -new TestCase( - 'parseInt("000000100000000100100011010001010110011110001001101010111111",2)', - 9027215253084864, - parseInt("000000100000000100100011010001010110011110001001101010111111",2) ); - -new TestCase( - 'parseInt("0000001000000001001000110100010101100111100010011010101111010",2)', - 18054430506169720, - parseInt("0000001000000001001000110100010101100111100010011010101111010",2) ); - -new TestCase( - 'parseInt("0000001000000001001000110100010101100111100010011010101111011",2)', - 18054430506169724, - parseInt("0000001000000001001000110100010101100111100010011010101111011",2)); - -new TestCase( - 'parseInt("0000001000000001001000110100010101100111100010011010101111100",2)', - 18054430506169724, - parseInt("0000001000000001001000110100010101100111100010011010101111100",2) ); - -new TestCase( - 'parseInt("0000001000000001001000110100010101100111100010011010101111110",2)', - 18054430506169728, - parseInt("0000001000000001001000110100010101100111100010011010101111110",2) ); - -new TestCase( - 'parseInt("yz",35)', - 34, - parseInt("yz",35) ); - -new TestCase( - 'parseInt("yz",36)', - 1259, - parseInt("yz",36) ); - -new TestCase( - 'parseInt("yz",37)', - NaN, - parseInt("yz",37) ); - -new TestCase( - 'parseInt("+77")', - 77, - parseInt("+77") ); - -new TestCase( - 'parseInt("-77",9)', - -70, - parseInt("-77",9) ); - -new TestCase( - 'parseInt("\u20001234\u2000")', - 1234, - parseInt("\u20001234\u2000") ); - -new TestCase( - 'parseInt("123456789012345678")', - 123456789012345680, - parseInt("123456789012345678") ); - -new TestCase( - 'parseInt("9",8)', - NaN, - parseInt("9",8) ); - -new TestCase( - 'parseInt("1e2")', - 1, - parseInt("1e2") ); - -new TestCase( - 'parseInt("1.9999999999999999999")', - 1, - parseInt("1.9999999999999999999") ); - -new TestCase( - 'parseInt("0x10")', - 16, - parseInt("0x10") ); - -new TestCase( - 'parseInt("0x10",10)', - 0, - parseInt("0x10",10)); - -new TestCase( - 'parseInt("0022")', - 22, - parseInt("0022")); - -new TestCase( - 'parseInt("0022", 8)', - 18, - parseInt("0022", 8)); - -new TestCase( - 'parseInt("0022", 10)', - 22, - parseInt("0022", 10) ); - -new TestCase( - 'parseInt("0x1000000000000080")', - 1152921504606847000, - parseInt("0x1000000000000080") ); - -new TestCase( - 'parseInt("0x1000000000000081")', - 1152921504606847200, - parseInt("0x1000000000000081") ); - -s = - "0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - - s += "0000000000000000000000000000000000000"; - -new TestCase( - "s = " + s +"; -s", - -1.7976931348623157e+308, - -s ); - -s = - "0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; -s += "0000000000000000000000000000000000001"; - -new TestCase( - "s = " + s +"; -s", - -1.7976931348623157e+308, - -s ); - - -s = "0xFFFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - -s += "0000000000000000000000000000000000000" - - -new TestCase( - "s = " + s + "; -s", - -Infinity, - -s ); - -s = "0xFFFFFFFFFFFFFB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; -s += "0000000000000000000000000000000000001"; - -new TestCase( - "s = " + s + "; -s", - -1.7976931348623157e+308, - -s ); - -s += "0" - -new TestCase( - "s = " + s + "; -s", - -Infinity, - -s ); - -new TestCase( - 'parseInt(s)', - Infinity, - parseInt(s) ); - -new TestCase( - 'parseInt(s,32)', - 0, - parseInt(s,32) ); - -new TestCase( - 'parseInt(s,36)', - Infinity, - parseInt(s,36)); - -test(); - diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.3-1.js b/js/src/tests/ecma/GlobalObject/15.1.2.3-1.js deleted file mode 100644 index 1b18ac674f4c..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.3-1.js +++ /dev/null @@ -1,402 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.3.js - ECMA Section: 15.1.2.3 Function properties of the global object: - parseFloat( string ) - - Description: The parseFloat function produces a number value dictated - by the interpretation of the contents of the string - argument defined as a decimal literal. - - When the parseFloat function is called, the following - steps are taken: - - 1. Call ToString( string ). - 2. Remove leading whitespace Result(1). - 3. If neither Result(2) nor any prefix of Result(2) - satisfies the syntax of a StrDecimalLiteral, - return NaN. - 4. Compute the longest prefix of Result(2) which might - be Resusult(2) itself, that satisfies the syntax of - a StrDecimalLiteral - 5. Return the number value for the MV of Result(4). - - Note that parseFloate may interpret only a leading - portion of the string as a number value; it ignores any - characters that cannot be interpreted as part of the - notation of a decimal literal, and no indication is given - that such characters were ignored. - - StrDecimalLiteral:: - Infinity - DecimalDigits.DecimalDigits opt ExponentPart opt - .DecimalDigits ExponentPart opt - DecimalDigits ExponentPart opt - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.1.2.3-1"; -var TITLE = "parseFloat(string)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "parseFloat.length", 1, parseFloat.length ); - -new TestCase( "parseFloat.length = null; parseFloat.length", 1, eval("parseFloat.length = null; parseFloat.length") ); -new TestCase( "var MYPROPS=''; for ( var p in parseFloat ) { MYPROPS += p }; MYPROPS", "", eval("var MYPROPS=''; for ( var p in parseFloat ) { MYPROPS += p }; MYPROPS") ); - -new TestCase( "parseFloat()", Number.NaN, parseFloat() ); -new TestCase( "parseFloat('')", Number.NaN, parseFloat('') ); - -new TestCase( "parseFloat(' ')", Number.NaN, parseFloat(' ') ); -new TestCase( "parseFloat(true)", Number.NaN, parseFloat(true) ); -new TestCase( "parseFloat(false)", Number.NaN, parseFloat(false) ); -new TestCase( "parseFloat('string')", Number.NaN, parseFloat("string") ); - -new TestCase( "parseFloat(' Infinity')", Infinity, parseFloat("Infinity") ); -new TestCase( "parseFloat(' Infinity ')", Infinity, parseFloat(' Infinity ') ); - -new TestCase( "parseFloat('Infinity')", Infinity, parseFloat("Infinity") ); -new TestCase( "parseFloat(Infinity)", Infinity, parseFloat(Infinity) ); - - -new TestCase( "parseFloat(' +Infinity')", +Infinity, parseFloat("+Infinity") ); -new TestCase( "parseFloat(' -Infinity ')", -Infinity, parseFloat(' -Infinity ') ); - -new TestCase( "parseFloat('+Infinity')", +Infinity, parseFloat("+Infinity") ); -new TestCase( "parseFloat(-Infinity)", -Infinity, parseFloat(-Infinity) ); - -new TestCase( "parseFloat('0')", 0, parseFloat("0") ); -new TestCase( "parseFloat('-0')", -0, parseFloat("-0") ); -new TestCase( "parseFloat('+0')", 0, parseFloat("+0") ); - -new TestCase( "parseFloat('1')", 1, parseFloat("1") ); -new TestCase( "parseFloat('-1')", -1, parseFloat("-1") ); -new TestCase( "parseFloat('+1')", 1, parseFloat("+1") ); - -new TestCase( "parseFloat('2')", 2, parseFloat("2") ); -new TestCase( "parseFloat('-2')", -2, parseFloat("-2") ); -new TestCase( "parseFloat('+2')", 2, parseFloat("+2") ); - -new TestCase( "parseFloat('3')", 3, parseFloat("3") ); -new TestCase( "parseFloat('-3')", -3, parseFloat("-3") ); -new TestCase( "parseFloat('+3')", 3, parseFloat("+3") ); - -new TestCase( "parseFloat('4')", 4, parseFloat("4") ); -new TestCase( "parseFloat('-4')", -4, parseFloat("-4") ); -new TestCase( "parseFloat('+4')", 4, parseFloat("+4") ); - -new TestCase( "parseFloat('5')", 5, parseFloat("5") ); -new TestCase( "parseFloat('-5')", -5, parseFloat("-5") ); -new TestCase( "parseFloat('+5')", 5, parseFloat("+5") ); - -new TestCase( "parseFloat('6')", 6, parseFloat("6") ); -new TestCase( "parseFloat('-6')", -6, parseFloat("-6") ); -new TestCase( "parseFloat('+6')", 6, parseFloat("+6") ); - -new TestCase( "parseFloat('7')", 7, parseFloat("7") ); -new TestCase( "parseFloat('-7')", -7, parseFloat("-7") ); -new TestCase( "parseFloat('+7')", 7, parseFloat("+7") ); - -new TestCase( "parseFloat('8')", 8, parseFloat("8") ); -new TestCase( "parseFloat('-8')", -8, parseFloat("-8") ); -new TestCase( "parseFloat('+8')", 8, parseFloat("+8") ); - -new TestCase( "parseFloat('9')", 9, parseFloat("9") ); -new TestCase( "parseFloat('-9')", -9, parseFloat("-9") ); -new TestCase( "parseFloat('+9')", 9, parseFloat("+9") ); - -new TestCase( "parseFloat('3.14159')", 3.14159, parseFloat("3.14159") ); -new TestCase( "parseFloat('-3.14159')", -3.14159, parseFloat("-3.14159") ); -new TestCase( "parseFloat('+3.14159')", 3.14159, parseFloat("+3.14159") ); - -new TestCase( "parseFloat('3.')", 3, parseFloat("3.") ); -new TestCase( "parseFloat('-3.')", -3, parseFloat("-3.") ); -new TestCase( "parseFloat('+3.')", 3, parseFloat("+3.") ); - -new TestCase( "parseFloat('3.e1')", 30, parseFloat("3.e1") ); -new TestCase( "parseFloat('-3.e1')", -30, parseFloat("-3.e1") ); -new TestCase( "parseFloat('+3.e1')", 30, parseFloat("+3.e1") ); - -new TestCase( "parseFloat('3.e+1')", 30, parseFloat("3.e+1") ); -new TestCase( "parseFloat('-3.e+1')", -30, parseFloat("-3.e+1") ); -new TestCase( "parseFloat('+3.e+1')", 30, parseFloat("+3.e+1") ); - -new TestCase( "parseFloat('3.e-1')", .30, parseFloat("3.e-1") ); -new TestCase( "parseFloat('-3.e-1')", -.30, parseFloat("-3.e-1") ); -new TestCase( "parseFloat('+3.e-1')", .30, parseFloat("+3.e-1") ); - -// StrDecimalLiteral::: .DecimalDigits ExponentPart opt - -new TestCase( "parseFloat('.00001')", 0.00001, parseFloat(".00001") ); -new TestCase( "parseFloat('+.00001')", 0.00001, parseFloat("+.00001") ); -new TestCase( "parseFloat('-0.0001')", -0.00001, parseFloat("-.00001") ); - -new TestCase( "parseFloat('.01e2')", 1, parseFloat(".01e2") ); -new TestCase( "parseFloat('+.01e2')", 1, parseFloat("+.01e2") ); -new TestCase( "parseFloat('-.01e2')", -1, parseFloat("-.01e2") ); - -new TestCase( "parseFloat('.01e+2')", 1, parseFloat(".01e+2") ); -new TestCase( "parseFloat('+.01e+2')", 1, parseFloat("+.01e+2") ); -new TestCase( "parseFloat('-.01e+2')", -1, parseFloat("-.01e+2") ); - -new TestCase( "parseFloat('.01e-2')", 0.0001, parseFloat(".01e-2") ); -new TestCase( "parseFloat('+.01e-2')", 0.0001, parseFloat("+.01e-2") ); -new TestCase( "parseFloat('-.01e-2')", -0.0001, parseFloat("-.01e-2") ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt - -new TestCase( "parseFloat('1234e5')", 123400000, parseFloat("1234e5") ); -new TestCase( "parseFloat('+1234e5')", 123400000, parseFloat("+1234e5") ); -new TestCase( "parseFloat('-1234e5')", -123400000, parseFloat("-1234e5") ); - -new TestCase( "parseFloat('1234e+5')", 123400000, parseFloat("1234e+5") ); -new TestCase( "parseFloat('+1234e+5')", 123400000, parseFloat("+1234e+5") ); -new TestCase( "parseFloat('-1234e+5')", -123400000, parseFloat("-1234e+5") ); - -new TestCase( "parseFloat('1234e-5')", 0.01234, parseFloat("1234e-5") ); -new TestCase( "parseFloat('+1234e-5')", 0.01234, parseFloat("+1234e-5") ); -new TestCase( "parseFloat('-1234e-5')", -0.01234, parseFloat("-1234e-5") ); - - -new TestCase( "parseFloat(0)", 0, parseFloat(0) ); -new TestCase( "parseFloat(-0)", -0, parseFloat(-0) ); - -new TestCase( "parseFloat(1)", 1, parseFloat(1) ); -new TestCase( "parseFloat(-1)", -1, parseFloat(-1) ); - -new TestCase( "parseFloat(2)", 2, parseFloat(2) ); -new TestCase( "parseFloat(-2)", -2, parseFloat(-2) ); - -new TestCase( "parseFloat(3)", 3, parseFloat(3) ); -new TestCase( "parseFloat(-3)", -3, parseFloat(-3) ); - -new TestCase( "parseFloat(4)", 4, parseFloat(4) ); -new TestCase( "parseFloat(-4)", -4, parseFloat(-4) ); - -new TestCase( "parseFloat(5)", 5, parseFloat(5) ); -new TestCase( "parseFloat(-5)", -5, parseFloat(-5) ); - -new TestCase( "parseFloat(6)", 6, parseFloat(6) ); -new TestCase( "parseFloat(-6)", -6, parseFloat(-6) ); - -new TestCase( "parseFloat(7)", 7, parseFloat(7) ); -new TestCase( "parseFloat(-7)", -7, parseFloat(-7) ); - -new TestCase( "parseFloat(8)", 8, parseFloat(8) ); -new TestCase( "parseFloat(-8)", -8, parseFloat(-8) ); - -new TestCase( "parseFloat(9)", 9, parseFloat(9) ); -new TestCase( "parseFloat(-9)", -9, parseFloat(-9) ); - -new TestCase( "parseFloat(3.14159)", 3.14159, parseFloat(3.14159) ); -new TestCase( "parseFloat(-3.14159)", -3.14159, parseFloat(-3.14159) ); - -new TestCase( "parseFloat(3.)", 3, parseFloat(3.) ); -new TestCase( "parseFloat(-3.)", -3, parseFloat(-3.) ); - -new TestCase( "parseFloat(3.e1)", 30, parseFloat(3.e1) ); -new TestCase( "parseFloat(-3.e1)", -30, parseFloat(-3.e1) ); - -new TestCase( "parseFloat(3.e+1)", 30, parseFloat(3.e+1) ); -new TestCase( "parseFloat(-3.e+1)", -30, parseFloat(-3.e+1) ); - -new TestCase( "parseFloat(3.e-1)", .30, parseFloat(3.e-1) ); -new TestCase( "parseFloat(-3.e-1)", -.30, parseFloat(-3.e-1) ); - - -new TestCase( "parseFloat(3.E1)", 30, parseFloat(3.E1) ); -new TestCase( "parseFloat(-3.E1)", -30, parseFloat(-3.E1) ); - -new TestCase( "parseFloat(3.E+1)", 30, parseFloat(3.E+1) ); -new TestCase( "parseFloat(-3.E+1)", -30, parseFloat(-3.E+1) ); - -new TestCase( "parseFloat(3.E-1)", .30, parseFloat(3.E-1) ); -new TestCase( "parseFloat(-3.E-1)", -.30, parseFloat(-3.E-1) ); - -// StrDecimalLiteral::: .DecimalDigits ExponentPart opt - -new TestCase( "parseFloat(.00001)", 0.00001, parseFloat(.00001) ); -new TestCase( "parseFloat(-0.0001)", -0.00001, parseFloat(-.00001) ); - -new TestCase( "parseFloat(.01e2)", 1, parseFloat(.01e2) ); -new TestCase( "parseFloat(-.01e2)", -1, parseFloat(-.01e2) ); - -new TestCase( "parseFloat(.01e+2)", 1, parseFloat(.01e+2) ); -new TestCase( "parseFloat(-.01e+2)", -1, parseFloat(-.01e+2) ); - -new TestCase( "parseFloat(.01e-2)", 0.0001, parseFloat(.01e-2) ); -new TestCase( "parseFloat(-.01e-2)", -0.0001, parseFloat(-.01e-2) ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt - -new TestCase( "parseFloat(1234e5)", 123400000, parseFloat(1234e5) ); -new TestCase( "parseFloat(-1234e5)", -123400000, parseFloat(-1234e5) ); - -new TestCase( "parseFloat(1234e+5)", 123400000, parseFloat(1234e+5) ); -new TestCase( "parseFloat(-1234e+5)", -123400000, parseFloat(-1234e+5) ); - -new TestCase( "parseFloat(1234e-5)", 0.01234, parseFloat(1234e-5) ); -new TestCase( "parseFloat(-1234e-5)", -0.01234, parseFloat(-1234e-5) ); - -// hex cases should all return 0 (0 is the longest string that satisfies a StringDecimalLiteral) - -new TestCase( "parseFloat('0x0')", 0, parseFloat("0x0")); -new TestCase( "parseFloat('0x1')", 0, parseFloat("0x1")); -new TestCase( "parseFloat('0x2')", 0, parseFloat("0x2")); -new TestCase( "parseFloat('0x3')", 0, parseFloat("0x3")); -new TestCase( "parseFloat('0x4')", 0, parseFloat("0x4")); -new TestCase( "parseFloat('0x5')", 0, parseFloat("0x5")); -new TestCase( "parseFloat('0x6')", 0, parseFloat("0x6")); -new TestCase( "parseFloat('0x7')", 0, parseFloat("0x7")); -new TestCase( "parseFloat('0x8')", 0, parseFloat("0x8")); -new TestCase( "parseFloat('0x9')", 0, parseFloat("0x9")); -new TestCase( "parseFloat('0xa')", 0, parseFloat("0xa")); -new TestCase( "parseFloat('0xb')", 0, parseFloat("0xb")); -new TestCase( "parseFloat('0xc')", 0, parseFloat("0xc")); -new TestCase( "parseFloat('0xd')", 0, parseFloat("0xd")); -new TestCase( "parseFloat('0xe')", 0, parseFloat("0xe")); -new TestCase( "parseFloat('0xf')", 0, parseFloat("0xf")); -new TestCase( "parseFloat('0xA')", 0, parseFloat("0xA")); -new TestCase( "parseFloat('0xB')", 0, parseFloat("0xB")); -new TestCase( "parseFloat('0xC')", 0, parseFloat("0xC")); -new TestCase( "parseFloat('0xD')", 0, parseFloat("0xD")); -new TestCase( "parseFloat('0xE')", 0, parseFloat("0xE")); -new TestCase( "parseFloat('0xF')", 0, parseFloat("0xF")); - -new TestCase( "parseFloat('0X0')", 0, parseFloat("0X0")); -new TestCase( "parseFloat('0X1')", 0, parseFloat("0X1")); -new TestCase( "parseFloat('0X2')", 0, parseFloat("0X2")); -new TestCase( "parseFloat('0X3')", 0, parseFloat("0X3")); -new TestCase( "parseFloat('0X4')", 0, parseFloat("0X4")); -new TestCase( "parseFloat('0X5')", 0, parseFloat("0X5")); -new TestCase( "parseFloat('0X6')", 0, parseFloat("0X6")); -new TestCase( "parseFloat('0X7')", 0, parseFloat("0X7")); -new TestCase( "parseFloat('0X8')", 0, parseFloat("0X8")); -new TestCase( "parseFloat('0X9')", 0, parseFloat("0X9")); -new TestCase( "parseFloat('0Xa')", 0, parseFloat("0Xa")); -new TestCase( "parseFloat('0Xb')", 0, parseFloat("0Xb")); -new TestCase( "parseFloat('0Xc')", 0, parseFloat("0Xc")); -new TestCase( "parseFloat('0Xd')", 0, parseFloat("0Xd")); -new TestCase( "parseFloat('0Xe')", 0, parseFloat("0Xe")); -new TestCase( "parseFloat('0Xf')", 0, parseFloat("0Xf")); -new TestCase( "parseFloat('0XA')", 0, parseFloat("0XA")); -new TestCase( "parseFloat('0XB')", 0, parseFloat("0XB")); -new TestCase( "parseFloat('0XC')", 0, parseFloat("0XC")); -new TestCase( "parseFloat('0XD')", 0, parseFloat("0XD")); -new TestCase( "parseFloat('0XE')", 0, parseFloat("0XE")); -new TestCase( "parseFloat('0XF')", 0, parseFloat("0XF")); -new TestCase( "parseFloat(' 0XF ')", 0, parseFloat(" 0XF ")); - -// hex literals should still succeed - -new TestCase( "parseFloat(0x0)", 0, parseFloat(0x0)); -new TestCase( "parseFloat(0x1)", 1, parseFloat(0x1)); -new TestCase( "parseFloat(0x2)", 2, parseFloat(0x2)); -new TestCase( "parseFloat(0x3)", 3, parseFloat(0x3)); -new TestCase( "parseFloat(0x4)", 4, parseFloat(0x4)); -new TestCase( "parseFloat(0x5)", 5, parseFloat(0x5)); -new TestCase( "parseFloat(0x6)", 6, parseFloat(0x6)); -new TestCase( "parseFloat(0x7)", 7, parseFloat(0x7)); -new TestCase( "parseFloat(0x8)", 8, parseFloat(0x8)); -new TestCase( "parseFloat(0x9)", 9, parseFloat(0x9)); -new TestCase( "parseFloat(0xa)", 10, parseFloat(0xa)); -new TestCase( "parseFloat(0xb)", 11, parseFloat(0xb)); -new TestCase( "parseFloat(0xc)", 12, parseFloat(0xc)); -new TestCase( "parseFloat(0xd)", 13, parseFloat(0xd)); -new TestCase( "parseFloat(0xe)", 14, parseFloat(0xe)); -new TestCase( "parseFloat(0xf)", 15, parseFloat(0xf)); -new TestCase( "parseFloat(0xA)", 10, parseFloat(0xA)); -new TestCase( "parseFloat(0xB)", 11, parseFloat(0xB)); -new TestCase( "parseFloat(0xC)", 12, parseFloat(0xC)); -new TestCase( "parseFloat(0xD)", 13, parseFloat(0xD)); -new TestCase( "parseFloat(0xE)", 14, parseFloat(0xE)); -new TestCase( "parseFloat(0xF)", 15, parseFloat(0xF)); - -new TestCase( "parseFloat(0X0)", 0, parseFloat(0X0)); -new TestCase( "parseFloat(0X1)", 1, parseFloat(0X1)); -new TestCase( "parseFloat(0X2)", 2, parseFloat(0X2)); -new TestCase( "parseFloat(0X3)", 3, parseFloat(0X3)); -new TestCase( "parseFloat(0X4)", 4, parseFloat(0X4)); -new TestCase( "parseFloat(0X5)", 5, parseFloat(0X5)); -new TestCase( "parseFloat(0X6)", 6, parseFloat(0X6)); -new TestCase( "parseFloat(0X7)", 7, parseFloat(0X7)); -new TestCase( "parseFloat(0X8)", 8, parseFloat(0X8)); -new TestCase( "parseFloat(0X9)", 9, parseFloat(0X9)); -new TestCase( "parseFloat(0Xa)", 10, parseFloat(0Xa)); -new TestCase( "parseFloat(0Xb)", 11, parseFloat(0Xb)); -new TestCase( "parseFloat(0Xc)", 12, parseFloat(0Xc)); -new TestCase( "parseFloat(0Xd)", 13, parseFloat(0Xd)); -new TestCase( "parseFloat(0Xe)", 14, parseFloat(0Xe)); -new TestCase( "parseFloat(0Xf)", 15, parseFloat(0Xf)); -new TestCase( "parseFloat(0XA)", 10, parseFloat(0XA)); -new TestCase( "parseFloat(0XB)", 11, parseFloat(0XB)); -new TestCase( "parseFloat(0XC)", 12, parseFloat(0XC)); -new TestCase( "parseFloat(0XD)", 13, parseFloat(0XD)); -new TestCase( "parseFloat(0XE)", 14, parseFloat(0XE)); -new TestCase( "parseFloat(0XF)", 15, parseFloat(0XF)); - - -// A StringNumericLiteral may not use octal notation - -new TestCase( "parseFloat('00')", 0, parseFloat("00")); -new TestCase( "parseFloat('01')", 1, parseFloat("01")); -new TestCase( "parseFloat('02')", 2, parseFloat("02")); -new TestCase( "parseFloat('03')", 3, parseFloat("03")); -new TestCase( "parseFloat('04')", 4, parseFloat("04")); -new TestCase( "parseFloat('05')", 5, parseFloat("05")); -new TestCase( "parseFloat('06')", 6, parseFloat("06")); -new TestCase( "parseFloat('07')", 7, parseFloat("07")); -new TestCase( "parseFloat('010')", 10, parseFloat("010")); -new TestCase( "parseFloat('011')", 11, parseFloat("011")); - -// A StringNumericLIteral may have any number of leading 0 digits - -new TestCase( "parseFloat('001')", 1, parseFloat("001")); -new TestCase( "parseFloat('0001')", 1, parseFloat("0001")); -new TestCase( "parseFloat(' 0001 ')", 1, parseFloat(" 0001 ")); - -// an octal numeric literal should be treated as an octal - -new TestCase( "parseFloat(00)", 0, parseFloat(00)); -new TestCase( "parseFloat(01)", 1, parseFloat(01)); -new TestCase( "parseFloat(02)", 2, parseFloat(02)); -new TestCase( "parseFloat(03)", 3, parseFloat(03)); -new TestCase( "parseFloat(04)", 4, parseFloat(04)); -new TestCase( "parseFloat(05)", 5, parseFloat(05)); -new TestCase( "parseFloat(06)", 6, parseFloat(06)); -new TestCase( "parseFloat(07)", 7, parseFloat(07)); -new TestCase( "parseFloat(010)", 8, parseFloat(010)); -new TestCase( "parseFloat(011)", 9, parseFloat(011)); - -// A StringNumericLIteral may have any number of leading 0 digits - -new TestCase( "parseFloat(001)", 1, parseFloat(001)); -new TestCase( "parseFloat(0001)", 1, parseFloat(0001)); - -// make sure it's reflexive -new TestCase( "parseFloat(Math.PI)", Math.PI, parseFloat(Math.PI)); -new TestCase( "parseFloat(Math.LN2)", Math.LN2, parseFloat(Math.LN2)); -new TestCase( "parseFloat(Math.LN10)", Math.LN10, parseFloat(Math.LN10)); -new TestCase( "parseFloat(Math.LOG2E)", Math.LOG2E, parseFloat(Math.LOG2E)); -new TestCase( "parseFloat(Math.LOG10E)", Math.LOG10E, parseFloat(Math.LOG10E)); -new TestCase( "parseFloat(Math.SQRT2)", Math.SQRT2, parseFloat(Math.SQRT2)); -new TestCase( "parseFloat(Math.SQRT1_2)", Math.SQRT1_2, parseFloat(Math.SQRT1_2)); - -new TestCase( "parseFloat(Math.PI+'')", Math.PI, parseFloat(Math.PI+'')); -new TestCase( "parseFloat(Math.LN2+'')", Math.LN2, parseFloat(Math.LN2+'')); -new TestCase( "parseFloat(Math.LN10+'')", Math.LN10, parseFloat(Math.LN10+'')); -new TestCase( "parseFloat(Math.LOG2E+'')", Math.LOG2E, parseFloat(Math.LOG2E+'')); -new TestCase( "parseFloat(Math.LOG10E+'')", Math.LOG10E, parseFloat(Math.LOG10E+'')); -new TestCase( "parseFloat(Math.SQRT2+'')", Math.SQRT2, parseFloat(Math.SQRT2+'')); -new TestCase( "parseFloat(Math.SQRT1_2+'')", Math.SQRT1_2, parseFloat(Math.SQRT1_2+'')); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.3-2.js b/js/src/tests/ecma/GlobalObject/15.1.2.3-2.js deleted file mode 100644 index b301d31ed3ca..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.3-2.js +++ /dev/null @@ -1,253 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.3-2.js - ECMA Section: 15.1.2.3 Function properties of the global object: - parseFloat( string ) - - Description: The parseFloat function produces a number value dictated - by the interpretation of the contents of the string - argument defined as a decimal literal. - - When the parseFloat function is called, the following - steps are taken: - - 1. Call ToString( string ). - 2. Remove leading whitespace Result(1). - 3. If neither Result(2) nor any prefix of Result(2) - satisfies the syntax of a StrDecimalLiteral, - return NaN. - 4. Compute the longest prefix of Result(2) which might - be Resusult(2) itself, that satisfies the syntax of - a StrDecimalLiteral - 5. Return the number value for the MV of Result(4). - - Note that parseFloate may interpret only a leading - portion of the string as a number value; it ignores any - characters that cannot be interpreted as part of the - notation of a decimal literal, and no indication is given - that such characters were ignored. - - StrDecimalLiteral:: - Infinity - DecimalDigits.DecimalDigits opt ExponentPart opt - .DecimalDigits ExponentPart opt - DecimalDigits ExponentPart opt - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.2.3-2"; - -new TestCase( "parseFloat(true)", Number.NaN, parseFloat(true) ); -new TestCase( "parseFloat(false)", Number.NaN, parseFloat(false) ); -new TestCase( "parseFloat('string')", Number.NaN, parseFloat("string") ); - -new TestCase( "parseFloat(' Infinity')", Number.POSITIVE_INFINITY, parseFloat("Infinity") ); -// new TestCase( "parseFloat(Infinity)", Number.POSITIVE_INFINITY, parseFloat(Infinity) ); - -new TestCase( "parseFloat(' 0')", 0, parseFloat(" 0") ); -new TestCase( "parseFloat(' -0')", -0, parseFloat(" -0") ); -new TestCase( "parseFloat(' +0')", 0, parseFloat(" +0") ); - -new TestCase( "parseFloat(' 1')", 1, parseFloat(" 1") ); -new TestCase( "parseFloat(' -1')", -1, parseFloat(" -1") ); -new TestCase( "parseFloat(' +1')", 1, parseFloat(" +1") ); - -new TestCase( "parseFloat(' 2')", 2, parseFloat(" 2") ); -new TestCase( "parseFloat(' -2')", -2, parseFloat(" -2") ); -new TestCase( "parseFloat(' +2')", 2, parseFloat(" +2") ); - -new TestCase( "parseFloat(' 3')", 3, parseFloat(" 3") ); -new TestCase( "parseFloat(' -3')", -3, parseFloat(" -3") ); -new TestCase( "parseFloat(' +3')", 3, parseFloat(" +3") ); - -new TestCase( "parseFloat(' 4')", 4, parseFloat(" 4") ); -new TestCase( "parseFloat(' -4')", -4, parseFloat(" -4") ); -new TestCase( "parseFloat(' +4')", 4, parseFloat(" +4") ); - -new TestCase( "parseFloat(' 5')", 5, parseFloat(" 5") ); -new TestCase( "parseFloat(' -5')", -5, parseFloat(" -5") ); -new TestCase( "parseFloat(' +5')", 5, parseFloat(" +5") ); - -new TestCase( "parseFloat(' 6')", 6, parseFloat(" 6") ); -new TestCase( "parseFloat(' -6')", -6, parseFloat(" -6") ); -new TestCase( "parseFloat(' +6')", 6, parseFloat(" +6") ); - -new TestCase( "parseFloat(' 7')", 7, parseFloat(" 7") ); -new TestCase( "parseFloat(' -7')", -7, parseFloat(" -7") ); -new TestCase( "parseFloat(' +7')", 7, parseFloat(" +7") ); - -new TestCase( "parseFloat(' 8')", 8, parseFloat(" 8") ); -new TestCase( "parseFloat(' -8')", -8, parseFloat(" -8") ); -new TestCase( "parseFloat(' +8')", 8, parseFloat(" +8") ); - -new TestCase( "parseFloat(' 9')", 9, parseFloat(" 9") ); -new TestCase( "parseFloat(' -9')", -9, parseFloat(" -9") ); -new TestCase( "parseFloat(' +9')", 9, parseFloat(" +9") ); - -new TestCase( "parseFloat(' 3.14159')", 3.14159, parseFloat(" 3.14159") ); -new TestCase( "parseFloat(' -3.14159')", -3.14159, parseFloat(" -3.14159") ); -new TestCase( "parseFloat(' +3.14159')", 3.14159, parseFloat(" +3.14159") ); - -new TestCase( "parseFloat(' 3.')", 3, parseFloat(" 3.") ); -new TestCase( "parseFloat(' -3.')", -3, parseFloat(" -3.") ); -new TestCase( "parseFloat(' +3.')", 3, parseFloat(" +3.") ); - -new TestCase( "parseFloat(' 3.e1')", 30, parseFloat(" 3.e1") ); -new TestCase( "parseFloat(' -3.e1')", -30, parseFloat(" -3.e1") ); -new TestCase( "parseFloat(' +3.e1')", 30, parseFloat(" +3.e1") ); - -new TestCase( "parseFloat(' 3.e+1')", 30, parseFloat(" 3.e+1") ); -new TestCase( "parseFloat(' -3.e+1')", -30, parseFloat(" -3.e+1") ); -new TestCase( "parseFloat(' +3.e+1')", 30, parseFloat(" +3.e+1") ); - -new TestCase( "parseFloat(' 3.e-1')", .30, parseFloat(" 3.e-1") ); -new TestCase( "parseFloat(' -3.e-1')", -.30, parseFloat(" -3.e-1") ); -new TestCase( "parseFloat(' +3.e-1')", .30, parseFloat(" +3.e-1") ); - -// StrDecimalLiteral::: .DecimalDigits ExponentPart opt - -new TestCase( "parseFloat(' .00001')", 0.00001, parseFloat(" .00001") ); -new TestCase( "parseFloat(' +.00001')", 0.00001, parseFloat(" +.00001") ); -new TestCase( "parseFloat(' -0.0001')", -0.00001, parseFloat(" -.00001") ); - -new TestCase( "parseFloat(' .01e2')", 1, parseFloat(" .01e2") ); -new TestCase( "parseFloat(' +.01e2')", 1, parseFloat(" +.01e2") ); -new TestCase( "parseFloat(' -.01e2')", -1, parseFloat(" -.01e2") ); - -new TestCase( "parseFloat(' .01e+2')", 1, parseFloat(" .01e+2") ); -new TestCase( "parseFloat(' +.01e+2')", 1, parseFloat(" +.01e+2") ); -new TestCase( "parseFloat(' -.01e+2')", -1, parseFloat(" -.01e+2") ); - -new TestCase( "parseFloat(' .01e-2')", 0.0001, parseFloat(" .01e-2") ); -new TestCase( "parseFloat(' +.01e-2')", 0.0001, parseFloat(" +.01e-2") ); -new TestCase( "parseFloat(' -.01e-2')", -0.0001, parseFloat(" -.01e-2") ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt - -new TestCase( "parseFloat(' 1234e5')", 123400000, parseFloat(" 1234e5") ); -new TestCase( "parseFloat(' +1234e5')", 123400000, parseFloat(" +1234e5") ); -new TestCase( "parseFloat(' -1234e5')", -123400000, parseFloat(" -1234e5") ); - -new TestCase( "parseFloat(' 1234e+5')", 123400000, parseFloat(" 1234e+5") ); -new TestCase( "parseFloat(' +1234e+5')", 123400000, parseFloat(" +1234e+5") ); -new TestCase( "parseFloat(' -1234e+5')", -123400000, parseFloat(" -1234e+5") ); - -new TestCase( "parseFloat(' 1234e-5')", 0.01234, parseFloat(" 1234e-5") ); -new TestCase( "parseFloat(' +1234e-5')", 0.01234, parseFloat(" +1234e-5") ); -new TestCase( "parseFloat(' -1234e-5')", -0.01234, parseFloat(" -1234e-5") ); - - -new TestCase( "parseFloat(' .01E2')", 1, parseFloat(" .01E2") ); -new TestCase( "parseFloat(' +.01E2')", 1, parseFloat(" +.01E2") ); -new TestCase( "parseFloat(' -.01E2')", -1, parseFloat(" -.01E2") ); - -new TestCase( "parseFloat(' .01E+2')", 1, parseFloat(" .01E+2") ); -new TestCase( "parseFloat(' +.01E+2')", 1, parseFloat(" +.01E+2") ); -new TestCase( "parseFloat(' -.01E+2')", -1, parseFloat(" -.01E+2") ); - -new TestCase( "parseFloat(' .01E-2')", 0.0001, parseFloat(" .01E-2") ); -new TestCase( "parseFloat(' +.01E-2')", 0.0001, parseFloat(" +.01E-2") ); -new TestCase( "parseFloat(' -.01E-2')", -0.0001, parseFloat(" -.01E-2") ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt -new TestCase( "parseFloat(' 1234E5')", 123400000, parseFloat(" 1234E5") ); -new TestCase( "parseFloat(' +1234E5')", 123400000, parseFloat(" +1234E5") ); -new TestCase( "parseFloat(' -1234E5')", -123400000, parseFloat(" -1234E5") ); - -new TestCase( "parseFloat(' 1234E+5')", 123400000, parseFloat(" 1234E+5") ); -new TestCase( "parseFloat(' +1234E+5')", 123400000, parseFloat(" +1234E+5") ); -new TestCase( "parseFloat(' -1234E+5')", -123400000, parseFloat(" -1234E+5") ); - -new TestCase( "parseFloat(' 1234E-5')", 0.01234, parseFloat(" 1234E-5") ); -new TestCase( "parseFloat(' +1234E-5')", 0.01234, parseFloat(" +1234E-5") ); -new TestCase( "parseFloat(' -1234E-5')", -0.01234, parseFloat(" -1234E-5") ); - - -// hex cases should all return NaN - -new TestCase( "parseFloat(' 0x0')", 0, parseFloat(" 0x0")); -new TestCase( "parseFloat(' 0x1')", 0, parseFloat(" 0x1")); -new TestCase( "parseFloat(' 0x2')", 0, parseFloat(" 0x2")); -new TestCase( "parseFloat(' 0x3')", 0, parseFloat(" 0x3")); -new TestCase( "parseFloat(' 0x4')", 0, parseFloat(" 0x4")); -new TestCase( "parseFloat(' 0x5')", 0, parseFloat(" 0x5")); -new TestCase( "parseFloat(' 0x6')", 0, parseFloat(" 0x6")); -new TestCase( "parseFloat(' 0x7')", 0, parseFloat(" 0x7")); -new TestCase( "parseFloat(' 0x8')", 0, parseFloat(" 0x8")); -new TestCase( "parseFloat(' 0x9')", 0, parseFloat(" 0x9")); -new TestCase( "parseFloat(' 0xa')", 0, parseFloat(" 0xa")); -new TestCase( "parseFloat(' 0xb')", 0, parseFloat(" 0xb")); -new TestCase( "parseFloat(' 0xc')", 0, parseFloat(" 0xc")); -new TestCase( "parseFloat(' 0xd')", 0, parseFloat(" 0xd")); -new TestCase( "parseFloat(' 0xe')", 0, parseFloat(" 0xe")); -new TestCase( "parseFloat(' 0xf')", 0, parseFloat(" 0xf")); -new TestCase( "parseFloat(' 0xA')", 0, parseFloat(" 0xA")); -new TestCase( "parseFloat(' 0xB')", 0, parseFloat(" 0xB")); -new TestCase( "parseFloat(' 0xC')", 0, parseFloat(" 0xC")); -new TestCase( "parseFloat(' 0xD')", 0, parseFloat(" 0xD")); -new TestCase( "parseFloat(' 0xE')", 0, parseFloat(" 0xE")); -new TestCase( "parseFloat(' 0xF')", 0, parseFloat(" 0xF")); - -new TestCase( "parseFloat(' 0X0')", 0, parseFloat(" 0X0")); -new TestCase( "parseFloat(' 0X1')", 0, parseFloat(" 0X1")); -new TestCase( "parseFloat(' 0X2')", 0, parseFloat(" 0X2")); -new TestCase( "parseFloat(' 0X3')", 0, parseFloat(" 0X3")); -new TestCase( "parseFloat(' 0X4')", 0, parseFloat(" 0X4")); -new TestCase( "parseFloat(' 0X5')", 0, parseFloat(" 0X5")); -new TestCase( "parseFloat(' 0X6')", 0, parseFloat(" 0X6")); -new TestCase( "parseFloat(' 0X7')", 0, parseFloat(" 0X7")); -new TestCase( "parseFloat(' 0X8')", 0, parseFloat(" 0X8")); -new TestCase( "parseFloat(' 0X9')", 0, parseFloat(" 0X9")); -new TestCase( "parseFloat(' 0Xa')", 0, parseFloat(" 0Xa")); -new TestCase( "parseFloat(' 0Xb')", 0, parseFloat(" 0Xb")); -new TestCase( "parseFloat(' 0Xc')", 0, parseFloat(" 0Xc")); -new TestCase( "parseFloat(' 0Xd')", 0, parseFloat(" 0Xd")); -new TestCase( "parseFloat(' 0Xe')", 0, parseFloat(" 0Xe")); -new TestCase( "parseFloat(' 0Xf')", 0, parseFloat(" 0Xf")); -new TestCase( "parseFloat(' 0XA')", 0, parseFloat(" 0XA")); -new TestCase( "parseFloat(' 0XB')", 0, parseFloat(" 0XB")); -new TestCase( "parseFloat(' 0XC')", 0, parseFloat(" 0XC")); -new TestCase( "parseFloat(' 0XD')", 0, parseFloat(" 0XD")); -new TestCase( "parseFloat(' 0XE')", 0, parseFloat(" 0XE")); -new TestCase( "parseFloat(' 0XF')", 0, parseFloat(" 0XF")); - -// A StringNumericLiteral may not use octal notation - -new TestCase( "parseFloat(' 00')", 0, parseFloat(" 00")); -new TestCase( "parseFloat(' 01')", 1, parseFloat(" 01")); -new TestCase( "parseFloat(' 02')", 2, parseFloat(" 02")); -new TestCase( "parseFloat(' 03')", 3, parseFloat(" 03")); -new TestCase( "parseFloat(' 04')", 4, parseFloat(" 04")); -new TestCase( "parseFloat(' 05')", 5, parseFloat(" 05")); -new TestCase( "parseFloat(' 06')", 6, parseFloat(" 06")); -new TestCase( "parseFloat(' 07')", 7, parseFloat(" 07")); -new TestCase( "parseFloat(' 010')", 10, parseFloat(" 010")); -new TestCase( "parseFloat(' 011')", 11, parseFloat(" 011")); - -// A StringNumericLIteral may have any number of leading 0 digits - -new TestCase( "parseFloat(' 001')", 1, parseFloat(" 001")); -new TestCase( "parseFloat(' 0001')", 1, parseFloat(" 0001")); - -// A StringNumericLIteral may have any number of leading 0 digits - -new TestCase( "parseFloat(001)", 1, parseFloat(001)); -new TestCase( "parseFloat(0001)", 1, parseFloat(0001)); - -// make sure it' s reflexive -new TestCase( "parseFloat( ' ' +Math.PI+' ')", Math.PI, parseFloat( ' ' +Math.PI+' ')); -new TestCase( "parseFloat( ' ' +Math.LN2+' ')", Math.LN2, parseFloat( ' ' +Math.LN2+' ')); -new TestCase( "parseFloat( ' ' +Math.LN10+' ')", Math.LN10, parseFloat( ' ' +Math.LN10+' ')); -new TestCase( "parseFloat( ' ' +Math.LOG2E+' ')", Math.LOG2E, parseFloat( ' ' +Math.LOG2E+' ')); -new TestCase( "parseFloat( ' ' +Math.LOG10E+' ')", Math.LOG10E, parseFloat( ' ' +Math.LOG10E+' ')); -new TestCase( "parseFloat( ' ' +Math.SQRT2+' ')", Math.SQRT2, parseFloat( ' ' +Math.SQRT2+' ')); -new TestCase( "parseFloat( ' ' +Math.SQRT1_2+' ')", Math.SQRT1_2, parseFloat( ' ' +Math.SQRT1_2+' ')); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.4.js b/js/src/tests/ecma/GlobalObject/15.1.2.4.js deleted file mode 100644 index 0fc082349001..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.4.js +++ /dev/null @@ -1,167 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.4.js - ECMA Section: 15.1.2.4 Function properties of the global object - escape( string ) - - Description: - The escape function computes a new version of a string value in which - certain characters have been replaced by a hexadecimal escape sequence. - The result thus contains no special characters that might have special - meaning within a URL. - - For characters whose Unicode encoding is 0xFF or less, a two-digit - escape sequence of the form %xx is used in accordance with RFC1738. - For characters whose Unicode encoding is greater than 0xFF, a four- - digit escape sequence of the form %uxxxx is used. - - When the escape function is called with one argument string, the - following steps are taken: - - 1. Call ToString(string). - 2. Compute the number of characters in Result(1). - 3. Let R be the empty string. - 4. Let k be 0. - 5. If k equals Result(2), return R. - 6. Get the character at position k within Result(1). - 7. If Result(6) is one of the 69 nonblank ASCII characters - ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz - 0123456789 @*_+-./, go to step 14. - 8. Compute the 16-bit unsigned integer that is the Unicode character - encoding of Result(6). - 9. If Result(8), is less than 256, go to step 12. - 10. Let S be a string containing six characters "%uwxyz" where wxyz are - four hexadecimal digits encoding the value of Result(8). - 11. Go to step 15. - 12. Let S be a string containing three characters "%xy" where xy are two - hexadecimal digits encoding the value of Result(8). - 13. Go to step 15. - 14. Let S be a string containing the single character Result(6). - 15. Let R be a new string value computed by concatenating the previous value - of R and S. - 16. Increase k by 1. - 17. Go to step 5. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.2.4"; -var TITLE = "escape(string)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "escape.length", 1, escape.length ); -new TestCase( "escape.length = null; escape.length", 1, eval("escape.length = null; escape.length") ); -new TestCase( "var MYPROPS=''; for ( var p in escape ) { MYPROPS+= p}; MYPROPS", "", eval("var MYPROPS=''; for ( var p in escape ) { MYPROPS+= p}; MYPROPS") ); - -new TestCase( "escape()", "undefined", escape() ); -new TestCase( "escape('')", "", escape('') ); -new TestCase( "escape( null )", "null", escape(null) ); -new TestCase( "escape( void 0 )", "undefined", escape(void 0) ); -new TestCase( "escape( true )", "true", escape( true ) ); -new TestCase( "escape( false )", "false", escape( false ) ); - -new TestCase( "escape( new Boolean(true) )", "true", escape(new Boolean(true)) ); -new TestCase( "escape( new Boolean(false) )", "false", escape(new Boolean(false)) ); - -new TestCase( "escape( Number.NaN )", "NaN", escape(Number.NaN) ); -new TestCase( "escape( -0 )", "0", escape( -0 ) ); -new TestCase( "escape( 'Infinity' )", "Infinity", escape( "Infinity" ) ); -new TestCase( "escape( Number.POSITIVE_INFINITY )", "Infinity", escape( Number.POSITIVE_INFINITY ) ); -new TestCase( "escape( Number.NEGATIVE_INFINITY )", "-Infinity", escape( Number.NEGATIVE_INFINITY ) ); - -var ASCII_TEST_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./"; - -new TestCase( "escape( " +ASCII_TEST_STRING+" )", ASCII_TEST_STRING, escape( ASCII_TEST_STRING ) ); - -// ASCII value less than - -for ( var CHARCODE = 0; CHARCODE < 32; CHARCODE++ ) { - new TestCase( - "escape(String.fromCharCode("+CHARCODE+"))", - "%"+ToHexString(CHARCODE), - escape(String.fromCharCode(CHARCODE)) ); -} -for ( var CHARCODE = 128; CHARCODE < 256; CHARCODE++ ) { - new TestCase( - "escape(String.fromCharCode("+CHARCODE+"))", - "%"+ToHexString(CHARCODE), - escape(String.fromCharCode(CHARCODE)) ); -} - -for ( var CHARCODE = 256; CHARCODE < 1024; CHARCODE++ ) { - new TestCase( - "escape(String.fromCharCode("+CHARCODE+"))", - "%u"+ ToUnicodeString(CHARCODE), - escape(String.fromCharCode(CHARCODE)) ); -} -for ( var CHARCODE = 65500; CHARCODE < 65536; CHARCODE++ ) { - new TestCase( - "escape(String.fromCharCode("+CHARCODE+"))", - "%u"+ ToUnicodeString(CHARCODE), - escape(String.fromCharCode(CHARCODE)) ); -} - -test(); - -function ToUnicodeString( n ) { - var string = ToHexString(n); - - for ( var PAD = (4 - string.length ); PAD > 0; PAD-- ) { - string = "0" + string; - } - - return string; -} -function ToHexString( n ) { - var hex = new Array(); - - for ( var mag = 1; Math.pow(16,mag) <= n ; mag++ ) { - ; - } - - for ( index = 0, mag -= 1; mag > 0; index++, mag-- ) { - hex[index] = Math.floor( n / Math.pow(16,mag) ); - n -= Math.pow(16,mag) * Math.floor( n/Math.pow(16,mag) ); - } - - hex[hex.length] = n % 16; - - var string =""; - - for ( var index = 0 ; index < hex.length ; index++ ) { - switch ( hex[index] ) { - case 10: - string += "A"; - break; - case 11: - string += "B"; - break; - case 12: - string += "C"; - break; - case 13: - string += "D"; - break; - case 14: - string += "E"; - break; - case 15: - string += "F"; - break; - default: - string += hex[index]; - } - } - - if ( string.length == 1 ) { - string = "0" + string; - } - return string; -} diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.5-1.js b/js/src/tests/ecma/GlobalObject/15.1.2.5-1.js deleted file mode 100644 index 0dfb1d83c079..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.5-1.js +++ /dev/null @@ -1,168 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.5-1.js - ECMA Section: 15.1.2.5 Function properties of the global object - unescape( string ) - - Description: - The unescape function computes a new version of a string value in which - each escape sequences of the sort that might be introduced by the escape - function is replaced with the character that it represents. - - When the unescape function is called with one argument string, the - following steps are taken: - - 1. Call ToString(string). - 2. Compute the number of characters in Result(1). - 3. Let R be the empty string. - 4. Let k be 0. - 5. If k equals Result(2), return R. - 6. Let c be the character at position k within Result(1). - 7. If c is not %, go to step 18. - 8. If k is greater than Result(2)-6, go to step 14. - 9. If the character at position k+1 within result(1) is not u, go to step - 14. - 10. If the four characters at positions k+2, k+3, k+4, and k+5 within - Result(1) are not all hexadecimal digits, go to step 14. - 11. Let c be the character whose Unicode encoding is the integer represented - by the four hexadecimal digits at positions k+2, k+3, k+4, and k+5 - within Result(1). - 12. Increase k by 5. - 13. Go to step 18. - 14. If k is greater than Result(2)-3, go to step 18. - 15. If the two characters at positions k+1 and k+2 within Result(1) are not - both hexadecimal digits, go to step 18. - 16. Let c be the character whose Unicode encoding is the integer represented - by two zeroes plus the two hexadecimal digits at positions k+1 and k+2 - within Result(1). - 17. Increase k by 2. - 18. Let R be a new string value computed by concatenating the previous value - of R and c. - 19. Increase k by 1. - 20. Go to step 5. - Author: christine@netscape.com - Date: 28 october 1997 -*/ - -var SECTION = "15.1.2.5-1"; -var TITLE = "unescape(string)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "unescape.length", 1, unescape.length ); -new TestCase( "unescape.length = null; unescape.length", 1, eval("unescape.length=null; unescape.length") ); -new TestCase( "var MYPROPS=''; for ( var p in unescape ) { MYPROPS+= p }; MYPROPS", "", eval("var MYPROPS=''; for ( var p in unescape ) { MYPROPS+= p }; MYPROPS") ); - -new TestCase( "unescape()", "undefined", unescape() ); -new TestCase( "unescape('')", "", unescape('') ); -new TestCase( "unescape( null )", "null", unescape(null) ); -new TestCase( "unescape( void 0 )", "undefined", unescape(void 0) ); -new TestCase( "unescape( true )", "true", unescape( true ) ); -new TestCase( "unescape( false )", "false", unescape( false ) ); - -new TestCase( "unescape( new Boolean(true) )", "true", unescape(new Boolean(true)) ); -new TestCase( "unescape( new Boolean(false) )", "false", unescape(new Boolean(false)) ); - -new TestCase( "unescape( Number.NaN )", "NaN", unescape(Number.NaN) ); -new TestCase( "unescape( -0 )", "0", unescape( -0 ) ); -new TestCase( "unescape( 'Infinity' )", "Infinity", unescape( "Infinity" ) ); -new TestCase( "unescape( Number.POSITIVE_INFINITY )", "Infinity", unescape( Number.POSITIVE_INFINITY ) ); -new TestCase( "unescape( Number.NEGATIVE_INFINITY )", "-Infinity", unescape( Number.NEGATIVE_INFINITY ) ); - -var ASCII_TEST_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./"; - -new TestCase( "unescape( " +ASCII_TEST_STRING+" )", ASCII_TEST_STRING, unescape( ASCII_TEST_STRING ) ); - -// escaped chars with ascii values less than 256 - -for ( var CHARCODE = 0; CHARCODE < 256; CHARCODE++ ) { - new TestCase( - "unescape( %"+ ToHexString(CHARCODE)+" )", - String.fromCharCode(CHARCODE), - unescape( "%" + ToHexString(CHARCODE) ) ); -} - -// unicode chars represented by two hex digits -for ( var CHARCODE = 0; CHARCODE < 256; CHARCODE++ ) { - new TestCase( - "unescape( %u"+ ToHexString(CHARCODE)+" )", - "%u"+ToHexString(CHARCODE), - unescape( "%u" + ToHexString(CHARCODE) ) ); -} -/* - for ( var CHARCODE = 0; CHARCODE < 256; CHARCODE++ ) { - new TestCase( - "unescape( %u"+ ToUnicodeString(CHARCODE)+" )", - String.fromCharCode(CHARCODE), - unescape( "%u" + ToUnicodeString(CHARCODE) ) ); - } - for ( var CHARCODE = 256; CHARCODE < 65536; CHARCODE+= 333 ) { - new TestCase( - "unescape( %u"+ ToUnicodeString(CHARCODE)+" )", - String.fromCharCode(CHARCODE), - unescape( "%u" + ToUnicodeString(CHARCODE) ) ); - } -*/ - -test(); - -function ToUnicodeString( n ) { - var string = ToHexString(n); - - for ( var PAD = (4 - string.length ); PAD > 0; PAD-- ) { - string = "0" + string; - } - - return string; -} -function ToHexString( n ) { - var hex = new Array(); - - for ( var mag = 1; Math.pow(16,mag) <= n ; mag++ ) { - ; - } - - for ( index = 0, mag -= 1; mag > 0; index++, mag-- ) { - hex[index] = Math.floor( n / Math.pow(16,mag) ); - n -= Math.pow(16,mag) * Math.floor( n/Math.pow(16,mag) ); - } - - hex[hex.length] = n % 16; - - var string =""; - - for ( var index = 0 ; index < hex.length ; index++ ) { - switch ( hex[index] ) { - case 10: - string += "A"; - break; - case 11: - string += "B"; - break; - case 12: - string += "C"; - break; - case 13: - string += "D"; - break; - case 14: - string += "E"; - break; - case 15: - string += "F"; - break; - default: - string += hex[index]; - } - } - - if ( string.length == 1 ) { - string = "0" + string; - } - return string; -} diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.5-2.js b/js/src/tests/ecma/GlobalObject/15.1.2.5-2.js deleted file mode 100644 index 9cc2261b082a..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.5-2.js +++ /dev/null @@ -1,146 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.5-2.js - ECMA Section: 15.1.2.5 Function properties of the global object - unescape( string ) - Description: - - This tests the cases where there are fewer than 4 characters following "%u", - or fewer than 2 characters following "%" or "%u". - - The unescape function computes a new version of a string value in which - each escape sequences of the sort that might be introduced by the escape - function is replaced with the character that it represents. - - When the unescape function is called with one argument string, the - following steps are taken: - - 1. Call ToString(string). - 2. Compute the number of characters in Result(1). - 3. Let R be the empty string. - 4. Let k be 0. - 5. If k equals Result(2), return R. - 6. Let c be the character at position k within Result(1). - 7. If c is not %, go to step 18. - 8. If k is greater than Result(2)-6, go to step 14. - 9. If the character at position k+1 within result(1) is not u, go to step - 14. - 10. If the four characters at positions k+2, k+3, k+4, and k+5 within - Result(1) are not all hexadecimal digits, go to step 14. - 11. Let c be the character whose Unicode encoding is the integer represented - by the four hexadecimal digits at positions k+2, k+3, k+4, and k+5 - within Result(1). - 12. Increase k by 5. - 13. Go to step 18. - 14. If k is greater than Result(2)-3, go to step 18. - 15. If the two characters at positions k+1 and k+2 within Result(1) are not - both hexadecimal digits, go to step 18. - 16. Let c be the character whose Unicode encoding is the integer represented - by two zeroes plus the two hexadecimal digits at positions k+1 and k+2 - within Result(1). - 17. Increase k by 2. - 18. Let R be a new string value computed by concatenating the previous value - of R and c. - 19. Increase k by 1. - 20. Go to step 5. - Author: christine@netscape.com - Date: 28 october 1997 -*/ - -var SECTION = "15.1.2.5-2"; -var TITLE = "unescape(string)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// since there is only one character following "%", no conversion should occur. - -for ( var CHARCODE = 0; CHARCODE < 256; CHARCODE += 16 ) { - new TestCase( - "unescape( %"+ (ToHexString(CHARCODE)).substring(0,1) +" )", - "%"+(ToHexString(CHARCODE)).substring(0,1), - unescape( "%" + (ToHexString(CHARCODE)).substring(0,1) ) ); -} - -// since there is only one character following "%u", no conversion should occur. - -for ( var CHARCODE = 0; CHARCODE < 256; CHARCODE +=16 ) { - new TestCase( - "unescape( %u"+ (ToHexString(CHARCODE)).substring(0,1) +" )", - "%u"+(ToHexString(CHARCODE)).substring(0,1), - unescape( "%u" + (ToHexString(CHARCODE)).substring(0,1) ) ); -} - - -// three char unicode string. no conversion should occur - -for ( var CHARCODE = 1024; CHARCODE < 65536; CHARCODE+= 1234 ) { - new TestCase( - "unescape( %u"+ (ToUnicodeString(CHARCODE)).substring(0,3)+ " )", - - "%u"+(ToUnicodeString(CHARCODE)).substring(0,3), - unescape( "%u"+(ToUnicodeString(CHARCODE)).substring(0,3) ) - ); -} - -test(); - -function ToUnicodeString( n ) { - var string = ToHexString(n); - - for ( var PAD = (4 - string.length ); PAD > 0; PAD-- ) { - string = "0" + string; - } - - return string; -} -function ToHexString( n ) { - var hex = new Array(); - - for ( var mag = 1; Math.pow(16,mag) <= n ; mag++ ) { - ; - } - - for ( index = 0, mag -= 1; mag > 0; index++, mag-- ) { - hex[index] = Math.floor( n / Math.pow(16,mag) ); - n -= Math.pow(16,mag) * Math.floor( n/Math.pow(16,mag) ); - } - - hex[hex.length] = n % 16; - - var string =""; - - for ( var index = 0 ; index < hex.length ; index++ ) { - switch ( hex[index] ) { - case 10: - string += "A"; - break; - case 11: - string += "B"; - break; - case 12: - string += "C"; - break; - case 13: - string += "D"; - break; - case 14: - string += "E"; - break; - case 15: - string += "F"; - break; - default: - string += hex[index]; - } - } - - if ( string.length == 1 ) { - string = "0" + string; - } - return string; -} diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.5-3.js b/js/src/tests/ecma/GlobalObject/15.1.2.5-3.js deleted file mode 100644 index eebd2f167cc7..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.5-3.js +++ /dev/null @@ -1,171 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.5-3.js - ECMA Section: 15.1.2.5 Function properties of the global object - unescape( string ) - - Description: - This tests the cases where one of the four characters following "%u" is - not a hexidecimal character, or one of the two characters following "%" - or "%u" is not a hexidecimal character. - - The unescape function computes a new version of a string value in which - each escape sequences of the sort that might be introduced by the escape - function is replaced with the character that it represents. - - When the unescape function is called with one argument string, the - following steps are taken: - - 1. Call ToString(string). - 2. Compute the number of characters in Result(1). - 3. Let R be the empty string. - 4. Let k be 0. - 5. If k equals Result(2), return R. - 6. Let c be the character at position k within Result(1). - 7. If c is not %, go to step 18. - 8. If k is greater than Result(2)-6, go to step 14. - 9. If the character at position k+1 within result(1) is not u, go to step - 14. - 10. If the four characters at positions k+2, k+3, k+4, and k+5 within - Result(1) are not all hexadecimal digits, go to step 14. - 11. Let c be the character whose Unicode encoding is the integer represented - by the four hexadecimal digits at positions k+2, k+3, k+4, and k+5 - within Result(1). - 12. Increase k by 5. - 13. Go to step 18. - 14. If k is greater than Result(2)-3, go to step 18. - 15. If the two characters at positions k+1 and k+2 within Result(1) are not - both hexadecimal digits, go to step 18. - 16. Let c be the character whose Unicode encoding is the integer represented - by two zeroes plus the two hexadecimal digits at positions k+1 and k+2 - within Result(1). - 17. Increase k by 2. - 18. Let R be a new string value computed by concatenating the previous value - of R and c. - 19. Increase k by 1. - 20. Go to step 5. - Author: christine@netscape.com - Date: 28 october 1997 -*/ - - -var SECTION = "15.1.2.5-3"; -var TITLE = "unescape(string)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -for ( var CHARCODE = 0, NONHEXCHARCODE = 0; CHARCODE < 256; CHARCODE++, NONHEXCHARCODE++ ) { - NONHEXCHARCODE = getNextNonHexCharCode( NONHEXCHARCODE ); - - new TestCase( - "unescape( %"+ (ToHexString(CHARCODE)).substring(0,1) + - String.fromCharCode( NONHEXCHARCODE ) +" )" + - "[where last character is String.fromCharCode("+NONHEXCHARCODE+")]", - "%"+(ToHexString(CHARCODE)).substring(0,1)+ - String.fromCharCode( NONHEXCHARCODE ), - unescape( "%" + (ToHexString(CHARCODE)).substring(0,1)+ - String.fromCharCode( NONHEXCHARCODE ) ) ); -} -for ( var CHARCODE = 0, NONHEXCHARCODE = 0; CHARCODE < 256; CHARCODE++, NONHEXCHARCODE++ ) { - NONHEXCHARCODE = getNextNonHexCharCode( NONHEXCHARCODE ); - - new TestCase( - "unescape( %u"+ (ToHexString(CHARCODE)).substring(0,1) + - String.fromCharCode( NONHEXCHARCODE ) +" )" + - "[where last character is String.fromCharCode("+NONHEXCHARCODE+")]", - "%u"+(ToHexString(CHARCODE)).substring(0,1)+ - String.fromCharCode( NONHEXCHARCODE ), - unescape( "%u" + (ToHexString(CHARCODE)).substring(0,1)+ - String.fromCharCode( NONHEXCHARCODE ) ) ); -} - -for ( var CHARCODE = 0, NONHEXCHARCODE = 0 ; CHARCODE < 65536; CHARCODE+= 54321, NONHEXCHARCODE++ ) { - NONHEXCHARCODE = getNextNonHexCharCode( NONHEXCHARCODE ); - - new TestCase( - "unescape( %u"+ (ToUnicodeString(CHARCODE)).substring(0,3) + - String.fromCharCode( NONHEXCHARCODE ) +" )" + - "[where last character is String.fromCharCode("+NONHEXCHARCODE+")]", - - String.fromCharCode(eval("0x"+ (ToUnicodeString(CHARCODE)).substring(0,2))) + - (ToUnicodeString(CHARCODE)).substring(2,3) + - String.fromCharCode( NONHEXCHARCODE ), - - unescape( "%" + (ToUnicodeString(CHARCODE)).substring(0,3)+ - String.fromCharCode( NONHEXCHARCODE ) ) ); -} - -test(); - -function getNextNonHexCharCode( n ) { - for ( ; n < Math.pow(2,16); n++ ) { - if ( ( n == 43 || n == 45 || n == 46 || n == 47 || - (n >= 71 && n <= 90) || (n >= 103 && n <= 122) || - n == 64 || n == 95 ) ) { - break; - } else { - n = ( n > 122 ) ? 0 : n; - } - } - return n; -} -function ToUnicodeString( n ) { - var string = ToHexString(n); - - for ( var PAD = (4 - string.length ); PAD > 0; PAD-- ) { - string = "0" + string; - } - - return string; -} -function ToHexString( n ) { - var hex = new Array(); - - for ( var mag = 1; Math.pow(16,mag) <= n ; mag++ ) { - ; - } - - for ( index = 0, mag -= 1; mag > 0; index++, mag-- ) { - hex[index] = Math.floor( n / Math.pow(16,mag) ); - n -= Math.pow(16,mag) * Math.floor( n/Math.pow(16,mag) ); - } - - hex[hex.length] = n % 16; - - var string =""; - - for ( var index = 0 ; index < hex.length ; index++ ) { - switch ( hex[index] ) { - case 10: - string += "A"; - break; - case 11: - string += "B"; - break; - case 12: - string += "C"; - break; - case 13: - string += "D"; - break; - case 14: - string += "E"; - break; - case 15: - string += "F"; - break; - default: - string += hex[index]; - } - } - - if ( string.length == 1 ) { - string = "0" + string; - } - return string; -} diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.6.js b/js/src/tests/ecma/GlobalObject/15.1.2.6.js deleted file mode 100644 index 97d4a4e45f85..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.6.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.6.js - ECMA Section: 15.1.2.6 isNaN( x ) - - Description: Applies ToNumber to its argument, then returns true if - the result isNaN and otherwise returns false. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.2.6"; -var TITLE = "isNaN( x )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "isNaN.length", 1, isNaN.length ); -new TestCase( "var MYPROPS=''; for ( var p in isNaN ) { MYPROPS+= p }; MYPROPS", "", eval("var MYPROPS=''; for ( var p in isNaN ) { MYPROPS+= p }; MYPROPS") ); -new TestCase( "isNaN.length = null; isNaN.length", 1, eval("isNaN.length=null; isNaN.length") ); - -// new TestCase( "isNaN.__proto__", Function.prototype, isNaN.__proto__ ); - -new TestCase( "isNaN()", true, isNaN() ); -new TestCase( "isNaN( null )", false, isNaN(null) ); -new TestCase( "isNaN( void 0 )", true, isNaN(void 0) ); -new TestCase( "isNaN( true )", false, isNaN(true) ); -new TestCase( "isNaN( false)", false, isNaN(false) ); -new TestCase( "isNaN( ' ' )", false, isNaN( " " ) ); - -new TestCase( "isNaN( 0 )", false, isNaN(0) ); -new TestCase( "isNaN( 1 )", false, isNaN(1) ); -new TestCase( "isNaN( 2 )", false, isNaN(2) ); -new TestCase( "isNaN( 3 )", false, isNaN(3) ); -new TestCase( "isNaN( 4 )", false, isNaN(4) ); -new TestCase( "isNaN( 5 )", false, isNaN(5) ); -new TestCase( "isNaN( 6 )", false, isNaN(6) ); -new TestCase( "isNaN( 7 )", false, isNaN(7) ); -new TestCase( "isNaN( 8 )", false, isNaN(8) ); -new TestCase( "isNaN( 9 )", false, isNaN(9) ); - -new TestCase( "isNaN( '0' )", false, isNaN('0') ); -new TestCase( "isNaN( '1' )", false, isNaN('1') ); -new TestCase( "isNaN( '2' )", false, isNaN('2') ); -new TestCase( "isNaN( '3' )", false, isNaN('3') ); -new TestCase( "isNaN( '4' )", false, isNaN('4') ); -new TestCase( "isNaN( '5' )", false, isNaN('5') ); -new TestCase( "isNaN( '6' )", false, isNaN('6') ); -new TestCase( "isNaN( '7' )", false, isNaN('7') ); -new TestCase( "isNaN( '8' )", false, isNaN('8') ); -new TestCase( "isNaN( '9' )", false, isNaN('9') ); - - -new TestCase( "isNaN( 0x0a )", false, isNaN( 0x0a ) ); -new TestCase( "isNaN( 0xaa )", false, isNaN( 0xaa ) ); -new TestCase( "isNaN( 0x0A )", false, isNaN( 0x0A ) ); -new TestCase( "isNaN( 0xAA )", false, isNaN( 0xAA ) ); - -new TestCase( "isNaN( '0x0a' )", false, isNaN( "0x0a" ) ); -new TestCase( "isNaN( '0xaa' )", false, isNaN( "0xaa" ) ); -new TestCase( "isNaN( '0x0A' )", false, isNaN( "0x0A" ) ); -new TestCase( "isNaN( '0xAA' )", false, isNaN( "0xAA" ) ); - -new TestCase( "isNaN( 077 )", false, isNaN( 077 ) ); -new TestCase( "isNaN( '077' )", false, isNaN( "077" ) ); - - -new TestCase( "isNaN( Number.NaN )", true, isNaN(Number.NaN) ); -new TestCase( "isNaN( Number.POSITIVE_INFINITY )", false, isNaN(Number.POSITIVE_INFINITY) ); -new TestCase( "isNaN( Number.NEGATIVE_INFINITY )", false, isNaN(Number.NEGATIVE_INFINITY) ); -new TestCase( "isNaN( Number.MAX_VALUE )", false, isNaN(Number.MAX_VALUE) ); -new TestCase( "isNaN( Number.MIN_VALUE )", false, isNaN(Number.MIN_VALUE) ); - -new TestCase( "isNaN( NaN )", true, isNaN(NaN) ); -new TestCase( "isNaN( Infinity )", false, isNaN(Infinity) ); - -new TestCase( "isNaN( 'Infinity' )", false, isNaN("Infinity") ); -new TestCase( "isNaN( '-Infinity' )", false, isNaN("-Infinity") ); - -test(); diff --git a/js/src/tests/ecma/GlobalObject/15.1.2.7.js b/js/src/tests/ecma/GlobalObject/15.1.2.7.js deleted file mode 100644 index b3c96d6b494e..000000000000 --- a/js/src/tests/ecma/GlobalObject/15.1.2.7.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.7.js - ECMA Section: 15.1.2.7 isFinite(number) - - Description: Applies ToNumber to its argument, then returns false if - the result is NaN, Infinity, or -Infinity, and otherwise - returns true. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.1.2.7"; -var TITLE = "isFinite( x )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "isFinite.length", 1, isFinite.length ); -new TestCase( "isFinite.length = null; isFinite.length", 1, eval("isFinite.length=null; isFinite.length") ); -new TestCase( "var MYPROPS=''; for ( p in isFinite ) { MYPROPS+= p }; MYPROPS", "", eval("var MYPROPS=''; for ( p in isFinite ) { MYPROPS += p }; MYPROPS") ); - -new TestCase( "isFinite()", false, isFinite() ); -new TestCase( "isFinite( null )", true, isFinite(null) ); -new TestCase( "isFinite( void 0 )", false, isFinite(void 0) ); -new TestCase( "isFinite( false )", true, isFinite(false) ); -new TestCase( "isFinite( true)", true, isFinite(true) ); -new TestCase( "isFinite( ' ' )", true, isFinite( " " ) ); - -new TestCase( "isFinite( new Boolean(true) )", true, isFinite(new Boolean(true)) ); -new TestCase( "isFinite( new Boolean(false) )", true, isFinite(new Boolean(false)) ); - -new TestCase( "isFinite( 0 )", true, isFinite(0) ); -new TestCase( "isFinite( 1 )", true, isFinite(1) ); -new TestCase( "isFinite( 2 )", true, isFinite(2) ); -new TestCase( "isFinite( 3 )", true, isFinite(3) ); -new TestCase( "isFinite( 4 )", true, isFinite(4) ); -new TestCase( "isFinite( 5 )", true, isFinite(5) ); -new TestCase( "isFinite( 6 )", true, isFinite(6) ); -new TestCase( "isFinite( 7 )", true, isFinite(7) ); -new TestCase( "isFinite( 8 )", true, isFinite(8) ); -new TestCase( "isFinite( 9 )", true, isFinite(9) ); - -new TestCase( "isFinite( '0' )", true, isFinite('0') ); -new TestCase( "isFinite( '1' )", true, isFinite('1') ); -new TestCase( "isFinite( '2' )", true, isFinite('2') ); -new TestCase( "isFinite( '3' )", true, isFinite('3') ); -new TestCase( "isFinite( '4' )", true, isFinite('4') ); -new TestCase( "isFinite( '5' )", true, isFinite('5') ); -new TestCase( "isFinite( '6' )", true, isFinite('6') ); -new TestCase( "isFinite( '7' )", true, isFinite('7') ); -new TestCase( "isFinite( '8' )", true, isFinite('8') ); -new TestCase( "isFinite( '9' )", true, isFinite('9') ); - -new TestCase( "isFinite( 0x0a )", true, isFinite( 0x0a ) ); -new TestCase( "isFinite( 0xaa )", true, isFinite( 0xaa ) ); -new TestCase( "isFinite( 0x0A )", true, isFinite( 0x0A ) ); -new TestCase( "isFinite( 0xAA )", true, isFinite( 0xAA ) ); - -new TestCase( "isFinite( '0x0a' )", true, isFinite( "0x0a" ) ); -new TestCase( "isFinite( '0xaa' )", true, isFinite( "0xaa" ) ); -new TestCase( "isFinite( '0x0A' )", true, isFinite( "0x0A" ) ); -new TestCase( "isFinite( '0xAA' )", true, isFinite( "0xAA" ) ); - -new TestCase( "isFinite( 077 )", true, isFinite( 077 ) ); -new TestCase( "isFinite( '077' )", true, isFinite( "077" ) ); - -new TestCase( "isFinite( new String('Infinity') )", false, isFinite(new String("Infinity")) ); -new TestCase( "isFinite( new String('-Infinity') )", false, isFinite(new String("-Infinity")) ); - -new TestCase( "isFinite( 'Infinity' )", false, isFinite("Infinity") ); -new TestCase( "isFinite( '-Infinity' )", false, isFinite("-Infinity") ); -new TestCase( "isFinite( Number.POSITIVE_INFINITY )", false, isFinite(Number.POSITIVE_INFINITY) ); -new TestCase( "isFinite( Number.NEGATIVE_INFINITY )", false, isFinite(Number.NEGATIVE_INFINITY) ); -new TestCase( "isFinite( Number.NaN )", false, isFinite(Number.NaN) ); - -new TestCase( "isFinite( Infinity )", false, isFinite(Infinity) ); -new TestCase( "isFinite( -Infinity )", false, isFinite(-Infinity) ); -new TestCase( "isFinite( NaN )", false, isFinite(NaN) ); - - -new TestCase( "isFinite( Number.MAX_VALUE )", true, isFinite(Number.MAX_VALUE) ); -new TestCase( "isFinite( Number.MIN_VALUE )", true, isFinite(Number.MIN_VALUE) ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.1-1.js b/js/src/tests/ecma/LexicalConventions/7.1-1.js deleted file mode 100644 index cc0043055703..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.1-1.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.1-1.js - ECMA Section: 7.1 White Space - Description: - readability - - separate tokens - - otherwise should be insignificant - - in strings, white space characters are significant - - cannot appear within any other kind of token - - white space characters are: - unicode name formal name string representation - \u0009 tab \t - \u000B veritical tab \v - \U000C form feed \f - \u0020 space " " - - Author: christine@netscape.com - Date: 11 september 1997 -*/ - -var SECTION = "7.1-1"; -var TITLE = "White Space"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// whitespace between var keyword and identifier - -new TestCase( 'var'+'\t'+'MYVAR1=10;MYVAR1', 10, eval('var'+'\t'+'MYVAR1=10;MYVAR1') ); -new TestCase( 'var'+'\f'+'MYVAR2=10;MYVAR2', 10, eval('var'+'\f'+'MYVAR2=10;MYVAR2') ); -new TestCase( 'var'+'\v'+'MYVAR2=10;MYVAR2', 10, eval('var'+'\v'+'MYVAR2=10;MYVAR2') ); -new TestCase( 'var'+'\ '+'MYVAR2=10;MYVAR2', 10, eval('var'+'\ '+'MYVAR2=10;MYVAR2') ); - -// use whitespace between tokens object name, dot operator, and object property - -new TestCase( - "var a = new Array(12345); a\t\v\f .\\u0009\\000B\\u000C\\u0020length", - 12345, - eval("var a = new Array(12345); a\t\v\f .\u0009\u0020\u000C\u000Blength") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.1-2.js b/js/src/tests/ecma/LexicalConventions/7.1-2.js deleted file mode 100644 index c38888efbd8b..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.1-2.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.1-2.js - ECMA Section: 7.1 White Space - Description: - readability - - separate tokens - - otherwise should be insignificant - - in strings, white space characters are significant - - cannot appear within any other kind of token - - white space characters are: - unicode name formal name string representation - \u0009 tab \t - \u000B veritical tab ?? - \U000C form feed \f - \u0020 space " " - - Author: christine@netscape.com - Date: 11 september 1997 -*/ - -var SECTION = "7.1-2"; -var TITLE = "White Space"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "'var'+'\u000B'+'MYVAR1=10;MYVAR1'", 10, eval('var'+'\u000B'+'MYVAR1=10;MYVAR1') ); -new TestCase( "'var'+'\u0009'+'MYVAR2=10;MYVAR2'", 10, eval('var'+'\u0009'+'MYVAR2=10;MYVAR2') ); -new TestCase( "'var'+'\u000C'+'MYVAR3=10;MYVAR3'", 10, eval('var'+'\u000C'+'MYVAR3=10;MYVAR3') ); -new TestCase( "'var'+'\u0020'+'MYVAR4=10;MYVAR4'", 10, eval('var'+'\u0020'+'MYVAR4=10;MYVAR4') ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.1-3.js b/js/src/tests/ecma/LexicalConventions/7.1-3.js deleted file mode 100644 index e6cfebabf07d..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.1-3.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.1-3.js - ECMA Section: 7.1 White Space - Description: - readability - - separate tokens - - otherwise should be insignificant - - in strings, white space characters are significant - - cannot appear within any other kind of token - - white space characters are: - unicode name formal name string representation - \u0009 tab \t - \u000B veritical tab ?? - \U000C form feed \f - \u0020 space " " - - Author: christine@netscape.com - Date: 11 september 1997 -*/ - -var SECTION = "7.1-3"; -var TITLE = "White Space"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "'var'+'\u000B'+'MYVAR1=10;MYVAR1'", 10, eval('var'+'\u000B'+'MYVAR1=10;MYVAR1') ); -new TestCase( "'var'+'\u0009'+'MYVAR2=10;MYVAR2'", 10, eval('var'+'\u0009'+'MYVAR2=10;MYVAR2') ); -new TestCase( "'var'+'\u000C'+'MYVAR3=10;MYVAR3'", 10, eval('var'+'\u000C'+'MYVAR3=10;MYVAR3') ); -new TestCase( "'var'+'\u0020'+'MYVAR4=10;MYVAR4'", 10, eval('var'+'\u0020'+'MYVAR4=10;MYVAR4') ); - -// ++ should be interpreted as the unary + operator twice, not as a post or prefix increment operator - -new TestCase( "var VAR = 12345; + + VAR", - 12345, - eval("var VAR = 12345; + + VAR") ); - -new TestCase( "var VAR = 12345;VAR+ + VAR", - 24690, - eval("var VAR = 12345;VAR+ +VAR") ); -new TestCase( "var VAR = 12345;VAR - - VAR", - 24690, - eval("var VAR = 12345;VAR- -VAR") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.2-1.js b/js/src/tests/ecma/LexicalConventions/7.2-1.js deleted file mode 100644 index 717ded72270d..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.2-1.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.2-1.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.2-1"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "var a\nb = 5; ab=10;ab;", 10, eval("var a\nb = 5; ab=10;ab") ); -new TestCase( "var a\nb = 5; ab=10;b;", 5, eval("var a\nb = 5; ab=10;b") ); -new TestCase( "var a\rb = 5; ab=10;ab;", 10, eval("var a\rb = 5; ab=10;ab") ); -new TestCase( "var a\rb = 5; ab=10;b;", 5, eval("var a\rb = 5; ab=10;b") ); -new TestCase( "var a\r\nb = 5; ab=10;ab;", 10, eval("var a\r\nb = 5; ab=10;ab") ); -new TestCase( "var a\r\nb = 5; ab=10;b;", 5, eval("var a\r\nb = 5; ab=10;b") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.2-2-n.js b/js/src/tests/ecma/LexicalConventions/7.2-2-n.js deleted file mode 100644 index 3ad4e8d495e6..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.2-2-n.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.2.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - this test uses onerror to capture line numbers. because - we use on error, we can only have one test case per file. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.2-2"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "\r\r\r\nb"; - - new TestCase( DESCRIPTION, "error", eval("\r\r\r\nb")); - -test(); - diff --git a/js/src/tests/ecma/LexicalConventions/7.2-3-n.js b/js/src/tests/ecma/LexicalConventions/7.2-3-n.js deleted file mode 100644 index 109608b22555..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.2-3-n.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.2-3.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - this test uses onerror to capture line numbers. because - we use on error, we can only have one test case per file. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.2-3"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -DESCRIPTION = "\r\nb"; - - new TestCase( "a", "error", eval("\r\nb")); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.2-4-n.js b/js/src/tests/ecma/LexicalConventions/7.2-4-n.js deleted file mode 100644 index 566edacc058e..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.2-4-n.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.2.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - this test uses onerror to capture line numbers. because - we use on error, we can only have one test case per file. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.2-6"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "\nb"; - -new TestCase( "\nb", "error", eval("\nb")); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.2-5-n.js b/js/src/tests/ecma/LexicalConventions/7.2-5-n.js deleted file mode 100644 index cfb353f53a55..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.2-5-n.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.2.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - this test uses onerror to capture line numbers. because - we use on error, we can only have one test case per file. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.2-5"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "error"; - -new TestCase( "\rb", "error", eval("\rb")); -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.2-6.js b/js/src/tests/ecma/LexicalConventions/7.2-6.js deleted file mode 100644 index e5279c097a71..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.2-6.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.2-6.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.2-6"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var a\u000Ab = 5; ab=10;ab;", 10, eval("var a\nb = 5; ab=10;ab") ); -new TestCase( "var a\u000Db = 5; ab=10;b;", 5, eval("var a\nb = 5; ab=10;b") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-1.js b/js/src/tests/ecma/LexicalConventions/7.3-1.js deleted file mode 100644 index d7409e4a6314..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-1.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-1.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-1"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -// "\u000A" actual = "fail"; - -new TestCase( - "a comment with a line terminator string, and text following", - "pass", - actual); - - -actual = ""; - -var x = "// test \n actual = 'pass'"; -actual = eval(x); - -new TestCase( - "// test \\n actual = \"pass\"", - "pass", - actual ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-10.js b/js/src/tests/ecma/LexicalConventions/7.3-10.js deleted file mode 100644 index 68fc887261a4..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-10.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-10.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-10"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "fail"; - -/*//*/actual="pass"; - -new TestCase( "code following multiline comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-11.js b/js/src/tests/ecma/LexicalConventions/7.3-11.js deleted file mode 100644 index 76e92abe5c7c..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-11.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-11.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-11"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -////actual="fail"; - -new TestCase( "code following multiline comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-12.js b/js/src/tests/ecma/LexicalConventions/7.3-12.js deleted file mode 100644 index 4e3b3673a050..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-12.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-12.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-12"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -/*actual="fail";**/ - -new TestCase( "code following multiline comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-13-n.js b/js/src/tests/ecma/LexicalConventions/7.3-13-n.js deleted file mode 100644 index 472a19b1dc93..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-13-n.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-13-n.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-13-n"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "nested comment"; - -var testcase = new TestCase( - "nested comment", - "error", - eval("/*/*\"fail\";*/*/")); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-2.js b/js/src/tests/ecma/LexicalConventions/7.3-2.js deleted file mode 100644 index ca89b6962e40..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-2.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-2.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-2"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -// "\u000D" actual = "fail"; - -new TestCase( "a comment with a carriage return, and text following", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-3.js b/js/src/tests/ecma/LexicalConventions/7.3-3.js deleted file mode 100644 index 350728c0a12b..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-3.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-3.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-3"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "fail"; - -// a comment string -actual = "pass"; - -new TestCase( "source text directly following a single-line comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-4.js b/js/src/tests/ecma/LexicalConventions/7.3-4.js deleted file mode 100644 index 92ed2272a1f1..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-4.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-4.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-4"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -/*actual = "fail";*/ - -new TestCase( "multiline comment ", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-5.js b/js/src/tests/ecma/LexicalConventions/7.3-5.js deleted file mode 100644 index 005cdf3d5e04..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-5.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-5.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-5"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -// "\u000A" actual = "fail"; - -new TestCase( "a comment with a carriage return, and text following", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-6.js b/js/src/tests/ecma/LexicalConventions/7.3-6.js deleted file mode 100644 index 5908f4cca97a..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-6.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-6.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-6"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "fail"; -/* -***/actual="pass"; - -new TestCase( "comment with multiple asterisks", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-7.js b/js/src/tests/ecma/LexicalConventions/7.3-7.js deleted file mode 100644 index 1b05464872b2..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-7.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-7.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-7"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "pass"; - -/* -***///actual="fail"; - -new TestCase( "single line comment following multiline comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-8.js b/js/src/tests/ecma/LexicalConventions/7.3-8.js deleted file mode 100644 index 58de1cd8efdb..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-8.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-7.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-8"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "fail"; - -/**/actual="pass"; - -new TestCase( "code following multiline comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.3-9.js b/js/src/tests/ecma/LexicalConventions/7.3-9.js deleted file mode 100644 index 9501ee26dfc5..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.3-9.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.3-9.js - ECMA Section: 7.3 Comments - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.3-9"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = "fail"; - -/*/*/actual="pass"; - -new TestCase( "code following multiline comment", - "pass", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.1-1-n.js b/js/src/tests/ecma/LexicalConventions/7.4.1-1-n.js deleted file mode 100644 index 5bd6203d19ef..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.1-1-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.1-1-n.js - ECMA Section: 7.4.1 - - Description: - - Reserved words cannot be used as identifiers. - - ReservedWord :: - Keyword - FutureReservedWord - NullLiteral - BooleanLiteral - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-1-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var null = true"; - -new TestCase( "var null = true", "error", eval("var null = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.1-2-n.js b/js/src/tests/ecma/LexicalConventions/7.4.1-2-n.js deleted file mode 100644 index 217d5ccddf5a..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.1-2-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.1-2.js - ECMA Section: 7.4.1 - - Description: - - Reserved words cannot be used as identifiers. - - ReservedWord :: - Keyword - FutureReservedWord - NullLiteral - BooleanLiteral - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-2-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var true = false"; - -new TestCase( "var true = false", "error", eval("var true = false") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.1-3-n.js b/js/src/tests/ecma/LexicalConventions/7.4.1-3-n.js deleted file mode 100644 index 1d683ecb3f8f..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.1-3-n.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.1-3-n.js - ECMA Section: 7.4.1 - - Description: - - Reserved words cannot be used as identifiers. - - ReservedWord :: - Keyword - FutureReservedWord - NullLiteral - BooleanLiteral - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-3-n"; -var TITLE = "Keywords"; - -DESCRIPTION = "var false = true"; - -new TestCase( "var false = true", "error", eval("var false = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-1-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-1-n.js deleted file mode 100644 index f152beb02875..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-1-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-1.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-1-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var break = true"; - -new TestCase( "var break = true", "error", eval("var break = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-10-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-10-n.js deleted file mode 100644 index b90605170a65..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-10-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-10.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-10-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var if = true"; - -new TestCase( "var if = true", "error", eval("var if = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-11-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-11-n.js deleted file mode 100644 index 1bc4827818f0..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-11-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-11-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-11-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var this = true"; - -new TestCase( "var this = true", "error", eval("var this = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-12-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-12-n.js deleted file mode 100644 index df072d10ff47..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-12-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-12-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-12-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var while = true"; - -new TestCase( "var while = true", "error", eval("var while = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-13-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-13-n.js deleted file mode 100644 index 4e7fdea18301..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-13-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-13-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-13-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var else = true"; - -new TestCase( "var else = true", "error", eval("var else = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-14-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-14-n.js deleted file mode 100644 index 482a603d36ae..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-14-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-14-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-14-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var in = true"; - -new TestCase( "var in = true", "error", eval("var in = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-15-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-15-n.js deleted file mode 100644 index 80ec0fe9b831..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-15-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-15-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-15-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var typeof = true"; - -new TestCase( "var typeof = true", "error", eval("var typeof = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-16-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-16-n.js deleted file mode 100644 index 391902798083..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-16-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-16-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-16-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var with = true"; - -new TestCase( "var with = true", "error", eval("var with = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-2-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-2-n.js deleted file mode 100644 index 9725593eb12e..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-2-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-2-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-2-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var for = true"; - -new TestCase( "var for = true", "error", eval("var for = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-3-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-3-n.js deleted file mode 100644 index 006800a2950d..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-3-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-3-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-3-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var new = true"; - -new TestCase( "var new = true", "error", eval("var new = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-4-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-4-n.js deleted file mode 100644 index 68fb595d17f8..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-4-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-4-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-4-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var var = true"; - -new TestCase( "var var = true", "error", eval("var var = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-5-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-5-n.js deleted file mode 100644 index 0599849a5052..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-5-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-5-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-5-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var continue = true"; - -new TestCase( "var continue = true", "error", eval("var continue = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-6-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-6-n.js deleted file mode 100644 index fef20dcf49a3..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-6-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-6.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-6-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var function = true"; - -new TestCase( "var function = true", "error", eval("var function = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-7-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-7-n.js deleted file mode 100644 index c6d5121f6d04..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-7-n.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-7-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-7"; -writeHeaderToLog( SECTION + " Keywords"); - -DESCRIPTION = "var return = true"; - -new TestCase( "var return = true", "error", eval("var return = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-8-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-8-n.js deleted file mode 100644 index ed793cb511b3..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-8-n.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-8-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.2-8"; - -writeHeaderToLog( SECTION + " Keywords"); - -DESCRIPTION = "var void = true"; - -new TestCase( "var void = true", "error", eval("var void = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.2-9-n.js b/js/src/tests/ecma/LexicalConventions/7.4.2-9-n.js deleted file mode 100644 index b4efd61613dd..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.2-9-n.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-9-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "7.4.1-9-n"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var delete = true"; - -new TestCase( "var delete = true", "error", eval("var delete = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-1-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-1-n.js deleted file mode 100644 index 8892b9c3a774..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-1-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-1-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-1-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var case = true"; - -new TestCase( "var case = true", "error", eval("var case = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-10-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-10-n.js deleted file mode 100644 index 914e527e8b48..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-10-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-10-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-10-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var do = true"; - -new TestCase( "var do = true", "error", eval("var do = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-11-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-11-n.js deleted file mode 100644 index d25ab0d47592..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-11-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-11-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-11-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var finally = true"; - -new TestCase( "var finally = true", "error", eval("var finally = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-12-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-12-n.js deleted file mode 100644 index d1425c6f42cc..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-12-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-12-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-12-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var throw = true"; - -new TestCase( "var throw = true", "error", eval("var throw = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-13-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-13-n.js deleted file mode 100644 index ec260a61797a..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-13-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-13-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-13-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var const = true"; - -new TestCase( "var const = true", "error", eval("var const = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-14-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-14-n.js deleted file mode 100644 index 0a5294e1e8d3..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-14-n.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-14-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-14-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = 'no error'; - -try -{ - eval("var enum = true"); -} -catch(e) -{ - actual = 'error'; -} - -DESCRIPTION = "var enum = true"; - -// force exception since this is a negative test -if (actual == 'error') -{ - throw actual; -} - -new TestCase( "var enum = true", - "error", - actual ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-15-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-15-n.js deleted file mode 100644 index b7141c7a8e72..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-15-n.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-15-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-15-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = 'no error'; - -try -{ - eval("var import = true"); -} -catch(e) -{ - actual = 'error'; -} - -DESCRIPTION = "var import = true"; - -// force exception since this is a negative test -if (actual == 'error') -{ - throw actual; -} - -new TestCase( "var import = true", - "error", - actual ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-16-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-16-n.js deleted file mode 100644 index f90891f05458..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-16-n.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-023.js - Corresponds To: 7.4.3-16-n.js - ECMA Section: 7.4.3 - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-023.js"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; -/* - try { - try = true; - } catch ( e ) { - result = expect; - exception = e.toString(); - } -*/ - -DESCRIPTION = "try = true"; - -new TestCase( - "try = true" + - " (threw " + exception +")", - "error", - eval("try = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-2-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-2-n.js deleted file mode 100644 index d17c050bd588..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-2-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-2-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-2-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var debugger = true"; - -new TestCase( "var debugger = true", "error", eval("var debugger = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-4-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-4-n.js deleted file mode 100644 index a12f15a134a0..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-4-n.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-4-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-4-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = 'no error'; - -try -{ - eval("var super = true"); -} -catch(e) -{ - actual = 'error'; -} - -DESCRIPTION = "var super = true" - -// force exception since this is a negative test -if (actual == 'error') -{ - throw actual; -} - -new TestCase( "var super = true", - "error", - actual ); -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-5-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-5-n.js deleted file mode 100644 index 86f0085e6e52..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-5-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-5-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-5-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var catch = true"; - -new TestCase( "var catch = true", "error", eval("var catch = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-6-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-6-n.js deleted file mode 100644 index 0b0be1b7f511..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-6-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-6-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-6-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var default = true"; - -new TestCase( "var default = true", "error", eval("var default = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-7-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-7-n.js deleted file mode 100644 index 1b33a4f9f74d..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-7-n.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-7-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-7-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = 'no error'; - -try -{ - eval("var extends = true"); -} -catch(e) -{ - actual = 'error'; -} - -DESCRIPTION = "var extends = true"; - -// force exception since this is a negative test -if (actual == 'error') -{ - throw actual; -} - -new TestCase( "var extends = true", - "error", - actual); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-8-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-8-n.js deleted file mode 100644 index 0d6e8fabbccb..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-8-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-8-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-9-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var switch = true"; - -new TestCase( "var switch = true", "error", eval("var switch = true") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.4.3-9-n.js b/js/src/tests/ecma/LexicalConventions/7.4.3-9-n.js deleted file mode 100644 index 894ef84f53f2..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.4.3-9-n.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.3-9-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "7.4.3-9-n"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual = 'no error'; - -DESCRIPTION = "var class = true"; - -try -{ - eval("var class = true"); -} -catch(e) -{ - actual = 'error'; -} - -// force exception since this is a negative test -if (actual == 'error') -{ - throw actual; -} - -new TestCase( "var class = true", - "error", - actual ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-1.js b/js/src/tests/ecma/LexicalConventions/7.5-1.js deleted file mode 100644 index 17c2c96fa849..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-1.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-1.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-1"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var $123 = 5", 5, eval("var $123 = 5;$123") ); -new TestCase( "var _123 = 5", 5, eval("var _123 = 5;_123") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-10-n.js b/js/src/tests/ecma/LexicalConventions/7.5-10-n.js deleted file mode 100644 index 6acb70112b08..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-10-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-9-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-9-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var 123=\"hi\""; - -new TestCase( "var 123=\"hi\"", "error", eval("123 = \"hi\"; array[item] = 123;") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-2-n.js b/js/src/tests/ecma/LexicalConventions/7.5-2-n.js deleted file mode 100644 index 1e402959dda6..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-2-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-2-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-2-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var 0abc"; - -new TestCase( "var 0abc", "error", eval("var 0abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-3-n.js b/js/src/tests/ecma/LexicalConventions/7.5-3-n.js deleted file mode 100644 index ec21228dc971..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-3-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-2.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-3-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var 1abc"; - -new TestCase( "var 1abc", "error", eval("var 1abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-4-n.js b/js/src/tests/ecma/LexicalConventions/7.5-4-n.js deleted file mode 100644 index 7e7acc626296..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-4-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-4-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-4-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var 2abc"; - -new TestCase( "var 2abc", "error", eval("var 2abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-5-n.js b/js/src/tests/ecma/LexicalConventions/7.5-5-n.js deleted file mode 100644 index fc7f532bc41b..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-5-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-5-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-5-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var 3abc"; - -new TestCase( "var 3abc", "error", eval("var 3abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-6.js b/js/src/tests/ecma/LexicalConventions/7.5-6.js deleted file mode 100644 index 8c0ea2f4480b..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-6.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-6.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-6"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var _0abc = 5", 5, eval("var _0abc = 5; _0abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-7.js b/js/src/tests/ecma/LexicalConventions/7.5-7.js deleted file mode 100644 index e3c3cb215a43..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-7.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-7.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-7"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var $0abc = 5", 5, eval("var $0abc = 5; $0abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-8-n.js b/js/src/tests/ecma/LexicalConventions/7.5-8-n.js deleted file mode 100644 index 16da53002d8b..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-8-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-8-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-8-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var @0abc = 5; @0abc"; - -new TestCase( "var @0abc = 5; @0abc", "error", eval("var @0abc = 5; @0abc") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.5-9-n.js b/js/src/tests/ecma/LexicalConventions/7.5-9-n.js deleted file mode 100644 index cd9d82927018..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.5-9-n.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.5-9-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "7.5-9-n"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var 123=\"hi\""; - -new TestCase( "var 123=\"hi\"", "error", eval("var 123 = \"hi\";array[item] = 123;") ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.6.js b/js/src/tests/ecma/LexicalConventions/7.6.js deleted file mode 100644 index f362a8822cd9..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.6.js +++ /dev/null @@ -1,277 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.6.js - ECMA Section: Punctuators - Description: - - This tests verifies that all ECMA punctutors are recognized as a - token separator, but does not attempt to verify the functionality - of any punctuator. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "7.6"; -var TITLE = "Punctuators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// == -new TestCase( - "var c,d;c==d", - true, - eval("var c,d;c==d") ); - -// = - -new TestCase( - "var a=true;a", - true, - eval("var a=true;a") ); - -// > -new TestCase( - "var a=true,b=false;a>b", - true, - eval("var a=true,b=false;a>b") ); - -// < -new TestCase( - "var a=true,b=false;a= -new TestCase( - "var a=0xFFFF,b=0XFFFE;a>=b", - true, - eval("var a=0xFFFF,b=0XFFFE;a>=b") ); - -// != -new TestCase( - "var a=true,b=false;a!=b", - true, - eval("var a=true,b=false;a!=b") ); - -new TestCase( - "var a=false,b=false;a!=b", - false, - eval("var a=false,b=false;a!=b") ); -// , -new TestCase( - "var a=true,b=false;a,b", - false, - eval("var a=true,b=false;a,b") ); -// ! -new TestCase( - "var a=true,b=false;!a", - false, - eval("var a=true,b=false;!a") ); - -// ~ -new TestCase( - "var a=true;~a", - -2, - eval("var a=true;~a") ); -// ? -new TestCase( - "var a=true; (a ? 'PASS' : '')", - "PASS", - eval("var a=true; (a ? 'PASS' : '')") ); - -// : - -new TestCase( - "var a=false; (a ? 'FAIL' : 'PASS')", - "PASS", - eval("var a=false; (a ? 'FAIL' : 'PASS')") ); -// . - -new TestCase( - "var a=Number;a.NaN", - NaN, - eval("var a=Number;a.NaN") ); - -// && -new TestCase( - "var a=true,b=true;if(a&&b)'PASS';else'FAIL'", - "PASS", - eval("var a=true,b=true;if(a&&b)'PASS';else'FAIL'") ); - -// || -new TestCase( - "var a=false,b=false;if(a||b)'FAIL';else'PASS'", - "PASS", - eval("var a=false,b=false;if(a||b)'FAIL';else'PASS'") ); -// ++ -new TestCase( - "var a=false,b=false;++a", - 1, - eval("var a=false,b=false;++a") ); -// -- -new TestCase( - "var a=true,b=false--a", - 0, - eval("var a=true,b=false;--a") ); -// + - -new TestCase( - "var a=true,b=true;a+b", - 2, - eval("var a=true,b=true;a+b") ); -// - -new TestCase( - "var a=true,b=true;a-b", - 0, - eval("var a=true,b=true;a-b") ); -// * -new TestCase( - "var a=true,b=true;a*b", - 1, - eval("var a=true,b=true;a*b") ); -// / -new TestCase( - "var a=true,b=true;a/b", - 1, - eval("var a=true,b=true;a/b") ); -// & -new TestCase( - "var a=3,b=2;a&b", - 2, - eval("var a=3,b=2;a&b") ); -// | -new TestCase( - "var a=4,b=3;a|b", - 7, - eval("var a=4,b=3;a|b") ); - -// | -new TestCase( - "var a=4,b=3;a^b", - 7, - eval("var a=4,b=3;a^b") ); - -// % -new TestCase( - "var a=4,b=3;a|b", - 1, - eval("var a=4,b=3;a%b") ); - -// << -new TestCase( - "var a=4,b=3;a<> -new TestCase( - "var a=4,b=1;a>>b", - 2, - eval("var a=4,b=1;a>>b") ); - -// >>> -new TestCase( - "var a=1,b=1;a>>>b", - 0, - eval("var a=1,b=1;a>>>b") ); -// += -new TestCase( - "var a=4,b=3;a+=b;a", - 7, - eval("var a=4,b=3;a+=b;a") ); - -// -= -new TestCase( - "var a=4,b=3;a-=b;a", - 1, - eval("var a=4,b=3;a-=b;a") ); -// *= -new TestCase( - "var a=4,b=3;a*=b;a", - 12, - eval("var a=4,b=3;a*=b;a") ); -// += -new TestCase( - "var a=4,b=3;a+=b;a", - 7, - eval("var a=4,b=3;a+=b;a") ); -// /= -new TestCase( - "var a=12,b=3;a/=b;a", - 4, - eval("var a=12,b=3;a/=b;a") ); - -// &= -new TestCase( - "var a=4,b=5;a&=b;a", - 4, - eval("var a=4,b=5;a&=b;a") ); - -// |= -new TestCase( - "var a=4,b=5;a&=b;a", - 5, - eval("var a=4,b=5;a|=b;a") ); -// ^= -new TestCase( - "var a=4,b=5;a^=b;a", - 1, - eval("var a=4,b=5;a^=b;a") ); -// %= -new TestCase( - "var a=12,b=5;a%=b;a", - 2, - eval("var a=12,b=5;a%=b;a") ); -// <<= -new TestCase( - "var a=4,b=3;a<<=b;a", - 32, - eval("var a=4,b=3;a<<=b;a") ); - -// >> -new TestCase( - "var a=4,b=1;a>>=b;a", - 2, - eval("var a=4,b=1;a>>=b;a") ); - -// >>> -new TestCase( - "var a=1,b=1;a>>>=b;a", - 0, - eval("var a=1,b=1;a>>>=b;a") ); - -// () -new TestCase( - "var a=4,b=3;(a)", - 4, - eval("var a=4,b=3;(a)") ); -// {} -new TestCase( - "var a=4,b=3;{b}", - 3, - eval("var a=4,b=3;{b}") ); - -// [] -new TestCase( - "var a=new Array('hi');a[0]", - "hi", - eval("var a=new Array('hi');a[0]") ); -// [] -new TestCase( - ";", - void 0, - eval(";") ); -test(); - diff --git a/js/src/tests/ecma/LexicalConventions/7.7.1.js b/js/src/tests/ecma/LexicalConventions/7.7.1.js deleted file mode 100644 index 9c2182a1ff64..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.7.1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.7.1.js - ECMA Section: 7.7.1 Null Literals - - Description: NullLiteral:: - null - - - The value of the null literal null is the sole value - of the Null type, namely null. - - Author: christine@netscape.com - Date: 21 october 1997 -*/ -var SECTION = "7.7.1"; -var TITLE = "Null Literals"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "null", null, null); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.7.2.js b/js/src/tests/ecma/LexicalConventions/7.7.2.js deleted file mode 100644 index 0090ddc89040..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.7.2.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.7.2.js - ECMA Section: 7.7.2 Boolean Literals - - Description: BooleanLiteral:: - true - false - - The value of the Boolean literal true is a value of the - Boolean type, namely true. - - The value of the Boolean literal false is a value of the - Boolean type, namely false. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "7.7.2"; -var TITLE = "Boolean Literals"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// StringLiteral:: "" and '' - -new TestCase( "true", Boolean(true), true ); -new TestCase( "false", Boolean(false), false ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.7.3-1.js b/js/src/tests/ecma/LexicalConventions/7.7.3-1.js deleted file mode 100644 index 2d9951f398d6..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.7.3-1.js +++ /dev/null @@ -1,163 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.7.3-1.js - ECMA Section: 7.7.3 Numeric Literals - - Description: A numeric literal stands for a value of the Number type - This value is determined in two steps: first a - mathematical value (MV) is derived from the literal; - second, this mathematical value is rounded, ideally - using IEEE 754 round-to-nearest mode, to a reprentable - value of of the number type. - - These test cases came from Waldemar. - - Author: christine@netscape.com - Date: 12 June 1998 -*/ - -var SECTION = "7.7.3-1"; -var TITLE = "Numeric Literals"; -var BUGNUMBER="122877"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "0x12345678", - 305419896, - 0x12345678 ); - -new TestCase( - "0x80000000", - 2147483648, - 0x80000000 ); - -new TestCase( - "0xffffffff", - 4294967295, - 0xffffffff ); - -new TestCase( - "0x100000000", - 4294967296, - 0x100000000 ); - -new TestCase( - "077777777777777777", - 2251799813685247, - 077777777777777777 ); - -new TestCase( - "077777777777777776", - 2251799813685246, - 077777777777777776 ); - -new TestCase( - "0x1fffffffffffff", - 9007199254740991, - 0x1fffffffffffff ); - -new TestCase( - "0x20000000000000", - 9007199254740992, - 0x20000000000000 ); - -new TestCase( - "0x20123456789abc", - 9027215253084860, - 0x20123456789abc ); - -new TestCase( - "0x20123456789abd", - 9027215253084860, - 0x20123456789abd ); - -new TestCase( - "0x20123456789abe", - 9027215253084862, - 0x20123456789abe ); - -new TestCase( - "0x20123456789abf", - 9027215253084864, - 0x20123456789abf ); - -new TestCase( - "0x1000000000000080", - 1152921504606847000, - 0x1000000000000080 ); - -new TestCase( - "0x1000000000000081", - 1152921504606847200, - 0x1000000000000081 ); - -new TestCase( - "0x1000000000000100", - 1152921504606847200, - 0x1000000000000100 ); - -new TestCase( - "0x100000000000017f", - 1152921504606847200, - 0x100000000000017f ); - -new TestCase( - "0x1000000000000180", - 1152921504606847500, - 0x1000000000000180 ); - -new TestCase( - "0x1000000000000181", - 1152921504606847500, - 0x1000000000000181 ); - -new TestCase( - "0x10000000000001f0", - 1152921504606847500, - 0x10000000000001f0 ); - -new TestCase( - "0x1000000000000200", - 1152921504606847500, - 0x1000000000000200 ); - -new TestCase( - "0x100000000000027f", - 1152921504606847500, - 0x100000000000027f ); - -new TestCase( - "0x1000000000000280", - 1152921504606847500, - 0x1000000000000280 ); - -new TestCase( - "0x1000000000000281", - 1152921504606847700, - 0x1000000000000281 ); - -new TestCase( - "0x10000000000002ff", - 1152921504606847700, - 0x10000000000002ff ); - -new TestCase( - "0x1000000000000300", - 1152921504606847700, - 0x1000000000000300 ); - -new TestCase( - "0x10000000000000000", - 18446744073709552000, - 0x10000000000000000 ); - -test(); - diff --git a/js/src/tests/ecma/LexicalConventions/7.7.3-2.js b/js/src/tests/ecma/LexicalConventions/7.7.3-2.js deleted file mode 100644 index 7102f2735d92..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.7.3-2.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.7.3-2.js - ECMA Section: 7.7.3 Numeric Literals - - Description: - - This is a regression test for - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=122884 - - Waldemar's comments: - - A numeric literal that starts with either '08' or '09' is interpreted as a - decimal literal; it should be an error instead. (Strictly speaking, according - to ECMA v1 such literals should be interpreted as two integers -- a zero - followed by a decimal number whose first digit is 8 or 9, but this is a bug in - ECMA that will be fixed in v2. In any case, there is no place in the grammar - where two consecutive numbers would be legal.) - - Author: christine@netscape.com - Date: 15 june 1998 - -*/ -var SECTION = "7.7.3-2"; -var TITLE = "Numeric Literals"; -var BUGNUMBER="122884"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "9", - 9, - 9 ); - -new TestCase( "09", - 9, - 09 ); - -new TestCase( "099", - 99, - 099 ); - - -new TestCase( "077", - 63, - 077 ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.7.3.js b/js/src/tests/ecma/LexicalConventions/7.7.3.js deleted file mode 100644 index 23685a0e3c6f..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.7.3.js +++ /dev/null @@ -1,282 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.7.3.js - ECMA Section: 7.7.3 Numeric Literals - - Description: A numeric literal stands for a value of the Number type - This value is determined in two steps: first a - mathematical value (MV) is derived from the literal; - second, this mathematical value is rounded, ideally - using IEEE 754 round-to-nearest mode, to a reprentable - value of of the number type. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "7.7.3"; -var TITLE = "Numeric Literals"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "0", 0, 0 ); -new TestCase( "1", 1, 1 ); -new TestCase( "2", 2, 2 ); -new TestCase( "3", 3, 3 ); -new TestCase( "4", 4, 4 ); -new TestCase( "5", 5, 5 ); -new TestCase( "6", 6, 6 ); -new TestCase( "7", 7, 7 ); -new TestCase( "8", 8, 8 ); -new TestCase( "9", 9, 9 ); - -new TestCase( "0.", 0, 0. ); -new TestCase( "1.", 1, 1. ); -new TestCase( "2.", 2, 2. ); -new TestCase( "3.", 3, 3. ); -new TestCase( "4.", 4, 4. ); - -new TestCase( "0.e0", 0, 0.e0 ); -new TestCase( "1.e1", 10, 1.e1 ); -new TestCase( "2.e2", 200, 2.e2 ); -new TestCase( "3.e3", 3000, 3.e3 ); -new TestCase( "4.e4", 40000, 4.e4 ); - -new TestCase( "0.1e0", .1, 0.1e0 ); -new TestCase( "1.1e1", 11, 1.1e1 ); -new TestCase( "2.2e2", 220, 2.2e2 ); -new TestCase( "3.3e3", 3300, 3.3e3 ); -new TestCase( "4.4e4", 44000, 4.4e4 ); - -new TestCase( ".1e0", .1, .1e0 ); -new TestCase( ".1e1", 1, .1e1 ); -new TestCase( ".2e2", 20, .2e2 ); -new TestCase( ".3e3", 300, .3e3 ); -new TestCase( ".4e4", 4000, .4e4 ); - -new TestCase( "0e0", 0, 0e0 ); -new TestCase( "1e1", 10, 1e1 ); -new TestCase( "2e2", 200, 2e2 ); -new TestCase( "3e3", 3000, 3e3 ); -new TestCase( "4e4", 40000, 4e4 ); - -new TestCase( "0e0", 0, 0e0 ); -new TestCase( "1e1", 10, 1e1 ); -new TestCase( "2e2", 200, 2e2 ); -new TestCase( "3e3", 3000, 3e3 ); -new TestCase( "4e4", 40000, 4e4 ); - -new TestCase( "0E0", 0, 0E0 ); -new TestCase( "1E1", 10, 1E1 ); -new TestCase( "2E2", 200, 2E2 ); -new TestCase( "3E3", 3000, 3E3 ); -new TestCase( "4E4", 40000, 4E4 ); - -new TestCase( "1.e-1", 0.1, 1.e-1 ); -new TestCase( "2.e-2", 0.02, 2.e-2 ); -new TestCase( "3.e-3", 0.003, 3.e-3 ); -new TestCase( "4.e-4", 0.0004, 4.e-4 ); - -new TestCase( "0.1e-0", .1, 0.1e-0 ); -new TestCase( "1.1e-1", 0.11, 1.1e-1 ); -new TestCase( "2.2e-2", .022, 2.2e-2 ); -new TestCase( "3.3e-3", .0033, 3.3e-3 ); -new TestCase( "4.4e-4", .00044, 4.4e-4 ); - -new TestCase( ".1e-0", .1, .1e-0 ); -new TestCase( ".1e-1", .01, .1e-1 ); -new TestCase( ".2e-2", .002, .2e-2 ); -new TestCase( ".3e-3", .0003, .3e-3 ); -new TestCase( ".4e-4", .00004, .4e-4 ); - -new TestCase( "1.e+1", 10, 1.e+1 ); -new TestCase( "2.e+2", 200, 2.e+2 ); -new TestCase( "3.e+3", 3000, 3.e+3 ); -new TestCase( "4.e+4", 40000, 4.e+4 ); - -new TestCase( "0.1e+0", .1, 0.1e+0 ); -new TestCase( "1.1e+1", 11, 1.1e+1 ); -new TestCase( "2.2e+2", 220, 2.2e+2 ); -new TestCase( "3.3e+3", 3300, 3.3e+3 ); -new TestCase( "4.4e+4", 44000, 4.4e+4 ); - -new TestCase( ".1e+0", .1, .1e+0 ); -new TestCase( ".1e+1", 1, .1e+1 ); -new TestCase( ".2e+2", 20, .2e+2 ); -new TestCase( ".3e+3", 300, .3e+3 ); -new TestCase( ".4e+4", 4000, .4e+4 ); - -new TestCase( "0x0", 0, 0x0 ); -new TestCase( "0x1", 1, 0x1 ); -new TestCase( "0x2", 2, 0x2 ); -new TestCase( "0x3", 3, 0x3 ); -new TestCase( "0x4", 4, 0x4 ); -new TestCase( "0x5", 5, 0x5 ); -new TestCase( "0x6", 6, 0x6 ); -new TestCase( "0x7", 7, 0x7 ); -new TestCase( "0x8", 8, 0x8 ); -new TestCase( "0x9", 9, 0x9 ); -new TestCase( "0xa", 10, 0xa ); -new TestCase( "0xb", 11, 0xb ); -new TestCase( "0xc", 12, 0xc ); -new TestCase( "0xd", 13, 0xd ); -new TestCase( "0xe", 14, 0xe ); -new TestCase( "0xf", 15, 0xf ); - -new TestCase( "0X0", 0, 0X0 ); -new TestCase( "0X1", 1, 0X1 ); -new TestCase( "0X2", 2, 0X2 ); -new TestCase( "0X3", 3, 0X3 ); -new TestCase( "0X4", 4, 0X4 ); -new TestCase( "0X5", 5, 0X5 ); -new TestCase( "0X6", 6, 0X6 ); -new TestCase( "0X7", 7, 0X7 ); -new TestCase( "0X8", 8, 0X8 ); -new TestCase( "0X9", 9, 0X9 ); -new TestCase( "0Xa", 10, 0Xa ); -new TestCase( "0Xb", 11, 0Xb ); -new TestCase( "0Xc", 12, 0Xc ); -new TestCase( "0Xd", 13, 0Xd ); -new TestCase( "0Xe", 14, 0Xe ); -new TestCase( "0Xf", 15, 0Xf ); - -new TestCase( "0x0", 0, 0x0 ); -new TestCase( "0x1", 1, 0x1 ); -new TestCase( "0x2", 2, 0x2 ); -new TestCase( "0x3", 3, 0x3 ); -new TestCase( "0x4", 4, 0x4 ); -new TestCase( "0x5", 5, 0x5 ); -new TestCase( "0x6", 6, 0x6 ); -new TestCase( "0x7", 7, 0x7 ); -new TestCase( "0x8", 8, 0x8 ); -new TestCase( "0x9", 9, 0x9 ); -new TestCase( "0xA", 10, 0xA ); -new TestCase( "0xB", 11, 0xB ); -new TestCase( "0xC", 12, 0xC ); -new TestCase( "0xD", 13, 0xD ); -new TestCase( "0xE", 14, 0xE ); -new TestCase( "0xF", 15, 0xF ); - -new TestCase( "0X0", 0, 0X0 ); -new TestCase( "0X1", 1, 0X1 ); -new TestCase( "0X2", 2, 0X2 ); -new TestCase( "0X3", 3, 0X3 ); -new TestCase( "0X4", 4, 0X4 ); -new TestCase( "0X5", 5, 0X5 ); -new TestCase( "0X6", 6, 0X6 ); -new TestCase( "0X7", 7, 0X7 ); -new TestCase( "0X8", 8, 0X8 ); -new TestCase( "0X9", 9, 0X9 ); -new TestCase( "0XA", 10, 0XA ); -new TestCase( "0XB", 11, 0XB ); -new TestCase( "0XC", 12, 0XC ); -new TestCase( "0XD", 13, 0XD ); -new TestCase( "0XE", 14, 0XE ); -new TestCase( "0XF", 15, 0XF ); - - -new TestCase( "00", 0, 00 ); -new TestCase( "01", 1, 01 ); -new TestCase( "02", 2, 02 ); -new TestCase( "03", 3, 03 ); -new TestCase( "04", 4, 04 ); -new TestCase( "05", 5, 05 ); -new TestCase( "06", 6, 06 ); -new TestCase( "07", 7, 07 ); - -new TestCase( "000", 0, 000 ); -new TestCase( "011", 9, 011 ); -new TestCase( "022", 18, 022 ); -new TestCase( "033", 27, 033 ); -new TestCase( "044", 36, 044 ); -new TestCase( "055", 45, 055 ); -new TestCase( "066", 54, 066 ); -new TestCase( "077", 63, 077 ); - -new TestCase( "0.00000000001", 0.00000000001, 0.00000000001 ); -new TestCase( "0.00000000001e-2", 0.0000000000001, 0.00000000001e-2 ); - - -new TestCase( "123456789012345671.9999", - "123456789012345660", - 123456789012345671.9999 +""); -new TestCase( "123456789012345672", - "123456789012345660", - 123456789012345672 +""); - -new TestCase( "123456789012345672.000000000000000000000000000", - "123456789012345660", - 123456789012345672.000000000000000000000000000 +""); - -new TestCase( "123456789012345672.01", - "123456789012345680", - 123456789012345672.01 +""); - -new TestCase( "123456789012345672.000000000000000000000000001+'' == 123456789012345680 || 123456789012345660", - true, - ( 123456789012345672.00000000000000000000000000 +"" == 1234567890 * 100000000 + 12345680 ) - || - ( 123456789012345672.00000000000000000000000000 +"" == 1234567890 * 100000000 + 12345660) ); - -new TestCase( "123456789012345673", - "123456789012345680", - 123456789012345673 +"" ); - -new TestCase( "-123456789012345671.9999", - "-123456789012345660", - -123456789012345671.9999 +"" ); - -new TestCase( "-123456789012345672", - "-123456789012345660", - -123456789012345672+""); - -new TestCase( "-123456789012345672.000000000000000000000000000", - "-123456789012345660", - -123456789012345672.000000000000000000000000000 +""); - -new TestCase( "-123456789012345672.01", - "-123456789012345680", - -123456789012345672.01 +"" ); - -new TestCase( "-123456789012345672.000000000000000000000000001 == -123456789012345680 or -123456789012345660", - true, - (-123456789012345672.000000000000000000000000001 +"" == -1234567890 * 100000000 -12345680) - || - (-123456789012345672.000000000000000000000000001 +"" == -1234567890 * 100000000 -12345660)); - -new TestCase( -123456789012345673, - "-123456789012345680", - -123456789012345673 +""); - -new TestCase( "12345678901234567890", - "12345678901234567000", - 12345678901234567890 +"" ); - - -/* - new TestCase( "12345678901234567", "12345678901234567", 12345678901234567+"" ); - new TestCase( "123456789012345678", "123456789012345678", 123456789012345678+"" ); - new TestCase( "1234567890123456789", "1234567890123456789", 1234567890123456789+"" ); - new TestCase( "12345678901234567890", "12345678901234567890", 12345678901234567890+"" ); - new TestCase( "123456789012345678900", "123456789012345678900", 123456789012345678900+"" ); - new TestCase( "1234567890123456789000", "1234567890123456789000", 1234567890123456789000+"" ); -*/ -new TestCase( "0x1", 1, 0x1 ); -new TestCase( "0x10", 16, 0x10 ); -new TestCase( "0x100", 256, 0x100 ); -new TestCase( "0x1000", 4096, 0x1000 ); -new TestCase( "0x10000", 65536, 0x10000 ); -new TestCase( "0x100000", 1048576, 0x100000 ); -new TestCase( "0x1000000", 16777216, 0x1000000 ); -new TestCase( "0x10000000", 268435456, 0x10000000 ); -/* - new TestCase( "0x100000000", 4294967296, 0x100000000 ); - new TestCase( "0x1000000000", 68719476736, 0x1000000000 ); - new TestCase( "0x10000000000", 1099511627776, 0x10000000000 ); -*/ - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.7.4.js b/js/src/tests/ecma/LexicalConventions/7.7.4.js deleted file mode 100644 index 2316763a913b..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.7.4.js +++ /dev/null @@ -1,206 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.7.4.js - ECMA Section: 7.7.4 String Literals - - Description: A string literal is zero or more characters enclosed in - single or double quotes. Each character may be - represented by an escape sequence. - - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "7.7.4"; -var TITLE = "String Literals"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// StringLiteral:: "" and '' - -new TestCase( "\"\"", "", "" ); -new TestCase( "\'\'", "", '' ); - -// DoubleStringCharacters:: DoubleStringCharacter :: EscapeSequence :: CharacterEscapeSequence -new TestCase( "\\\"", String.fromCharCode(0x0022), "\"" ); -new TestCase( "\\\'", String.fromCharCode(0x0027), "\'" ); -new TestCase( "\\", String.fromCharCode(0x005C), "\\" ); -new TestCase( "\\b", String.fromCharCode(0x0008), "\b" ); -new TestCase( "\\f", String.fromCharCode(0x000C), "\f" ); -new TestCase( "\\n", String.fromCharCode(0x000A), "\n" ); -new TestCase( "\\r", String.fromCharCode(0x000D), "\r" ); -new TestCase( "\\t", String.fromCharCode(0x0009), "\t" ); -new TestCase( "\\v", String.fromCharCode(0x000B), "\v" ); - -// DoubleStringCharacters:DoubleStringCharacter::EscapeSequence::OctalEscapeSequence - -new TestCase( "\\00", String.fromCharCode(0x0000), "\00" ); -new TestCase( "\\01", String.fromCharCode(0x0001), "\01" ); -new TestCase( "\\02", String.fromCharCode(0x0002), "\02" ); -new TestCase( "\\03", String.fromCharCode(0x0003), "\03" ); -new TestCase( "\\04", String.fromCharCode(0x0004), "\04" ); -new TestCase( "\\05", String.fromCharCode(0x0005), "\05" ); -new TestCase( "\\06", String.fromCharCode(0x0006), "\06" ); -new TestCase( "\\07", String.fromCharCode(0x0007), "\07" ); - -new TestCase( "\\010", String.fromCharCode(0x0008), "\010" ); -new TestCase( "\\011", String.fromCharCode(0x0009), "\011" ); -new TestCase( "\\012", String.fromCharCode(0x000A), "\012" ); -new TestCase( "\\013", String.fromCharCode(0x000B), "\013" ); -new TestCase( "\\014", String.fromCharCode(0x000C), "\014" ); -new TestCase( "\\015", String.fromCharCode(0x000D), "\015" ); -new TestCase( "\\016", String.fromCharCode(0x000E), "\016" ); -new TestCase( "\\017", String.fromCharCode(0x000F), "\017" ); -new TestCase( "\\020", String.fromCharCode(0x0010), "\020" ); -new TestCase( "\\042", String.fromCharCode(0x0022), "\042" ); - -new TestCase( "\\0", String.fromCharCode(0x0000), "\0" ); -new TestCase( "\\1", String.fromCharCode(0x0001), "\1" ); -new TestCase( "\\2", String.fromCharCode(0x0002), "\2" ); -new TestCase( "\\3", String.fromCharCode(0x0003), "\3" ); -new TestCase( "\\4", String.fromCharCode(0x0004), "\4" ); -new TestCase( "\\5", String.fromCharCode(0x0005), "\5" ); -new TestCase( "\\6", String.fromCharCode(0x0006), "\6" ); -new TestCase( "\\7", String.fromCharCode(0x0007), "\7" ); - -new TestCase( "\\10", String.fromCharCode(0x0008), "\10" ); -new TestCase( "\\11", String.fromCharCode(0x0009), "\11" ); -new TestCase( "\\12", String.fromCharCode(0x000A), "\12" ); -new TestCase( "\\13", String.fromCharCode(0x000B), "\13" ); -new TestCase( "\\14", String.fromCharCode(0x000C), "\14" ); -new TestCase( "\\15", String.fromCharCode(0x000D), "\15" ); -new TestCase( "\\16", String.fromCharCode(0x000E), "\16" ); -new TestCase( "\\17", String.fromCharCode(0x000F), "\17" ); -new TestCase( "\\20", String.fromCharCode(0x0010), "\20" ); -new TestCase( "\\42", String.fromCharCode(0x0022), "\42" ); - -new TestCase( "\\000", String.fromCharCode(0), "\000" ); -new TestCase( "\\111", String.fromCharCode(73), "\111" ); -new TestCase( "\\222", String.fromCharCode(146), "\222" ); -new TestCase( "\\333", String.fromCharCode(219), "\333" ); - -// following line commented out as it causes a compile time error -// new TestCase( "\\444", "444", "\444" ); - -// DoubleStringCharacters:DoubleStringCharacter::EscapeSequence::HexEscapeSequence -new TestCase( "\\xF0", String.fromCharCode(240), "\xF0" ); -new TestCase( "\\xE1", String.fromCharCode(225), "\xE1" ); -new TestCase( "\\xD2", String.fromCharCode(210), "\xD2" ); -new TestCase( "\\xC3", String.fromCharCode(195), "\xC3" ); -new TestCase( "\\xB4", String.fromCharCode(180), "\xB4" ); -new TestCase( "\\xA5", String.fromCharCode(165), "\xA5" ); -new TestCase( "\\x96", String.fromCharCode(150), "\x96" ); -new TestCase( "\\x87", String.fromCharCode(135), "\x87" ); -new TestCase( "\\x78", String.fromCharCode(120), "\x78" ); -new TestCase( "\\x69", String.fromCharCode(105), "\x69" ); -new TestCase( "\\x5A", String.fromCharCode(90), "\x5A" ); -new TestCase( "\\x4B", String.fromCharCode(75), "\x4B" ); -new TestCase( "\\x3C", String.fromCharCode(60), "\x3C" ); -new TestCase( "\\x2D", String.fromCharCode(45), "\x2D" ); -new TestCase( "\\x1E", String.fromCharCode(30), "\x1E" ); -new TestCase( "\\x0F", String.fromCharCode(15), "\x0F" ); - -// string literals only take up to two hext digits. therefore, the third character in this string -// should be interpreted as a StringCharacter and not part of the HextEscapeSequence - -new TestCase( "\\xF0F", String.fromCharCode(240)+"F", "\xF0F" ); -new TestCase( "\\xE1E", String.fromCharCode(225)+"E", "\xE1E" ); -new TestCase( "\\xD2D", String.fromCharCode(210)+"D", "\xD2D" ); -new TestCase( "\\xC3C", String.fromCharCode(195)+"C", "\xC3C" ); -new TestCase( "\\xB4B", String.fromCharCode(180)+"B", "\xB4B" ); -new TestCase( "\\xA5A", String.fromCharCode(165)+"A", "\xA5A" ); -new TestCase( "\\x969", String.fromCharCode(150)+"9", "\x969" ); -new TestCase( "\\x878", String.fromCharCode(135)+"8", "\x878" ); -new TestCase( "\\x787", String.fromCharCode(120)+"7", "\x787" ); -new TestCase( "\\x696", String.fromCharCode(105)+"6", "\x696" ); -new TestCase( "\\x5A5", String.fromCharCode(90)+"5", "\x5A5" ); -new TestCase( "\\x4B4", String.fromCharCode(75)+"4", "\x4B4" ); -new TestCase( "\\x3C3", String.fromCharCode(60)+"3", "\x3C3" ); -new TestCase( "\\x2D2", String.fromCharCode(45)+"2", "\x2D2" ); -new TestCase( "\\x1E1", String.fromCharCode(30)+"1", "\x1E1" ); -new TestCase( "\\x0F0", String.fromCharCode(15)+"0", "\x0F0" ); - -// DoubleStringCharacter::EscapeSequence::CharacterEscapeSequence::\ NonEscapeCharacter -new TestCase( "\\a", "a", "\a" ); -new TestCase( "\\c", "c", "\c" ); -new TestCase( "\\d", "d", "\d" ); -new TestCase( "\\e", "e", "\e" ); -new TestCase( "\\g", "g", "\g" ); -new TestCase( "\\h", "h", "\h" ); -new TestCase( "\\i", "i", "\i" ); -new TestCase( "\\j", "j", "\j" ); -new TestCase( "\\k", "k", "\k" ); -new TestCase( "\\l", "l", "\l" ); -new TestCase( "\\m", "m", "\m" ); -new TestCase( "\\o", "o", "\o" ); -new TestCase( "\\p", "p", "\p" ); -new TestCase( "\\q", "q", "\q" ); -new TestCase( "\\s", "s", "\s" ); -new TestCase( "\\w", "w", "\w" ); -new TestCase( "\\y", "y", "\y" ); -new TestCase( "\\z", "z", "\z" ); -new TestCase( "\\9", "9", "\9" ); - -new TestCase( "\\A", "A", "\A" ); -new TestCase( "\\B", "B", "\B" ); -new TestCase( "\\C", "C", "\C" ); -new TestCase( "\\D", "D", "\D" ); -new TestCase( "\\E", "E", "\E" ); -new TestCase( "\\F", "F", "\F" ); -new TestCase( "\\G", "G", "\G" ); -new TestCase( "\\H", "H", "\H" ); -new TestCase( "\\I", "I", "\I" ); -new TestCase( "\\J", "J", "\J" ); -new TestCase( "\\K", "K", "\K" ); -new TestCase( "\\L", "L", "\L" ); -new TestCase( "\\M", "M", "\M" ); -new TestCase( "\\N", "N", "\N" ); -new TestCase( "\\O", "O", "\O" ); -new TestCase( "\\P", "P", "\P" ); -new TestCase( "\\Q", "Q", "\Q" ); -new TestCase( "\\R", "R", "\R" ); -new TestCase( "\\S", "S", "\S" ); -new TestCase( "\\T", "T", "\T" ); -new TestCase( "\\U", "U", "\U" ); -new TestCase( "\\V", "V", "\V" ); -new TestCase( "\\W", "W", "\W" ); -new TestCase( "\\X", "X", "\X" ); -new TestCase( "\\Y", "Y", "\Y" ); -new TestCase( "\\Z", "Z", "\Z" ); - -// DoubleStringCharacter::EscapeSequence::UnicodeEscapeSequence - -new TestCase( "\\u0020", " ", "\u0020" ); -new TestCase( "\\u0021", "!", "\u0021" ); -new TestCase( "\\u0022", "\"", "\u0022" ); -new TestCase( "\\u0023", "#", "\u0023" ); -new TestCase( "\\u0024", "$", "\u0024" ); -new TestCase( "\\u0025", "%", "\u0025" ); -new TestCase( "\\u0026", "&", "\u0026" ); -new TestCase( "\\u0027", "'", "\u0027" ); -new TestCase( "\\u0028", "(", "\u0028" ); -new TestCase( "\\u0029", ")", "\u0029" ); -new TestCase( "\\u002A", "*", "\u002A" ); -new TestCase( "\\u002B", "+", "\u002B" ); -new TestCase( "\\u002C", ",", "\u002C" ); -new TestCase( "\\u002D", "-", "\u002D" ); -new TestCase( "\\u002E", ".", "\u002E" ); -new TestCase( "\\u002F", "/", "\u002F" ); -new TestCase( "\\u0030", "0", "\u0030" ); -new TestCase( "\\u0031", "1", "\u0031" ); -new TestCase( "\\u0032", "2", "\u0032" ); -new TestCase( "\\u0033", "3", "\u0033" ); -new TestCase( "\\u0034", "4", "\u0034" ); -new TestCase( "\\u0035", "5", "\u0035" ); -new TestCase( "\\u0036", "6", "\u0036" ); -new TestCase( "\\u0037", "7", "\u0037" ); -new TestCase( "\\u0038", "8", "\u0038" ); -new TestCase( "\\u0039", "9", "\u0039" ); - -test(); diff --git a/js/src/tests/ecma/LexicalConventions/7.8.2-n.js b/js/src/tests/ecma/LexicalConventions/7.8.2-n.js deleted file mode 100644 index 94cba9680717..000000000000 --- a/js/src/tests/ecma/LexicalConventions/7.8.2-n.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.8.2.js - ECMA Section: 7.8.2 Examples of Automatic Semicolon Insertion - Description: compare some specific examples of the automatic - insertion rules in the EMCA specification. - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION="7.8.2"; -writeHeaderToLog(SECTION+" "+"Examples of Semicolon Insertion"); - - -// new TestCase( "{ 1 \n 2 } 3", 3, eval("{ 1 \n 2 } 3") ); - -DESCRIPTION = "{ 1 2 } 3"; - -new TestCase( "{ 1 2 } 3", "error", eval("{1 2 } 3") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8-2-n.js b/js/src/tests/ecma/Math/15.8-2-n.js deleted file mode 100644 index 0da11ecd030c..000000000000 --- a/js/src/tests/ecma/Math/15.8-2-n.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8-2.js - ECMA Section: 15.8 The Math Object - - Description: - - The Math object is merely a single object that has some named properties, - some of which are functions. - - The value of the internal [[Prototype]] property of the Math object is the - Object prototype object (15.2.3.1). - - The Math object does not have a [[Construct]] property; it is not possible - to use the Math object as a constructor with the new operator. - - The Math object does not have a [[Call]] property; it is not possible to - invoke the Math object as a function. - - Recall that, in this specification, the phrase "the number value for x" has - a technical meaning defined in section 8.5. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ - -var SECTION = "15.8-2-n"; -var TITLE = "The Math Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "MYMATH = new Math()"; - -new TestCase( - "MYMATH = new Math()", - "error", - eval("MYMATH = new Math()") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8-3-n.js b/js/src/tests/ecma/Math/15.8-3-n.js deleted file mode 100644 index c75fb1f50e68..000000000000 --- a/js/src/tests/ecma/Math/15.8-3-n.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8-3.js - ECMA Section: 15.8 The Math Object - - Description: - - The Math object is merely a single object that has some named properties, - some of which are functions. - - The value of the internal [[Prototype]] property of the Math object is the - Object prototype object (15.2.3.1). - - The Math object does not have a [[Construct]] property; it is not possible - to use the Math object as a constructor with the new operator. - - The Math object does not have a [[Call]] property; it is not possible to - invoke the Math object as a function. - - Recall that, in this specification, the phrase "the number value for x" has - a technical meaning defined in section 8.5. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "15.8-3-n"; -var TITLE = "The Math Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "MYMATH = Math()"; - -new TestCase( - "MYMATH = Math()", - "error", - eval("MYMATH = Math()") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.1-1.js b/js/src/tests/ecma/Math/15.8.1.1-1.js deleted file mode 100644 index 62540872da51..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.1-1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.1-1.js - ECMA Section: 15.8.1.1.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.E - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.8.1.1-1"; -var TITLE = "Math.E"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.E = 0; Math.E", - 2.7182818284590452354, - eval("Math.E=0;Math.E") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.1-2.js b/js/src/tests/ecma/Math/15.8.1.1-2.js deleted file mode 100644 index eb3497efd461..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.1-2.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.1-2.js - ECMA Section: 15.8.1.1.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.E - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.8.1.1-2"; -var TITLE = "Math.E"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MATH_E = 2.7182818284590452354 - new TestCase( "delete(Math.E)", - false, - eval("delete Math.E") ); -new TestCase( "delete(Math.E); Math.E", - MATH_E, - eval("delete Math.E; Math.E") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.2-1.js b/js/src/tests/ecma/Math/15.8.1.2-1.js deleted file mode 100644 index e80c23f66bcc..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.2-1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.2-1.js - ECMA Section: 15.8.2.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.LN10 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.8.1.2-1"; -var TITLE = "Math.LN10"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.LN10=0; Math.LN10", - 2.302585092994046, - eval("Math.LN10=0; Math.LN10") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.2-2.js b/js/src/tests/ecma/Math/15.8.1.2-2.js deleted file mode 100644 index 83b75d2fc159..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.2-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.2-1.js - ECMA Section: 15.8.2.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.LN10 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.2-2"; -var TITLE = "Math.LN10"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete( Math.LN10 ); Math.LN10", - 2.302585092994046, - eval("delete(Math.LN10); Math.LN10") ); - -new TestCase( "delete( Math.LN10 ); ", - false, - eval("delete(Math.LN10)") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.3-1.js b/js/src/tests/ecma/Math/15.8.1.3-1.js deleted file mode 100644 index 697677d73ea9..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.3-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.3-1.js - ECMA Section: 15.8.1.3.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.LN2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.3-1"; -var TITLE = "Math.LN2"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.LN2=0; Math.LN2", - 0.6931471805599453, - eval("Math.LN2=0; Math.LN2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.3-2.js b/js/src/tests/ecma/Math/15.8.1.3-2.js deleted file mode 100644 index 87001bd9388b..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.3-2.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.3-3.js - ECMA Section: 15.8.1.3.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.LN2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.3-2"; -var TITLE = "Math.LN2"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MATH_LN2 = 0.6931471805599453; - -new TestCase( "delete(Math.LN2)", - false, - eval("delete(Math.LN2)") ); - -new TestCase( "delete(Math.LN2); Math.LN2", - MATH_LN2, - eval("delete(Math.LN2); Math.LN2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.4-1.js b/js/src/tests/ecma/Math/15.8.1.4-1.js deleted file mode 100644 index 48d0058a4288..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.4-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.4-1.js - ECMA Section: 15.8.1.4.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.LOG2E - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.4-1"; -var TITLE = "Math.LOG2E"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.L0G2E=0; Math.LOG2E", - 1.4426950408889634, - eval("Math.LOG2E=0; Math.LOG2E") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.4-2.js b/js/src/tests/ecma/Math/15.8.1.4-2.js deleted file mode 100644 index bd593f85869e..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.4-2.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.4-2.js - ECMA Section: 15.8.1.4.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.LOG2E - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.4-2"; -var TITLE = "Math.LOG2E"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete(Math.L0G2E);Math.LOG2E", - 1.4426950408889634, - eval("delete(Math.LOG2E);Math.LOG2E") ); -new TestCase( "delete(Math.L0G2E)", - false, - eval("delete(Math.LOG2E)") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.5-1.js b/js/src/tests/ecma/Math/15.8.1.5-1.js deleted file mode 100644 index c8237c349eaa..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.5-1.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.5-1.js - ECMA Section: 15.8.1.5.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.LOG10E - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.8.1.5-1"; -var TITLE = "Math.LOG10E"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.LOG10E=0; Math.LOG10E", - 0.4342944819032518, - eval("Math.LOG10E=0; Math.LOG10E") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.5-2.js b/js/src/tests/ecma/Math/15.8.1.5-2.js deleted file mode 100644 index ba838040dbab..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.5-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.5-2.js - ECMA Section: 15.8.1.5.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.LOG10E - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.5-2"; -var TITLE = "Math.LOG10E"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete Math.LOG10E; Math.LOG10E", - 0.4342944819032518, - eval("delete Math.LOG10E; Math.LOG10E") ); - -new TestCase( "delete Math.LOG10E", - false, - eval("delete Math.LOG10E") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.6-1.js b/js/src/tests/ecma/Math/15.8.1.6-1.js deleted file mode 100644 index b61c13ce773a..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.6-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.6-1.js - ECMA Section: 15.8.1.6.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.PI - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.6-1"; -var TITLE = "Math.PI"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.PI=0; Math.PI", - 3.1415926535897923846, - eval("Math.PI=0; Math.PI") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.6-2.js b/js/src/tests/ecma/Math/15.8.1.6-2.js deleted file mode 100644 index 4b29425cc17d..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.6-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.6-2.js - ECMA Section: 15.8.1.6.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.PI - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.6-2"; -var TITLE = "Math.PI"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete Math.PI; Math.PI", - 3.1415926535897923846, - eval("delete Math.PI; Math.PI") ); - -new TestCase( "delete Math.PI; Math.PI", - false, - eval("delete Math.PI") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.7-1.js b/js/src/tests/ecma/Math/15.8.1.7-1.js deleted file mode 100644 index 4a46b54bbdb6..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.7-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.7-1.js - ECMA Section: 15.8.1.7.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.SQRT1_2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.7-1"; -var TITLE = "Math.SQRT1_2"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.SQRT1_2=0; Math.SQRT1_2", - 0.7071067811865476, - eval("Math.SQRT1_2=0; Math.SQRT1_2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.7-2.js b/js/src/tests/ecma/Math/15.8.1.7-2.js deleted file mode 100644 index da79f5319589..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.7-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.7-2.js - ECMA Section: 15.8.1.7.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.SQRT1_2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.7-2"; -var TITLE = "Math.SQRT1_2"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete Math.SQRT1_2; Math.SQRT1_2", - 0.7071067811865476, - eval("delete Math.SQRT1_2; Math.SQRT1_2") ); - -new TestCase( "delete Math.SQRT1_2", - false, - eval("delete Math.SQRT1_2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.8-1.js b/js/src/tests/ecma/Math/15.8.1.8-1.js deleted file mode 100644 index cb29cefc2f0d..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.8-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.8-1.js - ECMA Section: 15.8.1.8.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Math.SQRT2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.1.8-1"; -var TITLE = "Math.SQRT2"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.SQRT2=0; Math.SQRT2", - 1.4142135623730951, - eval("Math.SQRT2=0; Math.SQRT2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.8-2.js b/js/src/tests/ecma/Math/15.8.1.8-2.js deleted file mode 100644 index de8815484ee1..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.8-2.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.8-2.js - ECMA Section: 15.8.1.8.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.SQRT2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.8.1.8-2"; -var TITLE = "Math.SQRT2"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete Math.SQRT2; Math.SQRT2", - 1.4142135623730951, - eval("delete Math.SQRT2; Math.SQRT2") ); - -new TestCase( "delete Math.SQRT2", - false, - eval("delete Math.SQRT2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.1.8-3.js b/js/src/tests/ecma/Math/15.8.1.8-3.js deleted file mode 100644 index 5d048035052c..000000000000 --- a/js/src/tests/ecma/Math/15.8.1.8-3.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.1.8-3.js - ECMA Section: 15.8.1.8.js - Description: All value properties of the Math object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Math.SQRT2 - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.8.1.8-3"; - -writeHeaderToLog( SECTION + " Math.SQRT2: DontDelete"); - -new TestCase( "delete Math.SQRT2", - false, - eval("delete Math.SQRT2") ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.1.js b/js/src/tests/ecma/Math/15.8.2.1.js deleted file mode 100644 index 6a253798c846..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.1.js +++ /dev/null @@ -1,191 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.1.js - ECMA Section: 15.8.2.1 abs( x ) - Description: return the absolute value of the argument, - which should be the magnitude of the argument - with a positive sign. - - if x is NaN, return NaN - - if x is -0, result is +0 - - if x is -Infinity, result is +Infinity - Author: christine@netscape.com - Date: 7 july 1997 -*/ -var SECTION = "15.8.2.1"; -var TITLE = "Math.abs()"; -var BUGNUMBER = "77391"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Math.abs.length", - 1, - Math.abs.length ); - -new TestCase( - "Math.abs()", - Number.NaN, - Math.abs() ); - -new TestCase( - "Math.abs( void 0 )", - Number.NaN, - Math.abs(void 0) ); - -new TestCase( - "Math.abs( null )", - 0, - Math.abs(null) ); - -new TestCase( - "Math.abs( true )", - 1, - Math.abs(true) ); - -new TestCase( - "Math.abs( false )", - 0, - Math.abs(false) ); - -new TestCase( - "Math.abs( string primitive)", - Number.NaN, - Math.abs("a string primitive") ); - -new TestCase( - "Math.abs( string object )", - Number.NaN, - Math.abs(new String( 'a String object' )) ); - -new TestCase( - "Math.abs( Number.NaN )", - Number.NaN, - Math.abs(Number.NaN) ); - -new TestCase( - "Math.abs(0)", - 0, - Math.abs( 0 ) ); - -new TestCase( - "Math.abs( -0 )", - 0, - Math.abs(-0) ); - -new TestCase( - "Infinity/Math.abs(-0)", - Infinity, - Infinity/Math.abs(-0) ); - -new TestCase( - "Math.abs( -Infinity )", - Number.POSITIVE_INFINITY, - Math.abs( Number.NEGATIVE_INFINITY ) ); - -new TestCase( - "Math.abs( Infinity )", - Number.POSITIVE_INFINITY, - Math.abs( Number.POSITIVE_INFINITY ) ); - -new TestCase( - "Math.abs( - MAX_VALUE )", - Number.MAX_VALUE, - Math.abs( - Number.MAX_VALUE ) ); - -new TestCase( - "Math.abs( - MIN_VALUE )", - Number.MIN_VALUE, - Math.abs( -Number.MIN_VALUE ) ); - -new TestCase( - "Math.abs( MAX_VALUE )", - Number.MAX_VALUE, - Math.abs( Number.MAX_VALUE ) ); - -new TestCase( - "Math.abs( MIN_VALUE )", - Number.MIN_VALUE, - Math.abs( Number.MIN_VALUE ) ); - -new TestCase( - "Math.abs( -1 )", - 1, - Math.abs( -1 ) ); - -new TestCase( - "Math.abs( new Number( -1 ) )", - 1, - Math.abs( new Number(-1) ) ); - -new TestCase( - "Math.abs( 1 )", - 1, - Math.abs( 1 ) ); - -new TestCase( - "Math.abs( Math.PI )", - Math.PI, - Math.abs( Math.PI ) ); - -new TestCase( - "Math.abs( -Math.PI )", - Math.PI, - Math.abs( -Math.PI ) ); - -new TestCase( - "Math.abs(-1/100000000)", - 1/100000000, - Math.abs(-1/100000000) ); - -new TestCase( - "Math.abs(-Math.pow(2,32))", - Math.pow(2,32), - Math.abs(-Math.pow(2,32)) ); - -new TestCase( - "Math.abs(Math.pow(2,32))", - Math.pow(2,32), - Math.abs(Math.pow(2,32)) ); - -new TestCase( - "Math.abs( -0xfff )", - 4095, - Math.abs( -0xfff ) ); - -new TestCase( - "Math.abs( -0777 )", - 511, - Math.abs(-0777 ) ); - -new TestCase( - "Math.abs('-1e-1')", - 0.1, - Math.abs('-1e-1') ); - -new TestCase( - "Math.abs('0xff')", - 255, - Math.abs('0xff') ); - -new TestCase( - "Math.abs('077')", - 77, - Math.abs('077') ); - -new TestCase( - "Math.abs( 'Infinity' )", - Infinity, - Math.abs('Infinity') ); - -new TestCase( - "Math.abs( '-Infinity' )", - Infinity, - Math.abs('-Infinity') ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.10.js b/js/src/tests/ecma/Math/15.8.2.10.js deleted file mode 100644 index 709bcdbbaa66..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.10.js +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.10.js - ECMA Section: 15.8.2.10 Math.log(x) - Description: return an approximiation to the natural logarithm of - the argument. - special cases: - - if arg is NaN result is NaN - - if arg is <0 result is NaN - - if arg is 0 or -0 result is -Infinity - - if arg is 1 result is 0 - - if arg is Infinity result is Infinity - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.8.2.10"; -var TITLE = "Math.log(x)"; -var BUGNUMBER = "77391"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( - "Math.log.length", - 1, - Math.log.length ); - - -new TestCase( - "Math.log()", - Number.NaN, - Math.log() ); - -new TestCase( - "Math.log(void 0)", - Number.NaN, - Math.log(void 0) ); - -new TestCase( - "Math.log(null)", - Number.NEGATIVE_INFINITY, - Math.log(null) ); - -new TestCase( - "Math.log(true)", - 0, - Math.log(true) ); - -new TestCase( - "Math.log(false)", - -Infinity, - Math.log(false) ); - -new TestCase( - "Math.log('0')", - -Infinity, - Math.log('0') ); - -new TestCase( - "Math.log('1')", - 0, - Math.log('1') ); - -new TestCase( - "Math.log('Infinity')", - Infinity, - Math.log("Infinity") ); - - -new TestCase( - "Math.log(NaN)", - Number.NaN, - Math.log(Number.NaN) ); - -new TestCase( - "Math.log(-0.0000001)", - Number.NaN, - Math.log(-0.000001) ); - -new TestCase( - "Math.log(-1)", - Number.NaN, - Math.log(-1) ); - -new TestCase( - "Math.log(0)", - Number.NEGATIVE_INFINITY, - Math.log(0) ); - -new TestCase( - "Math.log(-0)", - Number.NEGATIVE_INFINITY, - Math.log(-0)); - -new TestCase( - "Math.log(1)", - 0, - Math.log(1) ); - -new TestCase( - "Math.log(Infinity)", - Number.POSITIVE_INFINITY, - Math.log(Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.log(-Infinity)", - Number.NaN, - Math.log(Number.NEGATIVE_INFINITY) ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.11.js b/js/src/tests/ecma/Math/15.8.2.11.js deleted file mode 100644 index c06ef51d9d3b..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.11.js +++ /dev/null @@ -1,165 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.11.js - ECMA Section: 15.8.2.11 Math.max(x, y) - Description: return the smaller of the two arguments. - special cases: - - if x is NaN or y is NaN return NaN - - if x < y return x - - if y > x return y - - if x is +0 and y is +0 return +0 - - if x is +0 and y is -0 return -0 - - if x is -0 and y is +0 return -0 - - if x is -0 and y is -0 return -0 - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.8.2.11"; -var TITLE = "Math.max(x, y)"; -var BUGNUMBER="76439"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Math.max.length", - 2, - Math.max.length ); - -new TestCase( - "Math.max()", - -Infinity, - Math.max() ); - -new TestCase( - "Math.max(void 0, 1)", - Number.NaN, - Math.max( void 0, 1 ) ); - -new TestCase( - "Math.max(void 0, void 0)", - Number.NaN, - Math.max( void 0, void 0 ) ); - -new TestCase( - "Math.max(null, 1)", - 1, - Math.max( null, 1 ) ); - -new TestCase( - "Math.max(-1, null)", - 0, - Math.max( -1, null ) ); - -new TestCase( - "Math.max(true, false)", - 1, - Math.max(true,false) ); - -new TestCase( - "Math.max('-99','99')", - 99, - Math.max( "-99","99") ); - -new TestCase( - "Math.max(NaN, Infinity)", - Number.NaN, - Math.max(Number.NaN,Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.max(NaN, 0)", - Number.NaN, - Math.max(Number.NaN, 0) ); - -new TestCase( - "Math.max('a string', 0)", - Number.NaN, - Math.max("a string", 0) ); - -new TestCase( - "Math.max(NaN, 1)", - Number.NaN, - Math.max(Number.NaN,1) ); - -new TestCase( - "Math.max('a string',Infinity)", - Number.NaN, - Math.max("a string", Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.max(Infinity, NaN)", - Number.NaN, - Math.max( Number.POSITIVE_INFINITY, Number.NaN) ); - -new TestCase( - "Math.max(NaN, NaN)", - Number.NaN, - Math.max(Number.NaN, Number.NaN) ); - -new TestCase( - "Math.max(0,NaN)", - Number.NaN, - Math.max(0,Number.NaN) ); - -new TestCase( - "Math.max(1, NaN)", - Number.NaN, - Math.max(1, Number.NaN) ); - -new TestCase( - "Math.max(0,0)", - 0, - Math.max(0,0) ); - -new TestCase( - "Math.max(0,-0)", - 0, - Math.max(0,-0) ); - -new TestCase( - "Math.max(-0,0)", - 0, - Math.max(-0,0) ); - -new TestCase( - "Math.max(-0,-0)", - -0, - Math.max(-0,-0) ); - -new TestCase( - "Infinity/Math.max(-0,-0)", - -Infinity, - Infinity/Math.max(-0,-0) ); - -new TestCase( - "Math.max(Infinity, Number.MAX_VALUE)", Number.POSITIVE_INFINITY, - Math.max(Number.POSITIVE_INFINITY, Number.MAX_VALUE) ); - -new TestCase( - "Math.max(Infinity, Infinity)", - Number.POSITIVE_INFINITY, - Math.max(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.max(-Infinity,-Infinity)", - Number.NEGATIVE_INFINITY, - Math.max(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY) ); - -new TestCase( - "Math.max(1,.99999999999999)", - 1, - Math.max(1,.99999999999999) ); - -new TestCase( - "Math.max(-1,-.99999999999999)", - -.99999999999999, - Math.max(-1,-.99999999999999) ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.12.js b/js/src/tests/ecma/Math/15.8.2.12.js deleted file mode 100644 index 31ea939ab946..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.12.js +++ /dev/null @@ -1,142 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.12.js - ECMA Section: 15.8.2.12 Math.min(x, y) - Description: return the smaller of the two arguments. - special cases: - - if x is NaN or y is NaN return NaN - - if x < y return x - - if y > x return y - - if x is +0 and y is +0 return +0 - - if x is +0 and y is -0 return -0 - - if x is -0 and y is +0 return -0 - - if x is -0 and y is -0 return -0 - Author: christine@netscape.com - Date: 7 july 1997 -*/ - - -var SECTION = "15.8.2.12"; -var TITLE = "Math.min(x, y)"; -var BUGNUMBER="76439"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Math.min.length", - 2, - Math.min.length ); - -new TestCase( - "Math.min()", - Infinity, - Math.min() ); - -new TestCase( - "Math.min(void 0, 1)", - Number.NaN, - Math.min( void 0, 1 ) ); - -new TestCase( - "Math.min(void 0, void 0)", - Number.NaN, - Math.min( void 0, void 0 ) ); - -new TestCase( - "Math.min(null, 1)", - 0, - Math.min( null, 1 ) ); - -new TestCase( - "Math.min(-1, null)", - -1, - Math.min( -1, null ) ); - -new TestCase( - "Math.min(true, false)", - 0, - Math.min(true,false) ); - -new TestCase( - "Math.min('-99','99')", - -99, - Math.min( "-99","99") ); - -new TestCase( - "Math.min(NaN,0)", - Number.NaN, - Math.min(Number.NaN,0) ); - -new TestCase( - "Math.min(NaN,1)", - Number.NaN, - Math.min(Number.NaN,1) ); - -new TestCase( - "Math.min(NaN,-1)", - Number.NaN, - Math.min(Number.NaN,-1) ); - -new TestCase( - "Math.min(0,NaN)", - Number.NaN, - Math.min(0,Number.NaN) ); - -new TestCase( - "Math.min(1,NaN)", - Number.NaN, - Math.min(1,Number.NaN) ); - -new TestCase( - "Math.min(-1,NaN)", - Number.NaN, - Math.min(-1,Number.NaN) ); - -new TestCase( - "Math.min(NaN,NaN)", - Number.NaN, - Math.min(Number.NaN,Number.NaN) ); - -new TestCase( - "Math.min(1,1.0000000001)", - 1, - Math.min(1,1.0000000001) ); - -new TestCase( - "Math.min(1.0000000001,1)", - 1, - Math.min(1.0000000001,1) ); - -new TestCase( - "Math.min(0,0)", - 0, - Math.min(0,0) ); - -new TestCase( - "Math.min(0,-0)", - -0, - Math.min(0,-0) ); - -new TestCase( - "Math.min(-0,-0)", - -0, - Math.min(-0,-0) ); - -new TestCase( - "Infinity/Math.min(0,-0)", - -Infinity, - Infinity/Math.min(0,-0) ); - -new TestCase( - "Infinity/Math.min(-0,-0)", - -Infinity, - Infinity/Math.min(-0,-0) ); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.14.js b/js/src/tests/ecma/Math/15.8.2.14.js deleted file mode 100644 index a2cfc68484e2..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.14.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.14.js - ECMA Section: 15.8.2.14 Math.random() - returns a number value x with a positive sign - with 1 > x >= 0 with approximately uniform - distribution over that range, using an - implementation-dependent algorithm or strategy. - This function takes no arguments. - - Description: - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.8.2.14"; -var TITLE = "Math.random()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -for ( var item = 0; item < 100; item++ ) { - var actual = "pass"; - - var result = Math.random(); - if ( ! ( result >= 0) ) { - actual = "fail"; - } - if ( ! (result < 1) ) { - actual = "fail"; - } - - new TestCase( "Math.random()", - "pass", - actual, - result ); -} - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.15.js b/js/src/tests/ecma/Math/15.8.2.15.js deleted file mode 100644 index 1fb0e1bce01c..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.15.js +++ /dev/null @@ -1,143 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.15.js - ECMA Section: 15.8.2.15 Math.round(x) - Description: return the greatest number value that is closest to the - argument and is an integer. if two integers are equally - close to the argument. then the result is the number value - that is closer to Infinity. if the argument is an integer, - return the argument. - special cases: - - if x is NaN return NaN - - if x = +0 return +0 - - if x = -0 return -0 - - if x = Infinity return Infinity - - if x = -Infinity return -Infinity - - if 0 < x < 0.5 return 0 - - if -0.5 <= x < 0 return -0 - example: - Math.round( 3.5 ) == 4 - Math.round( -3.5 ) == 3 - also: - - Math.round(x) == Math.floor( x + 0.5 ) - except if x = -0. in that case, Math.round(x) = -0 - - and Math.floor( x+0.5 ) = +0 - - - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.8.2.15"; -var TITLE = "Math.round(x)"; -var BUGNUMBER="331411"; - -var EXCLUDE = "true"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.round.length", - 1, - Math.round.length ); - -new TestCase( "Math.round()", - Number.NaN, - Math.round() ); - -new TestCase( "Math.round(null)", - 0, - Math.round(0) ); - -new TestCase( "Math.round(void 0)", - Number.NaN, - Math.round(void 0) ); - -new TestCase( "Math.round(true)", - 1, - Math.round(true) ); - -new TestCase( "Math.round(false)", - 0, - Math.round(false) ); - -new TestCase( "Math.round('.99999')", - 1, - Math.round('.99999') ); - -new TestCase( "Math.round('12345e-2')", - 123, - Math.round('12345e-2') ); - -new TestCase( "Math.round(NaN)", - Number.NaN, - Math.round(Number.NaN) ); - -new TestCase( "Math.round(0)", - 0, - Math.round(0) ); - -new TestCase( "Math.round(-0)", - -0, - Math.round(-0)); - -new TestCase( "Infinity/Math.round(-0)", - -Infinity, - Infinity/Math.round(-0) ); - -new TestCase( "Math.round(Infinity)", - Number.POSITIVE_INFINITY, - Math.round(Number.POSITIVE_INFINITY)); - -new TestCase( "Math.round(-Infinity)", - Number.NEGATIVE_INFINITY, - Math.round(Number.NEGATIVE_INFINITY)); - -new TestCase( "Math.round(0.49)", - 0, - Math.round(0.49)); - -new TestCase( "Math.round(0.5)", - 1, - Math.round(0.5)); - -new TestCase( "Math.round(0.51)", - 1, - Math.round(0.51)); - -new TestCase( "Math.round(-0.49)", - -0, - Math.round(-0.49)); - -new TestCase( "Math.round(-0.5)", - -0, - Math.round(-0.5)); - -new TestCase( "Infinity/Math.round(-0.49)", - -Infinity, - Infinity/Math.round(-0.49)); - -new TestCase( "Infinity/Math.round(-0.5)", - -Infinity, - Infinity/Math.round(-0.5)); - -new TestCase( "Math.round(-0.51)", - -1, - Math.round(-0.51)); - -new TestCase( "Math.round(3.5)", - 4, - Math.round(3.5)); - -new TestCase( "Math.round(-3.5)", - -3, - Math.round(-3)); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.6.js b/js/src/tests/ecma/Math/15.8.2.6.js deleted file mode 100644 index a58867e899a7..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.6.js +++ /dev/null @@ -1,196 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.6.js - ECMA Section: 15.8.2.6 Math.ceil(x) - Description: return the smallest number value that is not less than the - argument and is equal to a mathematical integer. if the - number is already an integer, return the number itself. - special cases: - - if x is NaN return NaN - - if x = +0 return +0 - - if x = 0 return -0 - - if x = Infinity return Infinity - - if x = -Infinity return -Infinity - - if ( -1 < x < 0 ) return -0 - also: - - the value of Math.ceil(x) == -Math.ceil(-x) - Author: christine@netscape.com - Date: 7 july 1997 -*/ -var SECTION = "15.8.2.6"; -var TITLE = "Math.ceil(x)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Math.ceil.length", - 1, - Math.ceil.length ); - -new TestCase( - "Math.ceil(NaN)", - Number.NaN, - Math.ceil(Number.NaN) ); - -new TestCase( - "Math.ceil(null)", - 0, - Math.ceil(null) ); - -new TestCase( - "Math.ceil()", - Number.NaN, - Math.ceil() ); - -new TestCase( - "Math.ceil(void 0)", - Number.NaN, - Math.ceil(void 0) ); - -new TestCase( - "Math.ceil('0')", - 0, - Math.ceil('0') ); - -new TestCase( - "Math.ceil('-0')", - -0, - Math.ceil('-0') ); - -new TestCase( - "Infinity/Math.ceil('0')", - Infinity, - Infinity/Math.ceil('0')); - -new TestCase( - "Infinity/Math.ceil('-0')", - -Infinity, - Infinity/Math.ceil('-0')); - -new TestCase( - "Math.ceil(0)", - 0, - Math.ceil(0) ); - -new TestCase( - "Math.ceil(-0)", - -0, - Math.ceil(-0) ); - -new TestCase( - "Infinity/Math.ceil(0)", - Infinity, - Infinity/Math.ceil(0)); - -new TestCase( - "Infinity/Math.ceil(-0)", - -Infinity, - Infinity/Math.ceil(-0)); - - -new TestCase( - "Math.ceil(Infinity)", - Number.POSITIVE_INFINITY, - Math.ceil(Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.ceil(-Infinity)", - Number.NEGATIVE_INFINITY, - Math.ceil(Number.NEGATIVE_INFINITY) ); - -new TestCase( - "Math.ceil(-Number.MIN_VALUE)", - -0, - Math.ceil(-Number.MIN_VALUE) ); - -new TestCase( - "Infinity/Math.ceil(-Number.MIN_VALUE)", - -Infinity, - Infinity/Math.ceil(-Number.MIN_VALUE) ); - -new TestCase( - "Math.ceil(1)", - 1, - Math.ceil(1) ); - -new TestCase( - "Math.ceil(-1)", - -1, - Math.ceil(-1) ); - -new TestCase( - "Math.ceil(-0.9)", - -0, - Math.ceil(-0.9) ); - -new TestCase( - "Infinity/Math.ceil(-0.9)", - -Infinity, - Infinity/Math.ceil(-0.9) ); - -new TestCase( - "Math.ceil(0.9 )", - 1, - Math.ceil( 0.9) ); - -new TestCase( - "Math.ceil(-1.1)", - -1, - Math.ceil( -1.1)); - -new TestCase( - "Math.ceil( 1.1)", - 2, - Math.ceil( 1.1)); - -new TestCase( - "Math.ceil(Infinity)", - -Math.floor(-Infinity), - Math.ceil(Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.ceil(-Infinity)", - -Math.floor(Infinity), - Math.ceil(Number.NEGATIVE_INFINITY) ); - -new TestCase( - "Math.ceil(-Number.MIN_VALUE)", - -Math.floor(Number.MIN_VALUE), - Math.ceil(-Number.MIN_VALUE) ); - -new TestCase( - "Math.ceil(1)", - -Math.floor(-1), - Math.ceil(1) ); - -new TestCase( - "Math.ceil(-1)", - -Math.floor(1), - Math.ceil(-1) ); - -new TestCase( - "Math.ceil(-0.9)", - -Math.floor(0.9), - Math.ceil(-0.9) ); - -new TestCase( - "Math.ceil(0.9 )", - -Math.floor(-0.9), - Math.ceil( 0.9) ); - -new TestCase( - "Math.ceil(-1.1)", - -Math.floor(1.1), - Math.ceil( -1.1)); - -new TestCase( - "Math.ceil( 1.1)", - -Math.floor(-1.1), - Math.ceil( 1.1)); - -test(); diff --git a/js/src/tests/ecma/Math/15.8.2.9.js b/js/src/tests/ecma/Math/15.8.2.9.js deleted file mode 100644 index e7f1bf1236de..000000000000 --- a/js/src/tests/ecma/Math/15.8.2.9.js +++ /dev/null @@ -1,155 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8.2.9.js - ECMA Section: 15.8.2.9 Math.floor(x) - Description: return the greatest number value that is not greater - than the argument and is equal to a mathematical integer. - if the number is already an integer, return the number - itself. special cases: - - if x is NaN return NaN - - if x = +0 return +0 - - if x = -0 return -0 - - if x = Infinity return Infinity - - if x = -Infinity return -Infinity - - if ( -1 < x < 0 ) return -0 - also: - - the value of Math.floor(x) == -Math.ceil(-x) - Author: christine@netscape.com - Date: 7 july 1997 -*/ - -var SECTION = "15.8.2.9"; -var TITLE = "Math.floor(x)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "Math.floor.length", - 1, - Math.floor.length ); - -new TestCase( - "Math.floor()", - Number.NaN, - Math.floor() ); - -new TestCase( - "Math.floor(void 0)", - Number.NaN, - Math.floor(void 0) ); - -new TestCase( - "Math.floor(null)", - 0, - Math.floor(null) ); - -new TestCase( - "Math.floor(true)", - 1, - Math.floor(true) ); - -new TestCase( - "Math.floor(false)", - 0, - Math.floor(false) ); - -new TestCase( - "Math.floor('1.1')", - 1, - Math.floor("1.1") ); - -new TestCase( - "Math.floor('-1.1')", - -2, - Math.floor("-1.1") ); - -new TestCase( - "Math.floor('0.1')", - 0, - Math.floor("0.1") ); - -new TestCase( - "Math.floor('-0.1')", - -1, - Math.floor("-0.1") ); - -new TestCase( - "Math.floor(NaN)", - Number.NaN, - Math.floor(Number.NaN) ); - -new TestCase( - "Math.floor(NaN)==-Math.ceil(-NaN)", - false, - Math.floor(Number.NaN) == -Math.ceil(-Number.NaN) ); - -new TestCase( - "Math.floor(0)", - 0, - Math.floor(0) ); - -new TestCase( - "Math.floor(0)==-Math.ceil(-0)", - true, - Math.floor(0) == -Math.ceil(-0) ); - -new TestCase( - "Math.floor(-0)", - -0, - Math.floor(-0) ); - -new TestCase( - "Infinity/Math.floor(-0)", - -Infinity, - Infinity/Math.floor(-0) ); - -new TestCase( - "Math.floor(-0)==-Math.ceil(0)", - true, - Math.floor(-0)== -Math.ceil(0) ); - -new TestCase( - "Math.floor(Infinity)", - Number.POSITIVE_INFINITY, - Math.floor(Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.floor(Infinity)==-Math.ceil(-Infinity)", - true, - Math.floor(Number.POSITIVE_INFINITY) == -Math.ceil(Number.NEGATIVE_INFINITY) ); - -new TestCase( - "Math.floor(-Infinity)", - Number.NEGATIVE_INFINITY, - Math.floor(Number.NEGATIVE_INFINITY) ); - -new TestCase( - "Math.floor(-Infinity)==-Math.ceil(Infinity)", - true, - Math.floor(Number.NEGATIVE_INFINITY) == -Math.ceil(Number.POSITIVE_INFINITY) ); - -new TestCase( - "Math.floor(0.0000001)", - 0, - Math.floor(0.0000001) ); - -new TestCase( - "Math.floor(0.0000001)==-Math.ceil(0.0000001)", true, - Math.floor(0.0000001)==-Math.ceil(-0.0000001) ); - -new TestCase( - "Math.floor(-0.0000001)", - -1, - Math.floor(-0.0000001) ); - -new TestCase( - "Math.floor(0.0000001)==-Math.ceil(0.0000001)", - true, - Math.floor(-0.0000001)==-Math.ceil(0.0000001) ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.1.js b/js/src/tests/ecma/Number/15.7.1.js deleted file mode 100644 index 8fe370272a71..000000000000 --- a/js/src/tests/ecma/Number/15.7.1.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.1.js - ECMA Section: 15.7.1 The Number Constructor Called as a Function - 15.7.1.1 - 15.7.1.2 - - Description: When Number is called as a function rather than as a - constructor, it performs a type conversion. - 15.7.1.1 Return a number value (not a Number object) - computed by ToNumber( value ) - 15.7.1.2 Number() returns 0. - - need to add more test cases. see the testcases for - TypeConversion ToNumber. - - Author: christine@netscape.com - Date: 29 september 1997 -*/ - -var SECTION = "15.7.1"; -var TITLE = "The Number Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase("Number()", 0, Number() ); -new TestCase("Number(void 0)", Number.NaN, Number(void 0) ); -new TestCase("Number(null)", 0, Number(null) ); -new TestCase("Number()", 0, Number() ); -new TestCase("Number(new Number())", 0, Number( new Number() ) ); -new TestCase("Number(0)", 0, Number(0) ); -new TestCase("Number(1)", 1, Number(1) ); -new TestCase("Number(-1)", -1, Number(-1) ); -new TestCase("Number(NaN)", Number.NaN, Number( Number.NaN ) ); -new TestCase("Number('string')", Number.NaN, Number( "string") ); -new TestCase("Number(new String())", 0, Number( new String() ) ); -new TestCase("Number('')", 0, Number( "" ) ); -new TestCase("Number(Infinity)", Number.POSITIVE_INFINITY, Number("Infinity") ); - -new TestCase("Number(new MyObject(100))", 100, Number(new MyObject(100)) ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} diff --git a/js/src/tests/ecma/Number/15.7.2.js b/js/src/tests/ecma/Number/15.7.2.js deleted file mode 100644 index 1a2cbaa083c7..000000000000 --- a/js/src/tests/ecma/Number/15.7.2.js +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.2.js - ECMA Section: 15.7.2 The Number Constructor - 15.7.2.1 - 15.7.2.2 - - Description: 15.7.2 When Number is called as part of a new - expression, it is a constructor: it initializes - the newly created object. - - 15.7.2.1 The [[Prototype]] property of the newly - constructed object is set to othe original Number - prototype object, the one that is the initial value - of Number.prototype(0). The [[Class]] property is - set to "Number". The [[Value]] property of the - newly constructed object is set to ToNumber(value) - - 15.7.2.2 new Number(). same as in 15.7.2.1, except - the [[Value]] property is set to +0. - - need to add more test cases. see the testcases for - TypeConversion ToNumber. - - Author: christine@netscape.com - Date: 29 september 1997 -*/ - -var SECTION = "15.7.2"; -var TITLE = "The Number Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// To verify that the object's prototype is the Number.prototype, check to see if the object's -// constructor property is the same as Number.prototype.constructor. - -new TestCase("(new Number()).constructor", Number.prototype.constructor, (new Number()).constructor ); - -new TestCase("typeof (new Number())", "object", typeof (new Number()) ); -new TestCase("(new Number()).valueOf()", 0, (new Number()).valueOf() ); -new TestCase("NUMB = new Number();NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number();NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(0)).constructor", Number.prototype.constructor, (new Number(0)).constructor ); -new TestCase("typeof (new Number(0))", "object", typeof (new Number(0)) ); -new TestCase("(new Number(0)).valueOf()", 0, (new Number(0)).valueOf() ); -new TestCase("NUMB = new Number(0);NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(0);NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(1)).constructor", Number.prototype.constructor, (new Number(1)).constructor ); -new TestCase("typeof (new Number(1))", "object", typeof (new Number(1)) ); -new TestCase("(new Number(1)).valueOf()", 1, (new Number(1)).valueOf() ); -new TestCase("NUMB = new Number(1);NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(1);NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(-1)).constructor", Number.prototype.constructor, (new Number(-1)).constructor ); -new TestCase("typeof (new Number(-1))", "object", typeof (new Number(-1)) ); -new TestCase("(new Number(-1)).valueOf()", -1, (new Number(-1)).valueOf() ); -new TestCase("NUMB = new Number(-1);NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(-1);NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(Number.NaN)).constructor", Number.prototype.constructor, (new Number(Number.NaN)).constructor ); -new TestCase("typeof (new Number(Number.NaN))", "object", typeof (new Number(Number.NaN)) ); -new TestCase("(new Number(Number.NaN)).valueOf()", Number.NaN, (new Number(Number.NaN)).valueOf() ); -new TestCase("NUMB = new Number(Number.NaN);NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(Number.NaN);NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number('string')).constructor", Number.prototype.constructor, (new Number('string')).constructor ); -new TestCase("typeof (new Number('string'))", "object", typeof (new Number('string')) ); -new TestCase("(new Number('string')).valueOf()", Number.NaN, (new Number('string')).valueOf() ); -new TestCase("NUMB = new Number('string');NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number('string');NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(new String())).constructor", Number.prototype.constructor, (new Number(new String())).constructor ); -new TestCase("typeof (new Number(new String()))", "object", typeof (new Number(new String())) ); -new TestCase("(new Number(new String())).valueOf()", 0, (new Number(new String())).valueOf() ); -new TestCase("NUMB = new Number(new String());NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(new String());NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number('')).constructor", Number.prototype.constructor, (new Number('')).constructor ); -new TestCase("typeof (new Number(''))", "object", typeof (new Number('')) ); -new TestCase("(new Number('')).valueOf()", 0, (new Number('')).valueOf() ); -new TestCase("NUMB = new Number('');NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number('');NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(Number.POSITIVE_INFINITY)).constructor", Number.prototype.constructor, (new Number(Number.POSITIVE_INFINITY)).constructor ); -new TestCase("typeof (new Number(Number.POSITIVE_INFINITY))", "object", typeof (new Number(Number.POSITIVE_INFINITY)) ); -new TestCase("(new Number(Number.POSITIVE_INFINITY)).valueOf()", Number.POSITIVE_INFINITY, (new Number(Number.POSITIVE_INFINITY)).valueOf() ); -new TestCase("NUMB = new Number(Number.POSITIVE_INFINITY);NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(Number.POSITIVE_INFINITY);NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -new TestCase("(new Number(Number.NEGATIVE_INFINITY)).constructor", Number.prototype.constructor, (new Number(Number.NEGATIVE_INFINITY)).constructor ); -new TestCase("typeof (new Number(Number.NEGATIVE_INFINITY))", "object", typeof (new Number(Number.NEGATIVE_INFINITY)) ); -new TestCase("(new Number(Number.NEGATIVE_INFINITY)).valueOf()", Number.NEGATIVE_INFINITY, (new Number(Number.NEGATIVE_INFINITY)).valueOf() ); -new TestCase("NUMB = new Number(Number.NEGATIVE_INFINITY);NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number(Number.NEGATIVE_INFINITY);NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - - -new TestCase("(new Number()).constructor", Number.prototype.constructor, (new Number()).constructor ); -new TestCase("typeof (new Number())", "object", typeof (new Number()) ); -new TestCase("(new Number()).valueOf()", 0, (new Number()).valueOf() ); -new TestCase("NUMB = new Number();NUMB.toString=Object.prototype.toString;NUMB.toString()", - "[object Number]", - eval("NUMB = new Number();NUMB.toString=Object.prototype.toString;NUMB.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.1-1.js b/js/src/tests/ecma/Number/15.7.3.1-1.js deleted file mode 100644 index f326b1698474..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.1-1.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.1-2.js - ECMA Section: 15.7.3.1 Number.prototype - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Number.prototype - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.1-1"; -var TITLE = "Number.prototype"; - -writeHeaderToLog( SECTION +" "+ TITLE); - -new TestCase("var NUM_PROT = Number.prototype; delete( Number.prototype ); NUM_PROT == Number.prototype", - true, - eval("var NUM_PROT = Number.prototype; delete( Number.prototype ); NUM_PROT == Number.prototype") ); - -new TestCase("delete( Number.prototype )", - false, - eval("delete( Number.prototype )") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.1-2.js b/js/src/tests/ecma/Number/15.7.3.1-2.js deleted file mode 100644 index da488e6d44cb..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.1-2.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.1-2.js - ECMA Section: 15.7.3.1 Number.prototype - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Number.prototype - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.1-2"; -var TITLE = "Number.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var NUM_PROT = Number.prototype; Number.prototype = null; Number.prototype == NUM_PROT", - true, - eval("var NUM_PROT = Number.prototype; Number.prototype = null; Number.prototype == NUM_PROT") ); - -new TestCase( "Number.prototype=0; Number.prototype", - Number.prototype, - eval("Number.prototype=0; Number.prototype") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.1-3.js b/js/src/tests/ecma/Number/15.7.3.1-3.js deleted file mode 100644 index dab4b1a864e9..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.1-3.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.1-4.js - ECMA Section: 15.7.3.1 Number.prototype - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontEnum attribute of Number.prototype - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.1-3"; -var TITLE = "Number.prototype"; - -writeHeaderToLog( SECTION + " Number.prototype: DontEnum Attribute"); - -new TestCase( - "var string = ''; for ( prop in Number ) { string += ( prop == 'prototype' ) ? prop: '' } string;", - "", - eval("var string = ''; for ( prop in Number ) { string += ( prop == 'prototype' ) ? prop : '' } string;") - ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.2-1.js b/js/src/tests/ecma/Number/15.7.3.2-1.js deleted file mode 100644 index 8b311b7729ae..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.2-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.2-1.js - ECMA Section: 15.7.3.2 Number.MAX_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the value of MAX_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.2-1"; -var TITLE = "Number.MAX_VALUE"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Number.MAX_VALUE", - 1.7976931348623157e308, - Number.MAX_VALUE ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.2-2.js b/js/src/tests/ecma/Number/15.7.3.2-2.js deleted file mode 100644 index 6d120253809d..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.2-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.2-2.js - ECMA Section: 15.7.3.2 Number.MAX_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Number.MAX_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.2-2"; -var TITLE = "Number.MAX_VALUE: DontDelete Attribute"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete( Number.MAX_VALUE ); Number.MAX_VALUE", - 1.7976931348623157e308, - eval("delete( Number.MAX_VALUE );Number.MAX_VALUE") ); - -new TestCase( "delete( Number.MAX_VALUE )", - false, - eval("delete( Number.MAX_VALUE )") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.2-3.js b/js/src/tests/ecma/Number/15.7.3.2-3.js deleted file mode 100644 index 303e06947abc..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.2-3.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.2-3.js - ECMA Section: 15.7.3.2 Number.MAX_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Number.MAX_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.2-3"; -var TITLE = "Number.MAX_VALUE"; - -writeHeaderToLog( SECTION + " "+ TITLE ); - -var MAX_VAL = 1.7976931348623157e308; - -new TestCase( "Number.MAX_VALUE=0; Number.MAX_VALUE", - MAX_VAL, - eval("Number.MAX_VALUE=0; Number.MAX_VALUE") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.2-4.js b/js/src/tests/ecma/Number/15.7.3.2-4.js deleted file mode 100644 index 7b1af718d3b2..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.2-4.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.2-4.js - ECMA Section: 15.7.3.2 Number.MAX_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontEnum attribute of Number.MAX_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.3.2-4"; -var TITLE = "Number.MAX_VALUE: DontEnum Attribute"; -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var string = ''; for ( prop in Number ) { string += ( prop == 'MAX_VALUE' ) ? prop : '' } string;", - "", - eval("var string = ''; for ( prop in Number ) { string += ( prop == 'MAX_VALUE' ) ? prop : '' } string;") - ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.3-1.js b/js/src/tests/ecma/Number/15.7.3.3-1.js deleted file mode 100644 index 9cf1038ee744..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.3-1.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.3-1.js - ECMA Section: 15.7.3.3 Number.MIN_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the value of Number.MIN_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.3-1"; -var TITLE = "Number.MIN_VALUE"; - -writeHeaderToLog( SECTION + " "+ TITLE ); - -var MIN_VAL = 5e-324; - -new TestCase( "Number.MIN_VALUE", - MIN_VAL, - Number.MIN_VALUE ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.3-2.js b/js/src/tests/ecma/Number/15.7.3.3-2.js deleted file mode 100644 index db1f696672e0..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.3-2.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.3-2.js - ECMA Section: 15.7.3.3 Number.MIN_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Number.MIN_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.3-2"; -var TITLE = "Number.MIN_VALUE"; - -writeHeaderToLog( SECTION + " "+ TITLE ); - -var MIN_VAL = 5e-324; - -new TestCase( "delete( Number.MIN_VALUE )", - false, - eval("delete( Number.MIN_VALUE )") ); - -new TestCase( "delete( Number.MIN_VALUE ); Number.MIN_VALUE", - MIN_VAL, - eval("delete( Number.MIN_VALUE );Number.MIN_VALUE") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.3-3.js b/js/src/tests/ecma/Number/15.7.3.3-3.js deleted file mode 100644 index 7dee0877e372..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.3-3.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.3-3.js - ECMA Section: 15.7.3.3 Number.MIN_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Number.MIN_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.3.3-3"; -var TITLE = "Number.MIN_VALUE: ReadOnly Attribute"; - -writeHeaderToLog( SECTION + " "+TITLE ); - -new TestCase( "Number.MIN_VALUE=0; Number.MIN_VALUE", - Number.MIN_VALUE, - eval("Number.MIN_VALUE=0; Number.MIN_VALUE" )); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.3-4.js b/js/src/tests/ecma/Number/15.7.3.3-4.js deleted file mode 100644 index 436105805672..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.3-4.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.3-4.js - ECMA Section: 15.7.3.3 Number.MIN_VALUE - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontEnum attribute of Number.MIN_VALUE - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.3-4"; - -writeHeaderToLog( SECTION + " Number.MIN_VALUE: DontEnum Attribute"); - -new TestCase( "var string = ''; for ( prop in Number ) { string += ( prop == 'MIN_VALUE' ) ? prop : '' } string;", - "", - eval("var string = ''; for ( prop in Number ) { string += ( prop == 'MIN_VALUE' ) ? prop : '' } string;") - ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.4-1.js b/js/src/tests/ecma/Number/15.7.3.4-1.js deleted file mode 100644 index c9506642a5d6..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.4-1.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.4-1.js - ECMA Section: 15.7.3.4 Number.NaN - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the value of Number.NaN - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.4-1"; -var TITLE = "Number.NaN"; - -writeHeaderToLog( SECTION + " "+ TITLE ); - -new TestCase("NaN", - NaN, - Number.NaN ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.4-2.js b/js/src/tests/ecma/Number/15.7.3.4-2.js deleted file mode 100644 index 0e05fa598178..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.4-2.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.4-2.js - ECMA Section: 15.7.3.4 Number.NaN - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Number.NaN - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.3.4-2"; -var TITLE = "Number.NaN"; - -writeHeaderToLog( SECTION + " "+ TITLE ); - -new TestCase("delete( Number.NaN ); Number.NaN", - NaN, - eval("delete( Number.NaN );Number.NaN" )); - -new TestCase( "delete( Number.NaN )", - false, - eval("delete( Number.NaN )") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.4-3.js b/js/src/tests/ecma/Number/15.7.3.4-3.js deleted file mode 100644 index ea706321fc8c..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.4-3.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.4-3.js - ECMA Section: 15.7.3.4 Number.NaN - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Number.NaN - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.4-3"; -var TITLE = "Number.NaN"; - -writeHeaderToLog( SECTION + " "+ TITLE ); - -new TestCase( "Number.NaN=0; Number.NaN", - Number.NaN, - eval("Number.NaN=0; Number.NaN") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.4-4.js b/js/src/tests/ecma/Number/15.7.3.4-4.js deleted file mode 100644 index d0ffa04f337b..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.4-4.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.4-4.js - ECMA Section: 15.7.3.4 Number.NaN - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontEnum attribute of Number.NaN - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.4-4"; -var TITLE = "Number.NaN"; - -writeHeaderToLog( SECTION + " " + TITLE); - -new TestCase( "var string = ''; for ( prop in Number ) { string += ( prop == 'NaN' ) ? prop : '' } string;", - "", - eval("var string = ''; for ( prop in Number ) { string += ( prop == 'NaN' ) ? prop : '' } string;") - ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.5-1.js b/js/src/tests/ecma/Number/15.7.3.5-1.js deleted file mode 100644 index edcdd9ab0d64..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.5-1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.5-1.js - ECMA Section: 15.7.3.5 Number.NEGATIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the value of Number.NEGATIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.3.5-1"; -var TITLE = "Number.NEGATIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase("Number.NEGATIVE_INFINITY", - -Infinity, - Number.NEGATIVE_INFINITY ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.5-2.js b/js/src/tests/ecma/Number/15.7.3.5-2.js deleted file mode 100644 index e4221f428a6d..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.5-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.5-2.js - ECMA Section: 15.7.3.5 Number.NEGATIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Number.NEGATIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.5-2"; -var TITLE = "Number.NEGATIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "delete( Number.NEGATIVE_INFINITY )", - false, - eval("delete( Number.NEGATIVE_INFINITY )") ); - -new TestCase( "delete( Number.NEGATIVE_INFINITY ); Number.NEGATIVE_INFINITY", - -Infinity, - eval("delete( Number.NEGATIVE_INFINITY );Number.NEGATIVE_INFINITY") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.5-3.js b/js/src/tests/ecma/Number/15.7.3.5-3.js deleted file mode 100644 index 16b0be4a7218..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.5-3.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.5-3.js - ECMA Section: 15.7.3.5 Number.NEGATIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Number.NEGATIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.5-3"; -var TITLE = "Number.NEGATIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "Number.NEGATIVE_INFINITY=0; Number.NEGATIVE_INFINITY", - -Infinity, - eval("Number.NEGATIVE_INFINITY=0; Number.NEGATIVE_INFINITY") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.5-4.js b/js/src/tests/ecma/Number/15.7.3.5-4.js deleted file mode 100644 index c8d6b6902ad0..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.5-4.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.5-4.js - ECMA Section: 15.7.3.5 Number.NEGATIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontEnum attribute of Number.NEGATIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.5-4"; -var TITLE = "Number.NEGATIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "var string = ''; for ( prop in Number ) { string += ( prop == 'NEGATIVE_INFINITY' ) ? prop : '' } string;", - "", - eval("var string = ''; for ( prop in Number ) { string += ( prop == 'NEGATIVE_INFINITY' ) ? prop : '' } string;") - ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.6-1.js b/js/src/tests/ecma/Number/15.7.3.6-1.js deleted file mode 100644 index f5befda0b1af..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.6-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.6-1.js - ECMA Section: 15.7.3.6 Number.POSITIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the value of Number.POSITIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.6-1"; -var TITLE = "Number.POSITIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "Number.POSITIVE_INFINITY", - Infinity, - Number.POSITIVE_INFINITY ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.6-2.js b/js/src/tests/ecma/Number/15.7.3.6-2.js deleted file mode 100644 index c23741bf00e1..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.6-2.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.6-2.js - ECMA Section: 15.7.3.6 Number.POSITIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontDelete attribute of Number.POSITIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.3.6-2"; -var TITLE = "Number.POSITIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase("delete( Number.POSITIVE_INFINITY )", - false, - eval("delete( Number.POSITIVE_INFINITY )") ); - -new TestCase("delete( Number.POSITIVE_INFINITY ); Number.POSITIVE_INFINITY", - Infinity, - eval("delete( Number.POSITIVE_INFINITY );Number.POSITIVE_INFINITY") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.6-3.js b/js/src/tests/ecma/Number/15.7.3.6-3.js deleted file mode 100644 index 000a826cf8f5..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.6-3.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.6-3.js - ECMA Section: 15.7.3.6 Number.POSITIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the ReadOnly attribute of Number.POSITIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ - -var SECTION = "15.7.3.6-3"; -var TITLE = "Number.POSITIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "Number.POSITIVE_INFINITY=0; Number.POSITIVE_INFINITY", - Number.POSITIVE_INFINITY, - eval("Number.POSITIVE_INFINITY=0; Number.POSITIVE_INFINITY") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.6-4.js b/js/src/tests/ecma/Number/15.7.3.6-4.js deleted file mode 100644 index 7d6f72602302..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.6-4.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.6-4.js - ECMA Section: 15.7.3.6 Number.POSITIVE_INFINITY - Description: All value properties of the Number object should have - the attributes [DontEnum, DontDelete, ReadOnly] - - this test checks the DontEnum attribute of Number.POSITIVE_INFINITY - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.3.6-4"; -var TITLE = "Number.POSITIVE_INFINITY"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "var string = ''; for ( prop in Number ) { string += ( prop == 'POSITIVE_INFINITY' ) ? prop : '' } string;", - "", - eval("var string = ''; for ( prop in Number ) { string += ( prop == 'POSITIVE_INFINITY' ) ? prop : '' } string;") - ); - - -test(); diff --git a/js/src/tests/ecma/Number/15.7.3.js b/js/src/tests/ecma/Number/15.7.3.js deleted file mode 100644 index 6d865732b312..000000000000 --- a/js/src/tests/ecma/Number/15.7.3.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.js - 15.7.3 Properties of the Number Constructor - - Description: The value of the internal [[Prototype]] property - of the Number constructor is the Function prototype - object. The Number constructor also has the internal - [[Call]] and [[Construct]] properties, and the length - property. - - Other properties are in subsequent tests. - - Author: christine@netscape.com - Date: 29 september 1997 -*/ - -var SECTION = "15.7.3"; -var TITLE = "Properties of the Number Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase("Number.length", - 1, - Number.length ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4-1.js b/js/src/tests/ecma/Number/15.7.4-1.js deleted file mode 100644 index 7fdd30427a1c..000000000000 --- a/js/src/tests/ecma/Number/15.7.4-1.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4-1.js - ECMA Section: 15.7.4.1 Properties of the Number Prototype Object - Description: - Author: christine@netscape.com - Date: 16 september 1997 -*/ - - -var SECTION = "15.7.4-1"; -writeHeaderToLog( SECTION + "Properties of the Number prototype object"); - -new TestCase("Number.prototype.valueOf()", 0, Number.prototype.valueOf() ); -new TestCase("typeof(Number.prototype)", "object", typeof(Number.prototype) ); -new TestCase("Number.prototype.constructor == Number", true, Number.prototype.constructor == Number ); -// new TestCase("Number.prototype == Number.__proto__", true, Number.prototype == Number.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.1.js b/js/src/tests/ecma/Number/15.7.4.1.js deleted file mode 100644 index 31c9a5058f79..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.1.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.1.js - ECMA Section: 15.7.4.1.1 Number.prototype.constructor - - Number.prototype.constructor is the built-in Number constructor. - - Description: - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.1"; -var TITLE = "Number.prototype.constructor"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "Number.prototype.constructor", - Number, - Number.prototype.constructor ); -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.2-1.js b/js/src/tests/ecma/Number/15.7.4.2-1.js deleted file mode 100644 index 8ba8ff8916aa..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.2-1.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.2.js - ECMA Section: 15.7.4.2.1 Number.prototype.toString() - Description: - If the radix is the number 10 or not supplied, then this number value is - given as an argument to the ToString operator; the resulting string value - is returned. - - If the radix is supplied and is an integer from 2 to 36, but not 10, the - result is a string, the choice of which is implementation dependent. - - The toString function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.2-1"; - -writeHeaderToLog( SECTION + " Number.prototype.toString()"); - -// the following two lines cause navigator to crash -- cmb 9/16/97 -new TestCase("Number.prototype.toString()", - "0", - eval("Number.prototype.toString()") ); - -new TestCase("typeof(Number.prototype.toString())", - "string", - eval("typeof(Number.prototype.toString())") ); - -new TestCase("s = Number.prototype.toString; o = new Number(); o.toString = s; o.toString()", - "0", - eval("s = Number.prototype.toString; o = new Number(); o.toString = s; o.toString()") ); - -new TestCase("s = Number.prototype.toString; o = new Number(1); o.toString = s; o.toString()", - "1", - eval("s = Number.prototype.toString; o = new Number(1); o.toString = s; o.toString()") ); - -new TestCase("s = Number.prototype.toString; o = new Number(-1); o.toString = s; o.toString()", - "-1", - eval("s = Number.prototype.toString; o = new Number(-1); o.toString = s; o.toString()") ); - -new TestCase("var MYNUM = new Number(255); MYNUM.toString(10)", - "255", - eval("var MYNUM = new Number(255); MYNUM.toString(10)") ); - -new TestCase("var MYNUM = new Number(Number.NaN); MYNUM.toString(10)", - "NaN", - eval("var MYNUM = new Number(Number.NaN); MYNUM.toString(10)") ); - -new TestCase("var MYNUM = new Number(Infinity); MYNUM.toString(10)", - "Infinity", - eval("var MYNUM = new Number(Infinity); MYNUM.toString(10)") ); - -new TestCase("var MYNUM = new Number(-Infinity); MYNUM.toString(10)", - "-Infinity", - eval("var MYNUM = new Number(-Infinity); MYNUM.toString(10)") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.2-2-n.js b/js/src/tests/ecma/Number/15.7.4.2-2-n.js deleted file mode 100644 index 8fb9f66e3ce9..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.2-2-n.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.2-2-n.js - ECMA Section: 15.7.4.2.1 Number.prototype.toString() - Description: - If the radix is the number 10 or not supplied, then this number value is - given as an argument to the ToString operator; the resulting string value - is returned. - - If the radix is supplied and is an integer from 2 to 36, but not 10, the - result is a string, the choice of which is implementation dependent. - - The toString function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.2-2-n"; - -writeHeaderToLog( SECTION + " Number.prototype.toString()"); - -DESCRIPTION = "o = new Object(); o.toString = Number.prototype.toString; o.toString()"; - -new TestCase( - "o = new Object(); o.toString = Number.prototype.toString; o.toString()", - "error", - eval("o = new Object(); o.toString = Number.prototype.toString; o.toString()") ); - -// new TestCase("o = new String(); o.toString = Number.prototype.toString; o.toString()", "error", eval("o = new String(); o.toString = Number.prototype.toString; o.toString()") ); -// new TestCase("o = 3; o.toString = Number.prototype.toString; o.toString()", "error", eval("o = 3; o.toString = Number.prototype.toString; o.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.2-3-n.js b/js/src/tests/ecma/Number/15.7.4.2-3-n.js deleted file mode 100644 index 0b75881c69f8..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.2-3-n.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.2-3-n.js - ECMA Section: 15.7.4.2.1 Number.prototype.toString() - Description: - If the radix is the number 10 or not supplied, then this number value is - given as an argument to the ToString operator; the resulting string value - is returned. - - If the radix is supplied and is an integer from 2 to 36, but not 10, the - result is a string, the choice of which is implementation dependent. - - The toString function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.2-3-n"; - -writeHeaderToLog( SECTION + " Number.prototype.toString()"); - -DESCRIPTION = "o = new String(); o.toString = Number.prototype.toString; o.toString()"; - -new TestCase( - "o = new String(); o.toString = Number.prototype.toString; o.toString()", - "error", - eval("o = new String(); o.toString = Number.prototype.toString; o.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.2-4.js b/js/src/tests/ecma/Number/15.7.4.2-4.js deleted file mode 100644 index 16c92f099c70..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.2-4.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.2-4.js - ECMA Section: 15.7.4.2.1 Number.prototype.toString() - Description: - If the radix is the number 10 or not supplied, then this number value is - given as an argument to the ToString operator; the resulting string value - is returned. - - If the radix is supplied and is an integer from 2 to 36, but not 10, the - result is a string, the choice of which is implementation dependent. - - The toString function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.2-4"; - -writeHeaderToLog( SECTION + " Number.prototype.toString()"); - -new TestCase( - "o = 3; o.toString = Number.prototype.toString; o.toString()", - "3", - eval("o = 3; o.toString = Number.prototype.toString; o.toString()") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.3-1.js b/js/src/tests/ecma/Number/15.7.4.3-1.js deleted file mode 100644 index fd459c61445b..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.3-1.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.3-1.js - ECMA Section: 15.7.4.3.1 Number.prototype.valueOf() - Description: - Returns this number value. - - The valueOf function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.3-1"; - - -writeHeaderToLog( SECTION + " Number.prototype.valueOf()"); - -// the following two line causes navigator to crash -- cmb 9/16/97 -new TestCase("Number.prototype.valueOf()", - 0, - eval("Number.prototype.valueOf()") ); - -new TestCase("(new Number(1)).valueOf()", - 1, - eval("(new Number(1)).valueOf()") ); - -new TestCase("(new Number(-1)).valueOf()", - -1, - eval("(new Number(-1)).valueOf()") ); - -new TestCase("(new Number(0)).valueOf()", - 0, - eval("(new Number(0)).valueOf()") ); - -new TestCase("(new Number(Number.POSITIVE_INFINITY)).valueOf()", - Number.POSITIVE_INFINITY, - eval("(new Number(Number.POSITIVE_INFINITY)).valueOf()") ); - -new TestCase("(new Number(Number.NaN)).valueOf()", - Number.NaN, - eval("(new Number(Number.NaN)).valueOf()") ); - -new TestCase("(new Number()).valueOf()", - 0, - eval("(new Number()).valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.3-2.js b/js/src/tests/ecma/Number/15.7.4.3-2.js deleted file mode 100644 index 2430abed4d9f..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.3-2.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.3-2.js - ECMA Section: 15.7.4.3.1 Number.prototype.valueOf() - Description: - Returns this number value. - - The valueOf function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.3-2"; - -writeHeaderToLog( SECTION + " Number.prototype.valueOf()"); - -new TestCase("v = Number.prototype.valueOf; num = 3; num.valueOf = v; num.valueOf()", - 3, - eval("v = Number.prototype.valueOf; num = 3; num.valueOf = v; num.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/Number/15.7.4.3-3-n.js b/js/src/tests/ecma/Number/15.7.4.3-3-n.js deleted file mode 100644 index fc4029952783..000000000000 --- a/js/src/tests/ecma/Number/15.7.4.3-3-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.3-3.js - ECMA Section: 15.7.4.3.1 Number.prototype.valueOf() - Description: - Returns this number value. - - The valueOf function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.7.4.3-3-n"; - -writeHeaderToLog( SECTION + " Number.prototype.valueOf()"); - -// new TestCase("v = Number.prototype.valueOf; num = 3; num.valueOf = v; num.valueOf()", "error", eval("v = Number.prototype.valueOf; num = 3; num.valueOf = v; num.valueOf()") ); - -DESCRIPTION = "v = Number.prototype.valueOf; o = new String('Infinity'); o.valueOf = v; o.valueOf()"; - -new TestCase("v = Number.prototype.valueOf; o = new String('Infinity'); o.valueOf = v; o.valueOf()", - "error", - eval("v = Number.prototype.valueOf; o = new String('Infinity'); o.valueOf = v; o.valueOf()") ); - -// new TestCase("v = Number.prototype.valueOf; o = new Object(); o.valueOf = v; o.valueOf()", "error", eval("v = Number.prototype.valueOf; o = new Object(); o.valueOf = v; o.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.1.1.js b/js/src/tests/ecma/ObjectObjects/15.2.1.1.js deleted file mode 100644 index f5df0c347bd5..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.1.1.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.1.1.js - ECMA Section: 15.2.1.1 The Object Constructor Called as a Function: - Object(value) - Description: When Object is called as a function rather than as a - constructor, the following steps are taken: - - 1. If value is null or undefined, create and return a - new object with no properties other than internal - properties exactly as if the object constructor - had been called on that same value (15.2.2.1). - 2. Return ToObject (value), whose rules are: - - undefined generate a runtime error - null generate a runtime error - boolean create a new Boolean object whose default - value is the value of the boolean. - number Create a new Number object whose default - value is the value of the number. - string Create a new String object whose default - value is the value of the string. - object Return the input argument (no conversion). - - Author: christine@netscape.com - Date: 17 july 1997 -*/ - -var SECTION = "15.2.1.1"; -var TITLE = "Object( value )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var NULL_OBJECT = Object(null); - -new TestCase( "Object(null).valueOf()", NULL_OBJECT, (NULL_OBJECT).valueOf() ); -new TestCase( "typeof Object(null)", "object", typeof (Object(null)) ); - -var UNDEFINED_OBJECT = Object( void 0 ); - -new TestCase( "Object(void 0).valueOf()", UNDEFINED_OBJECT, (UNDEFINED_OBJECT).valueOf() ); -new TestCase( "typeof Object(void 0)", "object", typeof (Object(void 0)) ); - -new TestCase( "Object(true).valueOf()", true, (Object(true)).valueOf() ); -new TestCase( "typeof Object(true)", "object", typeof Object(true) ); -new TestCase( "var MYOB = Object(true); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Boolean]", eval("var MYOB = Object(true); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(false).valueOf()", false, (Object(false)).valueOf() ); -new TestCase( "typeof Object(false)", "object", typeof Object(false) ); -new TestCase( "var MYOB = Object(false); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Boolean]", eval("var MYOB = Object(false); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(0).valueOf()", 0, (Object(0)).valueOf() ); -new TestCase( "typeof Object(0)", "object", typeof Object(0) ); -new TestCase( "var MYOB = Object(0); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(0); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(-0).valueOf()", -0, (Object(-0)).valueOf() ); -new TestCase( "typeof Object(-0)", "object", typeof Object(-0) ); -new TestCase( "var MYOB = Object(-0); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(-0); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(1).valueOf()", 1, (Object(1)).valueOf() ); -new TestCase( "typeof Object(1)", "object", typeof Object(1) ); -new TestCase( "var MYOB = Object(1); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(1); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(-1).valueOf()", -1, (Object(-1)).valueOf() ); -new TestCase( "typeof Object(-1)", "object", typeof Object(-1) ); -new TestCase( "var MYOB = Object(-1); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(-1); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(Number.MAX_VALUE).valueOf()", 1.7976931348623157e308, (Object(Number.MAX_VALUE)).valueOf() ); -new TestCase( "typeof Object(Number.MAX_VALUE)", "object", typeof Object(Number.MAX_VALUE) ); -new TestCase( "var MYOB = Object(Number.MAX_VALUE); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(Number.MAX_VALUE); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(Number.MIN_VALUE).valueOf()", 5e-324, (Object(Number.MIN_VALUE)).valueOf() ); -new TestCase( "typeof Object(Number.MIN_VALUE)", "object", typeof Object(Number.MIN_VALUE) ); -new TestCase( "var MYOB = Object(Number.MIN_VALUE); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(Number.MIN_VALUE); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(Number.POSITIVE_INFINITY).valueOf()", Number.POSITIVE_INFINITY, (Object(Number.POSITIVE_INFINITY)).valueOf() ); -new TestCase( "typeof Object(Number.POSITIVE_INFINITY)", "object", typeof Object(Number.POSITIVE_INFINITY) ); -new TestCase( "var MYOB = Object(Number.POSITIVE_INFINITY); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(Number.POSITIVE_INFINITY); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(Number.NEGATIVE_INFINITY).valueOf()", Number.NEGATIVE_INFINITY, (Object(Number.NEGATIVE_INFINITY)).valueOf() ); -new TestCase( "typeof Object(Number.NEGATIVE_INFINITY)", "object", typeof Object(Number.NEGATIVE_INFINITY) ); -new TestCase( "var MYOB = Object(Number.NEGATIVE_INFINITY); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(Number.NEGATIVE_INFINITY); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object(Number.NaN).valueOf()", Number.NaN, (Object(Number.NaN)).valueOf() ); -new TestCase( "typeof Object(Number.NaN)", "object", typeof Object(Number.NaN) ); -new TestCase( "var MYOB = Object(Number.NaN); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("var MYOB = Object(Number.NaN); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object('a string').valueOf()", "a string", (Object("a string")).valueOf() ); -new TestCase( "typeof Object('a string')", "object", typeof (Object("a string")) ); -new TestCase( "var MYOB = Object('a string'); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object String]", eval("var MYOB = Object('a string'); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object('').valueOf()", "", (Object("")).valueOf() ); -new TestCase( "typeof Object('')", "object", typeof (Object("")) ); -new TestCase( "var MYOB = Object(''); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object String]", eval("var MYOB = Object(''); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object('\\r\\t\\b\\n\\v\\f').valueOf()", "\r\t\b\n\v\f", (Object("\r\t\b\n\v\f")).valueOf() ); -new TestCase( "typeof Object('\\r\\t\\b\\n\\v\\f')", "object", typeof (Object("\\r\\t\\b\\n\\v\\f")) ); -new TestCase( "var MYOB = Object('\\r\\t\\b\\n\\v\\f'); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object String]", eval("var MYOB = Object('\\r\\t\\b\\n\\v\\f'); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "Object( '\\\'\\\"\\' ).valueOf()", "\'\"\\", (Object("\'\"\\")).valueOf() ); -new TestCase( "typeof Object( '\\\'\\\"\\' )", "object", typeof Object("\'\"\\") ); -// new TestCase( "var MYOB = Object( '\\\'\\\"\\' ); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object String]", eval("var MYOB = Object( '\\\'\\\"\\' ); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.1.2.js b/js/src/tests/ecma/ObjectObjects/15.2.1.2.js deleted file mode 100644 index 731f46f0653d..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.1.2.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.1.2.js - ECMA Section: 15.2.1.2 The Object Constructor Called as a Function: - Object(value) - Description: When Object is called as a function rather than as a - constructor, the following steps are taken: - - 1. If value is null or undefined, create and return a - new object with no proerties other than internal - properties exactly as if the object constructor - had been called on that same value (15.2.2.1). - 2. Return ToObject (value), whose rules are: - - undefined generate a runtime error - null generate a runtime error - boolean create a new Boolean object whose default - value is the value of the boolean. - number Create a new Number object whose default - value is the value of the number. - string Create a new String object whose default - value is the value of the string. - object Return the input argument (no conversion). - - Author: christine@netscape.com - Date: 17 july 1997 -*/ - -var SECTION = "15.2.1.2"; -var TITLE = "Object()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MYOB = Object(); - -new TestCase( "var MYOB = Object(); MYOB.valueOf()", MYOB, MYOB.valueOf() ); -new TestCase( "typeof Object()", "object", typeof (Object(null)) ); -new TestCase( "var MYOB = Object(); MYOB.toString()", "[object Object]", eval("var MYOB = Object(); MYOB.toString()") ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.2.1.js b/js/src/tests/ecma/ObjectObjects/15.2.2.1.js deleted file mode 100644 index 4f3da86a26d5..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.2.1.js +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.2.1.js - ECMA Section: 15.2.2.1 The Object Constructor: new Object( value ) - - 1.If the type of the value is not Object, go to step 4. - 2.If the value is a native ECMAScript object, do not create a new object; simply return value. - 3.If the value is a host object, then actions are taken and a result is returned in an - implementation-dependent manner that may depend on the host object. - 4.If the type of the value is String, return ToObject(value). - 5.If the type of the value is Boolean, return ToObject(value). - 6.If the type of the value is Number, return ToObject(value). - 7.(The type of the value must be Null or Undefined.) Create a new native ECMAScript object. - The [[Prototype]] property of the newly constructed object is set to the Object prototype object. - The [[Class]] property of the newly constructed object is set to "Object". - The newly constructed object has no [[Value]] property. - Return the newly created native object. - - Description: This does not test cases where the object is a host object. - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.2.2.1"; -var TITLE = "new Object( value )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "typeof new Object(null)", "object", typeof new Object(null) ); -new TestCase( "MYOB = new Object(null); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Object]", eval("MYOB = new Object(null); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "typeof new Object(void 0)", "object", typeof new Object(void 0) ); -new TestCase( "MYOB = new Object(new Object(void 0)); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Object]", eval("MYOB = new Object(new Object(void 0)); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); - -new TestCase( "typeof new Object('string')", "object", typeof new Object('string') ); -new TestCase( "MYOB = (new Object('string'); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object String]", eval("MYOB = new Object('string'); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object('string').valueOf()", "string", (new Object('string')).valueOf() ); - -new TestCase( "typeof new Object('')", "object", typeof new Object('') ); -new TestCase( "MYOB = (new Object(''); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object String]", eval("MYOB = new Object(''); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object('').valueOf()", "", (new Object('')).valueOf() ); - -new TestCase( "typeof new Object(Number.NaN)", "object", typeof new Object(Number.NaN) ); -new TestCase( "MYOB = (new Object(Number.NaN); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("MYOB = new Object(Number.NaN); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(Number.NaN).valueOf()", Number.NaN, (new Object(Number.NaN)).valueOf() ); - -new TestCase( "typeof new Object(0)", "object", typeof new Object(0) ); -new TestCase( "MYOB = (new Object(0); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("MYOB = new Object(0); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(0).valueOf()", 0, (new Object(0)).valueOf() ); - -new TestCase( "typeof new Object(-0)", "object", typeof new Object(-0) ); -new TestCase( "MYOB = (new Object(-0); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("MYOB = new Object(-0); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(-0).valueOf()", -0, (new Object(-0)).valueOf() ); - -new TestCase( "typeof new Object(1)", "object", typeof new Object(1) ); -new TestCase( "MYOB = (new Object(1); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("MYOB = new Object(1); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(1).valueOf()", 1, (new Object(1)).valueOf() ); - -new TestCase( "typeof new Object(-1)", "object", typeof new Object(-1) ); -new TestCase( "MYOB = (new Object(-1); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Number]", eval("MYOB = new Object(-1); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(-1).valueOf()", -1, (new Object(-1)).valueOf() ); - -new TestCase( "typeof new Object(true)", "object", typeof new Object(true) ); -new TestCase( "MYOB = (new Object(true); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Boolean]", eval("MYOB = new Object(true); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(true).valueOf()", true, (new Object(true)).valueOf() ); - -new TestCase( "typeof new Object(false)", "object", typeof new Object(false) ); -new TestCase( "MYOB = (new Object(false); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Boolean]", eval("MYOB = new Object(false); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(false).valueOf()", false, (new Object(false)).valueOf() ); - -new TestCase( "typeof new Object(Boolean())", "object", typeof new Object(Boolean()) ); -new TestCase( "MYOB = (new Object(Boolean()); MYOB.toString = Object.prototype.toString; MYOB.toString()", "[object Boolean]", eval("MYOB = new Object(Boolean()); MYOB.toString = Object.prototype.toString; MYOB.toString()") ); -new TestCase( "(new Object(Boolean()).valueOf()", Boolean(), (new Object(Boolean())).valueOf() ); - - -var myglobal = this; -var myobject = new Object( "my new object" ); -var myarray = new Array(); -var myboolean = new Boolean(); -var mynumber = new Number(); -var mystring = new String(); -var myobject = new Object(); -var myfunction = new Function( "x", "return x"); -var mymath = Math; - -new TestCase( "myglobal = new Object( this )", myglobal, new Object(this) ); -new TestCase( "myobject = new Object('my new object'); new Object(myobject)", myobject, new Object(myobject) ); -new TestCase( "myarray = new Array(); new Object(myarray)", myarray, new Object(myarray) ); -new TestCase( "myboolean = new Boolean(); new Object(myboolean)", myboolean, new Object(myboolean) ); -new TestCase( "mynumber = new Number(); new Object(mynumber)", mynumber, new Object(mynumber) ); -new TestCase( "mystring = new String9); new Object(mystring)", mystring, new Object(mystring) ); -new TestCase( "myobject = new Object(); new Object(mynobject)", myobject, new Object(myobject) ); -new TestCase( "myfunction = new Function(); new Object(myfunction)", myfunction, new Object(myfunction) ); -new TestCase( "mymath = Math; new Object(mymath)", mymath, new Object(mymath) ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.2.2.js b/js/src/tests/ecma/ObjectObjects/15.2.2.2.js deleted file mode 100644 index 20cc2ed04d8d..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.2.2.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.2.2.js - ECMA Section: 15.2.2.2 new Object() - Description: - - When the Object constructor is called with no argument, the following - step is taken: - - 1. Create a new native ECMAScript object. - The [[Prototype]] property of the newly constructed object is set to - the Object prototype object. - - The [[Class]] property of the newly constructed object is set - to "Object". - - The newly constructed object has no [[Value]] property. - - Return the newly created native object. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ -var SECTION = "15.2.2.2"; -var TITLE = "new Object()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "typeof new Object()", "object", typeof new Object() ); -new TestCase( "Object.prototype.toString()", "[object Object]", Object.prototype.toString() ); -new TestCase( "(new Object()).toString()", "[object Object]", (new Object()).toString() ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.3-1.js b/js/src/tests/ecma/ObjectObjects/15.2.3-1.js deleted file mode 100644 index 757bbe12ff68..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.3-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3-1.js - ECMA Section: 15.2.3 Properties of the Object Constructor - - Description: The value of the internal [[Prototype]] property of the - Object constructor is the Function prototype object. - - Besides the call and construct propreties and the length - property, the Object constructor has properties described - in 15.2.3.1. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.2.3"; - -writeHeaderToLog( SECTION + " Properties of the Object Constructor"); - -new TestCase( "Object.length", 1, Object.length ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.3.1-1.js b/js/src/tests/ecma/ObjectObjects/15.2.3.1-1.js deleted file mode 100644 index 326a9e460f6e..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.3.1-1.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3.1-1.js - ECMA Section: 15.2.3.1 Object.prototype - - Description: The initial value of Object.prototype is the built-in - Object prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete ReadOnly ] - - This tests the [DontEnum] property of Object.prototype - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.2.3.1-1"; -var TITLE = "Object.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var str = '';for ( p in Object ) { str += p; }; str", - "", - eval( "var str = ''; for ( p in Object ) { str += p; }; str" ) ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.3.1-2.js b/js/src/tests/ecma/ObjectObjects/15.2.3.1-2.js deleted file mode 100644 index 1fa779c61451..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.3.1-2.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3.1-2.js - ECMA Section: 15.2.3.1 Object.prototype - - Description: The initial value of Object.prototype is the built-in - Object prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete ReadOnly ] - - This tests the [DontDelete] property of Object.prototype - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.2.3.1-2"; -var TITLE = "Object.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete( Object.prototype )", - false, - eval("delete( Object.prototype )") ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.3.1-3.js b/js/src/tests/ecma/ObjectObjects/15.2.3.1-3.js deleted file mode 100644 index ce955c608df0..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.3.1-3.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3.1-3.js - ECMA Section: 15.2.3.1 Object.prototype - - Description: The initial value of Object.prototype is the built-in - Object prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete ReadOnly ] - - This tests the [ReadOnly] property of Object.prototype - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.2.3.1-3"; -var TITLE = "Object.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Object.prototype = null; Object.prototype", - Object.prototype, - eval("Object.prototype = null; Object.prototype")); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.3.1-4.js b/js/src/tests/ecma/ObjectObjects/15.2.3.1-4.js deleted file mode 100644 index 52cd79ab3f36..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.3.1-4.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3.1-4.js - ECMA Section: 15.2.3.1 Object.prototype - - Description: The initial value of Object.prototype is the built-in - Object prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete ReadOnly ] - - This tests the [DontDelete] property of Object.prototype - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.2.3.1-4"; -var TITLE = "Object.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete( Object.prototype ); Object.prototype", - Object.prototype, - eval("delete(Object.prototype); Object.prototype") ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.3.js b/js/src/tests/ecma/ObjectObjects/15.2.3.js deleted file mode 100644 index 19e078021f7f..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.3.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3.js - ECMA Section: 15.2.3 Properties of the Object Constructor - - Description: The value of the internal [[Prototype]] property of the - Object constructor is the Function prototype object. - - Besides the call and construct propreties and the length - property, the Object constructor has properties described - in 15.2.3.1. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.2.3"; -var TITLE = "Properties of the Object Constructor"; - -writeHeaderToLog( SECTION + " " + TITLE); - -// new TestCase( "Object.__proto__", Function.prototype, Object.__proto__ ); -new TestCase( "Object.length", 1, Object.length ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.4.1.js b/js/src/tests/ecma/ObjectObjects/15.2.4.1.js deleted file mode 100644 index 9b9b72c71064..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.4.1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.4.1.js - ECMA Section: 15.2.4 Object.prototype.constructor - - Description: The initial value of the Object.prototype.constructor - is the built-in Object constructor. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.2.4.1"; -var TITLE = "Object.prototype.constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Object.prototype.constructor", - Object, - Object.prototype.constructor ); - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.4.2.js b/js/src/tests/ecma/ObjectObjects/15.2.4.2.js deleted file mode 100644 index ca59bdcdb3db..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.4.2.js +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.4.2.js - ECMA Section: 15.2.4.2 Object.prototype.toString() - - Description: When the toString method is called, the following - steps are taken: - 1. Get the [[Class]] property of this object - 2. Call ToString( Result(1) ) - 3. Compute a string value by concatenating the three - strings "[object " + Result(2) + "]" - 4. Return Result(3). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.2.4.2"; -var TITLE = "Object.prototype.toString()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "(new Object()).toString()", "[object Object]", (new Object()).toString() ); - -new TestCase( "myvar = this; myvar.toString = Object.prototype.toString; myvar.toString()", - GLOBAL.replace(/ @ 0x[0-9a-fA-F]+ \(native @ 0x[0-9a-fA-F]+\)/, ''), - eval("myvar = this; myvar.toString = Object.prototype.toString; myvar.toString()") - ); - -new TestCase( "myvar = MyObject; myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Function]", - eval("myvar = MyObject; myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new MyObject( true ); myvar.toString = Object.prototype.toString; myvar.toString()", - '[object Object]', - eval("myvar = new MyObject( true ); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new Number(0); myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Number]", - eval("myvar = new Number(0); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new String(''); myvar.toString = Object.prototype.toString; myvar.toString()", - "[object String]", - eval("myvar = new String(''); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = Math; myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Math]", - eval("myvar = Math; myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new Function(); myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Function]", - eval("myvar = new Function(); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new Array(); myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Array]", - eval("myvar = new Array(); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new Boolean(); myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Boolean]", - eval("myvar = new Boolean(); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "myvar = new Date(); myvar.toString = Object.prototype.toString; myvar.toString()", - "[object Date]", - eval("myvar = new Date(); myvar.toString = Object.prototype.toString; myvar.toString()") ); - -new TestCase( "var MYVAR = new Object( this ); MYVAR.toString()", - GLOBAL.replace(/ @ 0x[0-9a-fA-F]+ \(native @ 0x[0-9a-fA-F]+\)/, ''), - eval("var MYVAR = new Object( this ); MYVAR.toString()") - ); - -new TestCase( "var MYVAR = new Object(); MYVAR.toString()", - "[object Object]", - eval("var MYVAR = new Object(); MYVAR.toString()") ); - -new TestCase( "var MYVAR = new Object(void 0); MYVAR.toString()", - "[object Object]", - eval("var MYVAR = new Object(void 0); MYVAR.toString()") ); - -new TestCase( "var MYVAR = new Object(null); MYVAR.toString()", - "[object Object]", - eval("var MYVAR = new Object(null); MYVAR.toString()") ); - - -function MyObject( value ) { - this.value = new Function( "return this.value" ); - this.toString = new Function ( "return this.value+''"); -} - -test(); diff --git a/js/src/tests/ecma/ObjectObjects/15.2.4.3.js b/js/src/tests/ecma/ObjectObjects/15.2.4.3.js deleted file mode 100644 index 44514965f680..000000000000 --- a/js/src/tests/ecma/ObjectObjects/15.2.4.3.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.4.3.js - ECMA Section: 15.2.4.3 Object.prototype.valueOf() - - Description: As a rule, the valueOf method for an object simply - returns the object; but if the object is a "wrapper" - for a host object, as may perhaps be created by the - Object constructor, then the contained host object - should be returned. - - This only covers native objects. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.2.4.3"; -var TITLE = "Object.prototype.valueOf()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var myarray = new Array(); -myarray.valueOf = Object.prototype.valueOf; -var myboolean = new Boolean(); -myboolean.valueOf = Object.prototype.valueOf; -var myfunction = new Function(); -myfunction.valueOf = Object.prototype.valueOf; -var myobject = new Object(); -myobject.valueOf = Object.prototype.valueOf; -var mymath = Math; -mymath.valueOf = Object.prototype.valueOf; -var mydate = new Date(); -mydate.valueOf = Object.prototype.valueOf; -var mynumber = new Number(); -mynumber.valueOf = Object.prototype.valueOf; -var mystring = new String(); -mystring.valueOf = Object.prototype.valueOf; - -new TestCase( "Object.prototype.valueOf.length", 0, Object.prototype.valueOf.length ); - -new TestCase( "myarray = new Array(); myarray.valueOf = Object.prototype.valueOf; myarray.valueOf()", - myarray, - myarray.valueOf() ); -new TestCase( "myboolean = new Boolean(); myboolean.valueOf = Object.prototype.valueOf; myboolean.valueOf()", - myboolean, - myboolean.valueOf() ); -new TestCase( "myfunction = new Function(); myfunction.valueOf = Object.prototype.valueOf; myfunction.valueOf()", - myfunction, - myfunction.valueOf() ); -new TestCase( "myobject = new Object(); myobject.valueOf = Object.prototype.valueOf; myobject.valueOf()", - myobject, - myobject.valueOf() ); -new TestCase( "mymath = Math; mymath.valueOf = Object.prototype.valueOf; mymath.valueOf()", - mymath, - mymath.valueOf() ); -new TestCase( "mynumber = new Number(); mynumber.valueOf = Object.prototype.valueOf; mynumber.valueOf()", - mynumber, - mynumber.valueOf() ); -new TestCase( "mystring = new String(); mystring.valueOf = Object.prototype.valueOf; mystring.valueOf()", - mystring, - mystring.valueOf() ); -new TestCase( "mydate = new Date(); mydate.valueOf = Object.prototype.valueOf; mydate.valueOf()", - mydate, - mydate.valueOf() ); - -test(); diff --git a/js/src/tests/ecma/README b/js/src/tests/ecma/README deleted file mode 100644 index 91f174ab610f..000000000000 --- a/js/src/tests/ecma/README +++ /dev/null @@ -1 +0,0 @@ -ECMA 262 Edition 1 diff --git a/js/src/tests/ecma/SourceText/6-1.js b/js/src/tests/ecma/SourceText/6-1.js deleted file mode 100644 index bdbb9c228728..000000000000 --- a/js/src/tests/ecma/SourceText/6-1.js +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 6-1.js - ECMA Section: Source Text - Description: - - ECMAScript source text is represented as a sequence of characters - representable using the Unicode version 2.0 character encoding. - - SourceCharacter :: - any Unicode character - - However, it is possible to represent every ECMAScript program using - only ASCII characters (which are equivalent to the first 128 Unicode - characters). Non-ASCII Unicode characters may appear only within comments - and string literals. In string literals, any Unicode character may also be - expressed as a Unicode escape sequence consisting of six ASCII characters, - namely \u plus four hexadecimal digits. Within a comment, such an escape - sequence is effectively ignored as part of the comment. Within a string - literal, the Unicode escape sequence contributes one character to the string - value of the literal. - - Note that ECMAScript differs from the Java programming language in the - behavior of Unicode escape sequences. In a Java program, if the Unicode escape - sequence \u000A, for example, occurs within a single-line comment, it is - interpreted as a line terminator (Unicode character 000A is line feed) and - therefore the next character is not part of the comment. Similarly, if the - Unicode escape sequence \u000A occurs within a string literal in a Java - program, it is likewise interpreted as a line terminator, which is not - allowed within a string literal-one must write \n instead of \u000A to - cause a line feed to be part of the string value of a string literal. In - an ECMAScript program, a Unicode escape sequence occurring within a comment - is never interpreted and therefore cannot contribute to termination of the - comment. Similarly, a Unicode escape sequence occurring within a string literal - in an ECMAScript program always contributes a character to the string value of - the literal and is never interpreted as a line terminator or as a quote mark - that might terminate the string literal. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "6-1"; -var TITLE = "Source Text"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var actual; - -actual = "PASSED"; -// \u000A actual = "FAILED!"; - -new TestCase( "// the following character should not be interpreted as a line terminator in a comment: \u000A", - 'PASSED', - actual ); - - -actual = 'PASSED'; -// the following character should noy be interpreted as a line terminator: \\n actual = "FAILED" - -new TestCase( "// the following character should not be interpreted as a line terminator in a comment: \\n 'FAILED'", - 'PASSED', - actual ); - - -actual = 'PASSED'; -// the following character should not be interpreted as a line terminator: \u000A actual = "FAILED" - -new TestCase( "// the following character should not be interpreted as a line terminator in a comment: \\u000A 'FAILED'", - 'PASSED', - actual ); - - -actual = 'PASSED'; -// the following character should not be interpreted as a line terminator: \n actual = 'FAILED' - -new TestCase( "// the following character should not be interpreted as a line terminator in a comment: \n 'PASSED'", - 'PASSED', - actual ); - - -actual = 'PASSED'; -// the following character should not be interpreted as a line terminator: \u000D actual = "FAILED" - -new TestCase( "// the following character should not be interpreted as a line terminator in a comment: u000D", - 'PASSED', - actual ); - - -test(); - diff --git a/js/src/tests/ecma/SourceText/6-2.js b/js/src/tests/ecma/SourceText/6-2.js deleted file mode 100644 index f6e82d12557d..000000000000 --- a/js/src/tests/ecma/SourceText/6-2.js +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 6-1.js - ECMA Section: Source Text - Description: - - ECMAScript source text is represented as a sequence of characters - representable using the Unicode version 2.0 character encoding. - - SourceCharacter :: - any Unicode character - - However, it is possible to represent every ECMAScript program using - only ASCII characters (which are equivalent to the first 128 Unicode - characters). Non-ASCII Unicode characters may appear only within comments - and string literals. In string literals, any Unicode character may also be - expressed as a Unicode escape sequence consisting of six ASCII characters, - namely \u plus four hexadecimal digits. Within a comment, such an escape - sequence is effectively ignored as part of the comment. Within a string - literal, the Unicode escape sequence contributes one character to the string - value of the literal. - - Note that ECMAScript differs from the Java programming language in the - behavior of Unicode escape sequences. In a Java program, if the Unicode escape - sequence \u000A, for example, occurs within a single-line comment, it is - interpreted as a line terminator (Unicode character 000A is line feed) and - therefore the next character is not part of the comment. Similarly, if the - Unicode escape sequence \u000A occurs within a string literal in a Java - program, it is likewise interpreted as a line terminator, which is not - allowed within a string literal-one must write \n instead of \u000A to - cause a line feed to be part of the string value of a string literal. In - an ECMAScript program, a Unicode escape sequence occurring within a comment - is never interpreted and therefore cannot contribute to termination of the - comment. Similarly, a Unicode escape sequence occurring within a string literal - in an ECMAScript program always contributes a character to the string value of - the literal and is never interpreted as a line terminator or as a quote mark - that might terminate the string literal. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "6-1"; -var TITLE = "Source Text"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// encoded quotes should not end a quote - -new TestCase( "var s = 'PAS\\u0022SED'; s", - "PAS\"SED", - eval("var s = 'PAS\\u0022SED'; s") ); - -new TestCase( 'var s = "PAS\\u0022SED"; s', - "PAS\"SED", - eval('var s = "PAS\\u0022SED"; s') ); - - -new TestCase( "var s = 'PAS\\u0027SED'; s", - "PAS\'SED", - eval("var s = 'PAS\\u0027SED'; s") ); - - -new TestCase( 'var s = "PAS\\u0027SED"; s', - "PAS\'SED", - eval('var s = "PAS\\u0027SED"; s') ); - -var s = "PAS\u0027SED"; - -new TestCase( 'var s="PAS\\u0027SED"; s', - "PAS\'SED", - s ); - -var s = "PAS\u0022SED"; - -new TestCase( 'var s = "PAS\\u0022SED"; s', - "PAS\"SED", - s ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.10-1.js b/js/src/tests/ecma/Statements/12.10-1.js deleted file mode 100644 index a1c00bc378e5..000000000000 --- a/js/src/tests/ecma/Statements/12.10-1.js +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.10-1.js - ECMA Section: 12.10 The with statement - Description: - WithStatement : - with ( Expression ) Statement - - The with statement adds a computed object to the front of the scope chain - of the current execution context, then executes a statement with this - augmented scope chain, then restores the scope chain. - - Semantics - - The production WithStatement : with ( Expression ) Statement is evaluated - as follows: - 1. Evaluate Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Add Result(3) to the front of the scope chain. - 5. Evaluate Statement using the augmented scope chain from step 4. - 6. Remove Result(3) from the front of the scope chain. - 7. Return Result(5). - - Discussion - Note that no matter how control leaves the embedded Statement, whether - normally or by some form of abrupt completion, the scope chain is always - restored to its former state. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "12.10-1"; -var TITLE = "The with statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// although the scope chain changes, the this value is immutable for a given -// execution context. - -new TestCase( - "with( new Number() ) { this +'' }", - GLOBAL, - eval("with( new Number() ) { this +'' }") ); - -// the object's functions and properties should override those of the -// global object. - -new TestCase( - "var MYOB = new WithObject(true); with (MYOB) { parseInt() }", - true, - eval("var MYOB = new WithObject(true); with (MYOB) { parseInt() }") ); - -new TestCase( - "var MYOB = new WithObject(false); with (MYOB) { NaN }", - false, - eval("var MYOB = new WithObject(false); with (MYOB) { NaN }") ); - -new TestCase( - "var MYOB = new WithObject(NaN); with (MYOB) { Infinity }", - Number.NaN, - eval("var MYOB = new WithObject(NaN); with (MYOB) { Infinity }") ); - -new TestCase( - "var MYOB = new WithObject(false); with (MYOB) { }; Infinity", - Number.POSITIVE_INFINITY, - eval("var MYOB = new WithObject(false); with (MYOB) { }; Infinity") ); - - -new TestCase( - "var MYOB = new WithObject(0); with (MYOB) { delete Infinity; Infinity }", - Number.POSITIVE_INFINITY, - eval("var MYOB = new WithObject(0); with (MYOB) { delete Infinity; Infinity }") ); - -// let us leave the with block via a break. - -new TestCase( - "var MYOB = new WithObject(0); while (true) { with (MYOB) { Infinity; break; } } Infinity", - Number.POSITIVE_INFINITY, - eval("var MYOB = new WithObject(0); while (true) { with (MYOB) { Infinity; break; } } Infinity") ); - - -test(); - -function WithObject( value ) { - this.prop1 = 1; - this.prop2 = new Boolean(true); - this.prop3 = "a string"; - this.value = value; - - // now we will override global functions - - this.parseInt = new Function( "return this.value" ); - this.NaN = value; - this.Infinity = value; - this.unescape = new Function( "return this.value" ); - this.escape = new Function( "return this.value" ); - this.eval = new Function( "return this.value" ); - this.parseFloat = new Function( "return this.value" ); - this.isNaN = new Function( "return this.value" ); - this.isFinite = new Function( "return this.value" ); -} diff --git a/js/src/tests/ecma/Statements/12.10.js b/js/src/tests/ecma/Statements/12.10.js deleted file mode 100644 index e8b127b7a8fe..000000000000 --- a/js/src/tests/ecma/Statements/12.10.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.10-1.js - ECMA Section: 12.10 The with statement - Description: - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.10-1"; -var TITLE = "The with statement"; - -writeHeaderToLog( SECTION +" "+ TITLE); - -new TestCase( "var x; with (7) x = valueOf(); typeof x;", - "number", - eval("var x; with(7) x = valueOf(); typeof x;") ); - -test(); diff --git a/js/src/tests/ecma/Statements/12.2-1.js b/js/src/tests/ecma/Statements/12.2-1.js deleted file mode 100644 index a810234ae1a3..000000000000 --- a/js/src/tests/ecma/Statements/12.2-1.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.2-1.js - ECMA Section: The variable statement - Description: - - If the variable statement occurs inside a FunctionDeclaration, the - variables are defined with function-local scope in that function, as - described in section 10.1.3. Otherwise, they are defined with global - scope, that is, they are created as members of the global object, as - described in section 0. Variables are created when the execution scope - is entered. A Block does not define a new execution scope. Only Program and - FunctionDeclaration produce a new scope. Variables are initialized to the - undefined value when created. A variable with an Initializer is assigned - the value of its AssignmentExpression when the VariableStatement is executed, - not when the variable is created. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "12.2-1"; -var TITLE = "The variable statement"; - -writeHeaderToLog( SECTION +" "+ TITLE); - -new TestCase( - "var x = 3; function f() { var a = x; var x = 23; return a; }; f()", - void 0, - eval("var x = 3; function f() { var a = x; var x = 23; return a; }; f()") ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.5-1.js b/js/src/tests/ecma/Statements/12.5-1.js deleted file mode 100644 index aacdc9251c89..000000000000 --- a/js/src/tests/ecma/Statements/12.5-1.js +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.5-1.js - ECMA Section: The if statement - Description: - - The production IfStatement : if ( Expression ) Statement else Statement - is evaluated as follows: - - 1.Evaluate Expression. - 2.Call GetValue(Result(1)). - 3.Call ToBoolean(Result(2)). - 4.If Result(3) is false, go to step 7. - 5.Evaluate the first Statement. - 6.Return Result(5). - 7.Evaluate the second Statement. - 8.Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - - -var SECTION = "12.5-1"; -var TITLE = "The if statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "var MYVAR; if ( true ) MYVAR='PASSED'; else MYVAR= 'FAILED';", - "PASSED", - eval("var MYVAR; if ( true ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); - -new TestCase( "var MYVAR; if ( false ) MYVAR='FAILED'; else MYVAR= 'PASSED';", - "PASSED", - eval("var MYVAR; if ( false ) MYVAR='FAILED'; else MYVAR= 'PASSED';") ); - -new TestCase( "var MYVAR; if ( new Boolean(true) ) MYVAR='PASSED'; else MYVAR= 'FAILED';", - "PASSED", - eval("var MYVAR; if ( new Boolean(true) ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); - -new TestCase( "var MYVAR; if ( new Boolean(false) ) MYVAR='PASSED'; else MYVAR= 'FAILED';", - "PASSED", - eval("var MYVAR; if ( new Boolean(false) ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); - -new TestCase( "var MYVAR; if ( 1 ) MYVAR='PASSED'; else MYVAR= 'FAILED';", - "PASSED", - eval("var MYVAR; if ( 1 ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); - -new TestCase( "var MYVAR; if ( 0 ) MYVAR='FAILED'; else MYVAR= 'PASSED';", - "PASSED", - eval("var MYVAR; if ( 0 ) MYVAR='FAILED'; else MYVAR= 'PASSED';") ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.5-2.js b/js/src/tests/ecma/Statements/12.5-2.js deleted file mode 100644 index 331af4e8311e..000000000000 --- a/js/src/tests/ecma/Statements/12.5-2.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.5-2.js - ECMA Section: The if statement - Description: - - The production IfStatement : if ( Expression ) Statement else Statement - is evaluated as follows: - - 1.Evaluate Expression. - 2.Call GetValue(Result(1)). - 3.Call ToBoolean(Result(2)). - 4.If Result(3) is false, go to step 7. - 5.Evaluate the first Statement. - 6.Return Result(5). - 7.Evaluate the second Statement. - 8.Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "12.5-2"; -var TITLE = "The if statement" ; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var MYVAR; if ( true ) MYVAR='PASSED'; MYVAR", - "PASSED", - eval("var MYVAR; if ( true ) MYVAR='PASSED'; MYVAR") ); - -new TestCase( "var MYVAR; if ( false ) MYVAR='FAILED'; MYVAR;", - "PASSED", - eval("var MYVAR=\"PASSED\"; if ( false ) MYVAR='FAILED'; MYVAR;") ); - -new TestCase( "var MYVAR; if ( new Boolean(true) ) MYVAR='PASSED'; MYVAR", - "PASSED", - eval("var MYVAR; if ( new Boolean(true) ) MYVAR='PASSED'; MYVAR") ); - -new TestCase( "var MYVAR; if ( new Boolean(false) ) MYVAR='PASSED'; MYVAR", - "PASSED", - eval("var MYVAR; if ( new Boolean(false) ) MYVAR='PASSED'; MYVAR") ); - -new TestCase( "var MYVAR; if ( 1 ) MYVAR='PASSED'; MYVAR", - "PASSED", - eval("var MYVAR; if ( 1 ) MYVAR='PASSED'; MYVAR") ); - -new TestCase( "var MYVAR; if ( 0 ) MYVAR='FAILED'; MYVAR;", - "PASSED", - eval("var MYVAR=\"PASSED\"; if ( 0 ) MYVAR='FAILED'; MYVAR;") ); - -test(); diff --git a/js/src/tests/ecma/Statements/12.6.1-1.js b/js/src/tests/ecma/Statements/12.6.1-1.js deleted file mode 100644 index 8d0d3bd848be..000000000000 --- a/js/src/tests/ecma/Statements/12.6.1-1.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.1-1.js - ECMA Section: The while statement - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "12.6.1-1"; -var TITLE = "The While statement"; -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "var MYVAR = 0; while( MYVAR++ < 100) { if ( MYVAR < 100 ) break; } MYVAR ", - 1, - eval("var MYVAR = 0; while( MYVAR++ < 100) { if ( MYVAR < 100 ) break; } MYVAR ")); - -new TestCase( "var MYVAR = 0; while( MYVAR++ < 100) { if ( MYVAR < 100 ) continue; else break; } MYVAR ", - 100, - eval("var MYVAR = 0; while( MYVAR++ < 100) { if ( MYVAR < 100 ) continue; else break; } MYVAR ")); - -new TestCase( "function MYFUN( arg1 ) { while ( arg1++ < 100 ) { if ( arg1 < 100 ) return arg1; } }; MYFUN(1)", - 2, - eval("function MYFUN( arg1 ) { while ( arg1++ < 100 ) { if ( arg1 < 100 ) return arg1; } }; MYFUN(1)")); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.2-1.js b/js/src/tests/ecma/Statements/12.6.2-1.js deleted file mode 100644 index 3e0cc7083081..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-1.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-1.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is not present - 3. third expression is not present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "12.6.2-1"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 99, testprogram() ); - -test(); - - -function testprogram() { - myVar = 0; - - for ( ; ; ) { - if ( ++myVar == 99 ) - break; - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-2.js b/js/src/tests/ecma/Statements/12.6.2-2.js deleted file mode 100644 index 2765e1d9d73b..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-2.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-2.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is not present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "12.6.2-2"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 99, testprogram() ); - -test(); - -function testprogram() { - myVar = 0; - - for ( ; ; myVar++ ) { - if ( myVar < 99 ) { - continue; - } else { - break; - } - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-3.js b/js/src/tests/ecma/Statements/12.6.2-3.js deleted file mode 100644 index 90750ef9dba2..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-3.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-3.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "12.6.2-3"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 100, testprogram() ); - -test(); - -function testprogram() { - myVar = 0; - - for ( ; myVar < 100 ; myVar++ ) { - continue; - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-4.js b/js/src/tests/ecma/Statements/12.6.2-4.js deleted file mode 100644 index 489c5d09b024..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-4.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-4.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "12.6.2-4"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 100, testprogram() ); - -test(); - -function testprogram() { - myVar = 0; - - for ( ; myVar < 100 ; myVar++ ) { - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-5.js b/js/src/tests/ecma/Statements/12.6.2-5.js deleted file mode 100644 index 215867571e31..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-5.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-5.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "12.6.2-5"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 99, testprogram() ); - -test(); - -function testprogram() { - myVar = 0; - - for ( ; myVar < 100 ; myVar++ ) { - if (myVar == 99) - break; - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-6.js b/js/src/tests/ecma/Statements/12.6.2-6.js deleted file mode 100644 index f71037c70df1..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-6.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-6.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is present. - 2. second expression is not present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "12.6.2-6"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 256, testprogram() ); - -test(); - -function testprogram() { - var myVar; - - for ( myVar=2; ; myVar *= myVar ) { - - if (myVar > 100) - break; - continue; - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-7.js b/js/src/tests/ecma/Statements/12.6.2-7.js deleted file mode 100644 index ec6b7f4c0b92..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-7.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-7.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is present. - 2. second expression is not present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "12.6.2-7"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 256, testprogram() ); - -test(); - -function testprogram() { - var myVar; - - for ( myVar=2; myVar < 100 ; myVar *= myVar ) { - - continue; - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-8.js b/js/src/tests/ecma/Statements/12.6.2-8.js deleted file mode 100644 index 95f12ca9e872..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-8.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-8.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is present. - 2. second expression is present - 3. third expression is present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "12.6.2-8"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "for statement", 256, testprogram() ); - -test(); - -function testprogram() { - var myVar; - - for ( myVar=2; myVar < 256; myVar *= myVar ) { - } - - return myVar; -} diff --git a/js/src/tests/ecma/Statements/12.6.2-9-n.js b/js/src/tests/ecma/Statements/12.6.2-9-n.js deleted file mode 100644 index b144f87aa0c0..000000000000 --- a/js/src/tests/ecma/Statements/12.6.2-9-n.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.2-9-n.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is not present - 3. third expression is not present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ - - -var SECTION = "12.6.2-9-n"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "for (i)"; - -new TestCase( "for (i)", - "error", - eval("for (i) { }") ); - -/* - for (i) { - } - -*/ -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-1.js b/js/src/tests/ecma/Statements/12.6.3-1.js deleted file mode 100644 index 053c63efd9b6..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-1.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - - Author: christine@netscape.com - Date: 11 september 1997 -*/ - -var SECTION = "12.6.3-1"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var x; Number.prototype.foo = 34; for ( j in 7 ) x = j; x", - "foo", - eval("var x; Number.prototype.foo = 34; for ( j in 7 ){x = j;} x") ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-10.js b/js/src/tests/ecma/Statements/12.6.3-10.js deleted file mode 100644 index 5f6458999fc2..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-10.js +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-10.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression (it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-10"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -var count = 0; -function f() { count++; return new Array("h","e","l","l","o"); } - -var result = ""; -for ( p in f() ) { result += f()[p] }; - -new TestCase( "count = 0; result = \"\"; "+ - "function f() { count++; return new Array(\"h\",\"e\",\"l\",\"l\",\"o\"); }"+ - "for ( p in f() ) { result += f()[p] }; count", - 6, - count ); - -new TestCase( "result", - "hello", - result ); - -// LeftHandSideExpression:NewExpression:MemberExpression [ Expression ] -// LeftHandSideExpression:NewExpression:MemberExpression . Identifier -// LeftHandSideExpression:NewExpression:new MemberExpression Arguments -// LeftHandSideExpression:NewExpression:PrimaryExpression:( Expression ) -// LeftHandSideExpression:CallExpression:MemberExpression Arguments -// LeftHandSideExpression:CallExpression Arguments -// LeftHandSideExpression:CallExpression [ Expression ] -// LeftHandSideExpression:CallExpression . Identifier - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-11.js b/js/src/tests/ecma/Statements/12.6.3-11.js deleted file mode 100644 index 68048f8a1424..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-11.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-11.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression (it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-11"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 5. Get the name of the next property of Result(3) that doesn't have the -// DontEnum attribute. If there is no such property, go to step 14. - -var result = ""; - -for ( p in Number ) { result += String(p) }; - -new TestCase( - "result = \"\"; for ( p in Number ) { result += String(p) };", - "", - result ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-12.js b/js/src/tests/ecma/Statements/12.6.3-12.js deleted file mode 100644 index b03b9f6f0cd7..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-12.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-12.js - ECMA Section: 12.6.3 The for...in Statement - Description: - - This is a regression test for http://bugzilla.mozilla.org/show_bug.cgi?id=9802. - - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression (it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-12"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "PASSED"; - -for ( aVar in this ) { - if (aVar == "aVar") { - result = "FAILED" - } -}; - -new TestCase( - "var result=''; for ( aVar in this ) { " + - "if (aVar == 'aVar') {return a failure}; result", - "PASSED", - result ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-19.js b/js/src/tests/ecma/Statements/12.6.3-19.js deleted file mode 100644 index 381460f1dfdc..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-19.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression (it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-4"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -var count = 0; -function f() { count++; return new Array("h","e","l","l","o"); } - -var result = ""; -for ( p in f() ) { result += f()[p] }; - -new TestCase( "count = 0; result = \"\"; "+ - "function f() { count++; return new Array(\"h\",\"e\",\"l\",\"l\",\"o\"); }"+ - "for ( p in f() ) { result += f()[p] }; count", - 6, - count ); - -new TestCase( "result", - "hello", - result ); - - - -// LeftHandSideExpression:NewExpression:MemberExpression [ Expression ] -// LeftHandSideExpression:NewExpression:MemberExpression . Identifier -// LeftHandSideExpression:NewExpression:new MemberExpression Arguments -// LeftHandSideExpression:NewExpression:PrimaryExpression:( Expression ) -// LeftHandSideExpression:CallExpression:MemberExpression Arguments -// LeftHandSideExpression:CallExpression Arguments -// LeftHandSideExpression:CallExpression [ Expression ] -// LeftHandSideExpression:CallExpression . Identifier - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-2.js b/js/src/tests/ecma/Statements/12.6.3-2.js deleted file mode 100644 index c70b6b89ba43..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-2.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-2.js - ECMA Section: 12.6.3 The for...in Statement - Description: Check the Boolean Object - - - Author: christine@netscape.com - Date: 11 september 1997 -*/ - -var SECTION = "12.6.3-2"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Boolean.prototype.foo = 34; for ( j in Boolean ) Boolean[j]", - 34, - eval("Boolean.prototype.foo = 34; for ( j in Boolean ) Boolean[j] ") ); - -test(); diff --git a/js/src/tests/ecma/Statements/12.6.3-3.js b/js/src/tests/ecma/Statements/12.6.3-3.js deleted file mode 100644 index 1ba04789bd66..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-3.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-3.js - ECMA Section: for..in loops - Description: - - This verifies the fix to - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=112156 - for..in should take general lvalue for first argument - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "12.6.3-3"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var o = {}; - -var result = ""; - -for ( o.a in [1,2,3] ) { result += String( [1,2,3][o.a] ); } - -new TestCase( "for ( o.a in [1,2,3] ) { result += String( [1,2,3][o.a] ); } result", - "123", - result ); - -test(); - diff --git a/js/src/tests/ecma/Statements/12.6.3-4.js b/js/src/tests/ecma/Statements/12.6.3-4.js deleted file mode 100644 index 2d9db782574e..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-4.js +++ /dev/null @@ -1,157 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression (it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-4"; -var TITLE = "The for..in statement"; -var BUGNUMBER="http://scopus.mcom.com/bugsplat/show_bug.cgi?id=344855"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -var o = new MyObject(); -var result = 0; - -for ( MyObject in o ) { - result += o[MyObject]; -} - -new TestCase( "for ( MyObject in o ) { result += o[MyObject] }", - 6, - result ); - -var result = 0; - -for ( value in o ) { - result += o[value]; -} - -new TestCase( "for ( value in o ) { result += o[value]", - 6, - result ); - -var value = "value"; -var result = 0; -for ( value in o ) { - result += o[value]; -} - -new TestCase( "value = \"value\"; for ( value in o ) { result += o[value]", - 6, - result ); - -var value = 0; -var result = 0; -for ( value in o ) { - result += o[value]; -} - -new TestCase( "value = 0; for ( value in o ) { result += o[value]", - 6, - result ); - -// this causes a segv - -var ob = { 0:"hello" }; -var result = 0; -for ( ob[0] in o ) { - result += o[ob[0]]; -} - -new TestCase( "ob = { 0:\"hello\" }; for ( ob[0] in o ) { result += o[ob[0]]", - 6, - result ); - -var result = 0; -for ( ob["0"] in o ) { - result += o[ob["0"]]; -} - -new TestCase( "value = 0; for ( ob[\"0\"] in o ) { result += o[o[\"0\"]]", - 6, - result ); - -var result = 0; -var ob = { value:"hello" }; -for ( ob[value] in o ) { - result += o[ob[value]]; -} - -new TestCase( "ob = { 0:\"hello\" }; for ( ob[value] in o ) { result += o[ob[value]]", - 6, - result ); - -var result = 0; -for ( ob["value"] in o ) { - result += o[ob["value"]]; -} - -new TestCase( "value = 0; for ( ob[\"value\"] in o ) { result += o[ob[\"value\"]]", - 6, - result ); - -var result = 0; -for ( ob.value in o ) { - result += o[ob.value]; -} - -new TestCase( "value = 0; for ( ob.value in o ) { result += o[ob.value]", - 6, - result ); - -// LeftHandSideExpression:NewExpression:MemberExpression [ Expression ] -// LeftHandSideExpression:NewExpression:MemberExpression . Identifier -// LeftHandSideExpression:NewExpression:new MemberExpression Arguments -// LeftHandSideExpression:NewExpression:PrimaryExpression:( Expression ) -// LeftHandSideExpression:CallExpression:MemberExpression Arguments -// LeftHandSideExpression:CallExpression Arguments -// LeftHandSideExpression:CallExpression [ Expression ] -// LeftHandSideExpression:CallExpression . Identifier - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma/Statements/12.6.3-5-n.js b/js/src/tests/ecma/Statements/12.6.3-5-n.js deleted file mode 100644 index 8e43a668ecc7..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-5-n.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-4"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -DESCRIPTION = "more than one member expression"; - -new TestCase( - "more than one member expression", - "error", - eval("var o = new MyObject(); var result = 0; for ( var i, p in this) { result += this[p]; }") ); - -/* - var o = new MyObject(); - var result = 0; - - for ( var i, p in this) { - result += this[p]; - } -*/ - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma/Statements/12.6.3-6-n.js b/js/src/tests/ecma/Statements/12.6.3-6-n.js deleted file mode 100644 index 004bde988060..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-6-n.js +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-4"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -DESCRIPTION = "bad left-hand side expression"; - -new TestCase( - "bad left-hand side expression", - "error", - eval("var o = new MyObject(); var result = 0; for ( this in o) { result += this[p]; }") ); -/* - var o = new MyObject(); - var result = 0; - - for ( this in o) { - result += this[p]; - } -*/ - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma/Statements/12.6.3-7-n.js b/js/src/tests/ecma/Statements/12.6.3-7-n.js deleted file mode 100644 index 13de4d7889c7..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-7-n.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-4"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -DESCRIPTION = "bad left-hand side expression"; - -new TestCase( - "bad left-hand side expression", - "error", - eval("var o = new MyObject(); var result = 0; for ( \"a\" in o) { result += this[p]; } ") ); - -/* - var o = new MyObject(); - var result = 0; - - for ( "a" in o) { - result += this[p]; - } -*/ - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma/Statements/12.6.3-8-n.js b/js/src/tests/ecma/Statements/12.6.3-8-n.js deleted file mode 100644 index 90170035e3c9..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-8-n.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-8-n.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-4"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -DESCRIPTION = "bad left-hand side expression"; - -new TestCase( - "bad left-hand side expression", - "error", - eval("var o = new MyObject(); var result = 0; for ( 1 in o) { result += this[p]; } ") ); - -/* - var o = new MyObject(); - var result = 0; - - for ( 1 in o) { - result += this[p]; - } -*/ - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma/Statements/12.6.3-9-n.js b/js/src/tests/ecma/Statements/12.6.3-9-n.js deleted file mode 100644 index 0c0723408c8e..000000000000 --- a/js/src/tests/ecma/Statements/12.6.3-9-n.js +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.6.3-9-n.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "12.6.3-9-n"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// for ( LeftHandSideExpression in Expression ) -// LeftHandSideExpression:NewExpression:MemberExpression - -DESCRIPTION = "object is not defined"; - -new TestCase( - "object is not defined", - "error", - eval("var o = new MyObject(); var result = 0; for ( var o in foo) { result += this[o]; } ") ); -/* - var o = new MyObject(); - var result = 0; - - for ( var o in foo) { - result += this[o]; - } -*/ - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma/Statements/12.7-1-n.js b/js/src/tests/ecma/Statements/12.7-1-n.js deleted file mode 100644 index 6ba3c7b0062a..000000000000 --- a/js/src/tests/ecma/Statements/12.7-1-n.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.7-1-n.js - ECMA Section: 12.7 The continue statement - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "12.7.1-n"; -var TITLE = "The continue statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "continue"; - -new TestCase( "continue", - "error", - eval("continue") ); - -test(); diff --git a/js/src/tests/ecma/Statements/12.8-1-n.js b/js/src/tests/ecma/Statements/12.8-1-n.js deleted file mode 100644 index bff60670e7dc..000000000000 --- a/js/src/tests/ecma/Statements/12.8-1-n.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.8-1-n.js - ECMA Section: 12.8 The break statement - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "12.8-1-n"; -var TITLE = "The break in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "break"; - -new TestCase( "break", - "error", - eval("break") ); - - -test(); - diff --git a/js/src/tests/ecma/Statements/12.9-1-n.js b/js/src/tests/ecma/Statements/12.9-1-n.js deleted file mode 100644 index 3a4c35dceb70..000000000000 --- a/js/src/tests/ecma/Statements/12.9-1-n.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.9-1-n.js - ECMA Section: 12.9 The return statement - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "12.9-1-n"; - -writeHeaderToLog( SECTION + " The return statement"); - -DESCRIPTION = "return"; - -new TestCase( "return", - "error", - eval("return") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.1.js b/js/src/tests/ecma/String/15.5.1.js deleted file mode 100644 index d6579b6f20b3..000000000000 --- a/js/src/tests/ecma/String/15.5.1.js +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.1.js - ECMA Section: 15.5.1 The String Constructor called as a Function - 15.5.1.1 String(value) - 15.5.1.2 String() - - Description: When String is called as a function rather than as - a constructor, it performs a type conversion. - - String(value) returns a string value (not a String - object) computed by ToString(value) - - String() returns the empty string "" - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.1"; -var TITLE = "The String Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String('string primitive')", "string primitive", String('string primitive') ); -new TestCase( "String(void 0)", "undefined", String( void 0) ); -new TestCase( "String(null)", "null", String( null ) ); -new TestCase( "String(true)", "true", String( true) ); -new TestCase( "String(false)", "false", String( false ) ); -new TestCase( "String(Boolean(true))", "true", String(Boolean(true)) ); -new TestCase( "String(Boolean(false))", "false", String(Boolean(false)) ); -new TestCase( "String(Boolean())", "false", String(Boolean(false)) ); -new TestCase( "String(new Array())", "", String( new Array()) ); -new TestCase( "String(new Array(1,2,3))", "1,2,3", String( new Array(1,2,3)) ); - - -new TestCase( "String( Number.NaN )", "NaN", String( Number.NaN ) ); -new TestCase( "String( 0 )", "0", String( 0 ) ); -new TestCase( "String( -0 )", "0", String( -0 ) ); -new TestCase( "String( Number.POSITIVE_INFINITY )", "Infinity", String( Number.POSITIVE_INFINITY ) ); -new TestCase( "String( Number.NEGATIVE_INFINITY )", "-Infinity", String( Number.NEGATIVE_INFINITY ) ); -new TestCase( "String( -1 )", "-1", String( -1 ) ); - -// cases in step 6: integers 1e21 > x >= 1 or -1 >= x > -1e21 - -new TestCase( "String( 1 )", "1", String( 1 ) ); -new TestCase( "String( 10 )", "10", String( 10 ) ); -new TestCase( "String( 100 )", "100", String( 100 ) ); -new TestCase( "String( 1000 )", "1000", String( 1000 ) ); -new TestCase( "String( 10000 )", "10000", String( 10000 ) ); -new TestCase( "String( 10000000000 )", "10000000000", String( 10000000000 ) ); -new TestCase( "String( 10000000000000000000 )", "10000000000000000000", String( 10000000000000000000 ) ); -new TestCase( "String( 100000000000000000000 )","100000000000000000000",String( 100000000000000000000 ) ); - -new TestCase( "String( 12345 )", "12345", String( 12345 ) ); -new TestCase( "String( 1234567890 )", "1234567890", String( 1234567890 ) ); - -new TestCase( "String( -1 )", "-1", String( -1 ) ); -new TestCase( "String( -10 )", "-10", String( -10 ) ); -new TestCase( "String( -100 )", "-100", String( -100 ) ); -new TestCase( "String( -1000 )", "-1000", String( -1000 ) ); -new TestCase( "String( -1000000000 )", "-1000000000", String( -1000000000 ) ); -new TestCase( "String( -1000000000000000 )", "-1000000000000000", String( -1000000000000000 ) ); -new TestCase( "String( -100000000000000000000 )", "-100000000000000000000", String( -100000000000000000000 ) ); -new TestCase( "String( -1000000000000000000000 )", "-1e+21", String( -1000000000000000000000 ) ); - -new TestCase( "String( -12345 )", "-12345", String( -12345 ) ); -new TestCase( "String( -1234567890 )", "-1234567890", String( -1234567890 ) ); - -// cases in step 7: numbers with a fractional component, 1e21> x >1 or -1 > x > -1e21, -new TestCase( "String( 1.0000001 )", "1.0000001", String( 1.0000001 ) ); - - -// cases in step 8: fractions between 1 > x > -1, exclusive of 0 and -0 - -// cases in step 9: numbers with 1 significant digit >= 1e+21 or <= 1e-6 - -new TestCase( "String( 1000000000000000000000 )", "1e+21", String( 1000000000000000000000 ) ); -new TestCase( "String( 10000000000000000000000 )", "1e+22", String( 10000000000000000000000 ) ); - -// cases in step 10: numbers with more than 1 significant digit >= 1e+21 or <= 1e-6 -new TestCase( "String( 1.2345 )", "1.2345", String( 1.2345)); -new TestCase( "String( 1.234567890 )", "1.23456789", String( 1.234567890 )); - -new TestCase( "String( .12345 )", "0.12345", String(.12345 ) ); -new TestCase( "String( .012345 )", "0.012345", String(.012345) ); -new TestCase( "String( .0012345 )", "0.0012345", String(.0012345) ); -new TestCase( "String( .00012345 )", "0.00012345", String(.00012345) ); -new TestCase( "String( .000012345 )", "0.000012345", String(.000012345) ); -new TestCase( "String( .0000012345 )", "0.0000012345", String(.0000012345) ); -new TestCase( "String( .00000012345 )", "1.2345e-7", String(.00000012345)); - -new TestCase( "String()", "", String() ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.2.js b/js/src/tests/ecma/String/15.5.2.js deleted file mode 100644 index 34ae48d93639..000000000000 --- a/js/src/tests/ecma/String/15.5.2.js +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.2.js - ECMA Section: 15.5.2 The String Constructor - 15.5.2.1 new String(value) - 15.5.2.2 new String() - - Description: When String is called as part of a new expression, it - is a constructor; it initializes the newly constructed - object. - - - The prototype property of the newly constructed - object is set to the original String prototype object, - the one that is the intial value of String.prototype - - The internal [[Class]] property of the object is "String" - - The value of the object is ToString(value). - - If no value is specified, its value is the empty string. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.2"; -var TITLE = "The String Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "typeof new String('string primitive')", "object", typeof new String('string primitive') ); -new TestCase( "var TESTSTRING = new String('string primitive'); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String('string primitive'); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String('string primitive')).valueOf()", 'string primitive', (new String('string primitive')).valueOf() ); -new TestCase( "(new String('string primitive')).substring", String.prototype.substring, (new String('string primitive')).substring ); - -new TestCase( "typeof new String(void 0)", "object", typeof new String(void 0) ); -new TestCase( "var TESTSTRING = new String(void 0); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(void 0); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String(void 0)).valueOf()", "undefined", (new String(void 0)).valueOf() ); -new TestCase( "(new String(void 0)).toString", String.prototype.toString, (new String(void 0)).toString ); - -new TestCase( "typeof new String(null)", "object", typeof new String(null) ); -new TestCase( "var TESTSTRING = new String(null); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(null); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String(null)).valueOf()", "null", (new String(null)).valueOf() ); -new TestCase( "(new String(null)).valueOf", String.prototype.valueOf, (new String(null)).valueOf ); - -new TestCase( "typeof new String(true)", "object", typeof new String(true) ); -new TestCase( "var TESTSTRING = new String(true); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(true); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String(true)).valueOf()", "true", (new String(true)).valueOf() ); -new TestCase( "(new String(true)).charAt", String.prototype.charAt, (new String(true)).charAt ); - -new TestCase( "typeof new String(false)", "object", typeof new String(false) ); -new TestCase( "var TESTSTRING = new String(false); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(false); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String(false)).valueOf()", "false", (new String(false)).valueOf() ); -new TestCase( "(new String(false)).charCodeAt", String.prototype.charCodeAt, (new String(false)).charCodeAt ); - -new TestCase( "typeof new String(new Boolean(true))", "object", typeof new String(new Boolean(true)) ); -new TestCase( "var TESTSTRING = new String(new Boolean(true)); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(new Boolean(true)); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String(new Boolean(true))).valueOf()", "true", (new String(new Boolean(true))).valueOf() ); -new TestCase( "(new String(new Boolean(true))).indexOf", String.prototype.indexOf, (new String(new Boolean(true))).indexOf ); - -new TestCase( "typeof new String()", "object", typeof new String() ); -new TestCase( "var TESTSTRING = new String(); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String()).valueOf()", '', (new String()).valueOf() ); -new TestCase( "(new String()).lastIndexOf", String.prototype.lastIndexOf, (new String()).lastIndexOf ); - -new TestCase( "typeof new String('')", "object", typeof new String('') ); -new TestCase( "var TESTSTRING = new String(''); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()", "[object String]", eval("var TESTSTRING = new String(''); TESTSTRING.toString=Object.prototype.toString;TESTSTRING.toString()") ); -new TestCase( "(new String('')).valueOf()", '', (new String('')).valueOf() ); -new TestCase( "(new String('')).split", String.prototype.split, (new String('')).split ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.1-1.js b/js/src/tests/ecma/String/15.5.3.1-1.js deleted file mode 100644 index 4c339ca178a1..000000000000 --- a/js/src/tests/ecma/String/15.5.3.1-1.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.1-1.js - ECMA Section: 15.5.3.1 Properties of the String Constructor - - Description: The initial value of String.prototype is the built-in - String prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete, ReadOnly] - - This tests the DontEnum attribute. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.3.1-1"; -var TITLE = "Properties of the String Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.length", 0, String.prototype.length ); - -new TestCase( "var str='';for ( p in String ) { if ( p == 'prototype' ) str += p; } str", - "", - eval("var str='';for ( p in String ) { if ( p == 'prototype' ) str += p; } str") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.1-2.js b/js/src/tests/ecma/String/15.5.3.1-2.js deleted file mode 100644 index 921706dd4f5b..000000000000 --- a/js/src/tests/ecma/String/15.5.3.1-2.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.1-2.js - ECMA Section: 15.5.3.1 Properties of the String Constructor - - Description: The initial value of String.prototype is the built-in - String prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete, ReadOnly] - - This tests the ReadOnly attribute. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.3.1-2"; -var TITLE = "Properties of the String Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype=null;String.prototype", - String.prototype, - eval("String.prototype=null;String.prototype") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.1-3.js b/js/src/tests/ecma/String/15.5.3.1-3.js deleted file mode 100644 index 403888e7499d..000000000000 --- a/js/src/tests/ecma/String/15.5.3.1-3.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.1-3.js - ECMA Section: 15.5.3.1 Properties of the String Constructor - - Description: The initial value of String.prototype is the built-in - String prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete, ReadOnly] - - This tests the DontDelete attribute. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.3.1-3"; -var TITLE = "Properties of the String Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete( String.prototype )", false, eval("delete ( String.prototype )") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.1-4.js b/js/src/tests/ecma/String/15.5.3.1-4.js deleted file mode 100644 index 61072a286e85..000000000000 --- a/js/src/tests/ecma/String/15.5.3.1-4.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.1-4.js - ECMA Section: 15.5.3.1 Properties of the String Constructor - - Description: The initial value of String.prototype is the built-in - String prototype object. - - This property shall have the attributes [ DontEnum, - DontDelete, ReadOnly] - - This tests the DontDelete attribute. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.3.1-4"; -var TITLE = "Properties of the String Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "delete( String.prototype );String.prototype", String.prototype, eval("delete ( String.prototype );String.prototype") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.2-1.js b/js/src/tests/ecma/String/15.5.3.2-1.js deleted file mode 100644 index 09a3529f58fa..000000000000 --- a/js/src/tests/ecma/String/15.5.3.2-1.js +++ /dev/null @@ -1,174 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.2-1.js - ECMA Section: 15.5.3.2 String.fromCharCode( char0, char1, ... ) - Description: Return a string value containing as many characters - as the number of arguments. Each argument specifies - one character of the resulting string, with the first - argument specifying the first character, and so on, - from left to right. An argument is converted to a - character by applying the operation ToUint16_t and - regarding the resulting 16bit integeras the Unicode - encoding of a character. If no arguments are supplied, - the result is the empty string. - - This test covers Basic Latin (range U+0020 - U+007F) - - Author: christine@netscape.com - Date: 2 october 1997 -*/ - -var SECTION = "15.5.3.2-1"; -var TITLE = "String.fromCharCode()"; - -new TestCase( "typeof String.fromCharCode", "function", typeof String.fromCharCode ); -new TestCase( "typeof String.prototype.fromCharCode", "undefined", typeof String.prototype.fromCharCode ); -new TestCase( "var x = new String(); typeof x.fromCharCode", "undefined", eval("var x = new String(); typeof x.fromCharCode") ); -new TestCase( "String.fromCharCode.length", 1, String.fromCharCode.length ); - -new TestCase( "String.fromCharCode()", "", String.fromCharCode() ); -new TestCase( "String.fromCharCode(0x0020)", " ", String.fromCharCode(0x0020) ); -new TestCase( "String.fromCharCode(0x0021)", "!", String.fromCharCode(0x0021) ); -new TestCase( "String.fromCharCode(0x0022)", "\"", String.fromCharCode(0x0022) ); -new TestCase( "String.fromCharCode(0x0023)", "#", String.fromCharCode(0x0023) ); -new TestCase( "String.fromCharCode(0x0024)", "$", String.fromCharCode(0x0024) ); -new TestCase( "String.fromCharCode(0x0025)", "%", String.fromCharCode(0x0025) ); -new TestCase( "String.fromCharCode(0x0026)", "&", String.fromCharCode(0x0026) ); -new TestCase( "String.fromCharCode(0x0027)", "\'", String.fromCharCode(0x0027) ); -new TestCase( "String.fromCharCode(0x0028)", "(", String.fromCharCode(0x0028) ); -new TestCase( "String.fromCharCode(0x0029)", ")", String.fromCharCode(0x0029) ); -new TestCase( "String.fromCharCode(0x002A)", "*", String.fromCharCode(0x002A) ); -new TestCase( "String.fromCharCode(0x002B)", "+", String.fromCharCode(0x002B) ); -new TestCase( "String.fromCharCode(0x002C)", ",", String.fromCharCode(0x002C) ); -new TestCase( "String.fromCharCode(0x002D)", "-", String.fromCharCode(0x002D) ); -new TestCase( "String.fromCharCode(0x002E)", ".", String.fromCharCode(0x002E) ); -new TestCase( "String.fromCharCode(0x002F)", "/", String.fromCharCode(0x002F) ); - -new TestCase( "String.fromCharCode(0x0030)", "0", String.fromCharCode(0x0030) ); -new TestCase( "String.fromCharCode(0x0031)", "1", String.fromCharCode(0x0031) ); -new TestCase( "String.fromCharCode(0x0032)", "2", String.fromCharCode(0x0032) ); -new TestCase( "String.fromCharCode(0x0033)", "3", String.fromCharCode(0x0033) ); -new TestCase( "String.fromCharCode(0x0034)", "4", String.fromCharCode(0x0034) ); -new TestCase( "String.fromCharCode(0x0035)", "5", String.fromCharCode(0x0035) ); -new TestCase( "String.fromCharCode(0x0036)", "6", String.fromCharCode(0x0036) ); -new TestCase( "String.fromCharCode(0x0037)", "7", String.fromCharCode(0x0037) ); -new TestCase( "String.fromCharCode(0x0038)", "8", String.fromCharCode(0x0038) ); -new TestCase( "String.fromCharCode(0x0039)", "9", String.fromCharCode(0x0039) ); -new TestCase( "String.fromCharCode(0x003A)", ":", String.fromCharCode(0x003A) ); -new TestCase( "String.fromCharCode(0x003B)", ";", String.fromCharCode(0x003B) ); -new TestCase( "String.fromCharCode(0x003C)", "<", String.fromCharCode(0x003C) ); -new TestCase( "String.fromCharCode(0x003D)", "=", String.fromCharCode(0x003D) ); -new TestCase( "String.fromCharCode(0x003E)", ">", String.fromCharCode(0x003E) ); -new TestCase( "String.fromCharCode(0x003F)", "?", String.fromCharCode(0x003F) ); - -new TestCase( "String.fromCharCode(0x0040)", "@", String.fromCharCode(0x0040) ); -new TestCase( "String.fromCharCode(0x0041)", "A", String.fromCharCode(0x0041) ); -new TestCase( "String.fromCharCode(0x0042)", "B", String.fromCharCode(0x0042) ); -new TestCase( "String.fromCharCode(0x0043)", "C", String.fromCharCode(0x0043) ); -new TestCase( "String.fromCharCode(0x0044)", "D", String.fromCharCode(0x0044) ); -new TestCase( "String.fromCharCode(0x0045)", "E", String.fromCharCode(0x0045) ); -new TestCase( "String.fromCharCode(0x0046)", "F", String.fromCharCode(0x0046) ); -new TestCase( "String.fromCharCode(0x0047)", "G", String.fromCharCode(0x0047) ); -new TestCase( "String.fromCharCode(0x0048)", "H", String.fromCharCode(0x0048) ); -new TestCase( "String.fromCharCode(0x0049)", "I", String.fromCharCode(0x0049) ); -new TestCase( "String.fromCharCode(0x004A)", "J", String.fromCharCode(0x004A) ); -new TestCase( "String.fromCharCode(0x004B)", "K", String.fromCharCode(0x004B) ); -new TestCase( "String.fromCharCode(0x004C)", "L", String.fromCharCode(0x004C) ); -new TestCase( "String.fromCharCode(0x004D)", "M", String.fromCharCode(0x004D) ); -new TestCase( "String.fromCharCode(0x004E)", "N", String.fromCharCode(0x004E) ); -new TestCase( "String.fromCharCode(0x004F)", "O", String.fromCharCode(0x004F) ); - -new TestCase( "String.fromCharCode(0x0040)", "@", String.fromCharCode(0x0040) ); -new TestCase( "String.fromCharCode(0x0041)", "A", String.fromCharCode(0x0041) ); -new TestCase( "String.fromCharCode(0x0042)", "B", String.fromCharCode(0x0042) ); -new TestCase( "String.fromCharCode(0x0043)", "C", String.fromCharCode(0x0043) ); -new TestCase( "String.fromCharCode(0x0044)", "D", String.fromCharCode(0x0044) ); -new TestCase( "String.fromCharCode(0x0045)", "E", String.fromCharCode(0x0045) ); -new TestCase( "String.fromCharCode(0x0046)", "F", String.fromCharCode(0x0046) ); -new TestCase( "String.fromCharCode(0x0047)", "G", String.fromCharCode(0x0047) ); -new TestCase( "String.fromCharCode(0x0048)", "H", String.fromCharCode(0x0048) ); -new TestCase( "String.fromCharCode(0x0049)", "I", String.fromCharCode(0x0049) ); -new TestCase( "String.fromCharCode(0x004A)", "J", String.fromCharCode(0x004A) ); -new TestCase( "String.fromCharCode(0x004B)", "K", String.fromCharCode(0x004B) ); -new TestCase( "String.fromCharCode(0x004C)", "L", String.fromCharCode(0x004C) ); -new TestCase( "String.fromCharCode(0x004D)", "M", String.fromCharCode(0x004D) ); -new TestCase( "String.fromCharCode(0x004E)", "N", String.fromCharCode(0x004E) ); -new TestCase( "String.fromCharCode(0x004F)", "O", String.fromCharCode(0x004F) ); - -new TestCase( "String.fromCharCode(0x0050)", "P", String.fromCharCode(0x0050) ); -new TestCase( "String.fromCharCode(0x0051)", "Q", String.fromCharCode(0x0051) ); -new TestCase( "String.fromCharCode(0x0052)", "R", String.fromCharCode(0x0052) ); -new TestCase( "String.fromCharCode(0x0053)", "S", String.fromCharCode(0x0053) ); -new TestCase( "String.fromCharCode(0x0054)", "T", String.fromCharCode(0x0054) ); -new TestCase( "String.fromCharCode(0x0055)", "U", String.fromCharCode(0x0055) ); -new TestCase( "String.fromCharCode(0x0056)", "V", String.fromCharCode(0x0056) ); -new TestCase( "String.fromCharCode(0x0057)", "W", String.fromCharCode(0x0057) ); -new TestCase( "String.fromCharCode(0x0058)", "X", String.fromCharCode(0x0058) ); -new TestCase( "String.fromCharCode(0x0059)", "Y", String.fromCharCode(0x0059) ); -new TestCase( "String.fromCharCode(0x005A)", "Z", String.fromCharCode(0x005A) ); -new TestCase( "String.fromCharCode(0x005B)", "[", String.fromCharCode(0x005B) ); -new TestCase( "String.fromCharCode(0x005C)", "\\", String.fromCharCode(0x005C) ); -new TestCase( "String.fromCharCode(0x005D)", "]", String.fromCharCode(0x005D) ); -new TestCase( "String.fromCharCode(0x005E)", "^", String.fromCharCode(0x005E) ); -new TestCase( "String.fromCharCode(0x005F)", "_", String.fromCharCode(0x005F) ); - -new TestCase( "String.fromCharCode(0x0060)", "`", String.fromCharCode(0x0060) ); -new TestCase( "String.fromCharCode(0x0061)", "a", String.fromCharCode(0x0061) ); -new TestCase( "String.fromCharCode(0x0062)", "b", String.fromCharCode(0x0062) ); -new TestCase( "String.fromCharCode(0x0063)", "c", String.fromCharCode(0x0063) ); -new TestCase( "String.fromCharCode(0x0064)", "d", String.fromCharCode(0x0064) ); -new TestCase( "String.fromCharCode(0x0065)", "e", String.fromCharCode(0x0065) ); -new TestCase( "String.fromCharCode(0x0066)", "f", String.fromCharCode(0x0066) ); -new TestCase( "String.fromCharCode(0x0067)", "g", String.fromCharCode(0x0067) ); -new TestCase( "String.fromCharCode(0x0068)", "h", String.fromCharCode(0x0068) ); -new TestCase( "String.fromCharCode(0x0069)", "i", String.fromCharCode(0x0069) ); -new TestCase( "String.fromCharCode(0x006A)", "j", String.fromCharCode(0x006A) ); -new TestCase( "String.fromCharCode(0x006B)", "k", String.fromCharCode(0x006B) ); -new TestCase( "String.fromCharCode(0x006C)", "l", String.fromCharCode(0x006C) ); -new TestCase( "String.fromCharCode(0x006D)", "m", String.fromCharCode(0x006D) ); -new TestCase( "String.fromCharCode(0x006E)", "n", String.fromCharCode(0x006E) ); -new TestCase( "String.fromCharCode(0x006F)", "o", String.fromCharCode(0x006F) ); - -new TestCase( "String.fromCharCode(0x0070)", "p", String.fromCharCode(0x0070) ); -new TestCase( "String.fromCharCode(0x0071)", "q", String.fromCharCode(0x0071) ); -new TestCase( "String.fromCharCode(0x0072)", "r", String.fromCharCode(0x0072) ); -new TestCase( "String.fromCharCode(0x0073)", "s", String.fromCharCode(0x0073) ); -new TestCase( "String.fromCharCode(0x0074)", "t", String.fromCharCode(0x0074) ); -new TestCase( "String.fromCharCode(0x0075)", "u", String.fromCharCode(0x0075) ); -new TestCase( "String.fromCharCode(0x0076)", "v", String.fromCharCode(0x0076) ); -new TestCase( "String.fromCharCode(0x0077)", "w", String.fromCharCode(0x0077) ); -new TestCase( "String.fromCharCode(0x0078)", "x", String.fromCharCode(0x0078) ); -new TestCase( "String.fromCharCode(0x0079)", "y", String.fromCharCode(0x0079) ); -new TestCase( "String.fromCharCode(0x007A)", "z", String.fromCharCode(0x007A) ); -new TestCase( "String.fromCharCode(0x007B)", "{", String.fromCharCode(0x007B) ); -new TestCase( "String.fromCharCode(0x007C)", "|", String.fromCharCode(0x007C) ); -new TestCase( "String.fromCharCode(0x007D)", "}", String.fromCharCode(0x007D) ); -new TestCase( "String.fromCharCode(0x007E)", "~", String.fromCharCode(0x007E) ); -// new TestCase( "String.fromCharCode(0x0020, 0x007F)", "", String.fromCharCode(0x0040, 0x007F) ); - -new TestCase( "String.fromCharCode(<2 args>)", "ab", String.fromCharCode(97,98)); -new TestCase( "String.fromCharCode(<3 args>)", "abc", String.fromCharCode(97,98,99)); -new TestCase( "String.fromCharCode(<4 args>)", "abcd", String.fromCharCode(97,98,99,100)); -new TestCase( "String.fromCharCode(<5 args>)", "abcde", String.fromCharCode(97,98,99,100,101)); -new TestCase( "String.fromCharCode(<6 args>)", "abcdef", String.fromCharCode(97,98,99,100,101,102)); -new TestCase( "String.fromCharCode(<7 args>)", "abcdefg", String.fromCharCode(97,98,99,100,101,102,103)); -new TestCase( "String.fromCharCode(<8 args>)", "abcdefgh", String.fromCharCode(97,98,99,100,101,102,103,104)); -new TestCase( "String.fromCharCode(<9 args>)", "abcdefghi", String.fromCharCode(97,98,99,100,101,102,103,104,105)); -new TestCase( "String.fromCharCode(<10 args>)", "abcdefghij", String.fromCharCode(97,98,99,100,101,102,103,104,105,106)); -new TestCase( "String.fromCharCode(<11 args>)", "abcdefghijk", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107)); -new TestCase( "String.fromCharCode(<12 args>)", "abcdefghijkl", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108)); -new TestCase( "String.fromCharCode(<13 args>)", "abcdefghijklm", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109)); -new TestCase( "String.fromCharCode(<14 args>)", "abcdefghijklmn", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110)); -new TestCase( "String.fromCharCode(<15 args>)", "abcdefghijklmno", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111)); -new TestCase( "String.fromCharCode(<16 args>)", "abcdefghijklmnop", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112)); -new TestCase( "String.fromCharCode(<17 args>)", "abcdefghijklmnopq", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113)); -new TestCase( "String.fromCharCode(<18 args>)", "abcdefghijklmnopqr", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114)); -new TestCase( "String.fromCharCode(<19 args>)", "abcdefghijklmnopqrs", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115)); -new TestCase( "String.fromCharCode(<20 args>)", "abcdefghijklmnopqrst", String.fromCharCode(97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116)); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.2-2.js b/js/src/tests/ecma/String/15.5.3.2-2.js deleted file mode 100644 index dcb2cfd14339..000000000000 --- a/js/src/tests/ecma/String/15.5.3.2-2.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.2-2.js - ECMA Section: 15.5.3.2 String.fromCharCode( char0, char1, ... ) - Description: Return a string value containing as many characters - as the number of arguments. Each argument specifies - one character of the resulting string, with the first - argument specifying the first character, and so on, - from left to right. An argument is converted to a - character by applying the operation ToUint16_t and - regarding the resulting 16bit integeras the Unicode - encoding of a character. If no arguments are supplied, - the result is the empty string. - - This tests String.fromCharCode with multiple arguments. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ - -var SECTION = "15.5.3.2-2"; -var TITLE = "String.fromCharCode()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var MYSTRING = String.fromCharCode(eval(\"var args=''; for ( i = 0x0020; i < 0x007f; i++ ) { args += ( i == 0x007e ) ? i : i + ', '; } args;\")); MYSTRING", - " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~", - eval( "var MYSTRING = String.fromCharCode(" + eval("var args=''; for ( i = 0x0020; i < 0x007f; i++ ) { args += ( i == 0x007e ) ? i : i + ', '; } args;") +"); MYSTRING" )); - -new TestCase( "MYSTRING.length", - 0x007f - 0x0020, - MYSTRING.length ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.3.2-3.js b/js/src/tests/ecma/String/15.5.3.2-3.js deleted file mode 100644 index aeb51b901b97..000000000000 --- a/js/src/tests/ecma/String/15.5.3.2-3.js +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.2-1.js - ECMA Section: 15.5.3.2 String.fromCharCode( char0, char1, ... ) - Description: Return a string value containing as many characters - as the number of arguments. Each argument specifies - one character of the resulting string, with the first - argument specifying the first character, and so on, - from left to right. An argument is converted to a - character by applying the operation ToUint16_t and - regarding the resulting 16bit integeras the Unicode - encoding of a character. If no arguments are supplied, - the result is the empty string. - - This test covers Basic Latin (range U+0020 - U+007F) - - Author: christine@netscape.com - Date: 2 october 1997 -*/ - -var SECTION = "15.5.3.2-3"; -var TITLE = "String.fromCharCode()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -for ( CHARCODE = 0; CHARCODE < 256; CHARCODE++ ) { - new TestCase( "(String.fromCharCode(" + CHARCODE +")).charCodeAt(0)", - ToUint16(CHARCODE), - (String.fromCharCode(CHARCODE)).charCodeAt(0) - ); -} -for ( CHARCODE = 256; CHARCODE < 65536; CHARCODE+=333 ) { - new TestCase( "(String.fromCharCode(" + CHARCODE +")).charCodeAt(0)", - ToUint16(CHARCODE), - (String.fromCharCode(CHARCODE)).charCodeAt(0) - ); -} -for ( CHARCODE = 65535; CHARCODE < 65538; CHARCODE++ ) { - new TestCase( "(String.fromCharCode(" + CHARCODE +")).charCodeAt(0)", - ToUint16(CHARCODE), - (String.fromCharCode(CHARCODE)).charCodeAt(0) - ); -} -for ( CHARCODE = Math.pow(2,32)-1; CHARCODE < Math.pow(2,32)+1; CHARCODE++ ) { - new TestCase( "(String.fromCharCode(" + CHARCODE +")).charCodeAt(0)", - ToUint16(CHARCODE), - (String.fromCharCode(CHARCODE)).charCodeAt(0) - ); -} -for ( CHARCODE = 0; CHARCODE > -65536; CHARCODE-=3333 ) { - new TestCase( "(String.fromCharCode(" + CHARCODE +")).charCodeAt(0)", - ToUint16(CHARCODE), - (String.fromCharCode(CHARCODE)).charCodeAt(0) - ); -} -new TestCase( "(String.fromCharCode(65535)).charCodeAt(0)", 65535, (String.fromCharCode(65535)).charCodeAt(0) ); -new TestCase( "(String.fromCharCode(65536)).charCodeAt(0)", 0, (String.fromCharCode(65536)).charCodeAt(0) ); -new TestCase( "(String.fromCharCode(65537)).charCodeAt(0)", 1, (String.fromCharCode(65537)).charCodeAt(0) ); - -test(); - -function ToUint16( num ) { - num = Number( num ); - if ( isNaN( num ) || num == 0 || num == Number.POSITIVE_INFINITY || num == Number.NEGATIVE_INFINITY ) { - return 0; - } - - var sign = ( num < 0 ) ? -1 : 1; - - num = sign * Math.floor( Math.abs( num ) ); - num = num % Math.pow(2,16); - num = ( num > -65536 && num < 0) ? 65536 + num : num; - return num; -} - diff --git a/js/src/tests/ecma/String/15.5.3.js b/js/src/tests/ecma/String/15.5.3.js deleted file mode 100644 index 8fa0a301f650..000000000000 --- a/js/src/tests/ecma/String/15.5.3.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.1.js - ECMA Section: 15.5.3 Properties of the String Constructor - - Description: The value of the internal [[Prototype]] property of - the String constructor is the Function prototype - object. - - In addition to the internal [[Call]] and [[Construct]] - properties, the String constructor also has the length - property, as well as properties described in 15.5.3.1 - and 15.5.3.2. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.3"; -var passed = true; -writeHeaderToLog( SECTION + " Properties of the String Constructor" ); - -new TestCase( "String.length", 1, String.length ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.1.js b/js/src/tests/ecma/String/15.5.4.1.js deleted file mode 100644 index fb94606e151e..000000000000 --- a/js/src/tests/ecma/String/15.5.4.1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.1.js - ECMA Section: 15.5.4.1 String.prototype.constructor - - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.5.4.1"; -var TITLE = "String.prototype.constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.constructor == String", true, String.prototype.constructor == String ); - -new TestCase( "var STRING = new String.prototype.constructor('hi'); STRING.getClass = Object.prototype.toString; STRING.getClass()", - "[object String]", - eval("var STRING = new String.prototype.constructor('hi'); STRING.getClass = Object.prototype.toString; STRING.getClass()") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.10-1.js b/js/src/tests/ecma/String/15.5.4.10-1.js deleted file mode 100644 index 47ce739829de..000000000000 --- a/js/src/tests/ecma/String/15.5.4.10-1.js +++ /dev/null @@ -1,159 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.10-1.js - ECMA Section: 15.5.4.10 String.prototype.substring( start, end ) - Description: - - 15.5.4.10 String.prototype.substring(start, end) - - Returns a substring of the result of converting this object to a string, - starting from character position start and running to character position - end of the string. The result is a string value, not a String object. - - If either argument is NaN or negative, it is replaced with zero; if either - argument is larger than the length of the string, it is replaced with the - length of the string. - - If start is larger than end, they are swapped. - - When the substring method is called with two arguments start and end, the - following steps are taken: - - 1. Call ToString, giving it the this value as its argument. - 2. Call ToInteger(start). - 3. Call ToInteger (end). - 4. Compute the number of characters in Result(1). - 5. Compute min(max(Result(2), 0), Result(4)). - 6. Compute min(max(Result(3), 0), Result(4)). - 7. Compute min(Result(5), Result(6)). - 8. Compute max(Result(5), Result(6)). - 9. Return a string whose length is the difference between Result(8) and - Result(7), containing characters from Result(1), namely the characters - with indices Result(7) through Result(8)1, in ascending order. - - Note that the substring function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.10-1"; -var TITLE = "String.prototype.substring( start, end )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.substring.length", 2, String.prototype.substring.length ); - -// test cases for when substring is called with no arguments. - -// this is a string object - -new TestCase( "var s = new String('this is a string object'); typeof s.substring()", - "string", - eval("var s = new String('this is a string object'); typeof s.substring()") ); - -new TestCase( "var s = new String(''); s.substring(1,0)", - "", - eval("var s = new String(''); s.substring(1,0)") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(true, false)", - "t", - eval("var s = new String('this is a string object'); s.substring(false, true)") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(NaN, Infinity)", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring(NaN, Infinity)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(Infinity, NaN)", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring(Infinity, NaN)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(Infinity, Infinity)", - "", - eval("var s = new String('this is a string object'); s.substring(Infinity, Infinity)") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(-0.01, 0)", - "", - eval("var s = new String('this is a string object'); s.substring(-0.01,0)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(s.length, s.length)", - "", - eval("var s = new String('this is a string object'); s.substring(s.length, s.length)") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(s.length+1, 0)", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring(s.length+1, 0)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(-Infinity, -Infinity)", - "", - eval("var s = new String('this is a string object'); s.substring(-Infinity, -Infinity)") ); - -// this is not a String object, start is not an integer - - -new TestCase( "var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring(Infinity,-Infinity)", - "1,2,3,4,5", - eval("var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring(Infinity,-Infinity)") ); - -new TestCase( "var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring(true, false)", - "1", - eval("var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring(true, false)") ); - -new TestCase( "var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring('4', '5')", - "3", - eval("var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring('4', '5')") ); - - -// this is an object object -new TestCase( "var obj = new Object(); obj.substring = String.prototype.substring; obj.substring(8,0)", - "[object ", - eval("var obj = new Object(); obj.substring = String.prototype.substring; obj.substring(8,0)") ); - -new TestCase( "var obj = new Object(); obj.substring = String.prototype.substring; obj.substring(8,obj.toString().length)", - "Object]", - eval("var obj = new Object(); obj.substring = String.prototype.substring; obj.substring(8, obj.toString().length)") ); - -// this is a function object -new TestCase( "var obj = new Function(); obj.substring = String.prototype.substring; obj.toString = Object.prototype.toString; obj.substring(8, Infinity)", - "Function]", - eval("var obj = new Function(); obj.substring = String.prototype.substring; obj.toString = Object.prototype.toString; obj.substring(8,Infinity)") ); -// this is a number object -new TestCase( "var obj = new Number(NaN); obj.substring = String.prototype.substring; obj.substring(Infinity, NaN)", - "NaN", - eval("var obj = new Number(NaN); obj.substring = String.prototype.substring; obj.substring(Infinity, NaN)") ); - -// this is the Math object -new TestCase( "var obj = Math; obj.substring = String.prototype.substring; obj.substring(Math.PI, -10)", - "[ob", - eval("var obj = Math; obj.substring = String.prototype.substring; obj.substring(Math.PI, -10)") ); - -// this is a Boolean object - -new TestCase( "var obj = new Boolean(); obj.substring = String.prototype.substring; obj.substring(new Array(), new Boolean(1))", - "f", - eval("var obj = new Boolean(); obj.substring = String.prototype.substring; obj.substring(new Array(), new Boolean(1))") ); - -// this is a user defined object - -new TestCase( "var obj = new MyObject( void 0 ); obj.substring(0, 100)", - "undefined", - eval( "var obj = new MyObject( void 0 ); obj.substring(0,100)") ); - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} diff --git a/js/src/tests/ecma/String/15.5.4.11-1.js b/js/src/tests/ecma/String/15.5.4.11-1.js deleted file mode 100644 index 4af58eb8c11e..000000000000 --- a/js/src/tests/ecma/String/15.5.4.11-1.js +++ /dev/null @@ -1,480 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.11-1.js - ECMA Section: 15.5.4.11 String.prototype.toLowerCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toLowerCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.11-1"; -var TITLE = "String.prototype.toLowerCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.toLowerCase.length", 0, String.prototype.toLowerCase.length ); - -// Basic Latin, Latin-1 Supplement, Latin Extended A -for ( var i = 0; i <= 0x017f; i++ ) { - var U = new Unicode(i); -/* - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()", - String.fromCharCode(U.lower), - eval("var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()") ); -*/ - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase().charCodeAt(0)", - U.lower, - eval("var s = new String( String.fromCharCode(i) ); s.toLowerCase().charCodeAt(0)") ); - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - u = GetUnicodeValues( c ); - this.upper = u[0]; - this.lower = u[1] - return this; -} -function GetUnicodeValues( c ) { - u = new Array(); - - u[0] = c; - u[1] = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - u[0] = c - 32; - u[1] = c; - return u; - } - if ( c == 0x00FF ) { - u[0] = 0x0178; - u[1] = c; - return u; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - u[0] = c; - u[1] = 0x0069; - return u; - } - if ( c == 0x0131 ) { - u[0] = 0x0049; - u[1] = c; - return u; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x0178 ) { - u[0] = c; - u[1] = 0x00FF; - return u; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x017F ) { - u[0] = 0x0053; - u[1] = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c+1; - } else { - u[0] = c-1; - u[1] = c; - } - return u; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - u[0] = c; - u[1] = c + 80; - return u; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - u[0] = c - 32; - u[1] = c; - return u; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - u[0] = c -80; - u[1] = c; - return u; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c +1; - } else { - u[0] = c - 1; - u[1] = c; - } - return u; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x0561 && c < 0x0587 ) { - u[0] = c - 48; - u[1] = c; - return u; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - u[0] = c; - u[1] = c; - return u; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return u; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} diff --git a/js/src/tests/ecma/String/15.5.4.11-3.js b/js/src/tests/ecma/String/15.5.4.11-3.js deleted file mode 100644 index 334a93196b08..000000000000 --- a/js/src/tests/ecma/String/15.5.4.11-3.js +++ /dev/null @@ -1,478 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.11-2.js - ECMA Section: 15.5.4.11 String.prototype.toLowerCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toLowerCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.11-2"; -var TITLE = "String.prototype.toLowerCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Halfwidth and Fullwidth Forms -// Range: U+FF00 to U+FFEF -for ( var i = 0xFF00; i <= 0xFFEF; i++ ) { - var U = new Unicode(i); -/* - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()", - String.fromCharCode(U.lower), - eval("var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()") ); -*/ - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase().charCodeAt(0)", - U.lower, - eval("var s = new String( String.fromCharCode(i) ); s.toLowerCase().charCodeAt(0)") ); -} - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - u = GetUnicodeValues( c ); - this.upper = u[0]; - this.lower = u[1] - return this; -} -function GetUnicodeValues( c ) { - u = new Array(); - - u[0] = c; - u[1] = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - u[0] = c - 32; - u[1] = c; - return u; - } - if ( c == 0x00FF ) { - u[0] = 0x0178; - u[1] = c; - return u; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - u[0] = c; - u[1] = 0x0069; - return u; - } - if ( c == 0x0131 ) { - u[0] = 0x0049; - u[1] = c; - return u; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x0178 ) { - u[0] = c; - u[1] = 0x00FF; - return u; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x017F ) { - u[0] = 0x0053; - u[1] = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c+1; - } else { - u[0] = c-1; - u[1] = c; - } - return u; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - u[0] = c; - u[1] = c + 80; - return u; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - u[0] = c - 32; - u[1] = c; - return u; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - u[0] = c -80; - u[1] = c; - return u; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c +1; - } else { - u[0] = c - 1; - u[1] = c; - } - return u; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x0561 && c < 0x0587 ) { - u[0] = c - 48; - u[1] = c; - return u; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - u[0] = c; - u[1] = c; - return u; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return u; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} diff --git a/js/src/tests/ecma/String/15.5.4.11-4.js b/js/src/tests/ecma/String/15.5.4.11-4.js deleted file mode 100644 index 945ea3ada325..000000000000 --- a/js/src/tests/ecma/String/15.5.4.11-4.js +++ /dev/null @@ -1,471 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.11-2.js - ECMA Section: 15.5.4.11 String.prototype.toLowerCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toLowerCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.11-2"; -var TITLE = "String.prototype.toLowerCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Hiragana (no upper / lower case) -// Range: U+3040 to U+309F - -for ( var i = 0x3040; i <= 0x309F; i++ ) { - var U = new Unicode( i ); -/* - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()", - String.fromCharCode(U.lower), - eval("var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()") ); -*/ - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase().charCodeAt(0)", - U.lower, - eval("var s = new String( String.fromCharCode(i) ); s.toLowerCase().charCodeAt(0)") ); -} - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - this.upper = c; - this.lower = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - this.upper = c; - this.lower = c + 32; - return this; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - this.upper = c - 32; - this.lower = c; - return this; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - this.upper = c; - this.lower = c + 32; - return this; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - this.upper = c - 32; - this.lower = c; - return this; - } - if ( c == 0x00FF ) { - this.upper = 0x0178; - this.lower = c; - return this; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - this.upper = c; - this.lower = 0x0069; - return this; - } - if ( c == 0x0131 ) { - this.upper = 0x0049; - this.lower = c; - return this; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - this.upper = c; - this.lower = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - this.upper = c-1; - this.lower = c; - } - return this; - } - if ( c == 0x0178 ) { - this.upper = c; - this.lower = 0x00FF; - return this; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - this.upper = c; - this.lower = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - this.upper = c-1; - this.lower = c; - } - return this; - } - if ( c == 0x017F ) { - this.upper = 0x0053; - this.lower = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - this.upper = c; - this.lower = c+1; - } else { - this.upper = c-1; - this.lower = c; - } - return this; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - this.upper = c; - this.lower = c + 80; - return this; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - this.upper = c; - this.lower = c + 32; - return this; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - this.upper = c - 32; - this.lower = c; - return this; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - this.upper = c -80; - this.lower = c; - return this; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - this.upper = c; - this.lower = c +1; - } else { - this.upper = c - 1; - this.lower = c; - } - return this; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - this.upper = c; - this.lower = c + 48; - return this; - } - if ( c >= 0x0561 && c < 0x0587 ) { - this.upper = c - 48; - this.lower = c; - return this; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - this.upper = c; - this.lower = c + 48; - return this; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - this.upper = c; - this.lower = c; - return this; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - this.upper = c; - this.lower = c + 32; - return this; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - this.upper = c - 32; - this.lower = c; - return this; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return this; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} diff --git a/js/src/tests/ecma/String/15.5.4.11-6.js b/js/src/tests/ecma/String/15.5.4.11-6.js deleted file mode 100644 index fce27afa06a0..000000000000 --- a/js/src/tests/ecma/String/15.5.4.11-6.js +++ /dev/null @@ -1,480 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.11-6.js - ECMA Section: 15.5.4.11 String.prototype.toLowerCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toLowerCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.11-6"; -var TITLE = "String.prototype.toLowerCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Armenian -// Range: U+0530 to U+058F -for ( var i = 0x0530; i <= 0x058F; i++ ) { - - var U = new Unicode( i ); -/* - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()", - String.fromCharCode(U.lower), - eval("var s = new String( String.fromCharCode("+i+") ); s.toLowerCase()") ); -*/ - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toLowerCase().charCodeAt(0)", - U.lower, - eval("var s = new String( String.fromCharCode(i) ); s.toLowerCase().charCodeAt(0)") ); - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - u = GetUnicodeValues( c ); - this.upper = u[0]; - this.lower = u[1] - return this; -} -function GetUnicodeValues( c ) { - u = new Array(); - - u[0] = c; - u[1] = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - u[0] = c - 32; - u[1] = c; - return u; - } - if ( c == 0x00FF ) { - u[0] = 0x0178; - u[1] = c; - return u; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - u[0] = c; - u[1] = 0x0069; - return u; - } - if ( c == 0x0131 ) { - u[0] = 0x0049; - u[1] = c; - return u; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x0178 ) { - u[0] = c; - u[1] = 0x00FF; - return u; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x017F ) { - u[0] = 0x0053; - u[1] = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c+1; - } else { - u[0] = c-1; - u[1] = c; - } - return u; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - u[0] = c; - u[1] = c + 80; - return u; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - u[0] = c - 32; - u[1] = c; - return u; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - u[0] = c -80; - u[1] = c; - return u; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c +1; - } else { - u[0] = c - 1; - u[1] = c; - } - return u; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x0561 && c < 0x0587 ) { - u[0] = c - 48; - u[1] = c; - return u; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - u[0] = c; - u[1] = c; - return u; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return u; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} diff --git a/js/src/tests/ecma/String/15.5.4.12-2.js b/js/src/tests/ecma/String/15.5.4.12-2.js deleted file mode 100644 index 0dbde8115182..000000000000 --- a/js/src/tests/ecma/String/15.5.4.12-2.js +++ /dev/null @@ -1,482 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.12-2.js - ECMA Section: 15.5.4.12 String.prototype.toUpperCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toUpperCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.12-2"; -var TITLE = "String.prototype.toUpperCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = ""; -var EXPECT_STRING = ""; - -// basic latin test - -for ( var i = 0; i < 0x007A; i++ ) { - var u = new Unicode(i); - TEST_STRING += String.fromCharCode(i); - EXPECT_STRING += String.fromCharCode( u.upper ); -} - -// don't print out the value of the strings since they contain control -// characters that break the driver -var isEqual = EXPECT_STRING == (new String( TEST_STRING )).toUpperCase(); - -new TestCase( - "isEqual", - true, - isEqual); -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - u = GetUnicodeValues( c ); - this.upper = u[0]; - this.lower = u[1] - return this; -} -function GetUnicodeValues( c ) { - u = new Array(); - - u[0] = c; - u[1] = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - u[0] = c - 32; - u[1] = c; - return u; - } - if ( c == 0x00FF ) { - u[0] = 0x0178; - u[1] = c; - return u; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - u[0] = c; - u[1] = 0x0069; - return u; - } - if ( c == 0x0131 ) { - u[0] = 0x0049; - u[1] = c; - return u; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x0178 ) { - u[0] = c; - u[1] = 0x00FF; - return u; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x017F ) { - u[0] = 0x0053; - u[1] = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c+1; - } else { - u[0] = c-1; - u[1] = c; - } - return u; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - u[0] = c; - u[1] = c + 80; - return u; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - u[0] = c - 32; - u[1] = c; - return u; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - u[0] = c -80; - u[1] = c; - return u; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c +1; - } else { - u[0] = c - 1; - u[1] = c; - } - return u; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x0561 && c < 0x0587 ) { - u[0] = c - 48; - u[1] = c; - return u; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - u[0] = c; - u[1] = c; - return u; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return u; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} - diff --git a/js/src/tests/ecma/String/15.5.4.12-3.js b/js/src/tests/ecma/String/15.5.4.12-3.js deleted file mode 100644 index 910d548c44e8..000000000000 --- a/js/src/tests/ecma/String/15.5.4.12-3.js +++ /dev/null @@ -1,519 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.12-3.js - ECMA Section: 15.5.4.12 String.prototype.toUpperCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toUpperCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.12-3"; -var TITLE = "String.prototype.toUpperCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Georgian -// Range: U+10A0 to U+10FF -for ( var i = 0x10A0; i <= 0x10FF; i++ ) { - var U = new Unicode( i ); -/* - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()", - String.fromCharCode(U.upper), - eval("var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()") ); -*/ - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase().charCodeAt(0)", - U.upper, - eval("var s = new String( String.fromCharCode(i) ); s.toUpperCase().charCodeAt(0)") ); - -} - -// Halfwidth and Fullwidth Forms -// Range: U+FF00 to U+FFEF -for ( var i = 0xFF00; i <= 0xFFEF; i++ ) { - new TestCase( "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()", - eval( "var u = new Unicode( i ); String.fromCharCode(u.upper)" ), - eval("var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()") ); - - new TestCase( "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase().charCodeAt(0)", - eval( "var u = new Unicode( i ); u.upper" ), - eval("var s = new String( String.fromCharCode("+i+") ); s.toUpperCase().charCodeAt(0)") ); -} - -// Hiragana (no upper / lower case) -// Range: U+3040 to U+309F - -for ( var i = 0x3040; i <= 0x309F; i++ ) { - new TestCase( "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()", - eval( "var u = new Unicode( i ); String.fromCharCode(u.upper)" ), - eval("var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()") ); - - new TestCase( "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase().charCodeAt(0)", - eval( "var u = new Unicode( i ); u.upper" ), - eval("var s = new String( String.fromCharCode("+i+") ); s.toUpperCase().charCodeAt(0)") ); -} - - -/* - var TEST_STRING = ""; - var EXPECT_STRING = ""; - - // basic latin test - - for ( var i = 0; i < 0x007A; i++ ) { - var u = new Unicode(i); - TEST_STRING += String.fromCharCode(i); - EXPECT_STRING += String.fromCharCode( u.upper ); - } -*/ - - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - u = GetUnicodeValues( c ); - this.upper = u[0]; - this.lower = u[1] - return this; -} -function GetUnicodeValues( c ) { - u = new Array(); - - u[0] = c; - u[1] = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - u[0] = c - 32; - u[1] = c; - return u; - } - if ( c == 0x00FF ) { - u[0] = 0x0178; - u[1] = c; - return u; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - u[0] = c; - u[1] = 0x0069; - return u; - } - if ( c == 0x0131 ) { - u[0] = 0x0049; - u[1] = c; - return u; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x0178 ) { - u[0] = c; - u[1] = 0x00FF; - return u; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x017F ) { - u[0] = 0x0053; - u[1] = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c+1; - } else { - u[0] = c-1; - u[1] = c; - } - return u; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - u[0] = c; - u[1] = c + 80; - return u; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - u[0] = c - 32; - u[1] = c; - return u; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - u[0] = c -80; - u[1] = c; - return u; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c +1; - } else { - u[0] = c - 1; - u[1] = c; - } - return u; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x0561 && c < 0x0587 ) { - u[0] = c - 48; - u[1] = c; - return u; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - u[0] = c; - u[1] = c; - return u; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return u; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} diff --git a/js/src/tests/ecma/String/15.5.4.12-5.js b/js/src/tests/ecma/String/15.5.4.12-5.js deleted file mode 100644 index c6769d944db3..000000000000 --- a/js/src/tests/ecma/String/15.5.4.12-5.js +++ /dev/null @@ -1,482 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.12-1.js - ECMA Section: 15.5.4.12 String.prototype.toUpperCase() - Description: - - Returns a string equal in length to the length of the result of converting - this object to a string. The result is a string value, not a String object. - - Every character of the result is equal to the corresponding character of the - string, unless that character has a Unicode 2.0 uppercase equivalent, in which - case the uppercase equivalent is used instead. (The canonical Unicode 2.0 case - mapping shall be used, which does not depend on implementation or locale.) - - Note that the toUpperCase function is intentionally generic; it does not require - that its this value be a String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.12-1"; -var TITLE = "String.prototype.toUpperCase()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// Armenian -// Range: U+0530 to U+058F -for ( var i = 0x0530; i <= 0x058F; i++ ) { - // U+0587 (ARMENIAN SMALL LIGATURE ECH YIWN) has special upper casing. - if (i == 0x0587) continue; - - var U = new Unicode( i ); -/* - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()", - String.fromCharCode(U.upper), - eval("var s = new String( String.fromCharCode("+i+") ); s.toUpperCase()") ); -*/ - new TestCase( - "var s = new String( String.fromCharCode("+i+") ); s.toUpperCase().charCodeAt(0)", - U.upper, - eval("var s = new String( String.fromCharCode(i) ); s.toUpperCase().charCodeAt(0)") ); - -} - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} -function Unicode( c ) { - u = GetUnicodeValues( c ); - this.upper = u[0]; - this.lower = u[1] - return this; -} -function GetUnicodeValues( c ) { - u = new Array(); - - u[0] = c; - u[1] = c; - - // upper case Basic Latin - - if ( c >= 0x0041 && c <= 0x005A) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Basic Latin - if ( c >= 0x0061 && c <= 0x007a ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // upper case Latin-1 Supplement - if ( (c >= 0x00C0 && c <= 0x00D6) || (c >= 0x00D8 && c<=0x00DE) ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - // lower case Latin-1 Supplement - if ( (c >= 0x00E0 && c <= 0x00F6) || (c >= 0x00F8 && c <= 0x00FE) ) { - u[0] = c - 32; - u[1] = c; - return u; - } - if ( c == 0x00FF ) { - u[0] = 0x0178; - u[1] = c; - return u; - } - // Latin Extended A - if ( (c >= 0x0100 && c < 0x0138) || (c > 0x0149 && c < 0x0178) ) { - // special case for capital I - if ( c == 0x0130 ) { - u[0] = c; - u[1] = 0x0069; - return u; - } - if ( c == 0x0131 ) { - u[0] = 0x0049; - u[1] = c; - return u; - } - - if ( c % 2 == 0 ) { - // if it's even, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's odd, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x0178 ) { - u[0] = c; - u[1] = 0x00FF; - return u; - } - - if ( (c >= 0x0139 && c < 0x0149) || (c > 0x0178 && c < 0x017F) ) { - if ( c % 2 == 1 ) { - // if it's odd, it's a capital and the lower case is c +1 - u[0] = c; - u[1] = c+1; - } else { - // if it's even, it's a lower case and upper case is c-1 - u[0] = c-1; - u[1] = c; - } - return u; - } - if ( c == 0x017F ) { - u[0] = 0x0053; - u[1] = c; - } - - // Latin Extended B - // need to improve this set - - if ( c >= 0x0200 && c <= 0x0217 ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c+1; - } else { - u[0] = c-1; - u[1] = c; - } - return u; - } - - // Latin Extended Additional - // Range: U+1E00 to U+1EFF - // http://www.unicode.org/Unicode.charts/glyphless/U1E00.html - - // Spacing Modifier Leters - // Range: U+02B0 to U+02FF - - // Combining Diacritical Marks - // Range: U+0300 to U+036F - - // skip Greek for now - // Greek - // Range: U+0370 to U+03FF - - // Cyrillic - // Range: U+0400 to U+04FF - - if ( (c >= 0x0401 && c <= 0x040C) || ( c>= 0x040E && c <= 0x040F ) ) { - u[0] = c; - u[1] = c + 80; - return u; - } - - - if ( c >= 0x0410 && c <= 0x042F ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0x0430 && c<= 0x044F ) { - u[0] = c - 32; - u[1] = c; - return u; - - } - if ( (c >= 0x0451 && c <= 0x045C) || (c >=0x045E && c<= 0x045F) ) { - u[0] = c -80; - u[1] = c; - return u; - } - - if ( c >= 0x0460 && c <= 0x047F ) { - if ( c % 2 == 0 ) { - u[0] = c; - u[1] = c +1; - } else { - u[0] = c - 1; - u[1] = c; - } - return u; - } - - // Armenian - // Range: U+0530 to U+058F - if ( c >= 0x0531 && c <= 0x0556 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x0561 && c < 0x0587 ) { - u[0] = c - 48; - u[1] = c; - return u; - } - - // Hebrew - // Range: U+0590 to U+05FF - - - // Arabic - // Range: U+0600 to U+06FF - - // Devanagari - // Range: U+0900 to U+097F - - - // Bengali - // Range: U+0980 to U+09FF - - - // Gurmukhi - // Range: U+0A00 to U+0A7F - - - // Gujarati - // Range: U+0A80 to U+0AFF - - - // Oriya - // Range: U+0B00 to U+0B7F - // no capital / lower case - - - // Tamil - // Range: U+0B80 to U+0BFF - // no capital / lower case - - - // Telugu - // Range: U+0C00 to U+0C7F - // no capital / lower case - - - // Kannada - // Range: U+0C80 to U+0CFF - // no capital / lower case - - - // Malayalam - // Range: U+0D00 to U+0D7F - - // Thai - // Range: U+0E00 to U+0E7F - - - // Lao - // Range: U+0E80 to U+0EFF - - - // Tibetan - // Range: U+0F00 to U+0FBF - - // Georgian - // Range: U+10A0 to U+10F0 - if ( c >= 0x10A0 && c <= 0x10C5 ) { - u[0] = c; - u[1] = c + 48; - return u; - } - if ( c >= 0x10D0 && c <= 0x10F5 ) { - u[0] = c; - u[1] = c; - return u; - } - - // Hangul Jamo - // Range: U+1100 to U+11FF - - // Greek Extended - // Range: U+1F00 to U+1FFF - // skip for now - - - // General Punctuation - // Range: U+2000 to U+206F - - // Superscripts and Subscripts - // Range: U+2070 to U+209F - - // Currency Symbols - // Range: U+20A0 to U+20CF - - - // Combining Diacritical Marks for Symbols - // Range: U+20D0 to U+20FF - // skip for now - - - // Number Forms - // Range: U+2150 to U+218F - // skip for now - - - // Arrows - // Range: U+2190 to U+21FF - - // Mathematical Operators - // Range: U+2200 to U+22FF - - // Miscellaneous Technical - // Range: U+2300 to U+23FF - - // Control Pictures - // Range: U+2400 to U+243F - - // Optical Character Recognition - // Range: U+2440 to U+245F - - // Enclosed Alphanumerics - // Range: U+2460 to U+24FF - - // Box Drawing - // Range: U+2500 to U+257F - - // Block Elements - // Range: U+2580 to U+259F - - // Geometric Shapes - // Range: U+25A0 to U+25FF - - // Miscellaneous Symbols - // Range: U+2600 to U+26FF - - // Dingbats - // Range: U+2700 to U+27BF - - // CJK Symbols and Punctuation - // Range: U+3000 to U+303F - - // Hiragana - // Range: U+3040 to U+309F - - // Katakana - // Range: U+30A0 to U+30FF - - // Bopomofo - // Range: U+3100 to U+312F - - // Hangul Compatibility Jamo - // Range: U+3130 to U+318F - - // Kanbun - // Range: U+3190 to U+319F - - - // Enclosed CJK Letters and Months - // Range: U+3200 to U+32FF - - // CJK Compatibility - // Range: U+3300 to U+33FF - - // Hangul Syllables - // Range: U+AC00 to U+D7A3 - - // High Surrogates - // Range: U+D800 to U+DB7F - - // Private Use High Surrogates - // Range: U+DB80 to U+DBFF - - // Low Surrogates - // Range: U+DC00 to U+DFFF - - // Private Use Area - // Range: U+E000 to U+F8FF - - // CJK Compatibility Ideographs - // Range: U+F900 to U+FAFF - - // Alphabetic Presentation Forms - // Range: U+FB00 to U+FB4F - - // Arabic Presentation Forms-A - // Range: U+FB50 to U+FDFF - - // Combining Half Marks - // Range: U+FE20 to U+FE2F - - // CJK Compatibility Forms - // Range: U+FE30 to U+FE4F - - // Small Form Variants - // Range: U+FE50 to U+FE6F - - // Arabic Presentation Forms-B - // Range: U+FE70 to U+FEFF - - // Halfwidth and Fullwidth Forms - // Range: U+FF00 to U+FFEF - - if ( c >= 0xFF21 && c <= 0xFF3A ) { - u[0] = c; - u[1] = c + 32; - return u; - } - - if ( c >= 0xFF41 && c <= 0xFF5A ) { - u[0] = c - 32; - u[1] = c; - return u; - } - - // Specials - // Range: U+FFF0 to U+FFFF - - return u; -} - -function DecimalToHexString( n ) { - n = Number( n ); - var h = "0x"; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} diff --git a/js/src/tests/ecma/String/15.5.4.2-1.js b/js/src/tests/ecma/String/15.5.4.2-1.js deleted file mode 100644 index 602f9b455702..000000000000 --- a/js/src/tests/ecma/String/15.5.4.2-1.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.2-1.js - ECMA Section: 15.5.4.2 String.prototype.toString() - - Description: Returns this string value. Note that, for a String - object, the toString() method happens to return the same - thing as the valueOf() method. - - The toString function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.4.2-1"; -var TITLE = "String.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.toString()", "", String.prototype.toString() ); -new TestCase( "(new String()).toString()", "", (new String()).toString() ); -new TestCase( "(new String(\"\")).toString()", "", (new String("")).toString() ); -new TestCase( "(new String( String() )).toString()","", (new String(String())).toString() ); -new TestCase( "(new String( \"h e l l o\" )).toString()", "h e l l o", (new String("h e l l o")).toString() ); -new TestCase( "(new String( 0 )).toString()", "0", (new String(0)).toString() ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.2-2-n.js b/js/src/tests/ecma/String/15.5.4.2-2-n.js deleted file mode 100644 index 238a13baa71b..000000000000 --- a/js/src/tests/ecma/String/15.5.4.2-2-n.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.2-2-n.js - ECMA Section: 15.5.4.2 String.prototype.toString() - - Description: Returns this string value. Note that, for a String - object, the toString() method happens to return the same - thing as the valueOf() method. - - The toString function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.4.2-3-n"; -var TITLE = "String.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var tostr=String.prototype.toString; astring=new Number(); astring.toString = tostr; astring.toString()"; - -new TestCase( "var tostr=String.prototype.toString; astring=new Number(); astring.toString = tostr; astring.toString()", - "error", - eval("var tostr=String.prototype.toString; astring=new Number(); astring.toString = tostr; astring.toString()") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.2-3.js b/js/src/tests/ecma/String/15.5.4.2-3.js deleted file mode 100644 index 705987ec4580..000000000000 --- a/js/src/tests/ecma/String/15.5.4.2-3.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.2-3.js - ECMA Section: 15.5.4.2 String.prototype.toString() - - Description: Returns this string value. Note that, for a String - object, the toString() method happens to return the same - thing as the valueOf() method. - - The toString function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - - -var SECTION = "15.5.4.2-3"; -var TITLE = "String.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var tostr=String.prototype.toString; astring=new String(); astring.toString = tostr; astring.toString()", - "", - eval("var tostr=String.prototype.toString; astring=new String(); astring.toString = tostr; astring.toString()") ); -new TestCase( "var tostr=String.prototype.toString; astring=new String(0); astring.toString = tostr; astring.toString()", - "0", - eval("var tostr=String.prototype.toString; astring=new String(0); astring.toString = tostr; astring.toString()") ); -new TestCase( "var tostr=String.prototype.toString; astring=new String('hello'); astring.toString = tostr; astring.toString()", - "hello", - eval("var tostr=String.prototype.toString; astring=new String('hello'); astring.toString = tostr; astring.toString()") ); -new TestCase( "var tostr=String.prototype.toString; astring=new String(''); astring.toString = tostr; astring.toString()", - "", - eval("var tostr=String.prototype.toString; astring=new String(''); astring.toString = tostr; astring.toString()") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.2.js b/js/src/tests/ecma/String/15.5.4.2.js deleted file mode 100644 index 97482732b206..000000000000 --- a/js/src/tests/ecma/String/15.5.4.2.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.2.js - ECMA Section: 15.5.4.2 String.prototype.toString - - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.5.4.2"; -var TITLE = "String.prototype.tostring"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.toString() == String.prototype.valueOf()", - true, - String.prototype.toString() == String.prototype.valueOf() ); - -new TestCase( "String.prototype.toString()", "", String.prototype.toString() ); -new TestCase( "String.prototype.toString.length", 0, String.prototype.toString.length ); - - -new TestCase( "TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()", - true, - eval("TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()") ); -new TestCase( "TESTSTRING = new String(true);TESTSTRING.valueOf() == TESTSTRING.toString()", - true, - eval("TESTSTRING = new String(true);TESTSTRING.valueOf() == TESTSTRING.toString()") ); -new TestCase( "TESTSTRING = new String(false);TESTSTRING.valueOf() == TESTSTRING.toString()", - true, - eval("TESTSTRING = new String(false);TESTSTRING.valueOf() == TESTSTRING.toString()") ); -new TestCase( "TESTSTRING = new String(Math.PI);TESTSTRING.valueOf() == TESTSTRING.toString()", - true, - eval("TESTSTRING = new String(Math.PI);TESTSTRING.valueOf() == TESTSTRING.toString()") ); -new TestCase( "TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()", - true, - eval("TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.3-1.js b/js/src/tests/ecma/String/15.5.4.3-1.js deleted file mode 100644 index a12379a52878..000000000000 --- a/js/src/tests/ecma/String/15.5.4.3-1.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.3-1.js - ECMA Section: 15.5.4.3 String.prototype.valueOf() - - Description: Returns this string value. - - The valueOf function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.4.3-1"; -var TITLE = "String.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.valueOf.length", 0, String.prototype.valueOf.length ); - -new TestCase( "String.prototype.valueOf()", "", String.prototype.valueOf() ); -new TestCase( "(new String()).valueOf()", "", (new String()).valueOf() ); -new TestCase( "(new String(\"\")).valueOf()", "", (new String("")).valueOf() ); -new TestCase( "(new String( String() )).valueOf()","", (new String(String())).valueOf() ); -new TestCase( "(new String( \"h e l l o\" )).valueOf()", "h e l l o", (new String("h e l l o")).valueOf() ); -new TestCase( "(new String( 0 )).valueOf()", "0", (new String(0)).valueOf() ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.3-2.js b/js/src/tests/ecma/String/15.5.4.3-2.js deleted file mode 100644 index 150f459a8d3a..000000000000 --- a/js/src/tests/ecma/String/15.5.4.3-2.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.3-2.js - ECMA Section: 15.5.4.3 String.prototype.valueOf() - - Description: Returns this string value. - - The valueOf function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - - -var SECTION = "15.5.4.3-2"; -var TITLE = "String.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var valof=String.prototype.valueOf; astring=new String(); astring.valueOf = valof; astring.valof()", - "", - eval("var valof=String.prototype.valueOf; astring=new String(); astring.valueOf = valof; astring.valueOf()") ); - -new TestCase( "var valof=String.prototype.valueOf; astring=new String(0); astring.valueOf = valof; astring.valof()", - "0", - eval("var valof=String.prototype.valueOf; astring=new String(0); astring.valueOf = valof; astring.valueOf()") ); - -new TestCase( "var valof=String.prototype.valueOf; astring=new String('hello'); astring.valueOf = valof; astring.valof()", - "hello", - eval("var valof=String.prototype.valueOf; astring=new String('hello'); astring.valueOf = valof; astring.valueOf()") ); - -new TestCase( "var valof=String.prototype.valueOf; astring=new String(''); astring.valueOf = valof; astring.valof()", - "", - eval("var valof=String.prototype.valueOf; astring=new String(''); astring.valueOf = valof; astring.valueOf()") ); -/* - new TestCase( "var valof=String.prototype.valueOf; astring=new Number(); astring.valueOf = valof; astring.valof()", - "error", - eval("var valof=String.prototype.valueOf; astring=new Number(); astring.valueOf = valof; astring.valueOf()") ); -*/ - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.3-3-n.js b/js/src/tests/ecma/String/15.5.4.3-3-n.js deleted file mode 100644 index 5cec8d9db103..000000000000 --- a/js/src/tests/ecma/String/15.5.4.3-3-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.3-3-n.js - ECMA Section: 15.5.4.3 String.prototype.valueOf() - - Description: Returns this string value. - - The valueOf function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - - -var SECTION = "15.5.4.3-3-n"; -var TITLE = "String.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "var valof=String.prototype.valueOf; astring=new Number(); astring.valueOf = valof; astring.valof()"; - -new TestCase( "var valof=String.prototype.valueOf; astring=new Number(); astring.valueOf = valof; astring.valof()", - "error", - eval("var valof=String.prototype.valueOf; astring=new Number(); astring.valueOf = valof; astring.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.4-1.js b/js/src/tests/ecma/String/15.5.4.4-1.js deleted file mode 100644 index 04173116a7aa..000000000000 --- a/js/src/tests/ecma/String/15.5.4.4-1.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.4-1.js - ECMA Section: 15.5.4.4 String.prototype.charAt(pos) - Description: Returns a string containing the character at position - pos in the string. If there is no character at that - string, the result is the empty string. The result is - a string value, not a String object. - - When the charAt method is called with one argument, - pos, the following steps are taken: - 1. Call ToString, with this value as its argument - 2. Call ToInteger pos - - In this test, this is a String, pos is an integer, and - all pos are in range. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.4-1"; -var TITLE = "String.prototype.charAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); - -var item = 0; -var i; - -for ( i = 0x0020; i < 0x007e; i++, item++) { - new TestCase( "TEST_STRING.charAt("+item+")", - String.fromCharCode( i ), - TEST_STRING.charAt( item ) ); -} - -for ( i = 0x0020; i < 0x007e; i++, item++) { - new TestCase( "TEST_STRING.charAt("+item+") == TEST_STRING.substring( "+item +", "+ (item+1) + ")", - true, - TEST_STRING.charAt( item ) == TEST_STRING.substring( item, item+1 ) - ); -} - -new TestCase( "String.prototype.charAt.length", 1, String.prototype.charAt.length ); - -print( "TEST_STRING = new String(\" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\")" ); - -test(); - diff --git a/js/src/tests/ecma/String/15.5.4.4-2.js b/js/src/tests/ecma/String/15.5.4.4-2.js deleted file mode 100644 index 6196e5a34c19..000000000000 --- a/js/src/tests/ecma/String/15.5.4.4-2.js +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.4-1.js - ECMA Section: 15.5.4.4 String.prototype.charAt(pos) - Description: Returns a string containing the character at position - pos in the string. If there is no character at that - string, the result is the empty string. The result is - a string value, not a String object. - - When the charAt method is called with one argument, - pos, the following steps are taken: - 1. Call ToString, with this value as its argument - 2. Call ToInteger pos - 3. Compute the number of characters in Result(1) - 4. If Result(2) is less than 0 is or not less than - Result(3), return the empty string - 5. Return a string of length 1 containing one character - from result (1), the character at position Result(2). - - Note that the charAt function is intentionally generic; - it does not require that its this value be a String - object. Therefore it can be transferred to other kinds - of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.4-2"; -var TITLE = "String.prototype.charAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(0)", "t", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(0)") ); -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(1)", "r", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(1)") ); -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(2)", "u", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(2)") ); -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(3)", "e", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(3)") ); -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(4)", "", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(4)") ); -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(-1)", "", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(-1)") ); - -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(true)", "r", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(true)") ); -new TestCase( "x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(false)", "t", eval("x = new Boolean(true); x.charAt=String.prototype.charAt;x.charAt(false)") ); - -new TestCase( "x = new String(); x.charAt(0)", "", eval("x=new String();x.charAt(0)") ); -new TestCase( "x = new String(); x.charAt(1)", "", eval("x=new String();x.charAt(1)") ); -new TestCase( "x = new String(); x.charAt(-1)", "", eval("x=new String();x.charAt(-1)") ); - -new TestCase( "x = new String(); x.charAt(NaN)", "", eval("x=new String();x.charAt(Number.NaN)") ); -new TestCase( "x = new String(); x.charAt(Number.POSITIVE_INFINITY)", "", eval("x=new String();x.charAt(Number.POSITIVE_INFINITY)") ); -new TestCase( "x = new String(); x.charAt(Number.NEGATIVE_INFINITY)", "", eval("x=new String();x.charAt(Number.NEGATIVE_INFINITY)") ); - -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(0)", "1", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(0)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(1)", "2", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(1)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(2)", "3", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(2)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(3)", "4", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(3)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(4)", "5", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(4)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(5)", "6", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(5)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(6)", "7", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(6)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(7)", "8", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(7)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(8)", "9", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(8)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(9)", "0", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(9)") ); -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(10)", "", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(10)") ); - -new TestCase( "var MYOB = new MyObject(1234567890); MYOB.charAt(Math.PI)", "4", eval("var MYOB = new MyObject(1234567890); MYOB.charAt(Math.PI)") ); - -// MyOtherObject.toString will return "[object Object] - -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(0)", "[", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(0)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(1)", "o", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(1)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(2)", "b", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(2)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(3)", "j", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(3)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(4)", "e", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(4)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(5)", "c", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(5)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(6)", "t", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(6)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(7)", " ", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(7)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(8)", "O", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(8)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(9)", "b", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(9)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(10)", "j", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(10)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(11)", "e", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(11)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(12)", "c", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(12)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(13)", "t", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(13)") ); -new TestCase( "var MYOB = new MyOtherObject(1234567890); MYOB.charAt(14)", "]", eval("var MYOB = new MyOtherObject(1234567890); MYOB.charAt(14)") ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return this.value +''" ); - this.charAt = String.prototype.charAt; -} -function MyOtherObject(value) { - this.value = value; - this.valueOf = new Function( "return this.value;" ); - this.charAt = String.prototype.charAt; -} diff --git a/js/src/tests/ecma/String/15.5.4.4-3.js b/js/src/tests/ecma/String/15.5.4.4-3.js deleted file mode 100644 index d954d514de71..000000000000 --- a/js/src/tests/ecma/String/15.5.4.4-3.js +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.4-3.js - ECMA Section: 15.5.4.4 String.prototype.charAt(pos) - Description: Returns a string containing the character at position - pos in the string. If there is no character at that - string, the result is the empty string. The result is - a string value, not a String object. - - When the charAt method is called with one argument, - pos, the following steps are taken: - 1. Call ToString, with this value as its argument - 2. Call ToInteger pos - 3. Compute the number of characters in Result(1) - 4. If Result(2) is less than 0 is or not less than - Result(3), return the empty string - 5. Return a string of length 1 containing one character - from result (1), the character at position Result(2). - - Note that the charAt function is intentionally generic; - it does not require that its this value be a String - object. Therefore it can be transferred to other kinds - of objects for use as a method. - - This tests assiging charAt to a user-defined function. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.4-3"; -var TITLE = "String.prototype.charAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var foo = new MyObject('hello'); - - -new TestCase( "var foo = new MyObject('hello'); ", "h", foo.charAt(0) ); -new TestCase( "var foo = new MyObject('hello'); ", "e", foo.charAt(1) ); -new TestCase( "var foo = new MyObject('hello'); ", "l", foo.charAt(2) ); -new TestCase( "var foo = new MyObject('hello'); ", "l", foo.charAt(3) ); -new TestCase( "var foo = new MyObject('hello'); ", "o", foo.charAt(4) ); -new TestCase( "var foo = new MyObject('hello'); ", "", foo.charAt(-1) ); -new TestCase( "var foo = new MyObject('hello'); ", "", foo.charAt(5) ); - -var boo = new MyObject(true); - -new TestCase( "var boo = new MyObject(true); ", "t", boo.charAt(0) ); -new TestCase( "var boo = new MyObject(true); ", "r", boo.charAt(1) ); -new TestCase( "var boo = new MyObject(true); ", "u", boo.charAt(2) ); -new TestCase( "var boo = new MyObject(true); ", "e", boo.charAt(3) ); - -var noo = new MyObject( Math.PI ); - -new TestCase( "var noo = new MyObject(Math.PI); ", "3", noo.charAt(0) ); -new TestCase( "var noo = new MyObject(Math.PI); ", ".", noo.charAt(1) ); -new TestCase( "var noo = new MyObject(Math.PI); ", "1", noo.charAt(2) ); -new TestCase( "var noo = new MyObject(Math.PI); ", "4", noo.charAt(3) ); -new TestCase( "var noo = new MyObject(Math.PI); ", "1", noo.charAt(4) ); -new TestCase( "var noo = new MyObject(Math.PI); ", "5", noo.charAt(5) ); -new TestCase( "var noo = new MyObject(Math.PI); ", "9", noo.charAt(6) ); - -test(); - -function MyObject (v) { - this.value = v; - this.toString = new Function( "return this.value +'';" ); - this.valueOf = new Function( "return this.value" ); - this.charAt = String.prototype.charAt; -} - diff --git a/js/src/tests/ecma/String/15.5.4.4-4.js b/js/src/tests/ecma/String/15.5.4.4-4.js deleted file mode 100644 index cec769f1de87..000000000000 --- a/js/src/tests/ecma/String/15.5.4.4-4.js +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.4-4.js - ECMA Section: 15.5.4.4 String.prototype.charAt(pos) - Description: Returns a string containing the character at position - pos in the string. If there is no character at that - string, the result is the empty string. The result is - a string value, not a String object. - - When the charAt method is called with one argument, - pos, the following steps are taken: - 1. Call ToString, with this value as its argument - 2. Call ToInteger pos - 3. Compute the number of characters in Result(1) - 4. If Result(2) is less than 0 is or not less than - Result(3), return the empty string - 5. Return a string of length 1 containing one character - from result (1), the character at position Result(2). - - Note that the charAt function is intentionally generic; - it does not require that its this value be a String - object. Therefore it can be transferred to other kinds - of objects for use as a method. - - This tests assiging charAt to primitive types.. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.4-4"; -var TITLE = "String.prototype.charAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "x = new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(0)", "1", eval("x=new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(1)", ",", eval("x=new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(2)", "2", eval("x=new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(2)") ); -new TestCase( "x = new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(3)", ",", eval("x=new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(3)") ); -new TestCase( "x = new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(4)", "3", eval("x=new Array(1,2,3); x.charAt = String.prototype.charAt; x.charAt(4)") ); - -new TestCase( "x = new Array(); x.charAt = String.prototype.charAt; x.charAt(0)", "", eval("x = new Array(); x.charAt = String.prototype.charAt; x.charAt(0)") ); - -new TestCase( "x = new Number(123); x.charAt = String.prototype.charAt; x.charAt(0)", "1", eval("x=new Number(123); x.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = new Number(123); x.charAt = String.prototype.charAt; x.charAt(1)", "2", eval("x=new Number(123); x.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = new Number(123); x.charAt = String.prototype.charAt; x.charAt(2)", "3", eval("x=new Number(123); x.charAt = String.prototype.charAt; x.charAt(2)") ); - -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(0)", "[", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(1)", "o", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(2)", "b", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(2)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(3)", "j", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(3)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(4)", "e", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(4)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(5)", "c", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(5)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(6)", "t", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(6)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(7)", " ", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(7)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(8)", "O", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(8)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(9)", "b", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(9)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(10)", "j", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(10)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(11)", "e", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(11)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(12)", "c", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(12)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(13)", "t", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(13)") ); -new TestCase( "x = new Object(); x.charAt = String.prototype.charAt; x.charAt(14)", "]", eval("x=new Object(); x.charAt = String.prototype.charAt; x.charAt(14)") ); - -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(0)", "[", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(1)", "o", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(2)", "b", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(2)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(3)", "j", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(3)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(4)", "e", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(4)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(5)", "c", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(5)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(6)", "t", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(6)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(7)", " ", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(7)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(8)", "F", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(8)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(9)", "u", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(9)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(10)", "n", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(10)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(11)", "c", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(11)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(12)", "t", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(12)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(13)", "i", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(13)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(14)", "o", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(14)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(15)", "n", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(15)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(16)", "]", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(16)") ); -new TestCase( "x = new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(17)", "", eval("x=new Function(); x.toString = Object.prototype.toString; x.charAt = String.prototype.charAt; x.charAt(17)") ); - - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.5-1.js b/js/src/tests/ecma/String/15.5.4.5-1.js deleted file mode 100644 index 8033a0d2c563..000000000000 --- a/js/src/tests/ecma/String/15.5.4.5-1.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.5.1.js - ECMA Section: 15.5.4.5 String.prototype.charCodeAt(pos) - Description: Returns a number (a nonnegative integer less than 2^16) - representing the Unicode encoding of the character at - position pos in this string. If there is no character - at that position, the number is NaN. - - When the charCodeAt method is called with one argument - pos, the following steps are taken: - 1. Call ToString, giving it the theis value as its - argument - 2. Call ToInteger(pos) - 3. Compute the number of characters in result(1). - 4. If Result(2) is less than 0 or is not less than - Result(3), return NaN. - 5. Return a value of Number type, of positive sign, whose - magnitude is the Unicode encoding of one character - from result 1, namely the characer at position Result - (2), where the first character in Result(1) is - considered to be at position 0. - - Note that the charCodeAt function is intentionally - generic; it does not require that its this value be a - String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.5-1"; -var TITLE = "String.prototype.charCodeAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); - -for ( j = 0, i = 0x0020; i < 0x007e; i++, j++ ) { - new TestCase( "TEST_STRING.charCodeAt("+j+")", i, TEST_STRING.charCodeAt( j ) ); -} - -new TestCase( 'TEST_STRING.charCodeAt('+i+')', NaN, TEST_STRING.charCodeAt( i ) ); - - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.5-2.js b/js/src/tests/ecma/String/15.5.4.5-2.js deleted file mode 100644 index f10345cf9d77..000000000000 --- a/js/src/tests/ecma/String/15.5.4.5-2.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.5.1.js - ECMA Section: 15.5.4.5 String.prototype.charCodeAt(pos) - Description: Returns a number (a nonnegative integer less than 2^16) - representing the Unicode encoding of the character at - position pos in this string. If there is no character - at that position, the number is NaN. - - When the charCodeAt method is called with one argument - pos, the following steps are taken: - 1. Call ToString, giving it the theis value as its - argument - 2. Call ToInteger(pos) - 3. Compute the number of characters in result(1). - 4. If Result(2) is less than 0 or is not less than - Result(3), return NaN. - 5. Return a value of Number type, of positive sign, whose - magnitude is the Unicode encoding of one character - from result 1, namely the characer at position Result - (2), where the first character in Result(1) is - considered to be at position 0. - - Note that the charCodeAt function is intentionally - generic; it does not require that its this value be a - String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.5-2"; -var TITLE = "String.prototype.charCodeAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); - -var x; - -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(0)", 0x0074, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(0)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(1)", 0x0072, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(1)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(2)", 0x0075, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(2)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(3)", 0x0065, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(3)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(4)", Number.NaN, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(4)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(-1)", Number.NaN, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(-1)") ); - -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(true)", 0x0072, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(true)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(false)", 0x0074, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(false)") ); - -new TestCase( "x = new String(); x.charCodeAt(0)", Number.NaN, eval("x=new String();x.charCodeAt(0)") ); -new TestCase( "x = new String(); x.charCodeAt(1)", Number.NaN, eval("x=new String();x.charCodeAt(1)") ); -new TestCase( "x = new String(); x.charCodeAt(-1)", Number.NaN, eval("x=new String();x.charCodeAt(-1)") ); - -new TestCase( "x = new String(); x.charCodeAt(NaN)", Number.NaN, eval("x=new String();x.charCodeAt(Number.NaN)") ); -new TestCase( "x = new String(); x.charCodeAt(Number.POSITIVE_INFINITY)", Number.NaN, eval("x=new String();x.charCodeAt(Number.POSITIVE_INFINITY)") ); -new TestCase( "x = new String(); x.charCodeAt(Number.NEGATIVE_INFINITY)", Number.NaN, eval("x=new String();x.charCodeAt(Number.NEGATIVE_INFINITY)") ); - -new TestCase( "x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(0)", 0x0031, eval("x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(0)") ); -new TestCase( "x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(1)", 0x002C, eval("x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(1)") ); -new TestCase( "x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(2)", 0x0032, eval("x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(2)") ); -new TestCase( "x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(3)", 0x002C, eval("x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(3)") ); -new TestCase( "x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(4)", 0x0033, eval("x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(4)") ); -new TestCase( "x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(5)", NaN, eval("x = new Array(1,2,3); x.charCodeAt = String.prototype.charCodeAt; x.charCodeAt(5)") ); - -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(0)", 0x005B, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(0)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(1)", 0x006F, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(1)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(2)", 0x0062, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(2)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(3)", 0x006A, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(3)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(4)", 0x0065, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(4)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(5)", 0x0063, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(5)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(6)", 0x0074, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(6)") ); - -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(7)", 0x0020, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(7)") ); - -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(8)", 0x004F, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(8)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(9)", 0x0062, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(9)") ); -new TestCase( "x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(10)", 0x006A, eval("x = new Function( 'this.charCodeAt = String.prototype.charCodeAt' ); f = new x(); f.charCodeAt(10)") ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.5-3.js b/js/src/tests/ecma/String/15.5.4.5-3.js deleted file mode 100644 index 44a6655dbedc..000000000000 --- a/js/src/tests/ecma/String/15.5.4.5-3.js +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.5-3.js - ECMA Section: 15.5.4.5 String.prototype.charCodeAt(pos) - Description: Returns a number (a nonnegative integer less than 2^16) - representing the Unicode encoding of the character at - position pos in this string. If there is no character - at that position, the number is NaN. - - When the charCodeAt method is called with one argument - pos, the following steps are taken: - 1. Call ToString, giving it the theis value as its - argument - 2. Call ToInteger(pos) - 3. Compute the number of characters in result(1). - 4. If Result(2) is less than 0 or is not less than - Result(3), return NaN. - 5. Return a value of Number type, of positive sign, whose - magnitude is the Unicode encoding of one character - from result 1, namely the characer at position Result - (2), where the first character in Result(1) is - considered to be at position 0. - - Note that the charCodeAt function is intentionally - generic; it does not require that its this value be a - String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.5-3"; -var TITLE = "String.prototype.charCodeAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); - - -var foo = new MyObject('hello'); - -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(0)", 0x0068, foo.charCodeAt(0) ); -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(1)", 0x0065, foo.charCodeAt(1) ); -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(2)", 0x006c, foo.charCodeAt(2) ); -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(3)", 0x006c, foo.charCodeAt(3) ); -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(4)", 0x006f, foo.charCodeAt(4) ); -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(-1)", Number.NaN, foo.charCodeAt(-1) ); -new TestCase( "var foo = new MyObject('hello');foo.charCodeAt(5)", Number.NaN, foo.charCodeAt(5) ); - -var boo = new MyObject(true); - -new TestCase( "var boo = new MyObject(true);boo.charCodeAt(0)", 0x0074, boo.charCodeAt(0) ); -new TestCase( "var boo = new MyObject(true);boo.charCodeAt(1)", 0x0072, boo.charCodeAt(1) ); -new TestCase( "var boo = new MyObject(true);boo.charCodeAt(2)", 0x0075, boo.charCodeAt(2) ); -new TestCase( "var boo = new MyObject(true);boo.charCodeAt(3)", 0x0065, boo.charCodeAt(3) ); - -var noo = new MyObject( Math.PI ); - -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(0)", 0x0033, noo.charCodeAt(0) ); -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(1)", 0x002E, noo.charCodeAt(1) ); -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(2)", 0x0031, noo.charCodeAt(2) ); -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(3)", 0x0034, noo.charCodeAt(3) ); -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(4)", 0x0031, noo.charCodeAt(4) ); -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(5)", 0x0035, noo.charCodeAt(5) ); -new TestCase( "var noo = new MyObject(Math.PI);noo.charCodeAt(6)", 0x0039, noo.charCodeAt(6) ); - -var noo = new MyObject( null ); - -new TestCase( "var noo = new MyObject(null);noo.charCodeAt(0)", 0x006E, noo.charCodeAt(0) ); -new TestCase( "var noo = new MyObject(null);noo.charCodeAt(1)", 0x0075, noo.charCodeAt(1) ); -new TestCase( "var noo = new MyObject(null);noo.charCodeAt(2)", 0x006C, noo.charCodeAt(2) ); -new TestCase( "var noo = new MyObject(null);noo.charCodeAt(3)", 0x006C, noo.charCodeAt(3) ); -new TestCase( "var noo = new MyObject(null);noo.charCodeAt(4)", NaN, noo.charCodeAt(4) ); - -var noo = new MyObject( void 0 ); - -new TestCase( "var noo = new MyObject(void 0);noo.charCodeAt(0)", 0x0075, noo.charCodeAt(0) ); -new TestCase( "var noo = new MyObject(void 0);noo.charCodeAt(1)", 0x006E, noo.charCodeAt(1) ); -new TestCase( "var noo = new MyObject(void 0);noo.charCodeAt(2)", 0x0064, noo.charCodeAt(2) ); -new TestCase( "var noo = new MyObject(void 0);noo.charCodeAt(3)", 0x0065, noo.charCodeAt(3) ); -new TestCase( "var noo = new MyObject(void 0);noo.charCodeAt(4)", 0x0066, noo.charCodeAt(4) ); - -test(); - - -function MyObject (v) { - this.value = v; - this.toString = new Function ( "return this.value +\"\"" ); - this.charCodeAt = String.prototype.charCodeAt; -} diff --git a/js/src/tests/ecma/String/15.5.4.5-4.js b/js/src/tests/ecma/String/15.5.4.5-4.js deleted file mode 100644 index 62872f453691..000000000000 --- a/js/src/tests/ecma/String/15.5.4.5-4.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.5-4.js - ECMA Section: 15.5.4.5 String.prototype.charCodeAt(pos) - - Description: Returns a nonnegative integer less than 2^16. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.5.4.5-4"; - -writeHeaderToLog( SECTION + " String.prototype.charCodeAt(pos)" ); - -var MAXCHARCODE = Math.pow(2,16); -var item=0, CHARCODE; - -for ( CHARCODE=0; CHARCODE <256; CHARCODE++ ) { - new TestCase( "(String.fromCharCode("+CHARCODE+")).charCodeAt(0)", - CHARCODE, - (String.fromCharCode(CHARCODE)).charCodeAt(0) ); -} -for ( CHARCODE=256; CHARCODE < 65536; CHARCODE+=999 ) { - new TestCase( "(String.fromCharCode("+CHARCODE+")).charCodeAt(0)", - CHARCODE, - (String.fromCharCode(CHARCODE)).charCodeAt(0) ); -} - -new TestCase( "(String.fromCharCode(65535)).charCodeAt(0)", 65535, (String.fromCharCode(65535)).charCodeAt(0) ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.5-5.js b/js/src/tests/ecma/String/15.5.4.5-5.js deleted file mode 100644 index 2b6a68ab87b9..000000000000 --- a/js/src/tests/ecma/String/15.5.4.5-5.js +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.5.1.js - ECMA Section: 15.5.4.5 String.prototype.charCodeAt(pos) - Description: Returns a number (a nonnegative integer less than 2^16) - representing the Unicode encoding of the character at - position pos in this string. If there is no character - at that position, the number is NaN. - - When the charCodeAt method is called with one argument - pos, the following steps are taken: - 1. Call ToString, giving it the theis value as its - argument - 2. Call ToInteger(pos) - 3. Compute the number of characters in result(1). - 4. If Result(2) is less than 0 or is not less than - Result(3), return NaN. - 5. Return a value of Number type, of positive sign, whose - magnitude is the Unicode encoding of one character - from result 1, namely the characer at position Result - (2), where the first character in Result(1) is - considered to be at position 0. - - Note that the charCodeAt function is intentionally - generic; it does not require that its this value be a - String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.5-5"; -var TITLE = "String.prototype.charCodeAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = ""; - -for ( var i = 0x0000; i < 255; i++ ) { - TEST_STRING += String.fromCharCode( i ); -} - -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(0)", 0x0074, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(0)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(1)", 0x0072, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(1)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(2)", 0x0075, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(2)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(3)", 0x0065, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(3)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(4)", Number.NaN, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(4)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(-1)", Number.NaN, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(-1)") ); - -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(true)", 0x0072, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(true)") ); -new TestCase( "x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(false)", 0x0074, eval("x = new Boolean(true); x.charCodeAt=String.prototype.charCodeAt;x.charCodeAt(false)") ); - -new TestCase( "x = new String(); x.charCodeAt(0)", Number.NaN, eval("x=new String();x.charCodeAt(0)") ); -new TestCase( "x = new String(); x.charCodeAt(1)", Number.NaN, eval("x=new String();x.charCodeAt(1)") ); -new TestCase( "x = new String(); x.charCodeAt(-1)", Number.NaN, eval("x=new String();x.charCodeAt(-1)") ); - -new TestCase( "x = new String(); x.charCodeAt(NaN)", Number.NaN, eval("x=new String();x.charCodeAt(Number.NaN)") ); -new TestCase( "x = new String(); x.charCodeAt(Number.POSITIVE_INFINITY)", Number.NaN, eval("x=new String();x.charCodeAt(Number.POSITIVE_INFINITY)") ); -new TestCase( "x = new String(); x.charCodeAt(Number.NEGATIVE_INFINITY)", Number.NaN, eval("x=new String();x.charCodeAt(Number.NEGATIVE_INFINITY)") ); - -for ( var j = 0; j < 255; j++ ) { - new TestCase( "TEST_STRING.charCodeAt("+j+")", j, TEST_STRING.charCodeAt(j) ); -} - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.6-1.js b/js/src/tests/ecma/String/15.5.4.6-1.js deleted file mode 100644 index 155aaa740029..000000000000 --- a/js/src/tests/ecma/String/15.5.4.6-1.js +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.6-1.js - ECMA Section: 15.5.4.6 String.prototype.indexOf( searchString, pos) - Description: If the given searchString appears as a substring of the - result of converting this object to a string, at one or - more positions that are at or to the right of the - specified position, then the index of the leftmost such - position is returned; otherwise -1 is returned. If - positionis undefined or not supplied, 0 is assumed, so - as to search all of the string. - - When the indexOf method is called with two arguments, - searchString and pos, the following steps are taken: - - 1. Call ToString, giving it the this value as its - argument. - 2. Call ToString(searchString). - 3. Call ToInteger(position). (If position is undefined - or not supplied, this step produces the value 0). - 4. Compute the number of characters in Result(1). - 5. Compute min(max(Result(3), 0), Result(4)). - 6. Compute the number of characters in the string that - is Result(2). - 7. Compute the smallest possible integer k not smaller - than Result(5) such that k+Result(6) is not greater - than Result(4), and for all nonnegative integers j - less than Result(6), the character at position k+j - of Result(1) is the same as the character at position - j of Result(2); but if there is no such integer k, - then compute the value -1. - 8. Return Result(7). - - Note that the indexOf function is intentionally generic; - it does not require that its this value be a String object. - Therefore it can be transferred to other kinds of objects - for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.6-1"; -var TITLE = "String.protoype.indexOf"; - -var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var j = 0; - -for ( k = 0, i = 0x0020; i < 0x007e; i++, j++, k++ ) { - new TestCase( "String.indexOf(" +String.fromCharCode(i)+ ", 0)", - k, - TEST_STRING.indexOf( String.fromCharCode(i), 0 ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007e; i++, j++, k++ ) { - new TestCase( "String.indexOf("+String.fromCharCode(i)+ ", "+ k +")", - k, - TEST_STRING.indexOf( String.fromCharCode(i), k ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007e; i++, j++, k++ ) { - new TestCase( "String.indexOf("+String.fromCharCode(i)+ ", "+k+1+")", - -1, - TEST_STRING.indexOf( String.fromCharCode(i), k+1 ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.indexOf("+(String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+0+")", - k, - TEST_STRING.indexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - 0 ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.indexOf("+(String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+ k +")", - k, - TEST_STRING.indexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - k ) ); -} -for ( k = 0, i = 0x0020; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.indexOf("+(String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+ k+1 +")", - -1, - TEST_STRING.indexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - k+1 ) ); -} - -new TestCase( "String.indexOf(" +TEST_STRING + ", 0 )", 0, TEST_STRING.indexOf( TEST_STRING, 0 ) ); - -new TestCase( "String.indexOf(" +TEST_STRING + ", 1 )", -1, TEST_STRING.indexOf( TEST_STRING, 1 )); - -print( "TEST_STRING = new String(\" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\")" ); - - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.6-2.js b/js/src/tests/ecma/String/15.5.4.6-2.js deleted file mode 100644 index c409d8655ac7..000000000000 --- a/js/src/tests/ecma/String/15.5.4.6-2.js +++ /dev/null @@ -1,200 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.6-1.js - ECMA Section: 15.5.4.6 String.prototype.indexOf( searchString, pos) - Description: If the given searchString appears as a substring of the - result of converting this object to a string, at one or - more positions that are at or to the right of the - specified position, then the index of the leftmost such - position is returned; otherwise -1 is returned. If - positionis undefined or not supplied, 0 is assumed, so - as to search all of the string. - - When the indexOf method is called with two arguments, - searchString and pos, the following steps are taken: - - 1. Call ToString, giving it the this value as its - argument. - 2. Call ToString(searchString). - 3. Call ToInteger(position). (If position is undefined - or not supplied, this step produces the value 0). - 4. Compute the number of characters in Result(1). - 5. Compute min(max(Result(3), 0), Result(4)). - 6. Compute the number of characters in the string that - is Result(2). - 7. Compute the smallest possible integer k not smaller - than Result(5) such that k+Result(6) is not greater - than Result(4), and for all nonnegative integers j - less than Result(6), the character at position k+j - of Result(1) is the same as the character at position - j of Result(2); but if there is no such integer k, - then compute the value -1. - 8. Return Result(7). - - Note that the indexOf function is intentionally generic; - it does not require that its this value be a String object. - Therefore it can be transferred to other kinds of objects - for use as a method. - - Author: christine@netscape.com, pschwartau@netscape.com - Date: 02 October 1997 - Modified: 14 July 2002 - Reason: See http://bugzilla.mozilla.org/show_bug.cgi?id=155289 - ECMA-262 Ed.3 Section 15.5.4.7 - The length property of the indexOf method is 1 - * - */ -var SECTION = "15.5.4.6-2"; -var TITLE = "String.protoype.indexOf"; -var BUGNUMBER="105721"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// the following test regresses http://scopus/bugsplat/show_bug.cgi?id=105721 - -// regress http://scopus/bugsplat/show_bug.cgi?id=105721 - -new TestCase( "function f() { return this; }; function g() { var h = f; return h(); }; g().toString()", - GLOBAL, - g().toString() - ); - - -new TestCase( "String.prototype.indexOf.length", 1, String.prototype.indexOf.length ); -new TestCase( "String.prototype.indexOf.length = null; String.prototype.indexOf.length", 1, eval("String.prototype.indexOf.length = null; String.prototype.indexOf.length") ); - -new TestCase( "var s = new String(); s.indexOf()", - -1, - eval("var s = new String(); s.indexOf()") ); - -// some Unicode tests. - -// generate a test string. - -var TEST_STRING = ""; - -for ( var u = 0x00A1; u <= 0x00FF; u++ ) { - TEST_STRING += String.fromCharCode( u ); -} - -for ( var u = 0x00A1, i = 0; u <= 0x00FF; u++, i++ ) { - new TestCase( "TEST_STRING.indexOf( " + String.fromCharCode(u) + " )", - i, - TEST_STRING.indexOf( String.fromCharCode(u) ) ); -} -for ( var u = 0x00A1, i = 0; u <= 0x00FF; u++, i++ ) { - new TestCase( "TEST_STRING.indexOf( " + String.fromCharCode(u) + ", void 0 )", - i, - TEST_STRING.indexOf( String.fromCharCode(u), void 0 ) ); -} - - - -var foo = new MyObject('hello'); - -new TestCase( "var foo = new MyObject('hello');foo.indexOf('h')", 0, foo.indexOf("h") ); -new TestCase( "var foo = new MyObject('hello');foo.indexOf('e')", 1, foo.indexOf("e") ); -new TestCase( "var foo = new MyObject('hello');foo.indexOf('l')", 2, foo.indexOf("l") ); -new TestCase( "var foo = new MyObject('hello');foo.indexOf('l')", 2, foo.indexOf("l") ); -new TestCase( "var foo = new MyObject('hello');foo.indexOf('o')", 4, foo.indexOf("o") ); -new TestCase( "var foo = new MyObject('hello');foo.indexOf('X')", -1, foo.indexOf("X") ); -new TestCase( "var foo = new MyObject('hello');foo.indexOf(5) ", -1, foo.indexOf(5) ); - -var boo = new MyObject(true); - -new TestCase( "var boo = new MyObject(true);boo.indexOf('t')", 0, boo.indexOf("t") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('r')", 1, boo.indexOf("r") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('u')", 2, boo.indexOf("u") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('e')", 3, boo.indexOf("e") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('true')", 0, boo.indexOf("true") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('rue')", 1, boo.indexOf("rue") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('ue')", 2, boo.indexOf("ue") ); -new TestCase( "var boo = new MyObject(true);boo.indexOf('oy')", -1, boo.indexOf("oy") ); - - -var noo = new MyObject( Math.PI ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('3') ", 0, noo.indexOf('3') ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('.') ", 1, noo.indexOf('.') ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('1') ", 2, noo.indexOf('1') ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('4') ", 3, noo.indexOf('4') ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('1') ", 2, noo.indexOf('1') ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('5') ", 5, noo.indexOf('5') ); -new TestCase( "var noo = new MyObject(Math.PI); noo.indexOf('9') ", 6, noo.indexOf('9') ); - -new TestCase( "var arr = new Array('new','zoo','revue'); arr.indexOf = String.prototype.indexOf; arr.indexOf('new')", - 0, - eval("var arr = new Array('new','zoo','revue'); arr.indexOf = String.prototype.indexOf; arr.indexOf('new')") ); - -new TestCase( "var arr = new Array('new','zoo','revue'); arr.indexOf = String.prototype.indexOf; arr.indexOf(',zoo,')", - 3, - eval("var arr = new Array('new','zoo','revue'); arr.indexOf = String.prototype.indexOf; arr.indexOf(',zoo,')") ); - -new TestCase( "var obj = new Object(); obj.indexOf = String.prototype.indexOf; obj.indexOf('[object Object]')", - 0, - eval("var obj = new Object(); obj.indexOf = String.prototype.indexOf; obj.indexOf('[object Object]')") ); - -new TestCase( "var obj = new Object(); obj.indexOf = String.prototype.indexOf; obj.indexOf('bject')", - 2, - eval("var obj = new Object(); obj.indexOf = String.prototype.indexOf; obj.indexOf('bject')") ); - -new TestCase( "var f = new Function(); f.toString = Object.prototype.toString; f.indexOf = String.prototype.indexOf; f.indexOf('[object Function]')", - 0, - eval("var f = new Function(); f.toString = Object.prototype.toString; f.indexOf = String.prototype.indexOf; f.indexOf('[object Function]')") ); - -new TestCase( "var b = new Boolean(); b.indexOf = String.prototype.indexOf; b.indexOf('true')", - -1, - eval("var b = new Boolean(); b.indexOf = String.prototype.indexOf; b.indexOf('true')") ); - -new TestCase( "var b = new Boolean(); b.indexOf = String.prototype.indexOf; b.indexOf('false', 1)", - -1, - eval("var b = new Boolean(); b.indexOf = String.prototype.indexOf; b.indexOf('false', 1)") ); - -new TestCase( "var b = new Boolean(); b.indexOf = String.prototype.indexOf; b.indexOf('false', 0)", - 0, - eval("var b = new Boolean(); b.indexOf = String.prototype.indexOf; b.indexOf('false', 0)") ); - -new TestCase( "var n = new Number(1e21); n.indexOf = String.prototype.indexOf; n.indexOf('e')", - 1, - eval("var n = new Number(1e21); n.indexOf = String.prototype.indexOf; n.indexOf('e')") ); - -new TestCase( "var n = new Number(-Infinity); n.indexOf = String.prototype.indexOf; n.indexOf('-')", - 0, - eval("var n = new Number(-Infinity); n.indexOf = String.prototype.indexOf; n.indexOf('-')") ); - -new TestCase( "var n = new Number(0xFF); n.indexOf = String.prototype.indexOf; n.indexOf('5')", - 1, - eval("var n = new Number(0xFF); n.indexOf = String.prototype.indexOf; n.indexOf('5')") ); - -new TestCase( "var m = Math; m.indexOf = String.prototype.indexOf; m.indexOf( 'Math' )", - 8, - eval("var m = Math; m.indexOf = String.prototype.indexOf; m.indexOf( 'Math' )") ); - -// new Date(0) has '31' or '01' at index 8 depending on whether tester is (GMT-) or (GMT+), respectively -new TestCase( "var d = new Date(0); d.indexOf = String.prototype.indexOf; d.getTimezoneOffset()>0 ? d.indexOf('31') : d.indexOf('01')", - 8, - eval("var d = new Date(0); d.indexOf = String.prototype.indexOf; d.getTimezoneOffset()>0 ? d.indexOf('31') : d.indexOf('01')") ); - -test(); - -function f() { - return this; -} -function g() { - var h = f; - return h(); -} - -function MyObject (v) { - this.value = v; - this.toString = new Function ( "return this.value +\"\""); - this.indexOf = String.prototype.indexOf; -} - diff --git a/js/src/tests/ecma/String/15.5.4.7-1.js b/js/src/tests/ecma/String/15.5.4.7-1.js deleted file mode 100644 index e429ff8937b7..000000000000 --- a/js/src/tests/ecma/String/15.5.4.7-1.js +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.7-1.js - ECMA Section: 15.5.4.7 String.prototype.lastIndexOf( searchString, pos) - Description: - - If the given searchString appears as a substring of the result of - converting this object to a string, at one or more positions that are - at or to the left of the specified position, then the index of the - rightmost such position is returned; otherwise -1 is returned. If position - is undefined or not supplied, the length of this string value is assumed, - so as to search all of the string. - - When the lastIndexOf method is called with two arguments searchString and - position, the following steps are taken: - - 1.Call ToString, giving it the this value as its argument. - 2.Call ToString(searchString). - 3.Call ToNumber(position). (If position is undefined or not supplied, this step produces the value NaN). - 4.If Result(3) is NaN, use +; otherwise, call ToInteger(Result(3)). - 5.Compute the number of characters in Result(1). - 6.Compute min(max(Result(4), 0), Result(5)). - 7.Compute the number of characters in the string that is Result(2). - 8.Compute the largest possible integer k not larger than Result(6) such that k+Result(7) is not greater - than Result(5), and for all nonnegative integers j less than Result(7), the character at position k+j of - Result(1) is the same as the character at position j of Result(2); but if there is no such integer k, then - compute the value -1. - - 1.Return Result(8). - - Note that the lastIndexOf function is intentionally generic; it does not require that its this value be a - String object. Therefore it can be transferred to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.7-1"; -var TITLE = "String.protoype.lastIndexOf"; - -var TEST_STRING = new String( " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var j = 0; - -for ( k = 0, i = 0x0021; i < 0x007e; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf(" +String.fromCharCode(i)+ ", 0)", - -1, - TEST_STRING.lastIndexOf( String.fromCharCode(i), 0 ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007e; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf("+String.fromCharCode(i)+ ", "+ k +")", - k, - TEST_STRING.lastIndexOf( String.fromCharCode(i), k ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007e; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf("+String.fromCharCode(i)+ ", "+k+1+")", - k, - TEST_STRING.lastIndexOf( String.fromCharCode(i), k+1 ) ); -} - -for ( k = 9, i = 0x0021; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf("+(String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+ 0 + ")", - LastIndexOf( TEST_STRING, String.fromCharCode(i) + - String.fromCharCode(i+1)+String.fromCharCode(i+2), 0), - TEST_STRING.lastIndexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - 0 ) ); -} - -for ( k = 0, i = 0x0020; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf("+(String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+ k +")", - k, - TEST_STRING.lastIndexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - k ) ); -} -for ( k = 0, i = 0x0020; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf("+(String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+ k+1 +")", - k, - TEST_STRING.lastIndexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - k+1 ) ); -} -for ( k = 0, i = 0x0020; i < 0x007d; i++, j++, k++ ) { - new TestCase( "String.lastIndexOf("+ - (String.fromCharCode(i) + - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)) +", "+ (k-1) +")", - LastIndexOf( TEST_STRING, String.fromCharCode(i) + - String.fromCharCode(i+1)+String.fromCharCode(i+2), k-1), - TEST_STRING.lastIndexOf( (String.fromCharCode(i)+ - String.fromCharCode(i+1)+ - String.fromCharCode(i+2)), - k-1 ) ); -} - -new TestCase( "String.lastIndexOf(" +TEST_STRING + ", 0 )", 0, TEST_STRING.lastIndexOf( TEST_STRING, 0 ) ); - -// new TestCase( "String.lastIndexOf(" +TEST_STRING + ", 1 )", 0, TEST_STRING.lastIndexOf( TEST_STRING, 1 )); - -new TestCase( "String.lastIndexOf(" +TEST_STRING + ")", 0, TEST_STRING.lastIndexOf( TEST_STRING )); - -print( "TEST_STRING = new String(\" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\")" ); - -test(); - -function LastIndexOf( string, search, position ) { - string = String( string ); - search = String( search ); - - position = Number( position ) - - if ( isNaN( position ) ) { - position = Infinity; - } else { - position = ToInteger( position ); - } - - result5= string.length; - result6 = Math.min(Math.max(position, 0), result5); - result7 = search.length; - - if (result7 == 0) { - return Math.min(position, result5); - } - - result8 = -1; - - for ( k = 0; k <= result6; k++ ) { - if ( k+ result7 > result5 ) { - break; - } - for ( j = 0; j < result7; j++ ) { - if ( string.charAt(k+j) != search.charAt(j) ){ - break; - } else { - if ( j == result7 -1 ) { - result8 = k; - } - } - } - } - - return result8; -} -function ToInteger( n ) { - n = Number( n ); - if ( isNaN(n) ) { - return 0; - } - if ( Math.abs(n) == 0 || Math.abs(n) == Infinity ) { - return n; - } - - var sign = ( n < 0 ) ? -1 : 1; - - return ( sign * Math.floor(Math.abs(n)) ); -} diff --git a/js/src/tests/ecma/String/15.5.4.7-2.js b/js/src/tests/ecma/String/15.5.4.7-2.js deleted file mode 100644 index 6b8ec6d135a4..000000000000 --- a/js/src/tests/ecma/String/15.5.4.7-2.js +++ /dev/null @@ -1,173 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.7-2.js - ECMA Section: 15.5.4.7 String.prototype.lastIndexOf( searchString, pos) - Description: - - If the given searchString appears as a substring of the result of - converting this object to a string, at one or more positions that are - at or to the left of the specified position, then the index of the - rightmost such position is returned; otherwise -1 is returned. If position - is undefined or not supplied, the length of this string value is assumed, - so as to search all of the string. - - When the lastIndexOf method is called with two arguments searchString and - position, the following steps are taken: - - 1.Call ToString, giving it the this value as its argument. - 2.Call ToString(searchString). - 3.Call ToNumber(position). (If position is undefined or not supplied, this step produces the value NaN). - 4.If Result(3) is NaN, use +; otherwise, call ToInteger(Result(3)). - 5.Compute the number of characters in Result(1). - 6.Compute min(max(Result(4), 0), Result(5)). - 7.Compute the number of characters in the string that is Result(2). - 8.Compute the largest possible integer k not larger than Result(6) such that k+Result(7) is not greater - than Result(5), and for all nonnegative integers j less than Result(7), the character at position k+j of - Result(1) is the same as the character at position j of Result(2); but if there is no such integer k, then - compute the value -1. - - 1.Return Result(8). - - Note that the lastIndexOf function is intentionally generic; it does not require that its this value be a - String object. Therefore it can be transferred to other kinds of objects for use as a method. - - Author: christine@netscape.com, pschwartau@netscape.com - Date: 02 October 1997 - Modified: 14 July 2002 - Reason: See http://bugzilla.mozilla.org/show_bug.cgi?id=155289 - ECMA-262 Ed.3 Section 15.5.4.8 - The length property of the lastIndexOf method is 1 - * - */ -var SECTION = "15.5.4.7-2"; -var TITLE = "String.protoype.lastIndexOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "String.prototype.lastIndexOf.length", 1, String.prototype.lastIndexOf.length ); - -new TestCase( "var s = new String(''); s.lastIndexOf('', 0)", LastIndexOf("","",0), eval("var s = new String(''); s.lastIndexOf('', 0)") ); -new TestCase( "var s = new String(''); s.lastIndexOf('')", LastIndexOf("",""), eval("var s = new String(''); s.lastIndexOf('')") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('', 0)", LastIndexOf("hello","",0), eval("var s = new String('hello'); s.lastIndexOf('',0)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('')", LastIndexOf("hello",""), eval("var s = new String('hello'); s.lastIndexOf('')") ); - -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll')", LastIndexOf("hello","ll"), eval("var s = new String('hello'); s.lastIndexOf('ll')") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 0)", LastIndexOf("hello","ll",0), eval("var s = new String('hello'); s.lastIndexOf('ll', 0)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 1)", LastIndexOf("hello","ll",1), eval("var s = new String('hello'); s.lastIndexOf('ll', 1)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 2)", LastIndexOf("hello","ll",2), eval("var s = new String('hello'); s.lastIndexOf('ll', 2)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 3)", LastIndexOf("hello","ll",3), eval("var s = new String('hello'); s.lastIndexOf('ll', 3)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 4)", LastIndexOf("hello","ll",4), eval("var s = new String('hello'); s.lastIndexOf('ll', 4)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 5)", LastIndexOf("hello","ll",5), eval("var s = new String('hello'); s.lastIndexOf('ll', 5)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 6)", LastIndexOf("hello","ll",6), eval("var s = new String('hello'); s.lastIndexOf('ll', 6)") ); - -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 1.5)", LastIndexOf('hello','ll', 1.5), eval("var s = new String('hello'); s.lastIndexOf('ll', 1.5)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', 2.5)", LastIndexOf('hello','ll', 2.5), eval("var s = new String('hello'); s.lastIndexOf('ll', 2.5)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', -1)", LastIndexOf('hello','ll', -1), eval("var s = new String('hello'); s.lastIndexOf('ll', -1)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', -1.5)",LastIndexOf('hello','ll', -1.5), eval("var s = new String('hello'); s.lastIndexOf('ll', -1.5)") ); - -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', -Infinity)", LastIndexOf("hello","ll",-Infinity), eval("var s = new String('hello'); s.lastIndexOf('ll', -Infinity)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', Infinity)", LastIndexOf("hello","ll",Infinity), eval("var s = new String('hello'); s.lastIndexOf('ll', Infinity)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', NaN)", LastIndexOf("hello","ll",NaN), eval("var s = new String('hello'); s.lastIndexOf('ll', NaN)") ); -new TestCase( "var s = new String('hello'); s.lastIndexOf('ll', -0)", LastIndexOf("hello","ll",-0), eval("var s = new String('hello'); s.lastIndexOf('ll', -0)") ); -for ( var i = 0; i < ( "[object Object]" ).length; i++ ) { - new TestCase( "var o = new Object(); o.lastIndexOf = String.prototype.lastIndexOf; o.lastIndexOf('b', "+ i + ")", - ( i < 2 ? -1 : ( i < 9 ? 2 : 9 )) , - eval("var o = new Object(); o.lastIndexOf = String.prototype.lastIndexOf; o.lastIndexOf('b', "+ i + ")") ); -} -for ( var i = 0; i < 5; i ++ ) { - new TestCase( "var b = new Boolean(); b.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('l', "+ i + ")", - ( i < 2 ? -1 : 2 ), - eval("var b = new Boolean(); b.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('l', "+ i + ")") ); -} -for ( var i = 0; i < 5; i ++ ) { - new TestCase( "var b = new Boolean(); b.toString = Object.prototype.toString; b.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('o', "+ i + ")", - ( i < 1 ? -1 : ( i < 9 ? 1 : ( i < 10 ? 9 : 10 ) ) ), - eval("var b = new Boolean(); b.toString = Object.prototype.toString; b.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('o', "+ i + ")") ); -} -for ( var i = 0; i < 9; i++ ) { - new TestCase( "var n = new Number(Infinity); n.lastIndexOf = String.prototype.lastIndexOf; n.lastIndexOf( 'i', " + i + " )", - ( i < 3 ? -1 : ( i < 5 ? 3 : 5 ) ), - eval("var n = new Number(Infinity); n.lastIndexOf = String.prototype.lastIndexOf; n.lastIndexOf( 'i', " + i + " )") ); -} -var a = new Array( "abc","def","ghi","jkl","mno","pqr","stu","vwx","yz" ); - -for ( var i = 0; i < (a.toString()).length; i++ ) { - new TestCase( "var a = new Array( 'abc','def','ghi','jkl','mno','pqr','stu','vwx','yz' ); a.lastIndexOf = String.prototype.lastIndexOf; a.lastIndexOf( ',mno,p', "+i+" )", - ( i < 15 ? -1 : 15 ), - eval("var a = new Array( 'abc','def','ghi','jkl','mno','pqr','stu','vwx','yz' ); a.lastIndexOf = String.prototype.lastIndexOf; a.lastIndexOf( ',mno,p', "+i+" )") ); -} - -for ( var i = 0; i < 15; i ++ ) { - new TestCase( "var m = Math; m.lastIndexOf = String.prototype.lastIndexOf; m.lastIndexOf('t', "+ i + ")", - ( i < 6 ? -1 : ( i < 10 ? 6 : 10 ) ), - eval("var m = Math; m.lastIndexOf = String.prototype.lastIndexOf; m.lastIndexOf('t', "+ i + ")") ); -} -/* - for ( var i = 0; i < 15; i++ ) { - new TestCase( - "var d = new Date(); d.lastIndexOf = String.prototype.lastIndexOf; d.lastIndexOf( '0' )", - ) - } - -*/ - -test(); - -function LastIndexOf( string, search, position ) { - string = String( string ); - search = String( search ); - - position = Number( position ) - - if ( isNaN( position ) ) { - position = Infinity; - } else { - position = ToInteger( position ); - } - - result5= string.length; - result6 = Math.min(Math.max(position, 0), result5); - result7 = search.length; - - if (result7 == 0) { - return Math.min(position, result5); - } - - result8 = -1; - - for ( k = 0; k <= result6; k++ ) { - if ( k+ result7 > result5 ) { - break; - } - for ( j = 0; j < result7; j++ ) { - if ( string.charAt(k+j) != search.charAt(j) ){ - break; - } else { - if ( j == result7 -1 ) { - result8 = k; - } - } - } - } - - return result8; -} -function ToInteger( n ) { - n = Number( n ); - if ( isNaN(n) ) { - return 0; - } - if ( Math.abs(n) == 0 || Math.abs(n) == Infinity ) { - return n; - } - - var sign = ( n < 0 ) ? -1 : 1; - - return ( sign * Math.floor(Math.abs(n)) ); -} diff --git a/js/src/tests/ecma/String/15.5.4.8-1.js b/js/src/tests/ecma/String/15.5.4.8-1.js deleted file mode 100644 index 1f1f6b0a94a5..000000000000 --- a/js/src/tests/ecma/String/15.5.4.8-1.js +++ /dev/null @@ -1,166 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.8-1.js - ECMA Section: 15.5.4.8 String.prototype.split( separator ) - Description: - - Returns an Array object into which substrings of the result of converting - this object to a string have been stored. The substrings are determined by - searching from left to right for occurrences of the given separator; these - occurrences are not part of any substring in the returned array, but serve - to divide up this string value. The separator may be a string of any length. - - As a special case, if the separator is the empty string, the string is split - up into individual characters; the length of the result array equals the - length of the string, and each substring contains one character. - - If the separator is not supplied, then the result array contains just one - string, which is the string. - - Author: christine@netscape.com, pschwartau@netscape.com - Date: 12 November 1997 - Modified: 14 July 2002 - Reason: See http://bugzilla.mozilla.org/show_bug.cgi?id=155289 - ECMA-262 Ed.3 Section 15.5.4.14 - The length property of the split method is 2 - * - */ - -var SECTION = "15.5.4.8-1"; -var TITLE = "String.prototype.split"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.split.length", 2, String.prototype.split.length ); - -// test cases for when split is called with no arguments. - -// this is a string object - -new TestCase( "var s = new String('this is a string object'); typeof s.split()", - "object", - eval("var s = new String('this is a string object'); typeof s.split()") ); - -new TestCase( "var s = new String('this is a string object'); Array.prototype.getClass = Object.prototype.toString; (s.split()).getClass()", - "[object Array]", - eval("var s = new String('this is a string object'); Array.prototype.getClass = Object.prototype.toString; (s.split()).getClass()") ); - -new TestCase( "var s = new String('this is a string object'); s.split().length", - 1, - eval("var s = new String('this is a string object'); s.split().length") ); - -new TestCase( "var s = new String('this is a string object'); s.split()[0]", - "this is a string object", - eval("var s = new String('this is a string object'); s.split()[0]") ); - -// this is an object object -new TestCase( "var obj = new Object(); obj.split = String.prototype.split; typeof obj.split()", - "object", - eval("var obj = new Object(); obj.split = String.prototype.split; typeof obj.split()") ); - -new TestCase( "var obj = new Object(); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.getClass()", - "[object Array]", - eval("var obj = new Object(); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.split().getClass()") ); - -new TestCase( "var obj = new Object(); obj.split = String.prototype.split; obj.split().length", - 1, - eval("var obj = new Object(); obj.split = String.prototype.split; obj.split().length") ); - -new TestCase( "var obj = new Object(); obj.split = String.prototype.split; obj.split()[0]", - "[object Object]", - eval("var obj = new Object(); obj.split = String.prototype.split; obj.split()[0]") ); - -// this is a function object -new TestCase( "var obj = new Function(); obj.split = String.prototype.split; typeof obj.split()", - "object", - eval("var obj = new Function(); obj.split = String.prototype.split; typeof obj.split()") ); - -new TestCase( "var obj = new Function(); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.getClass()", - "[object Array]", - eval("var obj = new Function(); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.split().getClass()") ); - -new TestCase( "var obj = new Function(); obj.split = String.prototype.split; obj.split().length", - 1, - eval("var obj = new Function(); obj.split = String.prototype.split; obj.split().length") ); - -new TestCase( "var obj = new Function(); obj.split = String.prototype.split; obj.toString = Object.prototype.toString; obj.split()[0]", - "[object Function]", - eval("var obj = new Function(); obj.split = String.prototype.split; obj.toString = Object.prototype.toString; obj.split()[0]") ); - -// this is a number object -new TestCase( "var obj = new Number(NaN); obj.split = String.prototype.split; typeof obj.split()", - "object", - eval("var obj = new Number(NaN); obj.split = String.prototype.split; typeof obj.split()") ); - -new TestCase( "var obj = new Number(Infinity); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.getClass()", - "[object Array]", - eval("var obj = new Number(Infinity); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.split().getClass()") ); - -new TestCase( "var obj = new Number(-1234567890); obj.split = String.prototype.split; obj.split().length", - 1, - eval("var obj = new Number(-1234567890); obj.split = String.prototype.split; obj.split().length") ); - -new TestCase( "var obj = new Number(-1e21); obj.split = String.prototype.split; obj.split()[0]", - "-1e+21", - eval("var obj = new Number(-1e21); obj.split = String.prototype.split; obj.split()[0]") ); - - -// this is the Math object -new TestCase( "var obj = Math; obj.split = String.prototype.split; typeof obj.split()", - "object", - eval("var obj = Math; obj.split = String.prototype.split; typeof obj.split()") ); - -new TestCase( "var obj = Math; obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.getClass()", - "[object Array]", - eval("var obj = Math; obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.split().getClass()") ); - -new TestCase( "var obj = Math; obj.split = String.prototype.split; obj.split().length", - 1, - eval("var obj = Math; obj.split = String.prototype.split; obj.split().length") ); - -new TestCase( "var obj = Math; obj.split = String.prototype.split; obj.split()[0]", - "[object Math]", - eval("var obj = Math; obj.split = String.prototype.split; obj.split()[0]") ); - -// this is an array object -new TestCase( "var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; typeof obj.split()", - "object", - eval("var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; typeof obj.split()") ); - -new TestCase( "var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.getClass()", - "[object Array]", - eval("var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.split().getClass()") ); - -new TestCase( "var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; obj.split().length", - 1, - eval("var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; obj.split().length") ); - -new TestCase( "var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; obj.split()[0]", - "1,2,3,4,5", - eval("var obj = new Array(1,2,3,4,5); obj.split = String.prototype.split; obj.split()[0]") ); - -// this is a Boolean object - -new TestCase( "var obj = new Boolean(); obj.split = String.prototype.split; typeof obj.split()", - "object", - eval("var obj = new Boolean(); obj.split = String.prototype.split; typeof obj.split()") ); - -new TestCase( "var obj = new Boolean(); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.getClass()", - "[object Array]", - eval("var obj = new Boolean(); obj.split = String.prototype.split; Array.prototype.getClass = Object.prototype.toString; obj.split().getClass()") ); - -new TestCase( "var obj = new Boolean(); obj.split = String.prototype.split; obj.split().length", - 1, - eval("var obj = new Boolean(); obj.split = String.prototype.split; obj.split().length") ); - -new TestCase( "var obj = new Boolean(); obj.split = String.prototype.split; obj.split()[0]", - "false", - eval("var obj = new Boolean(); obj.split = String.prototype.split; obj.split()[0]") ); - - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.8-2.js b/js/src/tests/ecma/String/15.5.4.8-2.js deleted file mode 100644 index 81ce58edd71d..000000000000 --- a/js/src/tests/ecma/String/15.5.4.8-2.js +++ /dev/null @@ -1,193 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.8-2.js - ECMA Section: 15.5.4.8 String.prototype.split( separator ) - Description: - - Returns an Array object into which substrings of the result of converting - this object to a string have been stored. The substrings are determined by - searching from left to right for occurrences of the given separator; these - occurrences are not part of any substring in the returned array, but serve - to divide up this string value. The separator may be a string of any length. - - As a special case, if the separator is the empty string, the string is split - up into individual characters; the length of the result array equals the - length of the string, and each substring contains one character. - - If the separator is not supplied, then the result array contains just one - string, which is the string. - - When the split method is called with one argument separator, the following steps are taken: - - 1. Call ToString, giving it the this value as its argument. - 2. Create a new Array object of length 0 and call it A. - 3. If separator is not supplied, call the [[Put]] method of A with 0 and - Result(1) as arguments, and then return A. - 4. Call ToString(separator). - 5. Compute the number of characters in Result(1). - 6. Compute the number of characters in the string that is Result(4). - 7. Let p be 0. - 8. If Result(6) is zero (the separator string is empty), go to step 17. - 9. Compute the smallest possible integer k not smaller than p such that - k+Result(6) is not greater than Result(5), and for all nonnegative - integers j less than Result(6), the character at position k+j of - Result(1) is the same as the character at position j of Result(2); - but if there is no such integer k, then go to step 14. - 10. Compute a string value equal to the substring of Result(1), consisting - of the characters at positions p through k1, inclusive. - 11. Call the [[Put]] method of A with A.length and Result(10) as arguments. - 12. Let p be k+Result(6). - 13. Go to step 9. - 14. Compute a string value equal to the substring of Result(1), consisting - of the characters from position p to the end of Result(1). - 15. Call the [[Put]] method of A with A.length and Result(14) as arguments. - 16. Return A. - 17. If p equals Result(5), return A. - 18. Compute a string value equal to the substring of Result(1), consisting of - the single character at position p. - 19. Call the [[Put]] method of A with A.length and Result(18) as arguments. - 20. Increase p by 1. - 21. Go to step 17. - - Note that the split function is intentionally generic; it does not require that its this value be a String - object. Therefore it can be transferred to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.8-2"; -var TITLE = "String.prototype.split"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// case where separator is the empty string. - -var TEST_STRING = "this is a string object"; - -new TestCase( "var s = new String( "+ TEST_STRING +" ); s.split('').length", - TEST_STRING.length, - eval("var s = new String( TEST_STRING ); s.split('').length") ); - -for ( var i = 0; i < TEST_STRING.length; i++ ) { - - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split('')["+i+"]", - TEST_STRING.charAt(i), - eval("var s = new String( TEST_STRING ); s.split('')["+i+"]") ); -} - -// case where the value of the separator is undefined. in this case, -// the this value is returned. - -var TEST_STRING = "thisundefinedisundefinedaundefinedstringundefinedobject"; -var EXPECT_STRING = new Array( TEST_STRING ); - -new TestCase( "var s = new String( "+ TEST_STRING +" ); s.split(void 0).length", - EXPECT_STRING.length, - eval("var s = new String( TEST_STRING ); s.split(void 0).length") ); - -for ( var i = 0; i < EXPECT_STRING.length; i++ ) { - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split(void 0)["+i+"]", - EXPECT_STRING[i], - eval("var s = new String( TEST_STRING ); s.split(void 0)["+i+"]") ); -} - -// case where the value of the separator is null. in this case the value of the separator is "null". -TEST_STRING = "thisnullisnullanullstringnullobject"; -var EXPECT_STRING = new Array( "this", "is", "a", "string", "object" ); - -new TestCase( "var s = new String( "+ TEST_STRING +" ); s.split(null).length", - EXPECT_STRING.length, - eval("var s = new String( TEST_STRING ); s.split(null).length") ); - -for ( var i = 0; i < EXPECT_STRING.length; i++ ) { - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split(null)["+i+"]", - EXPECT_STRING[i], - eval("var s = new String( TEST_STRING ); s.split(null)["+i+"]") ); -} - -// case where the value of the separator is a boolean. -TEST_STRING = "thistrueistrueatruestringtrueobject"; -var EXPECT_STRING = new Array( "this", "is", "a", "string", "object" ); - -new TestCase( "var s = new String( "+ TEST_STRING +" ); s.split(true).length", - EXPECT_STRING.length, - eval("var s = new String( TEST_STRING ); s.split(true).length") ); - -for ( var i = 0; i < EXPECT_STRING.length; i++ ) { - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split(true)["+i+"]", - EXPECT_STRING[i], - eval("var s = new String( TEST_STRING ); s.split(true)["+i+"]") ); -} - -// case where the value of the separator is a number -TEST_STRING = "this123is123a123string123object"; -var EXPECT_STRING = new Array( "this", "is", "a", "string", "object" ); - -new TestCase( "var s = new String( "+ TEST_STRING +" ); s.split(123).length", - EXPECT_STRING.length, - eval("var s = new String( TEST_STRING ); s.split(123).length") ); - -for ( var i = 0; i < EXPECT_STRING.length; i++ ) { - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split(123)["+i+"]", - EXPECT_STRING[i], - eval("var s = new String( TEST_STRING ); s.split(123)["+i+"]") ); -} - - -// case where the value of the separator is a number -TEST_STRING = "this123is123a123string123object"; -var EXPECT_STRING = new Array( "this", "is", "a", "string", "object" ); - -new TestCase( "var s = new String( "+ TEST_STRING +" ); s.split(123).length", - EXPECT_STRING.length, - eval("var s = new String( TEST_STRING ); s.split(123).length") ); - -for ( var i = 0; i < EXPECT_STRING.length; i++ ) { - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split(123)["+i+"]", - EXPECT_STRING[i], - eval("var s = new String( TEST_STRING ); s.split(123)["+i+"]") ); -} - -// case where the separator is not in the string -TEST_STRING = "this is a string"; -EXPECT_STRING = new Array( "this is a string" ); - -new TestCase( "var s = new String( " + TEST_STRING + " ); s.split(':').length", - 1, - eval("var s = new String( TEST_STRING ); s.split(':').length") ); - -new TestCase( "var s = new String( " + TEST_STRING + " ); s.split(':')[0]", - TEST_STRING, - eval("var s = new String( TEST_STRING ); s.split(':')[0]") ); - -// case where part but not all of separator is in the string. -TEST_STRING = "this is a string"; -EXPECT_STRING = new Array( "this is a string" ); -new TestCase( "var s = new String( " + TEST_STRING + " ); s.split('strings').length", - 1, - eval("var s = new String( TEST_STRING ); s.split('strings').length") ); - -new TestCase( "var s = new String( " + TEST_STRING + " ); s.split('strings')[0]", - TEST_STRING, - eval("var s = new String( TEST_STRING ); s.split('strings')[0]") ); - -// case where the separator is at the end of the string -TEST_STRING = "this is a string"; -EXPECT_STRING = new Array( "this is a " ); -new TestCase( "var s = new String( " + TEST_STRING + " ); s.split('string').length", - 2, - eval("var s = new String( TEST_STRING ); s.split('string').length") ); - -for ( var i = 0; i < EXPECT_STRING.length; i++ ) { - new TestCase( "var s = new String( "+TEST_STRING+" ); s.split('string')["+i+"]", - EXPECT_STRING[i], - eval("var s = new String( TEST_STRING ); s.split('string')["+i+"]") ); -} - -test(); diff --git a/js/src/tests/ecma/String/15.5.4.8-3.js b/js/src/tests/ecma/String/15.5.4.8-3.js deleted file mode 100644 index ea5e0b78ea7a..000000000000 --- a/js/src/tests/ecma/String/15.5.4.8-3.js +++ /dev/null @@ -1,155 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.8-3.js - ECMA Section: 15.5.4.8 String.prototype.split( separator ) - Description: - - Returns an Array object into which substrings of the result of converting - this object to a string have been stored. The substrings are determined by - searching from left to right for occurrences of the given separator; these - occurrences are not part of any substring in the returned array, but serve - to divide up this string value. The separator may be a string of any length. - - As a special case, if the separator is the empty string, the string is split - up into individual characters; the length of the result array equals the - length of the string, and each substring contains one character. - - If the separator is not supplied, then the result array contains just one - string, which is the string. - - When the split method is called with one argument separator, the following steps are taken: - - 1. Call ToString, giving it the this value as its argument. - 2. Create a new Array object of length 0 and call it A. - 3. If separator is not supplied, call the [[Put]] method of A with 0 and - Result(1) as arguments, and then return A. - 4. Call ToString(separator). - 5. Compute the number of characters in Result(1). - 6. Compute the number of characters in the string that is Result(4). - 7. Let p be 0. - 8. If Result(6) is zero (the separator string is empty), go to step 17. - 9. Compute the smallest possible integer k not smaller than p such that - k+Result(6) is not greater than Result(5), and for all nonnegative - integers j less than Result(6), the character at position k+j of - Result(1) is the same as the character at position j of Result(2); - but if there is no such integer k, then go to step 14. - 10. Compute a string value equal to the substring of Result(1), consisting - of the characters at positions p through k1, inclusive. - 11. Call the [[Put]] method of A with A.length and Result(10) as arguments. - 12. Let p be k+Result(6). - 13. Go to step 9. - 14. Compute a string value equal to the substring of Result(1), consisting - of the characters from position p to the end of Result(1). - 15. Call the [[Put]] method of A with A.length and Result(14) as arguments. - 16. Return A. - 17. If p equals Result(5), return A. - 18. Compute a string value equal to the substring of Result(1), consisting of - the single character at position p. - 19. Call the [[Put]] method of A with A.length and Result(18) as arguments. - 20. Increase p by 1. - 21. Go to step 17. - - Note that the split function is intentionally generic; it does not require that its this value be a String - object. Therefore it can be transferred to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.8-3"; -var TITLE = "String.prototype.split"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var TEST_STRING = ""; -var EXPECT = new Array(); - -// this.toString is the empty string. - -new TestCase( "var s = new String(); s.split().length", - 1, - eval("var s = new String(); s.split().length") ); - -new TestCase( "var s = new String(); s.split()[0]", - "", - eval("var s = new String(); s.split()[0]") ); - -// this.toString() is the empty string, separator is specified. - -new TestCase( "var s = new String(); s.split('').length", - 0, - eval("var s = new String(); s.split('').length") ); - -new TestCase( "var s = new String(); s.split(' ').length", - 1, - eval("var s = new String(); s.split(' ').length") ); - -// this to string is " " -new TestCase( "var s = new String(' '); s.split().length", - 1, - eval("var s = new String(' '); s.split().length") ); - -new TestCase( "var s = new String(' '); s.split()[0]", - " ", - eval("var s = new String(' '); s.split()[0]") ); - -new TestCase( "var s = new String(' '); s.split('').length", - 1, - eval("var s = new String(' '); s.split('').length") ); - -new TestCase( "var s = new String(' '); s.split('')[0]", - " ", - eval("var s = new String(' '); s.split('')[0]") ); - -new TestCase( "var s = new String(' '); s.split(' ').length", - 2, - eval("var s = new String(' '); s.split(' ').length") ); - -new TestCase( "var s = new String(' '); s.split(' ')[0]", - "", - eval("var s = new String(' '); s.split(' ')[0]") ); - -new TestCase( "\"\".split(\"\").length", - 0, - ("".split("")).length ); - -new TestCase( "\"\".split(\"x\").length", - 1, - ("".split("x")).length ); - -new TestCase( "\"\".split(\"x\")[0]", - "", - ("".split("x"))[0] ); - -test(); - -function Split( string, separator ) { - string = String( string ); - - var A = new Array(); - - if ( arguments.length < 2 ) { - A[0] = string; - return A; - } - - separator = String( separator ); - - var str_len = String( string ).length; - var sep_len = String( separator ).length; - - var p = 0; - var k = 0; - - if ( sep_len == 0 ) { - for ( ; p < str_len; p++ ) { - A[A.length] = String( string.charAt(p) ); - } - } - return A; -} diff --git a/js/src/tests/ecma/String/15.5.4.9-1.js b/js/src/tests/ecma/String/15.5.4.9-1.js deleted file mode 100644 index a1029e7e1be5..000000000000 --- a/js/src/tests/ecma/String/15.5.4.9-1.js +++ /dev/null @@ -1,145 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.9-1.js - ECMA Section: 15.5.4.9 String.prototype.substring( start ) - Description: - - 15.5.4.9 String.prototype.substring(start) - - Returns a substring of the result of converting this object to a string, - starting from character position start and running to the end of the - string. The result is a string value, not a String object. - - If the argument is NaN or negative, it is replaced with zero; if the - argument is larger than the length of the string, it is replaced with the - length of the string. - - When the substring method is called with one argument start, the following - steps are taken: - - 1.Call ToString, giving it the this value as its argument. - 2.Call ToInteger(start). - 3.Compute the number of characters in Result(1). - 4.Compute min(max(Result(2), 0), Result(3)). - 5.Return a string whose length is the difference between Result(3) and Result(4), - containing characters from Result(1), namely the characters with indices Result(4) - through Result(3)1, in ascending order. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.4.9-1"; -var TITLE = "String.prototype.substring( start )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.substring.length", 2, String.prototype.substring.length ); - -// test cases for when substring is called with no arguments. - -// this is a string object - -new TestCase( "var s = new String('this is a string object'); typeof s.substring()", - "string", - eval("var s = new String('this is a string object'); typeof s.substring()") ); - -new TestCase( "var s = new String(''); s.substring()", - "", - eval("var s = new String(''); s.substring()") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring()", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring()") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(NaN)", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring(NaN)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(-0.01)", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring(-0.01)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(s.length)", - "", - eval("var s = new String('this is a string object'); s.substring(s.length)") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(s.length+1)", - "", - eval("var s = new String('this is a string object'); s.substring(s.length+1)") ); - - -new TestCase( "var s = new String('this is a string object'); s.substring(Infinity)", - "", - eval("var s = new String('this is a string object'); s.substring(Infinity)") ); - -new TestCase( "var s = new String('this is a string object'); s.substring(-Infinity)", - "this is a string object", - eval("var s = new String('this is a string object'); s.substring(-Infinity)") ); - -// this is not a String object, start is not an integer - - -new TestCase( "var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring()", - "1,2,3,4,5", - eval("var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring()") ); - -new TestCase( "var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring(true)", - ",2,3,4,5", - eval("var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring(true)") ); - -new TestCase( "var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring('4')", - "3,4,5", - eval("var s = new Array(1,2,3,4,5); s.substring = String.prototype.substring; s.substring('4')") ); - -new TestCase( "var s = new Array(); s.substring = String.prototype.substring; s.substring('4')", - "", - eval("var s = new Array(); s.substring = String.prototype.substring; s.substring('4')") ); - -// this is an object object -new TestCase( "var obj = new Object(); obj.substring = String.prototype.substring; obj.substring(8)", - "Object]", - eval("var obj = new Object(); obj.substring = String.prototype.substring; obj.substring(8)") ); - -// this is a function object -new TestCase( "var obj = new Function(); obj.substring = String.prototype.substring; obj.toString = Object.prototype.toString; obj.substring(8)", - "Function]", - eval("var obj = new Function(); obj.substring = String.prototype.substring; obj.toString = Object.prototype.toString; obj.substring(8)") ); -// this is a number object -new TestCase( "var obj = new Number(NaN); obj.substring = String.prototype.substring; obj.substring(false)", - "NaN", - eval("var obj = new Number(NaN); obj.substring = String.prototype.substring; obj.substring(false)") ); - -// this is the Math object -new TestCase( "var obj = Math; obj.substring = String.prototype.substring; obj.substring(Math.PI)", - "ject Math]", - eval("var obj = Math; obj.substring = String.prototype.substring; obj.substring(Math.PI)") ); - -// this is a Boolean object - -new TestCase( "var obj = new Boolean(); obj.substring = String.prototype.substring; obj.substring(new Array())", - "false", - eval("var obj = new Boolean(); obj.substring = String.prototype.substring; obj.substring(new Array())") ); - -// this is a user defined object - -new TestCase( "var obj = new MyObject( null ); obj.substring(0)", - "null", - eval( "var obj = new MyObject( null ); obj.substring(0)") ); - - -test(); - -function MyObject( value ) { - this.value = value; - this.substring = String.prototype.substring; - this.toString = new Function ( "return this.value+''" ); -} diff --git a/js/src/tests/ecma/String/15.5.4.js b/js/src/tests/ecma/String/15.5.4.js deleted file mode 100644 index 372e0c3533cc..000000000000 --- a/js/src/tests/ecma/String/15.5.4.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.js - ECMA Section: 15.5.4 Properties of the String prototype object - - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.5.4"; -var TITLE = "Properties of the String Prototype objecta"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "String.prototype.getClass = Object.prototype.toString; String.prototype.getClass()", - "[object String]", - eval("String.prototype.getClass = Object.prototype.toString; String.prototype.getClass()") ); - -delete String.prototype.getClass; - -new TestCase( "typeof String.prototype", - "object", - typeof String.prototype ); - -new TestCase( "String.prototype.valueOf()", - "", - String.prototype.valueOf() ); - -new TestCase( "String.prototype +''", - "", - String.prototype + '' ); - -new TestCase( "String.prototype.length", - 0, - String.prototype.length ); - -var prop; -var value; - -value = ''; -for (prop in "") -{ - value += prop; -} -new TestCase( 'String "" has no enumerable properties', - '', - value ); - -value = ''; -for (prop in String.prototype) -{ - value += prop; -} -new TestCase( 'String.prototype has no enumerable properties', - '', - value ); - -test(); diff --git a/js/src/tests/ecma/String/15.5.5.1.js b/js/src/tests/ecma/String/15.5.5.1.js deleted file mode 100644 index 571e40b6fb5c..000000000000 --- a/js/src/tests/ecma/String/15.5.5.1.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.5.1 - ECMA Section: String.length - Description: - - The number of characters in the String value represented by this String - object. - - Once a String object is created, this property is unchanging. It has the - attributes { DontEnum, DontDelete, ReadOnly }. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "15.5.5.1"; -var TITLE = "String.length"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var s = new String(); s.length", - 0, - eval("var s = new String(); s.length") ); - -new TestCase( "var s = new String(); s.length = 10; s.length", - 0, - eval("var s = new String(); s.length = 10; s.length") ); - -new TestCase( "var s = new String(); var props = ''; for ( var p in s ) { props += p; }; props", - "", - eval("var s = new String(); var props = ''; for ( var p in s ) { props += p; }; props") ); - -new TestCase( "var s = new String(); delete s.length", - false, - eval("var s = new String(); delete s.length") ); - -new TestCase( "var s = new String('hello'); delete s.length; s.length", - 5, - eval("var s = new String('hello'); delete s.length; s.length") ); - -test(); diff --git a/js/src/tests/ecma/TypeConversion/9.2.js b/js/src/tests/ecma/TypeConversion/9.2.js deleted file mode 100644 index 2802a0576ba0..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.2.js +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.2.js - ECMA Section: 9.2 Type Conversion: ToBoolean - Description: rules for converting an argument to a boolean. - undefined false - Null false - Boolean input argument( no conversion ) - Number returns false for 0, -0, and NaN - otherwise return true - String return false if the string is empty - (length is 0) otherwise the result is - true - Object all return true - - Author: christine@netscape.com - Date: 14 july 1997 -*/ -var SECTION = "9.2"; -var TITLE = "ToBoolean"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// special cases here - -new TestCase( "Boolean()", false, Boolean() ); -new TestCase( "Boolean(var x)", false, Boolean(eval("var x")) ); -new TestCase( "Boolean(void 0)", false, Boolean(void 0) ); -new TestCase( "Boolean(null)", false, Boolean(null) ); -new TestCase( "Boolean(false)", false, Boolean(false) ); -new TestCase( "Boolean(true)", true, Boolean(true) ); -new TestCase( "Boolean(0)", false, Boolean(0) ); -new TestCase( "Boolean(-0)", false, Boolean(-0) ); -new TestCase( "Boolean(NaN)", false, Boolean(Number.NaN) ); -new TestCase( "Boolean('')", false, Boolean("") ); - -// normal test cases here - -new TestCase( "Boolean(Infinity)", true, Boolean(Number.POSITIVE_INFINITY) ); -new TestCase( "Boolean(-Infinity)", true, Boolean(Number.NEGATIVE_INFINITY) ); -new TestCase( "Boolean(Math.PI)", true, Boolean(Math.PI) ); -new TestCase( "Boolean(1)", true, Boolean(1) ); -new TestCase( "Boolean(-1)", true, Boolean(-1) ); -new TestCase( "Boolean([tab])", true, Boolean("\t") ); -new TestCase( "Boolean('0')", true, Boolean("0") ); -new TestCase( "Boolean('string')", true, Boolean("string") ); - -// ToBoolean (object) should always return true. -new TestCase( "Boolean(new String() )", true, Boolean(new String()) ); -new TestCase( "Boolean(new String('') )", true, Boolean(new String("")) ); - -new TestCase( "Boolean(new Boolean(true))", true, Boolean(new Boolean(true)) ); -new TestCase( "Boolean(new Boolean(false))", true, Boolean(new Boolean(false)) ); -new TestCase( "Boolean(new Boolean() )", true, Boolean(new Boolean()) ); - -new TestCase( "Boolean(new Array())", true, Boolean(new Array()) ); - -new TestCase( "Boolean(new Number())", true, Boolean(new Number()) ); -new TestCase( "Boolean(new Number(-0))", true, Boolean(new Number(-0)) ); -new TestCase( "Boolean(new Number(0))", true, Boolean(new Number(0)) ); -new TestCase( "Boolean(new Number(NaN))", true, Boolean(new Number(Number.NaN)) ); - -new TestCase( "Boolean(new Number(-1))", true, Boolean(new Number(-1)) ); -new TestCase( "Boolean(new Number(Infinity))", true, Boolean(new Number(Number.POSITIVE_INFINITY)) ); -new TestCase( "Boolean(new Number(-Infinity))",true, Boolean(new Number(Number.NEGATIVE_INFINITY)) ); - -new TestCase( "Boolean(new Object())", true, Boolean(new Object()) ); -new TestCase( "Boolean(new Function())", true, Boolean(new Function()) ); -new TestCase( "Boolean(new Date())", true, Boolean(new Date()) ); -new TestCase( "Boolean(new Date(0))", true, Boolean(new Date(0)) ); -new TestCase( "Boolean(Math)", true, Boolean(Math) ); - -// bug 375793 -new TestCase( "NaN ? true : false", - false, - (NaN ? true : false) ); -new TestCase( "1000 % 0 ? true : false", - false, - (1000 % 0 ? true : false) ); -new TestCase( "(function(a,b){ return a % b ? true : false })(1000, 0)", - false, - ((function(a,b){ return a % b ? true : false })(1000, 0)) ); - -new TestCase( "(function(x) { return !(x) })(0/0)", - true, - ((function(x) { return !(x) })(0/0)) ); -new TestCase( "!(0/0)", - true, - (!(0/0)) ); -test(); - diff --git a/js/src/tests/ecma/TypeConversion/9.3-1.js b/js/src/tests/ecma/TypeConversion/9.3-1.js deleted file mode 100644 index cff8a65c9d5c..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.3-1.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.3-1.js - ECMA Section: 9.3 Type Conversion: ToNumber - Description: rules for converting an argument to a number. - see 9.3.1 for cases for converting strings to numbers. - special cases: - undefined NaN - Null NaN - Boolean 1 if true; +0 if false - Number the argument ( no conversion ) - String see test 9.3.1 - Object see test 9.3-1 - - - This tests ToNumber applied to the object type, except - if object is string. See 9.3-2 for - ToNumber( String object). - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ -var SECTION = "9.3-1"; - -writeHeaderToLog( SECTION + " ToNumber"); - -// object is Number -new TestCase( "Number(new Number())", 0, Number(new Number()) ); -new TestCase( "typeof Number(new Number())", "number", typeof Number(new Number()) ); - -new TestCase( "Number(new Number(Number.NaN))", Number.NaN, Number(new Number(Number.NaN)) ); -new TestCase( "typeof Number(new Number(Number.NaN))","number", typeof Number(new Number(Number.NaN)) ); - -new TestCase( "Number(new Number(0))", 0, Number(new Number(0)) ); -new TestCase( "typeof Number(new Number(0))", "number", typeof Number(new Number(0)) ); - -new TestCase( "Number(new Number(null))", 0, Number(new Number(null)) ); -new TestCase( "typeof Number(new Number(null))", "number", typeof Number(new Number(null)) ); - - -// new TestCase( "Number(new Number(void 0))", Number.NaN, Number(new Number(void 0)) ); -new TestCase( "Number(new Number(true))", 1, Number(new Number(true)) ); -new TestCase( "typeof Number(new Number(true))", "number", typeof Number(new Number(true)) ); - -new TestCase( "Number(new Number(false))", 0, Number(new Number(false)) ); -new TestCase( "typeof Number(new Number(false))", "number", typeof Number(new Number(false)) ); - -// object is boolean -new TestCase( "Number(new Boolean(true))", 1, Number(new Boolean(true)) ); -new TestCase( "typeof Number(new Boolean(true))", "number", typeof Number(new Boolean(true)) ); - -new TestCase( "Number(new Boolean(false))", 0, Number(new Boolean(false)) ); -new TestCase( "typeof Number(new Boolean(false))", "number", typeof Number(new Boolean(false)) ); - -// object is array -new TestCase( "Number(new Array(2,4,8,16,32))", Number.NaN, Number(new Array(2,4,8,16,32)) ); -new TestCase( "typeof Number(new Array(2,4,8,16,32))", "number", typeof Number(new Array(2,4,8,16,32)) ); - -test(); diff --git a/js/src/tests/ecma/TypeConversion/9.3.1-1.js b/js/src/tests/ecma/TypeConversion/9.3.1-1.js deleted file mode 100644 index 107a43c693b9..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.3.1-1.js +++ /dev/null @@ -1,307 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.3.1-1.js - ECMA Section: 9.3 Type Conversion: ToNumber - Description: rules for converting an argument to a number. - see 9.3.1 for cases for converting strings to numbers. - special cases: - undefined NaN - Null NaN - Boolean 1 if true; +0 if false - Number the argument ( no conversion ) - String see test 9.3.1 - Object see test 9.3-1 - - - This tests ToNumber applied to the string type - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ -var SECTION = "9.3.1-1"; -var TITLE = "ToNumber applied to the String type"; -var BUGNUMBER="77391"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// StringNumericLiteral:::StrWhiteSpace:::StrWhiteSpaceChar StrWhiteSpace::: -// -// Name Unicode Value Escape Sequence -// 0X0009 \t -// 0X0020 -// 0X000C \f -// 0X000B -// 0X000D \r -// 0X000A \n -new TestCase( "Number('')", 0, Number("") ); -new TestCase( "Number(' ')", 0, Number(" ") ); -new TestCase( "Number(\\t)", 0, Number("\t") ); -new TestCase( "Number(\\n)", 0, Number("\n") ); -new TestCase( "Number(\\r)", 0, Number("\r") ); -new TestCase( "Number(\\f)", 0, Number("\f") ); - -new TestCase( "Number(String.fromCharCode(0x0009)", 0, Number(String.fromCharCode(0x0009)) ); -new TestCase( "Number(String.fromCharCode(0x0020)", 0, Number(String.fromCharCode(0x0020)) ); -new TestCase( "Number(String.fromCharCode(0x000C)", 0, Number(String.fromCharCode(0x000C)) ); -new TestCase( "Number(String.fromCharCode(0x000B)", 0, Number(String.fromCharCode(0x000B)) ); -new TestCase( "Number(String.fromCharCode(0x000D)", 0, Number(String.fromCharCode(0x000D)) ); -new TestCase( "Number(String.fromCharCode(0x000A)", 0, Number(String.fromCharCode(0x000A)) ); - -// a StringNumericLiteral may be preceeded or followed by whitespace and/or -// line terminators - -new TestCase( "Number( ' ' + 999 )", 999, Number( ' '+999) ); -new TestCase( "Number( '\\n' + 999 )", 999, Number( '\n' +999) ); -new TestCase( "Number( '\\r' + 999 )", 999, Number( '\r' +999) ); -new TestCase( "Number( '\\t' + 999 )", 999, Number( '\t' +999) ); -new TestCase( "Number( '\\f' + 999 )", 999, Number( '\f' +999) ); - -new TestCase( "Number( 999 + ' ' )", 999, Number( 999+' ') ); -new TestCase( "Number( 999 + '\\n' )", 999, Number( 999+'\n' ) ); -new TestCase( "Number( 999 + '\\r' )", 999, Number( 999+'\r' ) ); -new TestCase( "Number( 999 + '\\t' )", 999, Number( 999+'\t' ) ); -new TestCase( "Number( 999 + '\\f' )", 999, Number( 999+'\f' ) ); - -new TestCase( "Number( '\\n' + 999 + '\\n' )", 999, Number( '\n' +999+'\n' ) ); -new TestCase( "Number( '\\r' + 999 + '\\r' )", 999, Number( '\r' +999+'\r' ) ); -new TestCase( "Number( '\\t' + 999 + '\\t' )", 999, Number( '\t' +999+'\t' ) ); -new TestCase( "Number( '\\f' + 999 + '\\f' )", 999, Number( '\f' +999+'\f' ) ); - -new TestCase( "Number( ' ' + '999' )", 999, Number( ' '+'999') ); -new TestCase( "Number( '\\n' + '999' )", 999, Number( '\n' +'999') ); -new TestCase( "Number( '\\r' + '999' )", 999, Number( '\r' +'999') ); -new TestCase( "Number( '\\t' + '999' )", 999, Number( '\t' +'999') ); -new TestCase( "Number( '\\f' + '999' )", 999, Number( '\f' +'999') ); - -new TestCase( "Number( '999' + ' ' )", 999, Number( '999'+' ') ); -new TestCase( "Number( '999' + '\\n' )", 999, Number( '999'+'\n' ) ); -new TestCase( "Number( '999' + '\\r' )", 999, Number( '999'+'\r' ) ); -new TestCase( "Number( '999' + '\\t' )", 999, Number( '999'+'\t' ) ); -new TestCase( "Number( '999' + '\\f' )", 999, Number( '999'+'\f' ) ); - -new TestCase( "Number( '\\n' + '999' + '\\n' )", 999, Number( '\n' +'999'+'\n' ) ); -new TestCase( "Number( '\\r' + '999' + '\\r' )", 999, Number( '\r' +'999'+'\r' ) ); -new TestCase( "Number( '\\t' + '999' + '\\t' )", 999, Number( '\t' +'999'+'\t' ) ); -new TestCase( "Number( '\\f' + '999' + '\\f' )", 999, Number( '\f' +'999'+'\f' ) ); - -var ws = ["", - " ", - " ", - " "]; - -for (var i = 0, sz = ws.length; i < sz; i++) -{ - var start = ws[i]; - for (var j = 0; j < sz; j++) - { - var end = ws[j]; - new TestCase( "Number( '" + start + "' + '0xA' )", 10, Number( start+'0xA') ); - - new TestCase( "Number( '0xA' + '" + end + "' )", 10, Number( '0xA'+end) ); - - new TestCase( "Number( '" + start + "' + '0xA' + '" + end + "' )", 10, Number( start +'0xA'+end ) ); - } -} - -new TestCase( "Number( String.fromCharCode(0x0009) + '99' )", 99, Number( String.fromCharCode(0x0009) + '99' ) ); -new TestCase( "Number( String.fromCharCode(0x0020) + '99' )", 99, Number( String.fromCharCode(0x0020) + '99' ) ); -new TestCase( "Number( String.fromCharCode(0x000C) + '99' )", 99, Number( String.fromCharCode(0x000C) + '99' ) ); -new TestCase( "Number( String.fromCharCode(0x000B) + '99' )", 99, Number( String.fromCharCode(0x000B) + '99' ) ); -new TestCase( "Number( String.fromCharCode(0x000D) + '99' )", 99, Number( String.fromCharCode(0x000D) + '99' ) ); -new TestCase( "Number( String.fromCharCode(0x000A) + '99' )", 99, Number( String.fromCharCode(0x000A) + '99' ) ); - -new TestCase( "Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0009)", 99, Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0009)) ); -new TestCase( "Number( String.fromCharCode(0x0020) + '99' + String.fromCharCode(0x0020)", 99, Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x0020)) ); -new TestCase( "Number( String.fromCharCode(0x000C) + '99' + String.fromCharCode(0x000C)", 99, Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000C)) ); -new TestCase( "Number( String.fromCharCode(0x000D) + '99' + String.fromCharCode(0x000D)", 99, Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000D)) ); -new TestCase( "Number( String.fromCharCode(0x000B) + '99' + String.fromCharCode(0x000B)", 99, Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000B)) ); -new TestCase( "Number( String.fromCharCode(0x000A) + '99' + String.fromCharCode(0x000A)", 99, Number( String.fromCharCode(0x0009) + '99' + String.fromCharCode(0x000A)) ); - -new TestCase( "Number( '99' + String.fromCharCode(0x0009)", 99, Number( '99' + String.fromCharCode(0x0009)) ); -new TestCase( "Number( '99' + String.fromCharCode(0x0020)", 99, Number( '99' + String.fromCharCode(0x0020)) ); -new TestCase( "Number( '99' + String.fromCharCode(0x000C)", 99, Number( '99' + String.fromCharCode(0x000C)) ); -new TestCase( "Number( '99' + String.fromCharCode(0x000D)", 99, Number( '99' + String.fromCharCode(0x000D)) ); -new TestCase( "Number( '99' + String.fromCharCode(0x000B)", 99, Number( '99' + String.fromCharCode(0x000B)) ); -new TestCase( "Number( '99' + String.fromCharCode(0x000A)", 99, Number( '99' + String.fromCharCode(0x000A)) ); - -new TestCase( "Number( String.fromCharCode(0x0009) + 99 )", 99, Number( String.fromCharCode(0x0009) + 99 ) ); -new TestCase( "Number( String.fromCharCode(0x0020) + 99 )", 99, Number( String.fromCharCode(0x0020) + 99 ) ); -new TestCase( "Number( String.fromCharCode(0x000C) + 99 )", 99, Number( String.fromCharCode(0x000C) + 99 ) ); -new TestCase( "Number( String.fromCharCode(0x000B) + 99 )", 99, Number( String.fromCharCode(0x000B) + 99 ) ); -new TestCase( "Number( String.fromCharCode(0x000D) + 99 )", 99, Number( String.fromCharCode(0x000D) + 99 ) ); -new TestCase( "Number( String.fromCharCode(0x000A) + 99 )", 99, Number( String.fromCharCode(0x000A) + 99 ) ); - -new TestCase( "Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0009)", 99, Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0009)) ); -new TestCase( "Number( String.fromCharCode(0x0020) + 99 + String.fromCharCode(0x0020)", 99, Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x0020)) ); -new TestCase( "Number( String.fromCharCode(0x000C) + 99 + String.fromCharCode(0x000C)", 99, Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000C)) ); -new TestCase( "Number( String.fromCharCode(0x000D) + 99 + String.fromCharCode(0x000D)", 99, Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000D)) ); -new TestCase( "Number( String.fromCharCode(0x000B) + 99 + String.fromCharCode(0x000B)", 99, Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000B)) ); -new TestCase( "Number( String.fromCharCode(0x000A) + 99 + String.fromCharCode(0x000A)", 99, Number( String.fromCharCode(0x0009) + 99 + String.fromCharCode(0x000A)) ); - -new TestCase( "Number( 99 + String.fromCharCode(0x0009)", 99, Number( 99 + String.fromCharCode(0x0009)) ); -new TestCase( "Number( 99 + String.fromCharCode(0x0020)", 99, Number( 99 + String.fromCharCode(0x0020)) ); -new TestCase( "Number( 99 + String.fromCharCode(0x000C)", 99, Number( 99 + String.fromCharCode(0x000C)) ); -new TestCase( "Number( 99 + String.fromCharCode(0x000D)", 99, Number( 99 + String.fromCharCode(0x000D)) ); -new TestCase( "Number( 99 + String.fromCharCode(0x000B)", 99, Number( 99 + String.fromCharCode(0x000B)) ); -new TestCase( "Number( 99 + String.fromCharCode(0x000A)", 99, Number( 99 + String.fromCharCode(0x000A)) ); - - -// StrNumericLiteral:::StrDecimalLiteral:::Infinity - -new TestCase( "Number('Infinity')", Math.pow(10,10000), Number("Infinity") ); -new TestCase( "Number('-Infinity')", -Math.pow(10,10000), Number("-Infinity") ); -new TestCase( "Number('+Infinity')", Math.pow(10,10000), Number("+Infinity") ); - -// StrNumericLiteral::: StrDecimalLiteral ::: DecimalDigits . DecimalDigits opt ExponentPart opt - -new TestCase( "Number('0')", 0, Number("0") ); -new TestCase( "Number('-0')", -0, Number("-0") ); -new TestCase( "Number('+0')", 0, Number("+0") ); - -new TestCase( "Number('1')", 1, Number("1") ); -new TestCase( "Number('-1')", -1, Number("-1") ); -new TestCase( "Number('+1')", 1, Number("+1") ); - -new TestCase( "Number('2')", 2, Number("2") ); -new TestCase( "Number('-2')", -2, Number("-2") ); -new TestCase( "Number('+2')", 2, Number("+2") ); - -new TestCase( "Number('3')", 3, Number("3") ); -new TestCase( "Number('-3')", -3, Number("-3") ); -new TestCase( "Number('+3')", 3, Number("+3") ); - -new TestCase( "Number('4')", 4, Number("4") ); -new TestCase( "Number('-4')", -4, Number("-4") ); -new TestCase( "Number('+4')", 4, Number("+4") ); - -new TestCase( "Number('5')", 5, Number("5") ); -new TestCase( "Number('-5')", -5, Number("-5") ); -new TestCase( "Number('+5')", 5, Number("+5") ); - -new TestCase( "Number('6')", 6, Number("6") ); -new TestCase( "Number('-6')", -6, Number("-6") ); -new TestCase( "Number('+6')", 6, Number("+6") ); - -new TestCase( "Number('7')", 7, Number("7") ); -new TestCase( "Number('-7')", -7, Number("-7") ); -new TestCase( "Number('+7')", 7, Number("+7") ); - -new TestCase( "Number('8')", 8, Number("8") ); -new TestCase( "Number('-8')", -8, Number("-8") ); -new TestCase( "Number('+8')", 8, Number("+8") ); - -new TestCase( "Number('9')", 9, Number("9") ); -new TestCase( "Number('-9')", -9, Number("-9") ); -new TestCase( "Number('+9')", 9, Number("+9") ); - -new TestCase( "Number('3.14159')", 3.14159, Number("3.14159") ); -new TestCase( "Number('-3.14159')", -3.14159, Number("-3.14159") ); -new TestCase( "Number('+3.14159')", 3.14159, Number("+3.14159") ); - -new TestCase( "Number('3.')", 3, Number("3.") ); -new TestCase( "Number('-3.')", -3, Number("-3.") ); -new TestCase( "Number('+3.')", 3, Number("+3.") ); - -new TestCase( "Number('3.e1')", 30, Number("3.e1") ); -new TestCase( "Number('-3.e1')", -30, Number("-3.e1") ); -new TestCase( "Number('+3.e1')", 30, Number("+3.e1") ); - -new TestCase( "Number('3.e+1')", 30, Number("3.e+1") ); -new TestCase( "Number('-3.e+1')", -30, Number("-3.e+1") ); -new TestCase( "Number('+3.e+1')", 30, Number("+3.e+1") ); - -new TestCase( "Number('3.e-1')", .30, Number("3.e-1") ); -new TestCase( "Number('-3.e-1')", -.30, Number("-3.e-1") ); -new TestCase( "Number('+3.e-1')", .30, Number("+3.e-1") ); - -// StrDecimalLiteral::: .DecimalDigits ExponentPart opt - -new TestCase( "Number('.00001')", 0.00001, Number(".00001") ); -new TestCase( "Number('+.00001')", 0.00001, Number("+.00001") ); -new TestCase( "Number('-0.0001')", -0.00001, Number("-.00001") ); - -new TestCase( "Number('.01e2')", 1, Number(".01e2") ); -new TestCase( "Number('+.01e2')", 1, Number("+.01e2") ); -new TestCase( "Number('-.01e2')", -1, Number("-.01e2") ); - -new TestCase( "Number('.01e+2')", 1, Number(".01e+2") ); -new TestCase( "Number('+.01e+2')", 1, Number("+.01e+2") ); -new TestCase( "Number('-.01e+2')", -1, Number("-.01e+2") ); - -new TestCase( "Number('.01e-2')", 0.0001, Number(".01e-2") ); -new TestCase( "Number('+.01e-2')", 0.0001, Number("+.01e-2") ); -new TestCase( "Number('-.01e-2')", -0.0001, Number("-.01e-2") ); - -// StrDecimalLiteral::: DecimalDigits ExponentPart opt - -new TestCase( "Number('1234e5')", 123400000, Number("1234e5") ); -new TestCase( "Number('+1234e5')", 123400000, Number("+1234e5") ); -new TestCase( "Number('-1234e5')", -123400000, Number("-1234e5") ); - -new TestCase( "Number('1234e+5')", 123400000, Number("1234e+5") ); -new TestCase( "Number('+1234e+5')", 123400000, Number("+1234e+5") ); -new TestCase( "Number('-1234e+5')", -123400000, Number("-1234e+5") ); - -new TestCase( "Number('1234e-5')", 0.01234, Number("1234e-5") ); -new TestCase( "Number('+1234e-5')", 0.01234, Number("+1234e-5") ); -new TestCase( "Number('-1234e-5')", -0.01234, Number("-1234e-5") ); - -// StrNumericLiteral::: HexIntegerLiteral - -new TestCase( "Number('0x0')", 0, Number("0x0")); -new TestCase( "Number('0x1')", 1, Number("0x1")); -new TestCase( "Number('0x2')", 2, Number("0x2")); -new TestCase( "Number('0x3')", 3, Number("0x3")); -new TestCase( "Number('0x4')", 4, Number("0x4")); -new TestCase( "Number('0x5')", 5, Number("0x5")); -new TestCase( "Number('0x6')", 6, Number("0x6")); -new TestCase( "Number('0x7')", 7, Number("0x7")); -new TestCase( "Number('0x8')", 8, Number("0x8")); -new TestCase( "Number('0x9')", 9, Number("0x9")); -new TestCase( "Number('0xa')", 10, Number("0xa")); -new TestCase( "Number('0xb')", 11, Number("0xb")); -new TestCase( "Number('0xc')", 12, Number("0xc")); -new TestCase( "Number('0xd')", 13, Number("0xd")); -new TestCase( "Number('0xe')", 14, Number("0xe")); -new TestCase( "Number('0xf')", 15, Number("0xf")); -new TestCase( "Number('0xA')", 10, Number("0xA")); -new TestCase( "Number('0xB')", 11, Number("0xB")); -new TestCase( "Number('0xC')", 12, Number("0xC")); -new TestCase( "Number('0xD')", 13, Number("0xD")); -new TestCase( "Number('0xE')", 14, Number("0xE")); -new TestCase( "Number('0xF')", 15, Number("0xF")); - -new TestCase( "Number('0X0')", 0, Number("0X0")); -new TestCase( "Number('0X1')", 1, Number("0X1")); -new TestCase( "Number('0X2')", 2, Number("0X2")); -new TestCase( "Number('0X3')", 3, Number("0X3")); -new TestCase( "Number('0X4')", 4, Number("0X4")); -new TestCase( "Number('0X5')", 5, Number("0X5")); -new TestCase( "Number('0X6')", 6, Number("0X6")); -new TestCase( "Number('0X7')", 7, Number("0X7")); -new TestCase( "Number('0X8')", 8, Number("0X8")); -new TestCase( "Number('0X9')", 9, Number("0X9")); -new TestCase( "Number('0Xa')", 10, Number("0Xa")); -new TestCase( "Number('0Xb')", 11, Number("0Xb")); -new TestCase( "Number('0Xc')", 12, Number("0Xc")); -new TestCase( "Number('0Xd')", 13, Number("0Xd")); -new TestCase( "Number('0Xe')", 14, Number("0Xe")); -new TestCase( "Number('0Xf')", 15, Number("0Xf")); -new TestCase( "Number('0XA')", 10, Number("0XA")); -new TestCase( "Number('0XB')", 11, Number("0XB")); -new TestCase( "Number('0XC')", 12, Number("0XC")); -new TestCase( "Number('0XD')", 13, Number("0XD")); -new TestCase( "Number('0XE')", 14, Number("0XE")); -new TestCase( "Number('0XF')", 15, Number("0XF")); - -test(); - diff --git a/js/src/tests/ecma/TypeConversion/9.3.1-2.js b/js/src/tests/ecma/TypeConversion/9.3.1-2.js deleted file mode 100644 index 6c8221e90343..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.3.1-2.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.3.1-2.js - ECMA Section: 9.3 Type Conversion: ToNumber - Description: rules for converting an argument to a number. - see 9.3.1 for cases for converting strings to numbers. - special cases: - undefined NaN - Null NaN - Boolean 1 if true; +0 if false - Number the argument ( no conversion ) - String see test 9.3.1 - Object see test 9.3-1 - - This tests special cases of ToNumber(string) that are - not covered in 9.3.1-1.js. - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ -var SECTION = "9.3.1-2"; -var TITLE = "ToNumber applied to the String type"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// A StringNumericLiteral may not use octal notation - -new TestCase( "Number(00)", 0, Number("00")); -new TestCase( "Number(01)", 1, Number("01")); -new TestCase( "Number(02)", 2, Number("02")); -new TestCase( "Number(03)", 3, Number("03")); -new TestCase( "Number(04)", 4, Number("04")); -new TestCase( "Number(05)", 5, Number("05")); -new TestCase( "Number(06)", 6, Number("06")); -new TestCase( "Number(07)", 7, Number("07")); -new TestCase( "Number(010)", 10, Number("010")); -new TestCase( "Number(011)", 11, Number("011")); - -// A StringNumericLIteral may have any number of leading 0 digits - -new TestCase( "Number(001)", 1, Number("001")); -new TestCase( "Number(0001)", 1, Number("0001")); - -test(); - diff --git a/js/src/tests/ecma/TypeConversion/9.3.1-3.js b/js/src/tests/ecma/TypeConversion/9.3.1-3.js deleted file mode 100644 index f90a7ec32780..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.3.1-3.js +++ /dev/null @@ -1,716 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.3.1-3.js - ECMA Section: 9.3 Type Conversion: ToNumber - Description: rules for converting an argument to a number. - see 9.3.1 for cases for converting strings to numbers. - special cases: - undefined NaN - Null NaN - Boolean 1 if true; +0 if false - Number the argument ( no conversion ) - String see test 9.3.1 - Object see test 9.3-1 - - - Test cases provided by waldemar. - - - Author: christine@netscape.com - Date: 10 june 1998 - -*/ - -var SECTION = "9.3.1-3"; -var BUGNUMBER="129087"; - -var TITLE = "Number To String, String To Number"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -// test case from http://scopus.mcom.com/bugsplat/show_bug.cgi?id=312954 -var z = 0; - -new TestCase( - "var z = 0; print(1/-z)", - -Infinity, - 1/-z ); - - - - - -// test cases from bug http://scopus.mcom.com/bugsplat/show_bug.cgi?id=122882 - - - -new TestCase( - '- -"0x80000000"', - 2147483648, - - -"0x80000000" ); - -new TestCase( - '- -"0x100000000"', - 4294967296, - - -"0x100000000" ); - -new TestCase( - '- "-0x123456789abcde8"', - NaN, - - "-0x123456789abcde8" ); - -new TestCase( - '- "+0x123456789abcde8"', - NaN, - - "+0x123456789abcde8" ); - -// Convert some large numbers to string - - -new TestCase( - "1e2000 +''", - "Infinity", - 1e2000 +"" ); - -new TestCase( - "1e2000", - Infinity, - 1e2000 ); - -new TestCase( - "-1e2000 +''", - "-Infinity", - -1e2000 +"" ); - -new TestCase( - "-\"1e2000\"", - -Infinity, - -"1e2000" ); - -new TestCase( - "-\"-1e2000\" +''", - "Infinity", - -"-1e2000" +"" ); - -new TestCase( - "1e-2000", - 0, - 1e-2000 ); - -new TestCase( - "1/1e-2000", - Infinity, - 1/1e-2000 ); - -// convert some strings to large numbers - -new TestCase( - "1/-1e-2000", - -Infinity, - 1/-1e-2000 ); - -new TestCase( - "1/\"1e-2000\"", - Infinity, - 1/"1e-2000" ); - -new TestCase( - "1/\"-1e-2000\"", - -Infinity, - 1/"-1e-2000" ); - -new TestCase( - "parseFloat(\"1e2000\")", - Infinity, - parseFloat("1e2000") ); - -new TestCase( - "parseFloat(\"1e-2000\")", - 0, - parseFloat("1e-2000") ); - -new TestCase( - "1.7976931348623157E+308", - 1.7976931348623157e+308, - 1.7976931348623157E+308 ); - -new TestCase( - "1.7976931348623158e+308", - 1.7976931348623157e+308, - 1.7976931348623158e+308 ); - -new TestCase( - "1.7976931348623159e+308", - Infinity, - 1.7976931348623159e+308 ); - -s = - "17976931348623158079372897140530341507993413271003782693617377898044496829276475094664901797758720709633028641669288791094655554785194040263065748867150582068"; - -print("s = " + s); -print("-s = " + (-s)); - -new TestCase( - "s = " + s +"; s +="+ - "\"190890200070838367627385484581771153176447573027006985557136695962284291481986083493647529271907416844436551070434271155969950809304288017790417449779\""+ - - +"; s", - "17976931348623158079372897140530341507993413271003782693617377898044496829276475094664901797758720709633028641669288791094655554785194040263065748867150582068190890200070838367627385484581771153176447573027006985557136695962284291481986083493647529271907416844436551070434271155969950809304288017790417449779", - s += - "190890200070838367627385484581771153176447573027006985557136695962284291481986083493647529271907416844436551070434271155969950809304288017790417449779" - ); - -s1 = s+1; - -print("s1 = " + s1); -print("-s1 = " + (-s1)); - -new TestCase( - "s1 = s+1; s1", - "179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497791", - s1 ); - -/***** This answer is preferred but -Infinity is also acceptable here *****/ - -new TestCase( - "-s1 == Infinity || s1 == 1.7976931348623157e+308", - true, - -s1 == Infinity || s1 == 1.7976931348623157e+308 ); - -s2 = s + 2; - -print("s2 = " + s2); -print("-s2 = " + (-s2)); - -new TestCase( - "s2 = s+2; s2", - "179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792", - s2 ); - -// ***** This answer is preferred but -1.7976931348623157e+308 is also acceptable here ***** -new TestCase( - "-s2 == -Infinity || -s2 == -1.7976931348623157e+308 ", - true, - -s2 == -Infinity || -s2 == -1.7976931348623157e+308 ); - -s3 = s+3; - -print("s3 = " + s3); -print("-s3 = " + (-s3)); - -new TestCase( - "s3 = s+3; s3", - "179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497793", - s3 ); - -//***** This answer is preferred but -1.7976931348623157e+308 is also acceptable here ***** - -new TestCase( - "-s3 == -Infinity || -s3 == -1.7976931348623157e+308", - true, - -s3 == -Infinity || -s3 == -1.7976931348623157e+308 ); - - -//***** This answer is preferred but Infinity is also acceptable here ***** - -new TestCase( - "parseInt(s1,10) == 1.7976931348623157e+308 || parseInt(s1,10) == Infinity", - true, - parseInt(s1,10) == 1.7976931348623157e+308 || parseInt(s1,10) == Infinity ); - -//***** This answer is preferred but 1.7976931348623157e+308 is also acceptable here ***** -new TestCase( - "parseInt(s2,10) == Infinity || parseInt(s2,10) == 1.7976931348623157e+308", - true , - parseInt(s2,10) == Infinity || parseInt(s2,10) == 1.7976931348623157e+308 ); - -//***** This answer is preferred but Infinity is also acceptable here ***** - -new TestCase( - "parseInt(s1) == 1.7976931348623157e+308 || parseInt(s1) == Infinity", - true, - parseInt(s1) == 1.7976931348623157e+308 || parseInt(s1) == Infinity); - -//***** This answer is preferred but 1.7976931348623157e+308 is also acceptable here ***** -new TestCase( - "parseInt(s2) == Infinity || parseInt(s2) == 1.7976931348623157e+308", - true, - parseInt(s2) == Infinity || parseInt(s2) == 1.7976931348623157e+308 ); - -new TestCase( - "0x12345678", - 305419896, - 0x12345678 ); - -new TestCase( - "0x80000000", - 2147483648, - 0x80000000 ); - -new TestCase( - "0xffffffff", - 4294967295, - 0xffffffff ); - -new TestCase( - "0x100000000", - 4294967296, - 0x100000000 ); - -new TestCase( - "077777777777777777", - 2251799813685247, - 077777777777777777 ); - -new TestCase( - "077777777777777776", - 2251799813685246, - 077777777777777776 ); - -new TestCase( - "0x1fffffffffffff", - 9007199254740991, - 0x1fffffffffffff ); - -new TestCase( - "0x20000000000000", - 9007199254740992, - 0x20000000000000 ); - -new TestCase( - "0x20123456789abc", - 9027215253084860, - 0x20123456789abc ); - -new TestCase( - "0x20123456789abd", - 9027215253084860, - 0x20123456789abd ); - -new TestCase( - "0x20123456789abe", - 9027215253084862, - 0x20123456789abe ); - -new TestCase( - "0x20123456789abf", - 9027215253084864, - 0x20123456789abf ); - -/***** These test the round-to-nearest-or-even-if-equally-close rule *****/ - -new TestCase( - "0x1000000000000080", - 1152921504606847000, - 0x1000000000000080 ); - -new TestCase( - "0x1000000000000081", - 1152921504606847200, - 0x1000000000000081 ); - -new TestCase( - "0x1000000000000100", - 1152921504606847200, - 0x1000000000000100 ); -new TestCase( - "0x100000000000017f", - 1152921504606847200, - 0x100000000000017f ); - -new TestCase( - "0x1000000000000180", - 1152921504606847500, - 0x1000000000000180 ); - -new TestCase( - "0x1000000000000181", - 1152921504606847500, - 0x1000000000000181 ); - -new TestCase( - "0x10000000000001f0", - 1152921504606847500, - 0x10000000000001f0 ); - -new TestCase( - "0x1000000000000200", - 1152921504606847500, - 0x1000000000000200 ); - -new TestCase( - "0x100000000000027f", - 1152921504606847500, - 0x100000000000027f ); - -new TestCase( - "0x1000000000000280", - 1152921504606847500, - 0x1000000000000280 ); - -new TestCase( - "0x1000000000000281", - 1152921504606847700, - 0x1000000000000281 ); - -new TestCase( - "0x10000000000002ff", - 1152921504606847700, - 0x10000000000002ff ); - -new TestCase( - "0x1000000000000300", - 1152921504606847700, - 0x1000000000000300 ); - -new TestCase( - "0x10000000000000000", - 18446744073709552000, - 0x10000000000000000 ); - -new TestCase( - "parseInt(\"000000100000000100100011010001010110011110001001101010111100\",2)", - 9027215253084860, - parseInt("000000100000000100100011010001010110011110001001101010111100",2) ); - -new TestCase( - "parseInt(\"000000100000000100100011010001010110011110001001101010111101\",2)", - 9027215253084860, - parseInt("000000100000000100100011010001010110011110001001101010111101",2) ); - -new TestCase( - "parseInt(\"000000100000000100100011010001010110011110001001101010111111\",2)", - 9027215253084864, - parseInt("000000100000000100100011010001010110011110001001101010111111",2) ); - -new TestCase( - "parseInt(\"0000001000000001001000110100010101100111100010011010101111010\",2)", - 18054430506169720, - parseInt("0000001000000001001000110100010101100111100010011010101111010",2)); - -new TestCase( - "parseInt(\"0000001000000001001000110100010101100111100010011010101111011\",2)", - 18054430506169724, - parseInt("0000001000000001001000110100010101100111100010011010101111011",2) ); - -new TestCase( - "parseInt(\"0000001000000001001000110100010101100111100010011010101111100\",2)", - 18054430506169724, - parseInt("0000001000000001001000110100010101100111100010011010101111100",2)); - -new TestCase( - "parseInt(\"0000001000000001001000110100010101100111100010011010101111110\",2)", - 18054430506169728, - parseInt("0000001000000001001000110100010101100111100010011010101111110",2)); - -new TestCase( - "parseInt(\"yz\",35)", - 34, - parseInt("yz",35) ); - -new TestCase( - "parseInt(\"yz\",36)", - 1259, - parseInt("yz",36) ); - -new TestCase( - "parseInt(\"yz\",37)", - NaN, - parseInt("yz",37) ); - -new TestCase( - "parseInt(\"+77\")", - 77, - parseInt("+77") ); - -new TestCase( - "parseInt(\"-77\",9)", - -70, - parseInt("-77",9) ); - -new TestCase( - "parseInt(\"\\u20001234\\u2000\")", - 1234, - parseInt("\u20001234\u2000") ); - -new TestCase( - "parseInt(\"123456789012345678\")", - 123456789012345680, - parseInt("123456789012345678") ); - -new TestCase( - "parseInt(\"9\",8)", - NaN, - parseInt("9",8) ); - -new TestCase( - "parseInt(\"1e2\")", - 1, - parseInt("1e2") ); - -new TestCase( - "parseInt(\"1.9999999999999999999\")", - 1, - parseInt("1.9999999999999999999") ); - -new TestCase( - "parseInt(\"0x10\")", - 16, - parseInt("0x10") ); - -new TestCase( - "parseInt(\"0x10\",10)", - 0, - parseInt("0x10",10) ); - -new TestCase( - "parseInt(\"0022\")", - 22, - parseInt("0022") ); - -new TestCase( - "parseInt(\"0022\", 8)", - 18, - parseInt("0022", 8) ); - -new TestCase( - "parseInt(\"0022\",10)", - 22, - parseInt("0022",10) ); - -new TestCase( - "parseInt(\"0x1000000000000080\")", - 1152921504606847000, - parseInt("0x1000000000000080") ); - -new TestCase( - "parseInt(\"0x1000000000000081\")", - 1152921504606847200, - parseInt("0x1000000000000081") ); - -s = - "0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - -new TestCase("s = "+ - "\"0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\";"+ - "s", - "0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - s ); - - -new TestCase("s +="+ - "\"0000000000000000000000000000000000000\"; s", - "0xFFFFFFFFFFFFF800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - s += "0000000000000000000000000000000000000" ); - -new TestCase("-s", - -1.7976931348623157e+308, - -s ); - -s = - "0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - -new TestCase("s ="+ - "\"0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\";"+ - "s", - "0xFFFFFFFFFFFFF80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - s ); - -new TestCase( - "s += \"0000000000000000000000000000000000001\"", - "0xFFFFFFFFFFFFF800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", - s += "0000000000000000000000000000000000001" ); - -new TestCase( - "-s", - -1.7976931348623157e+308, - -s ); - -s = - "0xFFFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - -new TestCase( - "s ="+ - "\"0xFFFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\";"+ - "s", - "0xFFFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - s ); - - -new TestCase( - "s += \"0000000000000000000000000000000000000\"", - "0xFFFFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - s += "0000000000000000000000000000000000000"); - - -new TestCase( - "-s", - -Infinity, - -s ); - -s = - "0xFFFFFFFFFFFFFB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; - -new TestCase( - "s = "+ - "\"0xFFFFFFFFFFFFFB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\";s", - "0xFFFFFFFFFFFFFB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - s); - -new TestCase( - "s += \"0000000000000000000000000000000000001\"", - "0xFFFFFFFFFFFFFB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", - s += "0000000000000000000000000000000000001" ); - -new TestCase( - "-s", - -1.7976931348623157e+308, - -s ); - -new TestCase( - "s += \"0\"", - "0xFFFFFFFFFFFFFB000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010", - s += "0" ); - -new TestCase( - "-s", - -Infinity, - -s ); - -new TestCase( - "parseInt(s)", - Infinity, - parseInt(s) ); - -new TestCase( - "parseInt(s,32)", - 0, - parseInt(s,32) ); - -new TestCase( - "parseInt(s,36)", - Infinity, - parseInt(s,36) ); - -new TestCase( - "-\"\"", - 0, - -"" ); - -new TestCase( - "-\" \"", - 0, - -" " ); - -new TestCase( - "-\"999\"", - -999, - -"999" ); - -new TestCase( - "-\" 999\"", - -999, - -" 999" ); - -new TestCase( - "-\"\\t999\"", - -999, - -"\t999" ); - -new TestCase( - "-\"013 \"", - -13, - -"013 " ); - -new TestCase( - "-\"999\\t\"", - -999, - -"999\t" ); - -new TestCase( - "-\"-Infinity\"", - Infinity, - -"-Infinity" ); - -new TestCase( - "-\"+Infinity\"", - -Infinity, - -"+Infinity" ); - -new TestCase( - "-\"+Infiniti\"", - NaN, - -"+Infiniti" ); - -new TestCase( - "- -\"0x80000000\"", - 2147483648, - - -"0x80000000" ); - -new TestCase( - "- -\"0x100000000\"", - 4294967296, - - -"0x100000000" ); - -new TestCase( - "- \"-0x123456789abcde8\"", - NaN, - - "-0x123456789abcde8" ); - -new TestCase( - "- \"+0x123456789abcde8\"", - NaN, - - "+0x123456789abcde8" ); - -// the following two tests are not strictly ECMA 1.0 - -new TestCase( - "-\"\\u20001234\\u2001\"", - -1234, - -"\u20001234\u2001" ); - -new TestCase( - "-\"\\u20001234\\0\"", - NaN, - -"\u20001234\0" ); - -new TestCase( - "-\"0x10\"", - -16, - -"0x10" ); - -new TestCase( - "-\"+\"", - NaN, - -"+" ); - -new TestCase( - "-\"-\"", - NaN, - -"-" ); - -new TestCase( - "-\"-0-\"", - NaN, - -"-0-" ); - -new TestCase( - "-\"1e-\"", - NaN, - -"1e-" ); - -new TestCase( - "-\"1e-1\"", - -0.1, - -"1e-1" ); - -test(); - - diff --git a/js/src/tests/ecma/TypeConversion/9.3.js b/js/src/tests/ecma/TypeConversion/9.3.js deleted file mode 100644 index a725b4b23fc7..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.3.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.3.js - ECMA Section: 9.3 Type Conversion: ToNumber - Description: rules for converting an argument to a number. - see 9.3.1 for cases for converting strings to numbers. - special cases: - undefined NaN - Null NaN - Boolean 1 if true; +0 if false - Number the argument ( no conversion ) - String see test 9.3.1 - Object see test 9.3-1 - - For ToNumber applied to the String type, see test 9.3.1. - For ToNumber applied to the object type, see test 9.3-1. - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ -var SECTION = "9.3"; -var TITLE = "ToNumber"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// special cases here - -new TestCase( "Number()", 0, Number() ); -new TestCase( "Number(eval('var x'))", Number.NaN, Number(eval("var x")) ); -new TestCase( "Number(void 0)", Number.NaN, Number(void 0) ); -new TestCase( "Number(null)", 0, Number(null) ); -new TestCase( "Number(true)", 1, Number(true) ); -new TestCase( "Number(false)", 0, Number(false) ); -new TestCase( "Number(0)", 0, Number(0) ); -new TestCase( "Number(-0)", -0, Number(-0) ); -new TestCase( "Number(1)", 1, Number(1) ); -new TestCase( "Number(-1)", -1, Number(-1) ); -new TestCase( "Number(Number.MAX_VALUE)", 1.7976931348623157e308, Number(Number.MAX_VALUE) ); -new TestCase( "Number(Number.MIN_VALUE)", 5e-324, Number(Number.MIN_VALUE) ); - -new TestCase( "Number(Number.NaN)", Number.NaN, Number(Number.NaN) ); -new TestCase( "Number(Number.POSITIVE_INFINITY)", Number.POSITIVE_INFINITY, Number(Number.POSITIVE_INFINITY) ); -new TestCase( "Number(Number.NEGATIVE_INFINITY)", Number.NEGATIVE_INFINITY, Number(Number.NEGATIVE_INFINITY) ); - -test(); diff --git a/js/src/tests/ecma/TypeConversion/9.4-1.js b/js/src/tests/ecma/TypeConversion/9.4-1.js deleted file mode 100644 index 796741bd3acc..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.4-1.js +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.4-1.js - ECMA Section: 9.4 ToInteger - Description: 1. Call ToNumber on the input argument - 2. If Result(1) is NaN, return +0 - 3. If Result(1) is +0, -0, Infinity, or -Infinity, - return Result(1). - 4. Compute sign(Result(1)) * floor(abs(Result(1))). - 5. Return Result(4). - - To test ToInteger, this test uses new Date(value), - 15.9.3.7. The Date constructor sets the [[Value]] - property of the new object to TimeClip(value), which - uses the rules: - - TimeClip(time) - 1. If time is not finite, return NaN - 2. If abs(Result(1)) > 8.64e15, return NaN - 3. Return an implementation dependent choice of either - ToInteger(Result(2)) or ToInteger(Result(2)) + (+0) - (Adding a positive 0 converts -0 to +0). - - This tests ToInteger for values -8.64e15 > value > 8.64e15, - not including -0 and +0. - - For additional special cases (0, +0, Infinity, -Infinity, - and NaN, see 9.4-2.js). For value is String, see 9.4-3.js. - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ -var SECTION = "9.4-1"; -var TITLE = "ToInteger"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some special cases - -new TestCase( "td = new Date(Number.NaN); td.valueOf()", Number.NaN, eval("td = new Date(Number.NaN); td.valueOf()") ); -new TestCase( "td = new Date(Infinity); td.valueOf()", Number.NaN, eval("td = new Date(Number.POSITIVE_INFINITY); td.valueOf()") ); -new TestCase( "td = new Date(-Infinity); td.valueOf()", Number.NaN, eval("td = new Date(Number.NEGATIVE_INFINITY); td.valueOf()") ); -new TestCase( "td = new Date(-0); td.valueOf()", -0, eval("td = new Date(-0); td.valueOf()" ) ); -new TestCase( "td = new Date(0); td.valueOf()", 0, eval("td = new Date(0); td.valueOf()") ); - -// value is not an integer - -new TestCase( "td = new Date(3.14159); td.valueOf()", 3, eval("td = new Date(3.14159); td.valueOf()") ); -new TestCase( "td = new Date(Math.PI); td.valueOf()", 3, eval("td = new Date(Math.PI); td.valueOf()") ); -new TestCase( "td = new Date(-Math.PI);td.valueOf()", -3, eval("td = new Date(-Math.PI);td.valueOf()") ); -new TestCase( "td = new Date(3.14159e2); td.valueOf()", 314, eval("td = new Date(3.14159e2); td.valueOf()") ); - -new TestCase( "td = new Date(.692147e1); td.valueOf()", 6, eval("td = new Date(.692147e1);td.valueOf()") ); -new TestCase( "td = new Date(-.692147e1);td.valueOf()", -6, eval("td = new Date(-.692147e1);td.valueOf()") ); - -// value is not a number - -new TestCase( "td = new Date(true); td.valueOf()", 1, eval("td = new Date(true); td.valueOf()" ) ); -new TestCase( "td = new Date(false); td.valueOf()", 0, eval("td = new Date(false); td.valueOf()") ); - -new TestCase( "td = new Date(new Number(Math.PI)); td.valueOf()", 3, eval("td = new Date(new Number(Math.PI)); td.valueOf()") ); -new TestCase( "td = new Date(new Number(Math.PI)); td.valueOf()", 3, eval("td = new Date(new Number(Math.PI)); td.valueOf()") ); - -// edge cases -new TestCase( "td = new Date(8.64e15); td.valueOf()", 8.64e15, eval("td = new Date(8.64e15); td.valueOf()") ); -new TestCase( "td = new Date(-8.64e15); td.valueOf()", -8.64e15, eval("td = new Date(-8.64e15); td.valueOf()") ); -new TestCase( "td = new Date(8.64e-15); td.valueOf()", 0, eval("td = new Date(8.64e-15); td.valueOf()") ); -new TestCase( "td = new Date(-8.64e-15); td.valueOf()", 0, eval("td = new Date(-8.64e-15); td.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/TypeConversion/9.4-2.js b/js/src/tests/ecma/TypeConversion/9.4-2.js deleted file mode 100644 index 796741bd3acc..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.4-2.js +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.4-1.js - ECMA Section: 9.4 ToInteger - Description: 1. Call ToNumber on the input argument - 2. If Result(1) is NaN, return +0 - 3. If Result(1) is +0, -0, Infinity, or -Infinity, - return Result(1). - 4. Compute sign(Result(1)) * floor(abs(Result(1))). - 5. Return Result(4). - - To test ToInteger, this test uses new Date(value), - 15.9.3.7. The Date constructor sets the [[Value]] - property of the new object to TimeClip(value), which - uses the rules: - - TimeClip(time) - 1. If time is not finite, return NaN - 2. If abs(Result(1)) > 8.64e15, return NaN - 3. Return an implementation dependent choice of either - ToInteger(Result(2)) or ToInteger(Result(2)) + (+0) - (Adding a positive 0 converts -0 to +0). - - This tests ToInteger for values -8.64e15 > value > 8.64e15, - not including -0 and +0. - - For additional special cases (0, +0, Infinity, -Infinity, - and NaN, see 9.4-2.js). For value is String, see 9.4-3.js. - - Author: christine@netscape.com - Date: 10 july 1997 - -*/ -var SECTION = "9.4-1"; -var TITLE = "ToInteger"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// some special cases - -new TestCase( "td = new Date(Number.NaN); td.valueOf()", Number.NaN, eval("td = new Date(Number.NaN); td.valueOf()") ); -new TestCase( "td = new Date(Infinity); td.valueOf()", Number.NaN, eval("td = new Date(Number.POSITIVE_INFINITY); td.valueOf()") ); -new TestCase( "td = new Date(-Infinity); td.valueOf()", Number.NaN, eval("td = new Date(Number.NEGATIVE_INFINITY); td.valueOf()") ); -new TestCase( "td = new Date(-0); td.valueOf()", -0, eval("td = new Date(-0); td.valueOf()" ) ); -new TestCase( "td = new Date(0); td.valueOf()", 0, eval("td = new Date(0); td.valueOf()") ); - -// value is not an integer - -new TestCase( "td = new Date(3.14159); td.valueOf()", 3, eval("td = new Date(3.14159); td.valueOf()") ); -new TestCase( "td = new Date(Math.PI); td.valueOf()", 3, eval("td = new Date(Math.PI); td.valueOf()") ); -new TestCase( "td = new Date(-Math.PI);td.valueOf()", -3, eval("td = new Date(-Math.PI);td.valueOf()") ); -new TestCase( "td = new Date(3.14159e2); td.valueOf()", 314, eval("td = new Date(3.14159e2); td.valueOf()") ); - -new TestCase( "td = new Date(.692147e1); td.valueOf()", 6, eval("td = new Date(.692147e1);td.valueOf()") ); -new TestCase( "td = new Date(-.692147e1);td.valueOf()", -6, eval("td = new Date(-.692147e1);td.valueOf()") ); - -// value is not a number - -new TestCase( "td = new Date(true); td.valueOf()", 1, eval("td = new Date(true); td.valueOf()" ) ); -new TestCase( "td = new Date(false); td.valueOf()", 0, eval("td = new Date(false); td.valueOf()") ); - -new TestCase( "td = new Date(new Number(Math.PI)); td.valueOf()", 3, eval("td = new Date(new Number(Math.PI)); td.valueOf()") ); -new TestCase( "td = new Date(new Number(Math.PI)); td.valueOf()", 3, eval("td = new Date(new Number(Math.PI)); td.valueOf()") ); - -// edge cases -new TestCase( "td = new Date(8.64e15); td.valueOf()", 8.64e15, eval("td = new Date(8.64e15); td.valueOf()") ); -new TestCase( "td = new Date(-8.64e15); td.valueOf()", -8.64e15, eval("td = new Date(-8.64e15); td.valueOf()") ); -new TestCase( "td = new Date(8.64e-15); td.valueOf()", 0, eval("td = new Date(8.64e-15); td.valueOf()") ); -new TestCase( "td = new Date(-8.64e-15); td.valueOf()", 0, eval("td = new Date(-8.64e-15); td.valueOf()") ); - -test(); diff --git a/js/src/tests/ecma/TypeConversion/9.5-2.js b/js/src/tests/ecma/TypeConversion/9.5-2.js deleted file mode 100644 index 408daa402eff..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.5-2.js +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.5-2.js - ECMA Section: 9.5 Type Conversion: ToInt32 - Description: rules for converting an argument to a signed 32 bit integer - - this test uses << 0 to convert the argument to a 32bit - integer. - - The operator ToInt32 converts its argument to one of 2^32 - integer values in the range -2^31 through 2^31 inclusive. - This operator functions as follows: - - 1 call ToNumber on argument - 2 if result is NaN, 0, -0, return 0 - 3 compute (sign (result(1)) * floor(abs(result 1))) - 4 compute result(3) modulo 2^32: - 5 if result(4) is greater than or equal to 2^31, return - result(5)-2^32. otherwise, return result(5) - - special cases: - -0 returns 0 - Infinity returns 0 - -Infinity returns 0 - ToInt32(ToUint32(x)) == ToInt32(x) for all values of x - Numbers greater than 2^31 (see step 5 above) - (note http://bugzilla.mozilla.org/show_bug.cgi?id=120083) - - Author: christine@netscape.com - Date: 17 july 1997 -*/ -var SECTION = "9.5-2"; - -writeHeaderToLog( SECTION + " ToInt32"); - -new TestCase( "0 << 0", 0, 0 << 0 ); -new TestCase( "-0 << 0", 0, -0 << 0 ); -new TestCase( "Infinity << 0", 0, "Infinity" << 0 ); -new TestCase( "-Infinity << 0", 0, "-Infinity" << 0 ); -new TestCase( "Number.POSITIVE_INFINITY << 0", 0, Number.POSITIVE_INFINITY << 0 ); -new TestCase( "Number.NEGATIVE_INFINITY << 0", 0, Number.NEGATIVE_INFINITY << 0 ); -new TestCase( "Number.NaN << 0", 0, Number.NaN << 0 ); - -new TestCase( "Number.MIN_VALUE << 0", 0, Number.MIN_VALUE << 0 ); -new TestCase( "-Number.MIN_VALUE << 0", 0, -Number.MIN_VALUE << 0 ); -new TestCase( "0.1 << 0", 0, 0.1 << 0 ); -new TestCase( "-0.1 << 0", 0, -0.1 << 0 ); -new TestCase( "1 << 0", 1, 1 << 0 ); -new TestCase( "1.1 << 0", 1, 1.1 << 0 ); -new TestCase( "-1 << 0", ToInt32(-1), -1 << 0 ); - - -new TestCase( "2147483647 << 0", ToInt32(2147483647), 2147483647 << 0 ); -new TestCase( "2147483648 << 0", ToInt32(2147483648), 2147483648 << 0 ); -new TestCase( "2147483649 << 0", ToInt32(2147483649), 2147483649 << 0 ); - -new TestCase( "(Math.pow(2,31)-1) << 0", ToInt32(2147483647), (Math.pow(2,31)-1) << 0 ); -new TestCase( "Math.pow(2,31) << 0", ToInt32(2147483648), Math.pow(2,31) << 0 ); -new TestCase( "(Math.pow(2,31)+1) << 0", ToInt32(2147483649), (Math.pow(2,31)+1) << 0 ); - -new TestCase( "(Math.pow(2,32)-1) << 0", ToInt32(4294967295), (Math.pow(2,32)-1) << 0 ); -new TestCase( "(Math.pow(2,32)) << 0", ToInt32(4294967296), (Math.pow(2,32)) << 0 ); -new TestCase( "(Math.pow(2,32)+1) << 0", ToInt32(4294967297), (Math.pow(2,32)+1) << 0 ); - -new TestCase( "4294967295 << 0", ToInt32(4294967295), 4294967295 << 0 ); -new TestCase( "4294967296 << 0", ToInt32(4294967296), 4294967296 << 0 ); -new TestCase( "4294967297 << 0", ToInt32(4294967297), 4294967297 << 0 ); - -new TestCase( "'2147483647' << 0", ToInt32(2147483647), '2147483647' << 0 ); -new TestCase( "'2147483648' << 0", ToInt32(2147483648), '2147483648' << 0 ); -new TestCase( "'2147483649' << 0", ToInt32(2147483649), '2147483649' << 0 ); - -new TestCase( "'4294967295' << 0", ToInt32(4294967295), '4294967295' << 0 ); -new TestCase( "'4294967296' << 0", ToInt32(4294967296), '4294967296' << 0 ); -new TestCase( "'4294967297' << 0", ToInt32(4294967297), '4294967297' << 0 ); - -new TestCase( "-2147483647 << 0", ToInt32(-2147483647), -2147483647 << 0 ); -new TestCase( "-2147483648 << 0", ToInt32(-2147483648), -2147483648 << 0 ); -new TestCase( "-2147483649 << 0", ToInt32(-2147483649), -2147483649 << 0 ); - -new TestCase( "-4294967295 << 0", ToInt32(-4294967295), -4294967295 << 0 ); -new TestCase( "-4294967296 << 0", ToInt32(-4294967296), -4294967296 << 0 ); -new TestCase( "-4294967297 << 0", ToInt32(-4294967297), -4294967297 << 0 ); - -/* - * Numbers between 2^31 and 2^32 will have a negative ToInt32 per ECMA (see step 5 of introduction) - * (These are by stevechapel@earthlink.net; cf. http://bugzilla.mozilla.org/show_bug.cgi?id=120083) - */ -new TestCase( "2147483648.25 << 0", ToInt32(2147483648.25), 2147483648.25 << 0 ); -new TestCase( "2147483648.5 << 0", ToInt32(2147483648.5), 2147483648.5 << 0 ); -new TestCase( "2147483648.75 << 0", ToInt32(2147483648.75), 2147483648.75 << 0 ); -new TestCase( "4294967295.25 << 0", ToInt32(4294967295.25), 4294967295.25 << 0 ); -new TestCase( "4294967295.5 << 0", ToInt32(4294967295.5), 4294967295.5 << 0 ); -new TestCase( "4294967295.75 << 0", ToInt32(4294967295.75), 4294967295.75 << 0 ); -new TestCase( "3000000000.25 << 0", ToInt32(3000000000.25), 3000000000.25 << 0 ); -new TestCase( "3000000000.5 << 0", ToInt32(3000000000.5), 3000000000.5 << 0 ); -new TestCase( "3000000000.75 << 0", ToInt32(3000000000.75), 3000000000.75 << 0 ); - -/* - * Numbers between - 2^31 and - 2^32 - */ -new TestCase( "-2147483648.25 << 0", ToInt32(-2147483648.25), -2147483648.25 << 0 ); -new TestCase( "-2147483648.5 << 0", ToInt32(-2147483648.5), -2147483648.5 << 0 ); -new TestCase( "-2147483648.75 << 0", ToInt32(-2147483648.75), -2147483648.75 << 0 ); -new TestCase( "-4294967295.25 << 0", ToInt32(-4294967295.25), -4294967295.25 << 0 ); -new TestCase( "-4294967295.5 << 0", ToInt32(-4294967295.5), -4294967295.5 << 0 ); -new TestCase( "-4294967295.75 << 0", ToInt32(-4294967295.75), -4294967295.75 << 0 ); -new TestCase( "-3000000000.25 << 0", ToInt32(-3000000000.25), -3000000000.25 << 0 ); -new TestCase( "-3000000000.5 << 0", ToInt32(-3000000000.5), -3000000000.5 << 0 ); -new TestCase( "-3000000000.75 << 0", ToInt32(-3000000000.75), -3000000000.75 << 0 ); - - -test(); - -function ToInt32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - - n = (sign * Math.floor( Math.abs(n) )) % Math.pow(2,32); - if ( sign == -1 ) { - n = ( n < -Math.pow(2,31) ) ? n + Math.pow(2,32) : n; - } else{ - n = ( n >= Math.pow(2,31) ) ? n - Math.pow(2,32) : n; - } - - return ( n ); -} - diff --git a/js/src/tests/ecma/TypeConversion/9.6.js b/js/src/tests/ecma/TypeConversion/9.6.js deleted file mode 100644 index 79f2ec60a778..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.6.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.6.js - ECMA Section: 9.6 Type Conversion: ToUint32 - Description: rules for converting an argument to an unsigned - 32 bit integer - - this test uses >>> 0 to convert the argument to - an unsigned 32bit integer. - - 1 call ToNumber on argument - 2 if result is NaN, 0, -0, Infinity, -Infinity - return 0 - 3 compute (sign (result(1)) * floor(abs(result 1))) - 4 compute result(3) modulo 2^32: - 5 return result(4) - - special cases: - -0 returns 0 - Infinity returns 0 - -Infinity returns 0 - 0 returns 0 - ToInt32(ToUint32(x)) == ToInt32(x) for all values of x - ** NEED TO DO THIS PART IN A SEPARATE TEST FILE ** - - - Author: christine@netscape.com - Date: 17 july 1997 -*/ - -var SECTION = "9.6"; - -writeHeaderToLog( SECTION + " Type Conversion: ToUint32"); - -new TestCase( "0 >>> 0", 0, 0 >>> 0 ); -// new TestCase( "+0 >>> 0", 0, +0 >>> 0); -new TestCase( "-0 >>> 0", 0, -0 >>> 0 ); -new TestCase( "'Infinity' >>> 0", 0, "Infinity" >>> 0 ); -new TestCase( "'-Infinity' >>> 0", 0, "-Infinity" >>> 0); -new TestCase( "'+Infinity' >>> 0", 0, "+Infinity" >>> 0 ); -new TestCase( "Number.POSITIVE_INFINITY >>> 0", 0, Number.POSITIVE_INFINITY >>> 0 ); -new TestCase( "Number.NEGATIVE_INFINITY >>> 0", 0, Number.NEGATIVE_INFINITY >>> 0 ); -new TestCase( "Number.NaN >>> 0", 0, Number.NaN >>> 0 ); - -new TestCase( "Number.MIN_VALUE >>> 0", 0, Number.MIN_VALUE >>> 0 ); -new TestCase( "-Number.MIN_VALUE >>> 0", 0, Number.MIN_VALUE >>> 0 ); -new TestCase( "0.1 >>> 0", 0, 0.1 >>> 0 ); -new TestCase( "-0.1 >>> 0", 0, -0.1 >>> 0 ); -new TestCase( "1 >>> 0", 1, 1 >>> 0 ); -new TestCase( "1.1 >>> 0", 1, 1.1 >>> 0 ); - -new TestCase( "-1.1 >>> 0", ToUint32(-1.1), -1.1 >>> 0 ); -new TestCase( "-1 >>> 0", ToUint32(-1), -1 >>> 0 ); - -new TestCase( "2147483647 >>> 0", ToUint32(2147483647), 2147483647 >>> 0 ); -new TestCase( "2147483648 >>> 0", ToUint32(2147483648), 2147483648 >>> 0 ); -new TestCase( "2147483649 >>> 0", ToUint32(2147483649), 2147483649 >>> 0 ); - -new TestCase( "4294967295 >>> 0", ToUint32(4294967295), 4294967295 >>> 0 ); -new TestCase( "4294967296 >>> 0", ToUint32(4294967296), 4294967296 >>> 0 ); -new TestCase( "4294967297 >>> 0", ToUint32(4294967297), 4294967297 >>> 0 ); - -new TestCase( "-2147483647 >>> 0", ToUint32(-2147483647), -2147483647 >>> 0 ); -new TestCase( "-2147483648 >>> 0", ToUint32(-2147483648), -2147483648 >>> 0 ); -new TestCase( "-2147483649 >>> 0", ToUint32(-2147483649), -2147483649 >>> 0 ); - -new TestCase( "-4294967295 >>> 0", ToUint32(-4294967295), -4294967295 >>> 0 ); -new TestCase( "-4294967296 >>> 0", ToUint32(-4294967296), -4294967296 >>> 0 ); -new TestCase( "-4294967297 >>> 0", ToUint32(-4294967297), -4294967297 >>> 0 ); - -new TestCase( "'2147483647' >>> 0", ToUint32(2147483647), '2147483647' >>> 0 ); -new TestCase( "'2147483648' >>> 0", ToUint32(2147483648), '2147483648' >>> 0 ); -new TestCase( "'2147483649' >>> 0", ToUint32(2147483649), '2147483649' >>> 0 ); - -new TestCase( "'4294967295' >>> 0", ToUint32(4294967295), '4294967295' >>> 0 ); -new TestCase( "'4294967296' >>> 0", ToUint32(4294967296), '4294967296' >>> 0 ); -new TestCase( "'4294967297' >>> 0", ToUint32(4294967297), '4294967297' >>> 0 ); - - -test(); - -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} - diff --git a/js/src/tests/ecma/TypeConversion/9.7.js b/js/src/tests/ecma/TypeConversion/9.7.js deleted file mode 100644 index 88166b6dce9f..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.7.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.7.js - ECMA Section: 9.7 Type Conversion: ToInt16 - Description: rules for converting an argument to an unsigned - 16 bit integer in the range 0 to 2^16-1. - - this test uses String.prototype.fromCharCode() and - String.prototype.charCodeAt() to test ToInt16. - - special cases: - -0 returns 0 - Infinity returns 0 - -Infinity returns 0 - 0 returns 0 - - Author: christine@netscape.com - Date: 17 july 1997 -*/ -var SECTION = "9.7"; - -writeHeaderToLog( SECTION + " Type Conversion: ToInt16"); - -/* - new TestCase( "String.fromCharCode(0).charCodeAt(0)", 0, String.fromCharCode(0).charCodeAt(0) ); - new TestCase( "String.fromCharCode(-0).charCodeAt(0)", 0, String.fromCharCode(-0).charCodeAt(0) ); - new TestCase( "String.fromCharCode(1).charCodeAt(0)", 1, String.fromCharCode(1).charCodeAt(0) ); - new TestCase( "String.fromCharCode(64).charCodeAt(0)", 64, String.fromCharCode(64).charCodeAt(0) ); - new TestCase( "String.fromCharCode(126).charCodeAt(0)", 126, String.fromCharCode(126).charCodeAt(0) ); - new TestCase( "String.fromCharCode(127).charCodeAt(0)", 127, String.fromCharCode(127).charCodeAt(0) ); - new TestCase( "String.fromCharCode(128).charCodeAt(0)", 128, String.fromCharCode(128).charCodeAt(0) ); - new TestCase( "String.fromCharCode(130).charCodeAt(0)", 130, String.fromCharCode(130).charCodeAt(0) ); - new TestCase( "String.fromCharCode(255).charCodeAt(0)", 255, String.fromCharCode(255).charCodeAt(0) ); - new TestCase( "String.fromCharCode(256).charCodeAt(0)", 256, String.fromCharCode(256).charCodeAt(0) ); - new TestCase( "String.fromCharCode(Math.pow(2,16)-1).charCodeAt(0)", 65535, String.fromCharCode(Math.pow(2,16)-1).charCodeAt(0) ); - new TestCase( "String.fromCharCode(Math.pow(2,16)).charCodeAt(0)", 0, String.fromCharCode(Math.pow(2,16)).charCodeAt(0) ); -*/ - - -new TestCase( "String.fromCharCode(0).charCodeAt(0)", ToInt16(0), String.fromCharCode(0).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-0).charCodeAt(0)", ToInt16(0), String.fromCharCode(-0).charCodeAt(0) ); -new TestCase( "String.fromCharCode(1).charCodeAt(0)", ToInt16(1), String.fromCharCode(1).charCodeAt(0) ); -new TestCase( "String.fromCharCode(64).charCodeAt(0)", ToInt16(64), String.fromCharCode(64).charCodeAt(0) ); -new TestCase( "String.fromCharCode(126).charCodeAt(0)", ToInt16(126), String.fromCharCode(126).charCodeAt(0) ); -new TestCase( "String.fromCharCode(127).charCodeAt(0)", ToInt16(127), String.fromCharCode(127).charCodeAt(0) ); -new TestCase( "String.fromCharCode(128).charCodeAt(0)", ToInt16(128), String.fromCharCode(128).charCodeAt(0) ); -new TestCase( "String.fromCharCode(130).charCodeAt(0)", ToInt16(130), String.fromCharCode(130).charCodeAt(0) ); -new TestCase( "String.fromCharCode(255).charCodeAt(0)", ToInt16(255), String.fromCharCode(255).charCodeAt(0) ); -new TestCase( "String.fromCharCode(256).charCodeAt(0)", ToInt16(256), String.fromCharCode(256).charCodeAt(0) ); - -new TestCase( "String.fromCharCode(Math.pow(2,16)-1).charCodeAt(0)", 65535, String.fromCharCode(Math.pow(2,16)-1).charCodeAt(0) ); -new TestCase( "String.fromCharCode(Math.pow(2,16)).charCodeAt(0)", 0, String.fromCharCode(Math.pow(2,16)).charCodeAt(0) ); - -new TestCase( "String.fromCharCode(65535).charCodeAt(0)", ToInt16(65535), String.fromCharCode(65535).charCodeAt(0) ); -new TestCase( "String.fromCharCode(65536).charCodeAt(0)", ToInt16(65536), String.fromCharCode(65536).charCodeAt(0) ); -new TestCase( "String.fromCharCode(65537).charCodeAt(0)", ToInt16(65537), String.fromCharCode(65537).charCodeAt(0) ); - -new TestCase( "String.fromCharCode(131071).charCodeAt(0)", ToInt16(131071), String.fromCharCode(131071).charCodeAt(0) ); -new TestCase( "String.fromCharCode(131072).charCodeAt(0)", ToInt16(131072), String.fromCharCode(131072).charCodeAt(0) ); -new TestCase( "String.fromCharCode(131073).charCodeAt(0)", ToInt16(131073), String.fromCharCode(131073).charCodeAt(0) ); - -new TestCase( "String.fromCharCode('65535').charCodeAt(0)", 65535, String.fromCharCode("65535").charCodeAt(0) ); -new TestCase( "String.fromCharCode('65536').charCodeAt(0)", 0, String.fromCharCode("65536").charCodeAt(0) ); - -new TestCase( "String.fromCharCode(-1).charCodeAt(0)", ToInt16(-1), String.fromCharCode(-1).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-64).charCodeAt(0)", ToInt16(-64), String.fromCharCode(-64).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-126).charCodeAt(0)", ToInt16(-126), String.fromCharCode(-126).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-127).charCodeAt(0)", ToInt16(-127), String.fromCharCode(-127).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-128).charCodeAt(0)", ToInt16(-128), String.fromCharCode(-128).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-130).charCodeAt(0)", ToInt16(-130), String.fromCharCode(-130).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-255).charCodeAt(0)", ToInt16(-255), String.fromCharCode(-255).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-256).charCodeAt(0)", ToInt16(-256), String.fromCharCode(-256).charCodeAt(0) ); - -new TestCase( "String.fromCharCode(-Math.pow(2,16)-1).charCodeAt(0)", 65535, String.fromCharCode(-Math.pow(2,16)-1).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-Math.pow(2,16)).charCodeAt(0)", 0, String.fromCharCode(-Math.pow(2,16)).charCodeAt(0) ); - -new TestCase( "String.fromCharCode(-65535).charCodeAt(0)", ToInt16(-65535), String.fromCharCode(-65535).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-65536).charCodeAt(0)", ToInt16(-65536), String.fromCharCode(-65536).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-65537).charCodeAt(0)", ToInt16(-65537), String.fromCharCode(-65537).charCodeAt(0) ); - -new TestCase( "String.fromCharCode(-131071).charCodeAt(0)", ToInt16(-131071), String.fromCharCode(-131071).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-131072).charCodeAt(0)", ToInt16(-131072), String.fromCharCode(-131072).charCodeAt(0) ); -new TestCase( "String.fromCharCode(-131073).charCodeAt(0)", ToInt16(-131073), String.fromCharCode(-131073).charCodeAt(0) ); - -new TestCase( "String.fromCharCode('-65535').charCodeAt(0)", ToInt16(-65535), String.fromCharCode("-65535").charCodeAt(0) ); -new TestCase( "String.fromCharCode('-65536').charCodeAt(0)", ToInt16(-65536), String.fromCharCode("-65536").charCodeAt(0) ); - - -// new TestCase( "String.fromCharCode(2147483648).charCodeAt(0)", ToInt16(2147483648), String.fromCharCode(2147483648).charCodeAt(0) ); - - - -// the following test cases cause a runtime error. see: http://scopus.mcom.com/bugsplat/show_bug.cgi?id=78878 - -// new TestCase( "String.fromCharCode(Infinity).charCodeAt(0)", 0, String.fromCharCode("Infinity").charCodeAt(0) ); -// new TestCase( "String.fromCharCode(-Infinity).charCodeAt(0)", 0, String.fromCharCode("-Infinity").charCodeAt(0) ); -// new TestCase( "String.fromCharCode(NaN).charCodeAt(0)", 0, String.fromCharCode(Number.NaN).charCodeAt(0) ); -// new TestCase( "String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0)", 0, String.fromCharCode(Number.POSITIVE_INFINITY).charCodeAt(0) ); -// new TestCase( "String.fromCharCode(Number.NEGATIVE_INFINITY).charCodeAt(0)", 0, String.fromCharCode(Number.NEGATIVE_INFINITY).charCodeAt(0) ); - -test(); - -function ToInt16( num ) { - num = Number( num ); - if ( isNaN( num ) || num == 0 || num == Number.POSITIVE_INFINITY || num == Number.NEGATIVE_INFINITY ) { - return 0; - } - - var sign = ( num < 0 ) ? -1 : 1; - - num = sign * Math.floor( Math.abs( num ) ); - - num = num % Math.pow(2,16); - - num = ( num > -65536 && num < 0) ? 65536 + num : num; - - return num; -} - diff --git a/js/src/tests/ecma/TypeConversion/9.8.1.js b/js/src/tests/ecma/TypeConversion/9.8.1.js deleted file mode 100644 index ba6b60e10a25..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.8.1.js +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.8.1.js - ECMA Section: 9.8.1 ToString Applied to the Number Type - Description: The operator ToString convers a number m to string - as follows: - - 1. if m is NaN, return the string "NaN" - 2. if m is +0 or -0, return the string "0" - 3. if m is less than zero, return the string - concatenation of the string "-" and ToString(-m). - 4. If m is Infinity, return the string "Infinity". - 5. Otherwise, let n, k, and s be integers such that - k >= 1, 10k1 <= s < 10k, the number value for s10nk - is m, and k is as small as possible. Note that k is - the number of digits in the decimal representation - of s, that s is not divisible by 10, and that the - least significant digit of s is not necessarily - uniquely determined by these criteria. - 6. If k <= n <= 21, return the string consisting of the - k digits of the decimal representation of s (in order, - with no leading zeroes), followed by n-k occurences - of the character '0'. - 7. If 0 < n <= 21, return the string consisting of the - most significant n digits of the decimal - representation of s, followed by a decimal point - '.', followed by the remaining kn digits of the - decimal representation of s. - 8. If 6 < n <= 0, return the string consisting of the - character '0', followed by a decimal point '.', - followed by n occurences of the character '0', - followed by the k digits of the decimal - representation of s. - 9. Otherwise, if k = 1, return the string consisting - of the single digit of s, followed by lowercase - character 'e', followed by a plus sign '+' or minus - sign '' according to whether n1 is positive or - negative, followed by the decimal representation - of the integer abs(n1) (with no leading zeros). - 10. Return the string consisting of the most significant - digit of the decimal representation of s, followed - by a decimal point '.', followed by the remaining k1 - digits of the decimal representation of s, followed - by the lowercase character 'e', followed by a plus - sign '+' or minus sign '' according to whether n1 is - positive or negative, followed by the decimal - representation of the integer abs(n1) (with no - leading zeros). - - Note that if x is any number value other than 0, then - ToNumber(ToString(x)) is exactly the same number value as x. - - As noted, the least significant digit of s is not always - uniquely determined by the requirements listed in step 5. - The following specification for step 5 was considered, but - not adopted: - - Author: christine@netscape.com - Date: 10 july 1997 -*/ - -var SECTION = "9.8.1"; - -writeHeaderToLog( SECTION + " ToString applied to the Number type"); - -new TestCase( "Number.NaN", "NaN", Number.NaN + "" ); -new TestCase( "0", "0", 0 + "" ); -new TestCase( "-0", "0", -0 + "" ); -new TestCase( "Number.POSITIVE_INFINITY", "Infinity", Number.POSITIVE_INFINITY + "" ); -new TestCase( "Number.NEGATIVE_INFINITY", "-Infinity", Number.NEGATIVE_INFINITY + "" ); -new TestCase( "-1", "-1", -1 + "" ); - -// cases in step 6: integers 1e21 > x >= 1 or -1 >= x > -1e21 - -new TestCase( "1", "1", 1 + "" ); -new TestCase( "10", "10", 10 + "" ); -new TestCase( "100", "100", 100 + "" ); -new TestCase( "1000", "1000", 1000 + "" ); -new TestCase( "10000", "10000", 10000 + "" ); -new TestCase( "10000000000", "10000000000", 10000000000 + "" ); -new TestCase( "10000000000000000000", "10000000000000000000", 10000000000000000000 + "" ); -new TestCase( "100000000000000000000","100000000000000000000",100000000000000000000 + "" ); - -new TestCase( "12345", "12345", 12345 + "" ); -new TestCase( "1234567890", "1234567890", 1234567890 + "" ); - -new TestCase( "-1", "-1", -1 + "" ); -new TestCase( "-10", "-10", -10 + "" ); -new TestCase( "-100", "-100", -100 + "" ); -new TestCase( "-1000", "-1000", -1000 + "" ); -new TestCase( "-1000000000", "-1000000000", -1000000000 + "" ); -new TestCase( "-1000000000000000", "-1000000000000000", -1000000000000000 + "" ); -new TestCase( "-100000000000000000000", "-100000000000000000000", -100000000000000000000 + "" ); -new TestCase( "-1000000000000000000000", "-1e+21", -1000000000000000000000 + "" ); - -new TestCase( "-12345", "-12345", -12345 + "" ); -new TestCase( "-1234567890", "-1234567890", -1234567890 + "" ); - -// cases in step 7: numbers with a fractional component, 1e21> x >1 or -1 > x > -1e21, -new TestCase( "1.0000001", "1.0000001", 1.0000001 + "" ); - -// cases in step 8: fractions between 1 > x > -1, exclusive of 0 and -0 - -// cases in step 9: numbers with 1 significant digit >= 1e+21 or <= 1e-6 - -new TestCase( "1000000000000000000000", "1e+21", 1000000000000000000000 + "" ); -new TestCase( "10000000000000000000000", "1e+22", 10000000000000000000000 + "" ); - -// cases in step 10: numbers with more than 1 significant digit >= 1e+21 or <= 1e-6 - -new TestCase( "1.2345", "1.2345", String( 1.2345)); -new TestCase( "1.234567890", "1.23456789", String( 1.234567890 )); - - -new TestCase( ".12345", "0.12345", String(.12345 ) ); -new TestCase( ".012345", "0.012345", String(.012345) ); -new TestCase( ".0012345", "0.0012345", String(.0012345) ); -new TestCase( ".00012345", "0.00012345", String(.00012345) ); -new TestCase( ".000012345", "0.000012345", String(.000012345) ); -new TestCase( ".0000012345", "0.0000012345", String(.0000012345) ); -new TestCase( ".00000012345", "1.2345e-7", String(.00000012345)); - -new TestCase( "-1e21", "-1e+21", String(-1e21) ); - -test(); - diff --git a/js/src/tests/ecma/TypeConversion/9.9-1.js b/js/src/tests/ecma/TypeConversion/9.9-1.js deleted file mode 100644 index da9e6d9db021..000000000000 --- a/js/src/tests/ecma/TypeConversion/9.9-1.js +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.9-1.js - ECMA Section: 9.9 Type Conversion: ToObject - Description: - - undefined generate a runtime error - null generate a runtime error - boolean create a new Boolean object whose default - value is the value of the boolean. - number Create a new Number object whose default - value is the value of the number. - string Create a new String object whose default - value is the value of the string. - object Return the input argument (no conversion). - Author: christine@netscape.com - Date: 17 july 1997 -*/ - -var SECTION = "9.9-1"; - -writeHeaderToLog( SECTION + " Type Conversion: ToObject" ); - -new TestCase( "Object(true).valueOf()", true, (Object(true)).valueOf() ); -new TestCase( "typeof Object(true)", "object", typeof Object(true) ); - -new TestCase( "Object(false).valueOf()", false, (Object(false)).valueOf() ); -new TestCase( "typeof Object(false)", "object", typeof Object(false) ); - -new TestCase( "Object(0).valueOf()", 0, (Object(0)).valueOf() ); -new TestCase( "typeof Object(0)", "object", typeof Object(0) ); - -new TestCase( "Object(-0).valueOf()", -0, (Object(-0)).valueOf() ); -new TestCase( "typeof Object(-0)", "object", typeof Object(-0) ); - -new TestCase( "Object(1).valueOf()", 1, (Object(1)).valueOf() ); -new TestCase( "typeof Object(1)", "object", typeof Object(1) ); - -new TestCase( "Object(-1).valueOf()", -1, (Object(-1)).valueOf() ); -new TestCase( "typeof Object(-1)", "object", typeof Object(-1) ); - -new TestCase( "Object(Number.MAX_VALUE).valueOf()", 1.7976931348623157e308, (Object(Number.MAX_VALUE)).valueOf() ); -new TestCase( "typeof Object(Number.MAX_VALUE)", "object", typeof Object(Number.MAX_VALUE) ); - -new TestCase( "Object(Number.MIN_VALUE).valueOf()", 5e-324, (Object(Number.MIN_VALUE)).valueOf() ); -new TestCase( "typeof Object(Number.MIN_VALUE)", "object", typeof Object(Number.MIN_VALUE) ); - -new TestCase( "Object(Number.POSITIVE_INFINITY).valueOf()", Number.POSITIVE_INFINITY, (Object(Number.POSITIVE_INFINITY)).valueOf() ); -new TestCase( "typeof Object(Number.POSITIVE_INFINITY)", "object", typeof Object(Number.POSITIVE_INFINITY) ); - -new TestCase( "Object(Number.NEGATIVE_INFINITY).valueOf()", Number.NEGATIVE_INFINITY, (Object(Number.NEGATIVE_INFINITY)).valueOf() ); -new TestCase( "typeof Object(Number.NEGATIVE_INFINITY)", "object", typeof Object(Number.NEGATIVE_INFINITY) ); - -new TestCase( "Object(Number.NaN).valueOf()", Number.NaN, (Object(Number.NaN)).valueOf() ); -new TestCase( "typeof Object(Number.NaN)", "object", typeof Object(Number.NaN) ); - -new TestCase( "Object('a string').valueOf()", "a string", (Object("a string")).valueOf() ); -new TestCase( "typeof Object('a string')", "object", typeof (Object("a string")) ); - -new TestCase( "Object('').valueOf()", "", (Object("")).valueOf() ); -new TestCase( "typeof Object('')", "object", typeof (Object("")) ); - -new TestCase( "Object('\\r\\t\\b\\n\\v\\f').valueOf()", "\r\t\b\n\v\f", (Object("\r\t\b\n\v\f")).valueOf() ); -new TestCase( "typeof Object('\\r\\t\\b\\n\\v\\f')", "object", typeof (Object("\\r\\t\\b\\n\\v\\f")) ); - -new TestCase( "Object( '\\\'\\\"\\' ).valueOf()", "\'\"\\", (Object("\'\"\\")).valueOf() ); -new TestCase( "typeof Object( '\\\'\\\"\\' )", "object", typeof Object("\'\"\\") ); - -new TestCase( "Object( new MyObject(true) ).valueOf()", true, eval("Object( new MyObject(true) ).valueOf()") ); -new TestCase( "typeof Object( new MyObject(true) )", "object", eval("typeof Object( new MyObject(true) )") ); -new TestCase( "(Object( new MyObject(true) )).toString()", "[object Object]", eval("(Object( new MyObject(true) )).toString()") ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function ( "return this.value" ); -} diff --git a/js/src/tests/ecma/Types/8.1.js b/js/src/tests/ecma/Types/8.1.js deleted file mode 100644 index 6cbb6ed314a1..000000000000 --- a/js/src/tests/ecma/Types/8.1.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 8.1.js - ECMA Section: The undefined type - Description: - - The Undefined type has exactly one value, called undefined. Any variable - that has not been assigned a value is of type Undefined. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "8.1"; -var TITLE = "The undefined type"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var x; typeof x", - "undefined", - eval("var x; typeof x") ); - -new TestCase( "var x; typeof x == 'undefined", - true, - eval("var x; typeof x == 'undefined'") ); - -new TestCase( "var x; x == void 0", - true, - eval("var x; x == void 0") ); -test(); - diff --git a/js/src/tests/ecma/Types/8.4.js b/js/src/tests/ecma/Types/8.4.js deleted file mode 100644 index 804b61a5fef3..000000000000 --- a/js/src/tests/ecma/Types/8.4.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 8.4.js - ECMA Section: The String type - Description: - - The String type is the set of all finite ordered sequences of zero or more - Unicode characters. Each character is regarded as occupying a position - within the sequence. These positions are identified by nonnegative - integers. The leftmost character (if any) is at position 0, the next - character (if any) at position 1, and so on. The length of a string is the - number of distinct positions within it. The empty string has length zero - and therefore contains no characters. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "8.4"; -var TITLE = "The String type"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var s = ''; s.length", - 0, - eval("var s = ''; s.length") ); - -new TestCase( "var s = ''; s.charAt(0)", - "", - eval("var s = ''; s.charAt(0)") ); - - -for ( var i = 0x0041, TEST_STRING = "", EXPECT_STRING = ""; i < 0x007B; i++ ) { - TEST_STRING += ("\\u"+ DecimalToHexString( i ) ); - EXPECT_STRING += String.fromCharCode(i); -} - -new TestCase( "var s = '" + TEST_STRING+ "'; s", - EXPECT_STRING, - eval("var s = '" + TEST_STRING+ "'; s") ); - -new TestCase( "var s = '" + TEST_STRING+ "'; s.length", - 0x007B-0x0041, - eval("var s = '" + TEST_STRING+ "'; s.length") ); - -test(); - -function DecimalToHexString( n ) { - n = Number( n ); - var h = ""; - - for ( var i = 3; i >= 0; i-- ) { - if ( n >= Math.pow(16, i) ){ - var t = Math.floor( n / Math.pow(16, i)); - n -= t * Math.pow(16, i); - if ( t >= 10 ) { - if ( t == 10 ) { - h += "A"; - } - if ( t == 11 ) { - h += "B"; - } - if ( t == 12 ) { - h += "C"; - } - if ( t == 13 ) { - h += "D"; - } - if ( t == 14 ) { - h += "E"; - } - if ( t == 15 ) { - h += "F"; - } - } else { - h += String( t ); - } - } else { - h += "0"; - } - } - - return h; -} - diff --git a/js/src/tests/ecma/Types/8.6.2.1-1.js b/js/src/tests/ecma/Types/8.6.2.1-1.js deleted file mode 100644 index 62a703df4435..000000000000 --- a/js/src/tests/ecma/Types/8.6.2.1-1.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 8.6.2.1-1.js - ECMA Section: 8.6.2.1 Get (Value) - Description: - - When the [[Get]] method of O is called with property name P, the following - steps are taken: - - 1. If O doesn't have a property with name P, go to step 4. - 2. Get the value of the property. - 3. Return Result(2). - 4. If the [[Prototype]] of O is null, return undefined. - 5. Call the [[Get]] method of [[Prototype]] with property name P. - 6. Return Result(5). - - This tests [[Get]] (Value). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "8.6.2.1-1"; - -writeHeaderToLog( SECTION + " [[Get]] (Value)"); - -new TestCase( "var OBJ = new MyObject(true); OBJ.valueOf()", true, eval("var OBJ = new MyObject(true); OBJ.valueOf()") ); - -new TestCase( "var OBJ = new MyObject(Number.POSITIVE_INFINITY); OBJ.valueOf()", Number.POSITIVE_INFINITY, eval("var OBJ = new MyObject(Number.POSITIVE_INFINITY); OBJ.valueOf()") ); - -new TestCase( "var OBJ = new MyObject('string'); OBJ.valueOf()", 'string', eval("var OBJ = new MyObject('string'); OBJ.valueOf()") ); - -test(); - -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/extensions/10.1.4-9.js b/js/src/tests/ecma/extensions/10.1.4-9.js deleted file mode 100644 index c4f15265a85b..000000000000 --- a/js/src/tests/ecma/extensions/10.1.4-9.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.4-9.js - ECMA Section: 10.1.4 Scope Chain and Identifier Resolution - Description: - Every execution context has associated with it a scope chain. This is - logically a list of objects that are searched when binding an Identifier. - When control enters an execution context, the scope chain is created and - is populated with an initial set of objects, depending on the type of - code. When control leaves the execution context, the scope chain is - destroyed. - - During execution, the scope chain of the execution context is affected - only by WithStatement. When execution enters a with block, the object - specified in the with statement is added to the front of the scope chain. - When execution leaves a with block, whether normally or via a break or - continue statement, the object is removed from the scope chain. The object - being removed will always be the first object in the scope chain. - - During execution, the syntactic production PrimaryExpression : Identifier - is evaluated using the following algorithm: - - 1. Get the next object in the scope chain. If there isn't one, go to step 5. - 2. Call the [[HasProperty]] method of Result(l), passing the Identifier as - the property. - 3. If Result(2) is true, return a value of type Reference whose base object - is Result(l) and whose property name is the Identifier. - 4. Go to step 1. - 5. Return a value of type Reference whose base object is null and whose - property name is the Identifier. - The result of binding an identifier is always a value of type Reference with - its member name component equal to the identifier string. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "10.1.4-9"; - -writeHeaderToLog( SECTION + " Scope Chain and Identifier Resolution"); - -addTestCase(); - -test(); - -function addTestCase() { - var MYOBJECT = new MyObject(); - var RESULT = "hello"; - - with ( MYOBJECT ) { - NEW_PROPERTY = RESULT; - } - var actual = NEW_PROPERTY; - var expect = RESULT; - - new TestCase( "NEW_PROPERTY = " + actual, expect, actual ); -} -function MyObject( n ) { - this.__proto__ = Number.prototype; -} diff --git a/js/src/tests/ecma/extensions/10.1.6.js b/js/src/tests/ecma/extensions/10.1.6.js deleted file mode 100644 index 63e56b162416..000000000000 --- a/js/src/tests/ecma/extensions/10.1.6.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.6 - ECMA Section: Activation Object - Description: - - If the function object being invoked has an arguments property, let x be - the value of that property; the activation object is also given an internal - property [[OldArguments]] whose initial value is x; otherwise, an arguments - property is created for the function object but the activation object is - not given an [[OldArguments]] property. Next, arguments object described - below (the same one stored in the arguments property of the activation - object) is used as the new value of the arguments property of the function - object. This new value is installed even if the arguments property already - exists and has the ReadOnly attribute (as it will for native Function - objects). (These actions are taken to provide compatibility with a form of - program syntax that is now discouraged: to access the arguments object for - function f within the body of f by using the expression f.arguments. - The recommended way to access the arguments object for function f within - the body of f is simply to refer to the variable arguments.) - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.1.6"; -var TITLE = "Activation Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var arguments = "FAILED!"; - -var ARG_STRING = "value of the argument property"; - -new TestCase( "(new TestObject(0,1,2,3,4,5)).length", - 6, - (new TestObject(0,1,2,3,4,5)).length ); - -for ( i = 0; i < 6; i++ ) { - - new TestCase( "(new TestObject(0,1,2,3,4,5))["+i+"]", - i, - (new TestObject(0,1,2,3,4,5))[i]); -} - - -// The current object already has an arguments property. - -new TestCase( "(new AnotherTestObject(1,2,3)).arguments", - ARG_STRING, - (new AnotherTestObject(1,2,3)).arguments ); - -// The function invoked with [[Call]] - -new TestCase( "TestFunction(1,2,3)", - ARG_STRING, - TestFunction() + '' ); - - -test(); - - - -function Prototype() { - this.arguments = ARG_STRING; -} -function TestObject() { - this.__proto__ = new Prototype(); - return arguments; -} -function AnotherTestObject() { - this.__proto__ = new Prototype(); - return this; -} -function TestFunction() { - arguments = ARG_STRING; - return arguments; -} -function AnotherTestFunction() { - this.__proto__ = new Prototype(); - return this; -} diff --git a/js/src/tests/ecma/extensions/10.1.8-1.js b/js/src/tests/ecma/extensions/10.1.8-1.js deleted file mode 100644 index 88448a3793be..000000000000 --- a/js/src/tests/ecma/extensions/10.1.8-1.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 10.1.8 - ECMA Section: Arguments Object - Description: - - When control enters an execution context for declared function code, - anonymous code, or implementation-supplied code, an arguments object is - created and initialized as follows: - - The [[Prototype]] of the arguments object is to the original Object - prototype object, the one that is the initial value of Object.prototype - (section 15.2.3.1). - - A property is created with name callee and property attributes {DontEnum}. - The initial value of this property is the function object being executed. - This allows anonymous functions to be recursive. - - A property is created with name length and property attributes {DontEnum}. - The initial value of this property is the number of actual parameter values - supplied by the caller. - - For each non-negative integer, iarg, less than the value of the length - property, a property is created with name ToString(iarg) and property - attributes { DontEnum }. The initial value of this property is the value - of the corresponding actual parameter supplied by the caller. The first - actual parameter value corresponds to iarg = 0, the second to iarg = 1 and - so on. In the case when iarg is less than the number of formal parameters - for the function object, this property shares its value with the - corresponding property of the activation object. This means that changing - this property changes the corresponding property of the activation object - and vice versa. The value sharing mechanism depends on the implementation. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "10.1.8"; -var TITLE = "Arguments Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var ARG_STRING = "value of the argument property"; - -new TestCase( - "GetCallee()", - GetCallee, - GetCallee() ); - -var LIMIT = 100; - -for ( var i = 0, args = "" ; i < LIMIT; i++ ) { - args += String(i) + ( i+1 < LIMIT ? "," : "" ); - -} - -var LENGTH = eval( "GetLength("+ args +")" ); - -new TestCase( - "GetLength("+args+")", - 100, - LENGTH ); - -var ARGUMENTS = eval( "GetArguments( " +args+")" ); - -for ( var i = 0; i < 100; i++ ) { - new TestCase( - "GetArguments("+args+")["+i+"]", - i, - ARGUMENTS[i] ); -} - -test(); - -function TestFunction() { - var arg_proto = arguments.__proto__; -} -function GetCallee() { - var c = arguments.callee; - return c; -} -function GetArguments() { - var a = arguments; - return a; -} -function GetLength() { - var l = arguments.length; - return l; -} - -function AnotherTestFunction() { - this.__proto__ = new Prototype(); - return this; -} diff --git a/js/src/tests/ecma/extensions/11.6.1-1.js b/js/src/tests/ecma/extensions/11.6.1-1.js deleted file mode 100644 index b0e3108dfa48..000000000000 --- a/js/src/tests/ecma/extensions/11.6.1-1.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.1-1.js - ECMA Section: 11.6.1 The addition operator ( + ) - Description: - - The addition operator either performs string concatenation or numeric - addition. - - The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression - is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToPrimitive(Result(2)). - 6. Call ToPrimitive(Result(4)). - 7. If Type(Result(5)) is String or Type(Result(6)) is String, go to step 12. - (Note that this step differs from step 3 in the algorithm for comparison - for the relational operators in using or instead of and.) - 8. Call ToNumber(Result(5)). - 9. Call ToNumber(Result(6)). - 10. Apply the addition operation to Result(8) and Result(9). See the discussion below (11.6.3). - 11. Return Result(10). - 12. Call ToString(Result(5)). - 13. Call ToString(Result(6)). - 14. Concatenate Result(12) followed by Result(13). - 15. Return Result(14). - - Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6. - All native ECMAScript objects except Date objects handle the absence of a - hint as if the hint Number were given; Date objects handle the absence of a - hint as if the hint String were given. Host objects may handle the absence - of a hint in some other manner. - - This test does not cover cases where the Additive or Mulplicative expression - ToPrimitive is string. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.1-1"; - -writeHeaderToLog( SECTION + " The Addition operator ( + )"); - -// tests for "MyValuelessObject", where the value is -// set in the object's prototype, not the object itself. - -new TestCase( "var EXP_1 = new MyValuelessObject(true); var EXP_2 = new MyValuelessObject(false); EXP_1 + EXP_2", - 1, - eval("var EXP_1 = new MyValuelessObject(true); var EXP_2 = new MyValuelessObject(false); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyValuelessObject(new Boolean(true)); var EXP_2 = new MyValuelessObject(new Boolean(false)); EXP_1 + EXP_2", - "truefalse", - eval("var EXP_1 = new MyValuelessObject(new Boolean(true)); var EXP_2 = new MyValuelessObject(new Boolean(false)); EXP_1 + EXP_2") ); - -// tests for "MyValuelessObject", where the value is -// set in the object's prototype, not the object itself. - - -new TestCase( "var EXP_1 = new MyValuelessObject(100); var EXP_2 = new MyValuelessObject(-1); EXP_1 + EXP_2", - 99, - eval("var EXP_1 = new MyValuelessObject(100); var EXP_2 = new MyValuelessObject(-1); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyValuelessObject(new Number(100)); var EXP_2 = new MyValuelessObject(new Number(-1)); EXP_1 + EXP_2", - "100-1", - eval("var EXP_1 = new MyValuelessObject(new Number(100)); var EXP_2 = new MyValuelessObject(new Number(-1)); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyValuelessObject( new MyValuelessObject( new Boolean(true) ) ); EXP_1 + EXP_1", - "truetrue", - eval("var EXP_1 = new MyValuelessObject( new MyValuelessObject( new Boolean(true) ) ); EXP_1 + EXP_1") ); - -test(); - -function MyProtoValuelessObject() { - this.valueOf = new Function ( "" ); - this.__proto__ = null; -} - -function MyProtolessObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.__proto__ = null; - this.value = value; -} - -function MyValuelessObject(value) { - this.__proto__ = new MyPrototypeObject(value); -} -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} - -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/extensions/11.6.1-2.js b/js/src/tests/ecma/extensions/11.6.1-2.js deleted file mode 100644 index c4cd9c3d0b12..000000000000 --- a/js/src/tests/ecma/extensions/11.6.1-2.js +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.1-2.js - ECMA Section: 11.6.1 The addition operator ( + ) - Description: - - The addition operator either performs string concatenation or numeric - addition. - - The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression - is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToPrimitive(Result(2)). - 6. Call ToPrimitive(Result(4)). - 7. If Type(Result(5)) is String or Type(Result(6)) is String, go to step 12. - (Note that this step differs from step 3 in the algorithm for comparison - for the relational operators in using or instead of and.) - 8. Call ToNumber(Result(5)). - 9. Call ToNumber(Result(6)). - 10. Apply the addition operation to Result(8) and Result(9). See the discussion below (11.6.3). - 11. Return Result(10). - 12. Call ToString(Result(5)). - 13. Call ToString(Result(6)). - 14. Concatenate Result(12) followed by Result(13). - 15. Return Result(14). - - Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6. - All native ECMAScript objects except Date objects handle the absence of a - hint as if the hint Number were given; Date objects handle the absence of a - hint as if the hint String were given. Host objects may handle the absence - of a hint in some other manner. - - This test does only covers cases where the Additive or Mulplicative expression - ToPrimitive is a string. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.1-2"; - -writeHeaderToLog( SECTION + " The Addition operator ( + )"); - -// tests for "MyValuelessObject", where the value is -// set in the object's prototype, not the object itself. - -new TestCase( "var EXP_1 = new MyValuelessObject('string'); var EXP_2 = new MyValuelessObject(false); EXP_1 + EXP_2", - "stringfalse", - eval("var EXP_1 = new MyValuelessObject('string'); var EXP_2 = new MyValuelessObject(false); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyValuelessObject(new String('string')); var EXP_2 = new MyValuelessObject(new Boolean(false)); EXP_1 + EXP_2", - "stringfalse", - eval("var EXP_1 = new MyValuelessObject(new String('string')); var EXP_2 = new MyValuelessObject(new Boolean(false)); EXP_1 + EXP_2") ); - -// tests for "MyValuelessObject", where the value is -// set in the object's prototype, not the object itself. - -new TestCase( "var EXP_1 = new MyValuelessObject(100); var EXP_2 = new MyValuelessObject('string'); EXP_1 + EXP_2", - "100string", - eval("var EXP_1 = new MyValuelessObject(100); var EXP_2 = new MyValuelessObject('string'); EXP_1 + EXP_2") ); - -new TestCase( "var EXP_1 = new MyValuelessObject(new String('string')); var EXP_2 = new MyValuelessObject(new Number(-1)); EXP_1 + EXP_2", - "string-1", - eval("var EXP_1 = new MyValuelessObject(new String('string')); var EXP_2 = new MyValuelessObject(new Number(-1)); EXP_1 + EXP_2") ); - -test(); - -function MyProtoValuelessObject() { - this.valueOf = new Function ( "" ); - this.__proto__ = null; -} -function MyProtolessObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.__proto__ = null; - this.value = value; -} -function MyValuelessObject(value) { - this.__proto__ = new MyPrototypeObject(value); -} -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/extensions/11.6.1-3.js b/js/src/tests/ecma/extensions/11.6.1-3.js deleted file mode 100644 index 2b7ea288c1b3..000000000000 --- a/js/src/tests/ecma/extensions/11.6.1-3.js +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.1-3.js - ECMA Section: 11.6.1 The addition operator ( + ) - Description: - - The addition operator either performs string concatenation or numeric - addition. - - The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression - is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToPrimitive(Result(2)). - 6. Call ToPrimitive(Result(4)). - 7. If Type(Result(5)) is String or Type(Result(6)) is String, go to step 12. - (Note that this step differs from step 3 in the algorithm for comparison - for the relational operators in using or instead of and.) - 8. Call ToNumber(Result(5)). - 9. Call ToNumber(Result(6)). - 10. Apply the addition operation to Result(8) and Result(9). See the discussion below (11.6.3). - 11. Return Result(10). - 12. Call ToString(Result(5)). - 13. Call ToString(Result(6)). - 14. Concatenate Result(12) followed by Result(13). - 15. Return Result(14). - - Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6. - All native ECMAScript objects except Date objects handle the absence of a - hint as if the hint Number were given; Date objects handle the absence of a - hint as if the hint String were given. Host objects may handle the absence - of a hint in some other manner. - - This test does only covers cases where the Additive or Mulplicative expression - is a Date. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.1-3"; - -writeHeaderToLog( SECTION + " The Addition operator ( + )"); - -// tests for a boolean primitive and a boolean object, and -// "MyValuelessObject", where the value is set in the object's -// prototype, not the object itself. - -var DATE1 = new Date(); - -var MYOB1 = new MyObject( DATE1 ); -var MYOB2 = new MyValuelessObject( DATE1 ); -var MYOB3 = new MyProtolessObject( DATE1 ); -var MYOB4 = new MyProtoValuelessObject( DATE1 ); - -new TestCase( "MYOB2 = new MyValuelessObject(DATE1); MYOB3 + 'string'", - DATE1.toString() + "string", - MYOB2 + 'string' ); - -new TestCase( "MYOB2 = new MyValuelessObject(DATE1); MYOB3 + new String('string')", - DATE1.toString() + "string", - MYOB2 + new String('string') ); -/* - new TestCase( - "MYOB3 = new MyProtolessObject(DATE1); MYOB3 + new Boolean(true)", - DATE1.toString() + "true", - MYOB3 + new Boolean(true) ); -*/ - -test(); - -function MyProtoValuelessObject() { - this.valueOf = new Function ( "" ); - this.__proto__ = null; -} -function MyProtolessObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.__proto__ = null; - this.value = value; -} -function MyValuelessObject(value) { - this.__proto__ = new MyPrototypeObject(value); -} -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} diff --git a/js/src/tests/ecma/extensions/11.6.2-1.js b/js/src/tests/ecma/extensions/11.6.2-1.js deleted file mode 100644 index 6f5d25aba488..000000000000 --- a/js/src/tests/ecma/extensions/11.6.2-1.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 11.6.2-1.js - ECMA Section: 11.6.2 The Subtraction operator ( - ) - Description: - - The production AdditiveExpression : AdditiveExpression - - MultiplicativeExpression is evaluated as follows: - - 1. Evaluate AdditiveExpression. - 2. Call GetValue(Result(1)). - 3. Evaluate MultiplicativeExpression. - 4. Call GetValue(Result(3)). - 5. Call ToNumber(Result(2)). - 6. Call ToNumber(Result(4)). - 7. Apply the subtraction operation to Result(5) and Result(6). See the - discussion below (11.6.3). - 8. Return Result(7). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "11.6.2-1"; - -writeHeaderToLog( SECTION + " The subtraction operator ( - )"); - -// tests "MyValuelessObject", where the value is -// set in the object's prototype, not the object itself. - - -new TestCase( "var EXP_1 = new MyValuelessObject(true); var EXP_2 = new MyValuelessObject(false); EXP_1 - EXP_2", - 1, - eval("var EXP_1 = new MyValuelessObject(true); var EXP_2 = new MyValuelessObject(false); EXP_1 - EXP_2") ); - -new TestCase( "var EXP_1 = new MyValuelessObject(new Boolean(true)); var EXP_2 = new MyValuelessObject(new Boolean(false)); EXP_1 - EXP_2", - Number.NaN, - eval("var EXP_1 = new MyValuelessObject(new Boolean(true)); var EXP_2 = new MyValuelessObject(new Boolean(false)); EXP_1 - EXP_2") ); - -// tests "MyValuelessObject", where the value is -// set in the object's prototype, not the object itself. - -new TestCase( "var EXP_1 = new MyValuelessObject(100); var EXP_2 = new MyValuelessObject(1); EXP_1 - EXP_2", - 99, - eval("var EXP_1 = new MyValuelessObject(100); var EXP_2 = new MyValuelessObject(1); EXP_1 - EXP_2") ); -/* - new TestCase( - "var EXP_1 = new MyValuelessObject(new Number(100)); var EXP_2 = new MyValuelessObject(new Number(1)); EXP_1 - EXP_2", - Number.NaN, - eval("var EXP_1 = new MyValuelessObject(new Number(100)); var EXP_2 = new MyValuelessObject(new Number(1)); EXP_1 - EXP_2") ); -*/ -// same thing with string! - -test(); - -function MyProtoValuelessObject() { - this.valueOf = new Function ( "" ); - this.__proto__ = null; -} -function MyProtolessObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.__proto__ = null; - this.value = value; -} -function MyValuelessObject(value) { - this.__proto__ = new MyPrototypeObject(value); -} -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} -function MyObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.value = value; -} -function MyOtherObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.toString = new Function ( "return this.value + ''" ); - this.value = value; -} diff --git a/js/src/tests/ecma/extensions/15-1.js b/js/src/tests/ecma/extensions/15-1.js deleted file mode 100644 index d8c5a3ff9d04..000000000000 --- a/js/src/tests/ecma/extensions/15-1.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.js - ECMA Section: 15 Native ECMAScript Objects - Description: Every built-in prototype object has the Object prototype - object, which is the value of the expression - Object.prototype (15.2.3.1) as the value of its internal - [[Prototype]] property, except the Object prototype - object itself. - - Every native object associated with a program-created - function also has the Object prototype object as the - value of its internal [[Prototype]] property. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15-1"; -var TITLE = "Native ECMAScript Objects"; - -writeHeaderToLog( SECTION + " "+ TITLE); -/* - new TestCase( "Function.prototype.__proto__", Object.prototype, Function.prototype.__proto__ ); - new TestCase( "Array.prototype.__proto__", Object.prototype, Array.prototype.__proto__ ); - new TestCase( "String.prototype.__proto__", Object.prototype, String.prototype.__proto__ ); - new TestCase( "Boolean.prototype.__proto__", Object.prototype, Boolean.prototype.__proto__ ); - new TestCase( "Number.prototype.__proto__", Object.prototype, Number.prototype.__proto__ ); -// new TestCase( "Math.prototype.__proto__", Object.prototype, Math.prototype.__proto__ ); -new TestCase( "Date.prototype.__proto__", Object.prototype, Date.prototype.__proto__ ); - -new TestCase( "MyObject.prototype.__proto__", Object.prototype, MyObject.prototype.__proto__ ); -*/ -new TestCase( "Function.prototype.__proto__ == Object.prototype", true, Function.prototype.__proto__ == Object.prototype ); -new TestCase( "Array.prototype.__proto__ == Object.prototype", true, Array.prototype.__proto__ == Object.prototype ); -new TestCase( "String.prototype.__proto__ == Object.prototype", true, String.prototype.__proto__ == Object.prototype ); -new TestCase( "Boolean.prototype.__proto__ == Object.prototype", true, Boolean.prototype.__proto__ == Object.prototype ); -new TestCase( "Number.prototype.__proto__ == Object.prototype", true, Number.prototype.__proto__ == Object.prototype ); -// new TestCase( "Math.prototype.__proto__ == Object.prototype", true, Math.prototype.__proto__ == Object.prototype ); -new TestCase( "Date.prototype.__proto__ == Object.prototype", true, Date.prototype.__proto__ == Object.prototype ); - -new TestCase( "MyObject.prototype.__proto__ == Object.prototype", true, MyObject.prototype.__proto__ == Object.prototype ); - - -test(); - - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function( "return this.value" ); -} diff --git a/js/src/tests/ecma/extensions/15-2.js b/js/src/tests/ecma/extensions/15-2.js deleted file mode 100644 index aa381ea4ae07..000000000000 --- a/js/src/tests/ecma/extensions/15-2.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15-2.js - ECMA Section: 15 Native ECMAScript Objects - - Description: Every built-in function and every built-in constructor - has the Function prototype object, which is the value of - the expression Function.prototype as the value of its - internal [[Prototype]] property, except the Function - prototype object itself. - - That is, the __proto__ property of builtin functions and - constructors should be the Function.prototype object. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15-2"; -var TITLE = "Native ECMAScript Objects"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Object.__proto__", Function.prototype, Object.__proto__ ); -new TestCase( "Array.__proto__", Function.prototype, Array.__proto__ ); -new TestCase( "String.__proto__", Function.prototype, String.__proto__ ); -new TestCase( "Boolean.__proto__", Function.prototype, Boolean.__proto__ ); -new TestCase( "Number.__proto__", Function.prototype, Number.__proto__ ); -new TestCase( "Date.__proto__", Function.prototype, Date.__proto__ ); -new TestCase( "TestCase.__proto__", Function.prototype, TestCase.__proto__ ); - -new TestCase( "eval.__proto__", Function.prototype, eval.__proto__ ); -new TestCase( "Math.pow.__proto__", Function.prototype, Math.pow.__proto__ ); -new TestCase( "String.prototype.indexOf.__proto__", Function.prototype, String.prototype.indexOf.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.1.2.1-1.js b/js/src/tests/ecma/extensions/15.1.2.1-1.js deleted file mode 100644 index a18b886eabd3..000000000000 --- a/js/src/tests/ecma/extensions/15.1.2.1-1.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.1.2.1-1.js - ECMA Section: 15.1.2.1 eval(x) - - if x is not a string object, return x. - Description: - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "15.1.2.1-1"; -var TITLE = "eval(x)"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "eval.length", 1, eval.length ); -new TestCase( "var PROPS = ''; for ( p in eval ) { PROPS += p }; PROPS", "", eval("var PROPS = ''; for ( p in eval ) { PROPS += p }; PROPS") ); -new TestCase( "eval.length = null; eval.length", 1, eval( "eval.length = null; eval.length") ); -// new TestCase( "eval.__proto__", Function.prototype, eval.__proto__ ); - -// test cases where argument is not a string. should return the argument. - -new TestCase( "eval()", void 0, eval() ); -new TestCase( "eval(void 0)", void 0, eval( void 0) ); -new TestCase( "eval(null)", null, eval( null ) ); -new TestCase( "eval(true)", true, eval( true ) ); -new TestCase( "eval(false)", false, eval( false ) ); - -new TestCase( "typeof eval(new String('Infinity/-0')", "object", typeof eval(new String('Infinity/-0')) ); - -new TestCase( "eval([1,2,3,4,5,6])", "1,2,3,4,5,6", ""+eval([1,2,3,4,5,6]) ); -new TestCase( "eval(new Array(0,1,2,3)", "1,2,3", ""+ eval(new Array(1,2,3)) ); -new TestCase( "eval(1)", 1, eval(1) ); -new TestCase( "eval(0)", 0, eval(0) ); -new TestCase( "eval(-1)", -1, eval(-1) ); -new TestCase( "eval(Number.NaN)", Number.NaN, eval(Number.NaN) ); -new TestCase( "eval(Number.MIN_VALUE)", 5e-308, eval(Number.MIN_VALUE) ); -new TestCase( "eval(-Number.MIN_VALUE)", -5e-308, eval(-Number.MIN_VALUE) ); -new TestCase( "eval(Number.POSITIVE_INFINITY)", Number.POSITIVE_INFINITY, eval(Number.POSITIVE_INFINITY) ); -new TestCase( "eval(Number.NEGATIVE_INFINITY)", Number.NEGATIVE_INFINITY, eval(Number.NEGATIVE_INFINITY) ); -new TestCase( "eval( 4294967296 )", 4294967296, eval(4294967296) ); -new TestCase( "eval( 2147483648 )", 2147483648, eval(2147483648) ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.2.1.1.js b/js/src/tests/ecma/extensions/15.2.1.1.js deleted file mode 100644 index eb93c038e0b4..000000000000 --- a/js/src/tests/ecma/extensions/15.2.1.1.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.1.1.js - ECMA Section: 15.2.1.1 The Object Constructor Called as a Function: - Object(value) - Description: When Object is called as a function rather than as a - constructor, the following steps are taken: - - 1. If value is null or undefined, create and return a - new object with no properties other than internal - properties exactly as if the object constructor - had been called on that same value (15.2.2.1). - 2. Return ToObject (value), whose rules are: - - undefined generate a runtime error - null generate a runtime error - boolean create a new Boolean object whose default - value is the value of the boolean. - number Create a new Number object whose default - value is the value of the number. - string Create a new String object whose default - value is the value of the string. - object Return the input argument (no conversion). - - Author: christine@netscape.com - Date: 17 july 1997 -*/ - -var SECTION = "15.2.1.1"; -var TITLE = "Object( value )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var NULL_OBJECT = Object(null); - -new TestCase( "Object(null).__proto__", Object.prototype, (Object(null)).__proto__ ); - -new TestCase( "Object(void 0).__proto__", Object.prototype, (Object(void 0)).__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.2.3-1.js b/js/src/tests/ecma/extensions/15.2.3-1.js deleted file mode 100644 index a9977951f4b1..000000000000 --- a/js/src/tests/ecma/extensions/15.2.3-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.3-1.js - ECMA Section: 15.2.3 Properties of the Object Constructor - - Description: The value of the internal [[Prototype]] property of the - Object constructor is the Function prototype object. - - Besides the call and construct propreties and the length - property, the Object constructor has properties described - in 15.2.3.1. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.2.3"; - -writeHeaderToLog( SECTION + " Properties of the Object Constructor"); - -new TestCase( "Object.__proto__", Function.prototype, Object.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.2.4.js b/js/src/tests/ecma/extensions/15.2.4.js deleted file mode 100644 index 9e3b1895eeaa..000000000000 --- a/js/src/tests/ecma/extensions/15.2.4.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.2.4.js - ECMA Section: 15.2.4 Properties of the Object prototype object - - Description: The value of the internal [[Prototype]] property of - the Object prototype object is null - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ - -var SECTION = "15.2.4"; -var TITLE = "Properties of the Object.prototype object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Object.prototype.__proto__", - null, - Object.prototype.__proto__ ); - -test(); - diff --git a/js/src/tests/ecma/extensions/15.3.1.1-1.js b/js/src/tests/ecma/extensions/15.3.1.1-1.js deleted file mode 100644 index 77d9cb1d0e6a..000000000000 --- a/js/src/tests/ecma/extensions/15.3.1.1-1.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.1.1.js - ECMA Section: 15.3.1.1 The Function Constructor Called as a Function - - Description: - When the Function function is called with some arguments p1, p2, . . . , pn, body - (where n might be 0, that is, there are no "p" arguments, and where body might - also not be provided), the following steps are taken: - - 1. Create and return a new Function object exactly if the function constructor had - been called with the same arguments (15.3.2.1). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.1.1-1"; -var TITLE = "The Function Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MyObject = Function( "value", "this.value = value; this.valueOf = Function( 'return this.value' ); this.toString = Function( 'return String(this.value);' )" ); - - -var myfunc = Function(); -myfunc.toString = Object.prototype.toString; - -// not going to test toString here since it is implementation dependent. -// new TestCase( "myfunc.toString()", "function anonymous() { }", myfunc.toString() ); - -myfunc.toString = Object.prototype.toString; - -new TestCase( "MyObject.__proto__ == Function.prototype", - true, - MyObject.__proto__ == Function.prototype ); - -test(); - - diff --git a/js/src/tests/ecma/extensions/15.3.1.1-2.js b/js/src/tests/ecma/extensions/15.3.1.1-2.js deleted file mode 100644 index 0e5c7e14c66b..000000000000 --- a/js/src/tests/ecma/extensions/15.3.1.1-2.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.1.1-2.js - ECMA Section: 15.3.1.1 The Function Constructor Called as a Function - Function(p1, p2, ..., pn, body ) - - Description: - When the Function function is called with some arguments p1, p2, . . . , pn, - body (where n might be 0, that is, there are no "p" arguments, and where body - might also not be provided), the following steps are taken: - - 1. Create and return a new Function object exactly if the function constructor - had been called with the same arguments (15.3.2.1). - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.1.1-2"; -var TITLE = "The Function Constructor Called as a Function"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var myfunc2 = Function("a, b, c", "return a+b+c" ); -var myfunc3 = Function("a,b", "c", "return a+b+c" ); - -myfunc2.toString = Object.prototype.toString; -myfunc3.toString = Object.prototype.toString; - - -new TestCase( "myfunc2.__proto__", - Function.prototype, - myfunc2.__proto__ ); - -new TestCase( "myfunc3.__proto__", - Function.prototype, - myfunc3.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.3.2.1-1.js b/js/src/tests/ecma/extensions/15.3.2.1-1.js deleted file mode 100644 index 7e66007f64dc..000000000000 --- a/js/src/tests/ecma/extensions/15.3.2.1-1.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.2.1.js - ECMA Section: 15.3.2.1 The Function Constructor - new Function(p1, p2, ..., pn, body ) - - Description: The last argument specifies the body (executable code) - of a function; any preceding arguments sepcify formal - parameters. - - See the text for description of this section. - - This test examples from the specification. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.2.1"; -var TITLE = "The Function Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var MyObject = new Function( "value", "this.value = value; this.valueOf = new Function( 'return this.value' ); this.toString = new Function( 'return String(this.value);' )" ); - -new TestCase( "MyObject.__proto__ == Function.prototype", - true, - MyObject.__proto__ == Function.prototype ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.3.2.1-2.js b/js/src/tests/ecma/extensions/15.3.2.1-2.js deleted file mode 100644 index 89dc8265abe3..000000000000 --- a/js/src/tests/ecma/extensions/15.3.2.1-2.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.2.1.js - ECMA Section: 15.3.2.1 The Function Constructor - new Function(p1, p2, ..., pn, body ) - - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.2.1-2"; -var TITLE = "The Function Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -var myfunc1 = new Function("a","b","c", "return a+b+c" ); -var myfunc2 = new Function("a, b, c", "return a+b+c" ); -var myfunc3 = new Function("a,b", "c", "return a+b+c" ); - -myfunc1.toString = Object.prototype.toString; -myfunc2.toString = Object.prototype.toString; -myfunc3.toString = Object.prototype.toString; - - -new TestCase( "myfunc2.__proto__", Function.prototype, myfunc2.__proto__ ); - -new TestCase( "myfunc3.__proto__", Function.prototype, myfunc3.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.3.3.1-1.js b/js/src/tests/ecma/extensions/15.3.3.1-1.js deleted file mode 100644 index fe6f23c22d1a..000000000000 --- a/js/src/tests/ecma/extensions/15.3.3.1-1.js +++ /dev/null @@ -1,31 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.3.3.1-1.js - ECMA Section: 15.3.3.1 Properties of the Function Constructor - Function.prototype - - Description: The initial value of Function.prototype is the built-in - Function prototype object. - - This property shall have the attributes [DontEnum | - DontDelete | ReadOnly] - - This test the value of Function.prototype. - - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.3.3.1-1"; -var TITLE = "Function.prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Function.prototype == Function.__proto__", true, Function.__proto__ == Function.prototype ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.4.3.js b/js/src/tests/ecma/extensions/15.4.3.js deleted file mode 100644 index 51decced88a3..000000000000 --- a/js/src/tests/ecma/extensions/15.4.3.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.4.3.js - ECMA Section: 15.4.3 Properties of the Array Constructor - Description: The value of the internal [[Prototype]] property of the - Array constructor is the Function prototype object. - - Author: christine@netscape.com - Date: 7 october 1997 -*/ - -var SECTION = "15.4.3"; -var TITLE = "Properties of the Array Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Array.__proto__", - Function.prototype, - Array.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.5.3.js b/js/src/tests/ecma/extensions/15.5.3.js deleted file mode 100644 index 27fa14be5c3b..000000000000 --- a/js/src/tests/ecma/extensions/15.5.3.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.3.1.js - ECMA Section: 15.5.3 Properties of the String Constructor - - Description: The value of the internal [[Prototype]] property of - the String constructor is the Function prototype - object. - - In addition to the internal [[Call]] and [[Construct]] - properties, the String constructor also has the length - property, as well as properties described in 15.5.3.1 - and 15.5.3.2. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ - -var SECTION = "15.5.3"; -var passed = true; -writeHeaderToLog( SECTION + " Properties of the String Constructor" ); - -new TestCase( "String.prototype", Function.prototype, String.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.5.4.2.js b/js/src/tests/ecma/extensions/15.5.4.2.js deleted file mode 100644 index 068b0c21bdb1..000000000000 --- a/js/src/tests/ecma/extensions/15.5.4.2.js +++ /dev/null @@ -1,23 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.2.js - ECMA Section: 15.5.4.2 String.prototype.toString - - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.5.4.2"; -var TITLE = "String.prototype.tostring"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "String.prototype.toString.__proto__", Function.prototype, String.prototype.toString.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.5.4.4-4.js b/js/src/tests/ecma/extensions/15.5.4.4-4.js deleted file mode 100644 index 6c2cd0dc327e..000000000000 --- a/js/src/tests/ecma/extensions/15.5.4.4-4.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.4-4.js - ECMA Section: 15.5.4.4 String.prototype.charAt(pos) - Description: Returns a string containing the character at position - pos in the string. If there is no character at that - string, the result is the empty string. The result is - a string value, not a String object. - - When the charAt method is called with one argument, - pos, the following steps are taken: - 1. Call ToString, with this value as its argument - 2. Call ToInteger pos - 3. Compute the number of characters in Result(1) - 4. If Result(2) is less than 0 is or not less than - Result(3), return the empty string - 5. Return a string of length 1 containing one character - from result (1), the character at position Result(2). - - Note that the charAt function is intentionally generic; - it does not require that its this value be a String - object. Therefore it can be transferred to other kinds - of objects for use as a method. - - This tests assiging charAt to primitive types.. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.4-4"; -var TITLE = "String.prototype.charAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -/* - new TestCase( "x = null; x.__proto.charAt = String.prototype.charAt; x.charAt(0)", "n", eval("x=null; x.__proto__.charAt = String.prototype.charAt; x.charAt(0)") ); - new TestCase( "x = null; x.__proto.charAt = String.prototype.charAt; x.charAt(1)", "u", eval("x=null; x.__proto__.charAt = String.prototype.charAt; x.charAt(1)") ); - new TestCase( "x = null; x.__proto.charAt = String.prototype.charAt; x.charAt(2)", "l", eval("x=null; x.__proto__.charAt = String.prototype.charAt; x.charAt(2)") ); - new TestCase( "x = null; x.__proto.charAt = String.prototype.charAt; x.charAt(3)", "l", eval("x=null; x.__proto__.charAt = String.prototype.charAt; x.charAt(3)") ); - - new TestCase( "x = undefined; x.__proto.charAt = String.prototype.charAt; x.charAt(0)", "u", eval("x=undefined; x.__proto__.charAt = String.prototype.charAt; x.charAt(0)") ); - new TestCase( "x = undefined; x.__proto.charAt = String.prototype.charAt; x.charAt(1)", "n", eval("x=undefined; x.__proto__.charAt = String.prototype.charAt; x.charAt(1)") ); - new TestCase( "x = undefined; x.__proto.charAt = String.prototype.charAt; x.charAt(2)", "d", eval("x=undefined; x.__proto__.charAt = String.prototype.charAt; x.charAt(2)") ); - new TestCase( "x = undefined; x.__proto.charAt = String.prototype.charAt; x.charAt(3)", "e", eval("x=undefined; x.__proto__.charAt = String.prototype.charAt; x.charAt(3)") ); -*/ -new TestCase( "x = false; x.__proto.charAt = String.prototype.charAt; x.charAt(0)", "f", eval("x=false; x.__proto__.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = false; x.__proto.charAt = String.prototype.charAt; x.charAt(1)", "a", eval("x=false; x.__proto__.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = false; x.__proto.charAt = String.prototype.charAt; x.charAt(2)", "l", eval("x=false; x.__proto__.charAt = String.prototype.charAt; x.charAt(2)") ); -new TestCase( "x = false; x.__proto.charAt = String.prototype.charAt; x.charAt(3)", "s", eval("x=false; x.__proto__.charAt = String.prototype.charAt; x.charAt(3)") ); -new TestCase( "x = false; x.__proto.charAt = String.prototype.charAt; x.charAt(4)", "e", eval("x=false; x.__proto__.charAt = String.prototype.charAt; x.charAt(4)") ); - -new TestCase( "x = true; x.__proto.charAt = String.prototype.charAt; x.charAt(0)", "t", eval("x=true; x.__proto__.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = true; x.__proto.charAt = String.prototype.charAt; x.charAt(1)", "r", eval("x=true; x.__proto__.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = true; x.__proto.charAt = String.prototype.charAt; x.charAt(2)", "u", eval("x=true; x.__proto__.charAt = String.prototype.charAt; x.charAt(2)") ); -new TestCase( "x = true; x.__proto.charAt = String.prototype.charAt; x.charAt(3)", "e", eval("x=true; x.__proto__.charAt = String.prototype.charAt; x.charAt(3)") ); - -new TestCase( "x = NaN; x.__proto.charAt = String.prototype.charAt; x.charAt(0)", "N", eval("x=NaN; x.__proto__.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = NaN; x.__proto.charAt = String.prototype.charAt; x.charAt(1)", "a", eval("x=NaN; x.__proto__.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = NaN; x.__proto.charAt = String.prototype.charAt; x.charAt(2)", "N", eval("x=NaN; x.__proto__.charAt = String.prototype.charAt; x.charAt(2)") ); - -new TestCase( "x = 123; x.__proto.charAt = String.prototype.charAt; x.charAt(0)", "1", eval("x=123; x.__proto__.charAt = String.prototype.charAt; x.charAt(0)") ); -new TestCase( "x = 123; x.__proto.charAt = String.prototype.charAt; x.charAt(1)", "2", eval("x=123; x.__proto__.charAt = String.prototype.charAt; x.charAt(1)") ); -new TestCase( "x = 123; x.__proto.charAt = String.prototype.charAt; x.charAt(2)", "3", eval("x=123; x.__proto__.charAt = String.prototype.charAt; x.charAt(2)") ); - - -test(); diff --git a/js/src/tests/ecma/extensions/15.5.4.5-6.js b/js/src/tests/ecma/extensions/15.5.4.5-6.js deleted file mode 100644 index 3b56d041be61..000000000000 --- a/js/src/tests/ecma/extensions/15.5.4.5-6.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.5-6.js - ECMA Section: 15.5.4.5 String.prototype.charCodeAt(pos) - Description: Returns a number (a nonnegative integer less than 2^16) - representing the Unicode encoding of the character at - position pos in this string. If there is no character - at that position, the number is NaN. - - When the charCodeAt method is called with one argument - pos, the following steps are taken: - 1. Call ToString, giving it the theis value as its - argument - 2. Call ToInteger(pos) - 3. Compute the number of characters in result(1). - 4. If Result(2) is less than 0 or is not less than - Result(3), return NaN. - 5. Return a value of Number type, of positive sign, whose - magnitude is the Unicode encoding of one character - from result 1, namely the characer at position Result - (2), where the first character in Result(1) is - considered to be at position 0. - - Note that the charCodeAt function is intentionally - generic; it does not require that its this value be a - String object. Therefore it can be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.5-6"; -var TITLE = "String.prototype.charCodeAt"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -new TestCase( "var obj = true; obj.__proto__.charCodeAt = String.prototype.charCodeAt; var s = ''; for ( var i = 0; i < 4; i++ ) s+= String.fromCharCode( obj.charCodeAt(i) ); s", - "true", - eval("var obj = true; obj.__proto__.charCodeAt = String.prototype.charCodeAt; var s = ''; for ( var i = 0; i < 4; i++ ) s+= String.fromCharCode( obj.charCodeAt(i) ); s") ); - -new TestCase( "var obj = 1234; obj.__proto__.charCodeAt = String.prototype.charCodeAt; var s = ''; for ( var i = 0; i < 4; i++ ) s+= String.fromCharCode( obj.charCodeAt(i) ); s", - "1234", - eval("var obj = 1234; obj.__proto__.charCodeAt = String.prototype.charCodeAt; var s = ''; for ( var i = 0; i < 4; i++ ) s+= String.fromCharCode( obj.charCodeAt(i) ); s") ); - -new TestCase( "var obj = 'hello'; obj.__proto__.charCodeAt = String.prototype.charCodeAt; var s = ''; for ( var i = 0; i < 5; i++ ) s+= String.fromCharCode( obj.charCodeAt(i) ); s", - "hello", - eval("var obj = 'hello'; obj.__proto__.charCodeAt = String.prototype.charCodeAt; var s = ''; for ( var i = 0; i < 5; i++ ) s+= String.fromCharCode( obj.charCodeAt(i) ); s") ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.5.4.7-3.js b/js/src/tests/ecma/extensions/15.5.4.7-3.js deleted file mode 100644 index 1cb5e04b3b53..000000000000 --- a/js/src/tests/ecma/extensions/15.5.4.7-3.js +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.5.4.7-3.js - ECMA Section: 15.5.4.7 String.prototype.lastIndexOf( searchString, pos) - Description: - - If the given searchString appears as a substring of the result of - converting this object to a string, at one or more positions that are - at or to the left of the specified position, then the index of the - rightmost such position is returned; otherwise -1 is returned. If position - is undefined or not supplied, the length of this string value is assumed, - so as to search all of the string. - - When the lastIndexOf method is called with two arguments searchString and - position, the following steps are taken: - - 1.Call ToString, giving it the this value as its argument. - 2.Call ToString(searchString). - 3.Call ToNumber(position). (If position is undefined or not supplied, this step produces the value NaN). - 4.If Result(3) is NaN, use +; otherwise, call ToInteger(Result(3)). - 5.Compute the number of characters in Result(1). - 6.Compute min(max(Result(4), 0), Result(5)). - 7.Compute the number of characters in the string that is Result(2). - 8.Compute the largest possible integer k not larger than Result(6) such that k+Result(7) is not greater - than Result(5), and for all nonnegative integers j less than Result(7), the character at position k+j of - Result(1) is the same as the character at position j of Result(2); but if there is no such integer k, then - compute the value -1. - - 1.Return Result(8). - - Note that the lastIndexOf function is intentionally generic; it does not require that its this value be a - String object. Therefore it can be transferred to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 2 october 1997 -*/ -var SECTION = "15.5.4.7-3"; -var TITLE = "String.protoype.lastIndexOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 0 )", - -1, - eval("var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 0 )") ); - -new TestCase( "var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 1 )", - 1, - eval("var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 1 )") ); - -new TestCase( "var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 2 )", - 1, - eval("var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 2 )") ); - -new TestCase( "var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 10 )", - 1, - eval("var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r', 10 )") ); - -new TestCase( "var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r' )", - 1, - eval("var b = true; b.__proto__.lastIndexOf = String.prototype.lastIndexOf; b.lastIndexOf('r' )") ); - -test(); - -function LastIndexOf( string, search, position ) { - string = String( string ); - search = String( search ); - - position = Number( position ) - - if ( isNaN( position ) ) { - position = Infinity; - } else { - position = ToInteger( position ); - } - - result5= string.length; - result6 = Math.min(Math.max(position, 0), result5); - result7 = search.length; - - if (result7 == 0) { - return Math.min(position, result5); - } - - result8 = -1; - - for ( k = 0; k <= result6; k++ ) { - if ( k+ result7 > result5 ) { - break; - } - for ( j = 0; j < result7; j++ ) { - if ( string.charAt(k+j) != search.charAt(j) ){ - break; - } else { - if ( j == result7 -1 ) { - result8 = k; - } - } - } - } - - return result8; -} -function ToInteger( n ) { - n = Number( n ); - if ( isNaN(n) ) { - return 0; - } - if ( Math.abs(n) == 0 || Math.abs(n) == Infinity ) { - return n; - } - - var sign = ( n < 0 ) ? -1 : 1; - - return ( sign * Math.floor(Math.abs(n)) ); -} diff --git a/js/src/tests/ecma/extensions/15.6.3.1-5.js b/js/src/tests/ecma/extensions/15.6.3.1-5.js deleted file mode 100644 index 213c3cb4ec09..000000000000 --- a/js/src/tests/ecma/extensions/15.6.3.1-5.js +++ /dev/null @@ -1,22 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.1-5.js - ECMA Section: 15.6.3.1 Boolean.prototype - Description: - Author: christine@netscape.com - Date: 28 october 1997 - -*/ -var SECTION = "15.6.3.1-5"; -var TITLE = "Boolean.prototype" - - writeHeaderToLog( SECTION + " " + TITLE ); - -new TestCase( "Function.prototype == Boolean.__proto__", true, Function.prototype == Boolean.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.6.3.js b/js/src/tests/ecma/extensions/15.6.3.js deleted file mode 100644 index 43eab9fda55a..000000000000 --- a/js/src/tests/ecma/extensions/15.6.3.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.3.js - ECMA Section: 15.6.3 Properties of the Boolean Constructor - - Description: The value of the internal prototype property is - the Function prototype object. - - It has the internal [[Call]] and [[Construct]] - properties, and the length property. - - Author: christine@netscape.com - Date: june 27, 1997 - -*/ -var SECTION = "15.6.3"; -var TITLE = "Properties of the Boolean Constructor" - writeHeaderToLog( SECTION + TITLE ); - - -new TestCase( "Boolean.__proto__ == Function.prototype", true, Boolean.__proto__ == Function.prototype ); -new TestCase( "Boolean.length", 1, Boolean.length ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.6.4-2.js b/js/src/tests/ecma/extensions/15.6.4-2.js deleted file mode 100644 index ae20bade38e6..000000000000 --- a/js/src/tests/ecma/extensions/15.6.4-2.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.6.4-2.js - ECMA Section: 15.6.4 Properties of the Boolean Prototype Object - - Description: - The Boolean prototype object is itself a Boolean object (its [[Class]] is - "Boolean") whose value is false. - - The value of the internal [[Prototype]] property of the Boolean prototype object - is the Object prototype object (15.2.3.1). - - Author: christine@netscape.com - Date: 30 september 1997 - -*/ - - -var SECTION = "15.6.4-2"; - -writeHeaderToLog( SECTION + " Properties of the Boolean Prototype Object"); - -new TestCase( "Boolean.prototype.__proto__", Object.prototype, Boolean.prototype.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.7.3.js b/js/src/tests/ecma/extensions/15.7.3.js deleted file mode 100644 index 837553de9833..000000000000 --- a/js/src/tests/ecma/extensions/15.7.3.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.3.js - 15.7.3 Properties of the Number Constructor - - Description: The value of the internal [[Prototype]] property - of the Number constructor is the Function prototype - object. The Number constructor also has the internal - [[Call]] and [[Construct]] properties, and the length - property. - - Other properties are in subsequent tests. - - Author: christine@netscape.com - Date: 29 september 1997 -*/ - -var SECTION = "15.7.3"; -var TITLE = "Properties of the Number Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase("Number.__proto__", - Function.prototype, - Number.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.7.4.js b/js/src/tests/ecma/extensions/15.7.4.js deleted file mode 100644 index 6c9c1b55d932..000000000000 --- a/js/src/tests/ecma/extensions/15.7.4.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.7.4.js - ECMA Section: 15.7.4 - - Description: - - The Number prototype object is itself a Number object (its [[Class]] is - "Number") whose value is +0. - - The value of the internal [[Prototype]] property of the Number prototype - object is the Object prototype object (15.2.3.1). - - In following descriptions of functions that are properties of the Number - prototype object, the phrase "this Number object" refers to the object - that is the this value for the invocation of the function; it is an error - if this does not refer to an object for which the value of the internal - [[Class]] property is "Number". Also, the phrase "this number value" refers - to the number value represented by this Number object, that is, the value - of the internal [[Value]] property of this Number object. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "15.7.4"; -var TITLE = "Properties of the Number Prototype Object"; - -writeHeaderToLog( SECTION + " "+TITLE); - -new TestCase( "Number.prototype.toString=Object.prototype.toString;Number.prototype.toString()", - "[object Number]", - eval("Number.prototype.toString=Object.prototype.toString;Number.prototype.toString()") ); - -new TestCase( "typeof Number.prototype", - "object", - typeof Number.prototype ); - -new TestCase( "Number.prototype.valueOf()", - 0, - Number.prototype.valueOf() ); - -// The __proto__ property cannot be used in ECMA_1 tests. -// new TestCase( "Number.prototype.__proto__", Object.prototype, Number.prototype.__proto__ ); -// new TestCase( "Number.prototype.__proto__ == Object.prototype", true, Number.prototype.__proto__ == Object.prototype ); - -test(); diff --git a/js/src/tests/ecma/extensions/15.8-1.js b/js/src/tests/ecma/extensions/15.8-1.js deleted file mode 100644 index b43316279644..000000000000 --- a/js/src/tests/ecma/extensions/15.8-1.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 15.8-1.js - ECMA Section: 15.8 The Math Object - - Description: - - The Math object is merely a single object that has some named properties, - some of which are functions. - - The value of the internal [[Prototype]] property of the Math object is the - Object prototype object (15.2.3.1). - - The Math object does not have a [[Construct]] property; it is not possible - to use the Math object as a constructor with the new operator. - - The Math object does not have a [[Call]] property; it is not possible to - invoke the Math object as a function. - - Recall that, in this specification, the phrase "the number value for x" has - a technical meaning defined in section 8.5. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ - -var SECTION = "15.8-1"; -var TITLE = "The Math Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "Math.__proto__ == Object.prototype", - true, - Math.__proto__ == Object.prototype ); - -new TestCase( "Math.__proto__", - Object.prototype, - Math.__proto__ ); - -test(); diff --git a/js/src/tests/ecma/extensions/8.6.2.1-1.js b/js/src/tests/ecma/extensions/8.6.2.1-1.js deleted file mode 100644 index 4c878060d82f..000000000000 --- a/js/src/tests/ecma/extensions/8.6.2.1-1.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 8.6.2.1-1.js - ECMA Section: 8.6.2.1 Get (Value) - Description: - - When the [[Get]] method of O is called with property name P, the following - steps are taken: - - 1. If O doesn't have a property with name P, go to step 4. - 2. Get the value of the property. - 3. Return Result(2). - 4. If the [[Prototype]] of O is null, return undefined. - 5. Call the [[Get]] method of [[Prototype]] with property name P. - 6. Return Result(5). - - This tests [[Get]] (Value). - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "8.6.2.1-1"; - -writeHeaderToLog( SECTION + " [[Get]] (Value)"); - -new TestCase( "var OBJ = new MyValuelessObject(true); OBJ.valueOf()", true, eval("var OBJ = new MyValuelessObject(true); OBJ.valueOf()") ); -// new TestCase( "var OBJ = new MyProtoValuelessObject(true); OBJ + ''", "undefined", eval("var OBJ = new MyProtoValuelessObject(); OBJ + ''") ); -new TestCase( "var OBJ = new MyProtolessObject(true); OBJ.valueOf()", true, eval("var OBJ = new MyProtolessObject(true); OBJ.valueOf()") ); - -new TestCase( "var OBJ = new MyValuelessObject(Number.POSITIVE_INFINITY); OBJ.valueOf()", Number.POSITIVE_INFINITY, eval("var OBJ = new MyValuelessObject(Number.POSITIVE_INFINITY); OBJ.valueOf()") ); -// new TestCase( "var OBJ = new MyProtoValuelessObject(Number.POSITIVE_INFINITY); OBJ + ''", "undefined", eval("var OBJ = new MyProtoValuelessObject(); OBJ + ''") ); -new TestCase( "var OBJ = new MyProtolessObject(Number.POSITIVE_INFINITY); OBJ.valueOf()", Number.POSITIVE_INFINITY, eval("var OBJ = new MyProtolessObject(Number.POSITIVE_INFINITY); OBJ.valueOf()") ); - -new TestCase( "var OBJ = new MyValuelessObject('string'); OBJ.valueOf()", 'string', eval("var OBJ = new MyValuelessObject('string'); OBJ.valueOf()") ); -// new TestCase( "var OBJ = new MyProtoValuelessObject('string'); OJ + ''", "undefined", eval("var OBJ = new MyProtoValuelessObject(); OBJ + ''") ); -new TestCase( "var OBJ = new MyProtolessObject('string'); OBJ.valueOf()", 'string', eval("var OBJ = new MyProtolessObject('string'); OBJ.valueOf()") ); - -test(); - -function MyProtoValuelessObject(value) { - this.valueOf = new Function ( "" ); - this.__proto__ = null; -} - -function MyProtolessObject( value ) { - this.valueOf = new Function( "return this.value" ); - this.__proto__ = null; - this.value = value; -} -function MyValuelessObject(value) { - this.__proto__ = new MyPrototypeObject(value); -} -function MyPrototypeObject(value) { - this.valueOf = new Function( "return this.value;" ); - this.toString = new Function( "return (this.value + '');" ); - this.value = value; -} diff --git a/js/src/tests/ecma/extensions/9.9-1.js b/js/src/tests/ecma/extensions/9.9-1.js deleted file mode 100644 index b78d2e694b2f..000000000000 --- a/js/src/tests/ecma/extensions/9.9-1.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 9.9-1.js - ECMA Section: 9.9 Type Conversion: ToObject - Description: - - undefined generate a runtime error - null generate a runtime error - boolean create a new Boolean object whose default - value is the value of the boolean. - number Create a new Number object whose default - value is the value of the number. - string Create a new String object whose default - value is the value of the string. - object Return the input argument (no conversion). - Author: christine@netscape.com - Date: 17 july 1997 -*/ - -var SECTION = "9.9-1"; - -writeHeaderToLog( SECTION + " Type Conversion: ToObject" ); - -new TestCase( "(Object(true)).__proto__", Boolean.prototype, (Object(true)).__proto__ ); - -new TestCase( "(Object(true)).__proto__", Boolean.prototype, (Object(true)).__proto__ ); - -new TestCase( "(Object(0)).__proto__", Number.prototype, (Object(0)).__proto__ ); - -new TestCase( "(Object(-0)).__proto__", Number.prototype, (Object(-0)).__proto__ ); - -new TestCase( "(Object(1)).__proto__", Number.prototype, (Object(1)).__proto__ ); - -new TestCase( "(Object(-1)).__proto__", Number.prototype, (Object(-1)).__proto__ ); - -new TestCase( "(Object(Number.MAX_VALUE)).__proto__", Number.prototype, (Object(Number.MAX_VALUE)).__proto__ ); - -new TestCase( "(Object(Number.MIN_VALUE)).__proto__", Number.prototype, (Object(Number.MIN_VALUE)).__proto__ ); - -new TestCase( "(Object(Number.POSITIVE_INFINITY)).__proto__", Number.prototype, (Object(Number.POSITIVE_INFINITY)).__proto__ ); - -new TestCase( "(Object(Number.NEGATIVE_INFINITY)).__proto__", Number.prototype, (Object(Number.NEGATIVE_INFINITY)).__proto__ ); - -new TestCase( "(Object(Number.NaN)).__proto__", Number.prototype, (Object(Number.NaN)).__proto__ ); - -new TestCase( "(Object('a string')).__proto__", String.prototype, (Object("a string")).__proto__ ); - -new TestCase( "(Object('')).__proto__", String.prototype, (Object("")).__proto__ ); - -new TestCase( "(Object('\\r\\t\\b\\n\\v\\f')).__proto__", String.prototype, (Object("\\r\\t\\b\\n\\v\\f")).__proto__ ); - -new TestCase( "Object( '\\\'\\\"\\' ).__proto__", String.prototype, (Object("\'\"\\")).__proto__ ); - -new TestCase( "(Object( new MyObject(true) )).toString()", "[object Object]", eval("(Object( new MyObject(true) )).toString()") ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function ( "return this.value" ); -} diff --git a/js/src/tests/ecma/shell.js b/js/src/tests/ecma/shell.js deleted file mode 100644 index 6030370c49c5..000000000000 --- a/js/src/tests/ecma/shell.js +++ /dev/null @@ -1,634 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -var GLOBAL = this + ''; - -/* - * Date functions used by tests in Date suite - * - */ -var msPerYear = 31536000000; -var msPerDay = 86400000; -var HoursPerDay = 24; -var MinutesPerHour = 60; -var SecondsPerMinute = 60; -var msPerSecond = 1000; -var msPerMinute = 60000; // msPerSecond * SecondsPerMinute -var msPerHour = 3600000; // msPerMinute * MinutesPerHour - -var TZ_PST = -8; // offset of Pacific Standard Time from UTC -var TZ_DIFF_RAW = GetRawTimezoneOffset(); // raw offset of tester's timezone from UTC -var TZ_DIFF = GetTimezoneOffset(); // offset of tester's timezone from UTC -var PST_DIFF_RAW = TZ_DIFF_RAW - TZ_PST; // raw offset of tester's timezone from PST -var PST_DIFF = TZ_DIFF - TZ_PST; // offset of tester's timezone from PST -var TZ_ADJUST = TZ_DIFF_RAW * msPerHour; -var PST_ADJUST = TZ_PST * msPerHour; - -var DST_PERIOD = DaylightSavingPeriod(); // time period when DST is used -var DST_1970 = DaylightSavingObserved(1970); // Was DST observed in 1970? -var DST_1971 = DaylightSavingObserved(1971); // Was DST observed in 1971? - -var TIME_0000 = (function () - { // calculate time for year 0 - for ( var time = 0, year = 1969; year >= 0; year-- ) { - time -= TimeInYear(year); - } - return time; - })(); -var TIME_1970 = 0; -var TIME_2000 = 946684800000; -var TIME_1900 = -2208988800000; -var UTC_FEB_29_2000 = TIME_2000 + 31*msPerDay + 28*msPerDay; -var UTC_JAN_1_2005 = TIME_2000 + TimeInYear(2000) + TimeInYear(2001) + - TimeInYear(2002) + TimeInYear(2003) + TimeInYear(2004); -var now = new Date(); -var TIME_NOW = now.valueOf(); //valueOf() is to accurate to the millisecond - //Date.parse() is accurate only to the second - -/* - * Originally, the test suite used a hard-coded value TZ_DIFF = -8. - * But that was only valid for testers in the Pacific Standard Time Zone! - * We calculate the proper number dynamically for any tester. We just - * have to be careful not to use a date subject to Daylight Savings Time... - */ -function GetRawTimezoneOffset() -{ - var t1 = new Date(2000, 1, 1).getTimezoneOffset(); - var t2 = new Date(2000, 1 + 6, 1).getTimezoneOffset(); - if ((t1 - t2) >= 0) { - // 1) timezone without daylight saving time - // 2) northern hemisphere with daylight saving time - return -t1 / MinutesPerHour; - } else { - // 3) southern hemisphere with daylight saving time - return -t2 / MinutesPerHour; - } -} - -/* - * Returns the timezone offset, possibly including daylight saving time. - * (This function is only used to obtain the relative timezone offset to PST, - * see TZ_DIFF and PST_DIFF in adjustResultArray().) - */ -function GetTimezoneOffset() -{ - return -(new Date(2000, 1, 1).getTimezoneOffset()) / MinutesPerHour; -} - -/* - * Determine when daylight saving time is used in the current timezone. - */ -function DaylightSavingPeriod() -{ - var t1 = new Date(2000, 1, 1).getTimezoneOffset(); - var t2 = new Date(2000, 1 + 6, 1).getTimezoneOffset(); - if (t1 == t2) { - // timezone without daylight saving time - return 0; - } else if ((t1 - t2) > 0) { - // northern hemisphere with daylight saving time - return 1; - } else { - // southern hemisphere with daylight saving time - return -1; - } -} - -/* - * Test whether daylight time saving was observed in the supplied year - */ -function DaylightSavingObserved(y) -{ - var t1 = new Date(y, 1, 1).getTimezoneOffset(); - var t2 = new Date(y, 1 + 6, 1).getTimezoneOffset(); - return (t1 != t2); -} - -/* - * Don't apply DST near start of epoch unless absolutely necessary - */ -function IgnoreDaylightSaving(t) -{ - if ((0 <= t && t < msPerYear) && !DST_1970) { - return true; - } - if ((msPerYear <= t && t < 2*msPerYear) && !DST_1971) { - return true; - } - return false; -} - -/* - * Date test "ResultArrays" are hard-coded for Pacific Standard Time. - * We must adjust them for the tester's own timezone - - */ -function adjustResultArray(ResultArray, msMode) -{ - // If the tester's system clock is in PST, no need to continue - -// if (!PST_DIFF) {return;} - - /* The date testcases instantiate Date objects in two different ways: - * - * millisecond mode: e.g. dt = new Date(10000000); - * year-month-day mode: dt = new Date(2000, 5, 1, ...); - * - * In the first case, the date is measured from Time 0 in Greenwich (i.e. UTC). - * In the second case, it is measured with reference to the tester's local timezone. - * - * In the first case we must correct those values expected for local measurements, - * like dt.getHours() etc. No correction is necessary for dt.getUTCHours() etc. - * - * In the second case, it is exactly the other way around - - */ - if (msMode) - { - // The hard-coded UTC milliseconds from Time 0 derives from a UTC date. - // Shift to the right by the offset between UTC and the tester. - if (IgnoreDaylightSaving(ResultArray[TIME])) { - var t = ResultArray[TIME] + TZ_DIFF_RAW*msPerHour; - } else { - var t = ResultArray[TIME] + TZ_DIFF*msPerHour; - } - - // Use our date arithmetic functions to determine the local hour, day, etc. - ResultArray[HOURS] = HourFromTime(t); - ResultArray[DAY] = WeekDay(t); - ResultArray[DATE] = DateFromTime(t); - ResultArray[MONTH] = MonthFromTime(t); - ResultArray[YEAR] = YearFromTime(t); - } - else - { - // The hard-coded UTC milliseconds from Time 0 derives from a PST date. - // Shift to the left by the offset between PST and the tester. - var t = ResultArray[TIME] - PST_DIFF*msPerHour; - - // Use our date arithmetic functions to determine the UTC hour, day, etc. - ResultArray[TIME] = t; - ResultArray[UTC_HOURS] = HourFromTime(t); - ResultArray[UTC_DAY] = WeekDay(t); - ResultArray[UTC_DATE] = DateFromTime(t); - ResultArray[UTC_MONTH] = MonthFromTime(t); - ResultArray[UTC_YEAR] = YearFromTime(t); - } -} - -function Day( t ) { - return ( Math.floor(t/msPerDay ) ); -} -function DaysInYear( y ) { - if ( y % 4 != 0 ) { - return 365; - } - if ( (y % 4 == 0) && (y % 100 != 0) ) { - return 366; - } - if ( (y % 100 == 0) && (y % 400 != 0) ) { - return 365; - } - if ( (y % 400 == 0) ){ - return 366; - } else { - return "ERROR: DaysInYear(" + y + ") case not covered"; - } -} -function TimeInYear( y ) { - return ( DaysInYear(y) * msPerDay ); -} -function DayNumber( t ) { - return ( Math.floor( t / msPerDay ) ); -} -function TimeWithinDay( t ) { - - var r = t % msPerDay; - - if (r < 0) - { - r += msPerDay; - } - return r; - -} -function YearNumber( t ) { -} -function TimeFromYear( y ) { - return ( msPerDay * DayFromYear(y) ); -} -function DayFromYear( y ) { - return ( 365*(y-1970) + - Math.floor((y-1969)/4) - - Math.floor((y-1901)/100) + - Math.floor((y-1601)/400) ); -} -function InLeapYear( t ) { - if ( DaysInYear(YearFromTime(t)) == 365 ) { - return 0; - } - if ( DaysInYear(YearFromTime(t)) == 366 ) { - return 1; - } else { - return "ERROR: InLeapYear("+ t + ") case not covered"; - } -} -function YearFromTime( t ) { - t = Number( t ); - var sign = ( t < 0 ) ? -1 : 1; - var year = ( sign < 0 ) ? 1969 : 1970; - for ( var timeToTimeZero = t; ; ) { - // subtract the current year's time from the time that's left. - timeToTimeZero -= sign * TimeInYear(year) - - // if there's less than the current year's worth of time left, then break. - if ( sign < 0 ) { - if ( sign * timeToTimeZero <= 0 ) { - break; - } else { - year += sign; - } - } else { - if ( sign * timeToTimeZero < 0 ) { - break; - } else { - year += sign; - } - } - } - return ( year ); -} -function MonthFromTime( t ) { - // i know i could use switch but i'd rather not until it's part of ECMA - var day = DayWithinYear( t ); - var leap = InLeapYear(t); - - if ( (0 <= day) && (day < 31) ) { - return 0; - } - if ( (31 <= day) && (day < (59+leap)) ) { - return 1; - } - if ( ((59+leap) <= day) && (day < (90+leap)) ) { - return 2; - } - if ( ((90+leap) <= day) && (day < (120+leap)) ) { - return 3; - } - if ( ((120+leap) <= day) && (day < (151+leap)) ) { - return 4; - } - if ( ((151+leap) <= day) && (day < (181+leap)) ) { - return 5; - } - if ( ((181+leap) <= day) && (day < (212+leap)) ) { - return 6; - } - if ( ((212+leap) <= day) && (day < (243+leap)) ) { - return 7; - } - if ( ((243+leap) <= day) && (day < (273+leap)) ) { - return 8; - } - if ( ((273+leap) <= day) && (day < (304+leap)) ) { - return 9; - } - if ( ((304+leap) <= day) && (day < (334+leap)) ) { - return 10; - } - if ( ((334+leap) <= day) && (day < (365+leap)) ) { - return 11; - } else { - return "ERROR: MonthFromTime("+t+") not known"; - } -} -function DayWithinYear( t ) { - return( Day(t) - DayFromYear(YearFromTime(t))); -} -function DateFromTime( t ) { - var day = DayWithinYear(t); - var month = MonthFromTime(t); - - if ( month == 0 ) { - return ( day + 1 ); - } - if ( month == 1 ) { - return ( day - 30 ); - } - if ( month == 2 ) { - return ( day - 58 - InLeapYear(t) ); - } - if ( month == 3 ) { - return ( day - 89 - InLeapYear(t)); - } - if ( month == 4 ) { - return ( day - 119 - InLeapYear(t)); - } - if ( month == 5 ) { - return ( day - 150- InLeapYear(t)); - } - if ( month == 6 ) { - return ( day - 180- InLeapYear(t)); - } - if ( month == 7 ) { - return ( day - 211- InLeapYear(t)); - } - if ( month == 8 ) { - return ( day - 242- InLeapYear(t)); - } - if ( month == 9 ) { - return ( day - 272- InLeapYear(t)); - } - if ( month == 10 ) { - return ( day - 303- InLeapYear(t)); - } - if ( month == 11 ) { - return ( day - 333- InLeapYear(t)); - } - - return ("ERROR: DateFromTime("+t+") not known" ); -} -function WeekDay( t ) { - var weekday = (Day(t)+4) % 7; - return( weekday < 0 ? 7 + weekday : weekday ); -} - -// missing daylight savings time adjustment - -function HourFromTime( t ) { - var h = Math.floor( t / msPerHour ) % HoursPerDay; - return ( (h<0) ? HoursPerDay + h : h ); -} -function MinFromTime( t ) { - var min = Math.floor( t / msPerMinute ) % MinutesPerHour; - return( ( min < 0 ) ? MinutesPerHour + min : min ); -} -function SecFromTime( t ) { - var sec = Math.floor( t / msPerSecond ) % SecondsPerMinute; - return ( (sec < 0 ) ? SecondsPerMinute + sec : sec ); -} -function msFromTime( t ) { - var ms = t % msPerSecond; - return ( (ms < 0 ) ? msPerSecond + ms : ms ); -} -function LocalTZA() { - return ( TZ_DIFF_RAW * msPerHour ); -} -function UTC( t ) { - return ( t - LocalTZA() - DaylightSavingTA(t - LocalTZA()) ); -} -function LocalTime( t ) { - return ( t + LocalTZA() + DaylightSavingTA(t) ); -} -function DaylightSavingTA( t ) { - if (IgnoreDaylightSaving(t)) { - return 0; - } - - if (DST_PERIOD > 0) { - // northern hemisphere - var dst_start = GetDSTStart(t); - var dst_end = GetDSTEnd(t); - - if ( t >= dst_start && t < dst_end ) - return msPerHour; - } else if (DST_PERIOD < 0) { - // southern hemisphere - var dst_start = GetDSTStart_Southern(t); - var dst_end = GetDSTEnd_Southern(t); - - if ( t >= dst_start && t < GetDSTEnd_Southern(t + msPerYear) ) - return msPerHour; - if ( t < dst_end && t >= GetDSTEnd_Southern(t - msPerYear) ) - return msPerHour; - } - - return 0; -} - -function GetFirstSundayInMonth( t, m ) { - var year = YearFromTime(t); - var leap = InLeapYear(t); - -// month m 0..11 -// april == 3 -// march == 2 - - // set time to first day of month m - var time = TimeFromYear(year); - for (var i = 0; i < m; ++i) - { - time += TimeInMonth(i, leap); - } - - for ( var first_sunday = time; WeekDay(first_sunday) > 0; - first_sunday += msPerDay ) - { - ; - } - - return first_sunday; -} - -function GetLastSundayInMonth( t, m ) { - var year = YearFromTime(t); - var leap = InLeapYear(t); - -// month m 0..11 -// april == 3 -// march == 2 - - // first day of following month - var time = TimeFromYear(year); - for (var i = 0; i <= m; ++i) - { - time += TimeInMonth(i, leap); - } - // prev day == last day of month - time -= msPerDay; - - for ( var last_sunday = time; WeekDay(last_sunday) > 0; - last_sunday -= msPerDay ) - { - ; - } - return last_sunday; -} - -/* - 15.9.1.9 Daylight Saving Time Adjustment - - The implementation of ECMAScript should not try to determine whether - the exact time was subject to daylight saving time, but just whether - daylight saving time would have been in effect if the current - daylight saving time algorithm had been used at the time. This avoids - complications such as taking into account the years that the locale - observed daylight saving time year round. -*/ - -/* - US DST algorithm - - Before 2007, DST starts first Sunday in April at 2 AM and ends last - Sunday in October at 2 AM - - Starting in 2007, DST starts second Sunday in March at 2 AM and ends - first Sunday in November at 2 AM - - Note that different operating systems behave differently. - - Fully patched Windows XP uses the 2007 algorithm for all dates while - fully patched Fedora Core 6 and RHEL 4 Linux use the algorithm in - effect at the time. - - Since pre-2007 DST is a subset of 2007 DST rules, this only affects - tests that occur in the period Mar-Apr and Oct-Nov where the two - algorithms do not agree. - -*/ - -function GetDSTStart( t ) -{ - return (GetFirstSundayInMonth(t, 2) + 7*msPerDay + 2*msPerHour - LocalTZA()); -} - -function GetDSTEnd( t ) -{ - return (GetFirstSundayInMonth(t, 10) + 2*msPerHour - LocalTZA()); -} - -function GetOldDSTStart( t ) -{ - return (GetFirstSundayInMonth(t, 3) + 2*msPerHour - LocalTZA()); -} - -function GetOldDSTEnd( t ) -{ - return (GetLastSundayInMonth(t, 9) + 2*msPerHour - LocalTZA()); -} - -/* - * Daylight saving time start/end date for 'Australia' - * (arbitrarily chosen as a representative for the southern hemisphere) - */ - -function GetDSTStart_Southern( t ) -{ - return (GetFirstSundayInMonth(t, 9) + 2*msPerHour - LocalTZA()); -} - -function GetDSTEnd_Southern( t ) -{ - return (GetFirstSundayInMonth(t, 3) + 2*msPerHour - LocalTZA()); -} - -function MakeTime( hour, min, sec, ms ) { - if ( isNaN( hour ) || isNaN( min ) || isNaN( sec ) || isNaN( ms ) ) { - return Number.NaN; - } - - hour = ToInteger(hour); - min = ToInteger( min); - sec = ToInteger( sec); - ms = ToInteger( ms ); - - return( (hour*msPerHour) + (min*msPerMinute) + - (sec*msPerSecond) + ms ); -} -function MakeDay( year, month, date ) { - if ( isNaN(year) || isNaN(month) || isNaN(date) ) { - return Number.NaN; - } - year = ToInteger(year); - month = ToInteger(month); - date = ToInteger(date ); - - var sign = ( year < 1970 ) ? -1 : 1; - var t = ( year < 1970 ) ? 1 : 0; - var y = ( year < 1970 ) ? 1969 : 1970; - - var result5 = year + Math.floor( month/12 ); - var result6 = month % 12; - - if ( year < 1970 ) { - for ( y = 1969; y >= year; y += sign ) { - t += sign * TimeInYear(y); - } - } else { - for ( y = 1970 ; y < year; y += sign ) { - t += sign * TimeInYear(y); - } - } - - var leap = InLeapYear( t ); - - for ( var m = 0; m < month; m++ ) { - t += TimeInMonth( m, leap ); - } - - if ( YearFromTime(t) != result5 ) { - return Number.NaN; - } - if ( MonthFromTime(t) != result6 ) { - return Number.NaN; - } - if ( DateFromTime(t) != 1 ) { - return Number.NaN; - } - - return ( (Day(t)) + date - 1 ); -} -function TimeInMonth( month, leap ) { - // september april june november - // jan 0 feb 1 mar 2 apr 3 may 4 june 5 jul 6 - // aug 7 sep 8 oct 9 nov 10 dec 11 - - if ( month == 3 || month == 5 || month == 8 || month == 10 ) { - return ( 30*msPerDay ); - } - - // all the rest - if ( month == 0 || month == 2 || month == 4 || month == 6 || - month == 7 || month == 9 || month == 11 ) { - return ( 31*msPerDay ); - } - - // save february - return ( (leap == 0) ? 28*msPerDay : 29*msPerDay ); -} -function MakeDate( day, time ) { - if ( day == Number.POSITIVE_INFINITY || - day == Number.NEGATIVE_INFINITY ) { - return Number.NaN; - } - if ( time == Number.POSITIVE_INFINITY || - time == Number.NEGATIVE_INFINITY ) { - return Number.NaN; - } - return ( day * msPerDay ) + time; -} -function TimeClip( t ) { - if ( isNaN( t ) ) { - return ( Number.NaN ); - } - if ( Math.abs( t ) > 8.64e15 ) { - return ( Number.NaN ); - } - - return ( ToInteger( t ) ); -} -function ToInteger( t ) { - t = Number( t ); - - if ( isNaN( t ) ){ - return ( Number.NaN ); - } - if ( t == 0 || t == -0 || - t == Number.POSITIVE_INFINITY || t == Number.NEGATIVE_INFINITY ) { - return 0; - } - - var sign = ( t < 0 ) ? -1 : 1; - - return ( sign * Math.floor( Math.abs( t ) ) ); -} diff --git a/js/src/tests/ecma/template.js b/js/src/tests/ecma/template.js deleted file mode 100644 index 963b2251b5c5..000000000000 --- a/js/src/tests/ecma/template.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - * Contributor: - */ - - -/** - * File Name: template.js - * Reference: ** replace with bugzilla URL or document reference ** - * Description: ** replace with description of test ** - * Author: ** replace with your e-mail address ** - */ - -var SECTION = ""; // provide a document reference (ie, ECMA section) -var TITLE = ""; // Provide ECMA section title or a description -var BUGNUMBER = ""; // Provide URL to bugsplat or bugzilla report - -printBugNumber(BUGNUMBER); // leave this alone - -/* - * Calls to AddTestCase here. AddTestCase is a function that is defined - * in shell.js and takes three arguments: - * - a string representation of what is being tested - * - the expected result - * - the actual result - * - * For example, a test might look like this: - * - * AddTestCase("** description", - * "** expected value", - * "** actual value"); - */ - -// leave this alone. this executes the test cases and -// displays results. -test(); diff --git a/js/src/tests/ecma_2/Exceptions/boolean-001.js b/js/src/tests/ecma_2/Exceptions/boolean-001.js deleted file mode 100644 index 9c983c31eefe..000000000000 --- a/js/src/tests/ecma_2/Exceptions/boolean-001.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: boolean-001.js - Description: Corresponds to ecma/Boolean/15.6.4.2-4-n.js - - The toString function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: june 27, 1997 -*/ -var SECTION = "boolean-001.js"; -var TITLE = "Boolean.prototype.toString()"; -writeHeaderToLog( SECTION +" "+ TITLE ); - -var exception = "No exception thrown"; -var result = "Failed"; - -var TO_STRING = Boolean.prototype.toString; - -try { - var s = new String("Not a Boolean"); - s.toString = TO_STRING; - s.toString(); -} catch ( e ) { - result = "Passed!"; - exception = e.toString(); -} - -new TestCase( - "Assigning Boolean.prototype.toString to a String object "+ - "(threw " +exception +")", - "Passed!", - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/boolean-002.js b/js/src/tests/ecma_2/Exceptions/boolean-002.js deleted file mode 100644 index 333ccacc73ba..000000000000 --- a/js/src/tests/ecma_2/Exceptions/boolean-002.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: boolean-001.js - Description: Corresponds to ecma/Boolean/15.6.4.3-4-n.js - - 15.6.4.3 Boolean.prototype.valueOf() - Returns this boolean value. - - The valueOf function is not generic; it generates - a runtime error if its this value is not a Boolean - object. Therefore it cannot be transferred to other - kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 09 september 1998 -*/ -var SECTION = "boolean-002.js"; -var TITLE = "Boolean.prototype.valueOf()"; -writeHeaderToLog( SECTION +" "+ TITLE ); - - -var exception = "No exception thrown"; -var result = "Failed"; - -var VALUE_OF = Boolean.prototype.valueOf; - -try { - var s = new String("Not a Boolean"); - s.valueOf = VALUE_0F; - s.valueOf(); -} catch ( e ) { - result = "Passed!"; - exception = e.toString(); -} - -new TestCase( - "Assigning Boolean.prototype.valueOf to a String object "+ - "(threw " +exception +")", - "Passed!", - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/date-002.js b/js/src/tests/ecma_2/Exceptions/date-002.js deleted file mode 100644 index 7adde15b35a2..000000000000 --- a/js/src/tests/ecma_2/Exceptions/date-002.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: date-002.js - Corresponds To: 15.9.5.23-3-n.js - ECMA Section: 15.9.5.23 - Description: Date.prototype.setTime - - 1. If the this value is not a Date object, generate a runtime error. - 2. Call ToNumber(time). - 3. Call TimeClip(Result(1)). - 4. Set the [[Value]] property of the this value to Result(2). - 5. Return the value of the [[Value]] property of the this value. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "date-002"; -var TITLE = "Date.prototype.setTime()"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var MYDATE = new MyDate(); - result = MYDATE.setTime(0); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "MYDATE = new MyDate(); MYDATE.setTime(0)" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyDate(value) { - this.value = value; - this.setTime = Date.prototype.setTime; - return this; -} diff --git a/js/src/tests/ecma_2/Exceptions/date-003.js b/js/src/tests/ecma_2/Exceptions/date-003.js deleted file mode 100644 index 862c9f731f1a..000000000000 --- a/js/src/tests/ecma_2/Exceptions/date-003.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: date-003.js - Corresponds To 15.9.5.3-1.js - ECMA Section: 15.9.5.3-1 Date.prototype.valueOf - Description: - - The valueOf function returns a number, which is this time value. - - The valueOf function is not generic; it generates a runtime error if - its this value is not a Date object. Therefore it cannot be transferred - to other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "date-003"; -var TITLE = "Date.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var OBJ = new MyObject( new Date(0) ); - result = OBJ.valueOf(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "OBJ = new MyObject( new Date(0)); OBJ.valueOf()" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyObject( value ) { - this.value = value; - this.valueOf = Date.prototype.valueOf; -// The following line causes an infinte loop -// this.toString = new Function( "return this+\"\";"); - return this; -} diff --git a/js/src/tests/ecma_2/Exceptions/date-004.js b/js/src/tests/ecma_2/Exceptions/date-004.js deleted file mode 100644 index 4d367fe47774..000000000000 --- a/js/src/tests/ecma_2/Exceptions/date-004.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: date-004.js - Corresponds To: 15.9.5.4-2-n.js - ECMA Section: 15.9.5.4-1 Date.prototype.getTime - Description: - - 1. If the this value is not an object whose [[Class]] property is "Date", - generate a runtime error. - 2. Return this time value. - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "date-004"; -var TITLE = "Date.prototype.getTime"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var MYDATE = new MyDate(); - result = MYDATE.getTime(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "MYDATE = new MyDate(); MYDATE.getTime()" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyDate( value ) { - this.value = value; - this.getTime = Date.prototype.getTime; -} diff --git a/js/src/tests/ecma_2/Exceptions/exception-001.js b/js/src/tests/ecma_2/Exceptions/exception-001.js deleted file mode 100644 index fe8edb0c36f5..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-001.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-001 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * Call error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-001"; -var TITLE = "Tests for JavaScript Standard Exceptions: CallError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -Call_1(); - -test(); - -function Call_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - Math(); - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "Math() [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-002.js b/js/src/tests/ecma_2/Exceptions/exception-002.js deleted file mode 100644 index 573dc2964e28..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-002.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-002 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * Construct error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-002"; -var TITLE = "Tests for JavaScript Standard Exceptions: ConstructError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -Construct_1(); - -test(); - -function Construct_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - result = new Math(); - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "new Math() [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-003.js b/js/src/tests/ecma_2/Exceptions/exception-003.js deleted file mode 100644 index 665640a80468..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-003.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-003 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * Target error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-003"; -var TITLE = "Tests for JavaScript Standard Exceptions: TargetError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -Target_1(); - -test(); - -function Target_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - string = new String("hi"); - string.toString = Boolean.prototype.toString; - string.toString(); - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "string = new String(\"hi\");"+ - "string.toString = Boolean.prototype.toString" + - "string.toString() [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-004.js b/js/src/tests/ecma_2/Exceptions/exception-004.js deleted file mode 100644 index adb2692f9d67..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-004.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-004 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * ToObject error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-004"; -var TITLE = "Tests for JavaScript Standard Exceptions: ToObjectError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -ToObject_1(); - -test(); - -function ToObject_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - result = foo["bar"]; - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "foo[\"bar\"] [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-005.js b/js/src/tests/ecma_2/Exceptions/exception-005.js deleted file mode 100644 index d6ce82f5d189..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-005.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-005 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * ToObject error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-005"; -var TITLE = "Tests for JavaScript Standard Exceptions: ToObjectError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -ToObject_1(); - -test(); - -function ToObject_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - result = foo["bar"]; - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "foo[\"bar\"] [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-006.js b/js/src/tests/ecma_2/Exceptions/exception-006.js deleted file mode 100644 index 237b3bf77f82..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-006.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-006 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * ToPrimitive error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-006"; -var TITLE = "Tests for JavaScript Standard Exceptions: TypeError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -ToPrimitive_1(); - -test(); - - -/** - * Getting the [[DefaultValue]] of any instances of MyObject - * should result in a runtime error in ToPrimitive. - */ - -function MyObject() { - this.toString = void 0; - this.valueOf = void 0; -} - -function ToPrimitive_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - result = new MyObject() + new MyObject(); - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "new MyObject() + new MyObject() [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-007.js b/js/src/tests/ecma_2/Exceptions/exception-007.js deleted file mode 100644 index 82f608b3cde4..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-007.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-007 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * DefaultValue error. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-007"; -var TITLE = "Tests for JavaScript Standard Exceptions: TypeError"; -var BUGNUMBER="318250"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -DefaultValue_1(); - -test(); - - -/** - * Getting the [[DefaultValue]] of any instances of MyObject - * should result in a runtime error in ToPrimitive. - */ - -function MyObject() { - this.toString = void 0; - this.valueOf = new Object(); -} - -function DefaultValue_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - result = new MyObject() + new MyObject(); - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "new MyObject() + new MyObject() [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} - diff --git a/js/src/tests/ecma_2/Exceptions/exception-008.js b/js/src/tests/ecma_2/Exceptions/exception-008.js deleted file mode 100644 index 654eb76ac8aa..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-008.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-008 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * SyntaxError. - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-008"; -var TITLE = "Tests for JavaScript Standard Exceptions: SyntaxError"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -Syntax_1(); - -test(); - -function Syntax_1() { - result = "failed: no exception thrown"; - exception = null; - - try { - result = eval("continue;"); - } catch ( e ) { - result = "passed: threw exception", - exception = e.toString(); - } finally { - new TestCase( - "eval(\"continue\") [ exception is " + exception +" ]", - "passed: threw exception", - result ); - } -} diff --git a/js/src/tests/ecma_2/Exceptions/exception-009.js b/js/src/tests/ecma_2/Exceptions/exception-009.js deleted file mode 100644 index 8ee29fd877be..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-009.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: exception-009 - * ECMA Section: - * Description: Tests for JavaScript Standard Exceptions - * - * Regression test for nested try blocks. - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=312964 - * - * Author: christine@netscape.com - * Date: 31 August 1998 - */ -var SECTION = "exception-009"; -var TITLE = "Tests for JavaScript Standard Exceptions: SyntaxError"; -var BUGNUMBER= "312964"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -try { - expect = "passed: no exception thrown"; - result = expect; - Nested_1(); -} catch ( e ) { - result = "failed: threw " + e; -} finally { - new TestCase( - "nested try", - expect, - result ); -} - - -test(); - -function Nested_1() { - try { - try { - } catch (a) { - } finally { - } - } catch (b) { - } finally { - } -} diff --git a/js/src/tests/ecma_2/Exceptions/exception-010-n.js b/js/src/tests/ecma_2/Exceptions/exception-010-n.js deleted file mode 100644 index 798a7402c6be..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-010-n.js +++ /dev/null @@ -1,22 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -var SECTION = "exception-010"; -var TITLE = "Don't Crash throwing null"; - -writeHeaderToLog( SECTION + " "+ TITLE); -print("Null throw test."); -print("BUGNUMBER: 21799"); - -DESCRIPTION = "throw null"; - -new TestCase( "throw null", "error", eval("throw null" )); - -test(); - -print("FAILED!: Should have exited with uncaught exception."); - - diff --git a/js/src/tests/ecma_2/Exceptions/exception-011-n.js b/js/src/tests/ecma_2/Exceptions/exception-011-n.js deleted file mode 100644 index 38c063807343..000000000000 --- a/js/src/tests/ecma_2/Exceptions/exception-011-n.js +++ /dev/null @@ -1,23 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -var SECTION = "exception-011"; -var TITLE = "Don't Crash throwing undefined"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -print("Undefined throw test."); - -DESCRIPTION = "throw undefined"; - -new TestCase( "throw undefined", "error", eval("throw (void 0)") ); - -test(); - -print("FAILED!: Should have exited with uncaught exception."); - - - diff --git a/js/src/tests/ecma_2/Exceptions/expression-001.js b/js/src/tests/ecma_2/Exceptions/expression-001.js deleted file mode 100644 index 4f975dec3b60..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-001.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-001.js - Corresponds to: ecma/Expressions/11.12-2-n.js - ECMA Section: 11.12 - Description: - - The grammar for a ConditionalExpression in ECMAScript is a little bit - different from that in C and Java, which each allow the second - subexpression to be an Expression but restrict the third expression to - be a ConditionalExpression. The motivation for this difference in - ECMAScript is to allow an assignment expression to be governed by either - arm of a conditional and to eliminate the confusing and fairly useless - case of a comma expression as the center expression. - - Author: christine@netscape.com - Date: 09 september 1998 -*/ -var SECTION = "expression-001"; -var TITLE = "Conditional operator ( ? : )" -writeHeaderToLog( SECTION + " " + TITLE ); - -// the following expression should be an error in JS. - -var result = "Failed" - var exception = "No exception was thrown"; - -try { - eval("var MY_VAR = true ? \"EXPR1\", \"EXPR2\" : \"EXPR3\""); -} catch ( e ) { - result = "Passed"; - exception = e.toString(); -} - -new TestCase( - "comma expression in a conditional statement "+ - "(threw "+ exception +")", - "Passed", - result ); - - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-002.js b/js/src/tests/ecma_2/Exceptions/expression-002.js deleted file mode 100644 index dcec79bd87dd..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-002.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expressions-002.js - Corresponds to: ecma/Expressions/11.2.1-3-n.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Try to access properties of an object whose value is undefined. - - Author: christine@netscape.com - Date: 09 september 1998 -*/ -var SECTION = "expressions-002.js"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - - -// go through all Native Function objects, methods, and properties and get their typeof. - -var PROPERTY = new Array(); -var p = 0; - -// try to access properties of primitive types - -OBJECT = new Property( "undefined", void 0, "undefined", NaN ); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = OBJECT.value.valueOf(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - - -new TestCase( - "Get the value of an object whose value is undefined "+ - "(threw " + exception +")", - expect, - result ); - -test(); - -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.valueOf = value; -} diff --git a/js/src/tests/ecma_2/Exceptions/expression-003.js b/js/src/tests/ecma_2/Exceptions/expression-003.js deleted file mode 100644 index 492872903993..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-003.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expressions-003.js - Corresponds to: ecma/Expressions/11.2.1-3-n.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Try to access properties of an object whose value is undefined. - - Author: christine@netscape.com - Date: 09 september 1998 -*/ -var SECTION = "expressions-003.js"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - - -// try to access properties of primitive types - -OBJECT = new Property( "undefined", void 0, "undefined", NaN ); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = OBJECT.value.toString(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - - -new TestCase( - "Get the toString value of an object whose value is undefined "+ - "(threw " + exception +")", - expect, - result ); - -test(); - -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.value = value; -} diff --git a/js/src/tests/ecma_2/Exceptions/expression-004.js b/js/src/tests/ecma_2/Exceptions/expression-004.js deleted file mode 100644 index 770ccc903a8b..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-004.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-004.js - Corresponds To: 11.2.1-4-n.js - ECMA Section: 11.2.1 Property Accessors - Description: - - Author: christine@netscape.com - Date: 09 september 1998 -*/ -var SECTION = "expression-004"; -var TITLE = "Property Accessors"; -writeHeaderToLog( SECTION + " "+TITLE ); - -var OBJECT = new Property( "null", null, "null", 0 ); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = OBJECT.value.toString(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "Get the toString value of an object whose value is null "+ - "(threw " + exception +")", - expect, - result ); - -test(); - -function Property( object, value, string, number ) { - this.object = object; - this.string = String(value); - this.number = Number(value); - this.value = value; -} diff --git a/js/src/tests/ecma_2/Exceptions/expression-005.js b/js/src/tests/ecma_2/Exceptions/expression-005.js deleted file mode 100644 index 0eb6ede13af5..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-005.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-005.js - Corresponds To: 11.2.2-10-n.js - ECMA Section: 11.2.2. The new operator - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "expression-005"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var expect = "Passed"; -var exception = "No exception thrown"; - -try { - result = new Math(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "result= new Math() (threw " + exception + ")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-006.js b/js/src/tests/ecma_2/Exceptions/expression-006.js deleted file mode 100644 index a9585e25a843..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-006.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-006.js - Corresponds to: 11.2.2-1-n.js - ECMA Section: 11.2.2. The new operator - Description: - - http://scopus/bugsplat/show_bug.cgi?id=327765 - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-006.js"; -var TITLE = "The new operator"; -var BUGNUMBER="327765"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var OBJECT = new Object(); - result = new OBJECT(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "OBJECT = new Object; result = new OBJECT()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-007.js b/js/src/tests/ecma_2/Exceptions/expression-007.js deleted file mode 100644 index 5e8c7ab2cef5..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-007.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-007.js - Corresponds To: 11.2.2-2-n.js - ECMA Section: 11.2.2. The new operator - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-007"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - UNDEFINED = void 0; - result = new UNDEFINED(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "UNDEFINED = void 0; result = new UNDEFINED()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-008.js b/js/src/tests/ecma_2/Exceptions/expression-008.js deleted file mode 100644 index c61ed8f49970..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-008.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-008 - Corresponds To: 11.2.2-3-n.js - ECMA Section: 11.2.2. The new operator - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-008"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var NULL = null; -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new NULL(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "NULL = null; result = new NULL()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-009.js b/js/src/tests/ecma_2/Exceptions/expression-009.js deleted file mode 100644 index db863bb7e70e..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-009.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-009 - Corresponds to: ecma/Expressions/11.2.2-4-n.js - ECMA Section: 11.2.2. The new operator - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-009"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var STRING = ""; - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new STRING(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "STRING = ''; result = new STRING()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-010.js b/js/src/tests/ecma_2/Exceptions/expression-010.js deleted file mode 100644 index 6da851a0deb1..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-010.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-010.js - Corresponds To: 11.2.2-5-n.js - ECMA Section: 11.2.2. The new operator - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-010"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var NUMBER = 0; - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new NUMBER(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "NUMBER=0, result = new NUMBER()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-011.js b/js/src/tests/ecma_2/Exceptions/expression-011.js deleted file mode 100644 index 53cd511c6756..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-011.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-011.js - Corresponds To: ecma/Expressions/11.2.2-6-n.js - ECMA Section: 11.2.2. The new operator - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-011"; -var TITLE = "The new operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var BOOLEAN = true; - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var OBJECT = new BOOLEAN(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "BOOLEAN = true; result = new BOOLEAN()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-012.js b/js/src/tests/ecma_2/Exceptions/expression-012.js deleted file mode 100644 index 02b97354818a..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-012.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-012.js - Corresponds To: ecma/Expressions/11.2.2-6-n.js - ECMA Section: 11.2.2. The new operator - Description: - http://scopus/bugsplat/show_bug.cgi?id=327765 - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-012"; -var TITLE = "The new operator"; -var BUGNUMBER= "327765"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var STRING = new String("hi"); -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new STRING(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "STRING = new String(\"hi\"); result = new STRING()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-013.js b/js/src/tests/ecma_2/Exceptions/expression-013.js deleted file mode 100644 index 8f716afc1f89..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-013.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-013.js - Corresponds To: ecma/Expressions/11.2.2-8-n.js - ECMA Section: 11.2.2. The new operator - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-013"; -var TITLE = "The new operator"; -var BUGNUMBER= "327765"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var NUMBER = new Number(1); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new NUMBER(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "NUMBER = new Number(1); result = new NUMBER()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-014.js b/js/src/tests/ecma_2/Exceptions/expression-014.js deleted file mode 100644 index 128ea9a97afb..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-014.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-014.js - Corresponds To: ecma/Expressions/11.2.2-9-n.js - ECMA Section: 11.2.2. The new operator - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-014.js"; -var TITLE = "The new operator"; -var BUGNUMBER= "327765"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var BOOLEAN = new Boolean(); - - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new BOOLEAN(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "BOOLEAN = new Boolean(); result = new BOOLEAN()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/expression-015.js b/js/src/tests/ecma_2/Exceptions/expression-015.js deleted file mode 100644 index 1c781d4a63c6..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-015.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-015.js - Corresponds To: ecma/Expressions/11.2.3-2-n.js - ECMA Section: 11.2.3. Function Calls - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-015"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("result = 3.valueOf();"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "3.valueOf()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-016.js b/js/src/tests/ecma_2/Exceptions/expression-016.js deleted file mode 100644 index a21f604b548d..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-016.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-016.js - Corresponds To: ecma/Expressions/11.2.3-3-n.js - ECMA Section: 11.2.3. Function Calls - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-016"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = (void 0).valueOf(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "(void 0).valueOf()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-017.js b/js/src/tests/ecma_2/Exceptions/expression-017.js deleted file mode 100644 index 33a3695a9593..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-017.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-07.js - Corresponds To: ecma/Expressions/11.2.3-4-n.js - ECMA Section: 11.2.3. Function Calls - Description: - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-017"; -var TITLE = "Function Calls"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = nullvalueOf(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "null.valueOf()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/expression-019.js b/js/src/tests/ecma_2/Exceptions/expression-019.js deleted file mode 100644 index 6ca12a4c6941..000000000000 --- a/js/src/tests/ecma_2/Exceptions/expression-019.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: expression-019.js - Corresponds To: 11.2.2-7-n.js - ECMA Section: 11.2.2. The new operator - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "expression-019"; -var TITLE = "The new operator"; -var BUGNUMBER= "327765"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var STRING = new String("hi"); - result = new STRING(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var STRING = new String(\"hi\"); result = new STRING();" + - " (threw " + exception + ")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/function-001.js b/js/src/tests/ecma_2/Exceptions/function-001.js deleted file mode 100644 index dac0e5185f48..000000000000 --- a/js/src/tests/ecma_2/Exceptions/function-001.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: boolean-001.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=99232 - * - * eval("function f(){}function g(){}") at top level is an error for JS1.2 - * and above (missing ; between named function expressions), but declares f - * and g as functions below 1.2. - * - * Fails to produce error regardless of version: - * js> version(100) - * 120 - * js> eval("function f(){}function g(){}") - * js> version(120); - * 100 - * js> eval("function f(){}function g(){}") - * js> - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "function-001.js"; -var TITLE = "functions not separated by semicolons are errors in version 120 and higher"; -var BUGNUMBER="10278"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "pass"; -var exception = "no exception thrown"; - -try { - eval("function f(){}function g(){}"); -} catch ( e ) { - result = "fail"; - exception = e.toString(); -} - -new TestCase( - "eval(\"function f(){}function g(){}\") (threw "+exception, - "pass", - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/global-001.js b/js/src/tests/ecma_2/Exceptions/global-001.js deleted file mode 100644 index b8a9c889e27a..000000000000 --- a/js/src/tests/ecma_2/Exceptions/global-001.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: global-001 - Corresponds To: ecma/GlobalObject/15.1-1-n.js - ECMA Section: The global object - Description: - - The global object does not have a [[Construct]] property; it is not - possible to use the global object as a constructor with the new operator. - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "global-001"; -var TITLE = "The Global Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = new this(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "result = new this()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/global-002.js b/js/src/tests/ecma_2/Exceptions/global-002.js deleted file mode 100644 index 04dcbd2859c4..000000000000 --- a/js/src/tests/ecma_2/Exceptions/global-002.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: global-002 - Corresponds To: ecma/GlobalObject/15.1-2-n.js - ECMA Section: The global object - Description: - - The global object does not have a [[Construct]] property; it is not - possible to use the global object as a constructor with the new operator. - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "global-002"; -var TITLE = "The Global Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = this(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "result = this()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-001.js b/js/src/tests/ecma_2/Exceptions/lexical-001.js deleted file mode 100644 index d050dcd73f07..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-001.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-001.js - CorrespondsTo: ecma/LexicalConventions/7.2.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - this test uses onerror to capture line numbers. because - we use on error, we can only have one test case per file. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "lexical-001"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = eval("\r\n\expect"); -} catch ( e ) { - exception = e.toString(); -} - -new TestCase( - "OBJECT = new Object; result = new OBJECT()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-002.js b/js/src/tests/ecma_2/Exceptions/lexical-002.js deleted file mode 100644 index 2148e9b5cb64..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-002.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-002.js - Corresponds To: ecma/LexicalConventions/7.2-3-n.js - ECMA Section: 7.2 Line Terminators - Description: - readability - - separate tokens - - may occur between any two tokens - - cannot occur within any token, not even a string - - affect the process of automatic semicolon insertion. - - white space characters are: - unicode name formal name string representation - \u000A line feed \n - \u000D carriage return \r - - this test uses onerror to capture line numbers. because - we use on error, we can only have one test case per file. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "lexical-002"; -var TITLE = "Line Terminators"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - result = eval("\r\n\expect"); -} catch ( e ) { - exception = e.toString(); -} - -new TestCase( - "result=eval(\"\r\nexpect\")" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-003.js b/js/src/tests/ecma_2/Exceptions/lexical-003.js deleted file mode 100644 index 9dd80e68bf4c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-003.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-003.js - Corresponds To: 7.3-13-n.js - ECMA Section: 7.3 Comments - Description: - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-003.js"; -var TITLE = "Comments"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("/*\n/* nested comment */\n*/\n"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "/*/*nested comment*/ */" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-004.js b/js/src/tests/ecma_2/Exceptions/lexical-004.js deleted file mode 100644 index e9bb4e8b805a..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-004.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-004.js - Corresponds To: ecma/LexicalExpressions/7.4.1-1-n.js - ECMA Section: 7.4.1 - - Description: - - Reserved words cannot be used as identifiers. - - ReservedWord :: - Keyword - FutureReservedWord - NullLiteral - BooleanLiteral - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-004"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var null = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var null = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-005.js b/js/src/tests/ecma_2/Exceptions/lexical-005.js deleted file mode 100644 index a7be0eef4fa3..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-005.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-005.js - Corresponds To: 7.4.1-2.js - ECMA Section: 7.4.1 - - Description: - - Reserved words cannot be used as identifiers. - - ReservedWord :: - Keyword - FutureReservedWord - NullLiteral - BooleanLiteral - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-005"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("true = false;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "true = false" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-006.js b/js/src/tests/ecma_2/Exceptions/lexical-006.js deleted file mode 100644 index 2b1c198f6499..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-006.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-006.js - Corresponds To: 7.4.2-1.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-006"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("break = new Object();"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "break = new Object()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-007.js b/js/src/tests/ecma_2/Exceptions/lexical-007.js deleted file mode 100644 index 00ded80d13f6..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-007.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-005.js - Corresponds To: 7.4.1-3-n.js - ECMA Section: 7.4.1 - - Description: - - Reserved words cannot be used as identifiers. - - ReservedWord :: - Keyword - FutureReservedWord - NullLiteral - BooleanLiteral - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-005"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("false = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "false = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-008.js b/js/src/tests/ecma_2/Exceptions/lexical-008.js deleted file mode 100644 index f2b89e1a5997..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-008.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-008.js - Corresponds To: 7.4.3-1-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-008.js"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("case = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "case = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-009.js b/js/src/tests/ecma_2/Exceptions/lexical-009.js deleted file mode 100644 index d1e5f8cdaff7..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-009.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-009 - Corresponds To: 7.4.3-2-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-009"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("debugger = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "debugger = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-011.js b/js/src/tests/ecma_2/Exceptions/lexical-011.js deleted file mode 100644 index 836a49281760..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-011.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-011.js - Corresponds To: 7.4.3-4-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-011"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("super = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "super = true" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-012.js b/js/src/tests/ecma_2/Exceptions/lexical-012.js deleted file mode 100644 index b826a7403409..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-012.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-012.js - Corresponds To: 7.4.3-5-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-012"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("catch = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "catch = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-013.js b/js/src/tests/ecma_2/Exceptions/lexical-013.js deleted file mode 100644 index c3489f6e876c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-013.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-013.js - Corresponds To: 7.4.3-6-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-013"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("default = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "default = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-014.js b/js/src/tests/ecma_2/Exceptions/lexical-014.js deleted file mode 100644 index ab8a197c5dcc..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-014.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-014.js - Corresponds To: 7.4.3-7-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-014.js"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("extends = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "extends = true" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-015.js b/js/src/tests/ecma_2/Exceptions/lexical-015.js deleted file mode 100644 index b907382142d2..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-015.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-015.js - Corresponds To: 7.4.3-8-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-015"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("switch = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "switch = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-016.js b/js/src/tests/ecma_2/Exceptions/lexical-016.js deleted file mode 100644 index e295b5a5338c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-016.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-016 - Corresponds To: 7.4.3-9-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-016"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("class = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "class = true" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-017.js b/js/src/tests/ecma_2/Exceptions/lexical-017.js deleted file mode 100644 index 639586a5b6ac..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-017.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-017.js - Corresponds To: 7.4.3-10-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-017"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("do = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "do = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-018.js b/js/src/tests/ecma_2/Exceptions/lexical-018.js deleted file mode 100644 index c99a17bf0a45..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-018.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-018 - Corresponds To: 7.4.3-11-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-018"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("finally = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "finally = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-019.js b/js/src/tests/ecma_2/Exceptions/lexical-019.js deleted file mode 100644 index a156675733d5..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-019.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-019.js - Corresponds To: 7.4.3-12-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-019"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("throw = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "throw = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-020.js b/js/src/tests/ecma_2/Exceptions/lexical-020.js deleted file mode 100644 index 782de29c654f..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-020.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-020.js - Corresponds To 7.4.3-13-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-020"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("const = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "const = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-021.js b/js/src/tests/ecma_2/Exceptions/lexical-021.js deleted file mode 100644 index c3108d224e8c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-021.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-021.js - Corresponds To: 7.4.3-14-n.js - ECMA Section: 7.4.3 - - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-021.js"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("enum = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "enum = true" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-023.js b/js/src/tests/ecma_2/Exceptions/lexical-023.js deleted file mode 100644 index 34adac3021d3..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-023.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-023.js - Corresponds To: 7.4.3-16-n.js - ECMA Section: 7.4.3 - Description: - The following words are used as keywords in proposed extensions and are - therefore reserved to allow for the possibility of future adoption of - those extensions. - - FutureReservedWord :: one of - case debugger export super - catch default extends switch - class do finally throw - const enum import try - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "lexical-023.js"; -var TITLE = "Future Reserved Words"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("try = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "try = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-024.js b/js/src/tests/ecma_2/Exceptions/lexical-024.js deleted file mode 100644 index 1dc8f0cec14d..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-024.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-024 - Corresponds To: 7.4.2-1-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-024"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var break;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var break" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-025.js b/js/src/tests/ecma_2/Exceptions/lexical-025.js deleted file mode 100644 index 68a318a12525..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-025.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-025.js - Corresponds To 7.4.2-2-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-025"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var for;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var for" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-026.js b/js/src/tests/ecma_2/Exceptions/lexical-026.js deleted file mode 100644 index d3456e0ac278..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-026.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-026.js - Corresponds To: 7.4.2-3-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-026"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var new;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var new" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-027.js b/js/src/tests/ecma_2/Exceptions/lexical-027.js deleted file mode 100644 index 638698e76196..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-027.js +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-027.js - Corresponds To: 7.4.2-4-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - var - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-027"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var var;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var var" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-028.js b/js/src/tests/ecma_2/Exceptions/lexical-028.js deleted file mode 100644 index 29a86f4f7d0e..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-028.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-028.js - Corresponds To: 7.4.2-5-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-028"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var continue=true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var continue=true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-029.js b/js/src/tests/ecma_2/Exceptions/lexical-029.js deleted file mode 100644 index a8a735b95a9e..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-029.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-029.js - Corresponds To: 7.4.2-6.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-029"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var function = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var function = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-030.js b/js/src/tests/ecma_2/Exceptions/lexical-030.js deleted file mode 100644 index a65a8b83f2e2..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-030.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-030.js - Corresponds To: 7.4.2-7-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-030"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var return = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var return = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-031.js b/js/src/tests/ecma_2/Exceptions/lexical-031.js deleted file mode 100644 index 1514ce803af0..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-031.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-031.js - Corresponds To: 7.4.2-8-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-031"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var return;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var return" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-032.js b/js/src/tests/ecma_2/Exceptions/lexical-032.js deleted file mode 100644 index 14a0610638cb..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-032.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-032.js - Corresponds To: 7.4.2-9-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-032"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("delete = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "delete = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-033.js b/js/src/tests/ecma_2/Exceptions/lexical-033.js deleted file mode 100644 index 2dfc2b4203ad..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-033.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-033.js - Corresponds To: 7.4.2-10.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-033"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("if = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "if = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-034.js b/js/src/tests/ecma_2/Exceptions/lexical-034.js deleted file mode 100644 index bbb168951ca0..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-034.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 7.4.2-11-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-034"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("this = true"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "this = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-035.js b/js/src/tests/ecma_2/Exceptions/lexical-035.js deleted file mode 100644 index cece701c36cb..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-035.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-035.js - Correpsonds To: 7.4.2-12-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-035"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var while"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var while" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-036.js b/js/src/tests/ecma_2/Exceptions/lexical-036.js deleted file mode 100644 index 6c98a196e5ce..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-036.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-036.js - Corresponds To: 7.4.2-13-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-036"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("else = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "else = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-037.js b/js/src/tests/ecma_2/Exceptions/lexical-037.js deleted file mode 100644 index 61d00ec0c19b..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-037.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-037.js - Corresponds To: 7.4.2-14-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-028"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var in;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var in" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-038.js b/js/src/tests/ecma_2/Exceptions/lexical-038.js deleted file mode 100644 index f7c266fdf71e..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-038.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-038.js - Corresponds To: 7.4.2-15-n.js - ECMA Section: 7.4.2 - - Description: - The following tokens are ECMAScript keywords and may not be used as - identifiers in ECMAScript programs. - - Syntax - - Keyword :: one of - break for new var - continue function return void - delete if this while - else in typeof with - - This test verifies that the keyword cannot be used as an identifier. - Functioinal tests of the keyword may be found in the section corresponding - to the function of the keyword. - - Author: christine@netscape.com - Date: 12 november 1997 - -*/ -var SECTION = "lexical-038"; -var TITLE = "Keywords"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("typeof = true;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "typeof = true" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-039.js b/js/src/tests/ecma_2/Exceptions/lexical-039.js deleted file mode 100644 index e335d4575df3..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-039.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-039 - Corresponds To: 7.5-2-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "lexical-039"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var 0abc;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var 0abc" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-040.js b/js/src/tests/ecma_2/Exceptions/lexical-040.js deleted file mode 100644 index 13642502fd02..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-040.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-040.js - Corresponds To: 7.5-2.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "lexical-040"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var 1abc;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var 1abc" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-041.js b/js/src/tests/ecma_2/Exceptions/lexical-041.js deleted file mode 100644 index 7e2f63b6fba9..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-041.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-041.js - Corresponds To: 7.5-8-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "lexical-041"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var @abc;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var @abc" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-042.js b/js/src/tests/ecma_2/Exceptions/lexical-042.js deleted file mode 100644 index e885de9cd4e1..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-042.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-042.js - Corresponds To: 7.5-9-n.js - ECMA Section: 7.5 Identifiers - Description: Identifiers are of unlimited length - - can contain letters, a decimal digit, _, or $ - - the first character cannot be a decimal digit - - identifiers are case sensitive - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "lexical-042"; -var TITLE = "Identifiers"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("var 123;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "var 123" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-047.js b/js/src/tests/ecma_2/Exceptions/lexical-047.js deleted file mode 100644 index 670762e1f81c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-047.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-047.js - Corresponds To: 7.8.1-7-n.js - ECMA Section: 7.8.1 - Description: - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-047"; -var TITLE = "for loops"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var counter = 0; - eval("for ( counter = 0\n" - + "counter <= 1\n" - + "counter++ )\n" - + "{\n" - + "result += \": got to inner loop\";\n" - + "}\n"); - -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "line breaks within a for expression" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-048.js b/js/src/tests/ecma_2/Exceptions/lexical-048.js deleted file mode 100644 index a14fbbc4e66d..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-048.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-048.js - Corresponds To: 7.8.1-1.js - ECMA Section: 7.8.1 Rules of Automatic Semicolon Insertion - Description: - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-048"; -var TITLE = "The Rules of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var counter = 0; - eval( "for ( counter = 0;\ncounter <= 1\ncounter++ ) {\nresult += \": got inside for loop\")"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "line breaks within a for expression" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-049.js b/js/src/tests/ecma_2/Exceptions/lexical-049.js deleted file mode 100644 index b961c83b0e8d..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-049.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-049 - Corresponds To: 7.8.1-1.js - ECMA Section: 7.8.1 Rules of Automatic Semicolon Insertioin - Description: - Author: christine@netscape.com - Date: 15 september 1997 -*/ -var SECTION = "lexical-049"; -var TITLE = "The Rules of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var counter = 0; - eval("for ( counter = 0\n" - + "counter <= 1;\n" - + "counter++ )\n" - + "{\n" - + "result += \": got inside for loop\";\n" - + "}\n"); - -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "line breaks within a for expression" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-050.js b/js/src/tests/ecma_2/Exceptions/lexical-050.js deleted file mode 100644 index 421c38bf3e1a..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-050.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-050.js - Corresponds to: 7.8.2-1-n.js - ECMA Section: 7.8.2 Examples of Automatic Semicolon Insertion - Description: compare some specific examples of the automatic - insertion rules in the EMCA specification. - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-050"; -var TITLE = "Examples of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("{ 1 2 } 3"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "{ 1 2 } 3" + - " (threw " + exception +")", - expect, - result ); - -test(); - - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-051.js b/js/src/tests/ecma_2/Exceptions/lexical-051.js deleted file mode 100644 index d485e779ada1..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-051.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-051.js - Corresponds to: 7.8.2-3-n.js - ECMA Section: 7.8.2 Examples of Automatic Semicolon Insertion - Description: compare some specific examples of the automatic - insertion rules in the EMCA specification. - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-051"; -var TITLE = "Examples of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("for (a; b\n) result += \": got to inner loop\";") - } catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "for (a; b\n)" + - " (threw " + exception +")", - expect, - result ); - -test(); - - - diff --git a/js/src/tests/ecma_2/Exceptions/lexical-052.js b/js/src/tests/ecma_2/Exceptions/lexical-052.js deleted file mode 100644 index fe43ba0d59cc..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-052.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-052.js - Corresponds to: 7.8.2-4-n.js - ECMA Section: 7.8.2 Examples of Automatic Semicolon Insertion - Description: compare some specific examples of the automatic - insertion rules in the EMCA specification. - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-052"; -var TITLE = "Examples of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - MyFunction(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "calling return indirectly" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyFunction() { - var s = "return"; - eval(s); -} diff --git a/js/src/tests/ecma_2/Exceptions/lexical-053.js b/js/src/tests/ecma_2/Exceptions/lexical-053.js deleted file mode 100644 index 37f002d385b2..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-053.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-053.js - Corresponds to: 7.8.2-7-n.js - ECMA Section: 7.8.2 Examples of Automatic Semicolon Insertion - Description: compare some specific examples of the automatic - insertion rules in the EMCA specification. - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-053"; -var TITLE = "Examples of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - a = true - b = false - - eval('if (a > b)\nelse result += ": got to else statement"'); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "calling return indirectly" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/lexical-054.js b/js/src/tests/ecma_2/Exceptions/lexical-054.js deleted file mode 100644 index 34082632b491..000000000000 --- a/js/src/tests/ecma_2/Exceptions/lexical-054.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: lexical-054.js - Corresponds to: 7.8.2-7-n.js - ECMA Section: 7.8.2 Examples of Automatic Semicolon Insertion - Description: compare some specific examples of the automatic - insertion rules in the EMCA specification. - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "lexical-054"; -var TITLE = "Examples of Automatic Semicolon Insertion"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - a=0; - b=1; - c=2; - d=3; - eval("if (a > b)\nelse c = d"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "if (a > b)\nelse c = d" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/number-001.js b/js/src/tests/ecma_2/Exceptions/number-001.js deleted file mode 100644 index 40d9bf84c28c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/number-001.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: number-001 - Corresponds To: 15.7.4.2-2-n.js - ECMA Section: 15.7.4.2.2 Number.prototype.toString() - Description: - If the radix is the number 10 or not supplied, then this number value is - given as an argument to the ToString operator; the resulting string value - is returned. - - If the radix is supplied and is an integer from 2 to 36, but not 10, the - result is a string, the choice of which is implementation dependent. - - The toString function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "number-001"; -var TITLE = "Exceptions for Number.toString()"; - -writeHeaderToLog( SECTION + " Number.prototype.toString()"); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - object= new Object(); - object.toString = Number.prototype.toString; - result = object.toString(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "object = new Object(); object.toString = Number.prototype.toString; object.toString()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/number-002.js b/js/src/tests/ecma_2/Exceptions/number-002.js deleted file mode 100644 index 844c834e0c66..000000000000 --- a/js/src/tests/ecma_2/Exceptions/number-002.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: number-002.js - Corresponds To: ecma/Number/15.7.4.3-2-n.js - ECMA Section: 15.7.4.3.1 Number.prototype.valueOf() - Description: - Returns this number value. - - The valueOf function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "number-002"; -var TITLE = "Exceptions for Number.valueOf()"; - -writeHeaderToLog( SECTION + " Number.prototype.valueOf()"); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - object= new Object(); - object.toString = Number.prototype.valueOf; - result = object.toString(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "object = new Object(); object.valueOf = Number.prototype.valueOf; object.valueOf()" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/number-003.js b/js/src/tests/ecma_2/Exceptions/number-003.js deleted file mode 100644 index a427b9a7d26c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/number-003.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: number-003.js - Corresponds To: 15.7.4.3-3.js - ECMA Section: 15.7.4.3.1 Number.prototype.valueOf() - Description: - Returns this number value. - - The valueOf function is not generic; it generates a runtime error if its - this value is not a Number object. Therefore it cannot be transferred to - other kinds of objects for use as a method. - - Author: christine@netscape.com - Date: 16 september 1997 -*/ -var SECTION = "number-003"; -var TITLE = "Exceptions for Number.valueOf()"; - -writeHeaderToLog( SECTION + " Number.prototype.valueOf()"); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - VALUE_OF = Number.prototype.valueOf; - OBJECT = new String("Infinity"); - OBJECT.valueOf = VALUE_OF; - result = OBJECT.valueOf(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "Assigning Number.prototype.valueOf as the valueOf of a String object " + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/statement-001.js b/js/src/tests/ecma_2/Exceptions/statement-001.js deleted file mode 100644 index 8f35b774b3cd..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-001.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-001.js - Corresponds To: 12.6.2-9-n.js - ECMA Section: 12.6.2 The for Statement - - 1. first expression is not present. - 2. second expression is not present - 3. third expression is not present - - - Author: christine@netscape.com - Date: 15 september 1997 -*/ - -var SECTION = "statement-001.js"; -// var SECTION = "12.6.2-9-n"; -var TITLE = "The for statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("for (i) {\n}"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "for(i) {}" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/statement-002.js b/js/src/tests/ecma_2/Exceptions/statement-002.js deleted file mode 100644 index 1c809c39f49c..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-002.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-002.js - Corresponds To: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "statement-002"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval(" for ( var i, p in this) { result += this[p]; }"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "more than one member expression" + - " (threw " + exception +")", - expect, - result ); - -test(); diff --git a/js/src/tests/ecma_2/Exceptions/statement-003.js b/js/src/tests/ecma_2/Exceptions/statement-003.js deleted file mode 100644 index 2aa6633b7d73..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-003.js +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-003 - Corresponds To: 12.6.3-7-n.js - ECMA Section: 12.6.3 The for...in Statement - Description: - The production IterationStatement : for ( LeftHandSideExpression in Expression ) - Statement is evaluated as follows: - - 1. Evaluate the Expression. - 2. Call GetValue(Result(1)). - 3. Call ToObject(Result(2)). - 4. Let C be "normal completion". - 5. Get the name of the next property of Result(3) that doesn't have the - DontEnum attribute. If there is no such property, go to step 14. - 6. Evaluate the LeftHandSideExpression ( it may be evaluated repeatedly). - 7. Call PutValue(Result(6), Result(5)). PutValue( V, W ): - 1. If Type(V) is not Reference, generate a runtime error. - 2. Call GetBase(V). - 3. If Result(2) is null, go to step 6. - 4. Call the [[Put]] method of Result(2), passing GetPropertyName(V) - for the property name and W for the value. - 5. Return. - 6. Call the [[Put]] method for the global object, passing - GetPropertyName(V) for the property name and W for the value. - 7. Return. - 8. Evaluate Statement. - 9. If Result(8) is a value completion, change C to be "normal completion - after value V" where V is the value carried by Result(8). - 10. If Result(8) is a break completion, go to step 14. - 11. If Result(8) is a continue completion, go to step 5. - 12. If Result(8) is a return completion, return Result(8). - 13. Go to step 5. - 14. Return C. - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "statement-003"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var o = new MyObject(); - var result = 0; - - eval("for ( this in o) {\n" - + "result += this[p];\n" - + "}\n"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "bad left-hand side expression" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma_2/Exceptions/statement-004.js b/js/src/tests/ecma_2/Exceptions/statement-004.js deleted file mode 100644 index 8c363373865e..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-004.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-004.js - Corresponds To: 12.6.3-1.js - ECMA Section: 12.6.3 The for...in Statement - Description: - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "statement-004"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var o = new MyObject(); - - eval("for ( \"a\" in o) {\n" - + "result += this[p];\n" - + "}"); - -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "bad left-hand side expression" + - " (threw " + exception +")", - expect, - result ); - -test(); - - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma_2/Exceptions/statement-005.js b/js/src/tests/ecma_2/Exceptions/statement-005.js deleted file mode 100644 index e2b7e82c9d46..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-005.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-005.js - Corresponds To: 12.6.3-8-n.js - ECMA Section: 12.6.3 The for...in Statement - Description: - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "statement-005"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var o = new MyObject(); - result = 0; - - eval("for (1 in o) {\n" - + "result += this[p];" - + "}\n"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "bad left-hand side expression" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma_2/Exceptions/statement-006.js b/js/src/tests/ecma_2/Exceptions/statement-006.js deleted file mode 100644 index cf907bf9302b..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-006.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-006.js - Corresponds To: 12.6.3-9-n.js - ECMA Section: 12.6.3 The for...in Statement - Description: - - Author: christine@netscape.com - Date: 11 september 1997 -*/ -var SECTION = "statement-006"; -var TITLE = "The for..in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var o = new MyObject(); - var result = 0; - for ( var o in foo) { - result += this[o]; - } -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "object is not defined" + - " (threw " + exception +")", - expect, - result ); - -test(); - -function MyObject() { - this.value = 2; - this[0] = 4; - return this; -} diff --git a/js/src/tests/ecma_2/Exceptions/statement-007.js b/js/src/tests/ecma_2/Exceptions/statement-007.js deleted file mode 100644 index 35a5dd291273..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-007.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-007.js - Corresponds To: 12.7-1-n.js - ECMA Section: 12.7 The continue statement - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "statement-007"; -var TITLE = "The continue statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("continue;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "continue outside of an iteration statement" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/statement-008.js b/js/src/tests/ecma_2/Exceptions/statement-008.js deleted file mode 100644 index 68f33810e7d2..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-008.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: statement-008.js - Corresponds To: 12.8-1-n.js - ECMA Section: 12.8 The break statement - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "statement-008"; -var TITLE = "The break in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("break;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "break outside of an iteration statement" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/statement-009.js b/js/src/tests/ecma_2/Exceptions/statement-009.js deleted file mode 100644 index 93ca63e0f9ac..000000000000 --- a/js/src/tests/ecma_2/Exceptions/statement-009.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: 12.9-1-n.js - ECMA Section: 12.9 The return statement - Description: - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "12.9-1-n"; -var TITLE = "The return statement"; - -writeHeaderToLog( SECTION + " The return statement"); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - eval("return;"); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "return outside of a function" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/string-001.js b/js/src/tests/ecma_2/Exceptions/string-001.js deleted file mode 100644 index 8ebfffea0690..000000000000 --- a/js/src/tests/ecma_2/Exceptions/string-001.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: string-001.js - Corresponds To: 15.5.4.2-2-n.js - ECMA Section: 15.5.4.2 String.prototype.toString() - - Description: Returns this string value. Note that, for a String - object, the toString() method happens to return the same - thing as the valueOf() method. - - The toString function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ -var SECTION = "string-001"; -var TITLE = "String.prototype.toString"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - OBJECT = new Object(); - OBJECT.toString = String.prototype.toString(); - result = OBJECT.toString(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "OBJECT = new Object; "+ - " OBJECT.toString = String.prototype.toString; OBJECT.toString()" + - " (threw " + exception +")", - expect, - result ); - -test(); - diff --git a/js/src/tests/ecma_2/Exceptions/string-002.js b/js/src/tests/ecma_2/Exceptions/string-002.js deleted file mode 100644 index e0e59d56c23f..000000000000 --- a/js/src/tests/ecma_2/Exceptions/string-002.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: string-002.js - Corresponds To: 15.5.4.3-3-n.js - ECMA Section: 15.5.4.3 String.prototype.valueOf() - - Description: Returns this string value. - - The valueOf function is not generic; it generates a - runtime error if its this value is not a String object. - Therefore it connot be transferred to the other kinds of - objects for use as a method. - - Author: christine@netscape.com - Date: 1 october 1997 -*/ -var SECTION = "string-002"; -var TITLE = "String.prototype.valueOf"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var result = "Failed"; -var exception = "No exception thrown"; -var expect = "Passed"; - -try { - var OBJECT =new Object(); - OBJECT.valueOf = String.prototype.valueOf; - result = OBJECT.valueOf(); -} catch ( e ) { - result = expect; - exception = e.toString(); -} - -new TestCase( - "OBJECT = new Object; OBJECT.valueOf = String.prototype.valueOf;"+ - "result = OBJECT.valueOf();" + - " (threw " + exception +")", - expect, - result ); - -test(); - - diff --git a/js/src/tests/ecma_2/Expressions/StrictEquality-001.js b/js/src/tests/ecma_2/Expressions/StrictEquality-001.js deleted file mode 100644 index 524635b36da0..000000000000 --- a/js/src/tests/ecma_2/Expressions/StrictEquality-001.js +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: StrictEquality-001.js - * ECMA Section: 11.9.6.js - * Description: - * - * Author: christine@netscape.com - * Date: 4 september 1998 - */ -var SECTION = "StrictEquality-001 - 11.9.6"; -var TITLE = "The strict equality operator ( === )"; - -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 1. If Type(x) is different from Type(y) return false - -StrictEquality( true, new Boolean(true), false ); -StrictEquality( new Boolean(), false, false ); -StrictEquality( "", new String(), false ); -StrictEquality( new String("hi"), "hi", false ); - -// 2. If Type(x) is not Number go to step 9. - -// 3. If x is NaN, return false -StrictEquality( NaN, NaN, false ); -StrictEquality( NaN, 0, false ); - -// 4. If y is NaN, return false. -StrictEquality( 0, NaN, false ); - -// 5. if x is the same number value as y, return true - -// 6. If x is +0 and y is -0, return true - -// 7. If x is -0 and y is +0, return true - -// 8. Return false. - - -// 9. If Type(x) is String, then return true if x and y are exactly -// the same sequence of characters ( same length and same characters -// in corresponding positions.) Otherwise return false. - -// 10. If Type(x) is Boolean, return true if x and y are both true or -// both false. otherwise return false. - - -// Return true if x and y refer to the same object. Otherwise return -// false. - -// Return false. - - -test(); - -function StrictEquality( x, y, expect ) { - result = ( x === y ); - - new TestCase( - x +" === " + y, - expect, - result ); -} - diff --git a/js/src/tests/ecma_2/FunctionObjects/apply-001-n.js b/js/src/tests/ecma_2/FunctionObjects/apply-001-n.js deleted file mode 100644 index d8e65ef66d32..000000000000 --- a/js/src/tests/ecma_2/FunctionObjects/apply-001-n.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -print("STATUS: f.apply crash test."); - -print("BUGNUMBER: 21836"); - -function f () -{ -} - -var SECTION = "apply-001-n"; -var TITLE = "f.apply(2,2) doesn't crash"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DESCRIPTION = "f.apply(2,2) doesn't crash"; - -new TestCase( "f.apply(2,2) doesn't crash", "error", eval("f.apply(2,2)") ); - -test(); - - diff --git a/js/src/tests/ecma_2/FunctionObjects/call-1.js b/js/src/tests/ecma_2/FunctionObjects/call-1.js deleted file mode 100644 index 546a96416fb8..000000000000 --- a/js/src/tests/ecma_2/FunctionObjects/call-1.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: call-1.js - Section: Function.prototype.call - Description: - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "call-1"; -var TITLE = "Function.prototype.call"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var GLOBAL = this + ''; - -new TestCase( "ConvertToString.call(this, this)", - GLOBAL, - ConvertToString.call(this, this)); - -new TestCase( "ConvertToString.call(Boolean, Boolean.prototype)", - "false", - ConvertToString.call(Boolean, Boolean.prototype)); - -new TestCase( "ConvertToString.call(Boolean, Boolean.prototype.valueOf())", - "false", - ConvertToString.call(Boolean, Boolean.prototype.valueOf())); - -test(); - -function ConvertToString(obj) { - return obj +""; -} diff --git a/js/src/tests/ecma_2/LexicalConventions/keywords-001.js b/js/src/tests/ecma_2/LexicalConventions/keywords-001.js deleted file mode 100644 index ca1d9fcd0d10..000000000000 --- a/js/src/tests/ecma_2/LexicalConventions/keywords-001.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: - * ECMA Section: - * Description: - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = ""; -var TITLE = "Keywords"; - - -var result = "failed"; - -try { - eval("super;"); -} -catch (x) { - if (x instanceof SyntaxError) - result = x.name; -} - -AddTestCase( - "using the expression \"super\" shouldn't cause js to crash", - "SyntaxError", - result ); - -test(); diff --git a/js/src/tests/ecma_2/LexicalConventions/regexp-literals-001.js b/js/src/tests/ecma_2/LexicalConventions/regexp-literals-001.js deleted file mode 100644 index 51be69d8a462..000000000000 --- a/js/src/tests/ecma_2/LexicalConventions/regexp-literals-001.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: LexicalConventions/regexp-literals-001.js - * ECMA Section: 7.8.5 - * Description: - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "LexicalConventions/regexp-literals-001.js"; -var TITLE = "Regular Expression Literals"; - - -// Regular Expression Literals may not be empty; // should be regarded -// as a comment, not a RegExp literal. - -s = //; - - "passed"; - -AddTestCase( - "// should be a comment, not a regular expression literal", - "passed", - String(s)); - -AddTestCase( - "// typeof object should be type of object declared on following line", - "passed", - (typeof s) == "string" ? "passed" : "failed" ); - -AddTestCase( - "// should not return an object of the type RegExp", - "passed", - (typeof s == "object") ? "failed" : "passed" ); - -test(); diff --git a/js/src/tests/ecma_2/LexicalConventions/regexp-literals-002.js b/js/src/tests/ecma_2/LexicalConventions/regexp-literals-002.js deleted file mode 100644 index 699b45dc16d3..000000000000 --- a/js/src/tests/ecma_2/LexicalConventions/regexp-literals-002.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: LexicalConventions/regexp-literals-002.js - * ECMA Section: 7.8.5 - * Description: Based on ECMA 2 Draft 8 October 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "LexicalConventions/regexp-literals-002.js"; -var TITLE = "Regular Expression Literals"; - - -// A regular expression literal represents an object of type RegExp. - -AddTestCase( - "// A regular expression literal represents an object of type RegExp.", - "true", - (/x*/ instanceof RegExp).toString() ); - -test(); diff --git a/js/src/tests/ecma_2/README b/js/src/tests/ecma_2/README deleted file mode 100644 index 6da6cdd51491..000000000000 --- a/js/src/tests/ecma_2/README +++ /dev/null @@ -1 +0,0 @@ -ECMA 262 Edition 2 diff --git a/js/src/tests/ecma_2/RegExp/constructor-001.js b/js/src/tests/ecma_2/RegExp/constructor-001.js deleted file mode 100644 index cd6fed6eecb9..000000000000 --- a/js/src/tests/ecma_2/RegExp/constructor-001.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/constructor-001.js - * ECMA Section: 15.7.3.3 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/constructor-001"; -var TITLE = "new RegExp()"; - - -/* - * for each test case, verify: - * - verify that [[Class]] property is RegExp - * - prototype property should be set to RegExp.prototype - * - source is set to the empty string - * - global property is set to false - * - ignoreCase property is set to false - * - multiline property is set to false - * - lastIndex property is set to 0 - */ - -RegExp.prototype.getClassProperty = Object.prototype.toString; -var re = new RegExp(); - -AddTestCase( - "RegExp.prototype.getClassProperty = Object.prototype.toString; " + - "(new RegExp()).getClassProperty()", - "[object RegExp]", - re.getClassProperty() ); - -AddTestCase( - "(new RegExp()).source", - "(?:)", - re.source ); - -AddTestCase( - "(new RegExp()).global", - false, - re.global ); - -AddTestCase( - "(new RegExp()).ignoreCase", - false, - re.ignoreCase ); - -AddTestCase( - "(new RegExp()).multiline", - false, - re.multiline ); - -AddTestCase( - "(new RegExp()).lastIndex", - 0, - re.lastIndex ); - -test() diff --git a/js/src/tests/ecma_2/RegExp/exec-002.js b/js/src/tests/ecma_2/RegExp/exec-002.js deleted file mode 100644 index d1293e81ec0c..000000000000 --- a/js/src/tests/ecma_2/RegExp/exec-002.js +++ /dev/null @@ -1,186 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/exec-002.js - * ECMA Section: 15.7.5.3 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Test cases provided by rogerl@netscape.com - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/exec-002"; -var TITLE = "RegExp.prototype.exec(string)"; - - -/* - * for each test case, verify: - * - type of object returned - * - length of the returned array - * - value of lastIndex - * - value of index - * - value of input - * - value of the array indices - */ - -AddRegExpCases( - /(a|d|q|)x/i, - "bcaDxqy", - 3, - ["Dx", "D"] ); - -AddRegExpCases( - /(a|(e|q))(x|y)/, - "bcaddxqy", - 6, - ["qy","q","q","y"] ); - - -AddRegExpCases( - /a+b+d/, - "aabbeeaabbs", - 0, - null ); - -AddRegExpCases( - /a*b/, - "aaadaabaaa", - 4, - ["aab"] ); - -AddRegExpCases( - /a*b/, - "dddb", - 3, - ["b"] ); - -AddRegExpCases( - /a*b/, - "xxx", - 0, - null ); - -AddRegExpCases( - /x\d\dy/, - "abcx45ysss235", - 3, - ["x45y"] ); - -AddRegExpCases( - /[^abc]def[abc]+/, - "abxdefbb", - 2, - ["xdefbb"] ); - -AddRegExpCases( - /(a*)baa/, - "ccdaaabaxaabaa", - 9, - ["aabaa", "aa"] ); - -AddRegExpCases( - /(a*)baa/, - "aabaa", - 0, - ["aabaa", "aa"] ); - -AddRegExpCases( - /q(a|b)*q/, - "xxqababqyy", - 2, - ["qababq", "b"] ); - -AddRegExpCases( - /(a(.|[^d])c)*/, - "adcaxc", - 0, - ["adcaxc", "axc", "x"] ); - -AddRegExpCases( - /(a*)b\1/, - "abaaaxaabaayy", - 0, - ["aba", "a"] ); - -AddRegExpCases( - /(a*)b\1/, - "abaaaxaabaayy", - 0, - ["aba", "a"] ); - -AddRegExpCases( - /(a*)b\1/, - "cccdaaabaxaabaayy", - 6, - ["aba", "a"] ); - -AddRegExpCases( - /(a*)b\1/, - "cccdaaabqxaabaayy", - 7, - ["b", ""] ); - -AddRegExpCases( - /"(.|[^"\\\\])*"/, - 'xx\"makudonarudo\"yy', - 2, - ["\"makudonarudo\"", "o"] ); - - AddRegExpCases( - /"(.|[^"\\\\])*"/, - "xx\"ma\"yy", - 2, - ["\"ma\"", "a"] ); - - test(); - - function AddRegExpCases( - regexp, pattern, index, matches_array ) { - -// prevent a runtime error - - if ( regexp.exec(pattern) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + pattern +")", - matches_array, - regexp.exec(pattern) ); - - return; - } - AddTestCase( - regexp + ".exec(" + pattern +").length", - matches_array.length, - regexp.exec(pattern).length ); - - AddTestCase( - regexp + ".exec(" + pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - regexp + ".exec(" + pattern +").input", - pattern, - regexp.exec(pattern).input ); - - AddTestCase( - regexp + ".exec(" + pattern +").toString()", - matches_array.toString(), - regexp.exec(pattern).toString() ); -/* - var limit = matches_array.length > regexp.exec(pattern).length - ? matches_array.length - : regexp.exec(pattern).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - regexp + ".exec(" + pattern +")[" + matches +"]", - matches_array[matches], - regexp.exec(pattern)[matches] ); - } -*/ - } diff --git a/js/src/tests/ecma_2/RegExp/hex-001.js b/js/src/tests/ecma_2/RegExp/hex-001.js deleted file mode 100644 index 9ab492f1b748..000000000000 --- a/js/src/tests/ecma_2/RegExp/hex-001.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/hex-001.js - * ECMA Section: 15.7.3.1 - * Description: Based on ECMA 2 Draft 7 February 1999 - * Positive test cases for constructing a RegExp object - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/hex-001"; -var TITLE = "RegExp patterns that contain HexicdecimalEscapeSequences"; - - -// These examples come from 15.7.1, HexidecimalEscapeSequence - -AddRegExpCases( new RegExp("\x41"), "new RegExp('\\x41')", "A", "A", 1, 0, ["A"] ); -AddRegExpCases( new RegExp("\x412"),"new RegExp('\\x412')", "A2", "A2", 1, 0, ["A2"] ); - -AddRegExpCases( new RegExp("A"), "new RegExp('A')", "\x41", "\\x41", 1, 0, ["A"] ); -AddRegExpCases( new RegExp("A"), "new RegExp('A')", "\x412", "\\x412", 1, 0, ["A"] ); -AddRegExpCases( new RegExp("^x"), "new RegExp('^x')", "x412", "x412", 1, 0, ["x"]); -AddRegExpCases( new RegExp("A"), "new RegExp('A')", "A2", "A2", 1, 0, ["A"] ); - -test(); - -function AddRegExpCases( - regexp, str_regexp, pattern, str_pattern, length, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(pattern) == null || matches_array == null ) { - AddTestCase( - str_regexp + ".exec(" + pattern +")", - matches_array, - regexp.exec(pattern) ); - - return; - } - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").length", - length, - regexp.exec(pattern).length ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").input", - pattern, - regexp.exec(pattern).input ); - - for ( var matches = 0; matches < matches_array.length; matches++ ) { - AddTestCase( - str_regexp + ".exec(" + str_pattern +")[" + matches +"]", - matches_array[matches], - regexp.exec(pattern)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/RegExp/multiline-001.js b/js/src/tests/ecma_2/RegExp/multiline-001.js deleted file mode 100644 index 43614d91e749..000000000000 --- a/js/src/tests/ecma_2/RegExp/multiline-001.js +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/multiline-001.js - * ECMA Section: - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Date: 19 February 1999 - */ - -var SECTION = "RegExp/multiline-001"; -var TITLE = "RegExp: multiline flag"; -var BUGNUMBER="343901"; - -printBugNumber(BUGNUMBER); - -var woodpeckers = "ivory-billed\ndowny\nhairy\nacorn\nyellow-bellied sapsucker\n" + - "northern flicker\npileated\n"; - -AddRegExpCases( /.*[y]$/m, woodpeckers, woodpeckers.indexOf("downy"), ["downy"] ); - -AddRegExpCases( /.*[d]$/m, woodpeckers, woodpeckers.indexOf("ivory-billed"), ["ivory-billed"] ); - -test(); - - -function AddRegExpCases -( regexp, pattern, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(pattern) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + pattern +")", - matches_array, - regexp.exec(pattern) ); - - return; - } - - AddTestCase( - regexp.toString() + ".exec(" + pattern +").length", - matches_array.length, - regexp.exec(pattern).length ); - - AddTestCase( - regexp.toString() + ".exec(" + pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - regexp + ".exec(" + pattern +").input", - pattern, - regexp.exec(pattern).input ); - - - for ( var matches = 0; matches < matches_array.length; matches++ ) { - AddTestCase( - regexp + ".exec(" + pattern +")[" + matches +"]", - matches_array[matches], - regexp.exec(pattern)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/RegExp/octal-001.js b/js/src/tests/ecma_2/RegExp/octal-001.js deleted file mode 100644 index cde12d807daf..000000000000 --- a/js/src/tests/ecma_2/RegExp/octal-001.js +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/octal-001.js - * ECMA Section: 15.7.1 - * Description: Based on ECMA 2 Draft 7 February 1999 - * Simple test cases for matching OctalEscapeSequences. - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/octal-001.js"; -var TITLE = "RegExp patterns that contain OctalEscapeSequences"; -var BUGNUMBER="http://scopus/bugsplat/show_bug.cgi?id=346196"; - -printBugNumber(BUGNUMBER); - - -// backreference -AddRegExpCases( - /(.)\1/, - "/(.)\\1/", - "HI!!", - "HI!", - 2, - ["!!", "!"] ); - -test(); - -function AddRegExpCases( - regexp, str_regexp, pattern, str_pattern, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(pattern) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + str_pattern +")", - matches_array, - regexp.exec(pattern) ); - - return; - } - AddTestCase( - str_regexp + ".exec(" + str_pattern +").length", - matches_array.length, - regexp.exec(pattern).length ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").input", - pattern, - regexp.exec(pattern).input ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").toString()", - matches_array.toString(), - regexp.exec(pattern).toString() ); -/* - var limit = matches_array.length > regexp.exec(pattern).length - ? matches_array.length - : regexp.exec(pattern).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - str_regexp + ".exec(" + str_pattern +")[" + matches +"]", - matches_array[matches], - regexp.exec(pattern)[matches] ); - } -*/ -} diff --git a/js/src/tests/ecma_2/RegExp/octal-002.js b/js/src/tests/ecma_2/RegExp/octal-002.js deleted file mode 100644 index 6761d4ae6d1b..000000000000 --- a/js/src/tests/ecma_2/RegExp/octal-002.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/octal-002.js - * ECMA Section: 15.7.1 - * Description: Based on ECMA 2 Draft 7 February 1999 - * Simple test cases for matching OctalEscapeSequences. - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/octal-002.js"; -var TITLE = "RegExp patterns that contain OctalEscapeSequences"; -var BUGNUMBER="http://scopus/bugsplat/show_bug.cgi?id=346189"; - -printBugNumber(BUGNUMBER); - -// backreference -AddRegExpCases( - /(.)(.)(.)(.)(.)(.)(.)(.)\8/, - "/(.)(.)(.)(.)(.)(.)(.)(.)\\8", - "aabbccaaabbbccc", - "aabbccaaabbbccc", - 0, - ["aabbccaaa", "a", "a", "b", "b", "c", "c", "a", "a"] ); - -AddRegExpCases( - /(.)(.)(.)(.)(.)(.)(.)(.)(.)\9/, - "/(.)(.)(.)(.)(.)(.)(.)(.)\\9", - "aabbccaabbcc", - "aabbccaabbcc", - 0, - ["aabbccaabb", "a", "a", "b", "b", "c", "c", "a", "a", "b"] ); - -AddRegExpCases( - /(.)(.)(.)(.)(.)(.)(.)(.)(.)\8/, - "/(.)(.)(.)(.)(.)(.)(.)(.)(.)\\8", - "aabbccaababcc", - "aabbccaababcc", - 0, - ["aabbccaaba", "a", "a", "b", "b", "c", "c", "a", "a", "b"] ); - -test(); - -function AddRegExpCases( - regexp, str_regexp, pattern, str_pattern, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(pattern) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + str_pattern +")", - matches_array, - regexp.exec(pattern) ); - - return; - } - AddTestCase( - str_regexp + ".exec(" + str_pattern +").length", - matches_array.length, - regexp.exec(pattern).length ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").input", - pattern, - regexp.exec(pattern).input ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").toString()", - matches_array.toString(), - regexp.exec(pattern).toString() ); -/* - var limit = matches_array.length > regexp.exec(pattern).length - ? matches_array.length - : regexp.exec(pattern).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - str_regexp + ".exec(" + str_pattern +")[" + matches +"]", - matches_array[matches], - regexp.exec(pattern)[matches] ); - } -*/ -} diff --git a/js/src/tests/ecma_2/RegExp/octal-003.js b/js/src/tests/ecma_2/RegExp/octal-003.js deleted file mode 100644 index 700e39ed4577..000000000000 --- a/js/src/tests/ecma_2/RegExp/octal-003.js +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/octal-003.js - * ECMA Section: 15.7.1 - * Description: Based on ECMA 2 Draft 7 February 1999 - * Simple test cases for matching OctalEscapeSequences. - * Author: christine@netscape.com - * Date: 19 February 1999 - * - * Revised: 02 August 2002 - * Author: pschwartau@netscape.com - * - * WHY: the original test expected the regexp /.\011/ - * to match 'a' + String.fromCharCode(0) + '11' - * - * This is incorrect: the string is a 4-character string consisting of - * the characters <'a'>, , <'1'>, <'1'>. By contrast, the \011 in the - * regexp should be parsed as a single token: it is the octal escape sequence - * for the horizontal tab character '\t' === '\u0009' === '\x09' === '\011'. - * - * So the regexp consists of 2 characters: , <'\t'>. - * There is no match between the regexp and the string. - * - * See the testcase ecma_3/RegExp/octal-002.js for an elaboration. - * - */ -var SECTION = "RegExp/octal-003.js"; -var TITLE = "RegExp patterns that contain OctalEscapeSequences"; -var BUGNUMBER="http://scopus/bugsplat/show_bug.cgi?id=346132"; - -printBugNumber(BUGNUMBER); - -AddRegExpCases( /.\011/, "/\\011/", "a" + String.fromCharCode(0) + "11", "a\\011", 0, null ); - -test(); - -function AddRegExpCases( - regexp, str_regexp, pattern, str_pattern, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(pattern) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + str_pattern +")", - matches_array, - regexp.exec(pattern) ); - - return; - } - AddTestCase( - str_regexp + ".exec(" + str_pattern +").length", - matches_array.length, - regexp.exec(pattern).length ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").input", - escape(pattern), - escape(regexp.exec(pattern).input) ); - - AddTestCase( - str_regexp + ".exec(" + str_pattern +").toString()", - matches_array.toString(), - escape(regexp.exec(pattern).toString()) ); - - var limit = matches_array.length > regexp.exec(pattern).length - ? matches_array.length - : regexp.exec(pattern).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - str_regexp + ".exec(" + str_pattern +")[" + matches +"]", - matches_array[matches], - escape(regexp.exec(pattern)[matches]) ); - } - -} diff --git a/js/src/tests/ecma_2/RegExp/properties-001.js b/js/src/tests/ecma_2/RegExp/properties-001.js deleted file mode 100644 index b9cb65e95997..000000000000 --- a/js/src/tests/ecma_2/RegExp/properties-001.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/properties-001.js - * ECMA Section: 15.7.6.js - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/properties-001.js"; -var TITLE = "Properties of RegExp Instances"; - -AddRegExpCases( new RegExp, "(?:)", false, false, false, 0 ); -AddRegExpCases( /.*/, ".*", false, false, false, 0 ); -AddRegExpCases( /[\d]{5}/g, "[\\d]{5}", true, false, false, 0 ); -AddRegExpCases( /[\S]?$/i, "[\\S]?$", false, true, false, 0 ); -AddRegExpCases( /^([a-z]*)[^\w\s\f\n\r]+/m, "^([a-z]*)[^\\w\\s\\f\\n\\r]+", false, false, true, 0 ); -AddRegExpCases( /[\D]{1,5}[\ -][\d]/gi, "[\\D]{1,5}[\\ -][\\d]", true, true, false, 0 ); -AddRegExpCases( /[a-zA-Z0-9]*/gm, "[a-zA-Z0-9]*", true, false, true, 0 ); -AddRegExpCases( /x|y|z/gim, "x|y|z", true, true, true, 0 ); - -AddRegExpCases( /\u0051/im, "\\u0051", false, true, true, 0 ); -AddRegExpCases( /\x45/gm, "\\x45", true, false, true, 0 ); -AddRegExpCases( /\097/gi, "\\097", true, true, false, 0 ); - -test(); - -function AddRegExpCases( re, s, g, i, m, l ) { - - AddTestCase( re + ".test == RegExp.prototype.test", - true, - re.test == RegExp.prototype.test ); - - AddTestCase( re + ".toString == RegExp.prototype.toString", - true, - re.toString == RegExp.prototype.toString ); - - AddTestCase( re + ".contructor == RegExp.prototype.constructor", - true, - re.constructor == RegExp.prototype.constructor ); - - AddTestCase( re + ".compile == RegExp.prototype.compile", - true, - re.compile == RegExp.prototype.compile ); - - AddTestCase( re + ".exec == RegExp.prototype.exec", - true, - re.exec == RegExp.prototype.exec ); - - // properties - - AddTestCase( re + ".source", - s, - re.source ); - -/* - * http://bugzilla.mozilla.org/show_bug.cgi?id=225550 changed - * the behavior of toString() and toSource() on empty regexps. - * So branch if |s| is the empty string - - */ - var S = s? s : '(?:)'; - - AddTestCase( re + ".toString()", - "/" + S +"/" + (g?"g":"") + (i?"i":"") +(m?"m":""), - re.toString() ); - - AddTestCase( re + ".global", - g, - re.global ); - - AddTestCase( re + ".ignoreCase", - i, - re.ignoreCase ); - - AddTestCase( re + ".multiline", - m, - re.multiline); - - AddTestCase( re + ".lastIndex", - l, - re.lastIndex ); -} diff --git a/js/src/tests/ecma_2/RegExp/properties-002.js b/js/src/tests/ecma_2/RegExp/properties-002.js deleted file mode 100644 index 596dce522ece..000000000000 --- a/js/src/tests/ecma_2/RegExp/properties-002.js +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/properties-002.js - * ECMA Section: 15.7.6.js - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -//----------------------------------------------------------------------------- -var SECTION = "RegExp/properties-002.js"; -var TITLE = "Properties of RegExp Instances"; -var BUGNUMBER ="124339"; - -printBugNumber(BUGNUMBER); - -re_1 = /\cA?/g; -re_1.lastIndex = Math.pow(2,31); -AddRegExpCases( re_1, "\\cA?", true, false, false, Math.pow(2,31) ); - -re_2 = /\w*/i; -re_2.lastIndex = Math.pow(2,32) -1; -AddRegExpCases( re_2, "\\w*", false, true, false, Math.pow(2,32)-1 ); - -re_3 = /\*{0,80}/m; -re_3.lastIndex = Math.pow(2,31) -1; -AddRegExpCases( re_3, "\\*{0,80}", false, false, true, Math.pow(2,31) -1 ); - -re_4 = /^./gim; -re_4.lastIndex = Math.pow(2,30) -1; -AddRegExpCases( re_4, "^.", true, true, true, Math.pow(2,30) -1 ); - -re_5 = /\B/; -re_5.lastIndex = Math.pow(2,30); -AddRegExpCases( re_5, "\\B", false, false, false, Math.pow(2,30) ); - -/* - * Brendan: "need to test cases Math.pow(2,32) and greater to see - * whether they round-trip." Reason: thanks to the work done in - * http://bugzilla.mozilla.org/show_bug.cgi?id=124339, lastIndex - * is now stored as a double instead of a uint32_t (unsigned integer). - * - * Note 2^32 -1 is the upper bound for uint32's, but doubles can go - * all the way up to Number.MAX_VALUE. So that's why we need cases - * between those two numbers. - * - */ -re_6 = /\B/; -re_6.lastIndex = Math.pow(2,32); -AddRegExpCases( re_6, "\\B", false, false, false, Math.pow(2,32) ); - -re_7 = /\B/; -re_7.lastIndex = Math.pow(2,32) + 1; -AddRegExpCases( re_7, "\\B", false, false, false, Math.pow(2,32) + 1 ); - -re_8 = /\B/; -re_8.lastIndex = Math.pow(2,32) * 2; -AddRegExpCases( re_8, "\\B", false, false, false, Math.pow(2,32) * 2 ); - -re_9 = /\B/; -re_9.lastIndex = Math.pow(2,40); -AddRegExpCases( re_9, "\\B", false, false, false, Math.pow(2,40) ); - -re_10 = /\B/; -re_10.lastIndex = Number.MAX_VALUE; -AddRegExpCases( re_10, "\\B", false, false, false, Number.MAX_VALUE ); - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -function AddRegExpCases( re, s, g, i, m, l ){ - - AddTestCase( re + ".test == RegExp.prototype.test", - true, - re.test == RegExp.prototype.test ); - - AddTestCase( re + ".toString == RegExp.prototype.toString", - true, - re.toString == RegExp.prototype.toString ); - - AddTestCase( re + ".contructor == RegExp.prototype.constructor", - true, - re.constructor == RegExp.prototype.constructor ); - - AddTestCase( re + ".compile == RegExp.prototype.compile", - true, - re.compile == RegExp.prototype.compile ); - - AddTestCase( re + ".exec == RegExp.prototype.exec", - true, - re.exec == RegExp.prototype.exec ); - - // properties - - AddTestCase( re + ".source", - s, - re.source ); - - AddTestCase( re + ".toString()", - "/" + s +"/" + (g?"g":"") + (i?"i":"") +(m?"m":""), - re.toString() ); - - AddTestCase( re + ".global", - g, - re.global ); - - AddTestCase( re + ".ignoreCase", - i, - re.ignoreCase ); - - AddTestCase( re + ".multiline", - m, - re.multiline); - - AddTestCase( re + ".lastIndex", - l, - re.lastIndex ); -} diff --git a/js/src/tests/ecma_2/RegExp/regexp-enumerate-001.js b/js/src/tests/ecma_2/RegExp/regexp-enumerate-001.js deleted file mode 100644 index a12bd4589a6f..000000000000 --- a/js/src/tests/ecma_2/RegExp/regexp-enumerate-001.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: regexp-enumerate-001.js - ECMA V2 Section: - Description: Regression Test. - - If instance Native Object have properties that are enumerable, - JavaScript enumerated through the properties twice. This only - happened if objects had been instantiated, but their properties - had not been enumerated. ie, the object inherited properties - from its prototype that are enumerated. - - In the core JavaScript, this is only a problem with RegExp - objects, since the inherited properties of most core JavaScript - objects are not enumerated. - - Author: christine@netscape.com, pschwartau@netscape.com - Date: 12 November 1997 - Modified: 14 July 2002 - Reason: See http://bugzilla.mozilla.org/show_bug.cgi?id=155291 - ECMA-262 Ed.3 Sections 15.10.7.1 through 15.10.7.5 - RegExp properties should be DontEnum - * - */ -// onerror = err; - -var SECTION = "regexp-enumerate-001"; -var TITLE = "Regression Test for Enumerating Properties"; - -var BUGNUMBER="339403"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -/* - * This test expects RegExp instances to have four enumerated properties: - * source, global, ignoreCase, and lastIndex - * - * 99.01.25: now they also have a multiLine instance property. - * - */ - - -var r = new RegExp(); - -var e = new Array(); - -var t = new TestRegExp(); - -for ( p in r ) { e[e.length] = { property:p, value:r[p] }; t.addProperty( p, r[p]) }; - -new TestCase( "r = new RegExp(); e = new Array(); "+ - "for ( p in r ) { e[e.length] = { property:p, value:r[p] }; e.length", - 0, - e.length ); - -test(); - -function TestRegExp() { - this.addProperty = addProperty; -} -function addProperty(name, value) { - var pass = false; - - if ( eval("this."+name) != void 0 ) { - pass = true; - } else { - eval( "this."+ name+" = "+ false ); - } - - new TestCase( "Property: " + name +" already enumerated?", - false, - pass ); -} diff --git a/js/src/tests/ecma_2/RegExp/regress-001.js b/js/src/tests/ecma_2/RegExp/regress-001.js deleted file mode 100644 index 163a7a366bfe..000000000000 --- a/js/src/tests/ecma_2/RegExp/regress-001.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/regress-001.js - * ECMA Section: N/A - * Description: Regression test case: - * JS regexp anchoring on empty match bug - * http://bugzilla.mozilla.org/show_bug.cgi?id=2157 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/hex-001.js"; -var TITLE = "JS regexp anchoring on empty match bug"; -var BUGNUMBER = "2157"; - -printBugNumber(BUGNUMBER); - -AddRegExpCases( /a||b/.exec(''), - "/a||b/.exec('')", - 1, - [''] ); - -test(); - -function AddRegExpCases( regexp, str_regexp, length, matches_array ) { - - AddTestCase( - "( " + str_regexp + " ).length", - regexp.length, - regexp.length ); - - - for ( var matches = 0; matches < matches_array.length; matches++ ) { - AddTestCase( - "( " + str_regexp + " )[" + matches +"]", - matches_array[matches], - regexp[matches] ); - } -} diff --git a/js/src/tests/ecma_2/RegExp/unicode-001.js b/js/src/tests/ecma_2/RegExp/unicode-001.js deleted file mode 100644 index a24cd8be24c5..000000000000 --- a/js/src/tests/ecma_2/RegExp/unicode-001.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/unicode-001.js - * ECMA Section: 15.7.3.1 - * Description: Based on ECMA 2 Draft 7 February 1999 - * Positive test cases for constructing a RegExp object - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/unicode-001.js"; -var TITLE = "new RegExp( pattern, flags )"; - - -// These examples come from 15.7.1, UnicodeEscapeSequence - -AddRegExpCases( /\u0041/, "/\\u0041/", "A", "A", 1, 0, ["A"] ); -AddRegExpCases( /\u00412/, "/\\u00412/", "A2", "A2", 1, 0, ["A2"] ); -AddRegExpCases( /\u00412/, "/\\u00412/", "A2", "A2", 1, 0, ["A2"] ); -AddRegExpCases( /\u001g/, "/\\u001g/", "u001g", "u001g", 1, 0, ["u001g"] ); - -AddRegExpCases( /A/, "/A/", "\u0041", "\\u0041", 1, 0, ["A"] ); -AddRegExpCases( /A/, "/A/", "\u00412", "\\u00412", 1, 0, ["A"] ); -AddRegExpCases( /A2/, "/A2/", "\u00412", "\\u00412", 1, 0, ["A2"]); -AddRegExpCases( /A/, "/A/", "A2", "A2", 1, 0, ["A"] ); - -test(); - -function AddRegExpCases( - regexp, str_regexp, pattern, str_pattern, length, index, matches_array ) { - - AddTestCase( - str_regexp + " .exec(" + str_pattern +").length", - length, - regexp.exec(pattern).length ); - - AddTestCase( - str_regexp + " .exec(" + str_pattern +").index", - index, - regexp.exec(pattern).index ); - - AddTestCase( - str_regexp + " .exec(" + str_pattern +").input", - pattern, - regexp.exec(pattern).input ); - - for ( var matches = 0; matches < matches_array.length; matches++ ) { - AddTestCase( - str_regexp + " .exec(" + str_pattern +")[" + matches +"]", - matches_array[matches], - regexp.exec(pattern)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-001.js b/js/src/tests/ecma_2/Statements/dowhile-001.js deleted file mode 100644 index 6efb335478b3..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-001.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-001 - * ECMA Section: - * Description: do...while statements - * - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "dowhile-002"; -var TITLE = "do...while with a labeled continue statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -LabeledContinue( 0, 1 ); -LabeledContinue( 1, 1 ); -LabeledContinue( -1, 1 ); -LabeledContinue( 5, 5 ); - -test(); - -function LabeledContinue( limit, expect ) { - i = 0; -woohoo: - do { - i++; - continue woohoo; - } while ( i < limit ); - - new TestCase( - "do while ( " + i +" < " + limit +" )", - expect, - i ); -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-002.js b/js/src/tests/ecma_2/Statements/dowhile-002.js deleted file mode 100644 index af8011cd5ac0..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-002.js +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-002 - * ECMA Section: - * Description: do...while statements - * - * Verify that code after a labeled break is not executed. Verify that - * a labeled break breaks you out of the whole labeled block, and not - * just the current iteration statement. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "dowhile-002"; -var TITLE = "do...while with a labeled continue statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -LabeledContinue( 0, 1 ); -LabeledContinue( 1, 1 ); -LabeledContinue( -1, 1 ); -LabeledContinue( 5, 5 ); - -test(); - -// The labeled statement contains statements after the labeled break. -// Verify that the statements after the break are not executed. - -function LabeledContinue( limit, expect ) { - i = 0; - result1 = "pass"; - result2 = "pass"; - -woohoo: { - do { - i++; - if ( ! (i < limit) ) { - break woohoo; - result1 = "fail: evaluated statement after a labeled break"; - } - } while ( true ); - - result2 = "failed: broke out of loop, but not out of labeled block"; - } - - new TestCase( - "do while ( " + i +" < " + limit +" )", - expect, - i ); - - new TestCase( - "breaking out of a do... while loop", - "pass", - result1 ); - - - new TestCase( - "breaking out of a labeled do...while loop", - "pass", - result2 ); -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-003.js b/js/src/tests/ecma_2/Statements/dowhile-003.js deleted file mode 100644 index e8247dc19795..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-003.js +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-003 - * ECMA Section: - * Description: do...while statements - * - * Test do while, when the while expression is a JavaScript Number object. - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "dowhile-003"; -var TITLE = "do...while with a labeled continue statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile( new DoWhileObject( 1, 1, 0 )); -DoWhile( new DoWhileObject( 1000, 1000, 0 )); -DoWhile( new DoWhileObject( 1001, 1001, 0 )); -DoWhile( new DoWhileObject( 1002, 1001, 1 )); -DoWhile( new DoWhileObject( -1, 1001, -1002 )); - -test(); - -function DoWhileObject( value, iterations, endvalue ) { - this.value = value; - this.iterations = iterations; - this.endvalue = endvalue; -} - -function DoWhile( object ) { - var i = 0; - - do { - object.value = --object.value; - i++; - if ( i > 1000 ) - break; - } while( object.value ); - - new TestCase( - "loop iterations", - object.iterations, - i - ); - - new TestCase( - "object.value", - object.endvalue, - Number( object.value ) - ); - -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-004.js b/js/src/tests/ecma_2/Statements/dowhile-004.js deleted file mode 100644 index 3de8c5548a69..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-004.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-004 - * ECMA Section: - * Description: do...while statements - * - * Test a labeled do...while. Break out of the loop with no label - * should break out of the loop, but not out of the label. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "dowhile-004"; -var TITLE = "do...while with a labeled continue statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile( 0, 1 ); -DoWhile( 1, 1 ); -DoWhile( -1, 1 ); -DoWhile( 5, 5 ); - -test(); - -function DoWhile( limit, expect ) { - i = 0; - result1 = "pass"; - result2 = "failed: broke out of labeled statement unexpectedly"; - -foo: { - do { - i++; - if ( ! (i < limit) ) { - break; - result1 = "fail: evaluated statement after a labeled break"; - } - } while ( true ); - - result2 = "pass"; - } - - new TestCase( - "do while ( " + i +" < " + limit +" )", - expect, - i ); - - new TestCase( - "breaking out of a do... while loop", - "pass", - result1 ); - - - new TestCase( - "breaking out of a labeled do...while loop", - "pass", - result2 ); -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-005.js b/js/src/tests/ecma_2/Statements/dowhile-005.js deleted file mode 100644 index aafe6ec1b000..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-005.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-005 - * ECMA Section: - * Description: do...while statements - * - * Test a labeled do...while. Break out of the loop with no label - * should break out of the loop, but not out of the label. - * - * Currently causes an infinite loop in the monkey. Uncomment the - * print statement below and it works OK. - * - * Author: christine@netscape.com - * Date: 26 August 1998 - */ -var SECTION = "dowhile-005"; -var TITLE = "do...while with a labeled continue statement"; -var BUGNUMBER = "316293"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -NestedLabel(); - - -test(); - -function NestedLabel() { - i = 0; - result1 = "pass"; - result2 = "fail: did not hit code after inner loop"; - result3 = "pass"; - -outer: { - do { - inner: { -// print( i ); - break inner; - result1 = "fail: did break out of inner label"; - } - result2 = "pass"; - break outer; - print(i); - } while ( i++ < 100 ); - - } - - result3 = "fail: did not break out of outer label"; - - new TestCase( - "number of loop iterations", - 0, - i ); - - new TestCase( - "break out of inner loop", - "pass", - result1 ); - - new TestCase( - "break out of outer loop", - "pass", - result2 ); -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-006.js b/js/src/tests/ecma_2/Statements/dowhile-006.js deleted file mode 100644 index ef3e6c4bdfad..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-006.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-006 - * ECMA Section: - * Description: do...while statements - * - * A general do...while test. - * - * Author: christine@netscape.com - * Date: 26 August 1998 - */ -var SECTION = "dowhile-006"; -var TITLE = "do...while"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile( new DoWhileObject( false, false, 10 ) ); -DoWhile( new DoWhileObject( true, false, 2 ) ); -DoWhile( new DoWhileObject( false, true, 3 ) ); -DoWhile( new DoWhileObject( true, true, 4 ) ); - -test(); - -function looping( object ) { - object.iterations--; - - if ( object.iterations <= 0 ) { - return false; - } else { - return true; - } -} -function DoWhileObject( breakOut, breakIn, iterations, loops ) { - this.iterations = iterations; - this.loops = loops; - this.breakOut = breakOut; - this.breakIn = breakIn; - this.looping = looping; -} -function DoWhile( object ) { - var result1 = false; - var result2 = false; - -outie: { - innie: { - do { - if ( object.breakOut ) - break outie; - - if ( object.breakIn ) - break innie; - - } while ( looping(object) ); - - // statements should be executed if: - // do...while exits normally - // do...while exits abruptly with no label - - result1 = true; - - } - -// statements should be executed if: -// do...while breaks out with label "innie" -// do...while exits normally -// do...while does not break out with "outie" - - result2 = true; - } - - new TestCase( - "hit code after loop in inner loop", - ( object.breakIn || object.breakOut ) ? false : true , - result1 ); - - new TestCase( - "hit code after loop in outer loop", - ( object.breakOut ) ? false : true, - result2 ); -} diff --git a/js/src/tests/ecma_2/Statements/dowhile-007.js b/js/src/tests/ecma_2/Statements/dowhile-007.js deleted file mode 100644 index 71e1771b1398..000000000000 --- a/js/src/tests/ecma_2/Statements/dowhile-007.js +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: dowhile-007 - * ECMA Section: - * Description: do...while statements - * - * A general do...while test. - * - * Author: christine@netscape.com - * Date: 26 August 1998 - */ -var SECTION = "dowhile-007"; -var TITLE = "do...while"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile( new DoWhileObject( false, false, false, false )); -DoWhile( new DoWhileObject( true, false, false, false )); -DoWhile( new DoWhileObject( true, true, false, false )); -DoWhile( new DoWhileObject( true, true, true, false )); -DoWhile( new DoWhileObject( true, true, true, true )); -DoWhile( new DoWhileObject( false, false, false, true )); -DoWhile( new DoWhileObject( false, false, true, true )); -DoWhile( new DoWhileObject( false, true, true, true )); -DoWhile( new DoWhileObject( false, false, true, false )); - -test(); - -function DoWhileObject( out1, out2, out3, in1 ) { - this.breakOutOne = out1; - this.breakOutTwo = out2; - this.breakOutThree = out3; - this.breakIn = in1; -} -function DoWhile( object ) { - result1 = false; - result2 = false; - result3 = false; - result4 = false; - -outie: - do { - if ( object.breakOutOne ) { - break outie; - } - result1 = true; - - innie: - do { - if ( object.breakOutTwo ) { - break outie; - } - result2 = true; - - if ( object.breakIn ) { - break innie; - } - result3 = true; - - } while ( false ); - if ( object.breakOutThree ) { - break outie; - } - result4 = true; - } while ( false ); - - new TestCase( - "break one: ", - (object.breakOutOne) ? false : true, - result1 ); - - new TestCase( - "break two: ", - (object.breakOutOne||object.breakOutTwo) ? false : true, - result2 ); - - new TestCase( - "break three: ", - (object.breakOutOne||object.breakOutTwo||object.breakIn) ? false : true, - result3 ); - - new TestCase( - "break four: ", - (object.breakOutOne||object.breakOutTwo||object.breakOutThree) ? false: true, - result4 ); -} diff --git a/js/src/tests/ecma_2/Statements/forin-001.js b/js/src/tests/ecma_2/Statements/forin-001.js deleted file mode 100644 index e00629ab4690..000000000000 --- a/js/src/tests/ecma_2/Statements/forin-001.js +++ /dev/null @@ -1,275 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: forin-001.js - * ECMA Section: - * Description: The forin-001 statement - * - * Verify that the property name is assigned to the property on the left - * hand side of the for...in expression. - * - * Author: christine@netscape.com - * Date: 28 August 1998 - */ -var SECTION = "forin-001"; -var TITLE = "The for...in statement"; -var BUGNUMBER="330890"; -var BUGNUMBER="http://scopus.mcom.com/bugsplat/show_bug.cgi?id=344855"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -ForIn_1( { length:4, company:"netscape", year:2000, 0:"zero" } ); -ForIn_2( { length:4, company:"netscape", year:2000, 0:"zero" } ); -ForIn_3( { length:4, company:"netscape", year:2000, 0:"zero" } ); - -// ForIn_6({ length:4, company:"netscape", year:2000, 0:"zero" }); -// ForIn_7({ length:4, company:"netscape", year:2000, 0:"zero" }); -ForIn_8({ length:4, company:"netscape", year:2000, 0:"zero" }); - -test(); - -/** - * Verify that the left side argument is evaluated with every iteration. - * Verify that the name of each property of the object is assigned to a - * a property. - * - */ -function ForIn_1( object ) { - PropertyArray = new Array(); - ValueArray = new Array(); - - for ( PropertyArray[PropertyArray.length] in object ) { - ValueArray[ValueArray.length] = - object[PropertyArray[PropertyArray.length-1]]; - } - - for ( var i = 0; i < PropertyArray.length; i++ ) { - new TestCase( - "object[" + PropertyArray[i] +"]", - object[PropertyArray[i]], - ValueArray[i] - ); - } - - new TestCase( - "object.length", - PropertyArray.length, - object.length ); -} - -/** - * Similar to ForIn_1, except it should increment the counter variable - * every time the left hand expression is evaluated. - */ -function ForIn_2( object ) { - PropertyArray = new Array(); - ValueArray = new Array(); - var i = 0; - - for ( PropertyArray[i++] in object ) { - ValueArray[ValueArray.length] = - object[PropertyArray[PropertyArray.length-1]]; - } - - for ( i = 0; i < PropertyArray.length; i++ ) { - new TestCase( - "object[" + PropertyArray[i] +"]", - object[PropertyArray[i]], - ValueArray[i] - ); - } - - new TestCase( - "object.length", - PropertyArray.length, - object.length ); -} - -/** - * Break out of a for...in loop - * - * - */ -function ForIn_3( object ) { - var checkBreak = "pass"; - var properties = new Array(); - var values = new Array(); - - for ( properties[properties.length] in object ) { - values[values.length] = object[properties[properties.length-1]]; - break; - checkBreak = "fail"; - } - - new TestCase( - "check break out of for...in", - "pass", - checkBreak ); - - new TestCase( - "properties.length", - 1, - properties.length ); - - new TestCase( - "object["+properties[0]+"]", - values[0], - object[properties[0]] ); -} - -/** - * Break out of a labeled for...in loop. - */ -function ForIn_4( object ) { - var result1 = 0; - var result2 = 0; - var result3 = 0; - var result4 = 0; - var i = 0; - var property = new Array(); - -butterbean: { - result1++; - - for ( property[i++] in object ) { - result2++; - break; - result4++; - } - result3++; - } - - new TestCase( - "verify labeled statement is only executed once", - true, - result1 == 1 ); - - new TestCase( - "verify statements in for loop are evaluated", - true, - result2 == i ); - - new TestCase( - "verify break out of labeled for...in loop", - true, - result4 == 0 ); - - new TestCase( - "verify break out of labeled block", - true, - result3 == 0 ); -} - -/** - * Labeled break out of a labeled for...in loop. - */ -function ForIn_5 (object) { - var result1 = 0; - var result2 = 0; - var result3 = 0; - var result4 = 0; - var i = 0; - var property = new Array(); - -bigredbird: { - result1++; - for ( property[i++] in object ) { - result2++; - break bigredbird; - result4++; - } - result3++; - } - - new TestCase( - "verify labeled statement is only executed once", - true, - result1 == 1 ); - - new TestCase( - "verify statements in for loop are evaluated", - true, - result2 == i ); - - new TestCase( - "verify break out of labeled for...in loop", - true, - result4 == 0 ); - - new TestCase( - "verify break out of labeled block", - true, - result3 == 0 ); -} - -/** - * Labeled continue from a labeled for...in loop - */ -function ForIn_7( object ) { - var result1 = 0; - var result2 = 0; - var result3 = 0; - var result4 = 0; - var i = 0; - var property = new Array(); - -bigredbird: - for ( property[i++] in object ) { - result2++; - continue bigredbird; - result4++; - } - - new TestCase( - "verify statements in for loop are evaluated", - true, - result2 == i ); - - new TestCase( - "verify break out of labeled for...in loop", - true, - result4 == 0 ); - - new TestCase( - "verify break out of labeled block", - true, - result3 == 1 ); -} - - -/** - * continue in a for...in loop - * - */ -function ForIn_8( object ) { - var checkBreak = "pass"; - var properties = new Array(); - var values = new Array(); - - for ( properties[properties.length] in object ) { - values[values.length] = object[properties[properties.length-1]]; - break; - checkBreak = "fail"; - } - - new TestCase( - "check break out of for...in", - "pass", - checkBreak ); - - new TestCase( - "properties.length", - 1, - properties.length ); - - new TestCase( - "object["+properties[0]+"]", - values[0], - object[properties[0]] ); -} - diff --git a/js/src/tests/ecma_2/Statements/forin-002.js b/js/src/tests/ecma_2/Statements/forin-002.js deleted file mode 100644 index eacfa3e4eceb..000000000000 --- a/js/src/tests/ecma_2/Statements/forin-002.js +++ /dev/null @@ -1,73 +0,0 @@ -// |reftest| skip-if(Android) -- bug - nsIDOMWindow.crypto throws NS_ERROR_NOT_IMPLEMENTED on Android -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: forin-002.js - * ECMA Section: - * Description: The forin-001 statement - * - * Verify that the property name is assigned to the property on the left - * hand side of the for...in expression. - * - * Author: christine@netscape.com - * Date: 28 August 1998 - */ -var SECTION = "forin-002"; -var TITLE = "The for...in statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function MyObject( value ) { - this.value = value; - this.valueOf = new Function ( "return this.value" ); - this.toString = new Function ( "return this.value + \"\"" ); - this.toNumber = new Function ( "return this.value + 0" ); - this.toBoolean = new Function ( "return Boolean( this.value )" ); -} - -ForIn_1(this); -ForIn_2(this); - -ForIn_1(new MyObject(true)); -ForIn_2(new MyObject(new Boolean(true))); - -ForIn_2(3); - -test(); - -/** - * For ... In in a With Block - * - */ -function ForIn_1( object) { - with ( object ) { - for ( property in object ) { - new TestCase( - "with loop in a for...in loop. ("+object+")["+property +"] == "+ - "eval ( " + property +" )", - true, - object[property] == eval(property) ); - } - } -} - -/** - * With block in a For...In loop - * - */ -function ForIn_2(object) { - for ( property in object ) { - with ( object ) { - new TestCase( - "with loop in a for...in loop. ("+object+")["+property +"] == "+ - "eval ( " + property +" )", - true, - object[property] == eval(property) ); - } - } -} - diff --git a/js/src/tests/ecma_2/Statements/if-001.js b/js/src/tests/ecma_2/Statements/if-001.js deleted file mode 100644 index 1cd6c3bc6260..000000000000 --- a/js/src/tests/ecma_2/Statements/if-001.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: if-001.js - * ECMA Section: - * Description: The if statement - * - * Verify that assignment in the if expression is evaluated correctly. - * Verifies the fix for bug http://scopus/bugsplat/show_bug.cgi?id=148822. - * - * Author: christine@netscape.com - * Date: 28 August 1998 - */ -var SECTION = "for-001"; -var TITLE = "The if statement"; -var BUGNUMBER="148822"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var a = 0; -var b = 0; -var result = "passed"; - -if ( a = b ) { - result = "failed: a = b should return 0"; -} - -new TestCase( - "if ( a = b ), where a and b are both equal to 0", - "passed", - result ); - - -test(); - diff --git a/js/src/tests/ecma_2/Statements/label-001.js b/js/src/tests/ecma_2/Statements/label-001.js deleted file mode 100644 index bc88949de55f..000000000000 --- a/js/src/tests/ecma_2/Statements/label-001.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: label-001.js - * ECMA Section: - * Description: Labeled statements - * - * Labeled break and continue within a for loop. - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "label-003"; -var TITLE = "Labeled statements"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -LabelTest(0, 0); -LabelTest(1, 1) - LabelTest(-1, 1000); -LabelTest(false, 0); -LabelTest(true, 1); - -test(); - -function LabelTest( limit, expect) { -woo: for ( var result = 0; result < 1000; result++ ) { if (result == limit) { break woo; } else { continue woo; } }; - - new TestCase( - "break out of a labeled for loop: "+ limit, - expect, - result ); -} - diff --git a/js/src/tests/ecma_2/Statements/label-002.js b/js/src/tests/ecma_2/Statements/label-002.js deleted file mode 100644 index b070c1a646a0..000000000000 --- a/js/src/tests/ecma_2/Statements/label-002.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: label-002.js - * ECMA Section: - * Description: Labeled statements - * - * Labeled break and continue within a for-in loop. - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "label-002"; -var TITLE = "Labeled statements"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -LabelTest( { p1:"hi,", p2:" norris" }, "hi, norris", " norrishi," ); -LabelTest( { 0:"zero", 1:"one" }, "zeroone", "onezero" ); - -LabelTest2( { p1:"hi,", p2:" norris" }, "hi,", " norris" ); -LabelTest2( { 0:"zero", 1:"one" }, "zero", "one" ); - -test(); - -function LabelTest( object, expect1, expect2 ) { - result = ""; - -yoohoo: { for ( property in object ) { result += object[property]; }; break yoohoo }; - - new TestCase( - "yoohoo: for ( property in object ) { result += object[property]; } break yoohoo }", - true, - result == expect1 || result == expect2 ); -} - -function LabelTest2( object, expect1, expect2 ) { - result = ""; - -yoohoo: { for ( property in object ) { result += object[property]; break yoohoo } }; ; - - new TestCase( - "yoohoo: for ( property in object ) { result += object[property]; break yoohoo }}", - true, - result == expect1 || result == expect2 ); -} - diff --git a/js/src/tests/ecma_2/Statements/label-003.js b/js/src/tests/ecma_2/Statements/label-003.js deleted file mode 100644 index 934732949857..000000000000 --- a/js/src/tests/ecma_2/Statements/label-003.js +++ /dev/null @@ -1,15 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -// The colon for a labeled statement may be on a separate line. -var x; -label -: { - x = 1; - break label; - x = 2; -} -assertEq(x, 1); -reportCompare(0, 0, 'ok'); diff --git a/js/src/tests/ecma_2/Statements/switch-001.js b/js/src/tests/ecma_2/Statements/switch-001.js deleted file mode 100644 index 373dc5c72bde..000000000000 --- a/js/src/tests/ecma_2/Statements/switch-001.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: switch-001.js - * ECMA Section: - * Description: The switch Statement - * - * A simple switch test with no abrupt completions. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - */ -var SECTION = "switch-001"; -var TITLE = "The switch statement"; - -var BUGNUMBER="315767"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -SwitchTest( 0, 126 ); -SwitchTest( 1, 124 ); -SwitchTest( 2, 120 ); -SwitchTest( 3, 112 ); -SwitchTest( 4, 64 ); -SwitchTest( 5, 96 ); -SwitchTest( true, 96 ); -SwitchTest( false, 96 ); -SwitchTest( null, 96 ); -SwitchTest( void 0, 96 ); -SwitchTest( "0", 96 ); - -test(); - -function SwitchTest( input, expect ) { - var result = 0; - - switch ( input ) { - case 0: - result += 2; - case 1: - result += 4; - case 2: - result += 8; - case 3: - result += 16; - default: - result += 32; - case 4: - result +=64; - } - - new TestCase( - "switch with no breaks, case expressions are numbers. input is "+ - input, - expect, - result ); -} diff --git a/js/src/tests/ecma_2/Statements/switch-002.js b/js/src/tests/ecma_2/Statements/switch-002.js deleted file mode 100644 index e45a922bda25..000000000000 --- a/js/src/tests/ecma_2/Statements/switch-002.js +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: switch-002.js - * ECMA Section: - * Description: The switch Statement - * - * A simple switch test with no abrupt completions. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - */ -var SECTION = "switch-002"; -var TITLE = "The switch statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -SwitchTest( 0, 6 ); -SwitchTest( 1, 4 ); -SwitchTest( 2, 56 ); -SwitchTest( 3, 48 ); -SwitchTest( 4, 64 ); -SwitchTest( true, 32 ); -SwitchTest( false, 32 ); -SwitchTest( null, 32 ); -SwitchTest( void 0, 32 ); -SwitchTest( "0", 32 ); - -test(); - -function SwitchTest( input, expect ) { - var result = 0; - - switch ( input ) { - case 0: - result += 2; - case 1: - result += 4; - break; - case 2: - result += 8; - case 3: - result += 16; - default: - result += 32; - break; - case 4: - result += 64; - } - - new TestCase( - "switch with no breaks: input is " + input, - expect, - result ); -} diff --git a/js/src/tests/ecma_2/Statements/switch-003.js b/js/src/tests/ecma_2/Statements/switch-003.js deleted file mode 100644 index 8521cb019d32..000000000000 --- a/js/src/tests/ecma_2/Statements/switch-003.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: switch-003.js - * ECMA Section: - * Description: The switch Statement - * - * Attempt to verify that case statements are evaluated in source order - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - */ -var SECTION = "switch-003"; -var TITLE = "The switch statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -SwitchTest( "a", "abc" ); -SwitchTest( "b", "bc" ); -SwitchTest( "c", "c" ); -SwitchTest( "d", "*abc" ); -SwitchTest( "v", "*abc" ); -SwitchTest( "w", "w*abc" ); -SwitchTest( "x", "xw*abc" ); -SwitchTest( "y", "yxw*abc" ); -SwitchTest( "z", "zyxw*abc" ); -// SwitchTest( new java.lang.String("z"), "*abc" ); - -test(); - -function SwitchTest( input, expect ) { - var result = ""; - - switch ( input ) { - case "z": result += "z"; - case "y": result += "y"; - case "x": result += "x"; - case "w": result += "w"; - default: result += "*"; - case "a": result += "a"; - case "b": result += "b"; - case "c": result += "c"; - } - - new TestCase( - "switch with no breaks: input is " + input, - expect, - result ); -} diff --git a/js/src/tests/ecma_2/Statements/switch-004.js b/js/src/tests/ecma_2/Statements/switch-004.js deleted file mode 100644 index 3af28d3583b4..000000000000 --- a/js/src/tests/ecma_2/Statements/switch-004.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: switch-003.js - * ECMA Section: - * Description: The switch Statement - * - * This uses variables and objects as case expressions in switch statements. - * This verifies a bunch of bugs: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=315988 - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=315975 - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=315954 - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - */ -var SECTION = "switch-003"; -var TITLE = "The switch statement"; -var BUGNUMBER= "315988"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -ONE = new Number(1); -ZERO = new Number(0); -var A = new String("A"); -var B = new String("B"); -TRUE = new Boolean( true ); -FALSE = new Boolean( false ); -UNDEFINED = void 0; -NULL = null; - -SwitchTest( ZERO, "ZERO" ); -SwitchTest( NULL, "NULL" ); -SwitchTest( UNDEFINED, "UNDEFINED" ); -SwitchTest( FALSE, "FALSE" ); -SwitchTest( false, "false" ); -SwitchTest( 0, "0" ); - -SwitchTest ( TRUE, "TRUE" ); -SwitchTest( 1, "1" ); -SwitchTest( ONE, "ONE" ); -SwitchTest( true, "true" ); - -SwitchTest( "a", "a" ); -SwitchTest( A, "A" ); -SwitchTest( "b", "b" ); -SwitchTest( B, "B" ); - -SwitchTest( new Boolean( true ), "default" ); -SwitchTest( new Boolean(false ), "default" ); -SwitchTest( new String( "A" ), "default" ); -SwitchTest( new Number( 0 ), "default" ); - -test(); - -function SwitchTest( input, expect ) { - var result = ""; - - switch ( input ) { - default: result += "default"; break; - case "a": result += "a"; break; - case "b": result += "b"; break; - case A: result += "A"; break; - case B: result += "B"; break; - case new Boolean(true): result += "new TRUE"; break; - case new Boolean(false): result += "new FALSE"; break; - case NULL: result += "NULL"; break; - case UNDEFINED: result += "UNDEFINED"; break; - case true: result += "true"; break; - case false: result += "false"; break; - case TRUE: result += "TRUE"; break; - case FALSE: result += "FALSE"; break; - case 0: result += "0"; break; - case 1: result += "1"; break; - case new Number(0) : result += "new ZERO"; break; - case new Number(1) : result += "new ONE"; break; - case ONE: result += "ONE"; break; - case ZERO: result += "ZERO"; break; - } - - new TestCase( - "switch with no breaks: input is " + input, - expect, - result ); -} diff --git a/js/src/tests/ecma_2/Statements/try-001.js b/js/src/tests/ecma_2/Statements/try-001.js deleted file mode 100644 index 7f363095dfe2..000000000000 --- a/js/src/tests/ecma_2/Statements/try-001.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-001.js - * ECMA Section: - * Description: The try statement - * - * This test contains try, catch, and finally blocks. An exception is - * sometimes thrown by a function called from within the try block. - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = ""; -var TITLE = "The try statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var INVALID_JAVA_INTEGER_VALUE = "Invalid value for java.lang.Integer constructor"; - -TryNewJavaInteger( "3.14159", INVALID_JAVA_INTEGER_VALUE ); -TryNewJavaInteger( NaN, INVALID_JAVA_INTEGER_VALUE ); -TryNewJavaInteger( 0, 0 ); -TryNewJavaInteger( -1, -1 ); -TryNewJavaInteger( 1, 1 ); -TryNewJavaInteger( Infinity, Infinity ); - -test(); - -/** - * Check to see if the input is valid for java.lang.Integer. If it is - * not valid, throw INVALID_JAVA_INTEGER_VALUE. If input is valid, - * return Number( v ) - * - */ - -function newJavaInteger( v ) { - value = Number( v ); - if ( Math.floor(value) != value || isNaN(value) ) { - throw ( INVALID_JAVA_INTEGER_VALUE ); - } else { - return value; - } -} - -/** - * Call newJavaInteger( value ) from within a try block. Catch any - * exception, and store it in result. Verify that we got the right - * return value from newJavaInteger in cases in which we do not expect - * exceptions, and that we got the exception in cases where an exception - * was expected. - */ -function TryNewJavaInteger( value, expect ) { - var finalTest = false; - - try { - result = newJavaInteger( value ); - } catch ( e ) { - result = String( e ); - } finally { - finalTest = true; - } - new TestCase( - "newJavaValue( " + value +" )", - expect, - result); - - new TestCase( - "newJavaValue( " + value +" ) hit finally block", - true, - finalTest); - -} - diff --git a/js/src/tests/ecma_2/Statements/try-003.js b/js/src/tests/ecma_2/Statements/try-003.js deleted file mode 100644 index 0596f79897e5..000000000000 --- a/js/src/tests/ecma_2/Statements/try-003.js +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-003.js - * ECMA Section: - * Description: The try statement - * - * This test has a try with no catch, and a finally. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-003"; -var TITLE = "The try statement"; -var BUGNUMBER="http://scopus.mcom.com/bugsplat/show_bug.cgi?id=313585"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -// Tests start here. - -TrySomething( "x = \"hi\"", false ); -TrySomething( "throw \"boo\"", true ); -TrySomething( "throw 3", true ); - -test(); - -/** - * This function contains a try block with no catch block, - * but it does have a finally block. Try to evaluate expressions - * that do and do not throw exceptions. - */ - -function TrySomething( expression, throwing ) { - innerFinally = "FAIL: DID NOT HIT INNER FINALLY BLOCK"; - if (throwing) { - outerCatch = "FAILED: NO EXCEPTION CAUGHT"; - } else { - outerCatch = "PASS"; - } - outerFinally = "FAIL: DID NOT HIT OUTER FINALLY BLOCK"; - - try { - try { - eval( expression ); - } finally { - innerFinally = "PASS"; - } - } catch ( e ) { - if (throwing) { - outerCatch = "PASS"; - } else { - outerCatch = "FAIL: HIT OUTER CATCH BLOCK"; - } - } finally { - outerFinally = "PASS"; - } - - - new TestCase( - "eval( " + expression +" )", - "PASS", - innerFinally ); - new TestCase( - "eval( " + expression +" )", - "PASS", - outerCatch ); - new TestCase( - "eval( " + expression +" )", - "PASS", - outerFinally ); - - -} diff --git a/js/src/tests/ecma_2/Statements/try-004.js b/js/src/tests/ecma_2/Statements/try-004.js deleted file mode 100644 index 76ab6e2c8eb6..000000000000 --- a/js/src/tests/ecma_2/Statements/try-004.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-004.js - * ECMA Section: - * Description: The try statement - * - * This test has a try with one catch block but no finally. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-004"; -var TITLE = "The try statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -TryToCatch( "Math.PI", Math.PI ); -TryToCatch( "Thrower(5)", "Caught 5" ); -TryToCatch( "Thrower(\"some random exception\")", "Caught some random exception" ); - -test(); - -function Thrower( v ) { - throw "Caught " + v; -} - -/** - * Evaluate a string. Catch any exceptions thrown. If no exception is - * expected, verify the result of the evaluation. If an exception is - * expected, verify that we got the right exception. - */ - -function TryToCatch( value, expect ) { - try { - result = eval( value ); - } catch ( e ) { - result = e; - } - - new TestCase( - "eval( " + value +" )", - expect, - result ); -} - - diff --git a/js/src/tests/ecma_2/Statements/try-005.js b/js/src/tests/ecma_2/Statements/try-005.js deleted file mode 100644 index e13398cb7c35..000000000000 --- a/js/src/tests/ecma_2/Statements/try-005.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-005.js - * ECMA Section: - * Description: The try statement - * - * This test has a try with one catch block but no finally. Same - * as try-004, but the eval statement is called from a function, not - * directly from within the try block. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-005"; -var TITLE = "The try statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -TryToCatch( "Math.PI", Math.PI ); -TryToCatch( "Thrower(5)", "Caught 5" ); -TryToCatch( "Thrower(\"some random exception\")", "Caught some random exception" ); - -test(); - -function Thrower( v ) { - throw "Caught " + v; -} -function Eval( v ) { - return eval( v ); -} - -/** - * Evaluate a string. Catch any exceptions thrown. If no exception is - * expected, verify the result of the evaluation. If an exception is - * expected, verify that we got the right exception. - */ - -function TryToCatch( value, expect ) { - try { - result = Eval( value ); - } catch ( e ) { - result = e; - } - - new TestCase( - "eval( " + value +" )", - expect, - result ); -} diff --git a/js/src/tests/ecma_2/Statements/try-006.js b/js/src/tests/ecma_2/Statements/try-006.js deleted file mode 100644 index 2995591df913..000000000000 --- a/js/src/tests/ecma_2/Statements/try-006.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-006.js - * ECMA Section: - * Description: The try statement - * - * Throw an exception from within a With block in a try block. Verify - * that any expected exceptions are caught. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-006"; -var TITLE = "The try statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -/** - * This is the "check" function for test objects that will - * throw an exception. - */ -function throwException() { - throw EXCEPTION_STRING +": " + this.valueOf(); -} -var EXCEPTION_STRING = "Exception thrown:"; - -/** - * This is the "check" function for test objects that do not - * throw an exception - */ -function noException() { - return this.valueOf(); -} - -/** - * Add test cases here - */ -TryWith( new TryObject( "hello", throwException, true )); -TryWith( new TryObject( "hola", noException, false )); - -/** - * Run the test. - */ - -test(); - -/** - * This is the object that will be the "this" in a with block. - */ -function TryObject( value, fun, exception ) { - this.value = value; - this.exception = exception; - - this.valueOf = new Function ( "return this.value" ); - this.check = fun; -} - -/** - * This function has the try block that has a with block within it. - * Test cases are added in this function. Within the with block, the - * object's "check" function is called. If the test object's exception - * property is true, we expect the result to be the exception value. - * If exception is false, then we expect the result to be the value of - * the object. - */ -function TryWith( object ) { - try { - with ( object ) { - result = check(); - } - } catch ( e ) { - result = e; - } - - new TestCase( - "TryWith( " + object.value +" )", - (object.exception ? EXCEPTION_STRING +": " + object.valueOf() : object.valueOf()), - result ); -} diff --git a/js/src/tests/ecma_2/Statements/try-007.js b/js/src/tests/ecma_2/Statements/try-007.js deleted file mode 100644 index 7aadc7a56bb7..000000000000 --- a/js/src/tests/ecma_2/Statements/try-007.js +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-007.js - * ECMA Section: - * Description: The try statement - * - * This test has a for-in statement within a try block. - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-007"; -var TITLE = "The try statement: for-in"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -/** - * This is the "check" function for test objects that will - * throw an exception. - */ -function throwException() { - throw EXCEPTION_STRING +": " + this.valueOf(); -} -var EXCEPTION_STRING = "Exception thrown:"; - -/** - * This is the "check" function for test objects that do not - * throw an exception - */ -function noException() { - return this.valueOf(); -} - -/** - * Add test cases here - */ -TryForIn( new TryObject( "hello", throwException, true )); -TryForIn( new TryObject( "hola", noException, false )); - -/** - * Run the test. - */ - -test(); - -/** - * This is the object that will be the "this" in a with block. - * The check function is either throwException() or noException(). - * See above. - * - */ -function TryObject( value, fun, exception ) { - this.value = value; - this.exception = exception; - - this.check = fun; - this.valueOf = function () { return this.value; } -} - -/** - * This function has a for-in statement within a try block. Test cases - * are added after the try-catch-finally statement. Within the for-in - * block, call a function that can throw an exception. Verify that any - * exceptions are properly caught. - */ - -function TryForIn( object ) { - try { - for ( p in object ) { - if ( typeof object[p] == "function" ) { - result = object[p](); - } - } - } catch ( e ) { - result = e; - } - - new TestCase( - "TryForIn( " + object+ " )", - (object.exception ? EXCEPTION_STRING +": " + object.value : object.value), - result ); - -} diff --git a/js/src/tests/ecma_2/Statements/try-008.js b/js/src/tests/ecma_2/Statements/try-008.js deleted file mode 100644 index 7d546ebaa45d..000000000000 --- a/js/src/tests/ecma_2/Statements/try-008.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-008.js - * ECMA Section: - * Description: The try statement - * - * This test has a try block in a constructor. - * - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-008"; -var TITLE = "The try statement: try in a constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Integer( value, exception ) { - try { - this.value = checkValue( value ); - } catch ( e ) { - this.value = e.toString(); - } - - new TestCase( - "Integer( " + value +" )", - (exception ? INVALID_INTEGER_VALUE +": " + value : this.value), - this.value ); -} - -var INVALID_INTEGER_VALUE = "Invalid value for java.lang.Integer constructor"; - -function checkValue( value ) { - if ( Math.floor(value) != value || isNaN(value) ) { - throw ( INVALID_INTEGER_VALUE +": " + value ); - } else { - return value; - } -} - -// add test cases - -new Integer( 3, false ); -new Integer( NaN, true ); -new Integer( 0, false ); -new Integer( Infinity, false ); -new Integer( -2.12, true ); -new Integer( Math.LN2, true ); - - -test(); diff --git a/js/src/tests/ecma_2/Statements/try-009.js b/js/src/tests/ecma_2/Statements/try-009.js deleted file mode 100644 index db4bdad52b71..000000000000 --- a/js/src/tests/ecma_2/Statements/try-009.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-009.js - * ECMA Section: - * Description: The try statement - * - * This test has a try block within a while block. Verify that an exception - * breaks out of the while. I don't really know why this is an interesting - * test case but Mike Shaver had two of these so what the hey. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-009"; -var TITLE = "The try statement: try in a while block"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var EXCEPTION_STRING = "Exception thrown: "; -var NO_EXCEPTION_STRING = "No exception thrown: "; - - -TryInWhile( new TryObject( "hello", ThrowException, true ) ); -TryInWhile( new TryObject( "aloha", NoException, false )); - -test(); - -function TryObject( value, throwFunction, result ) { - this.value = value; - this.thrower = throwFunction; - this.result = result; -} -function ThrowException() { - throw EXCEPTION_STRING + this.value; -} -function NoException() { - return NO_EXCEPTION_STRING + this.value; -} -function TryInWhile( object ) { - result = null; - while ( true ) { - try { - object.thrower(); - result = NO_EXCEPTION_STRING + object.value; - break; - } catch ( e ) { - result = e; - break; - } - } - - new TestCase( - "( "+ object +".thrower() )", - (object.result - ? EXCEPTION_STRING + object.value : - NO_EXCEPTION_STRING + object.value), - result ); -} diff --git a/js/src/tests/ecma_2/Statements/try-010.js b/js/src/tests/ecma_2/Statements/try-010.js deleted file mode 100644 index 53dc2912316f..000000000000 --- a/js/src/tests/ecma_2/Statements/try-010.js +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-010.js - * ECMA Section: - * Description: The try statement - * - * This has a try block nested in the try block. Verify that the - * exception is caught by the right try block, and all finally blocks - * are executed. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-010"; -var TITLE = "The try statement: try in a tryblock"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var EXCEPTION_STRING = "Exception thrown: "; -var NO_EXCEPTION_STRING = "No exception thrown: "; - - -NestedTry( new TryObject( "No Exceptions Thrown", NoException, NoException, 43 ) ); -NestedTry( new TryObject( "Throw Exception in Outer Try", ThrowException, NoException, 48 )); -NestedTry( new TryObject( "Throw Exception in Inner Try", NoException, ThrowException, 45 )); -NestedTry( new TryObject( "Throw Exception in Both Trys", ThrowException, ThrowException, 48 )); - -test(); - -function TryObject( description, tryOne, tryTwo, result ) { - this.description = description; - this.tryOne = tryOne; - this.tryTwo = tryTwo; - this.result = result; -} -function ThrowException() { - throw EXCEPTION_STRING + this.value; -} -function NoException() { - return NO_EXCEPTION_STRING + this.value; -} -function NestedTry( object ) { - result = 0; - try { - object.tryOne(); - result += 1; - try { - object.tryTwo(); - result += 2; - } catch ( e ) { - result +=4; - } finally { - result += 8; - } - } catch ( e ) { - result += 16; - } finally { - result += 32; - } - - new TestCase( - object.description, - object.result, - result ); -} diff --git a/js/src/tests/ecma_2/Statements/try-012.js b/js/src/tests/ecma_2/Statements/try-012.js deleted file mode 100644 index 400c6fae20b0..000000000000 --- a/js/src/tests/ecma_2/Statements/try-012.js +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: try-012.js - * ECMA Section: - * Description: The try statement - * - * This test has a try with no catch, and a finally. This is like try-003, - * but throws from a finally block, not the try block. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "try-012"; -var TITLE = "The try statement"; -var BUGNUMBER="336872"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -// Tests start here. - -TrySomething( "x = \"hi\"", true ); -TrySomething( "throw \"boo\"", true ); -TrySomething( "throw 3", true ); - -test(); - -/** - * This function contains a try block with no catch block, - * but it does have a finally block. Try to evaluate expressions - * that do and do not throw exceptions. - * - * The productioni TryStatement Block Finally is evaluated as follows: - * 1. Evaluate Block - * 2. Evaluate Finally - * 3. If Result(2).type is normal return result 1 (in the test case, result 1 has - * the completion type throw) - * 4. return result 2 (does not get hit in this case) - * - */ - -function TrySomething( expression, throwing ) { - innerFinally = "FAIL: DID NOT HIT INNER FINALLY BLOCK"; - if (throwing) { - outerCatch = "FAILED: NO EXCEPTION CAUGHT"; - } else { - outerCatch = "PASS"; - } - outerFinally = "FAIL: DID NOT HIT OUTER FINALLY BLOCK"; - - - // If the inner finally does not throw an exception, the result - // of the try block should be returned. (Type of inner return - // value should be throw if finally executes correctly - - try { - try { - throw 0; - } finally { - innerFinally = "PASS"; - eval( expression ); - } - } catch ( e ) { - if (throwing) { - outerCatch = "PASS"; - } else { - outerCatch = "FAIL: HIT OUTER CATCH BLOCK"; - } - } finally { - outerFinally = "PASS"; - } - - - new TestCase( - "eval( " + expression +" ): evaluated inner finally block", - "PASS", - innerFinally ); - new TestCase( - "eval( " + expression +" ): evaluated outer catch block ", - "PASS", - outerCatch ); - new TestCase( - "eval( " + expression +" ): evaluated outer finally block", - "PASS", - outerFinally ); -} diff --git a/js/src/tests/ecma_2/Statements/while-001.js b/js/src/tests/ecma_2/Statements/while-001.js deleted file mode 100644 index 2a18a26f0aab..000000000000 --- a/js/src/tests/ecma_2/Statements/while-001.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: while-001 - * ECMA Section: - * Description: while statement - * - * Verify that the while statement is not executed if the while expression is - * false - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "while-001"; -var TITLE = "while statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile(); -test(); - -function DoWhile() { - result = "pass"; - - while (false) { - result = "fail"; - break; - } - - new TestCase( - "while statement: don't evaluate statement is expression is false", - "pass", - result ); - -} diff --git a/js/src/tests/ecma_2/Statements/while-002.js b/js/src/tests/ecma_2/Statements/while-002.js deleted file mode 100644 index e900606933a4..000000000000 --- a/js/src/tests/ecma_2/Statements/while-002.js +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: while-002 - * ECMA Section: - * Description: while statement - * - * Verify that the while statement is not executed if the while expression is - * false - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "while-002"; -var TITLE = "while statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile( new DoWhileObject( - "while expression is null", - null, - "result = \"fail: should not have evaluated statements in while block;break" - ) ); - -DoWhile( new DoWhileObject( - "while expression is undefined", - void 0, - "result = \"fail: should not have evaluated statements in while block; break" - )); - -DoWhile( new DoWhileObject( - "while expression is 0", - 0, - "result = \"fail: should not have evaluated statements in while block; break;" - )); - -DoWhile( new DoWhileObject( - "while expression is eval(\"\")", - eval(""), - "result = \"fail: should not have evaluated statements in while block; break" - )); - -DoWhile( new DoWhileObject( - "while expression is NaN", - NaN, - "result = \"fail: should not have evaluated statements in while block; break" - )); - -test(); - -function DoWhileObject( d, e, s ) { - this.description = d; - this.whileExpression = e; - this.statements = s; -} - -function DoWhile( object ) { - result = "pass"; - - while ( expression = object.whileExpression ) { - eval( object.statements ); - } - - // verify that the while expression was evaluated - - new TestCase( - "verify that while expression was evaluated (should be "+ - object.whileExpression +")", - "pass", - (object.whileExpression == expression || - ( isNaN(object.whileExpression) && isNaN(expression) ) - ) ? "pass" : "fail" ); - - new TestCase( - object.description, - "pass", - result ); -} diff --git a/js/src/tests/ecma_2/Statements/while-003.js b/js/src/tests/ecma_2/Statements/while-003.js deleted file mode 100644 index 27c5bfd5f4a2..000000000000 --- a/js/src/tests/ecma_2/Statements/while-003.js +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: while-003 - * ECMA Section: - * Description: while statement - * - * The while expression evaluates to true, Statement returns abrupt completion. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "while-003"; -var TITLE = "while statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile( new DoWhileObject( - "while expression is true", - true, - "result = \"pass\";" )); - -DoWhile( new DoWhileObject( - "while expression is 1", - 1, - "result = \"pass\";" )); - -DoWhile( new DoWhileObject( - "while expression is new Boolean(false)", - new Boolean(false), - "result = \"pass\";" )); - -DoWhile( new DoWhileObject( - "while expression is new Object()", - new Object(), - "result = \"pass\";" )); - -DoWhile( new DoWhileObject( - "while expression is \"hi\"", - "hi", - "result = \"pass\";" )); -/* - DoWhile( new DoWhileObject( - "while expression has a continue in it", - "true", - "if ( i == void 0 ) i = 0; result=\"pass\"; if ( ++i == 1 ) {continue;} else {break;} result=\"fail\";" - )); -*/ -test(); - -function DoWhileObject( d, e, s ) { - this.description = d; - this.whileExpression = e; - this.statements = s; -} - -function DoWhile( object ) { - result = "fail: statements in while block were not evaluated"; - - while ( expression = object.whileExpression ) { - eval( object.statements ); - break; - } - - // verify that the while expression was evaluated - - new TestCase( - "verify that while expression was evaluated (should be "+ - object.whileExpression +")", - "pass", - (object.whileExpression == expression || - ( isNaN(object.whileExpression) && isNaN(expression) ) - ) ? "pass" : "fail" ); - - new TestCase( - object.description, - "pass", - result ); -} diff --git a/js/src/tests/ecma_2/Statements/while-004.js b/js/src/tests/ecma_2/Statements/while-004.js deleted file mode 100644 index 440dd8bf2916..000000000000 --- a/js/src/tests/ecma_2/Statements/while-004.js +++ /dev/null @@ -1,203 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: while-004 - * ECMA Section: - * Description: while statement - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "while-004"; -var TITLE = "while statement"; -var BUGNUMBER="316725"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -DoWhile_1(); -DoWhile_2(); -DoWhile_3(); -DoWhile_4(); -DoWhile_5(); - -test(); - -/** - * Break out of a while by calling return. - * - * Tests: 12.6.2 step 6. - */ -function dowhile() { - result = "pass"; - - while (true) { - return result; - result = "fail: hit code after return statement"; - break; - } -} - -function DoWhile_1() { - description = "return statement in a while block"; - - result = dowhile(); - - new TestCase( - "DoWhile_1" + description, - "pass", - result ); -} - -/** - * While with a labeled continue statement. Verify that statements - * after the continue statement are not evaluated. - * - * Tests: 12.6.2 step 8. - * - */ -function DoWhile_2() { - var description = "while with a labeled continue statement"; - var result1 = "pass"; - var result2 = "fail: did not execute code after loop, but inside label"; - var i = 0; - var j = 0; - -theloop: - while( i++ < 10 ) { - j++; - continue theloop; - result1 = "failed: hit code after continue statement"; - } - result2 = "pass"; - - new TestCase( - "DoWhile_2: " +description + " - code inside the loop, before the continue should be executed ("+j+")", - true, - j == 10 ); - - new TestCase( - "DoWhile_2: " +description +" - code after labeled continue should not be executed", - "pass", - result1 ); - - new TestCase( - "DoWhile_2: " +description +" - code after loop but inside label should be executed", - "pass", - result2 ); -} - -/** - * While with a labeled break. - * - */ -function DoWhile_3() { - var description = "while with a labeled break statement"; - var result1 = "pass"; - var result2 = "pass"; - var result3 = "fail: did not get to code after label"; - -woohoo: { - while( true ) { - break woohoo; - result1 = "fail: got to code after a break"; - } - result2 = "fail: got to code outside of loop but inside label"; - } - - result3 = "pass"; - - new TestCase( - "DoWhile_3: " +description +" - verify break out of loop", - "pass", - result1 ); - - - new TestCase( - "DoWhile_3: " +description +" - verify break out of label", - "pass", - result2 ); - - new TestCase( - "DoWhile_3: " +description + " - verify correct exit from label", - "pass", - result3 ); -} - - -/** - * Labled while with an unlabeled break - * - */ -function DoWhile_4() { - var description = "labeled while with an unlabeled break"; - var result1 = "pass"; - var result2 = "pass"; - var result3 = "fail: did not evaluate statement after label"; - -woohooboy: { - while( true ) { - break woohooboy; - result1 = "fail: got to code after the break"; - } - result2 = "fail: broke out of while, but not out of label"; - } - result3 = "pass"; - - new TestCase( - "DoWhile_4: " +description +" - verify break out of while loop", - "pass", - result1 ); - - new TestCase( - "DoWhile_4: " +description + " - verify break out of label", - "pass", - result2 ); - - new TestCase( - "DoWhile_4: " +description +" - verify that statements after label are evaluated", - "pass", - result3 ); -} - -/** - * in this case, should behave the same way as - * - * - */ -function DoWhile_5() { - var description = "while with a labeled continue statement"; - var result1 = "pass"; - var result2 = "fail: did not execute code after loop, but inside label"; - var i = 0; - var j = 0; - -theloop: { - j++; - while( i++ < 10 ) { - continue; - result1 = "failed: hit code after continue statement"; - } - result2 = "pass"; - } - - new TestCase( - "DoWhile_5: " +description + " - continue should not execute statements above the loop", - true, - ( j == 1 ) ); - - new TestCase( - "DoWhile_5: " +description +" - code after labeled continue should not be executed", - "pass", - result1 ); - - new TestCase( - "DoWhile_5: " +description +" - code after loop but inside label should be executed", - "pass", - result2 ); -} - diff --git a/js/src/tests/ecma_2/String/match-001.js b/js/src/tests/ecma_2/String/match-001.js deleted file mode 100644 index 39eca3035c0f..000000000000 --- a/js/src/tests/ecma_2/String/match-001.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/match-001.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * String.match( regexp ) - * - * If regexp is not an object of type RegExp, it is replaced with result - * of the expression new RegExp(regexp). Let string denote the result of - * converting the this value to a string. If regexp.global is false, - * return the result obtained by invoking RegExp.prototype.exec (see - * section 15.7.5.3) on regexp with string as parameter. - * - * Otherwise, set the regexp.lastIndex property to 0 and invoke - * RegExp.prototype.exec repeatedly until there is no match. If there is a - * match with an empty string (in other words, if the value of - * regexp.lastIndex is left unchanged) increment regexp.lastIndex by 1. - * The value returned is an array with the properties 0 through n-1 - * corresponding to the first element of the result of each matching - * invocation of RegExp.prototype.exec. - * - * Note that the match function is intentionally generic; it does not - * require that its this value be a string object. Therefore, it can be - * transferred to other kinds of objects for use as a method. - */ - -var SECTION = "String/match-001.js"; -var TITLE = "String.prototype.match( regexp )"; - - -// the regexp argument is not a RegExp object -// this is not a string object - -// cases in which the regexp global property is false - -AddRegExpCases( 3, "3", "1234567890", 1, 2, ["3"] ); - -// cases in which the regexp object global property is true - -AddGlobalRegExpCases( /34/g, "/34/g", "343443444", 3, ["34", "34", "34"] ); -AddGlobalRegExpCases( /\d{1}/g, "/d{1}/g", "123456abcde7890", 10, - ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] ); - -AddGlobalRegExpCases( /\d{2}/g, "/d{2}/g", "123456abcde7890", 5, - ["12", "34", "56", "78", "90"] ); - -AddGlobalRegExpCases( /\D{2}/g, "/d{2}/g", "123456abcde7890", 2, - ["ab", "cd"] ); - -test(); - - -function AddRegExpCases( - regexp, str_regexp, string, length, index, matches_array ) { - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - length, - string.match(regexp).length ); - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").index", - index, - string.match(regexp).index ); - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").input", - string, - string.match(regexp).input ); - - for ( var matches = 0; matches < matches_array.length; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} - -function AddGlobalRegExpCases( - regexp, str_regexp, string, length, matches_array ) { - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - length, - string.match(regexp).length ); - - for ( var matches = 0; matches < matches_array.length; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/String/match-002.js b/js/src/tests/ecma_2/String/match-002.js deleted file mode 100644 index 5450557fe68f..000000000000 --- a/js/src/tests/ecma_2/String/match-002.js +++ /dev/null @@ -1,172 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/match-002.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * String.match( regexp ) - * - * If regexp is not an object of type RegExp, it is replaced with result - * of the expression new RegExp(regexp). Let string denote the result of - * converting the this value to a string. If regexp.global is false, - * return the result obtained by invoking RegExp.prototype.exec (see - * section 15.7.5.3) on regexp with string as parameter. - * - * Otherwise, set the regexp.lastIndex property to 0 and invoke - * RegExp.prototype.exec repeatedly until there is no match. If there is a - * match with an empty string (in other words, if the value of - * regexp.lastIndex is left unchanged) increment regexp.lastIndex by 1. - * The value returned is an array with the properties 0 through n-1 - * corresponding to the first element of the result of each matching - * invocation of RegExp.prototype.exec. - * - * Note that the match function is intentionally generic; it does not - * require that its this value be a string object. Therefore, it can be - * transferred to other kinds of objects for use as a method. - * - * This file tests cases in which regexp.global is false. Therefore, - * results should behave as regexp.exec with string passed as a parameter. - * - */ - -var SECTION = "String/match-002.js"; -var TITLE = "String.prototype.match( regexp )"; - - -// the regexp argument is not a RegExp object -// this is not a string object - -AddRegExpCases( /([\d]{5})([-\ ]?[\d]{4})?$/, - "/([\d]{5})([-\ ]?[\d]{4})?$/", - "Boston, Mass. 02134", - 14, - ["02134", "02134", undefined]); - -AddGlobalRegExpCases( /([\d]{5})([-\ ]?[\d]{4})?$/g, - "/([\d]{5})([-\ ]?[\d]{4})?$/g", - "Boston, Mass. 02134", - ["02134"]); - -// set the value of lastIndex -re = /([\d]{5})([-\ ]?[\d]{4})?$/; -re.lastIndex = 0; - -s = "Boston, MA 02134"; - -AddRegExpCases( re, - "re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex =0", - s, - s.lastIndexOf("0"), - ["02134", "02134", undefined]); - - -re.lastIndex = s.length; - -AddRegExpCases( re, - "re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex = " + - s.length, - s, - s.lastIndexOf("0"), - ["02134", "02134", undefined] ); - -re.lastIndex = s.lastIndexOf("0"); - -AddRegExpCases( re, - "re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex = " + - s.lastIndexOf("0"), - s, - s.lastIndexOf("0"), - ["02134", "02134", undefined]); - -re.lastIndex = s.lastIndexOf("0") + 1; - -AddRegExpCases( re, - "re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex = " + - s.lastIndexOf("0") +1, - s, - s.lastIndexOf("0"), - ["02134", "02134", undefined]); - -test(); - -function AddRegExpCases( - regexp, str_regexp, string, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(string) == null || matches_array == null ) { - AddTestCase( - string + ".match(" + regexp +")", - matches_array, - string.match(regexp) ); - - return; - } - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - matches_array.length, - string.match(regexp).length ); - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").index", - index, - string.match(regexp).index ); - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").input", - string, - string.match(regexp).input ); - - var limit = matches_array.length > string.match(regexp).length ? - matches_array.length : - string.match(regexp).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} - -function AddGlobalRegExpCases( - regexp, str_regexp, string, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(string) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + string +")", - matches_array, - regexp.exec(string) ); - - return; - } - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - matches_array.length, - string.match(regexp).length ); - - var limit = matches_array.length > string.match(regexp).length ? - matches_array.length : - string.match(regexp).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/String/match-003.js b/js/src/tests/ecma_2/String/match-003.js deleted file mode 100644 index f22b02e108f3..000000000000 --- a/js/src/tests/ecma_2/String/match-003.js +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/match-003.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * String.match( regexp ) - * - * If regexp is not an object of type RegExp, it is replaced with result - * of the expression new RegExp(regexp). Let string denote the result of - * converting the this value to a string. If regexp.global is false, - * return the result obtained by invoking RegExp.prototype.exec (see - * section 15.7.5.3) on regexp with string as parameter. - * - * Otherwise, set the regexp.lastIndex property to 0 and invoke - * RegExp.prototype.exec repeatedly until there is no match. If there is a - * match with an empty string (in other words, if the value of - * regexp.lastIndex is left unchanged) increment regexp.lastIndex by 1. - * The value returned is an array with the properties 0 through n-1 - * corresponding to the first element of the result of each matching - * invocation of RegExp.prototype.exec. - * - * Note that the match function is intentionally generic; it does not - * require that its this value be a string object. Therefore, it can be - * transferred to other kinds of objects for use as a method. - */ - -var SECTION = "String/match-003.js"; -var TITLE = "String.prototype.match( regexp )"; - - -// the regexp argument is not a RegExp object -// this is not a string object - - -// [if regexp.global is true] set the regexp.lastIndex property to 0 and -// invoke RegExp.prototype.exec repeatedly until there is no match. If -// there is a match with an empty string (in other words, if the value of -// regexp.lastIndex is left unchanged) increment regexp.lastIndex by 1. -// The value returned is an array with the properties 0 through n-1 -// corresponding to the first element of the result of each matching invocation -// of RegExp.prototype.exec. - - -// set the value of lastIndex -re = /([\d]{5})([-\ ]?[\d]{4})?$/g; - - -s = "Boston, MA 02134"; - -AddGlobalRegExpCases( re, - "re = " + re, - s, - ["02134" ]); - -re.lastIndex = 0; - -AddGlobalRegExpCases( - re, - "re = " + re + "; re.lastIndex = 0 ", - s, - ["02134"]); - - -re.lastIndex = s.length; - -AddGlobalRegExpCases( - re, - "re = " + re + "; re.lastIndex = " + s.length, - s, - ["02134"] ); - -re.lastIndex = s.lastIndexOf("0"); - -AddGlobalRegExpCases( - re, - "re = "+ re +"; re.lastIndex = " + s.lastIndexOf("0"), - s, - ["02134"]); - -re.lastIndex = s.lastIndexOf("0") + 1; - -AddGlobalRegExpCases( - re, - "re = " +re+ "; re.lastIndex = " + (s.lastIndexOf("0") +1), - s, - ["02134"]); - -test(); - -function AddGlobalRegExpCases( - regexp, str_regexp, string, matches_array ) { - - // prevent a runtime error - - if ( string.match(regexp) == null || matches_array == null ) { - AddTestCase( - string + ".match(" + str_regexp +")", - matches_array, - string.match(regexp) ); - - return; - } - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - matches_array.length, - string.match(regexp).length ); - - var limit = matches_array.length > string.match(regexp).length ? - matches_array.length : - string.match(regexp).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/String/match-004.js b/js/src/tests/ecma_2/String/match-004.js deleted file mode 100644 index 43fb45e8a954..000000000000 --- a/js/src/tests/ecma_2/String/match-004.js +++ /dev/null @@ -1,172 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/match-004.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * String.match( regexp ) - * - * If regexp is not an object of type RegExp, it is replaced with result - * of the expression new RegExp(regexp). Let string denote the result of - * converting the this value to a string. If regexp.global is false, - * return the result obtained by invoking RegExp.prototype.exec (see - * section 15.7.5.3) on regexp with string as parameter. - * - * Otherwise, set the regexp.lastIndex property to 0 and invoke - * RegExp.prototype.exec repeatedly until there is no match. If there is a - * match with an empty string (in other words, if the value of - * regexp.lastIndex is left unchanged) increment regexp.lastIndex by 1. - * The value returned is an array with the properties 0 through n-1 - * corresponding to the first element of the result of each matching - * invocation of RegExp.prototype.exec. - * - * Note that the match function is intentionally generic; it does not - * require that its this value be a string object. Therefore, it can be - * transferred to other kinds of objects for use as a method. - * - * - * The match function should be intentionally generic, and not require - * this to be a string. - * - */ - -var SECTION = "String/match-004.js"; -var TITLE = "String.prototype.match( regexp )"; - -var BUGNUMBER="http://scopus/bugsplat/show_bug.cgi?id=345818"; - -printBugNumber(BUGNUMBER); - -// set the value of lastIndex -re = /0./; -s = 10203040506070809000; - -Number.prototype.match = String.prototype.match; - -AddRegExpCases( re, - "re = " + re , - s, - String(s), - 1, - ["02"]); - - -re.lastIndex = 0; -AddRegExpCases( re, - "re = " + re +" [lastIndex is " + re.lastIndex+"]", - s, - String(s), - 1, - ["02"]); -/* - -re.lastIndex = s.length; - -AddRegExpCases( re, -"re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex = " + -s.length, -s, -s.lastIndexOf("0"), -null ); - -re.lastIndex = s.lastIndexOf("0"); - -AddRegExpCases( re, -"re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex = " + -s.lastIndexOf("0"), -s, -s.lastIndexOf("0"), -["02134"]); - -re.lastIndex = s.lastIndexOf("0") + 1; - -AddRegExpCases( re, -"re = /([\d]{5})([-\ ]?[\d]{4})?$/; re.lastIndex = " + -s.lastIndexOf("0") +1, -s, -0, -null); -*/ -test(); - -function AddRegExpCases( - regexp, str_regexp, string, str_string, index, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(string) == null || matches_array == null ) { - AddTestCase( - string + ".match(" + regexp +")", - matches_array, - string.match(regexp) ); - - return; - } - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - matches_array.length, - string.match(regexp).length ); - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").index", - index, - string.match(regexp).index ); - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").input", - str_string, - string.match(regexp).input ); - - var limit = matches_array.length > string.match(regexp).length ? - matches_array.length : - string.match(regexp).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} - -function AddGlobalRegExpCases( - regexp, str_regexp, string, matches_array ) { - - // prevent a runtime error - - if ( regexp.exec(string) == null || matches_array == null ) { - AddTestCase( - regexp + ".exec(" + string +")", - matches_array, - regexp.exec(string) ); - - return; - } - - AddTestCase( - "( " + string + " ).match(" + str_regexp +").length", - matches_array.length, - string.match(regexp).length ); - - var limit = matches_array.length > string.match(regexp).length ? - matches_array.length : - string.match(regexp).length; - - for ( var matches = 0; matches < limit; matches++ ) { - AddTestCase( - "( " + string + " ).match(" + str_regexp +")[" + matches +"]", - matches_array[matches], - string.match(regexp)[matches] ); - } -} diff --git a/js/src/tests/ecma_2/String/split-001.js b/js/src/tests/ecma_2/String/split-001.js deleted file mode 100644 index 5d8f0e92edc3..000000000000 --- a/js/src/tests/ecma_2/String/split-001.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/split-001.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * Since regular expressions have been part of JavaScript since 1.2, there - * are already tests for regular expressions in the js1_2/regexp folder. - * - * These new tests try to supplement the existing tests, and verify that - * our implementation of RegExp conforms to the ECMA specification, but - * does not try to be as exhaustive as in previous tests. - * - * The [,limit] argument to String.split is new, and not covered in any - * existing tests. - * - * String.split cases are covered in ecma/String/15.5.4.8-*.js. - * String.split where separator is a RegExp are in - * js1_2/regexp/string_split.js - * - */ - -var SECTION = "ecma_2/String/split-001.js"; -var TITLE = "String.prototype.split( regexp, [,limit] )"; - - -// the separator is not supplied -// separator is undefined -// separator is an empty string - -AddSplitCases( "splitme", "", "''", ["s", "p", "l", "i", "t", "m", "e"] ); -AddSplitCases( "splitme", new RegExp(), "new RegExp()", ["s", "p", "l", "i", "t", "m", "e"] ); - -// separartor is a regexp -// separator regexp value global setting is set -// string is an empty string -// if separator is an empty string, split each by character - -// this is not a String object - -// limit is not a number -// limit is undefined -// limit is larger than 2^32-1 -// limit is a negative number - -test(); - -function AddSplitCases( string, separator, str_sep, split_array ) { - - // verify that the result of split is an object of type Array - AddTestCase( - "( " + string + " ).split(" + str_sep +").constructor == Array", - true, - string.split(separator).constructor == Array ); - - // check the number of items in the array - AddTestCase( - "( " + string + " ).split(" + str_sep +").length", - split_array.length, - string.split(separator).length ); - - // check the value of each array item - var limit = (split_array.length > string.split(separator).length ) - ? split_array.length : string.split(separator).length; - - for ( var matches = 0; matches < split_array.length; matches++ ) { - AddTestCase( - "( " + string + " ).split(" + str_sep +")[" + matches +"]", - split_array[matches], - string.split( separator )[matches] ); - } -} - -function AddLimitedSplitCases( - string, separator, str_sep, limit, str_limit, split_array ) { - - // verify that the result of split is an object of type Array - - AddTestCase( - "( " + string + " ).split(" + str_sep +", " + str_limit + - " ).constructor == Array", - true, - string.split(separator, limit).constructor == Array ); - - // check the length of the array - - AddTestCase( - "( " + string + " ).split(" + str_sep +", " + str_limit + " ).length", - length, - string.split(separator).length ); - - // check the value of each array item - - for ( var matches = 0; matches < split_array.length; matches++ ) { - AddTestCase( - "( " + string + " ).split(" + str_sep +", " + str_limit + " )[" + matches +"]", - split_array[matches], - string.split( separator )[matches] ); - } -} diff --git a/js/src/tests/ecma_2/String/split-002.js b/js/src/tests/ecma_2/String/split-002.js deleted file mode 100644 index fdd3454d688f..000000000000 --- a/js/src/tests/ecma_2/String/split-002.js +++ /dev/null @@ -1,268 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/split-002.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * Since regular expressions have been part of JavaScript since 1.2, there - * are already tests for regular expressions in the js1_2/regexp folder. - * - * These new tests try to supplement the existing tests, and verify that - * our implementation of RegExp conforms to the ECMA specification, but - * does not try to be as exhaustive as in previous tests. - * - * The [,limit] argument to String.split is new, and not covered in any - * existing tests. - * - * String.split cases are covered in ecma/String/15.5.4.8-*.js. - * String.split where separator is a RegExp are in - * js1_2/regexp/string_split.js - * - */ - -var SECTION = "ecma_2/String/split-002.js"; -var TITLE = "String.prototype.split( regexp, [,limit] )"; - - -// the separator is not supplied -// separator is undefined -// separator is an empty string - -// AddSplitCases( "splitme", "", "''", ["s", "p", "l", "i", "t", "m", "e"] ); -// AddSplitCases( "splitme", new RegExp(), "new RegExp()", ["s", "p", "l", "i", "t", "m", "e"] ); - -// separator is an empty regexp -// separator is not supplied - -CompareSplit( "hello", "ll" ); - -CompareSplit( "hello", "l" ); -CompareSplit( "hello", "x" ); -CompareSplit( "hello", "h" ); -CompareSplit( "hello", "o" ); -CompareSplit( "hello", "hello" ); -CompareSplit( "hello", undefined ); - -CompareSplit( "hello", ""); -CompareSplit( "hello", "hellothere" ); - -CompareSplit( new String("hello" ) ); - - -Number.prototype.split = String.prototype.split; - -CompareSplit( new Number(100111122133144155), 1 ); -CompareSplitWithLimit(new Number(100111122133144155), 1, 1 ); - -CompareSplitWithLimit(new Number(100111122133144155), 1, 2 ); -CompareSplitWithLimit(new Number(100111122133144155), 1, 0 ); -CompareSplitWithLimit(new Number(100111122133144155), 1, 100 ); -CompareSplitWithLimit(new Number(100111122133144155), 1, void 0 ); -CompareSplitWithLimit(new Number(100111122133144155), 1, Math.pow(2,32)-1 ); -CompareSplitWithLimit(new Number(100111122133144155), 1, "boo" ); -CompareSplitWithLimit(new Number(100111122133144155), 1, -(Math.pow(2,32)-1) ); -CompareSplitWithLimit( "hello", "l", NaN ); -CompareSplitWithLimit( "hello", "l", 0 ); -CompareSplitWithLimit( "hello", "l", 1 ); -CompareSplitWithLimit( "hello", "l", 2 ); -CompareSplitWithLimit( "hello", "l", 3 ); -CompareSplitWithLimit( "hello", "l", 4 ); - - -/* - CompareSplitWithLimit( "hello", "ll", 0 ); - CompareSplitWithLimit( "hello", "ll", 1 ); - CompareSplitWithLimit( "hello", "ll", 2 ); - CompareSplit( "", " " ); - CompareSplit( "" ); -*/ - -// separartor is a regexp -// separator regexp value global setting is set -// string is an empty string -// if separator is an empty string, split each by character - -// this is not a String object - -// limit is not a number -// limit is undefined -// limit is larger than 2^32-1 -// limit is a negative number - -test(); - -function CompareSplit( string, separator ) { - split_1 = string.split( separator ); - split_2 = string_split( string, separator ); - - AddTestCase( - "( " + string +".split(" + separator + ") ).length" , - split_2.length, - split_1.length ); - - var limit = split_1.length > split_2.length ? - split_1.length : split_2.length; - - for ( var split_item = 0; split_item < limit; split_item++ ) { - AddTestCase( - string + ".split(" + separator + ")["+split_item+"]", - split_2[split_item], - split_1[split_item] ); - } -} - -function CompareSplitWithLimit( string, separator, splitlimit ) { - split_1 = string.split( separator, splitlimit ); - split_2 = string_split( string, separator, splitlimit ); - - AddTestCase( - "( " + string +".split(" + separator + ", " + splitlimit+") ).length" , - split_2.length, - split_1.length ); - - var limit = split_1.length > split_2.length ? - split_1.length : split_2.length; - - for ( var split_item = 0; split_item < limit; split_item++ ) { - AddTestCase( - string + ".split(" + separator + ", " + splitlimit+")["+split_item+"]", - split_2[split_item], - split_1[split_item] ); - } -} - -function string_split ( __this, separator, limit ) { - var S = String(__this ); // 1 - - var A = new Array(); // 2 - - if ( limit == undefined ) { // 3 - lim = Math.pow(2, 31 ) -1; - } else { - lim = ToUint32( limit ); - } - - var s = S.length; // 4 - var p = 0; // 5 - - if ( separator == undefined ) { // 8 - A[0] = S; - return A; - } - - if ( separator.constructor == RegExp ) // 6 - R = separator; - else - R = separator.toString(); - - if (lim == 0) return A; // 7 - - if ( separator == undefined ) { // 8 - A[0] = S; - return A; - } - - if (s == 0) { // 9 - z = SplitMatch(R, S, 0); - if (z != false) return A; - A[0] = S; - return A; - } - - var q = p; // 10 -loop: - while (true ) { - - if ( q == s ) break; // 11 - - z = SplitMatch(R, S, q); // 12 - -//print("Returned ", z); - - if (z != false) { // 13 - e = z.endIndex; // 14 - cap = z.captures; // 14 - if (e != p) { // 15 -//print("S = ", S, ", p = ", p, ", q = ", q); - T = S.slice(p, q); // 16 -//print("T = ", T); - A[A.length] = T; // 17 - if (A.length == lim) return A; // 18 - p = e; // 19 - i = 0; // 20 - while (true) { // 25 - if (i == cap.length) { // 21 - q = p; // 10 - continue loop; - } - i = i + 1; // 22 - A[A.length] = cap[i] // 23 - if (A.length == lim) return A; // 24 - } - } - } - - q = q + 1; // 26 - } - - T = S.slice(p, q); - A[A.length] = T; - return A; -} - -function SplitMatch(R, S, q) -{ - if (R.constructor == RegExp) { // 1 - var reResult = R.match(S, q); // 8 - if (reResult == undefined) - return false; - else { - a = new Array(reResult.length - 1); - for (var i = 1; i < reResult.length; i++) - a[a.length] = reResult[i]; - return { endIndex : reResult.index + reResult[0].length, captures : cap }; - } - } - else { - var r = R.length; // 2 - s = S.length; // 3 - if ((q + r) > s) return false; // 4 - for (var i = 0; i < r; i++) { -//print("S.charAt(", q + i, ") = ", S.charAt(q + i), ", R.charAt(", i, ") = ", R.charAt(i)); - if (S.charAt(q + i) != R.charAt(i)) // 5 - return false; - } - cap = new Array(); // 6 - return { endIndex : q + r, captures : cap }; // 7 - } -} - -function ToUint32( n ) { - n = Number( n ); - var sign = ( n < 0 ) ? -1 : 1; - - if ( Math.abs( n ) == 0 - || Math.abs( n ) == Number.POSITIVE_INFINITY - || n != n) { - return 0; - } - n = sign * Math.floor( Math.abs(n) ) - - n = n % Math.pow(2,32); - - if ( n < 0 ){ - n += Math.pow(2,32); - } - - return ( n ); -} diff --git a/js/src/tests/ecma_2/String/split-003.js b/js/src/tests/ecma_2/String/split-003.js deleted file mode 100644 index 18a749fc59ff..000000000000 --- a/js/src/tests/ecma_2/String/split-003.js +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: String/split-003.js - * ECMA Section: 15.6.4.9 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ - -/* - * Since regular expressions have been part of JavaScript since 1.2, there - * are already tests for regular expressions in the js1_2/regexp folder. - * - * These new tests try to supplement the existing tests, and verify that - * our implementation of RegExp conforms to the ECMA specification, but - * does not try to be as exhaustive as in previous tests. - * - * The [,limit] argument to String.split is new, and not covered in any - * existing tests. - * - * String.split cases are covered in ecma/String/15.5.4.8-*.js. - * String.split where separator is a RegExp are in - * js1_2/regexp/string_split.js - * - */ - -var SECTION = "ecma_2/String/split-003.js"; -var TITLE = "String.prototype.split( regexp, [,limit] )"; - - -// separator is a regexp -// separator regexp value global setting is set -// string is an empty string -// if separator is an empty string, split each by character - - -AddSplitCases( "hello", new RegExp, "new RegExp", ["h","e","l","l","o"] ); - -AddSplitCases( "hello", /l/, "/l/", ["he","","o"] ); -AddLimitedSplitCases( "hello", /l/, "/l/", 0, [] ); -AddLimitedSplitCases( "hello", /l/, "/l/", 1, ["he"] ); -AddLimitedSplitCases( "hello", /l/, "/l/", 2, ["he",""] ); -AddLimitedSplitCases( "hello", /l/, "/l/", 3, ["he","","o"] ); -AddLimitedSplitCases( "hello", /l/, "/l/", 4, ["he","","o"] ); -AddLimitedSplitCases( "hello", /l/, "/l/", void 0, ["he","","o"] ); -AddLimitedSplitCases( "hello", /l/, "/l/", "hi", [] ); -AddLimitedSplitCases( "hello", /l/, "/l/", undefined, ["he","","o"] ); - -AddSplitCases( "hello", new RegExp, "new RegExp", ["h","e","l","l","o"] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", 0, [] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", 1, ["h"] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", 2, ["h","e"] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", 3, ["h","e","l"] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", 4, ["h","e","l","l"] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", void 0, ["h","e","l","l","o"] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", "hi", [] ); -AddLimitedSplitCases( "hello", new RegExp, "new RegExp", undefined, ["h","e","l","l","o"] ); - -test(); - -function AddSplitCases( string, separator, str_sep, split_array ) { - // verify that the result of split is an object of type Array - AddTestCase( - "( " + string + " ).split(" + str_sep +").constructor == Array", - true, - string.split(separator).constructor == Array ); - - // check the number of items in the array - AddTestCase( - "( " + string + " ).split(" + str_sep +").length", - split_array.length, - string.split(separator).length ); - - // check the value of each array item - var limit = (split_array.length > string.split(separator).length ) - ? split_array.length : string.split(separator).length; - - for ( var matches = 0; matches < split_array.length; matches++ ) { - AddTestCase( - "( " + string + " ).split(" + str_sep +")[" + matches +"]", - split_array[matches], - string.split( separator )[matches] ); - } -} - -function AddLimitedSplitCases( - string, separator, str_sep, limit, split_array ) { - - // verify that the result of split is an object of type Array - - AddTestCase( - "( " + string + " ).split(" + str_sep +", " + limit + - " ).constructor == Array", - true, - string.split(separator, limit).constructor == Array ); - - // check the length of the array - - AddTestCase( - "( " + string + " ).split(" + str_sep +", " + limit + " ).length", - split_array.length, - string.split(separator, limit).length ); - - // check the value of each array item - - var slimit = (split_array.length > string.split(separator).length ) - ? split_array.length : string.split(separator, limit).length; - - for ( var matches = 0; matches < slimit; matches++ ) { - AddTestCase( - "( " + string + " ).split(" + str_sep +", " + limit + " )[" + matches +"]", - split_array[matches], - string.split( separator, limit )[matches] ); - } -} diff --git a/js/src/tests/ecma_2/extensions/constructor-001.js b/js/src/tests/ecma_2/extensions/constructor-001.js deleted file mode 100644 index 799bb849c42e..000000000000 --- a/js/src/tests/ecma_2/extensions/constructor-001.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/constructor-001.js - * ECMA Section: 15.7.3.3 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/constructor-001"; -var TITLE = "new RegExp()"; - - -/* - * for each test case, verify: - * - verify that [[Class]] property is RegExp - * - prototype property should be set to RegExp.prototype - * - source is set to the empty string - * - global property is set to false - * - ignoreCase property is set to false - * - multiline property is set to false - * - lastIndex property is set to 0 - */ - -RegExp.prototype.getClassProperty = Object.prototype.toString; -var re = new RegExp(); - -AddTestCase( - "new RegExp().__proto__", - RegExp.prototype, - re.__proto__ - ); - -test() diff --git a/js/src/tests/ecma_2/extensions/function-001.js b/js/src/tests/ecma_2/extensions/function-001.js deleted file mode 100644 index 4dfd10537412..000000000000 --- a/js/src/tests/ecma_2/extensions/function-001.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: RegExp/function-001.js - * ECMA Section: 15.7.2.1 - * Description: Based on ECMA 2 Draft 7 February 1999 - * - * Author: christine@netscape.com - * Date: 19 February 1999 - */ -var SECTION = "RegExp/function-001"; -var TITLE = "RegExp( pattern, flags )"; - - -/* - * for each test case, verify: - * - verify that [[Class]] property is RegExp - * - prototype property should be set to RegExp.prototype - * - source is set to the empty string - * - global property is set to false - * - ignoreCase property is set to false - * - multiline property is set to false - * - lastIndex property is set to 0 - */ - -RegExp.prototype.getClassProperty = Object.prototype.toString; -var re = new RegExp(); - -AddTestCase( - "new RegExp().__proto__", - RegExp.prototype, - re.__proto__ - ); - -test() diff --git a/js/src/tests/ecma_2/extensions/instanceof-001.js b/js/src/tests/ecma_2/extensions/instanceof-001.js deleted file mode 100644 index 11ba3da3a9c7..000000000000 --- a/js/src/tests/ecma_2/extensions/instanceof-001.js +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: instanceof-001.js - * ECMA Section: 11.8.6 - * Description: - * - * RelationalExpression instanceof Identifier - * - * Author: christine@netscape.com - * Date: 2 September 1998 - */ -var SECTION = "instanceof-001"; -var TITLE = "instanceof" - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object_1, object_2, expect ) { - result = object_1 instanceof object_2; - - new TestCase( - "(" + object_1 + ") instanceof " + object_2, - expect, - result ); -} - -function Gen3(value) { - this.value = value; - this.generation = 3; - this.toString = new Function ( "return \"(Gen\"+this.generation+\" instance)\"" ); -} -Gen3.name = 3; -Gen3.__proto__.toString = new Function( "return \"(\"+this.name+\" object)\""); - -function Gen2(value) { - this.value = value; - this.generation = 2; -} -Gen2.name = 2; -Gen2.prototype = new Gen3(); - -function Gen1(value) { - this.value = value; - this.generation = 1; -} -Gen1.name = 1; -Gen1.prototype = new Gen2(); - -function Gen0(value) { - this.value = value; - this.generation = 0; -} -Gen0.name = 0; -Gen0.prototype = new Gen1(); - - -function GenA(value) { - this.value = value; - this.generation = "A"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); - -} -GenA.prototype = new Gen0(); -GenA.name = "A"; - -function GenB(value) { - this.value = value; - this.generation = "B"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); -} -GenB.name = "B" - GenB.prototype = void 0; - -// RelationalExpression is not an object. - -InstanceOf( true, Boolean, false ); -InstanceOf( new Boolean(false), Boolean, true ); - -// __proto__ of RelationalExpression is null. should return false -genA = new GenA(); -genA.__proto__ = null; - -InstanceOf( genA, GenA, false ); - -// RelationalExpression.__proto__ == (but not ===) Identifier.prototype - -InstanceOf( new Gen2(), Gen0, false ); -InstanceOf( new Gen2(), Gen1, false ); -InstanceOf( new Gen2(), Gen2, true ); -InstanceOf( new Gen2(), Gen3, true ); - -// RelationalExpression.__proto__.__proto__ === Identifier.prototype -InstanceOf( new Gen0(), Gen0, true ); -InstanceOf( new Gen0(), Gen1, true ); -InstanceOf( new Gen0(), Gen2, true ); -InstanceOf( new Gen0(), Gen3, true ); - -InstanceOf( new Gen0(), Object, true ); -InstanceOf( new Gen0(), Function, false ); - -InstanceOf( Gen0, Function, true ); -InstanceOf( Gen0, Object, true ); - -test(); diff --git a/js/src/tests/ecma_2/extensions/instanceof-002.js b/js/src/tests/ecma_2/extensions/instanceof-002.js deleted file mode 100644 index 2805d8ec7666..000000000000 --- a/js/src/tests/ecma_2/extensions/instanceof-002.js +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: instanceof-002.js - Section: - Description: Determining Instance Relationships - - This test is the same as js1_3/inherit/proto-002, except that it uses - the builtin instanceof operator rather than a user-defined function - called InstanceOf. - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -// onerror = err; - -var SECTION = "instanceof-002"; -var TITLE = "Determining Instance Relationships"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object, constructor ) { - while ( object != null ) { - if ( object == constructor.prototype ) { - return true; - } - object = object.__proto__; - } - return false; -} - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} - -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var pat = new Engineer(); - -new TestCase( "pat.__proto__ == Engineer.prototype", - true, - pat.__proto__ == Engineer.prototype ); - -new TestCase( "pat.__proto__.__proto__ == WorkerBee.prototype", - true, - pat.__proto__.__proto__ == WorkerBee.prototype ); - -new TestCase( "pat.__proto__.__proto__.__proto__ == Employee.prototype", - true, - pat.__proto__.__proto__.__proto__ == Employee.prototype ); - -new TestCase( "pat.__proto__.__proto__.__proto__.__proto__ == Object.prototype", - true, - pat.__proto__.__proto__.__proto__.__proto__ == Object.prototype ); - -new TestCase( "pat.__proto__.__proto__.__proto__.__proto__.__proto__ == null", - true, - pat.__proto__.__proto__.__proto__.__proto__.__proto__ == null ); - -new TestCase( "pat instanceof Engineer", - true, - pat instanceof Engineer ); - -new TestCase( "pat instanceof WorkerBee )", - true, - pat instanceof WorkerBee ); - -new TestCase( "pat instanceof Employee )", - true, - pat instanceof Employee ); - -new TestCase( "pat instanceof Object )", - true, - pat instanceof Object ); - -new TestCase( "pat instanceof SalesPerson )", - false, - pat instanceof SalesPerson ); -test(); diff --git a/js/src/tests/ecma_2/extensions/instanceof-003-n.js b/js/src/tests/ecma_2/extensions/instanceof-003-n.js deleted file mode 100644 index 54d39dc5a8dc..000000000000 --- a/js/src/tests/ecma_2/extensions/instanceof-003-n.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: instanceof-001.js - * ECMA Section: 11.8.6 - * Description: - * - * RelationalExpression instanceof Identifier - * - * Author: christine@netscape.com - * Date: 2 September 1998 - */ -var SECTION = "instanceof-003-n"; -var TITLE = "instanceof" - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object_1, object_2, expect ) { - - result = object_1 instanceof object_2; - - new TestCase( - "(" + object_1 + ") instanceof " + object_2, - expect, - result ); -} - -function Gen3(value) { - this.value = value; - this.generation = 3; - this.toString = new Function ( "return \"(Gen\"+this.generation+\" instance)\"" ); -} -Gen3.name = 3; -Gen3.__proto__.toString = new Function( "return \"(\"+this.name+\" object)\""); - -function Gen2(value) { - this.value = value; - this.generation = 2; -} -Gen2.name = 2; -Gen2.prototype = new Gen3(); - -function Gen1(value) { - this.value = value; - this.generation = 1; -} -Gen1.name = 1; -Gen1.prototype = new Gen2(); - -function Gen0(value) { - this.value = value; - this.generation = 0; -} -Gen0.name = 0; -Gen0.prototype = new Gen1(); - - -function GenA(value) { - this.value = value; - this.generation = "A"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); - -} -GenA.prototype = new Gen0(); -GenA.name = "A"; - -function GenB(value) { - this.value = value; - this.generation = "B"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); -} -GenB.name = "B" - GenB.prototype = void 0; - -// Identifier is not a function -DESCRIPTION = "Identifier is not a function"; - -InstanceOf( true, true, "error" ); - -test(); diff --git a/js/src/tests/ecma_2/extensions/instanceof-004-n.js b/js/src/tests/ecma_2/extensions/instanceof-004-n.js deleted file mode 100644 index 9fbb323c65e5..000000000000 --- a/js/src/tests/ecma_2/extensions/instanceof-004-n.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: instanceof-001.js - * ECMA Section: 11.8.6 - * Description: - * - * RelationalExpression instanceof Identifier - * - * Author: christine@netscape.com - * Date: 2 September 1998 - */ -var SECTION = "instanceof-004-n"; -var TITLE = "instanceof" - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object_1, object_2, expect ) { - result = object_1 instanceof object_2; - - new TestCase( - "(" + object_1 + ") instanceof " + object_2, - expect, - result ); -} - -function Gen3(value) { - this.value = value; - this.generation = 3; - this.toString = new Function ( "return \"(Gen\"+this.generation+\" instance)\"" ); -} -Gen3.name = 3; -Gen3.__proto__.toString = new Function( "return \"(\"+this.name+\" object)\""); - -function Gen2(value) { - this.value = value; - this.generation = 2; -} -Gen2.name = 2; -Gen2.prototype = new Gen3(); - -function Gen1(value) { - this.value = value; - this.generation = 1; -} -Gen1.name = 1; -Gen1.prototype = new Gen2(); - -function Gen0(value) { - this.value = value; - this.generation = 0; -} -Gen0.name = 0; -Gen0.prototype = new Gen1(); - - -function GenA(value) { - this.value = value; - this.generation = "A"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); - -} -GenA.prototype = new Gen0(); -GenA.name = "A"; - -function GenB(value) { - this.value = value; - this.generation = "B"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); -} -GenB.name = "B" - GenB.prototype = void 0; - -// Identifier is not a function - -DESCRIPTION = "Identifier is not a function"; - -InstanceOf( new Boolean(true), false, "error" ); - -test(); diff --git a/js/src/tests/ecma_2/extensions/instanceof-005-n.js b/js/src/tests/ecma_2/extensions/instanceof-005-n.js deleted file mode 100644 index 203fd897f3f1..000000000000 --- a/js/src/tests/ecma_2/extensions/instanceof-005-n.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: instanceof-001.js - * ECMA Section: 11.8.6 - * Description: - * - * RelationalExpression instanceof Identifier - * - * Author: christine@netscape.com - * Date: 2 September 1998 - */ -var SECTION = "instanceof-005-n"; -var TITLE = "instanceof" - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object_1, object_2, expect ) { - result = object_1 instanceof object_2; - - new TestCase( - "(" + object_1 + ") instanceof " + object_2, - expect, - result ); -} - -function Gen3(value) { - this.value = value; - this.generation = 3; - this.toString = new Function ( "return \"(Gen\"+this.generation+\" instance)\"" ); -} -Gen3.name = 3; -Gen3.__proto__.toString = new Function( "return \"(\"+this.name+\" object)\""); - -function Gen2(value) { - this.value = value; - this.generation = 2; -} -Gen2.name = 2; -Gen2.prototype = new Gen3(); - -function Gen1(value) { - this.value = value; - this.generation = 1; -} -Gen1.name = 1; -Gen1.prototype = new Gen2(); - -function Gen0(value) { - this.value = value; - this.generation = 0; -} -Gen0.name = 0; -Gen0.prototype = new Gen1(); - - -function GenA(value) { - this.value = value; - this.generation = "A"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); - -} -GenA.prototype = new Gen0(); -GenA.name = "A"; - -function GenB(value) { - this.value = value; - this.generation = "B"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); -} -GenB.name = "B" - GenB.prototype = void 0; - - -// Identifier is a function, prototype of Identifier is not an object - -DESCRIPTION = "Identifier is a function, prototype of Identifier is not an object"; - -InstanceOf( new GenB(), GenB, "error" ); - -test(); diff --git a/js/src/tests/ecma_2/extensions/instanceof-006.js b/js/src/tests/ecma_2/extensions/instanceof-006.js deleted file mode 100644 index 86537f63bfe2..000000000000 --- a/js/src/tests/ecma_2/extensions/instanceof-006.js +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: instanceof-001.js - * ECMA Section: 11.8.6 - * Description: - * - * RelationalExpression instanceof Identifier - * - * Author: christine@netscape.com - * Date: 2 September 1998 - */ -var SECTION = "instanceof-001"; -var TITLE = "instanceof" - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object_1, object_2, expect ) { - result = object_1 instanceof object_2; - - new TestCase( - "(" + object_1 + ") instanceof " + object_2, - expect, - result ); -} - -function Gen3(value) { - this.value = value; - this.generation = 3; - this.toString = new Function ( "return \"(Gen\"+this.generation+\" instance)\"" ); -} -Gen3.name = 3; -Gen3.__proto__.toString = new Function( "return \"(\"+this.name+\" object)\""); - -function Gen2(value) { - this.value = value; - this.generation = 2; -} -Gen2.name = 2; -Gen2.prototype = new Gen3(); - -function Gen1(value) { - this.value = value; - this.generation = 1; -} -Gen1.name = 1; -Gen1.prototype = new Gen2(); - -function Gen0(value) { - this.value = value; - this.generation = 0; -} -Gen0.name = 0; -Gen0.prototype = new Gen1(); - - -function GenA(value) { - this.value = value; - this.generation = "A"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); - -} -GenA.prototype = new Gen0(); -GenA.name = "A"; - -function GenB(value) { - this.value = value; - this.generation = "B"; - this.toString = new Function ( "return \"(instance of Gen\"+this.generation+\")\"" ); -} -GenB.name = "B" - GenB.prototype = void 0; - -// RelationalExpression is not an object. - -// InstanceOf( true, Boolean, false ); -InstanceOf( new Boolean(false), Boolean, true ); - -test(); diff --git a/js/src/tests/ecma_2/instanceof/instanceof-001.js b/js/src/tests/ecma_2/instanceof/instanceof-001.js deleted file mode 100644 index dfda2baeaeec..000000000000 --- a/js/src/tests/ecma_2/instanceof/instanceof-001.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: instanceof-1.js - ECMA Section: - Description: instanceof operator - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = ""; -var TITLE = "instanceof operator"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var b = new Boolean(); - -new TestCase( "var b = new Boolean(); b instanceof Boolean", - true, - b instanceof Boolean ); - -new TestCase( "b instanceof Object", - true, - b instanceof Object ); - -test(); diff --git a/js/src/tests/ecma_2/instanceof/instanceof-002.js b/js/src/tests/ecma_2/instanceof/instanceof-002.js deleted file mode 100644 index 1c3b42af32cc..000000000000 --- a/js/src/tests/ecma_2/instanceof/instanceof-002.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: - ECMA Section: - Description: Call Objects - - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = ""; -var TITLE = "The Call Constructor"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var b = new Boolean(); - -new TestCase( "var b = new Boolean(); b instanceof Boolean", - true, - b instanceof Boolean ); - -new TestCase( "b instanceof Object", - true, - b instanceof Object ); - -new TestCase( "b instanceof Array", - false, - b instanceof Array ); - -new TestCase( "true instanceof Boolean", - false, - true instanceof Boolean ); - -new TestCase( "Boolean instanceof Object", - true, - Boolean instanceof Object ); -test(); - diff --git a/js/src/tests/ecma_2/instanceof/instanceof-003.js b/js/src/tests/ecma_2/instanceof/instanceof-003.js deleted file mode 100644 index 9f78e96838f2..000000000000 --- a/js/src/tests/ecma_2/instanceof/instanceof-003.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: instanceof-003.js - ECMA Section: - Description: http://bugzilla.mozilla.org/show_bug.cgi?id=7635 - - js> function Foo() {} - js> theproto = {}; - [object Object] - js> Foo.prototype = theproto - [object Object] - js> theproto instanceof Foo - true - - I think this should be 'false' - - - Author: christine@netscape.com - Date: 12 november 1997 - - Modified to conform to ECMA3 - https://bugzilla.mozilla.org/show_bug.cgi?id=281606 -*/ -var SECTION = "instanceof-003"; -var TITLE = "instanceof operator"; -var BUGNUMBER ="7635"; - -printBugNumber(BUGNUMBER); - -function Foo() {}; -theproto = {}; -Foo.prototype = theproto; - -AddTestCase( - "function Foo() = {}; theproto = {}; Foo.prototype = theproto; " + - "theproto instanceof Foo", - false, - theproto instanceof Foo ); - - -var o = {}; - -// https://bugzilla.mozilla.org/show_bug.cgi?id=281606 -try -{ - AddTestCase( - "o = {}; o instanceof o", - "error", - o instanceof o ); -} -catch(e) -{ - AddTestCase( - "o = {}; o instanceof o", - "error", - "error" ); -} - -test(); diff --git a/js/src/tests/ecma_2/instanceof/regress-7635.js b/js/src/tests/ecma_2/instanceof/regress-7635.js deleted file mode 100644 index 2ed6f8ca7e33..000000000000 --- a/js/src/tests/ecma_2/instanceof/regress-7635.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: regress-7635.js - * Reference: http://bugzilla.mozilla.org/show_bug.cgi?id=7635 - * Description: instanceof tweaks - * Author: - */ - -var SECTION = "instanceof"; // provide a document reference (ie, ECMA section) -var TITLE = "Regression test for Bugzilla #7635"; // Provide ECMA section title or a description -var BUGNUMBER = "7635"; // Provide URL to bugsplat or bugzilla report - -printBugNumber(BUGNUMBER); - -/* - * Calls to AddTestCase here. AddTestCase is a function that is defined - * in shell.js and takes three arguments: - * - a string representation of what is being tested - * - the expected result - * - the actual result - * - * For example, a test might look like this: - * - * var zip = /[\d]{5}$/; - * - * AddTestCase( - * "zip = /[\d]{5}$/; \"PO Box 12345 Boston, MA 02134\".match(zip)", // description of the test - * "02134", // expected result - * "PO Box 12345 Boston, MA 02134".match(zip) ); // actual result - * - */ - -function Foo() {} -theproto = {}; -Foo.prototype = theproto - theproto instanceof Foo - - - AddTestCase( "function Foo() {}; theproto = {}; Foo.prototype = theproto; theproto instanceof Foo", - false, - theproto instanceof Foo ); - -var f = new Function(); - -AddTestCase( "var f = new Function(); f instanceof f", false, f instanceof f ); - - -test(); // leave this alone. this executes the test cases and -// displays results. diff --git a/js/src/tests/ecma_2/template.js b/js/src/tests/ecma_2/template.js deleted file mode 100644 index 039736535d41..000000000000 --- a/js/src/tests/ecma_2/template.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - * Contributor: - */ - - -/** - * File Name: template.js - * Reference: ** replace with bugzilla URL or document reference ** - * Description: ** replace with description of test ** - * Author: ** replace with your e-mail address ** - */ - -var SECTION = ""; // if ECMA test, provide section number -var TITLE = ""; // Provide ECMA section title or description -var BUGNUMBER = ""; // Provide URL to bugsplat or bugzilla report - -printBugNumber(BUGNUMBER); // leave this alone - - -/* Calls to AddTestCase here */ - -test(); // leave this alone diff --git a/js/src/tests/ecma_3/Array/15.4.4.11-01.js b/js/src/tests/ecma_3/Array/15.4.4.11-01.js deleted file mode 100644 index d92ad5fceadc..000000000000 --- a/js/src/tests/ecma_3/Array/15.4.4.11-01.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -//----------------------------------------------------------------------------- -var BUGNUMBER = 312138; -var summary = 'Array.sort should not eat exceptions'; -var actual = ''; -var expect = ''; - -printBugNumber(BUGNUMBER); -printStatus (summary); - -expect = "e=1 N=1"; - -var N = 0; -var array = [4,3,2,1]; - -try { - array.sort(function() { - throw ++N; - }); -} catch (e) { - actual = ("e="+e+" N="+N); -} - -reportCompare(expect, actual, summary); diff --git a/js/src/tests/ecma_3/Array/15.4.4.3-1.js b/js/src/tests/ecma_3/Array/15.4.4.3-1.js deleted file mode 100644 index 34fcf6049a27..000000000000 --- a/js/src/tests/ecma_3/Array/15.4.4.3-1.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * Date: 12 Mar 2001 - * - * - * SUMMARY: Testing Array.prototype.toLocaleString() - * See http://bugzilla.mozilla.org/show_bug.cgi?id=56883 - * See http://bugzilla.mozilla.org/show_bug.cgi?id=58031 - * - * By ECMA3 15.4.4.3, myArray.toLocaleString() means that toLocaleString() - * should be applied to each element of the array, and the results should be - * concatenated with an implementation-specific delimiter. For example: - * - * myArray[0].toLocaleString() + ',' + myArray[1].toLocaleString() + etc. - * - * In this testcase toLocaleString is a user-defined property of each - * array element; therefore it is the function that should be - * invoked. This function increments a global variable. Therefore the - * end value of this variable should be myArray.length. - */ -//----------------------------------------------------------------------------- -var BUGNUMBER = 56883; -var summary = 'Testing Array.prototype.toLocaleString() -'; -var actual = ''; -var expect = ''; -var n = 0; -var obj = {toLocaleString: function() {n++}}; -var myArray = [obj, obj, obj]; - - -myArray.toLocaleString(); -actual = n; -expect = 3; // (see explanation above) - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - - reportCompare(expect, actual, summary); -} diff --git a/js/src/tests/ecma_3/Array/15.4.4.4-001.js b/js/src/tests/ecma_3/Array/15.4.4.4-001.js deleted file mode 100644 index 036808f01d55..000000000000 --- a/js/src/tests/ecma_3/Array/15.4.4.4-001.js +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 19 September 2002 - * SUMMARY: Testing Array.prototype.concat() - * See http://bugzilla.mozilla.org/show_bug.cgi?id=169795 - * - */ -//----------------------------------------------------------------------------- -var UBound = 0; -var BUGNUMBER = 169795; -var summary = 'Testing Array.prototype.concat()'; -var status = ''; -var statusitems = []; -var actual = ''; -var actualvalues = []; -var expect= ''; -var expectedvalues = []; -var x; - - -status = inSection(1); -x = "Hello"; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(2); -x = 999; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(3); -x = /Hello/g; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(4); -x = new Error("Hello"); -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(5); -x = function() {return "Hello";}; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(6); -x = [function() {return "Hello";}]; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(7); -x = [1,2,3].concat([4,5,6]); -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(8); -x = eval('this'); -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -/* - * The next two sections are by igor@icesoft.no; see - * http://bugzilla.mozilla.org/show_bug.cgi?id=169795#c3 - */ -status = inSection(9); -x={length:0}; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - -status = inSection(10); -x={length:2, 0:0, 1:1}; -actual = [].concat(x).toString(); -expect = x.toString(); -addThis(); - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -function addThis() -{ - statusitems[UBound] = status; - actualvalues[UBound] = actual; - expectedvalues[UBound] = expect; - UBound++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus(summary); - - for (var i=0; i err = new Error() - * undefined: undefined - * - * js> err = new Error("msg") - * undefined: msg - * - * - * We expect Rhino to return what SpiderMonkey currently does: - * - * js> err = new Error() - * Error - * - * js> err = new Error("msg") - * Error: msg - * - * - * i.e. we expect err.toString() === err.name if err.message is not defined; - * otherwise, we expect err.toString() === err.name + ': ' + err.message. - * - * See also ECMA 15.11.4.2, 15.11.4.3 - */ -//----------------------------------------------------------------------------- -var UBound = 0; -var BUGNUMBER = '(none)'; -var summary = 'Testing Error.prototype.toString()'; -var status = ''; -var statusitems = []; -var actual = ''; -var actualvalues = []; -var expect= ''; -var expectedvalues = []; -var EMPTY_STRING = ''; -var EXPECTED_FORMAT = 0; - - -status = inSection(1); -var err1 = new Error('msg1'); -actual = examineThis(err1, 'msg1'); -expect = EXPECTED_FORMAT; -addThis(); - -status = inSection(2); -var err2 = new Error(err1); -actual = examineThis(err2, err1); -expect = EXPECTED_FORMAT; -addThis(); - -status = inSection(3); -var err3 = new Error(); -actual = examineThis(err3, EMPTY_STRING); -expect = EXPECTED_FORMAT; -addThis(); - -status = inSection(4); -var err4 = new Error(EMPTY_STRING); -actual = examineThis(err4, EMPTY_STRING); -expect = EXPECTED_FORMAT; -addThis(); - -// now generate a run-time error - -status = inSection(5); -try -{ - eval('1=2'); -} -catch(err5) -{ - actual = examineThis(err5, '.*'); -} -expect = EXPECTED_FORMAT; -addThis(); - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -/* - * Searches err.toString() for err.name + ':' + err.message, - * with possible whitespace on each side of the colon sign. - * - * We allow for no colon in case err.message was not provided by the user. - * In such a case, SpiderMonkey and Rhino currently set err.message = '', - * as allowed for by ECMA 15.11.4.3. This makes |pattern| work in this case. - * - * If this is ever changed to a non-empty string, e.g. 'undefined', - * you may have to modify |pattern| to take that into account - - * - */ -function examineThis(err, msg) -{ - var pattern = err.name + '\\s*:?\\s*' + msg; - return err.toString().search(RegExp(pattern)); -} - - -function addThis() -{ - statusitems[UBound] = status; - actualvalues[UBound] = actual; - expectedvalues[UBound] = expect; - UBound++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - - for (var i = 0; i < UBound; i++) - { - reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]); - } -} diff --git a/js/src/tests/ecma_3/Exceptions/15.11.5.js b/js/src/tests/ecma_3/Exceptions/15.11.5.js deleted file mode 100644 index 3a0d5413bad6..000000000000 --- a/js/src/tests/ecma_3/Exceptions/15.11.5.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 4 Oct 2010 - * SUMMARY: Error instances have no special properties beyond those inherited - * from the Error prototype object - */ -//----------------------------------------------------------------------------- -var summary = 'Error instances have no special properties beyond those inherited the Error prototype object'; - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - printStatus (summary); - - var actual = { name: "no error", message: "no message" }; - try { - new Error.prototype; - } catch (e) { - actual = e; - } - - reportCompare("TypeError", actual.name, "must be a TypeError"); - reportCompare(true, /not a constructor/.test(actual.message), - "message must indicate not a constructor"); -} diff --git a/js/src/tests/ecma_3/Exceptions/15.11.7.6-001.js b/js/src/tests/ecma_3/Exceptions/15.11.7.6-001.js deleted file mode 100644 index 3310e0505e2d..000000000000 --- a/js/src/tests/ecma_3/Exceptions/15.11.7.6-001.js +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 14 April 2003 - * SUMMARY: Prototype of predefined error objects should be DontEnum - * See http://bugzilla.mozilla.org/show_bug.cgi?id=201989 - * - */ -//----------------------------------------------------------------------------- -var UBound = 0; -var BUGNUMBER = 201989; -var summary = 'Prototype of predefined error objects should be DontEnum'; -var status = ''; -var statusitems = []; -var actual = ''; -var actualvalues = []; -var expect= ''; -var expectedvalues = []; - - -/* - * Tests that |F.prototype| is not enumerable in |F| - */ -function testDontEnum(F) -{ - var proto = F.prototype; - - for (var prop in F) - { - if (F[prop] === proto) - return false; - } - return true; -} - - -var list = [ - "Error", - "ConversionError", - "EvalError", - "RangeError", - "ReferenceError", - "SyntaxError", - "TypeError", - "URIError" - ]; - - -for (i in list) -{ - var F = this[list[i]]; - - // Test for |F|; e.g. Rhino defines |ConversionError| while SM does not. - if (F) - { - status = 'Testing DontEnum attribute of |' + list[i] + '.prototype|'; - actual = testDontEnum(F); - expect = true; - addThis(); - } -} - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -function addThis() -{ - statusitems[UBound] = status; - actualvalues[UBound] = actual; - expectedvalues[UBound] = expect; - UBound++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus(summary); - - for (var i=0; i -1); - expect = true; - addThis(); -} - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - -function addThis() -{ - statusitems[UBound] = status; - actualvalues[UBound] = isReferenceError(actual); - expectedvalues[UBound] = isReferenceError(expect); - UBound++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - - for (var i = 0; i < UBound; i++) - { - reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]); - } -} - - -// converts a Boolean result into a textual result - -function isReferenceError(bResult) -{ - return bResult? ERR_REF_YES : ERR_REF_NO; -} diff --git a/js/src/tests/ecma_3/ExecutionContexts/10.1.3-1.js b/js/src/tests/ecma_3/ExecutionContexts/10.1.3-1.js deleted file mode 100644 index 2d16b48c1838..000000000000 --- a/js/src/tests/ecma_3/ExecutionContexts/10.1.3-1.js +++ /dev/null @@ -1,164 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 11 Feb 2002 - * SUMMARY: Testing functions having duplicate formal parameter names - * - * Note: given function f(x,x,x,x) {return x;}; f(1,2,3,4) should return 4. - * See ECMA-262 3rd Edition Final Section 10.1.3: Variable Instantiation - * - * Also see http://bugzilla.mozilla.org/show_bug.cgi?id=124900 - */ -//----------------------------------------------------------------------------- -var UBound = 0; -var BUGNUMBER = 124900; -var summary = 'Testing functions having duplicate formal parameter names'; -var status = ''; -var statusitems = []; -var actual = ''; -var actualvalues = []; -var expect= ''; -var expectedvalues = []; - - -function f1(x,x) -{ - return x; -} -status = inSection(1); -actual = f1(1,2); -expect = 2; -addThis(); - - -function f2(x,x,x) -{ - return x*x*x; -} -status = inSection(2); -actual = f2(1,2,3); -expect = 27; -addThis(); - - -function f3(x,x,x,x) -{ - return 'a' + x + 'b' + x + 'c' + x ; -} -status = inSection(3); -actual = f3(1,2,3,4); -expect = 'a4b4c4'; -addThis(); - - -/* - * If the value of the last duplicate parameter is not provided by - * the function caller, the value of this parameter is undefined - */ -function f4(x,a,b,x,z) -{ - return x; -} -status = inSection(4); -actual = f4(1,2); -expect = undefined; -addThis(); - - -/* - * f.toString() should preserve any duplicate formal parameter names that exist - */ -function f5(x,x,x,x) -{ -} -status = inSection(5); -actual = f5.toString().match(/\((.*)\)/)[1]; -actual = actual.replace(/\s/g, ''); // for definiteness, remove any white space -expect = 'x,x,x,x'; -addThis(); - - -function f6(x,x,x,x) -{ - var ret = []; - - for (var i=0; i> p); - - reportCompare(expectval, actualval, summary + ': value'); - reportCompare(expect, actual, summary + ': order'); -} diff --git a/js/src/tests/ecma_3/Expressions/11.7.3-01.js b/js/src/tests/ecma_3/Expressions/11.7.3-01.js deleted file mode 100644 index 4a9ad8d9761b..000000000000 --- a/js/src/tests/ecma_3/Expressions/11.7.3-01.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -//----------------------------------------------------------------------------- -var BUGNUMBER = 396969; -var summary = '11.7.3 - >>> should evaluate operands in order'; -var actual = ''; -var expect = ''; - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - - expect = 'o.valueOf, p.valueOf'; - var actualval; - var expectval = 10; - - var o = { - valueOf: (function (){ actual += 'o.valueOf'; return this.value}), - value:42 - }; - - var p = { - valueOf: (function (){ actual += ', p.valueOf'; return this.value}), - value:2 - }; - - actualval = (o >>> p); - - reportCompare(expectval, actualval, summary + ': value'); - reportCompare(expect, actual, summary + ': order'); -} diff --git a/js/src/tests/ecma_3/Expressions/11.9.6-1.js b/js/src/tests/ecma_3/Expressions/11.9.6-1.js deleted file mode 100644 index 67fece67e30e..000000000000 --- a/js/src/tests/ecma_3/Expressions/11.9.6-1.js +++ /dev/null @@ -1,176 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 20 Feb 2002 - * SUMMARY: Testing the comparison |undefined === null| - * See http://bugzilla.mozilla.org/show_bug.cgi?id=126722 - * - */ -//----------------------------------------------------------------------------- -var UBound = 0; -var BUGNUMBER = 126722; -var summary = 'Testing the comparison |undefined === null|'; -var status = ''; -var statusitems = []; -var actual = ''; -var actualvalues = []; -var expect= ''; -var expectedvalues = []; - - -status = inSection(1); -if (undefined === null) - actual = true; -else - actual = false; -expect = false; -addThis(); - - - -status = inSection(2); -switch(true) -{ -case (undefined === null) : - actual = true; - break; - -default: - actual = false; -} -expect = false; -addThis(); - - - -status = inSection(3); -function f3(x) -{ - var res = false; - - switch(true) - { - case (x === null) : - res = true; - break; - - default: - // do nothing - } - - return res; -} - -actual = f3(undefined); -expect = false; -addThis(); - - - -status = inSection(4); -function f4(arr) -{ - var elt = ''; - var res = false; - - for (i=0; i length then set lastIndex to 0 and return null. - * 7. Call [[Match]], giving it the arguments S and i. - * If [[Match]] returned failure, go to step 8; - * otherwise let r be its State result and go to step 10. - * 8. Let i = i+1. - * 9. Go to step 6. - * 10. Let e be r's endIndex value. - * 11. If the global property is true, set lastIndex to e. - * - * etc. - * - * - * So when the global flag is set, |lastIndex| is incremented every time - * there is a match; not from i to i+1, but from i to "endIndex" e: - * - * e = (index of last input character matched so far by the pattern) + 1 - * - * Thus in the example below, the first endIndex e occurs after the - * first match 'a b'. The next match will begin AFTER this, and so - * will NOT be 'b c', but rather 'c d'. Similarly, 'd e' won't be matched. - */ -//----------------------------------------------------------------------------- -var i = 0; -var BUGNUMBER = '(none)'; -var summary = 'Testing regexps with the global flag set'; -var status = ''; -var statusmessages = new Array(); -var pattern = ''; -var patterns = new Array(); -var string = ''; -var strings = new Array(); -var actualmatch = ''; -var actualmatches = new Array(); -var expectedmatch = ''; -var expectedmatches = new Array(); - - -status = inSection(1); -string = 'a b c d e'; -pattern = /\w\s\w/g; -actualmatch = string.match(pattern); -expectedmatch = ['a b','c d']; // see above explanation - -addThis(); - - -status = inSection(2); -string = '12345678'; -pattern = /\d\d\d/g; -actualmatch = string.match(pattern); -expectedmatch = ['123','456']; -addThis(); - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -function addThis() -{ - statusmessages[i] = status; - patterns[i] = pattern; - strings[i] = string; - actualmatches[i] = actualmatch; - expectedmatches[i] = expectedmatch; - i++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches); -} diff --git a/js/src/tests/ecma_3/RegExp/15.10.6.2-2.js b/js/src/tests/ecma_3/RegExp/15.10.6.2-2.js deleted file mode 100644 index 3dfb6ac74fd1..000000000000 --- a/js/src/tests/ecma_3/RegExp/15.10.6.2-2.js +++ /dev/null @@ -1,292 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 18 Feb 2002 - * SUMMARY: Testing re.exec(str) when re.lastIndex is < 0 or > str.length - * - * Case 1: If re has the global flag set, then re(str) should be null - * Case 2: If re doesn't have this set, then re(str) should be unaffected - * - * See http://bugzilla.mozilla.org/show_bug.cgi?id=76717 - * - * - * From the ECMA-262 Final spec: - * - * 15.10.6.2 RegExp.prototype.exec(string) - * Performs a regular expression match of string against the regular - * expression and returns an Array object containing the results of - * the match, or null if the string did not match. - * - * The string ToString(string) is searched for an occurrence of the - * regular expression pattern as follows: - * - * 1. Let S be the value of ToString(string). - * 2. Let length be the length of S. - * 3. Let lastIndex be the value of the lastIndex property. - * 4. Let i be the value of ToInteger(lastIndex). - * 5. If the global property is false, let i = 0. - * 6. If i < 0 or i > length then set lastIndex to 0 and return null. - * 7. Call [[Match]], giving it the arguments S and i. - * If [[Match]] returned failure, go to step 8; - * otherwise let r be its State result and go to step 10. - * 8. Let i = i+1. - * 9. Go to step 6. - * 10. Let e be r's endIndex value. - * 11. If the global property is true, set lastIndex to e. - * - * etc. - * - * - * So: - * - * A. If the global flag is not set, |lastIndex| is set to 0 - * before the match is attempted; thus the match is unaffected. - * - * B. If the global flag IS set and re.lastIndex is >= 0 and <= str.length, - * |lastIndex| is incremented every time there is a match; not from - * i to i+1, but from i to "endIndex" e: - * - * e = (index of last input character matched so far by the pattern) + 1 - * - * The match is then attempted from this position in the string (Step 7). - * - * C. When the global flag IS set and re.lastIndex is < 0 or > str.length, - * |lastIndex| is set to 0 and the match returns null. - * - * - * Note the |lastIndex| property is writeable, and may be set arbitrarily - * by the programmer - and we will do that below. - * - */ -//----------------------------------------------------------------------------- -var i = 0; -var BUGNUMBER = 76717; -var summary = 'Testing re.exec(str) when re.lastIndex is < 0 or > str.length'; -var status = ''; -var statusmessages = new Array(); -var pattern = ''; -var patterns = new Array(); -var string = ''; -var strings = new Array(); -var actualmatch = ''; -var actualmatches = new Array(); -var expectedmatch = ''; -var expectedmatches = new Array(); - - -/****************************************************************************** - * - * Case 1 : when the global flag is set - - * - *****************************************************************************/ -pattern = /abc/gi; -string = 'AbcaBcabC'; - -status = inSection(1); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc'); -addThis(); - -status = inSection(2); -actualmatch = pattern.exec(string); -expectedmatch = Array('aBc'); -addThis(); - -status = inSection(3); -actualmatch = pattern.exec(string); -expectedmatch = Array('abC'); -addThis(); - -/* - * At this point |lastIndex| is > string.length, so the match should be null - - */ -status = inSection(4); -actualmatch = pattern.exec(string); -expectedmatch = null; -addThis(); - -/* - * Now try some edge-case values. Thanks to the work done in - * http://bugzilla.mozilla.org/show_bug.cgi?id=124339, |lastIndex| - * is now stored as a double instead of a uint32_t (unsigned integer). - * - * Note 2^32 -1 is the upper bound for uint32's, but doubles can go - * all the way up to Number.MAX_VALUE. So that's why we need cases - * between those two numbers. - */ -status = inSection(6); -pattern.lastIndex = Math.pow(2,32); -actualmatch = pattern.exec(string); -expectedmatch = null; -addThis(); - -status = inSection(8); -pattern.lastIndex = Math.pow(2,32) + 1; -actualmatch = pattern.exec(string); -expectedmatch = null; -addThis(); - -status = inSection(10); -pattern.lastIndex = Math.pow(2,32) * 2; -actualmatch = pattern.exec(string); -expectedmatch = null; -addThis(); - -status = inSection(12); -pattern.lastIndex = Math.pow(2,40); -actualmatch = pattern.exec(string); -expectedmatch = null; -addThis(); - -status = inSection(14); -pattern.lastIndex = Number.MAX_VALUE; -actualmatch = pattern.exec(string); -expectedmatch = null; -addThis(); - - - -/****************************************************************************** - * - * Case 2: repeat all the above cases WITHOUT the global flag set. - * According to EMCA. |lastIndex| should get set to 0 before the match. - * - * Therefore re.exec(str) should be unaffected; thus our expected values - * below are now DIFFERENT when |lastIndex| is < 0 or > str.length - * - *****************************************************************************/ - -pattern = /abc/i; -string = 'AbcaBcabC'; - -status = inSection(16); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc'); -addThis(); - -status = inSection(17); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc'); // NOT Array('aBc') as before - -addThis(); - -status = inSection(18); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc'); // NOT Array('abC') as before - -addThis(); - -/* - * At this point above, |lastIndex| WAS > string.length, but not here - - */ -status = inSection(19); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -/* - * Now let's set |lastIndex| to -1 - */ -status = inSection(20); -pattern.lastIndex = -1; -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -/* - * Now try some edge-case values. Thanks to the work done in - * http://bugzilla.mozilla.org/show_bug.cgi?id=124339, |lastIndex| - * is now stored as a double instead of a uint32_t (unsigned integer). - * - * Note 2^32 -1 is the upper bound for uint32's, but doubles can go - * all the way up to Number.MAX_VALUE. So that's why we need cases - * between those two numbers. - */ -status = inSection(21); -pattern.lastIndex = Math.pow(2,32); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(22); -pattern.lastIndex = -Math.pow(2,32); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(23); -pattern.lastIndex = Math.pow(2,32) + 1; -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(24); -pattern.lastIndex = -(Math.pow(2,32) + 1); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(25); -pattern.lastIndex = Math.pow(2,32) * 2; -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(26); -pattern.lastIndex = -Math.pow(2,32) * 2; -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(27); -pattern.lastIndex = Math.pow(2,40); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before -; - addThis(); - -status = inSection(28); -pattern.lastIndex = -Math.pow(2,40); -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(29); -pattern.lastIndex = Number.MAX_VALUE; -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - -status = inSection(30); -pattern.lastIndex = -Number.MAX_VALUE; -actualmatch = pattern.exec(string); -expectedmatch = Array('Abc') // NOT null as before - - addThis(); - - - - -//------------------------------------------------------------------------------------------------- -test(); -//------------------------------------------------------------------------------------------------- - - - -function addThis() -{ - statusmessages[i] = status; - patterns[i] = pattern; - strings[i] = string; - actualmatches[i] = actualmatch; - expectedmatches[i] = expectedmatch; - i++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches); -} diff --git a/js/src/tests/ecma_3/RegExp/octal-001.js b/js/src/tests/ecma_3/RegExp/octal-001.js deleted file mode 100644 index 70a200b2c26d..000000000000 --- a/js/src/tests/ecma_3/RegExp/octal-001.js +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 18 July 2002 - * SUMMARY: Testing octal sequences in regexps - * See http://bugzilla.mozilla.org/show_bug.cgi?id=141078 - * - */ -//----------------------------------------------------------------------------- -var i = 0; -var BUGNUMBER = 141078; -var summary = 'Testing octal sequences in regexps'; -var status = ''; -var statusmessages = new Array(); -var pattern = ''; -var patterns = new Array(); -var string = ''; -var strings = new Array(); -var actualmatch = ''; -var actualmatches = new Array(); -var expectedmatch = ''; -var expectedmatches = new Array(); - - -status = inSection(1); -pattern = /\240/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -/* - * In the following sections, we test the octal escape sequence '\052'. - * This is character code 42, representing the asterisk character '*'. - * The Unicode escape for it would be '\u002A', the hex escape '\x2A'. - */ -status = inSection(2); -pattern = /ab\052c/; -string = 'ab*c'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab*c'); -addThis(); - -status = inSection(3); -pattern = /ab\052*c/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(4); -pattern = /ab(\052)+c/; -string = 'ab****c'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab****c', '*'); -addThis(); - -status = inSection(5); -pattern = /ab((\052)+)c/; -string = 'ab****c'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab****c', '****', '*'); -addThis(); - -status = inSection(6); -pattern = /(?:\052)c/; -string = 'ab****c'; -actualmatch = string.match(pattern); -expectedmatch = Array('*c'); -addThis(); - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -function addThis() -{ - statusmessages[i] = status; - patterns[i] = pattern; - strings[i] = string; - actualmatches[i] = actualmatch; - expectedmatches[i] = expectedmatch; - i++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus(summary); - testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches); -} diff --git a/js/src/tests/ecma_3/RegExp/octal-002.js b/js/src/tests/ecma_3/RegExp/octal-002.js deleted file mode 100644 index b3ba3711cef1..000000000000 --- a/js/src/tests/ecma_3/RegExp/octal-002.js +++ /dev/null @@ -1,182 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 31 July 2002 - * SUMMARY: Testing regexps containing octal escape sequences - * This is an elaboration of mozilla/js/tests/ecma_2/RegExp/octal-003.js - * - * See http://bugzilla.mozilla.org/show_bug.cgi?id=141078 - * for a reference on octal escape sequences in regexps. - * - * NOTE: - * We will use the identities '\011' === '\u0009' === '\x09' === '\t' - * - * The first is an octal escape sequence (\(0-3)OO; O an octal digit). - * See ECMA-262 Edition 2, Section 7.7.4 "String Literals". These were - * dropped in Edition 3 but we support them for backward compatibility. - * - * The second is a Unicode escape sequence (\uHHHH; H a hex digit). - * Since octal 11 = hex 9, the two escapes define the same character. - * - * The third is a hex escape sequence (\xHH; H a hex digit). - * Since hex 09 = hex 0009, this defines the same character. - * - * The fourth is the familiar escape sequence for a horizontal tab, - * defined in the ECMA spec as having Unicode value \u0009. - */ -//----------------------------------------------------------------------------- -var i = 0; -var BUGNUMBER = 141078; -var summary = 'Testing regexps containing octal escape sequences'; -var status = ''; -var statusmessages = new Array(); -var pattern = ''; -var patterns = new Array(); -var string = ''; -var strings = new Array(); -var actualmatch = ''; -var actualmatches = new Array(); -var expectedmatch = ''; -var expectedmatches = new Array(); - - -/* - * Test a string containing the null character '\0' followed by the string '11' - * - * 'a' + String.fromCharCode(0) + '11'; - * - * Note we can't simply write 'a\011', because '\011' would be interpreted - * as the octal escape sequence for the tab character (see above). - * - * We should get no match from the regexp /.\011/, because it should be - * looking for the octal escape sequence \011, i.e. the tab character - - * - */ -status = inSection(1); -pattern = /.\011/; -string = 'a' + String.fromCharCode(0) + '11'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - - -/* - * Try same thing with 'xx' in place of '11'. - * - * Should get a match now, because the octal escape sequence in the regexp - * has been reduced from \011 to \0, and '\0' is present in the string - - */ -status = inSection(2); -pattern = /.\0xx/; -string = 'a' + String.fromCharCode(0) + 'xx'; -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - -/* - * Same thing; don't use |String.fromCharCode(0)| this time. - * There is no ambiguity in '\0xx': it is the null character - * followed by two x's, no other interpretation is possible. - */ -status = inSection(3); -pattern = /.\0xx/; -string = 'a\0xx'; -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - -/* - * This one should produce a match. The two-character string - * 'a' + '\011' is duplicated in the pattern and test string: - */ -status = inSection(4); -pattern = /.\011/; -string = 'a\011'; -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - -/* - * Same as above, only now, for the second character of the string, - * use the Unicode escape '\u0009' instead of the octal escape '\011' - */ -status = inSection(5); -pattern = /.\011/; -string = 'a\u0009'; -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - -/* - * Same as above, only now for the second character of the string, - * use the hex escape '\x09' instead of the octal escape '\011' - */ -status = inSection(6); -pattern = /.\011/; -string = 'a\x09'; -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - -/* - * Same as above, only now for the second character of the string, - * use the escape '\t' instead of the octal escape '\011' - */ -status = inSection(7); -pattern = /.\011/; -string = 'a\t'; -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - -/* - * Return to the string from Section 1. - * - * Unlike Section 1, use the RegExp() function to create the - * regexp pattern: null character followed by the string '11'. - * - * Since this is exactly what the string is, we should get a match - - */ -status = inSection(8); -string = 'a' + String.fromCharCode(0) + '11'; -pattern = RegExp(string); -actualmatch = string.match(pattern); -expectedmatch = Array(string); -addThis(); - - - - -//------------------------------------------------------------------------------------------------- -test(); -//------------------------------------------------------------------------------------------------- - - - -function addThis() -{ - statusmessages[i] = status; - patterns[i] = pattern; - strings[i] = string; - actualmatches[i] = actualmatch; - expectedmatches[i] = expectedmatch; - i++; -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches); -} diff --git a/js/src/tests/ecma_3/RegExp/perlstress-001.js b/js/src/tests/ecma_3/RegExp/perlstress-001.js deleted file mode 100644 index c073a8f73301..000000000000 --- a/js/src/tests/ecma_3/RegExp/perlstress-001.js +++ /dev/null @@ -1,3194 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 2002-07-07 - * SUMMARY: Testing JS RegExp engine against Perl 5 RegExp engine. - * Adjust cnLBOUND, cnUBOUND below to restrict which sections are tested. - * - * This test was created by running various patterns and strings through the - * Perl 5 RegExp engine. We saved the results below to test the JS engine. - * - * NOTE: ECMA/JS and Perl do differ on certain points. We have either commented - * out such sections altogether, or modified them to fit what we expect from JS. - * - * EXAMPLES: - * - * - In JS, regexp captures (/(a) etc./) must hold |undefined| if not used. - * See http://bugzilla.mozilla.org/show_bug.cgi?id=123437. - * By contrast, in Perl, unmatched captures hold the empty string. - * We have modified such sections accordingly. Example: - - pattern = /^([^a-z])|(\^)$/; - string = '.'; - actualmatch = string.match(pattern); - //expectedmatch = Array('.', '.', ''); <<<--- Perl - expectedmatch = Array('.', '.', undefined); <<<--- JS - addThis(); - - - * - In JS, you can't refer to a capture before it's encountered & completed - * - * - Perl supports ] & ^] inside a [], ECMA does not - * - * - ECMA does support (?: (?= and (?! operators, but doesn't support (?< etc. - * - * - ECMA doesn't support (?imsx or (?-imsx - * - * - ECMA doesn't support (?(condition) - * - * - Perl has \Z has end-of-line, ECMA doesn't - * - * - In ECMA, ^ matches only the empty string before the first character - * - * - In ECMA, $ matches only the empty string at end of input (unless multiline) - * - * - ECMA spec says that each atom in a range must be a single character - * - * - ECMA doesn't support \A - * - * - ECMA doesn't have rules for [: - * - */ -//----------------------------------------------------------------------------- -var i = 0; -var BUGNUMBER = 85721; -var summary = 'Testing regular expression edge cases'; -var cnSingleSpace = ' '; -var status = ''; -var statusmessages = new Array(); -var pattern = ''; -var patterns = new Array(); -var string = ''; -var strings = new Array(); -var actualmatch = ''; -var actualmatches = new Array(); -var expectedmatch = ''; -var expectedmatches = new Array(); -var cnLBOUND = 1; -var cnUBOUND = 1000; - - -status = inSection(1); -pattern = /abc/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(2); -pattern = /abc/; -string = 'xabcy'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(3); -pattern = /abc/; -string = 'ababc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(4); -pattern = /ab*c/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(5); -pattern = /ab*bc/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(6); -pattern = /ab*bc/; -string = 'abbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbc'); -addThis(); - -status = inSection(7); -pattern = /ab*bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbbc'); -addThis(); - -status = inSection(8); -pattern = /.{1}/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(9); -pattern = /.{3,4}/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbb'); -addThis(); - -status = inSection(10); -pattern = /ab{0,}bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbbc'); -addThis(); - -status = inSection(11); -pattern = /ab+bc/; -string = 'abbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbc'); -addThis(); - -status = inSection(12); -pattern = /ab+bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbbc'); -addThis(); - -status = inSection(13); -pattern = /ab{1,}bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbbc'); -addThis(); - -status = inSection(14); -pattern = /ab{1,3}bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbbc'); -addThis(); - -status = inSection(15); -pattern = /ab{3,4}bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbbc'); -addThis(); - -status = inSection(16); -pattern = /ab?bc/; -string = 'abbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbc'); -addThis(); - -status = inSection(17); -pattern = /ab?bc/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(18); -pattern = /ab{0,1}bc/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(19); -pattern = /ab?c/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(20); -pattern = /ab{0,1}c/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(21); -pattern = /^abc$/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(22); -pattern = /^abc/; -string = 'abcc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(23); -pattern = /abc$/; -string = 'aabc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(24); -pattern = /^/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array(''); -addThis(); - -status = inSection(25); -pattern = /$/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array(''); -addThis(); - -status = inSection(26); -pattern = /a.c/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(27); -pattern = /a.c/; -string = 'axc'; -actualmatch = string.match(pattern); -expectedmatch = Array('axc'); -addThis(); - -status = inSection(28); -pattern = /a.*c/; -string = 'axyzc'; -actualmatch = string.match(pattern); -expectedmatch = Array('axyzc'); -addThis(); - -status = inSection(29); -pattern = /a[bc]d/; -string = 'abd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abd'); -addThis(); - -status = inSection(30); -pattern = /a[b-d]e/; -string = 'ace'; -actualmatch = string.match(pattern); -expectedmatch = Array('ace'); -addThis(); - -status = inSection(31); -pattern = /a[b-d]/; -string = 'aac'; -actualmatch = string.match(pattern); -expectedmatch = Array('ac'); -addThis(); - -status = inSection(32); -pattern = /a[-b]/; -string = 'a-'; -actualmatch = string.match(pattern); -expectedmatch = Array('a-'); -addThis(); - -status = inSection(33); -pattern = /a[b-]/; -string = 'a-'; -actualmatch = string.match(pattern); -expectedmatch = Array('a-'); -addThis(); - -status = inSection(34); -pattern = /a]/; -string = 'a]'; -actualmatch = string.match(pattern); -expectedmatch = Array('a]'); -addThis(); - -/* Perl supports ] & ^] inside a [], ECMA does not - pattern = /a[]]b/; - status = inSection(35); - string = 'a]b'; - actualmatch = string.match(pattern); - expectedmatch = Array('a]b'); - addThis(); -*/ - -status = inSection(36); -pattern = /a[^bc]d/; -string = 'aed'; -actualmatch = string.match(pattern); -expectedmatch = Array('aed'); -addThis(); - -status = inSection(37); -pattern = /a[^-b]c/; -string = 'adc'; -actualmatch = string.match(pattern); -expectedmatch = Array('adc'); -addThis(); - -/* Perl supports ] & ^] inside a [], ECMA does not - status = inSection(38); - pattern = /a[^]b]c/; - string = 'adc'; - actualmatch = string.match(pattern); - expectedmatch = Array('adc'); - addThis(); -*/ - -status = inSection(39); -pattern = /\ba\b/; -string = 'a-'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(40); -pattern = /\ba\b/; -string = '-a'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(41); -pattern = /\ba\b/; -string = '-a-'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(42); -pattern = /\By\b/; -string = 'xy'; -actualmatch = string.match(pattern); -expectedmatch = Array('y'); -addThis(); - -status = inSection(43); -pattern = /\by\B/; -string = 'yz'; -actualmatch = string.match(pattern); -expectedmatch = Array('y'); -addThis(); - -status = inSection(44); -pattern = /\By\B/; -string = 'xyz'; -actualmatch = string.match(pattern); -expectedmatch = Array('y'); -addThis(); - -status = inSection(45); -pattern = /\w/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(46); -pattern = /\W/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = Array('-'); -addThis(); - -status = inSection(47); -pattern = /a\Sb/; -string = 'a-b'; -actualmatch = string.match(pattern); -expectedmatch = Array('a-b'); -addThis(); - -status = inSection(48); -pattern = /\d/; -string = '1'; -actualmatch = string.match(pattern); -expectedmatch = Array('1'); -addThis(); - -status = inSection(49); -pattern = /\D/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = Array('-'); -addThis(); - -status = inSection(50); -pattern = /[\w]/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(51); -pattern = /[\W]/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = Array('-'); -addThis(); - -status = inSection(52); -pattern = /a[\S]b/; -string = 'a-b'; -actualmatch = string.match(pattern); -expectedmatch = Array('a-b'); -addThis(); - -status = inSection(53); -pattern = /[\d]/; -string = '1'; -actualmatch = string.match(pattern); -expectedmatch = Array('1'); -addThis(); - -status = inSection(54); -pattern = /[\D]/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = Array('-'); -addThis(); - -status = inSection(55); -pattern = /ab|cd/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab'); -addThis(); - -status = inSection(56); -pattern = /ab|cd/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab'); -addThis(); - -status = inSection(57); -pattern = /()ef/; -string = 'def'; -actualmatch = string.match(pattern); -expectedmatch = Array('ef', ''); -addThis(); - -status = inSection(58); -pattern = /a\(b/; -string = 'a(b'; -actualmatch = string.match(pattern); -expectedmatch = Array('a(b'); -addThis(); - -status = inSection(59); -pattern = /a\(*b/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab'); -addThis(); - -status = inSection(60); -pattern = /a\(*b/; -string = 'a((b'; -actualmatch = string.match(pattern); -expectedmatch = Array('a((b'); -addThis(); - -status = inSection(61); -pattern = /a\\b/; -string = 'a\\b'; -actualmatch = string.match(pattern); -expectedmatch = Array('a\\b'); -addThis(); - -status = inSection(62); -pattern = /((a))/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a', 'a'); -addThis(); - -status = inSection(63); -pattern = /(a)b(c)/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc', 'a', 'c'); -addThis(); - -status = inSection(64); -pattern = /a+b+c/; -string = 'aabbabc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(65); -pattern = /a{1,}b{1,}c/; -string = 'aabbabc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(66); -pattern = /a.+?c/; -string = 'abcabc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc'); -addThis(); - -status = inSection(67); -pattern = /(a+|b)*/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab', 'b'); -addThis(); - -status = inSection(68); -pattern = /(a+|b){0,}/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab', 'b'); -addThis(); - -status = inSection(69); -pattern = /(a+|b)+/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab', 'b'); -addThis(); - -status = inSection(70); -pattern = /(a+|b){1,}/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab', 'b'); -addThis(); - -status = inSection(71); -pattern = /(a+|b)?/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a'); -addThis(); - -status = inSection(72); -pattern = /(a+|b){0,1}/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a'); -addThis(); - -status = inSection(73); -pattern = /[^ab]*/; -string = 'cde'; -actualmatch = string.match(pattern); -expectedmatch = Array('cde'); -addThis(); - -status = inSection(74); -pattern = /([abc])*d/; -string = 'abbbcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abbbcd', 'c'); -addThis(); - -status = inSection(75); -pattern = /([abc])*bcd/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd', 'a'); -addThis(); - -status = inSection(76); -pattern = /a|b|c|d|e/; -string = 'e'; -actualmatch = string.match(pattern); -expectedmatch = Array('e'); -addThis(); - -status = inSection(77); -pattern = /(a|b|c|d|e)f/; -string = 'ef'; -actualmatch = string.match(pattern); -expectedmatch = Array('ef', 'e'); -addThis(); - -status = inSection(78); -pattern = /abcd*efg/; -string = 'abcdefg'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcdefg'); -addThis(); - -status = inSection(79); -pattern = /ab*/; -string = 'xabyabbbz'; -actualmatch = string.match(pattern); -expectedmatch = Array('ab'); -addThis(); - -status = inSection(80); -pattern = /ab*/; -string = 'xayabbbz'; -actualmatch = string.match(pattern); -expectedmatch = Array('a'); -addThis(); - -status = inSection(81); -pattern = /(ab|cd)e/; -string = 'abcde'; -actualmatch = string.match(pattern); -expectedmatch = Array('cde', 'cd'); -addThis(); - -status = inSection(82); -pattern = /[abhgefdc]ij/; -string = 'hij'; -actualmatch = string.match(pattern); -expectedmatch = Array('hij'); -addThis(); - -status = inSection(83); -pattern = /(abc|)ef/; -string = 'abcdef'; -actualmatch = string.match(pattern); -expectedmatch = Array('ef', ''); -addThis(); - -status = inSection(84); -pattern = /(a|b)c*d/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('bcd', 'b'); -addThis(); - -status = inSection(85); -pattern = /(ab|ab*)bc/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc', 'a'); -addThis(); - -status = inSection(86); -pattern = /a([bc]*)c*/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc', 'bc'); -addThis(); - -status = inSection(87); -pattern = /a([bc]*)(c*d)/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd', 'bc', 'd'); -addThis(); - -status = inSection(88); -pattern = /a([bc]+)(c*d)/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd', 'bc', 'd'); -addThis(); - -status = inSection(89); -pattern = /a([bc]*)(c+d)/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd', 'b', 'cd'); -addThis(); - -status = inSection(90); -pattern = /a[bcd]*dcdcde/; -string = 'adcdcde'; -actualmatch = string.match(pattern); -expectedmatch = Array('adcdcde'); -addThis(); - -status = inSection(91); -pattern = /(ab|a)b*c/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abc', 'ab'); -addThis(); - -status = inSection(92); -pattern = /((a)(b)c)(d)/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd', 'abc', 'a', 'b', 'd'); -addThis(); - -status = inSection(93); -pattern = /[a-zA-Z_][a-zA-Z0-9_]*/; -string = 'alpha'; -actualmatch = string.match(pattern); -expectedmatch = Array('alpha'); -addThis(); - -status = inSection(94); -pattern = /^a(bc+|b[eh])g|.h$/; -string = 'abh'; -actualmatch = string.match(pattern); -expectedmatch = Array('bh', undefined); -addThis(); - -status = inSection(95); -pattern = /(bc+d$|ef*g.|h?i(j|k))/; -string = 'effgz'; -actualmatch = string.match(pattern); -expectedmatch = Array('effgz', 'effgz', undefined); -addThis(); - -status = inSection(96); -pattern = /(bc+d$|ef*g.|h?i(j|k))/; -string = 'ij'; -actualmatch = string.match(pattern); -expectedmatch = Array('ij', 'ij', 'j'); -addThis(); - -status = inSection(97); -pattern = /(bc+d$|ef*g.|h?i(j|k))/; -string = 'reffgz'; -actualmatch = string.match(pattern); -expectedmatch = Array('effgz', 'effgz', undefined); -addThis(); - -status = inSection(98); -pattern = /((((((((((a))))))))))/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'); -addThis(); - -status = inSection(99); -pattern = /((((((((((a))))))))))\10/; -string = 'aa'; -actualmatch = string.match(pattern); -expectedmatch = Array('aa', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'); -addThis(); - -status = inSection(100); -pattern = /((((((((((a))))))))))/; -string = 'a!'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'); -addThis(); - -status = inSection(101); -pattern = /(((((((((a)))))))))/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'); -addThis(); - -status = inSection(102); -pattern = /(.*)c(.*)/; -string = 'abcde'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcde', 'ab', 'de'); -addThis(); - -status = inSection(103); -pattern = /abcd/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd'); -addThis(); - -status = inSection(104); -pattern = /a(bc)d/; -string = 'abcd'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcd', 'bc'); -addThis(); - -status = inSection(105); -pattern = /a[-]?c/; -string = 'ac'; -actualmatch = string.match(pattern); -expectedmatch = Array('ac'); -addThis(); - -status = inSection(106); -pattern = /(abc)\1/; -string = 'abcabc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcabc', 'abc'); -addThis(); - -status = inSection(107); -pattern = /([a-c]*)\1/; -string = 'abcabc'; -actualmatch = string.match(pattern); -expectedmatch = Array('abcabc', 'abc'); -addThis(); - -status = inSection(108); -pattern = /(a)|\1/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = Array('a', 'a'); -addThis(); - -status = inSection(109); -pattern = /(([a-c])b*?\2)*/; -string = 'ababbbcbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('ababb', 'bb', 'b'); -addThis(); - -status = inSection(110); -pattern = /(([a-c])b*?\2){3}/; -string = 'ababbbcbc'; -actualmatch = string.match(pattern); -expectedmatch = Array('ababbbcbc', 'cbc', 'c'); -addThis(); - -/* Can't refer to a capture before it's encountered & completed - status = inSection(111); - pattern = /((\3|b)\2(a)x)+/; - string = 'aaaxabaxbaaxbbax'; - actualmatch = string.match(pattern); - expectedmatch = Array('bbax', 'bbax', 'b', 'a'); - addThis(); - - status = inSection(112); - pattern = /((\3|b)\2(a)){2,}/; - string = 'bbaababbabaaaaabbaaaabba'; - actualmatch = string.match(pattern); - expectedmatch = Array('bbaaaabba', 'bba', 'b', 'a'); - addThis(); -*/ - -status = inSection(113); -pattern = /abc/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(114); -pattern = /abc/i; -string = 'XABCY'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(115); -pattern = /abc/i; -string = 'ABABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(116); -pattern = /ab*c/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(117); -pattern = /ab*bc/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(118); -pattern = /ab*bc/i; -string = 'ABBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBC'); -addThis(); - -status = inSection(119); -pattern = /ab*?bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBBC'); -addThis(); - -status = inSection(120); -pattern = /ab{0,}?bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBBC'); -addThis(); - -status = inSection(121); -pattern = /ab+?bc/i; -string = 'ABBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBC'); -addThis(); - -status = inSection(122); -pattern = /ab+bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBBC'); -addThis(); - -status = inSection(123); -pattern = /ab{1,}?bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBBC'); -addThis(); - -status = inSection(124); -pattern = /ab{1,3}?bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBBC'); -addThis(); - -status = inSection(125); -pattern = /ab{3,4}?bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBBC'); -addThis(); - -status = inSection(126); -pattern = /ab??bc/i; -string = 'ABBC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBC'); -addThis(); - -status = inSection(127); -pattern = /ab??bc/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(128); -pattern = /ab{0,1}?bc/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(129); -pattern = /ab??c/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(130); -pattern = /ab{0,1}?c/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(131); -pattern = /^abc$/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(132); -pattern = /^abc/i; -string = 'ABCC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(133); -pattern = /abc$/i; -string = 'AABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(134); -pattern = /^/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array(''); -addThis(); - -status = inSection(135); -pattern = /$/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array(''); -addThis(); - -status = inSection(136); -pattern = /a.c/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(137); -pattern = /a.c/i; -string = 'AXC'; -actualmatch = string.match(pattern); -expectedmatch = Array('AXC'); -addThis(); - -status = inSection(138); -pattern = /a.*?c/i; -string = 'AXYZC'; -actualmatch = string.match(pattern); -expectedmatch = Array('AXYZC'); -addThis(); - -status = inSection(139); -pattern = /a[bc]d/i; -string = 'ABD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABD'); -addThis(); - -status = inSection(140); -pattern = /a[b-d]e/i; -string = 'ACE'; -actualmatch = string.match(pattern); -expectedmatch = Array('ACE'); -addThis(); - -status = inSection(141); -pattern = /a[b-d]/i; -string = 'AAC'; -actualmatch = string.match(pattern); -expectedmatch = Array('AC'); -addThis(); - -status = inSection(142); -pattern = /a[-b]/i; -string = 'A-'; -actualmatch = string.match(pattern); -expectedmatch = Array('A-'); -addThis(); - -status = inSection(143); -pattern = /a[b-]/i; -string = 'A-'; -actualmatch = string.match(pattern); -expectedmatch = Array('A-'); -addThis(); - -status = inSection(144); -pattern = /a]/i; -string = 'A]'; -actualmatch = string.match(pattern); -expectedmatch = Array('A]'); -addThis(); - -/* Perl supports ] & ^] inside a [], ECMA does not - status = inSection(145); - pattern = /a[]]b/i; - string = 'A]B'; - actualmatch = string.match(pattern); - expectedmatch = Array('A]B'); - addThis(); -*/ - -status = inSection(146); -pattern = /a[^bc]d/i; -string = 'AED'; -actualmatch = string.match(pattern); -expectedmatch = Array('AED'); -addThis(); - -status = inSection(147); -pattern = /a[^-b]c/i; -string = 'ADC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ADC'); -addThis(); - -/* Perl supports ] & ^] inside a [], ECMA does not - status = inSection(148); - pattern = /a[^]b]c/i; - string = 'ADC'; - actualmatch = string.match(pattern); - expectedmatch = Array('ADC'); - addThis(); -*/ - -status = inSection(149); -pattern = /ab|cd/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB'); -addThis(); - -status = inSection(150); -pattern = /ab|cd/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB'); -addThis(); - -status = inSection(151); -pattern = /()ef/i; -string = 'DEF'; -actualmatch = string.match(pattern); -expectedmatch = Array('EF', ''); -addThis(); - -status = inSection(152); -pattern = /a\(b/i; -string = 'A(B'; -actualmatch = string.match(pattern); -expectedmatch = Array('A(B'); -addThis(); - -status = inSection(153); -pattern = /a\(*b/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB'); -addThis(); - -status = inSection(154); -pattern = /a\(*b/i; -string = 'A((B'; -actualmatch = string.match(pattern); -expectedmatch = Array('A((B'); -addThis(); - -status = inSection(155); -pattern = /a\\b/i; -string = 'A\\B'; -actualmatch = string.match(pattern); -expectedmatch = Array('A\\B'); -addThis(); - -status = inSection(156); -pattern = /((a))/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A', 'A'); -addThis(); - -status = inSection(157); -pattern = /(a)b(c)/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC', 'A', 'C'); -addThis(); - -status = inSection(158); -pattern = /a+b+c/i; -string = 'AABBABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(159); -pattern = /a{1,}b{1,}c/i; -string = 'AABBABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(160); -pattern = /a.+?c/i; -string = 'ABCABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(161); -pattern = /a.*?c/i; -string = 'ABCABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(162); -pattern = /a.{0,5}?c/i; -string = 'ABCABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC'); -addThis(); - -status = inSection(163); -pattern = /(a+|b)*/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB', 'B'); -addThis(); - -status = inSection(164); -pattern = /(a+|b){0,}/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB', 'B'); -addThis(); - -status = inSection(165); -pattern = /(a+|b)+/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB', 'B'); -addThis(); - -status = inSection(166); -pattern = /(a+|b){1,}/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB', 'B'); -addThis(); - -status = inSection(167); -pattern = /(a+|b)?/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A'); -addThis(); - -status = inSection(168); -pattern = /(a+|b){0,1}/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A'); -addThis(); - -status = inSection(169); -pattern = /(a+|b){0,1}?/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('', undefined); -addThis(); - -status = inSection(170); -pattern = /[^ab]*/i; -string = 'CDE'; -actualmatch = string.match(pattern); -expectedmatch = Array('CDE'); -addThis(); - -status = inSection(171); -pattern = /([abc])*d/i; -string = 'ABBBCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABBBCD', 'C'); -addThis(); - -status = inSection(172); -pattern = /([abc])*bcd/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD', 'A'); -addThis(); - -status = inSection(173); -pattern = /a|b|c|d|e/i; -string = 'E'; -actualmatch = string.match(pattern); -expectedmatch = Array('E'); -addThis(); - -status = inSection(174); -pattern = /(a|b|c|d|e)f/i; -string = 'EF'; -actualmatch = string.match(pattern); -expectedmatch = Array('EF', 'E'); -addThis(); - -status = inSection(175); -pattern = /abcd*efg/i; -string = 'ABCDEFG'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCDEFG'); -addThis(); - -status = inSection(176); -pattern = /ab*/i; -string = 'XABYABBBZ'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB'); -addThis(); - -status = inSection(177); -pattern = /ab*/i; -string = 'XAYABBBZ'; -actualmatch = string.match(pattern); -expectedmatch = Array('A'); -addThis(); - -status = inSection(178); -pattern = /(ab|cd)e/i; -string = 'ABCDE'; -actualmatch = string.match(pattern); -expectedmatch = Array('CDE', 'CD'); -addThis(); - -status = inSection(179); -pattern = /[abhgefdc]ij/i; -string = 'HIJ'; -actualmatch = string.match(pattern); -expectedmatch = Array('HIJ'); -addThis(); - -status = inSection(180); -pattern = /(abc|)ef/i; -string = 'ABCDEF'; -actualmatch = string.match(pattern); -expectedmatch = Array('EF', ''); -addThis(); - -status = inSection(181); -pattern = /(a|b)c*d/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('BCD', 'B'); -addThis(); - -status = inSection(182); -pattern = /(ab|ab*)bc/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC', 'A'); -addThis(); - -status = inSection(183); -pattern = /a([bc]*)c*/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC', 'BC'); -addThis(); - -status = inSection(184); -pattern = /a([bc]*)(c*d)/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD', 'BC', 'D'); -addThis(); - -status = inSection(185); -pattern = /a([bc]+)(c*d)/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD', 'BC', 'D'); -addThis(); - -status = inSection(186); -pattern = /a([bc]*)(c+d)/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD', 'B', 'CD'); -addThis(); - -status = inSection(187); -pattern = /a[bcd]*dcdcde/i; -string = 'ADCDCDE'; -actualmatch = string.match(pattern); -expectedmatch = Array('ADCDCDE'); -addThis(); - -status = inSection(188); -pattern = /(ab|a)b*c/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABC', 'AB'); -addThis(); - -status = inSection(189); -pattern = /((a)(b)c)(d)/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD', 'ABC', 'A', 'B', 'D'); -addThis(); - -status = inSection(190); -pattern = /[a-zA-Z_][a-zA-Z0-9_]*/i; -string = 'ALPHA'; -actualmatch = string.match(pattern); -expectedmatch = Array('ALPHA'); -addThis(); - -status = inSection(191); -pattern = /^a(bc+|b[eh])g|.h$/i; -string = 'ABH'; -actualmatch = string.match(pattern); -expectedmatch = Array('BH', undefined); -addThis(); - -status = inSection(192); -pattern = /(bc+d$|ef*g.|h?i(j|k))/i; -string = 'EFFGZ'; -actualmatch = string.match(pattern); -expectedmatch = Array('EFFGZ', 'EFFGZ', undefined); -addThis(); - -status = inSection(193); -pattern = /(bc+d$|ef*g.|h?i(j|k))/i; -string = 'IJ'; -actualmatch = string.match(pattern); -expectedmatch = Array('IJ', 'IJ', 'J'); -addThis(); - -status = inSection(194); -pattern = /(bc+d$|ef*g.|h?i(j|k))/i; -string = 'REFFGZ'; -actualmatch = string.match(pattern); -expectedmatch = Array('EFFGZ', 'EFFGZ', undefined); -addThis(); - -status = inSection(195); -pattern = /((((((((((a))))))))))/i; -string = 'A'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'); -addThis(); - -status = inSection(196); -pattern = /((((((((((a))))))))))\10/i; -string = 'AA'; -actualmatch = string.match(pattern); -expectedmatch = Array('AA', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'); -addThis(); - -status = inSection(197); -pattern = /((((((((((a))))))))))/i; -string = 'A!'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'); -addThis(); - -status = inSection(198); -pattern = /(((((((((a)))))))))/i; -string = 'A'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'); -addThis(); - -status = inSection(199); -pattern = /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i; -string = 'A'; -actualmatch = string.match(pattern); -expectedmatch = Array('A', 'A'); -addThis(); - -status = inSection(200); -pattern = /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i; -string = 'C'; -actualmatch = string.match(pattern); -expectedmatch = Array('C', 'C'); -addThis(); - -status = inSection(201); -pattern = /(.*)c(.*)/i; -string = 'ABCDE'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCDE', 'AB', 'DE'); -addThis(); - -status = inSection(202); -pattern = /abcd/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD'); -addThis(); - -status = inSection(203); -pattern = /a(bc)d/i; -string = 'ABCD'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCD', 'BC'); -addThis(); - -status = inSection(204); -pattern = /a[-]?c/i; -string = 'AC'; -actualmatch = string.match(pattern); -expectedmatch = Array('AC'); -addThis(); - -status = inSection(205); -pattern = /(abc)\1/i; -string = 'ABCABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCABC', 'ABC'); -addThis(); - -status = inSection(206); -pattern = /([a-c]*)\1/i; -string = 'ABCABC'; -actualmatch = string.match(pattern); -expectedmatch = Array('ABCABC', 'ABC'); -addThis(); - -status = inSection(207); -pattern = /a(?!b)./; -string = 'abad'; -actualmatch = string.match(pattern); -expectedmatch = Array('ad'); -addThis(); - -status = inSection(208); -pattern = /a(?=d)./; -string = 'abad'; -actualmatch = string.match(pattern); -expectedmatch = Array('ad'); -addThis(); - -status = inSection(209); -pattern = /a(?=c|d)./; -string = 'abad'; -actualmatch = string.match(pattern); -expectedmatch = Array('ad'); -addThis(); - -status = inSection(210); -pattern = /a(?:b|c|d)(.)/; -string = 'ace'; -actualmatch = string.match(pattern); -expectedmatch = Array('ace', 'e'); -addThis(); - -status = inSection(211); -pattern = /a(?:b|c|d)*(.)/; -string = 'ace'; -actualmatch = string.match(pattern); -expectedmatch = Array('ace', 'e'); -addThis(); - -status = inSection(212); -pattern = /a(?:b|c|d)+?(.)/; -string = 'ace'; -actualmatch = string.match(pattern); -expectedmatch = Array('ace', 'e'); -addThis(); - -status = inSection(213); -pattern = /a(?:b|c|d)+?(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acd', 'd'); -addThis(); - -status = inSection(214); -pattern = /a(?:b|c|d)+(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdbe', 'e'); -addThis(); - -status = inSection(215); -pattern = /a(?:b|c|d){2}(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdb', 'b'); -addThis(); - -status = inSection(216); -pattern = /a(?:b|c|d){4,5}(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdb', 'b'); -addThis(); - -status = inSection(217); -pattern = /a(?:b|c|d){4,5}?(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcd', 'd'); -addThis(); - -// MODIFIED - ECMA has different rules for paren contents -status = inSection(218); -pattern = /((foo)|(bar))*/; -string = 'foobar'; -actualmatch = string.match(pattern); -//expectedmatch = Array('foobar', 'bar', 'foo', 'bar'); -expectedmatch = Array('foobar', 'bar', undefined, 'bar'); -addThis(); - -status = inSection(219); -pattern = /a(?:b|c|d){6,7}(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdbe', 'e'); -addThis(); - -status = inSection(220); -pattern = /a(?:b|c|d){6,7}?(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdbe', 'e'); -addThis(); - -status = inSection(221); -pattern = /a(?:b|c|d){5,6}(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdbe', 'e'); -addThis(); - -status = inSection(222); -pattern = /a(?:b|c|d){5,6}?(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdb', 'b'); -addThis(); - -status = inSection(223); -pattern = /a(?:b|c|d){5,7}(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdbe', 'e'); -addThis(); - -status = inSection(224); -pattern = /a(?:b|c|d){5,7}?(.)/; -string = 'acdbcdbe'; -actualmatch = string.match(pattern); -expectedmatch = Array('acdbcdb', 'b'); -addThis(); - -status = inSection(225); -pattern = /a(?:b|(c|e){1,2}?|d)+?(.)/; -string = 'ace'; -actualmatch = string.match(pattern); -expectedmatch = Array('ace', 'c', 'e'); -addThis(); - -status = inSection(226); -pattern = /^(.+)?B/; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = Array('AB', 'A'); -addThis(); - -/* MODIFIED - ECMA has different rules for paren contents */ -status = inSection(227); -pattern = /^([^a-z])|(\^)$/; -string = '.'; -actualmatch = string.match(pattern); -//expectedmatch = Array('.', '.', ''); -expectedmatch = Array('.', '.', undefined); -addThis(); - -status = inSection(228); -pattern = /^[<>]&/; -string = '<&OUT'; -actualmatch = string.match(pattern); -expectedmatch = Array('<&'); -addThis(); - -/* Can't refer to a capture before it's encountered & completed - status = inSection(229); - pattern = /^(a\1?){4}$/; - string = 'aaaaaaaaaa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaaaaaaaaa', 'aaaa'); - addThis(); - - status = inSection(230); - pattern = /^(a(?(1)\1)){4}$/; - string = 'aaaaaaaaaa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaaaaaaaaa', 'aaaa'); - addThis(); -*/ - -status = inSection(231); -pattern = /((a{4})+)/; -string = 'aaaaaaaaa'; -actualmatch = string.match(pattern); -expectedmatch = Array('aaaaaaaa', 'aaaaaaaa', 'aaaa'); -addThis(); - -status = inSection(232); -pattern = /(((aa){2})+)/; -string = 'aaaaaaaaaa'; -actualmatch = string.match(pattern); -expectedmatch = Array('aaaaaaaa', 'aaaaaaaa', 'aaaa', 'aa'); -addThis(); - -status = inSection(233); -pattern = /(((a{2}){2})+)/; -string = 'aaaaaaaaaa'; -actualmatch = string.match(pattern); -expectedmatch = Array('aaaaaaaa', 'aaaaaaaa', 'aaaa', 'aa'); -addThis(); - -status = inSection(234); -pattern = /(?:(f)(o)(o)|(b)(a)(r))*/; -string = 'foobar'; -actualmatch = string.match(pattern); -//expectedmatch = Array('foobar', 'f', 'o', 'o', 'b', 'a', 'r'); -expectedmatch = Array('foobar', undefined, undefined, undefined, 'b', 'a', 'r'); -addThis(); - -/* ECMA supports (?: (?= and (?! but doesn't support (?< etc. - status = inSection(235); - pattern = /(?<=a)b/; - string = 'ab'; - actualmatch = string.match(pattern); - expectedmatch = Array('b'); - addThis(); - - status = inSection(236); - pattern = /(? - status = inSection(311); - pattern = /(?>a+)b/; - string = 'aaab'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaab'); - addThis(); -*/ - -status = inSection(312); -pattern = /([[:]+)/; - string = 'a:[b]:'; - actualmatch = string.match(pattern); - expectedmatch = Array(':[', ':['); - addThis(); - - status = inSection(313); - pattern = /([[=]+)/; - string = 'a=[b]='; - actualmatch = string.match(pattern); - expectedmatch = Array('=[', '=['); - addThis(); - - status = inSection(314); - pattern = /([[.]+)/; - string = 'a.[b].'; - actualmatch = string.match(pattern); - expectedmatch = Array('.[', '.['); - addThis(); - -/* ECMA doesn't have rules for [: - status = inSection(315); - pattern = /[a[:]b[:c]/; - string = 'abc'; - actualmatch = string.match(pattern); - expectedmatch = Array('abc'); - addThis(); -*/ - -/* ECMA doesn't support (?> - status = inSection(316); - pattern = /((?>a+)b)/; - string = 'aaab'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaab', 'aaab'); - addThis(); - - status = inSection(317); - pattern = /(?>(a+))b/; - string = 'aaab'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaab', 'aaa'); - addThis(); - - status = inSection(318); - pattern = /((?>[^()]+)|\([^()]*\))+/; - string = '((abc(ade)ufh()()x'; - actualmatch = string.match(pattern); - expectedmatch = Array('abc(ade)ufh()()x', 'x'); - addThis(); -*/ - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(319); - pattern = /\Z/; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - - status = inSection(320); - pattern = /\z/; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); -*/ - - status = inSection(321); - pattern = /$/; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(322); - pattern = /\Z/; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - - status = inSection(323); - pattern = /\z/; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); -*/ - - status = inSection(324); - pattern = /$/; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(325); - pattern = /\Z/; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - - status = inSection(326); - pattern = /\z/; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); -*/ - - status = inSection(327); - pattern = /$/; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(328); - pattern = /\Z/m; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - - status = inSection(329); - pattern = /\z/m; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); -*/ - - status = inSection(330); - pattern = /$/m; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(331); - pattern = /\Z/m; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - - status = inSection(332); - pattern = /\z/m; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); -*/ - - status = inSection(333); - pattern = /$/m; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(334); - pattern = /\Z/m; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - - status = inSection(335); - pattern = /\z/m; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); -*/ - - status = inSection(336); - pattern = /$/m; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array(''); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(337); - pattern = /a\Z/; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); -*/ - -/* $ only matches end of input unless multiline - status = inSection(338); - pattern = /a$/; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); -*/ - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(339); - pattern = /a\Z/; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); - - status = inSection(340); - pattern = /a\z/; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); -*/ - - status = inSection(341); - pattern = /a$/; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); - - status = inSection(342); - pattern = /a$/m; - string = 'a\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(343); - pattern = /a\Z/m; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); -*/ - - status = inSection(344); - pattern = /a$/m; - string = 'b\na\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(345); - pattern = /a\Z/m; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); - - status = inSection(346); - pattern = /a\z/m; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); -*/ - - status = inSection(347); - pattern = /a$/m; - string = 'b\na'; - actualmatch = string.match(pattern); - expectedmatch = Array('a'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(348); - pattern = /aa\Z/; - string = 'b\naa\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); -*/ - -/* $ only matches end of input unless multiline - status = inSection(349); - pattern = /aa$/; - string = 'b\naa\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); -*/ - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(350); - pattern = /aa\Z/; - string = 'b\naa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); - - status = inSection(351); - pattern = /aa\z/; - string = 'b\naa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); -*/ - - status = inSection(352); - pattern = /aa$/; - string = 'b\naa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); - - status = inSection(353); - pattern = /aa$/m; - string = 'aa\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(354); - pattern = /aa\Z/m; - string = 'b\naa\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); -*/ - - status = inSection(355); - pattern = /aa$/m; - string = 'b\naa\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(356); - pattern = /aa\Z/m; - string = 'b\naa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); - - status = inSection(357); - pattern = /aa\z/m; - string = 'b\naa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); -*/ - - status = inSection(358); - pattern = /aa$/m; - string = 'b\naa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aa'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(359); - pattern = /ab\Z/; - string = 'b\nab\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); -*/ - -/* $ only matches end of input unless multiline - status = inSection(360); - pattern = /ab$/; - string = 'b\nab\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); -*/ - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(361); - pattern = /ab\Z/; - string = 'b\nab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); - - status = inSection(362); - pattern = /ab\z/; - string = 'b\nab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); -*/ - - status = inSection(363); - pattern = /ab$/; - string = 'b\nab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); - - status = inSection(364); - pattern = /ab$/m; - string = 'ab\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(365); - pattern = /ab\Z/m; - string = 'b\nab\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); -*/ - - status = inSection(366); - pattern = /ab$/m; - string = 'b\nab\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(367); - pattern = /ab\Z/m; - string = 'b\nab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); - - status = inSection(368); - pattern = /ab\z/m; - string = 'b\nab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); -*/ - - status = inSection(369); - pattern = /ab$/m; - string = 'b\nab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(370); - pattern = /abb\Z/; - string = 'b\nabb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); -*/ - -/* $ only matches end of input unless multiline - status = inSection(371); - pattern = /abb$/; - string = 'b\nabb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); -*/ - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(372); - pattern = /abb\Z/; - string = 'b\nabb'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); - - status = inSection(373); - pattern = /abb\z/; - string = 'b\nabb'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); -*/ - - status = inSection(374); - pattern = /abb$/; - string = 'b\nabb'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); - - status = inSection(375); - pattern = /abb$/m; - string = 'abb\nb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(376); - pattern = /abb\Z/m; - string = 'b\nabb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); -*/ - - status = inSection(377); - pattern = /abb$/m; - string = 'b\nabb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); - -/* Perl has \Z has end-of-line, ECMA doesn't - status = inSection(378); - pattern = /abb\Z/m; - string = 'b\nabb'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); - - status = inSection(379); - pattern = /abb\z/m; - string = 'b\nabb'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); -*/ - - status = inSection(380); - pattern = /abb$/m; - string = 'b\nabb'; - actualmatch = string.match(pattern); - expectedmatch = Array('abb'); - addThis(); - - status = inSection(381); - pattern = /(^|x)(c)/; - string = 'ca'; - actualmatch = string.match(pattern); - expectedmatch = Array('c', '', 'c'); - addThis(); - - status = inSection(382); - pattern = /foo.bart/; - string = 'foo.bart'; - actualmatch = string.match(pattern); - expectedmatch = Array('foo.bart'); - addThis(); - - status = inSection(383); - pattern = /^d[x][x][x]/m; - string = 'abcd\ndxxx'; - actualmatch = string.match(pattern); - expectedmatch = Array('dxxx'); - addThis(); - - status = inSection(384); - pattern = /tt+$/; - string = 'xxxtt'; - actualmatch = string.match(pattern); - expectedmatch = Array('tt'); - addThis(); - -/* ECMA spec says that each atom in a range must be a single character - status = inSection(385); - pattern = /([a-\d]+)/; - string = 'za-9z'; - actualmatch = string.match(pattern); - expectedmatch = Array('9', '9'); - addThis(); - - status = inSection(386); - pattern = /([\d-z]+)/; - string = 'a0-za'; - actualmatch = string.match(pattern); - expectedmatch = Array('0-z', '0-z'); - addThis(); -*/ - -/* ECMA doesn't support [: - status = inSection(387); - pattern = /([a-[:digit:]]+)/; - string = 'za-9z'; - actualmatch = string.match(pattern); - expectedmatch = Array('a-9', 'a-9'); - addThis(); - - status = inSection(388); - pattern = /([[:digit:]-z]+)/; - string = '=0-z='; - actualmatch = string.match(pattern); - expectedmatch = Array('0-z', '0-z'); - addThis(); - - status = inSection(389); - pattern = /([[:digit:]-[:alpha:]]+)/; - string = '=0-z='; - actualmatch = string.match(pattern); - expectedmatch = Array('0-z', '0-z'); - addThis(); -*/ - - status = inSection(390); - pattern = /(\d+\.\d+)/; - string = '3.1415926'; - actualmatch = string.match(pattern); - expectedmatch = Array('3.1415926', '3.1415926'); - addThis(); - - status = inSection(391); - pattern = /\.c(pp|xx|c)?$/i; - string = 'IO.c'; - actualmatch = string.match(pattern); - expectedmatch = Array('.c', undefined); - addThis(); - - status = inSection(392); - pattern = /(\.c(pp|xx|c)?$)/i; - string = 'IO.c'; - actualmatch = string.match(pattern); - expectedmatch = Array('.c', '.c', undefined); - addThis(); - - status = inSection(393); - pattern = /(^|a)b/; - string = 'ab'; - actualmatch = string.match(pattern); - expectedmatch = Array('ab', 'a'); - addThis(); - - status = inSection(394); - pattern = /^([ab]*?)(b)?(c)$/; - string = 'abac'; - actualmatch = string.match(pattern); - expectedmatch = Array('abac', 'aba', undefined, 'c'); - addThis(); - - status = inSection(395); - pattern = /^(?:.,){2}c/i; - string = 'a,b,c'; - actualmatch = string.match(pattern); - expectedmatch = Array('a,b,c'); - addThis(); - - status = inSection(396); - pattern = /^(.,){2}c/i; - string = 'a,b,c'; - actualmatch = string.match(pattern); - expectedmatch = Array('a,b,c', 'b,'); - addThis(); - - status = inSection(397); - pattern = /^(?:[^,]*,){2}c/; - string = 'a,b,c'; - actualmatch = string.match(pattern); - expectedmatch = Array('a,b,c'); - addThis(); - - status = inSection(398); - pattern = /^([^,]*,){2}c/; - string = 'a,b,c'; - actualmatch = string.match(pattern); - expectedmatch = Array('a,b,c', 'b,'); - addThis(); - - status = inSection(399); - pattern = /^([^,]*,){3}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(400); - pattern = /^([^,]*,){3,}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(401); - pattern = /^([^,]*,){0,3}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(402); - pattern = /^([^,]{1,3},){3}d/i; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(403); - pattern = /^([^,]{1,3},){3,}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(404); - pattern = /^([^,]{1,3},){0,3}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(405); - pattern = /^([^,]{1,},){3}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(406); - pattern = /^([^,]{1,},){3,}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(407); - pattern = /^([^,]{1,},){0,3}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(408); - pattern = /^([^,]{0,3},){3}d/i; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(409); - pattern = /^([^,]{0,3},){3,}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - - status = inSection(410); - pattern = /^([^,]{0,3},){0,3}d/; - string = 'aaa,b,c,d'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaa,b,c,d', 'c,'); - addThis(); - -/* ECMA doesn't support \A - status = inSection(411); - pattern = /(?!\A)x/m; - string = 'a\nxb\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('\n'); - addThis(); -*/ - - status = inSection(412); - pattern = /^(a(b)?)+$/; - string = 'aba'; - actualmatch = string.match(pattern); - expectedmatch = Array('aba', 'a', undefined); - addThis(); - - status = inSection(413); - pattern = /^(aa(bb)?)+$/; - string = 'aabbaa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aabbaa', 'aa', undefined); - addThis(); - - status = inSection(414); - pattern = /^.{9}abc.*\n/m; - string = '123\nabcabcabcabc\n'; - actualmatch = string.match(pattern); - expectedmatch = Array('abcabcabcabc\n'); - addThis(); - - status = inSection(415); - pattern = /^(a)?a$/; - string = 'a'; - actualmatch = string.match(pattern); - expectedmatch = Array('a', undefined); - addThis(); - - status = inSection(416); - pattern = /^(a\1?)(a\1?)(a\2?)(a\3?)$/; - string = 'aaaaaa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaaaaa', 'a', 'aa', 'a', 'aa'); - addThis(); - -/* Can't refer to a capture before it's encountered & completed - status = inSection(417); - pattern = /^(a\1?){4}$/; - string = 'aaaaaa'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaaaaa', 'aaa'); - addThis(); -*/ - - status = inSection(418); - pattern = /^(0+)?(?:x(1))?/; - string = 'x1'; - actualmatch = string.match(pattern); - expectedmatch = Array('x1', undefined, '1'); - addThis(); - - status = inSection(419); - pattern = /^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?/; - string = '012cxx0190'; - actualmatch = string.match(pattern); - expectedmatch = Array('012cxx0190', '012c', undefined, '0190'); - addThis(); - - status = inSection(420); - pattern = /^(b+?|a){1,2}c/; - string = 'bbbac'; - actualmatch = string.match(pattern); - expectedmatch = Array('bbbac', 'a'); - addThis(); - - status = inSection(421); - pattern = /^(b+?|a){1,2}c/; - string = 'bbbbac'; - actualmatch = string.match(pattern); - expectedmatch = Array('bbbbac', 'a'); - addThis(); - - status = inSection(422); - pattern = /((?:aaaa|bbbb)cccc)?/; - string = 'aaaacccc'; - actualmatch = string.match(pattern); - expectedmatch = Array('aaaacccc', 'aaaacccc'); - addThis(); - - status = inSection(423); - pattern = /((?:aaaa|bbbb)cccc)?/; - string = 'bbbbcccc'; - actualmatch = string.match(pattern); - expectedmatch = Array('bbbbcccc', 'bbbbcccc'); - addThis(); - - - - -//----------------------------------------------------------------------------- - test(); -//----------------------------------------------------------------------------- - - - - function addThis() - { - if(omitCurrentSection()) - return; - - statusmessages[i] = status; - patterns[i] = pattern; - strings[i] = string; - actualmatches[i] = actualmatch; - expectedmatches[i] = expectedmatch; - i++; - } - - - function omitCurrentSection() - { - try - { - // current section number is in global status variable - var n = status.match(/(\d+)/)[1]; - return ((n < cnLBOUND) || (n > cnUBOUND)); - } - catch(e) - { - return false; - } - } - - - function test() - { - printBugNumber(BUGNUMBER); - printStatus (summary); - testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches); - } diff --git a/js/src/tests/ecma_3/RegExp/perlstress-002.js b/js/src/tests/ecma_3/RegExp/perlstress-002.js deleted file mode 100644 index 288cd9ed8b92..000000000000 --- a/js/src/tests/ecma_3/RegExp/perlstress-002.js +++ /dev/null @@ -1,1806 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 2002-07-07 - * SUMMARY: Testing JS RegExp engine against Perl 5 RegExp engine. - * Adjust cnLBOUND, cnUBOUND below to restrict which sections are tested. - * - * This test was created by running various patterns and strings through the - * Perl 5 RegExp engine. We saved the results below to test the JS engine. - * - * Each of the examples below is a negative test; that is, each produces a - * null match in Perl. Thus we set |expectedmatch| = |null| in each section. - * - * NOTE: ECMA/JS and Perl do differ on certain points. We have either commented - * out such sections altogether, or modified them to fit what we expect from JS. - * - * EXAMPLES: - * - * - ECMA does support (?: (?= and (?! operators, but doesn't support (?< etc. - * - * - ECMA doesn't support (?(condition) - * - */ -//----------------------------------------------------------------------------- -var i = 0; -var BUGNUMBER = 85721; -var summary = 'Testing regular expression edge cases'; -var cnSingleSpace = ' '; -var status = ''; -var statusmessages = new Array(); -var pattern = ''; -var patterns = new Array(); -var string = ''; -var strings = new Array(); -var actualmatch = ''; -var actualmatches = new Array(); -var expectedmatch = ''; -var expectedmatches = new Array(); -var cnLBOUND = 0; -var cnUBOUND = 1000; - - -status = inSection(1); -pattern = /abc/; -string = 'xbc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(2); -pattern = /abc/; -string = 'axc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(3); -pattern = /abc/; -string = 'abx'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(4); -pattern = /ab+bc/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(5); -pattern = /ab+bc/; -string = 'abq'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(6); -pattern = /ab{1,}bc/; -string = 'abq'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(7); -pattern = /ab{4,5}bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(8); -pattern = /ab?bc/; -string = 'abbbbc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(9); -pattern = /^abc$/; -string = 'abcc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(10); -pattern = /^abc$/; -string = 'aabc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(11); -pattern = /abc$/; -string = 'aabcd'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(12); -pattern = /a.*c/; -string = 'axyzd'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(13); -pattern = /a[bc]d/; -string = 'abc'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(14); -pattern = /a[b-d]e/; -string = 'abd'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(15); -pattern = /a[^bc]d/; -string = 'abd'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(16); -pattern = /a[^-b]c/; -string = 'a-c'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(17); -pattern = /a[^]b]c/; -string = 'a]c'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(18); -pattern = /\by\b/; -string = 'xy'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(19); -pattern = /\by\b/; -string = 'yz'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(20); -pattern = /\by\b/; -string = 'xyz'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(21); -pattern = /\Ba\B/; -string = 'a-'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(22); -pattern = /\Ba\B/; -string = '-a'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(23); -pattern = /\Ba\B/; -string = '-a-'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(24); -pattern = /\w/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(25); -pattern = /\W/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(26); -pattern = /a\sb/; -string = 'a-b'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(27); -pattern = /\d/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(28); -pattern = /\D/; -string = '1'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(29); -pattern = /[\w]/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(30); -pattern = /[\W]/; -string = 'a'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(31); -pattern = /a[\s]b/; -string = 'a-b'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(32); -pattern = /[\d]/; -string = '-'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(33); -pattern = /[\D]/; -string = '1'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(34); -pattern = /$b/; -string = 'b'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(35); -pattern = /^(ab|cd)e/; -string = 'abcde'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(36); -pattern = /a[bcd]+dcdcde/; -string = 'adcdcde'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(37); -pattern = /(bc+d$|ef*g.|h?i(j|k))/; -string = 'effg'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(38); -pattern = /(bc+d$|ef*g.|h?i(j|k))/; -string = 'bcdd'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(39); -pattern = /[k]/; -string = 'ab'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -// MODIFIED - ECMA has different rules for paren contents. -status = inSection(40); -pattern = /(a)|\1/; -string = 'x'; -actualmatch = string.match(pattern); -//expectedmatch = null; -expectedmatch = Array("", undefined); -addThis(); - -// MODIFIED - ECMA has different rules for paren contents. -status = inSection(41); -pattern = /((\3|b)\2(a)x)+/; -string = 'aaxabxbaxbbx'; -actualmatch = string.match(pattern); -//expectedmatch = null; -expectedmatch = Array("ax", "ax", "", "a"); -addThis(); - -status = inSection(42); -pattern = /abc/i; -string = 'XBC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(43); -pattern = /abc/i; -string = 'AXC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(44); -pattern = /abc/i; -string = 'ABX'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(45); -pattern = /ab+bc/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(46); -pattern = /ab+bc/i; -string = 'ABQ'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(47); -pattern = /ab{1,}bc/i; -string = 'ABQ'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(48); -pattern = /ab{4,5}?bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(49); -pattern = /ab??bc/i; -string = 'ABBBBC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(50); -pattern = /^abc$/i; -string = 'ABCC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(51); -pattern = /^abc$/i; -string = 'AABC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(52); -pattern = /a.*c/i; -string = 'AXYZD'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(53); -pattern = /a[bc]d/i; -string = 'ABC'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(54); -pattern = /a[b-d]e/i; -string = 'ABD'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(55); -pattern = /a[^bc]d/i; -string = 'ABD'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(56); -pattern = /a[^-b]c/i; -string = 'A-C'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(57); -pattern = /a[^]b]c/i; -string = 'A]C'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(58); -pattern = /$b/i; -string = 'B'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(59); -pattern = /^(ab|cd)e/i; -string = 'ABCDE'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(60); -pattern = /a[bcd]+dcdcde/i; -string = 'ADCDCDE'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(61); -pattern = /(bc+d$|ef*g.|h?i(j|k))/i; -string = 'EFFG'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(62); -pattern = /(bc+d$|ef*g.|h?i(j|k))/i; -string = 'BCDD'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(63); -pattern = /[k]/i; -string = 'AB'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(64); -pattern = /^(a\1?){4}$/; -string = 'aaaaaaaaa'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(65); -pattern = /^(a\1?){4}$/; -string = 'aaaaaaaaaaa'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -/* ECMA doesn't support (?( - status = inSection(66); - pattern = /^(a(?(1)\1)){4}$/; - string = 'aaaaaaaaa'; - actualmatch = string.match(pattern); - expectedmatch = null; - addThis(); - - status = inSection(67); - pattern = /^(a(?(1)\1)){4}$/; - string = 'aaaaaaaaaaa'; - actualmatch = string.match(pattern); - expectedmatch = null; - addThis(); -*/ - -/* ECMA doesn't support (?< - status = inSection(68); - pattern = /(?<=a)b/; - string = 'cb'; - actualmatch = string.match(pattern); - expectedmatch = null; - addThis(); - - status = inSection(69); - pattern = /(?<=a)b/; - string = 'b'; - actualmatch = string.match(pattern); - expectedmatch = null; - addThis(); - - status = inSection(70); - pattern = /(?a+)ab/; -string = 'aaab'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(106); -pattern = /a\Z/; -string = 'a\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(107); -pattern = /a\z/; -string = 'a\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(108); -pattern = /a$/; -string = 'a\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(109); -pattern = /a\z/; -string = 'b\na\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(110); -pattern = /a\z/m; -string = 'a\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(111); -pattern = /a\z/m; -string = 'b\na\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(112); -pattern = /aa\Z/; -string = 'aa\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(113); -pattern = /aa\z/; -string = 'aa\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(114); -pattern = /aa$/; -string = 'aa\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(115); -pattern = /aa\z/; -string = 'b\naa\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(116); -pattern = /aa\z/m; -string = 'aa\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(117); -pattern = /aa\z/m; -string = 'b\naa\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(118); -pattern = /aa\Z/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(119); -pattern = /aa\z/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(120); -pattern = /aa$/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(121); -pattern = /aa\Z/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(122); -pattern = /aa\z/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(123); -pattern = /aa$/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(124); -pattern = /aa\Z/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(125); -pattern = /aa\z/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(126); -pattern = /aa$/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(127); -pattern = /aa\Z/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(128); -pattern = /aa\z/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(129); -pattern = /aa$/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(130); -pattern = /aa\Z/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(131); -pattern = /aa\z/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(132); -pattern = /aa$/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(133); -pattern = /aa\Z/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(134); -pattern = /aa\z/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(135); -pattern = /aa$/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(136); -pattern = /aa\Z/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(137); -pattern = /aa\z/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(138); -pattern = /aa$/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(139); -pattern = /aa\Z/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(140); -pattern = /aa\z/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(141); -pattern = /aa$/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(142); -pattern = /aa\Z/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(143); -pattern = /aa\z/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(144); -pattern = /aa$/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(145); -pattern = /aa\Z/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(146); -pattern = /aa\z/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(147); -pattern = /aa$/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(148); -pattern = /aa\Z/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(149); -pattern = /aa\z/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(150); -pattern = /aa$/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(151); -pattern = /aa\Z/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(152); -pattern = /aa\z/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(153); -pattern = /aa$/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(154); -pattern = /ab\Z/; -string = 'ab\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(155); -pattern = /ab\z/; -string = 'ab\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(156); -pattern = /ab$/; -string = 'ab\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(157); -pattern = /ab\z/; -string = 'b\nab\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(158); -pattern = /ab\z/m; -string = 'ab\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(159); -pattern = /ab\z/m; -string = 'b\nab\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(160); -pattern = /ab\Z/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(161); -pattern = /ab\z/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(162); -pattern = /ab$/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(163); -pattern = /ab\Z/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(164); -pattern = /ab\z/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(165); -pattern = /ab$/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(166); -pattern = /ab\Z/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(167); -pattern = /ab\z/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(168); -pattern = /ab$/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(169); -pattern = /ab\Z/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(170); -pattern = /ab\z/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(171); -pattern = /ab$/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(172); -pattern = /ab\Z/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(173); -pattern = /ab\z/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(174); -pattern = /ab$/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(175); -pattern = /ab\Z/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(176); -pattern = /ab\z/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(177); -pattern = /ab$/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(178); -pattern = /ab\Z/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(179); -pattern = /ab\z/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(180); -pattern = /ab$/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(181); -pattern = /ab\Z/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(182); -pattern = /ab\z/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(183); -pattern = /ab$/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(184); -pattern = /ab\Z/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(185); -pattern = /ab\z/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(186); -pattern = /ab$/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(187); -pattern = /ab\Z/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(188); -pattern = /ab\z/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(189); -pattern = /ab$/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(190); -pattern = /ab\Z/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(191); -pattern = /ab\z/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(192); -pattern = /ab$/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(193); -pattern = /ab\Z/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(194); -pattern = /ab\z/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(195); -pattern = /ab$/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(196); -pattern = /abb\Z/; -string = 'abb\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(197); -pattern = /abb\z/; -string = 'abb\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(198); -pattern = /abb$/; -string = 'abb\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(199); -pattern = /abb\z/; -string = 'b\nabb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(200); -pattern = /abb\z/m; -string = 'abb\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(201); -pattern = /abb\z/m; -string = 'b\nabb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(202); -pattern = /abb\Z/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(203); -pattern = /abb\z/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(204); -pattern = /abb$/; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(205); -pattern = /abb\Z/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(206); -pattern = /abb\z/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(207); -pattern = /abb$/; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(208); -pattern = /abb\Z/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(209); -pattern = /abb\z/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(210); -pattern = /abb$/; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(211); -pattern = /abb\Z/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(212); -pattern = /abb\z/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(213); -pattern = /abb$/m; -string = 'ac\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(214); -pattern = /abb\Z/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(215); -pattern = /abb\z/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(216); -pattern = /abb$/m; -string = 'b\nac\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(217); -pattern = /abb\Z/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(218); -pattern = /abb\z/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(219); -pattern = /abb$/m; -string = 'b\nac'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(220); -pattern = /abb\Z/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(221); -pattern = /abb\z/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(222); -pattern = /abb$/; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(223); -pattern = /abb\Z/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(224); -pattern = /abb\z/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(225); -pattern = /abb$/; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(226); -pattern = /abb\Z/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(227); -pattern = /abb\z/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(228); -pattern = /abb$/; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(229); -pattern = /abb\Z/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(230); -pattern = /abb\z/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(231); -pattern = /abb$/m; -string = 'ca\nb\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(232); -pattern = /abb\Z/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(233); -pattern = /abb\z/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(234); -pattern = /abb$/m; -string = 'b\nca\n'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(235); -pattern = /abb\Z/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(236); -pattern = /abb\z/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(237); -pattern = /abb$/m; -string = 'b\nca'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(238); -pattern = /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/; -string = 'x'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(239); -pattern = /\GX.*X/; -string = 'aaaXbX'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(240); -pattern = /\.c(pp|xx|c)?$/i; -string = 'Changes'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(241); -pattern = /^([a-z]:)/; -string = 'C:/'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -status = inSection(242); -pattern = /(\w)?(abc)\1b/; -string = 'abcab'; -actualmatch = string.match(pattern); -expectedmatch = null; -addThis(); - -/* ECMA doesn't support (?( - status = inSection(243); - pattern = /^(a)?(?(1)a|b)+$/; - string = 'a'; - actualmatch = string.match(pattern); - expectedmatch = null; - addThis(); -*/ - - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - - - -function addThis() -{ - if(omitCurrentSection()) - return; - - statusmessages[i] = status; - patterns[i] = pattern; - strings[i] = string; - actualmatches[i] = actualmatch; - expectedmatches[i] = expectedmatch; - i++; -} - - -function omitCurrentSection() -{ - try - { - // current section number is in global status variable - var n = status.match(/(\d+)/)[1]; - return ((n < cnLBOUND) || (n > cnUBOUND)); - } - catch(e) - { - return false; - } -} - - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches); -} diff --git a/js/src/tests/ecma_3/RegExp/shell.js b/js/src/tests/ecma_3/RegExp/shell.js deleted file mode 100644 index 857d06c3e8b0..000000000000 --- a/js/src/tests/ecma_3/RegExp/shell.js +++ /dev/null @@ -1,232 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * Date: 07 February 2001 - * - * Functionality common to RegExp testing - - */ -//----------------------------------------------------------------------------- - - -var MSG_PATTERN = '\nregexp = '; -var MSG_STRING = '\nstring = '; -var MSG_EXPECT = '\nExpect: '; -var MSG_ACTUAL = '\nActual: '; -var ERR_LENGTH = '\nERROR !!! match arrays have different lengths:'; -var ERR_MATCH = '\nERROR !!! regexp failed to give expected match array:'; -var ERR_NO_MATCH = '\nERROR !!! regexp FAILED to match anything !!!'; -var ERR_UNEXP_MATCH = '\nERROR !!! regexp MATCHED when we expected it to fail !!!'; -var CHAR_LBRACKET = '['; -var CHAR_RBRACKET = ']'; -var CHAR_QT_DBL = '"'; -var CHAR_QT = "'"; -var CHAR_NL = '\n'; -var CHAR_COMMA = ','; -var CHAR_SPACE = ' '; -var TYPE_STRING = typeof 'abc'; - - - -function testRegExp(statuses, patterns, strings, actualmatches, expectedmatches) -{ - var status = ''; - var pattern = new RegExp(); - var string = ''; - var actualmatch = new Array(); - var expectedmatch = new Array(); - var state = ''; - var lActual = -1; - var lExpect = -1; - - - for (var i=0; i != patterns.length; i++) - { - status = statuses[i]; - pattern = patterns[i]; - string = strings[i]; - actualmatch=actualmatches[i]; - expectedmatch=expectedmatches[i]; - state = getState(status, pattern, string); - - description = status; - - if(actualmatch) - { - actual = formatArray(actualmatch); - if(expectedmatch) - { - // expectedmatch and actualmatch are arrays - - lExpect = expectedmatch.length; - lActual = actualmatch.length; - - var expected = formatArray(expectedmatch); - - if (lActual != lExpect) - { - reportCompare(lExpect, lActual, - state + ERR_LENGTH + - MSG_EXPECT + expected + - MSG_ACTUAL + actual + - CHAR_NL - ); - continue; - } - - // OK, the arrays have same length - - if (expected != actual) - { - reportCompare(expected, actual, - state + ERR_MATCH + - MSG_EXPECT + expected + - MSG_ACTUAL + actual + - CHAR_NL - ); - } - else - { - reportCompare(expected, actual, state) - } - - } - else //expectedmatch is null - that is, we did not expect a match - - { - expected = expectedmatch; - reportCompare(expected, actual, - state + ERR_UNEXP_MATCH + - MSG_EXPECT + expectedmatch + - MSG_ACTUAL + actual + - CHAR_NL - ); - } - - } - else // actualmatch is null - { - if (expectedmatch) - { - actual = actualmatch; - reportCompare(expected, actual, - state + ERR_NO_MATCH + - MSG_EXPECT + expectedmatch + - MSG_ACTUAL + actualmatch + - CHAR_NL - ); - } - else // we did not expect a match - { - // Being ultra-cautious. Presumably expectedmatch===actualmatch===null - expected = expectedmatch; - actual = actualmatch; - reportCompare (expectedmatch, actualmatch, state); - } - } - } -} - - -function getState(status, pattern, string) -{ - /* - * Escape \n's, etc. to make them LITERAL in the presentation string. - * We don't have to worry about this in |pattern|; such escaping is - * done automatically by pattern.toString(), invoked implicitly below. - * - * One would like to simply do: string = string.replace(/(\s)/g, '\$1'). - * However, the backreference $1 is not a literal string value, - * so this method doesn't work. - * - * Also tried string = string.replace(/(\s)/g, escape('$1')); - * but this just inserts the escape of the literal '$1', i.e. '%241'. - */ - string = string.replace(/\n/g, '\\n'); - string = string.replace(/\r/g, '\\r'); - string = string.replace(/\t/g, '\\t'); - string = string.replace(/\v/g, '\\v'); - string = string.replace(/\f/g, '\\f'); - - return (status + MSG_PATTERN + pattern + MSG_STRING + singleQuote(string)); -} - - -/* - * If available, arr.toSource() gives more detail than arr.toString() - * - * var arr = Array(1,2,'3'); - * - * arr.toSource() - * [1, 2, "3"] - * - * arr.toString() - * 1,2,3 - * - * But toSource() doesn't exist in Rhino, so use our own imitation, below - - * - */ -function formatArray(arr) -{ - try - { - return arr.toSource(); - } - catch(e) - { - return toSource(arr); - } -} - - -/* - * Imitate SpiderMonkey's arr.toSource() method: - * - * a) Double-quote each array element that is of string type - * b) Represent |undefined| and |null| by empty strings - * c) Delimit elements by a comma + single space - * d) Do not add delimiter at the end UNLESS the last element is |undefined| - * e) Add square brackets to the beginning and end of the string - */ -function toSource(arr) -{ - var delim = CHAR_COMMA + CHAR_SPACE; - var elt = ''; - var ret = ''; - var len = arr.length; - - for (i=0; i true - return a !== a && b !== b; -} diff --git a/js/src/tests/ecma_5/strict/browser.js b/js/src/tests/ecma_5/strict/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_5/strict/shell.js b/js/src/tests/ecma_5/strict/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_5/template.js b/js/src/tests/ecma_5/template.js deleted file mode 100644 index 2fb786ba73a4..000000000000 --- a/js/src/tests/ecma_5/template.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - * Contributor: - */ - -//----------------------------------------------------------------------------- -var BUGNUMBER = 99999; -var summary = ''; -var actual = ''; -var expect = ''; - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - - reportCompare(expect, actual, summary); -} diff --git a/js/src/tests/ecma_6/Array/browser.js b/js/src/tests/ecma_6/Array/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Array/shell.js b/js/src/tests/ecma_6/Array/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/ArrayBuffer/browser.js b/js/src/tests/ecma_6/ArrayBuffer/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/ArrayBuffer/shell.js b/js/src/tests/ecma_6/ArrayBuffer/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/ArrowFunctions/browser.js b/js/src/tests/ecma_6/ArrowFunctions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/ArrowFunctions/shell.js b/js/src/tests/ecma_6/ArrowFunctions/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Class/browser.js b/js/src/tests/ecma_6/Class/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/DataView/browser.js b/js/src/tests/ecma_6/DataView/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/DataView/shell.js b/js/src/tests/ecma_6/DataView/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Date/shell.js b/js/src/tests/ecma_6/Date/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Destructuring/browser.js b/js/src/tests/ecma_6/Destructuring/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Destructuring/shell.js b/js/src/tests/ecma_6/Destructuring/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Error/shell.js b/js/src/tests/ecma_6/Error/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Expressions/browser.js b/js/src/tests/ecma_6/Expressions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Function/browser.js b/js/src/tests/ecma_6/Function/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Function/shell.js b/js/src/tests/ecma_6/Function/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/LexicalEnvironment/browser.js b/js/src/tests/ecma_6/LexicalEnvironment/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/LexicalEnvironment/shell.js b/js/src/tests/ecma_6/LexicalEnvironment/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Map/browser.js b/js/src/tests/ecma_6/Map/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Map/shell.js b/js/src/tests/ecma_6/Map/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Math/browser.js b/js/src/tests/ecma_6/Math/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Module/browser.js b/js/src/tests/ecma_6/Module/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Module/shell.js b/js/src/tests/ecma_6/Module/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Number/browser.js b/js/src/tests/ecma_6/Number/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Number/shell.js b/js/src/tests/ecma_6/Number/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Object/browser.js b/js/src/tests/ecma_6/Object/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Object/shell.js b/js/src/tests/ecma_6/Object/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Promise/browser.js b/js/src/tests/ecma_6/Promise/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Promise/shell.js b/js/src/tests/ecma_6/Promise/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Proxy/shell.js b/js/src/tests/ecma_6/Proxy/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Reflect/browser.js b/js/src/tests/ecma_6/Reflect/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/RegExp/browser.js b/js/src/tests/ecma_6/RegExp/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/RegExp/shell.js b/js/src/tests/ecma_6/RegExp/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Set/browser.js b/js/src/tests/ecma_6/Set/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Set/shell.js b/js/src/tests/ecma_6/Set/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Statements/browser.js b/js/src/tests/ecma_6/Statements/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Statements/shell.js b/js/src/tests/ecma_6/Statements/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/String/browser.js b/js/src/tests/ecma_6/String/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Symbol/browser.js b/js/src/tests/ecma_6/Symbol/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Symbol/shell.js b/js/src/tests/ecma_6/Symbol/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Syntax/browser.js b/js/src/tests/ecma_6/Syntax/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/Syntax/shell.js b/js/src/tests/ecma_6/Syntax/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/TemplateStrings/shell.js b/js/src/tests/ecma_6/TemplateStrings/shell.js deleted file mode 100644 index 8b137891791f..000000000000 --- a/js/src/tests/ecma_6/TemplateStrings/shell.js +++ /dev/null @@ -1 +0,0 @@ - diff --git a/js/src/tests/ecma_6/TypedArray/browser.js b/js/src/tests/ecma_6/TypedArray/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/WeakMap/browser.js b/js/src/tests/ecma_6/WeakMap/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/WeakMap/shell.js b/js/src/tests/ecma_6/WeakMap/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/browser.js b/js/src/tests/ecma_6/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/extensions/browser.js b/js/src/tests/ecma_6/extensions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/extensions/shell.js b/js/src/tests/ecma_6/extensions/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_6/shell.js b/js/src/tests/ecma_6/shell.js deleted file mode 100644 index 756da9f36c83..000000000000 --- a/js/src/tests/ecma_6/shell.js +++ /dev/null @@ -1,257 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -(function(global) { - /** Yield every permutation of the elements in some array. */ - global.Permutations = function* Permutations(items) { - if (items.length == 0) { - yield []; - } else { - items = items.slice(0); - for (let i = 0; i < items.length; i++) { - let swap = items[0]; - items[0] = items[i]; - items[i] = swap; - for (let e of Permutations(items.slice(1, items.length))) - yield [items[0]].concat(e); - } - } - }; - - /** Make an iterator with a return method. */ - global.makeIterator = function makeIterator(overrides) { - var throwMethod; - if (overrides && overrides.throw) - throwMethod = overrides.throw; - var iterator = { - throw: throwMethod, - next: function(x) { - if (overrides && overrides.next) - return overrides.next(x); - return { done: false }; - }, - return: function(x) { - if (overrides && overrides.ret) - return overrides.ret(x); - return { done: true }; - } - }; - - return function() { return iterator; }; - }; -})(this); - -if (typeof assertThrowsInstanceOf === 'undefined') { - var assertThrowsInstanceOf = function assertThrowsInstanceOf(f, ctor, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if (exc instanceof ctor) - return; - fullmsg = "Assertion failed: expected exception " + ctor.name + ", got " + exc; - } - if (fullmsg === undefined) - fullmsg = "Assertion failed: expected exception " + ctor.name + ", no exception thrown"; - if (msg !== undefined) - fullmsg += " - " + msg; - throw new Error(fullmsg); - }; -} - -if (typeof assertThrowsValue === 'undefined') { - var assertThrowsValue = function assertThrowsValue(f, val, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if ((exc === val) === (val === val) && (val !== 0 || 1 / exc === 1 / val)) - return; - fullmsg = "Assertion failed: expected exception " + val + ", got " + exc; - } - if (fullmsg === undefined) - fullmsg = "Assertion failed: expected exception " + val + ", no exception thrown"; - if (msg !== undefined) - fullmsg += " - " + msg; - throw new Error(fullmsg); - }; -} - -if (typeof assertDeepEq === 'undefined') { - var assertDeepEq = (function(){ - var call = Function.prototype.call, - Array_isArray = Array.isArray, - Map_ = Map, - Error_ = Error, - Symbol_ = Symbol, - Map_has = call.bind(Map.prototype.has), - Map_get = call.bind(Map.prototype.get), - Map_set = call.bind(Map.prototype.set), - Object_toString = call.bind(Object.prototype.toString), - Function_toString = call.bind(Function.prototype.toString), - Object_getPrototypeOf = Object.getPrototypeOf, - Object_hasOwnProperty = call.bind(Object.prototype.hasOwnProperty), - Object_getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor, - Object_isExtensible = Object.isExtensible, - Object_getOwnPropertyNames = Object.getOwnPropertyNames, - uneval_ = uneval; - - // Return true iff ES6 Type(v) isn't Object. - // Note that `typeof document.all === "undefined"`. - function isPrimitive(v) { - return (v === null || - v === undefined || - typeof v === "boolean" || - typeof v === "number" || - typeof v === "string" || - typeof v === "symbol"); - } - - function assertSameValue(a, b, msg) { - try { - assertEq(a, b); - } catch (exc) { - throw Error_(exc.message + (msg ? " " + msg : "")); - } - } - - function assertSameClass(a, b, msg) { - var ac = Object_toString(a), bc = Object_toString(b); - assertSameValue(ac, bc, msg); - switch (ac) { - case "[object Function]": - if (typeof isProxy !== "undefined" && !isProxy(a) && !isProxy(b)) - assertSameValue(Function_toString(a), Function_toString(b), msg); - } - } - - function at(prevmsg, segment) { - return prevmsg ? prevmsg + segment : "at _" + segment; - } - - // Assert that the arguments a and b are thoroughly structurally equivalent. - // - // For the sake of speed, we cut a corner: - // var x = {}, y = {}, ax = [x]; - // assertDeepEq([ax, x], [ax, y]); // passes (?!) - // - // Technically this should fail, since the two object graphs are different. - // (The graph of [ax, y] contains one more object than the graph of [ax, x].) - // - // To get technically correct behavior, pass {strictEquivalence: true}. - // This is slower because we have to walk the entire graph, and Object.prototype - // is big. - // - return function assertDeepEq(a, b, options) { - var strictEquivalence = options ? options.strictEquivalence : false; - - function assertSameProto(a, b, msg) { - check(Object_getPrototypeOf(a), Object_getPrototypeOf(b), at(msg, ".__proto__")); - } - - function failPropList(na, nb, msg) { - throw Error_("got own properties " + uneval_(na) + ", expected " + uneval_(nb) + - (msg ? " " + msg : "")); - } - - function assertSameProps(a, b, msg) { - var na = Object_getOwnPropertyNames(a), - nb = Object_getOwnPropertyNames(b); - if (na.length !== nb.length) - failPropList(na, nb, msg); - - // Ignore differences in whether Array elements are stored densely. - if (Array_isArray(a)) { - na.sort(); - nb.sort(); - } - - for (var i = 0; i < na.length; i++) { - var name = na[i]; - if (name !== nb[i]) - failPropList(na, nb, msg); - var da = Object_getOwnPropertyDescriptor(a, name), - db = Object_getOwnPropertyDescriptor(b, name); - var pmsg = at(msg, /^[_$A-Za-z0-9]+$/.test(name) - ? /0|[1-9][0-9]*/.test(name) ? "[" + name + "]" : "." + name - : "[" + uneval_(name) + "]"); - assertSameValue(da.configurable, db.configurable, at(pmsg, ".[[Configurable]]")); - assertSameValue(da.enumerable, db.enumerable, at(pmsg, ".[[Enumerable]]")); - if (Object_hasOwnProperty(da, "value")) { - if (!Object_hasOwnProperty(db, "value")) - throw Error_("got data property, expected accessor property" + pmsg); - check(da.value, db.value, pmsg); - } else { - if (Object_hasOwnProperty(db, "value")) - throw Error_("got accessor property, expected data property" + pmsg); - check(da.get, db.get, at(pmsg, ".[[Get]]")); - check(da.set, db.set, at(pmsg, ".[[Set]]")); - } - } - }; - - var ab = new Map_(); - var bpath = new Map_(); - - function check(a, b, path) { - if (typeof a === "symbol") { - // Symbols are primitives, but they have identity. - // Symbol("x") !== Symbol("x") but - // assertDeepEq(Symbol("x"), Symbol("x")) should pass. - if (typeof b !== "symbol") { - throw Error_("got " + uneval_(a) + ", expected " + uneval_(b) + " " + path); - } else if (uneval_(a) !== uneval_(b)) { - // We lamely use uneval_ to distinguish well-known symbols - // from user-created symbols. The standard doesn't offer - // a convenient way to do it. - throw Error_("got " + uneval_(a) + ", expected " + uneval_(b) + " " + path); - } else if (Map_has(ab, a)) { - assertSameValue(Map_get(ab, a), b, path); - } else if (Map_has(bpath, b)) { - var bPrevPath = Map_get(bpath, b) || "_"; - throw Error_("got distinct symbols " + at(path, "") + " and " + - at(bPrevPath, "") + ", expected the same symbol both places"); - } else { - Map_set(ab, a, b); - Map_set(bpath, b, path); - } - } else if (isPrimitive(a)) { - assertSameValue(a, b, path); - } else if (isPrimitive(b)) { - throw Error_("got " + Object_toString(a) + ", expected " + uneval_(b) + " " + path); - } else if (Map_has(ab, a)) { - assertSameValue(Map_get(ab, a), b, path); - } else if (Map_has(bpath, b)) { - var bPrevPath = Map_get(bpath, b) || "_"; - throw Error_("got distinct objects " + at(path, "") + " and " + at(bPrevPath, "") + - ", expected the same object both places"); - } else { - Map_set(ab, a, b); - Map_set(bpath, b, path); - if (a !== b || strictEquivalence) { - assertSameClass(a, b, path); - assertSameProto(a, b, path); - assertSameProps(a, b, path); - assertSameValue(Object_isExtensible(a), - Object_isExtensible(b), - at(path, ".[[Extensible]]")); - } - } - } - - check(a, b, ""); - }; - })(); -} - -if (typeof assertWarning === 'undefined') { - function assertWarning(func, name) { - enableLastWarning(); - func(); - var warning = getLastWarning(); - assertEq(warning !== null, true); - assertEq(warning.name, name); - disableLastWarning(); - } -} diff --git a/js/src/tests/ecma_7/Array/browser.js b/js/src/tests/ecma_7/Array/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Array/shell.js b/js/src/tests/ecma_7/Array/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Destructuring/browser.js b/js/src/tests/ecma_7/Destructuring/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Destructuring/shell.js b/js/src/tests/ecma_7/Destructuring/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Math/shell.js b/js/src/tests/ecma_7/Math/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Object/browser.js b/js/src/tests/ecma_7/Object/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Object/shell.js b/js/src/tests/ecma_7/Object/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/String/shell.js b/js/src/tests/ecma_7/String/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Syntax/browser.js b/js/src/tests/ecma_7/Syntax/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/Syntax/shell.js b/js/src/tests/ecma_7/Syntax/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/TypedArray/browser.js b/js/src/tests/ecma_7/TypedArray/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/TypedArray/shell.js b/js/src/tests/ecma_7/TypedArray/shell.js deleted file mode 100644 index 2fb0ab8f1d86..000000000000 --- a/js/src/tests/ecma_7/TypedArray/shell.js +++ /dev/null @@ -1,114 +0,0 @@ -(function(global) { - "use strict"; - - const { - Float32Array, Float64Array, Object, Reflect, SharedArrayBuffer, WeakMap, - assertEq - } = global; - const { - apply: Reflect_apply, - construct: Reflect_construct, - } = Reflect; - const { - get: WeakMap_prototype_get, - has: WeakMap_prototype_has, - } = WeakMap.prototype; - - const sharedConstructors = new WeakMap(); - - // Synthesize a constructor for a shared memory array from the constructor - // for unshared memory. This has "good enough" fidelity for many uses. In - // cases where it's not good enough, call isSharedConstructor for local - // workarounds. - function sharedConstructor(baseConstructor) { - // Create SharedTypedArray as a subclass of %TypedArray%, following the - // built-in %TypedArray% subclasses. - class SharedTypedArray extends Object.getPrototypeOf(baseConstructor) { - constructor(...args) { - var array = Reflect_construct(baseConstructor, args); - var {buffer, byteOffset, length} = array; - var sharedBuffer = new SharedArrayBuffer(buffer.byteLength); - var sharedArray = Reflect_construct(baseConstructor, - [sharedBuffer, byteOffset, length], - new.target); - for (var i = 0; i < length; i++) - sharedArray[i] = array[i]; - assertEq(sharedArray.buffer, sharedBuffer); - return sharedArray; - } - } - - // 22.2.5.1 TypedArray.BYTES_PER_ELEMENT - Object.defineProperty(SharedTypedArray, "BYTES_PER_ELEMENT", - {__proto__: null, value: baseConstructor.BYTES_PER_ELEMENT}); - - // 22.2.6.1 TypedArray.prototype.BYTES_PER_ELEMENT - Object.defineProperty(SharedTypedArray.prototype, "BYTES_PER_ELEMENT", - {__proto__: null, value: baseConstructor.BYTES_PER_ELEMENT}); - - // Share the same name with the base constructor to avoid calling - // isSharedConstructor() in multiple places. - Object.defineProperty(SharedTypedArray, "name", - {__proto__: null, value: baseConstructor.name}); - - sharedConstructors.set(SharedTypedArray, baseConstructor); - - return SharedTypedArray; - } - - /** - * All TypedArray constructors for unshared memory. - */ - const typedArrayConstructors = Object.freeze([ - Int8Array, - Uint8Array, - Uint8ClampedArray, - Int16Array, - Uint16Array, - Int32Array, - Uint32Array, - Float32Array, - Float64Array, - ]); - - /** - * All TypedArray constructors for shared memory. - */ - const sharedTypedArrayConstructors = Object.freeze( - typeof SharedArrayBuffer === "function" - ? typedArrayConstructors.map(sharedConstructor) - : [] - ); - - /** - * All TypedArray constructors for unshared and shared memory. - */ - const anyTypedArrayConstructors = Object.freeze([ - ...typedArrayConstructors, ...sharedTypedArrayConstructors, - ]); - - /** - * Returns `true` if `constructor` is a TypedArray constructor for shared - * memory. - */ - function isSharedConstructor(constructor) { - return Reflect_apply(WeakMap_prototype_has, sharedConstructors, [constructor]); - } - - /** - * Returns `true` if `constructor` is a TypedArray constructor for shared - * or unshared memory, with an underlying element type of either Float32 or - * Float64. - */ - function isFloatConstructor(constructor) { - if (isSharedConstructor(constructor)) - constructor = Reflect_apply(WeakMap_prototype_get, sharedConstructors, [constructor]); - return constructor == Float32Array || constructor == Float64Array; - } - - global.typedArrayConstructors = typedArrayConstructors; - global.sharedTypedArrayConstructors = sharedTypedArrayConstructors; - global.anyTypedArrayConstructors = anyTypedArrayConstructors; - global.isSharedConstructor = isSharedConstructor; - global.isFloatConstructor = isFloatConstructor; -})(this); diff --git a/js/src/tests/ecma_7/browser.js b/js/src/tests/ecma_7/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/extensions/browser.js b/js/src/tests/ecma_7/extensions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/extensions/shell.js b/js/src/tests/ecma_7/extensions/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/ecma_7/shell.js b/js/src/tests/ecma_7/shell.js deleted file mode 100644 index f47e781084a8..000000000000 --- a/js/src/tests/ecma_7/shell.js +++ /dev/null @@ -1,205 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -if (typeof assertThrowsInstanceOf === 'undefined') { - var assertThrowsInstanceOf = function assertThrowsInstanceOf(f, ctor, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if (exc instanceof ctor) - return; - fullmsg = "Assertion failed: expected exception " + ctor.name + ", got " + exc; - } - if (fullmsg === undefined) - fullmsg = "Assertion failed: expected exception " + ctor.name + ", no exception thrown"; - if (msg !== undefined) - fullmsg += " - " + msg; - throw new Error(fullmsg); - }; -} - -if (typeof assertThrowsValue === 'undefined') { - var assertThrowsValue = function assertThrowsValue(f, val, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if ((exc === val) === (val === val) && (val !== 0 || 1 / exc === 1 / val)) - return; - fullmsg = "Assertion failed: expected exception " + val + ", got " + exc; - } - if (fullmsg === undefined) - fullmsg = "Assertion failed: expected exception " + val + ", no exception thrown"; - if (msg !== undefined) - fullmsg += " - " + msg; - throw new Error(fullmsg); - }; -} - -if (typeof assertDeepEq === 'undefined') { - var assertDeepEq = (function(){ - var call = Function.prototype.call, - Array_isArray = Array.isArray, - Map_ = Map, - Error_ = Error, - Map_has = call.bind(Map.prototype.has), - Map_get = call.bind(Map.prototype.get), - Map_set = call.bind(Map.prototype.set), - Object_toString = call.bind(Object.prototype.toString), - Function_toString = call.bind(Function.prototype.toString), - Object_getPrototypeOf = Object.getPrototypeOf, - Object_hasOwnProperty = call.bind(Object.prototype.hasOwnProperty), - Object_getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor, - Object_isExtensible = Object.isExtensible, - Object_getOwnPropertyNames = Object.getOwnPropertyNames, - uneval_ = uneval; - - // Return true iff ES6 Type(v) isn't Object. - // Note that `typeof document.all === "undefined"`. - function isPrimitive(v) { - return (v === null || - v === undefined || - typeof v === "boolean" || - typeof v === "number" || - typeof v === "string" || - typeof v === "symbol"); - } - - function assertSameValue(a, b, msg) { - try { - assertEq(a, b); - } catch (exc) { - throw Error_(exc.message + (msg ? " " + msg : "")); - } - } - - function assertSameClass(a, b, msg) { - var ac = Object_toString(a), bc = Object_toString(b); - assertSameValue(ac, bc, msg); - switch (ac) { - case "[object Function]": - assertSameValue(Function_toString(a), Function_toString(b), msg); - } - } - - function at(prevmsg, segment) { - return prevmsg ? prevmsg + segment : "at _" + segment; - } - - // Assert that the arguments a and b are thoroughly structurally equivalent. - // - // For the sake of speed, we cut a corner: - // var x = {}, y = {}, ax = [x]; - // assertDeepEq([ax, x], [ax, y]); // passes (?!) - // - // Technically this should fail, since the two object graphs are different. - // (The graph of [ax, y] contains one more object than the graph of [ax, x].) - // - // To get technically correct behavior, pass {strictEquivalence: true}. - // This is slower because we have to walk the entire graph, and Object.prototype - // is big. - // - return function assertDeepEq(a, b, options) { - var strictEquivalence = options ? options.strictEquivalence : false; - - function assertSameProto(a, b, msg) { - check(Object_getPrototypeOf(a), Object_getPrototypeOf(b), at(msg, ".__proto__")); - } - - function failPropList(na, nb, msg) { - throw Error_("got own properties " + uneval_(na) + ", expected " + uneval_(nb) + - (msg ? " " + msg : "")); - } - - function assertSameProps(a, b, msg) { - var na = Object_getOwnPropertyNames(a), - nb = Object_getOwnPropertyNames(b); - if (na.length !== nb.length) - failPropList(na, nb, msg); - - // Ignore differences in whether Array elements are stored densely. - if (Array_isArray(a)) { - na.sort(); - nb.sort(); - } - - for (var i = 0; i < na.length; i++) { - var name = na[i]; - if (name !== nb[i]) - failPropList(na, nb, msg); - var da = Object_getOwnPropertyDescriptor(a, name), - db = Object_getOwnPropertyDescriptor(b, name); - var pmsg = at(msg, /^[_$A-Za-z0-9]+$/.test(name) - ? /0|[1-9][0-9]*/.test(name) ? "[" + name + "]" : "." + name - : "[" + uneval_(name) + "]"); - assertSameValue(da.configurable, db.configurable, at(pmsg, ".[[Configurable]]")); - assertSameValue(da.enumerable, db.enumerable, at(pmsg, ".[[Enumerable]]")); - if (Object_hasOwnProperty(da, "value")) { - if (!Object_hasOwnProperty(db, "value")) - throw Error_("got data property, expected accessor property" + pmsg); - check(da.value, db.value, pmsg); - } else { - if (Object_hasOwnProperty(db, "value")) - throw Error_("got accessor property, expected data property" + pmsg); - check(da.get, db.get, at(pmsg, ".[[Get]]")); - check(da.set, db.set, at(pmsg, ".[[Set]]")); - } - } - }; - - var ab = new Map_(); - var bpath = new Map_(); - - function check(a, b, path) { - if (typeof a === "symbol") { - // Symbols are primitives, but they have identity. - // Symbol("x") !== Symbol("x") but - // assertDeepEq(Symbol("x"), Symbol("x")) should pass. - if (typeof b !== "symbol") { - throw Error_("got " + uneval_(a) + ", expected " + uneval_(b) + " " + path); - } else if (uneval_(a) !== uneval_(b)) { - // We lamely use uneval_ to distinguish well-known symbols - // from user-created symbols. The standard doesn't offer - // a convenient way to do it. - throw Error_("got " + uneval_(a) + ", expected " + uneval_(b) + " " + path); - } else if (Map_has(ab, a)) { - assertSameValue(Map_get(ab, a), b, path); - } else if (Map_has(bpath, b)) { - var bPrevPath = Map_get(bpath, b) || "_"; - throw Error_("got distinct symbols " + at(path, "") + " and " + - at(bPrevPath, "") + ", expected the same symbol both places"); - } else { - Map_set(ab, a, b); - Map_set(bpath, b, path); - } - } else if (isPrimitive(a)) { - assertSameValue(a, b, path); - } else if (isPrimitive(b)) { - throw Error_("got " + Object_toString(a) + ", expected " + uneval_(b) + " " + path); - } else if (Map_has(ab, a)) { - assertSameValue(Map_get(ab, a), b, path); - } else if (Map_has(bpath, b)) { - var bPrevPath = Map_get(bpath, b) || "_"; - throw Error_("got distinct objects " + at(path, "") + " and " + at(bPrevPath, "") + - ", expected the same object both places"); - } else { - Map_set(ab, a, b); - Map_set(bpath, b, path); - if (a !== b || strictEquivalence) { - assertSameClass(a, b, path); - assertSameProto(a, b, path); - assertSameProps(a, b, path); - assertSameValue(Object_isExtensible(a), - Object_isExtensible(b), - at(path, ".[[Extensible]]")); - } - } - } - - check(a, b, ""); - }; - })(); -} diff --git a/js/src/tests/js1_1/README b/js/src/tests/js1_1/README deleted file mode 100644 index eb5b5cc93559..000000000000 --- a/js/src/tests/js1_1/README +++ /dev/null @@ -1 +0,0 @@ -JavaScript 1.1 diff --git a/js/src/tests/js1_1/browser.js b/js/src/tests/js1_1/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_1/regress/browser.js b/js/src/tests/js1_1/regress/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_1/regress/function-001.js b/js/src/tests/js1_1/regress/function-001.js deleted file mode 100644 index e0afad8d6a1d..000000000000 --- a/js/src/tests/js1_1/regress/function-001.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: boolean-001.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=99232 - * - * eval("function f(){}function g(){}") at top level is an error for JS1.2 - and above (missing ; between named function expressions), but declares f - and g as functions below 1.2. - * - * Fails to produce error regardless of version: - * js> version(100) - 120 - js> eval("function f(){}function g(){}") - js> version(120); - 100 - js> eval("function f(){}function g(){}") - js> - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "function-001.js"; -var TITLE = "functions not separated by semicolons are not errors in version 110 "; -var BUGNUMBER="99232"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -result = "passed"; - -new TestCase( - "eval(\"function f(){}function g(){}\")", - void 0, - eval("function f(){}function g(){}") ); - -test(); - diff --git a/js/src/tests/js1_1/regress/perfect.js b/js/src/tests/js1_1/regress/perfect.js deleted file mode 100644 index ceb340d7a741..000000000000 --- a/js/src/tests/js1_1/regress/perfect.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - */ - -// Some simple testing of new, eval and some string stuff. - -// constructor -- expression array initialization -function ExprArray(n,v) -{ - // Initializes n values to v coerced to a string. - for (var i = 0; i < n; i++) { - this[i] = "" + v; - } -} - - -// Print the perfect numbers up to n and the sum expression for n's divisors. -function perfect(n) -{ - print("The perfect numbers up to " + n + " are:"); - var results = []; - - // We build sumOfDivisors[i] to hold a string expression for - // the sum of the divisors of i, excluding i itself. - var sumOfDivisors = new ExprArray(n+1,1); - for (var divisor = 2; divisor <= n; divisor++) { - for (var j = divisor + divisor; j <= n; j += divisor) { - sumOfDivisors[j] += " + " + divisor; - } - // At this point everything up to 'divisor' has its sumOfDivisors - // expression calculated, so we can determine whether it's perfect - // already by evaluating. - if (eval(sumOfDivisors[divisor]) == divisor) { - print("" + divisor + " = " + sumOfDivisors[divisor]); - results.push(divisor); - } - } - print("That's all."); - return results; -} - - -print("\nA number is 'perfect' if it is equal to the sum of its") -print("divisors (excluding itself).\n"); - -reportCompare(perfect(500).join(), "6,28,496"); diff --git a/js/src/tests/js1_1/regress/shell.js b/js/src/tests/js1_1/regress/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_1/shell.js b/js/src/tests/js1_1/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/Array/browser.js b/js/src/tests/js1_2/Array/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/Array/general1.js b/js/src/tests/js1_2/Array/general1.js deleted file mode 100644 index 0d3109ea963d..000000000000 --- a/js/src/tests/js1_2/Array/general1.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: general1.js - Description: 'This tests out some of the functionality on methods on the Array objects' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:push,unshift,shift'; - -writeHeaderToLog('Executing script: general1.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var array1 = []; - -array1.push(123); //array1 = [123] -array1.push("dog"); //array1 = [123,dog] -array1.push(-99); //array1 = [123,dog,-99] -array1.push("cat"); //array1 = [123,dog,-99,cat] -new TestCase( "array1.pop()", array1.pop(),'cat'); -//array1 = [123,dog,-99] -array1.push("mouse"); //array1 = [123,dog,-99,mouse] -new TestCase( "array1.shift()", array1.shift(),123); -//array1 = [dog,-99,mouse] -array1.unshift(96); //array1 = [96,dog,-99,mouse] -new TestCase( "state of array", String([96,"dog",-99,"mouse"]), String(array1)); -new TestCase( "array1.length", array1.length,4); -array1.shift(); //array1 = [dog,-99,mouse] -array1.shift(); //array1 = [-99,mouse] -array1.shift(); //array1 = [mouse] -new TestCase( "array1.shift()", array1.shift(),"mouse"); -new TestCase( "array1.shift()", "undefined", String(array1.shift())); - -test(); - diff --git a/js/src/tests/js1_2/Array/general2.js b/js/src/tests/js1_2/Array/general2.js deleted file mode 100644 index 2e7f3ed94ca6..000000000000 --- a/js/src/tests/js1_2/Array/general2.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: general2.js - Description: 'This tests out some of the functionality on methods on the Array objects' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:push,splice,concat,unshift,sort'; - -writeHeaderToLog('Executing script: general2.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -array1 = new Array(); -array2 = []; -size = 10; - -// this for loop populates array1 and array2 as follows: -// array1 = [0,1,2,3,4,....,size - 2,size - 1] -// array2 = [size - 1, size - 2,...,4,3,2,1,0] -for (var i = 0; i < size; i++) -{ - array1.push(i); - array2.push(size - 1 - i); -} - -// the following for loop reverses the order of array1 so -// that it should be similarly ordered to array2 -for (i = array1.length; i > 0; i--) -{ - array3 = array1.slice(1,i); - array1.splice(1,i-1); - array1 = array3.concat(array1); -} - -// the following for loop reverses the order of array1 -// and array2 -for (i = 0; i < size; i++) -{ - array1.push(array1.shift()); - array2.unshift(array2.pop()); -} - -new TestCase( "Array.push,pop,shift,unshift,slice,splice", true,String(array1) == String(array2)); -array1.sort(); -array2.sort(); -new TestCase( "Array.sort", true,String(array1) == String(array2)); - -test(); - diff --git a/js/src/tests/js1_2/Array/shell.js b/js/src/tests/js1_2/Array/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/Array/slice.js b/js/src/tests/js1_2/Array/slice.js deleted file mode 100644 index 7dd6f46c36ea..000000000000 --- a/js/src/tests/js1_2/Array/slice.js +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: slice.js - Description: 'This tests out some of the functionality on methods on the Array objects' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:slice'; - -writeHeaderToLog('Executing script: slice.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var a = ['a','test string',456,9.34,new String("string object"),[],['h','i','j','k']]; -var b = [1,2,3,4,5,6,7,8,9,0]; - -exhaustiveSliceTest("exhaustive slice test 1", a); -exhaustiveSliceTest("exhaustive slice test 2", b); - -test(); - -function mySlice(a, from, to) -{ - var from2 = from; - var to2 = to; - var returnArray = []; - var i; - - if (from2 < 0) from2 = a.length + from; - if (to2 < 0) to2 = a.length + to; - - if ((to2 > from2)&&(to2 > 0)&&(from2 < a.length)) - { - if (from2 < 0) from2 = 0; - if (to2 > a.length) to2 = a.length; - - for (i = from2; i < to2; ++i) returnArray.push(a[i]); - } - return returnArray; -} - -// This function tests the slice command on an Array -// passed in. The arguments passed into slice range in -// value from -5 to the length of the array + 4. Every -// combination of the two arguments is tested. The expected -// result of the slice(...) method is calculated and -// compared to the actual result from the slice(...) method. -// If the Arrays are not similar false is returned. -function exhaustiveSliceTest(testname, a) -{ - var x = 0; - var y = 0; - var errorMessage; - var reason = ""; - var passed = true; - - for (x = -(2 + a.length); x <= (2 + a.length); x++) - for (y = (2 + a.length); y >= -(2 + a.length); y--) - { - var b = a.slice(x,y); - var c = mySlice(a,x,y); - - if (String(b) != String(c)) - { - errorMessage = - "ERROR: 'TEST FAILED' ERROR: 'TEST FAILED' ERROR: 'TEST FAILED'\n" + - " test: " + "a.slice(" + x + "," + y + ")\n" + - " a: " + String(a) + "\n" + - " actual result: " + String(b) + "\n" + - " expected result: " + String(c) + "\n"; - writeHeaderToLog(errorMessage); - reason = reason + errorMessage; - passed = false; - } - } - - new TestCase(testname, true, passed, reason); -} diff --git a/js/src/tests/js1_2/Array/splice1.js b/js/src/tests/js1_2/Array/splice1.js deleted file mode 100644 index aea8dfe789d7..000000000000 --- a/js/src/tests/js1_2/Array/splice1.js +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: splice1.js - Description: 'Tests Array.splice(x,y) w/no var args' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:splice 1'; -var BUGNUMBER="123795"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog('Executing script: splice1.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var a = ['a','test string',456,9.34,new String("string object"),[],['h','i','j','k']]; -var b = [1,2,3,4,5,6,7,8,9,0]; - -exhaustiveSpliceTest("exhaustive splice w/no optional args 1",a); -exhaustiveSpliceTest("exhaustive splice w/no optional args 1",b); - -test(); - - -function mySplice(testArray, splicedArray, first, len, elements) -{ - var removedArray = []; - var adjustedFirst = first; - var adjustedLen = len; - - if (adjustedFirst < 0) adjustedFirst = testArray.length + first; - if (adjustedFirst < 0) adjustedFirst = 0; - - if (adjustedLen < 0) adjustedLen = 0; - - for (i = 0; (i < adjustedFirst)&&(i < testArray.length); ++i) - splicedArray.push(testArray[i]); - - if (adjustedFirst < testArray.length) - for (i = adjustedFirst; (i < adjustedFirst + adjustedLen) && - (i < testArray.length); ++i) - { - removedArray.push(testArray[i]); - } - - for (i = 0; i < elements.length; i++) splicedArray.push(elements[i]); - - for (i = adjustedFirst + adjustedLen; i < testArray.length; i++) - splicedArray.push(testArray[i]); - - return removedArray; -} - -function exhaustiveSpliceTest(testname, testArray) -{ - var errorMessage; - var passed = true; - var reason = ""; - - for (var first = -(testArray.length+2); first <= 2 + testArray.length; first++) - { - var actualSpliced = []; - var expectedSpliced = []; - var actualRemoved = []; - var expectedRemoved = []; - - for (var len = 0; len < testArray.length + 2; len++) - { - actualSpliced = []; - expectedSpliced = []; - - for (var i = 0; i < testArray.length; ++i) - actualSpliced.push(testArray[i]); - - actualRemoved = actualSpliced.splice(first,len); - expectedRemoved = mySplice(testArray,expectedSpliced,first,len,[]); - - var adjustedFirst = first; - if (adjustedFirst < 0) adjustedFirst = testArray.length + first; - if (adjustedFirst < 0) adjustedFirst = 0; - - if ( (String(actualSpliced) != String(expectedSpliced)) - ||(String(actualRemoved) != String(expectedRemoved))) - { - if ( (String(actualSpliced) == String(expectedSpliced)) - &&(String(actualRemoved) != String(expectedRemoved)) ) - { - if ( (expectedRemoved.length == 1) - &&(String(actualRemoved) == String(expectedRemoved[0]))) continue; - if ( expectedRemoved.length == 0 && actualRemoved == void 0) continue; - } - - errorMessage = - "ERROR: 'TEST FAILED'\n" + - " test: " + "a.splice(" + first + "," + len + ",-97,new String('test arg'),[],9.8)\n" + - " a: " + String(testArray) + "\n" + - " actual spliced: " + String(actualSpliced) + "\n" + - " expected spliced: " + String(expectedSpliced) + "\n" + - " actual removed: " + String(actualRemoved) + "\n" + - " expected removed: " + String(expectedRemoved) + "\n"; - writeHeaderToLog(errorMessage); - reason = reason + errorMessage; - passed = false; - } - } - } - - new TestCase( testname, true, passed, reason); -} diff --git a/js/src/tests/js1_2/Array/splice2.js b/js/src/tests/js1_2/Array/splice2.js deleted file mode 100644 index 9a6b8211455e..000000000000 --- a/js/src/tests/js1_2/Array/splice2.js +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: splice2.js - Description: 'Tests Array.splice(x,y) w/4 var args' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:splice 2'; -var BUGNUMBER="123795"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog('Executing script: splice2.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var a = ['a','test string',456,9.34,new String("string object"),[],['h','i','j','k']]; -var b = [1,2,3,4,5,6,7,8,9,0]; - -exhaustiveSpliceTestWithArgs("exhaustive splice w/2 optional args 1",a); -exhaustiveSpliceTestWithArgs("exhaustive splice w/2 optional args 2",b); - -test(); - - -function mySplice(testArray, splicedArray, first, len, elements) -{ - var removedArray = []; - var adjustedFirst = first; - var adjustedLen = len; - - if (adjustedFirst < 0) adjustedFirst = testArray.length + first; - if (adjustedFirst < 0) adjustedFirst = 0; - - if (adjustedLen < 0) adjustedLen = 0; - - for (i = 0; (i < adjustedFirst)&&(i < testArray.length); ++i) - splicedArray.push(testArray[i]); - - if (adjustedFirst < testArray.length) - for (i = adjustedFirst; (i < adjustedFirst + adjustedLen) && (i < testArray.length); ++i) - removedArray.push(testArray[i]); - - for (i = 0; i < elements.length; i++) splicedArray.push(elements[i]); - - for (i = adjustedFirst + adjustedLen; i < testArray.length; i++) - splicedArray.push(testArray[i]); - - return removedArray; -} - -function exhaustiveSpliceTestWithArgs(testname, testArray) -{ - var passed = true; - var errorMessage; - var reason = ""; - for (var first = -(testArray.length+2); first <= 2 + testArray.length; first++) - { - var actualSpliced = []; - var expectedSpliced = []; - var actualRemoved = []; - var expectedRemoved = []; - - for (var len = 0; len < testArray.length + 2; len++) - { - actualSpliced = []; - expectedSpliced = []; - - for (var i = 0; i < testArray.length; ++i) - actualSpliced.push(testArray[i]); - - actualRemoved = actualSpliced.splice(first,len,-97,new String("test arg"),[],9.8); - expectedRemoved = mySplice(testArray,expectedSpliced,first,len,[-97,new String("test arg"),[],9.8]); - - var adjustedFirst = first; - if (adjustedFirst < 0) adjustedFirst = testArray.length + first; - if (adjustedFirst < 0) adjustedFirst = 0; - - - if ( (String(actualSpliced) != String(expectedSpliced)) - ||(String(actualRemoved) != String(expectedRemoved))) - { - if ( (String(actualSpliced) == String(expectedSpliced)) - &&(String(actualRemoved) != String(expectedRemoved)) ) - { - - if ( (expectedRemoved.length == 1) - &&(String(actualRemoved) == String(expectedRemoved[0]))) continue; - if ( expectedRemoved.length == 0 && actualRemoved == void 0 ) continue; - } - - errorMessage = - "ERROR: 'TEST FAILED' ERROR: 'TEST FAILED' ERROR: 'TEST FAILED'\n" + - " test: " + "a.splice(" + first + "," + len + ",-97,new String('test arg'),[],9.8)\n" + - " a: " + String(testArray) + "\n" + - " actual spliced: " + String(actualSpliced) + "\n" + - " expected spliced: " + String(expectedSpliced) + "\n" + - " actual removed: " + String(actualRemoved) + "\n" + - " expected removed: " + String(expectedRemoved); - reason = reason + errorMessage; - writeHeaderToLog(errorMessage); - passed = false; - } - } - } - - new TestCase(testname, true, passed, reason); -} diff --git a/js/src/tests/js1_2/Objects/browser.js b/js/src/tests/js1_2/Objects/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/Objects/shell.js b/js/src/tests/js1_2/Objects/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/README b/js/src/tests/js1_2/README deleted file mode 100644 index 550890ec4abd..000000000000 --- a/js/src/tests/js1_2/README +++ /dev/null @@ -1 +0,0 @@ -JavaScript 1.2 diff --git a/js/src/tests/js1_2/String/browser.js b/js/src/tests/js1_2/String/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/String/charCodeAt.js b/js/src/tests/js1_2/String/charCodeAt.js deleted file mode 100644 index daddd73f76a4..000000000000 --- a/js/src/tests/js1_2/String/charCodeAt.js +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: charCodeAt.js - Description: 'This tests new String object method: charCodeAt' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:charCodeAt'; - -writeHeaderToLog('Executing script: charCodeAt.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var aString = new String("tEs5"); - -new TestCase( "aString.charCodeAt(-2)", NaN, aString.charCodeAt(-2)); -new TestCase( "aString.charCodeAt(-1)", NaN, aString.charCodeAt(-1)); -new TestCase( "aString.charCodeAt( 0)", 116, aString.charCodeAt( 0)); -new TestCase( "aString.charCodeAt( 1)", 69, aString.charCodeAt( 1)); -new TestCase( "aString.charCodeAt( 2)", 115, aString.charCodeAt( 2)); -new TestCase( "aString.charCodeAt( 3)", 53, aString.charCodeAt( 3)); -new TestCase( "aString.charCodeAt( 4)", NaN, aString.charCodeAt( 4)); -new TestCase( "aString.charCodeAt( 5)", NaN, aString.charCodeAt( 5)); -new TestCase( "aString.charCodeAt( Infinity)", NaN, aString.charCodeAt( Infinity)); -new TestCase( "aString.charCodeAt(-Infinity)", NaN, aString.charCodeAt(-Infinity)); -//new TestCase( "aString.charCodeAt( )", 116, aString.charCodeAt( )); - -test(); - diff --git a/js/src/tests/js1_2/String/match.js b/js/src/tests/js1_2/String/match.js deleted file mode 100644 index 611e32a0e176..000000000000 --- a/js/src/tests/js1_2/String/match.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: match.js - Description: 'This tests the new String object method: match' - - Author: NickLerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String:match'; - -writeHeaderToLog('Executing script: match.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var aString = new String("this is a test string"); - -new TestCase( "aString.match(/is.*test/) ", String(["is is a test"]), String(aString.match(/is.*test/))); -new TestCase( "aString.match(/s.*s/) ", String(["s is a test s"]), String(aString.match(/s.*s/))); - -test(); - diff --git a/js/src/tests/js1_2/String/shell.js b/js/src/tests/js1_2/String/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/String/slice.js b/js/src/tests/js1_2/String/slice.js deleted file mode 100644 index 7c64d8d32eab..000000000000 --- a/js/src/tests/js1_2/String/slice.js +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: slice.js - Description: 'This tests the String object method: slice' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String.slice'; - -writeHeaderToLog('Executing script: slice.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var a = new String("abcdefghijklmnopqrstuvwxyz1234567890"); -var b = new String("this is a test string"); - -exhaustiveStringSliceTest("exhaustive String.slice test 1", a); -exhaustiveStringSliceTest("exhaustive String.slice test 2", b); - -test(); - - -function myStringSlice(a, from, to) -{ - var from2 = from; - var to2 = to; - var returnString = new String(""); - var i; - - if (from2 < 0) from2 = a.length + from; - if (to2 < 0) to2 = a.length + to; - - if ((to2 > from2)&&(to2 > 0)&&(from2 < a.length)) - { - if (from2 < 0) from2 = 0; - if (to2 > a.length) to2 = a.length; - - for (i = from2; i < to2; ++i) returnString += a.charAt(i); - } - return returnString; -} - -// This function tests the slice command on a String -// passed in. The arguments passed into slice range in -// value from -5 to the length of the array + 4. Every -// combination of the two arguments is tested. The expected -// result of the slice(...) method is calculated and -// compared to the actual result from the slice(...) method. -// If the Strings are not similar false is returned. -function exhaustiveStringSliceTest(testname, a) -{ - var x = 0; - var y = 0; - var errorMessage; - var reason = ""; - var passed = true; - - for (x = -(2 + a.length); x <= (2 + a.length); x++) - for (y = (2 + a.length); y >= -(2 + a.length); y--) - { - var b = a.slice(x,y); - var c = myStringSlice(a,x,y); - - if (String(b) != String(c)) - { - errorMessage = - "ERROR: 'TEST FAILED' ERROR: 'TEST FAILED' ERROR: 'TEST FAILED'\n" + - " test: " + "a.slice(" + x + "," + y + ")\n" + - " a: " + String(a) + "\n" + - " actual result: " + String(b) + "\n" + - " expected result: " + String(c) + "\n"; - writeHeaderToLog(errorMessage); - reason = reason + errorMessage; - passed = false; - } - } - - new TestCase(testname, true, passed, reason); -} diff --git a/js/src/tests/js1_2/browser.js b/js/src/tests/js1_2/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/function/browser.js b/js/src/tests/js1_2/function/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/function/definition-1.js b/js/src/tests/js1_2/function/definition-1.js deleted file mode 100644 index 9bc4851ae6bc..000000000000 --- a/js/src/tests/js1_2/function/definition-1.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: definition-1.js - Reference: http://scopus.mcom.com/bugsplat/show_bug.cgi?id=111284 - Description: Regression test for declaring functions. - - Author: christine@netscape.com - Date: 15 June 1998 -*/ - -var SECTION = "function/definition-1.js"; -var TITLE = "Regression test for 111284"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -f1 = function() { return "passed!" } - - function f2() { f3 = function() { return "passed!" }; return f3(); } - -new TestCase( 'f1 = function() { return "passed!" }; f1()', - "passed!", - f1() ); - -new TestCase( 'function f2() { f3 = function { return "passed!" }; return f3() }; f2()', - "passed!", - f2() ); - -new TestCase( 'f3()', - "passed!", - f3() ); - -test(); - diff --git a/js/src/tests/js1_2/function/nesting-1.js b/js/src/tests/js1_2/function/nesting-1.js deleted file mode 100644 index 3cb9120e76e2..000000000000 --- a/js/src/tests/js1_2/function/nesting-1.js +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: nesting-1.js - Reference: http://scopus.mcom.com/bugsplat/show_bug.cgi?id=122040 - Description: Regression test for a nested function - - Author: christine@netscape.com - Date: 15 June 1998 -*/ - -var SECTION = "function/nesting-1.js"; -var TITLE = "Regression test for 122040"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function f(a) {function g(b) {return a+b;}; return g;}; f(7); - -new TestCase( 'function f(a) {function g(b) {return a+b;}; return g;}; typeof f(7)', - "function", - typeof f(7) ); - -test(); - diff --git a/js/src/tests/js1_2/function/nesting.js b/js/src/tests/js1_2/function/nesting.js deleted file mode 100644 index d518f4f099d3..000000000000 --- a/js/src/tests/js1_2/function/nesting.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: nesting.js - Description: 'This tests the nesting of functions' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'functions: nesting'; - -writeHeaderToLog('Executing script: nesting.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -function outer_func(x) -{ - var y = "outer"; - - new TestCase( "outer:x ", - 1111, x); - new TestCase( "outer:y ", - 'outer', y); - function inner_func(x) - { - var y = "inner"; - new TestCase( "inner:x ", - 2222, x); - new TestCase( "inner:y ", - 'inner', y); - }; - - inner_func(2222); - new TestCase( "outer:x ", - 1111, x); - new TestCase( "outer:y ", - 'outer', y); -} - -outer_func(1111); - -test(); - diff --git a/js/src/tests/js1_2/function/regexparg-1.js b/js/src/tests/js1_2/function/regexparg-1.js deleted file mode 100644 index a917c2838e6d..000000000000 --- a/js/src/tests/js1_2/function/regexparg-1.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: regexparg-1.js - Description: - - Regression test for - http://scopus/bugsplat/show_bug.cgi?id=122787 - Passing a regular expression as the first constructor argument fails - - Author: christine@netscape.com - Date: 15 June 1998 -*/ - -var SECTION = "JS_1.2"; -var TITLE = "The variable statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -print("Note: Bug 61911 changed the behavior of typeof regexp in Gecko 1.9."); -print("Prior to Gecko 1.9, typeof regexp returned 'function'."); -print("However in Gecko 1.9 and later, typeof regexp will return 'object'."); - -function f(x) {return x;} - -x = f(/abc/); - -new TestCase( "function f(x) {return x;}; f()", - void 0, - f() ); - -new TestCase( "f(\"hi\")", - "hi", - f("hi") ); - -new TestCase( "new f(/abc/) +''", - "/abc/", - new f(/abc/) +"" ); - -new TestCase( "f(/abc/)+'')", - "/abc/", - f(/abc/) +''); - -new TestCase( "typeof f(/abc/)", - "object", - typeof f(/abc/) ); - -new TestCase( "typeof new f(/abc/)", - "object", - typeof new f(/abc/) ); - -new TestCase( "x = new f(/abc/); x.exec(\"hi\")", - null, - x.exec("hi") ); - - -// js> x() -test(); diff --git a/js/src/tests/js1_2/function/shell.js b/js/src/tests/js1_2/function/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/operator/browser.js b/js/src/tests/js1_2/operator/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/operator/shell.js b/js/src/tests/js1_2/operator/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/operator/strictEquality.js b/js/src/tests/js1_2/operator/strictEquality.js deleted file mode 100644 index 81ef6fd89b39..000000000000 --- a/js/src/tests/js1_2/operator/strictEquality.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: strictEquality.js - Description: 'This tests the operator ===' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'operator "==="'; - -writeHeaderToLog('Executing script: strictEquality.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( "('8' === 8) ", - false, ('8' === 8)); - -new TestCase( "(8 === 8) ", - true, (8 === 8)); - -new TestCase( "(8 === true) ", - false, (8 === true)); - -new TestCase( "(new String('') === new String('')) ", - false, (new String('') === new String(''))); - -new TestCase( "(new Boolean(true) === new Boolean(true))", - false, (new Boolean(true) === new Boolean(true))); - -var anObject = { one:1 , two:2 }; - -new TestCase( "(anObject === anObject) ", - true, (anObject === anObject)); - -new TestCase( "(anObject === { one:1 , two:2 }) ", - false, (anObject === { one:1 , two:2 })); - -new TestCase( "({ one:1 , two:2 } === anObject) ", - false, ({ one:1 , two:2 } === anObject)); - -new TestCase( "(null === null) ", - true, (null === null)); - -new TestCase( "(null === 0) ", - false, (null === 0)); - -new TestCase( "(true === !false) ", - true, (true === !false)); - -test(); - diff --git a/js/src/tests/js1_2/regexp/alphanumeric.js b/js/src/tests/js1_2/regexp/alphanumeric.js deleted file mode 100644 index 072326170701..000000000000 --- a/js/src/tests/js1_2/regexp/alphanumeric.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: alphanumeric.js - Description: 'Tests regular expressions with \w and \W special characters' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \\w and \\W'; - -writeHeaderToLog('Executing script: alphanumeric.js'); -writeHeaderToLog( SECTION + " " + TITLE); - -var non_alphanumeric = "~`!@#$%^&*()-+={[}]|\\:;'<,>./?\f\n\r\t\v " + '"'; -var alphanumeric = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; - -// be sure all alphanumerics are matched by \w -new TestCase ( "'" + alphanumeric + "'.match(new RegExp('\\w+'))", - String([alphanumeric]), String(alphanumeric.match(new RegExp('\\w+')))); - -// be sure all non-alphanumerics are matched by \W -new TestCase ( "'" + non_alphanumeric + "'.match(new RegExp('\\W+'))", - String([non_alphanumeric]), String(non_alphanumeric.match(new RegExp('\\W+')))); - -// be sure all non-alphanumerics are not matched by \w -new TestCase ( "'" + non_alphanumeric + "'.match(new RegExp('\\w'))", - null, non_alphanumeric.match(new RegExp('\\w'))); - -// be sure all alphanumerics are not matched by \W -new TestCase ( "'" + alphanumeric + "'.match(new RegExp('\\W'))", - null, alphanumeric.match(new RegExp('\\W'))); - -var s = non_alphanumeric + alphanumeric; - -// be sure all alphanumerics are matched by \w -new TestCase ( "'" + s + "'.match(new RegExp('\\w+'))", - String([alphanumeric]), String(s.match(new RegExp('\\w+')))); - -s = alphanumeric + non_alphanumeric; - -// be sure all non-alphanumerics are matched by \W -new TestCase ( "'" + s + "'.match(new RegExp('\\W+'))", - String([non_alphanumeric]), String(s.match(new RegExp('\\W+')))); - -// be sure all alphanumerics are matched by \w (using literals) -new TestCase ( "'" + s + "'.match(/\w+/)", - String([alphanumeric]), String(s.match(/\w+/))); - -s = alphanumeric + non_alphanumeric; - -// be sure all non-alphanumerics are matched by \W (using literals) -new TestCase ( "'" + s + "'.match(/\W+/)", - String([non_alphanumeric]), String(s.match(/\W+/))); - -s = 'abcd*&^%$$'; -// be sure the following test behaves consistently -new TestCase ( "'" + s + "'.match(/(\w+)...(\W+)/)", - String([s , 'abcd' , '%$$']), String(s.match(/(\w+)...(\W+)/))); - -var i; - -// be sure all alphanumeric characters match individually -for (i = 0; i < alphanumeric.length; ++i) -{ - s = '#$' + alphanumeric[i] + '%^'; - new TestCase ( "'" + s + "'.match(new RegExp('\\w'))", - String([alphanumeric[i]]), String(s.match(new RegExp('\\w')))); -} -// be sure all non_alphanumeric characters match individually -for (i = 0; i < non_alphanumeric.length; ++i) -{ - s = 'sd' + non_alphanumeric[i] + String((i+10) * (i+10) - 2 * (i+10)); - new TestCase ( "'" + s + "'.match(new RegExp('\\W'))", - String([non_alphanumeric[i]]), String(s.match(new RegExp('\\W')))); -} - -test(); diff --git a/js/src/tests/js1_2/regexp/asterisk.js b/js/src/tests/js1_2/regexp/asterisk.js deleted file mode 100644 index 3f302eed30ad..000000000000 --- a/js/src/tests/js1_2/regexp/asterisk.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: asterisk.js - Description: 'Tests regular expressions containing *' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: *'; - -writeHeaderToLog('Executing script: aterisk.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abcddddefg'.match(new RegExp('d*')) -new TestCase ( "'abcddddefg'.match(new RegExp('d*'))", - String([""]), String('abcddddefg'.match(new RegExp('d*')))); - -// 'abcddddefg'.match(new RegExp('cd*')) -new TestCase ( "'abcddddefg'.match(new RegExp('cd*'))", - String(["cdddd"]), String('abcddddefg'.match(new RegExp('cd*')))); - -// 'abcdefg'.match(new RegExp('cx*d')) -new TestCase ( "'abcdefg'.match(new RegExp('cx*d'))", - String(["cd"]), String('abcdefg'.match(new RegExp('cx*d')))); - -// 'xxxxxxx'.match(new RegExp('(x*)(x+)')) -new TestCase ( "'xxxxxxx'.match(new RegExp('(x*)(x+)'))", - String(["xxxxxxx","xxxxxx","x"]), String('xxxxxxx'.match(new RegExp('(x*)(x+)')))); - -// '1234567890'.match(new RegExp('(\\d*)(\\d+)')) -new TestCase ( "'1234567890'.match(new RegExp('(\\d*)(\\d+)'))", - String(["1234567890","123456789","0"]), - String('1234567890'.match(new RegExp('(\\d*)(\\d+)')))); - -// '1234567890'.match(new RegExp('(\\d*)\\d(\\d+)')) -new TestCase ( "'1234567890'.match(new RegExp('(\\d*)\\d(\\d+)'))", - String(["1234567890","12345678","0"]), - String('1234567890'.match(new RegExp('(\\d*)\\d(\\d+)')))); - -// 'xxxxxxx'.match(new RegExp('(x+)(x*)')) -new TestCase ( "'xxxxxxx'.match(new RegExp('(x+)(x*)'))", - String(["xxxxxxx","xxxxxxx",""]), String('xxxxxxx'.match(new RegExp('(x+)(x*)')))); - -// 'xxxxxxyyyyyy'.match(new RegExp('x*y+$')) -new TestCase ( "'xxxxxxyyyyyy'.match(new RegExp('x*y+$'))", - String(["xxxxxxyyyyyy"]), String('xxxxxxyyyyyy'.match(new RegExp('x*y+$')))); - -// 'abcdef'.match(/[\d]*[\s]*bc./) -new TestCase ( "'abcdef'.match(/[\\d]*[\\s]*bc./)", - String(["bcd"]), String('abcdef'.match(/[\d]*[\s]*bc./))); - -// 'abcdef'.match(/bc..[\d]*[\s]*/) -new TestCase ( "'abcdef'.match(/bc..[\\d]*[\\s]*/)", - String(["bcde"]), String('abcdef'.match(/bc..[\d]*[\s]*/))); - -// 'a1b2c3'.match(/.*/) -new TestCase ( "'a1b2c3'.match(/.*/)", - String(["a1b2c3"]), String('a1b2c3'.match(/.*/))); - -// 'a0.b2.c3'.match(/[xyz]*1/) -new TestCase ( "'a0.b2.c3'.match(/[xyz]*1/)", - null, 'a0.b2.c3'.match(/[xyz]*1/)); - -test(); diff --git a/js/src/tests/js1_2/regexp/backslash.js b/js/src/tests/js1_2/regexp/backslash.js deleted file mode 100644 index eeb90a9ae29e..000000000000 --- a/js/src/tests/js1_2/regexp/backslash.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: backslash.js - Description: 'Tests regular expressions containing \' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \\'; - -writeHeaderToLog('Executing script: backslash.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abcde'.match(new RegExp('\e')) -new TestCase ( "'abcde'.match(new RegExp('\e'))", - String(["e"]), String('abcde'.match(new RegExp('\e')))); - -// 'ab\\cde'.match(new RegExp('\\\\')) -new TestCase ( "'ab\\cde'.match(new RegExp('\\\\'))", - String(["\\"]), String('ab\\cde'.match(new RegExp('\\\\')))); - -// 'ab\\cde'.match(/\\/) (using literal) -new TestCase ( "'ab\\cde'.match(/\\\\/)", - String(["\\"]), String('ab\\cde'.match(/\\/))); - -// 'before ^$*+?.()|{}[] after'.match(new RegExp('\^\$\*\+\?\.\(\)\|\{\}\[\]')) -new TestCase ( "'before ^$*+?.()|{}[] after'.match(new RegExp('\\^\\$\\*\\+\\?\\.\\(\\)\\|\\{\\}\\[\\]'))", - String(["^$*+?.()|{}[]"]), - String('before ^$*+?.()|{}[] after'.match(new RegExp('\\^\\$\\*\\+\\?\\.\\(\\)\\|\\{\\}\\[\\]')))); - -// 'before ^$*+?.()|{}[] after'.match(/\^\$\*\+\?\.\(\)\|\{\}\[\]/) (using literal) -new TestCase ( "'before ^$*+?.()|{}[] after'.match(/\\^\\$\\*\\+\\?\\.\\(\\)\\|\\{\\}\\[\\]/)", - String(["^$*+?.()|{}[]"]), - String('before ^$*+?.()|{}[] after'.match(/\^\$\*\+\?\.\(\)\|\{\}\[\]/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/backspace.js b/js/src/tests/js1_2/regexp/backspace.js deleted file mode 100644 index 0d686a808156..000000000000 --- a/js/src/tests/js1_2/regexp/backspace.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: backspace.js - Description: 'Tests regular expressions containing [\b]' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: [\b]'; - -writeHeaderToLog('Executing script: backspace.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abc\bdef'.match(new RegExp('.[\b].')) -new TestCase ( "'abc\bdef'.match(new RegExp('.[\\b].'))", - String(["c\bd"]), String('abc\bdef'.match(new RegExp('.[\\b].')))); - -// 'abc\\bdef'.match(new RegExp('.[\b].')) -new TestCase ( "'abc\\bdef'.match(new RegExp('.[\\b].'))", - null, 'abc\\bdef'.match(new RegExp('.[\\b].'))); - -// 'abc\b\b\bdef'.match(new RegExp('c[\b]{3}d')) -new TestCase ( "'abc\b\b\bdef'.match(new RegExp('c[\\b]{3}d'))", - String(["c\b\b\bd"]), String('abc\b\b\bdef'.match(new RegExp('c[\\b]{3}d')))); - -// 'abc\bdef'.match(new RegExp('[^\\[\b\\]]+')) -new TestCase ( "'abc\bdef'.match(new RegExp('[^\\[\\b\\]]+'))", - String(["abc"]), String('abc\bdef'.match(new RegExp('[^\\[\\b\\]]+')))); - -// 'abcdef'.match(new RegExp('[^\\[\b\\]]+')) -new TestCase ( "'abcdef'.match(new RegExp('[^\\[\\b\\]]+'))", - String(["abcdef"]), String('abcdef'.match(new RegExp('[^\\[\\b\\]]+')))); - -// 'abcdef'.match(/[^\[\b\]]+/) -new TestCase ( "'abcdef'.match(/[^\\[\\b\\]]+/)", - String(["abcdef"]), String('abcdef'.match(/[^\[\b\]]+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/beginLine.js b/js/src/tests/js1_2/regexp/beginLine.js deleted file mode 100644 index 57c29cc7e0e7..000000000000 --- a/js/src/tests/js1_2/regexp/beginLine.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: beginLine.js - Description: 'Tests regular expressions containing ^' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: ^'; - -writeHeaderToLog('Executing script: beginLine.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'abcde'.match(new RegExp('^ab')) -new TestCase ( "'abcde'.match(new RegExp('^ab'))", - String(["ab"]), String('abcde'.match(new RegExp('^ab')))); - -// 'ab\ncde'.match(new RegExp('^..^e')) -new TestCase ( "'ab\ncde'.match(new RegExp('^..^e'))", - null, 'ab\ncde'.match(new RegExp('^..^e'))); - -// 'yyyyy'.match(new RegExp('^xxx')) -new TestCase ( "'yyyyy'.match(new RegExp('^xxx'))", - null, 'yyyyy'.match(new RegExp('^xxx'))); - -// '^^^x'.match(new RegExp('^\\^+')) -new TestCase ( "'^^^x'.match(new RegExp('^\\^+'))", - String(['^^^']), String('^^^x'.match(new RegExp('^\\^+')))); - -// '^^^x'.match(/^\^+/) -new TestCase ( "'^^^x'.match(/^\\^+/)", - String(['^^^']), String('^^^x'.match(/^\^+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/browser.js b/js/src/tests/js1_2/regexp/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/regexp/character_class.js b/js/src/tests/js1_2/regexp/character_class.js deleted file mode 100644 index 647a0bf807d3..000000000000 --- a/js/src/tests/js1_2/regexp/character_class.js +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: character_class.js - Description: 'Tests regular expressions containing []' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: []'; - -writeHeaderToLog('Executing script: character_class.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'abcde'.match(new RegExp('ab[ercst]de')) -new TestCase ( "'abcde'.match(new RegExp('ab[ercst]de'))", - String(["abcde"]), String('abcde'.match(new RegExp('ab[ercst]de')))); - -// 'abcde'.match(new RegExp('ab[erst]de')) -new TestCase ( "'abcde'.match(new RegExp('ab[erst]de'))", - null, 'abcde'.match(new RegExp('ab[erst]de'))); - -// 'abcdefghijkl'.match(new RegExp('[d-h]+')) -new TestCase ( "'abcdefghijkl'.match(new RegExp('[d-h]+'))", - String(["defgh"]), String('abcdefghijkl'.match(new RegExp('[d-h]+')))); - -// 'abc6defghijkl'.match(new RegExp('[1234567].{2}')) -new TestCase ( "'abc6defghijkl'.match(new RegExp('[1234567].{2}'))", - String(["6de"]), String('abc6defghijkl'.match(new RegExp('[1234567].{2}')))); - -// '\n\n\abc324234\n'.match(new RegExp('[a-c\d]+')) -new TestCase ( "'\n\n\abc324234\n'.match(new RegExp('[a-c\\d]+'))", - String(["abc324234"]), String('\n\n\abc324234\n'.match(new RegExp('[a-c\\d]+')))); - -// 'abc'.match(new RegExp('ab[.]?c')) -new TestCase ( "'abc'.match(new RegExp('ab[.]?c'))", - String(["abc"]), String('abc'.match(new RegExp('ab[.]?c')))); - -// 'abc'.match(new RegExp('a[b]c')) -new TestCase ( "'abc'.match(new RegExp('a[b]c'))", - String(["abc"]), String('abc'.match(new RegExp('a[b]c')))); - -// 'a1b b2c c3d def f4g'.match(new RegExp('[a-z][^1-9][a-z]')) -new TestCase ( "'a1b b2c c3d def f4g'.match(new RegExp('[a-z][^1-9][a-z]'))", - String(["def"]), String('a1b b2c c3d def f4g'.match(new RegExp('[a-z][^1-9][a-z]')))); - -// '123*&$abc'.match(new RegExp('[*&$]{3}')) -new TestCase ( "'123*&$abc'.match(new RegExp('[*&$]{3}'))", - String(["*&$"]), String('123*&$abc'.match(new RegExp('[*&$]{3}')))); - -// 'abc'.match(new RegExp('a[^1-9]c')) -new TestCase ( "'abc'.match(new RegExp('a[^1-9]c'))", - String(["abc"]), String('abc'.match(new RegExp('a[^1-9]c')))); - -// 'abc'.match(new RegExp('a[^b]c')) -new TestCase ( "'abc'.match(new RegExp('a[^b]c'))", - null, 'abc'.match(new RegExp('a[^b]c'))); - -// 'abc#$%def%&*@ghi)(*&'.match(new RegExp('[^a-z]{4}')) -new TestCase ( "'abc#$%def%&*@ghi)(*&'.match(new RegExp('[^a-z]{4}'))", - String(["%&*@"]), String('abc#$%def%&*@ghi)(*&'.match(new RegExp('[^a-z]{4}')))); - -// 'abc#$%def%&*@ghi)(*&'.match(/[^a-z]{4}/) -new TestCase ( "'abc#$%def%&*@ghi)(*&'.match(/[^a-z]{4}/)", - String(["%&*@"]), String('abc#$%def%&*@ghi)(*&'.match(/[^a-z]{4}/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/compile.js b/js/src/tests/js1_2/regexp/compile.js deleted file mode 100644 index 849659e11c9c..000000000000 --- a/js/src/tests/js1_2/regexp/compile.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: compile.js - Description: 'Tests regular expressions method compile' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: compile'; - -writeHeaderToLog('Executing script: compile.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var regularExpression = new RegExp(); - -regularExpression.compile("[0-9]{3}x[0-9]{4}","i"); - -new TestCase ( "(compile '[0-9]{3}x[0-9]{4}','i')", - String(["456X7890"]), String('234X456X7890'.match(regularExpression))); - -new TestCase ( "source of (compile '[0-9]{3}x[0-9]{4}','i')", - "[0-9]{3}x[0-9]{4}", regularExpression.source); - -new TestCase ( "global of (compile '[0-9]{3}x[0-9]{4}','i')", - false, regularExpression.global); - -new TestCase ( "ignoreCase of (compile '[0-9]{3}x[0-9]{4}','i')", - true, regularExpression.ignoreCase); - -regularExpression.compile("[0-9]{3}X[0-9]{3}","g"); - -new TestCase ( "(compile '[0-9]{3}X[0-9]{3}','g')", - String(["234X456"]), String('234X456X7890'.match(regularExpression))); - -new TestCase ( "source of (compile '[0-9]{3}X[0-9]{3}','g')", - "[0-9]{3}X[0-9]{3}", regularExpression.source); - -new TestCase ( "global of (compile '[0-9]{3}X[0-9]{3}','g')", - true, regularExpression.global); - -new TestCase ( "ignoreCase of (compile '[0-9]{3}X[0-9]{3}','g')", - false, regularExpression.ignoreCase); - - -test(); diff --git a/js/src/tests/js1_2/regexp/control_characters.js b/js/src/tests/js1_2/regexp/control_characters.js deleted file mode 100644 index dcef462a9a21..000000000000 --- a/js/src/tests/js1_2/regexp/control_characters.js +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: control_characters.js - Description: 'Tests regular expressions containing .' - - Author: Nick Lerissa - Date: April 8, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: .'; -var BUGNUMBER="123802"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog('Executing script: control_characters.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'àOÐ ê:i¢Ø'.match(new RegExp('.+')) -new TestCase ( "'àOÐ ê:i¢Ø'.match(new RegExp('.+'))", - String(['àOÐ ê:i¢Ø']), String('àOÐ ê:i¢Ø'.match(new RegExp('.+')))); - -// string1.match(new RegExp(string1)) -var string1 = 'àOÐ ê:i¢Ø'; -new TestCase ( "string1 = " + string1 + " string1.match(string1)", - String([string1]), String(string1.match(string1))); - -string1 = ""; -for (var i = 0; i < 32; i++) - string1 += String.fromCharCode(i); -new TestCase ( "string1 = " + string1 + " string1.match(string1)", - String([string1]), String(string1.match(string1))); - -test(); diff --git a/js/src/tests/js1_2/regexp/digit.js b/js/src/tests/js1_2/regexp/digit.js deleted file mode 100644 index 30281054121d..000000000000 --- a/js/src/tests/js1_2/regexp/digit.js +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: digit.js - Description: 'Tests regular expressions containing \d' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \\d'; - -writeHeaderToLog('Executing script: digit.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var non_digits = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? " + '"'; - -var digits = "1234567890"; - -// be sure all digits are matched by \d -new TestCase ( "'" + digits + "'.match(new RegExp('\\d+'))", - String([digits]), String(digits.match(new RegExp('\\d+')))); - -// be sure all non-digits are matched by \D -new TestCase ( "'" + non_digits + "'.match(new RegExp('\\D+'))", - String([non_digits]), String(non_digits.match(new RegExp('\\D+')))); - -// be sure all non-digits are not matched by \d -new TestCase ( "'" + non_digits + "'.match(new RegExp('\\d'))", - null, non_digits.match(new RegExp('\\d'))); - -// be sure all digits are not matched by \D -new TestCase ( "'" + digits + "'.match(new RegExp('\\D'))", - null, digits.match(new RegExp('\\D'))); - -var s = non_digits + digits; - -// be sure all digits are matched by \d -new TestCase ( "'" + s + "'.match(new RegExp('\\d+'))", - String([digits]), String(s.match(new RegExp('\\d+')))); - -var s = digits + non_digits; - -// be sure all non-digits are matched by \D -new TestCase ( "'" + s + "'.match(new RegExp('\\D+'))", - String([non_digits]), String(s.match(new RegExp('\\D+')))); - -var i; - -// be sure all digits match individually -for (i = 0; i < digits.length; ++i) -{ - s = 'ab' + digits[i] + 'cd'; - new TestCase ( "'" + s + "'.match(new RegExp('\\d'))", - String([digits[i]]), String(s.match(new RegExp('\\d')))); - new TestCase ( "'" + s + "'.match(/\\d/)", - String([digits[i]]), String(s.match(/\d/))); -} -// be sure all non_digits match individually -for (i = 0; i < non_digits.length; ++i) -{ - s = '12' + non_digits[i] + '34'; - new TestCase ( "'" + s + "'.match(new RegExp('\\D'))", - String([non_digits[i]]), String(s.match(new RegExp('\\D')))); - new TestCase ( "'" + s + "'.match(/\\D/)", - String([non_digits[i]]), String(s.match(/\D/))); -} - -test(); diff --git a/js/src/tests/js1_2/regexp/dot.js b/js/src/tests/js1_2/regexp/dot.js deleted file mode 100644 index 8421de830051..000000000000 --- a/js/src/tests/js1_2/regexp/dot.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: dot.js - Description: 'Tests regular expressions containing .' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: .'; - -writeHeaderToLog('Executing script: dot.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'abcde'.match(new RegExp('ab.de')) -new TestCase ( "'abcde'.match(new RegExp('ab.de'))", - String(["abcde"]), String('abcde'.match(new RegExp('ab.de')))); - -// 'line 1\nline 2'.match(new RegExp('.+')) -new TestCase ( "'line 1\nline 2'.match(new RegExp('.+'))", - String(["line 1"]), String('line 1\nline 2'.match(new RegExp('.+')))); - -// 'this is a test'.match(new RegExp('.*a.*')) -new TestCase ( "'this is a test'.match(new RegExp('.*a.*'))", - String(["this is a test"]), String('this is a test'.match(new RegExp('.*a.*')))); - -// 'this is a *&^%$# test'.match(new RegExp('.+')) -new TestCase ( "'this is a *&^%$# test'.match(new RegExp('.+'))", - String(["this is a *&^%$# test"]), String('this is a *&^%$# test'.match(new RegExp('.+')))); - -// '....'.match(new RegExp('.+')) -new TestCase ( "'....'.match(new RegExp('.+'))", - String(["...."]), String('....'.match(new RegExp('.+')))); - -// 'abcdefghijklmnopqrstuvwxyz'.match(new RegExp('.+')) -new TestCase ( "'abcdefghijklmnopqrstuvwxyz'.match(new RegExp('.+'))", - String(["abcdefghijklmnopqrstuvwxyz"]), String('abcdefghijklmnopqrstuvwxyz'.match(new RegExp('.+')))); - -// 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.match(new RegExp('.+')) -new TestCase ( "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.match(new RegExp('.+'))", - String(["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]), String('ABCDEFGHIJKLMNOPQRSTUVWXYZ'.match(new RegExp('.+')))); - -// '`1234567890-=~!@#$%^&*()_+'.match(new RegExp('.+')) -new TestCase ( "'`1234567890-=~!@#$%^&*()_+'.match(new RegExp('.+'))", - String(["`1234567890-=~!@#$%^&*()_+"]), String('`1234567890-=~!@#$%^&*()_+'.match(new RegExp('.+')))); - -// '|\\[{]};:"\',<>.?/'.match(new RegExp('.+')) -new TestCase ( "'|\\[{]};:\"\',<>.?/'.match(new RegExp('.+'))", - String(["|\\[{]};:\"\',<>.?/"]), String('|\\[{]};:\"\',<>.?/'.match(new RegExp('.+')))); - -// '|\\[{]};:"\',<>.?/'.match(/.+/) -new TestCase ( "'|\\[{]};:\"\',<>.?/'.match(/.+/)", - String(["|\\[{]};:\"\',<>.?/"]), String('|\\[{]};:\"\',<>.?/'.match(/.+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/endLine.js b/js/src/tests/js1_2/regexp/endLine.js deleted file mode 100644 index 3f4b834f877a..000000000000 --- a/js/src/tests/js1_2/regexp/endLine.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: endLine.js - Description: 'Tests regular expressions containing $' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: $'; - -writeHeaderToLog('Executing script: endLine.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'abcde'.match(new RegExp('de$')) -new TestCase ( "'abcde'.match(new RegExp('de$'))", - String(["de"]), String('abcde'.match(new RegExp('de$')))); - -// 'ab\ncde'.match(new RegExp('..$e$')) -new TestCase ( "'ab\ncde'.match(new RegExp('..$e$'))", - null, 'ab\ncde'.match(new RegExp('..$e$'))); - -// 'yyyyy'.match(new RegExp('xxx$')) -new TestCase ( "'yyyyy'.match(new RegExp('xxx$'))", - null, 'yyyyy'.match(new RegExp('xxx$'))); - -// 'a$$$'.match(new RegExp('\\$+$')) -new TestCase ( "'a$$$'.match(new RegExp('\\$+$'))", - String(['$$$']), String('a$$$'.match(new RegExp('\\$+$')))); - -// 'a$$$'.match(/\$+$/) -new TestCase ( "'a$$$'.match(/\\$+$/)", - String(['$$$']), String('a$$$'.match(/\$+$/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/everything.js b/js/src/tests/js1_2/regexp/everything.js deleted file mode 100644 index 798eccc82947..000000000000 --- a/js/src/tests/js1_2/regexp/everything.js +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: everything.js - Description: 'Tests regular expressions' - - Author: Nick Lerissa - Date: March 24, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp'; - -writeHeaderToLog('Executing script: everything.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'Sally and Fred are sure to come.'.match(/^[a-z\s]*/i) -new TestCase ( "'Sally and Fred are sure to come'.match(/^[a-z\\s]*/i)", - String(["Sally and Fred are sure to come"]), String('Sally and Fred are sure to come'.match(/^[a-z\s]*/i))); - -// 'test123W+xyz'.match(new RegExp('^[a-z]*[0-9]+[A-Z]?.(123|xyz)$')) -new TestCase ( "'test123W+xyz'.match(new RegExp('^[a-z]*[0-9]+[A-Z]?.(123|xyz)$'))", - String(["test123W+xyz","xyz"]), String('test123W+xyz'.match(new RegExp('^[a-z]*[0-9]+[A-Z]?.(123|xyz)$')))); - -// 'number one 12365 number two 9898'.match(/(\d+)\D+(\d+)/) -new TestCase ( "'number one 12365 number two 9898'.match(/(\d+)\D+(\d+)/)", - String(["12365 number two 9898","12365","9898"]), String('number one 12365 number two 9898'.match(/(\d+)\D+(\d+)/))); - -var simpleSentence = /(\s?[^\!\?\.]+[\!\?\.])+/; -// 'See Spot run.'.match(simpleSentence) -new TestCase ( "'See Spot run.'.match(simpleSentence)", - String(["See Spot run.","See Spot run."]), String('See Spot run.'.match(simpleSentence))); - -// 'I like it. What's up? I said NO!'.match(simpleSentence) -new TestCase ( "'I like it. What's up? I said NO!'.match(simpleSentence)", - String(["I like it. What's up? I said NO!",' I said NO!']), String('I like it. What\'s up? I said NO!'.match(simpleSentence))); - -// 'the quick brown fox jumped over the lazy dogs'.match(/((\w+)\s*)+/) -new TestCase ( "'the quick brown fox jumped over the lazy dogs'.match(/((\\w+)\\s*)+/)", - String(['the quick brown fox jumped over the lazy dogs','dogs','dogs']),String('the quick brown fox jumped over the lazy dogs'.match(/((\w+)\s*)+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/exec.js b/js/src/tests/js1_2/regexp/exec.js deleted file mode 100644 index f8393df68d93..000000000000 --- a/js/src/tests/js1_2/regexp/exec.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: exec.js - Description: 'Tests regular expressions exec compile' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: exec'; - -writeHeaderToLog('Executing script: exec.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase ( "/[0-9]{3}/.exec('23 2 34 678 9 09')", - String(["678"]), String(/[0-9]{3}/.exec('23 2 34 678 9 09'))); - -new TestCase ( "/3.{4}8/.exec('23 2 34 678 9 09')", - String(["34 678"]), String(/3.{4}8/.exec('23 2 34 678 9 09'))); - -var re = new RegExp('3.{4}8'); -new TestCase ( "re.exec('23 2 34 678 9 09')", - String(["34 678"]), String(re.exec('23 2 34 678 9 09'))); - -new TestCase ( "(/3.{4}8/.exec('23 2 34 678 9 09').length", - 1, (/3.{4}8/.exec('23 2 34 678 9 09')).length); - -re = new RegExp('3.{4}8'); -new TestCase ( "(re.exec('23 2 34 678 9 09').length", - 1, (re.exec('23 2 34 678 9 09')).length); - -test(); diff --git a/js/src/tests/js1_2/regexp/flags.js b/js/src/tests/js1_2/regexp/flags.js deleted file mode 100644 index caffc54ed47f..000000000000 --- a/js/src/tests/js1_2/regexp/flags.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: regexp.js - Description: 'Tests regular expressions using flags "i" and "g"' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'regular expression flags with flags "i" and "g"'; - -writeHeaderToLog('Executing script: flags.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// testing optional flag 'i' -new TestCase ( "'aBCdEfGHijKLmno'.match(/fghijk/i)", - String(["fGHijK"]), String('aBCdEfGHijKLmno'.match(/fghijk/i))); - -new TestCase ( "'aBCdEfGHijKLmno'.match(new RegExp('fghijk','i'))", - String(["fGHijK"]), String('aBCdEfGHijKLmno'.match(new RegExp("fghijk","i")))); - -// testing optional flag 'g' -new TestCase ( "'xa xb xc xd xe xf'.match(/x./g)", - String(["xa","xb","xc","xd","xe","xf"]), String('xa xb xc xd xe xf'.match(/x./g))); - -new TestCase ( "'xa xb xc xd xe xf'.match(new RegExp('x.','g'))", - String(["xa","xb","xc","xd","xe","xf"]), String('xa xb xc xd xe xf'.match(new RegExp('x.','g')))); - -// testing optional flags 'g' and 'i' -new TestCase ( "'xa Xb xc xd Xe xf'.match(/x./gi)", - String(["xa","Xb","xc","xd","Xe","xf"]), String('xa Xb xc xd Xe xf'.match(/x./gi))); - -new TestCase ( "'xa Xb xc xd Xe xf'.match(new RegExp('x.','gi'))", - String(["xa","Xb","xc","xd","Xe","xf"]), String('xa Xb xc xd Xe xf'.match(new RegExp('x.','gi')))); - -new TestCase ( "'xa Xb xc xd Xe xf'.match(/x./ig)", - String(["xa","Xb","xc","xd","Xe","xf"]), String('xa Xb xc xd Xe xf'.match(/x./ig))); - -new TestCase ( "'xa Xb xc xd Xe xf'.match(new RegExp('x.','ig'))", - String(["xa","Xb","xc","xd","Xe","xf"]), String('xa Xb xc xd Xe xf'.match(new RegExp('x.','ig')))); - - -test(); - diff --git a/js/src/tests/js1_2/regexp/global.js b/js/src/tests/js1_2/regexp/global.js deleted file mode 100644 index f2655a5c0345..000000000000 --- a/js/src/tests/js1_2/regexp/global.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: global.js - Description: 'Tests RegExp attribute global' - - Author: Nick Lerissa - Date: March 13, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: global'; - -writeHeaderToLog('Executing script: global.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// /xyz/g.global -new TestCase ( "/xyz/g.global", - true, /xyz/g.global); - -// /xyz/.global -new TestCase ( "/xyz/.global", - false, /xyz/.global); - -// '123 456 789'.match(/\d+/g) -new TestCase ( "'123 456 789'.match(/\\d+/g)", - String(["123","456","789"]), String('123 456 789'.match(/\d+/g))); - -// '123 456 789'.match(/(\d+)/g) -new TestCase ( "'123 456 789'.match(/(\\d+)/g)", - String(["123","456","789"]), String('123 456 789'.match(/(\d+)/g))); - -// '123 456 789'.match(/\d+/) -new TestCase ( "'123 456 789'.match(/\\d+/)", - String(["123"]), String('123 456 789'.match(/\d+/))); - -// (new RegExp('[a-z]','g')).global -new TestCase ( "(new RegExp('[a-z]','g')).global", - true, (new RegExp('[a-z]','g')).global); - -// (new RegExp('[a-z]','i')).global -new TestCase ( "(new RegExp('[a-z]','i')).global", - false, (new RegExp('[a-z]','i')).global); - -// '123 456 789'.match(new RegExp('\\d+','g')) -new TestCase ( "'123 456 789'.match(new RegExp('\\\\d+','g'))", - String(["123","456","789"]), String('123 456 789'.match(new RegExp('\\d+','g')))); - -// '123 456 789'.match(new RegExp('(\\d+)','g')) -new TestCase ( "'123 456 789'.match(new RegExp('(\\\\d+)','g'))", - String(["123","456","789"]), String('123 456 789'.match(new RegExp('(\\d+)','g')))); - -// '123 456 789'.match(new RegExp('\\d+','i')) -new TestCase ( "'123 456 789'.match(new RegExp('\\\\d+','i'))", - String(["123"]), String('123 456 789'.match(new RegExp('\\d+','i')))); - -test(); diff --git a/js/src/tests/js1_2/regexp/hexadecimal.js b/js/src/tests/js1_2/regexp/hexadecimal.js deleted file mode 100644 index c11b1998a882..000000000000 --- a/js/src/tests/js1_2/regexp/hexadecimal.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: hexadecimal.js - Description: 'Tests regular expressions containing \ ' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \\x# (hex) '; - -writeHeaderToLog('Executing script: hexadecimal.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var testPattern = '\\x41\\x42\\x43\\x44\\x45\\x46\\x47\\x48\\x49\\x4A\\x4B\\x4C\\x4D\\x4E\\x4F\\x50\\x51\\x52\\x53\\x54\\x55\\x56\\x57\\x58\\x59\\x5A'; - -var testString = "12345ABCDEFGHIJKLMNOPQRSTUVWXYZ67890"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6A\\x6B\\x6C\\x6D\\x6E\\x6F\\x70\\x71\\x72\\x73\\x74\\x75\\x76\\x77\\x78\\x79\\x7A'; - -testString = "12345AabcdefghijklmnopqrstuvwxyzZ67890"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["abcdefghijklmnopqrstuvwxyz"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\x20\\x21\\x22\\x23\\x24\\x25\\x26\\x27\\x28\\x29\\x2A\\x2B\\x2C\\x2D\\x2E\\x2F\\x30\\x31\\x32\\x33'; - -testString = "abc !\"#$%&'()*+,-./0123ZBC"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String([" !\"#$%&'()*+,-./0123"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\x34\\x35\\x36\\x37\\x38\\x39\\x3A\\x3B\\x3C\\x3D\\x3E\\x3F\\x40'; - -testString = "123456789:;<=>?@ABC"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["456789:;<=>?@"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\x7B\\x7C\\x7D\\x7E'; - -testString = "1234{|}~ABC"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["{|}~"]), String(testString.match(new RegExp(testPattern)))); - -new TestCase ( "'canthisbeFOUND'.match(new RegExp('[A-\\x5A]+'))", - String(["FOUND"]), String('canthisbeFOUND'.match(new RegExp('[A-\\x5A]+')))); - -new TestCase ( "'canthisbeFOUND'.match(new RegExp('[\\x61-\\x7A]+'))", - String(["canthisbe"]), String('canthisbeFOUND'.match(new RegExp('[\\x61-\\x7A]+')))); - -new TestCase ( "'canthisbeFOUND'.match(/[\\x61-\\x7A]+/)", - String(["canthisbe"]), String('canthisbeFOUND'.match(/[\x61-\x7A]+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/ignoreCase.js b/js/src/tests/js1_2/regexp/ignoreCase.js deleted file mode 100644 index fa9ab2765938..000000000000 --- a/js/src/tests/js1_2/regexp/ignoreCase.js +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: ignoreCase.js - Description: 'Tests RegExp attribute ignoreCase' - - Author: Nick Lerissa - Date: March 13, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: ignoreCase'; - -writeHeaderToLog('Executing script: ignoreCase.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// /xyz/i.ignoreCase -new TestCase ( "/xyz/i.ignoreCase", - true, /xyz/i.ignoreCase); - -// /xyz/.ignoreCase -new TestCase ( "/xyz/.ignoreCase", - false, /xyz/.ignoreCase); - -// 'ABC def ghi'.match(/[a-z]+/ig) -new TestCase ( "'ABC def ghi'.match(/[a-z]+/ig)", - String(["ABC","def","ghi"]), String('ABC def ghi'.match(/[a-z]+/ig))); - -// 'ABC def ghi'.match(/[a-z]+/i) -new TestCase ( "'ABC def ghi'.match(/[a-z]+/i)", - String(["ABC"]), String('ABC def ghi'.match(/[a-z]+/i))); - -// 'ABC def ghi'.match(/([a-z]+)/ig) -new TestCase ( "'ABC def ghi'.match(/([a-z]+)/ig)", - String(["ABC","def","ghi"]), String('ABC def ghi'.match(/([a-z]+)/ig))); - -// 'ABC def ghi'.match(/([a-z]+)/i) -new TestCase ( "'ABC def ghi'.match(/([a-z]+)/i)", - String(["ABC","ABC"]), String('ABC def ghi'.match(/([a-z]+)/i))); - -// 'ABC def ghi'.match(/[a-z]+/) -new TestCase ( "'ABC def ghi'.match(/[a-z]+/)", - String(["def"]), String('ABC def ghi'.match(/[a-z]+/))); - -// (new RegExp('xyz','i')).ignoreCase -new TestCase ( "(new RegExp('xyz','i')).ignoreCase", - true, (new RegExp('xyz','i')).ignoreCase); - -// (new RegExp('xyz')).ignoreCase -new TestCase ( "(new RegExp('xyz')).ignoreCase", - false, (new RegExp('xyz')).ignoreCase); - -// 'ABC def ghi'.match(new RegExp('[a-z]+','ig')) -new TestCase ( "'ABC def ghi'.match(new RegExp('[a-z]+','ig'))", - String(["ABC","def","ghi"]), String('ABC def ghi'.match(new RegExp('[a-z]+','ig')))); - -// 'ABC def ghi'.match(new RegExp('[a-z]+','i')) -new TestCase ( "'ABC def ghi'.match(new RegExp('[a-z]+','i'))", - String(["ABC"]), String('ABC def ghi'.match(new RegExp('[a-z]+','i')))); - -// 'ABC def ghi'.match(new RegExp('([a-z]+)','ig')) -new TestCase ( "'ABC def ghi'.match(new RegExp('([a-z]+)','ig'))", - String(["ABC","def","ghi"]), String('ABC def ghi'.match(new RegExp('([a-z]+)','ig')))); - -// 'ABC def ghi'.match(new RegExp('([a-z]+)','i')) -new TestCase ( "'ABC def ghi'.match(new RegExp('([a-z]+)','i'))", - String(["ABC","ABC"]), String('ABC def ghi'.match(new RegExp('([a-z]+)','i')))); - -// 'ABC def ghi'.match(new RegExp('[a-z]+')) -new TestCase ( "'ABC def ghi'.match(new RegExp('[a-z]+'))", - String(["def"]), String('ABC def ghi'.match(new RegExp('[a-z]+')))); - -test(); diff --git a/js/src/tests/js1_2/regexp/interval.js b/js/src/tests/js1_2/regexp/interval.js deleted file mode 100644 index 973dd896d684..000000000000 --- a/js/src/tests/js1_2/regexp/interval.js +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: interval.js - Description: 'Tests regular expressions containing {}' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: {}'; - -writeHeaderToLog('Executing script: interval.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c'))", - String(["bbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c')))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}'))", - null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}'))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c'))", - String(["bbbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c')))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c'))", - null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c'))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c'))", - String(["bbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c')))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c'))", - null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c'))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c'))", - String(["bbbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c')))); - -// 'aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c')) -new TestCase ( "'aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c'))", - String(["bc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c')))); - -// 'weirwerdf'.match(new RegExp('.{0,93}')) -new TestCase ( "'weirwerdf'.match(new RegExp('.{0,93}'))", - String(["weirwerdf"]), String('weirwerdf'.match(new RegExp('.{0,93}')))); - -// 'wqe456646dsff'.match(new RegExp('\d{1,}')) -new TestCase ( "'wqe456646dsff'.match(new RegExp('\\d{1,}'))", - String(["456646"]), String('wqe456646dsff'.match(new RegExp('\\d{1,}')))); - -// '123123'.match(new RegExp('(123){1,}')) -new TestCase ( "'123123'.match(new RegExp('(123){1,}'))", - String(["123123","123"]), String('123123'.match(new RegExp('(123){1,}')))); - -// '123123x123'.match(new RegExp('(123){1,}x\1')) -new TestCase ( "'123123x123'.match(new RegExp('(123){1,}x\\1'))", - String(["123123x123","123"]), String('123123x123'.match(new RegExp('(123){1,}x\\1')))); - -// '123123x123'.match(/(123){1,}x\1/) -new TestCase ( "'123123x123'.match(/(123){1,}x\\1/)", - String(["123123x123","123"]), String('123123x123'.match(/(123){1,}x\1/))); - -// 'xxxxxxx'.match(new RegExp('x{1,2}x{1,}')) -new TestCase ( "'xxxxxxx'.match(new RegExp('x{1,2}x{1,}'))", - String(["xxxxxxx"]), String('xxxxxxx'.match(new RegExp('x{1,2}x{1,}')))); - -// 'xxxxxxx'.match(/x{1,2}x{1,}/) -new TestCase ( "'xxxxxxx'.match(/x{1,2}x{1,}/)", - String(["xxxxxxx"]), String('xxxxxxx'.match(/x{1,2}x{1,}/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/octal.js b/js/src/tests/js1_2/regexp/octal.js deleted file mode 100644 index 918830ec8e70..000000000000 --- a/js/src/tests/js1_2/regexp/octal.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: octal.js - Description: 'Tests regular expressions containing \ ' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \# (octal) '; - -writeHeaderToLog('Executing script: octal.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var testPattern = '\\101\\102\\103\\104\\105\\106\\107\\110\\111\\112\\113\\114\\115\\116\\117\\120\\121\\122\\123\\124\\125\\126\\127\\130\\131\\132'; - -var testString = "12345ABCDEFGHIJKLMNOPQRSTUVWXYZ67890"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\141\\142\\143\\144\\145\\146\\147\\150\\151\\152\\153\\154\\155\\156\\157\\160\\161\\162\\163\\164\\165\\166\\167\\170\\171\\172'; - -testString = "12345AabcdefghijklmnopqrstuvwxyzZ67890"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["abcdefghijklmnopqrstuvwxyz"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\40\\41\\42\\43\\44\\45\\46\\47\\50\\51\\52\\53\\54\\55\\56\\57\\60\\61\\62\\63'; - -testString = "abc !\"#$%&'()*+,-./0123ZBC"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String([" !\"#$%&'()*+,-./0123"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\64\\65\\66\\67\\70\\71\\72\\73\\74\\75\\76\\77\\100'; - -testString = "123456789:;<=>?@ABC"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["456789:;<=>?@"]), String(testString.match(new RegExp(testPattern)))); - -testPattern = '\\173\\174\\175\\176'; - -testString = "1234{|}~ABC"; - -new TestCase ( "'" + testString + "'.match(new RegExp('" + testPattern + "'))", - String(["{|}~"]), String(testString.match(new RegExp(testPattern)))); - -new TestCase ( "'canthisbeFOUND'.match(new RegExp('[A-\\132]+'))", - String(["FOUND"]), String('canthisbeFOUND'.match(new RegExp('[A-\\132]+')))); - -new TestCase ( "'canthisbeFOUND'.match(new RegExp('[\\141-\\172]+'))", - String(["canthisbe"]), String('canthisbeFOUND'.match(new RegExp('[\\141-\\172]+')))); - -new TestCase ( "'canthisbeFOUND'.match(/[\\141-\\172]+/)", - String(["canthisbe"]), String('canthisbeFOUND'.match(/[\141-\172]+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/parentheses.js b/js/src/tests/js1_2/regexp/parentheses.js deleted file mode 100644 index 81f3398f8eec..000000000000 --- a/js/src/tests/js1_2/regexp/parentheses.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: parentheses.js - Description: 'Tests regular expressions containing ()' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: ()'; - -writeHeaderToLog('Executing script: parentheses.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abc'.match(new RegExp('(abc)')) -new TestCase ( "'abc'.match(new RegExp('(abc)'))", - String(["abc","abc"]), String('abc'.match(new RegExp('(abc)')))); - -// 'abcdefg'.match(new RegExp('a(bc)d(ef)g')) -new TestCase ( "'abcdefg'.match(new RegExp('a(bc)d(ef)g'))", - String(["abcdefg","bc","ef"]), String('abcdefg'.match(new RegExp('a(bc)d(ef)g')))); - -// 'abcdefg'.match(new RegExp('(.{3})(.{4})')) -new TestCase ( "'abcdefg'.match(new RegExp('(.{3})(.{4})'))", - String(["abcdefg","abc","defg"]), String('abcdefg'.match(new RegExp('(.{3})(.{4})')))); - -// 'aabcdaabcd'.match(new RegExp('(aa)bcd\1')) -new TestCase ( "'aabcdaabcd'.match(new RegExp('(aa)bcd\\1'))", - String(["aabcdaa","aa"]), String('aabcdaabcd'.match(new RegExp('(aa)bcd\\1')))); - -// 'aabcdaabcd'.match(new RegExp('(aa).+\1')) -new TestCase ( "'aabcdaabcd'.match(new RegExp('(aa).+\\1'))", - String(["aabcdaa","aa"]), String('aabcdaabcd'.match(new RegExp('(aa).+\\1')))); - -// 'aabcdaabcd'.match(new RegExp('(.{2}).+\1')) -new TestCase ( "'aabcdaabcd'.match(new RegExp('(.{2}).+\\1'))", - String(["aabcdaa","aa"]), String('aabcdaabcd'.match(new RegExp('(.{2}).+\\1')))); - -// '123456123456'.match(new RegExp('(\d{3})(\d{3})\1\2')) -new TestCase ( "'123456123456'.match(new RegExp('(\\d{3})(\\d{3})\\1\\2'))", - String(["123456123456","123","456"]), String('123456123456'.match(new RegExp('(\\d{3})(\\d{3})\\1\\2')))); - -// 'abcdefg'.match(new RegExp('a(..(..)..)')) -new TestCase ( "'abcdefg'.match(new RegExp('a(..(..)..)'))", - String(["abcdefg","bcdefg","de"]), String('abcdefg'.match(new RegExp('a(..(..)..)')))); - -// 'abcdefg'.match(/a(..(..)..)/) -new TestCase ( "'abcdefg'.match(/a(..(..)..)/)", - String(["abcdefg","bcdefg","de"]), String('abcdefg'.match(/a(..(..)..)/))); - -// 'xabcdefg'.match(new RegExp('(a(b(c)))(d(e(f)))')) -new TestCase ( "'xabcdefg'.match(new RegExp('(a(b(c)))(d(e(f)))'))", - String(["abcdef","abc","bc","c","def","ef","f"]), String('xabcdefg'.match(new RegExp('(a(b(c)))(d(e(f)))')))); - -// 'xabcdefbcefg'.match(new RegExp('(a(b(c)))(d(e(f)))\2\5')) -new TestCase ( "'xabcdefbcefg'.match(new RegExp('(a(b(c)))(d(e(f)))\\2\\5'))", - String(["abcdefbcef","abc","bc","c","def","ef","f"]), String('xabcdefbcefg'.match(new RegExp('(a(b(c)))(d(e(f)))\\2\\5')))); - -// 'abcd'.match(new RegExp('a(.?)b\1c\1d\1')) -new TestCase ( "'abcd'.match(new RegExp('a(.?)b\\1c\\1d\\1'))", - String(["abcd",""]), String('abcd'.match(new RegExp('a(.?)b\\1c\\1d\\1')))); - -// 'abcd'.match(/a(.?)b\1c\1d\1/) -new TestCase ( "'abcd'.match(/a(.?)b\\1c\\1d\\1/)", - String(["abcd",""]), String('abcd'.match(/a(.?)b\1c\1d\1/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/plus.js b/js/src/tests/js1_2/regexp/plus.js deleted file mode 100644 index 7d59c44d24f6..000000000000 --- a/js/src/tests/js1_2/regexp/plus.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: plus.js - Description: 'Tests regular expressions containing +' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: +'; - -writeHeaderToLog('Executing script: plus.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abcdddddefg'.match(new RegExp('d+')) -new TestCase ( "'abcdddddefg'.match(new RegExp('d+'))", - String(["ddddd"]), String('abcdddddefg'.match(new RegExp('d+')))); - -// 'abcdefg'.match(new RegExp('o+')) -new TestCase ( "'abcdefg'.match(new RegExp('o+'))", - null, 'abcdefg'.match(new RegExp('o+'))); - -// 'abcdefg'.match(new RegExp('d+')) -new TestCase ( "'abcdefg'.match(new RegExp('d+'))", - String(['d']), String('abcdefg'.match(new RegExp('d+')))); - -// 'abbbbbbbc'.match(new RegExp('(b+)(b+)(b+)')) -new TestCase ( "'abbbbbbbc'.match(new RegExp('(b+)(b+)(b+)'))", - String(["bbbbbbb","bbbbb","b","b"]), String('abbbbbbbc'.match(new RegExp('(b+)(b+)(b+)')))); - -// 'abbbbbbbc'.match(new RegExp('(b+)(b*)')) -new TestCase ( "'abbbbbbbc'.match(new RegExp('(b+)(b*)'))", - String(["bbbbbbb","bbbbbbb",""]), String('abbbbbbbc'.match(new RegExp('(b+)(b*)')))); - -// 'abbbbbbbc'.match(new RegExp('b*b+')) -new TestCase ( "'abbbbbbbc'.match(new RegExp('b*b+'))", - String(['bbbbbbb']), String('abbbbbbbc'.match(new RegExp('b*b+')))); - -// 'abbbbbbbc'.match(/(b+)(b*)/) -new TestCase ( "'abbbbbbbc'.match(/(b+)(b*)/)", - String(["bbbbbbb","bbbbbbb",""]), String('abbbbbbbc'.match(/(b+)(b*)/))); - -// 'abbbbbbbc'.match(new RegExp('b*b+')) -new TestCase ( "'abbbbbbbc'.match(/b*b+/)", - String(['bbbbbbb']), String('abbbbbbbc'.match(/b*b+/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/question_mark.js b/js/src/tests/js1_2/regexp/question_mark.js deleted file mode 100644 index 8361e7095788..000000000000 --- a/js/src/tests/js1_2/regexp/question_mark.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: question_mark.js - Description: 'Tests regular expressions containing ?' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: ?'; - -writeHeaderToLog('Executing script: question_mark.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abcdef'.match(new RegExp('cd?e')) -new TestCase ( "'abcdef'.match(new RegExp('cd?e'))", - String(["cde"]), String('abcdef'.match(new RegExp('cd?e')))); - -// 'abcdef'.match(new RegExp('cdx?e')) -new TestCase ( "'abcdef'.match(new RegExp('cdx?e'))", - String(["cde"]), String('abcdef'.match(new RegExp('cdx?e')))); - -// 'pqrstuvw'.match(new RegExp('o?pqrst')) -new TestCase ( "'pqrstuvw'.match(new RegExp('o?pqrst'))", - String(["pqrst"]), String('pqrstuvw'.match(new RegExp('o?pqrst')))); - -// 'abcd'.match(new RegExp('x?y?z?')) -new TestCase ( "'abcd'.match(new RegExp('x?y?z?'))", - String([""]), String('abcd'.match(new RegExp('x?y?z?')))); - -// 'abcd'.match(new RegExp('x?ay?bz?c')) -new TestCase ( "'abcd'.match(new RegExp('x?ay?bz?c'))", - String(["abc"]), String('abcd'.match(new RegExp('x?ay?bz?c')))); - -// 'abcd'.match(/x?ay?bz?c/) -new TestCase ( "'abcd'.match(/x?ay?bz?c/)", - String(["abc"]), String('abcd'.match(/x?ay?bz?c/))); - -// 'abbbbc'.match(new RegExp('b?b?b?b')) -new TestCase ( "'abbbbc'.match(new RegExp('b?b?b?b'))", - String(["bbbb"]), String('abbbbc'.match(new RegExp('b?b?b?b')))); - -// '123az789'.match(new RegExp('ab?c?d?x?y?z')) -new TestCase ( "'123az789'.match(new RegExp('ab?c?d?x?y?z'))", - String(["az"]), String('123az789'.match(new RegExp('ab?c?d?x?y?z')))); - -// '123az789'.match(/ab?c?d?x?y?z/) -new TestCase ( "'123az789'.match(/ab?c?d?x?y?z/)", - String(["az"]), String('123az789'.match(/ab?c?d?x?y?z/))); - -// '?????'.match(new RegExp('\\??\\??\\??\\??\\??')) -new TestCase ( "'?????'.match(new RegExp('\\??\\??\\??\\??\\??'))", - String(["?????"]), String('?????'.match(new RegExp('\\??\\??\\??\\??\\??')))); - -// 'test'.match(new RegExp('.?.?.?.?.?.?.?')) -new TestCase ( "'test'.match(new RegExp('.?.?.?.?.?.?.?'))", - String(["test"]), String('test'.match(new RegExp('.?.?.?.?.?.?.?')))); - -test(); diff --git a/js/src/tests/js1_2/regexp/shell.js b/js/src/tests/js1_2/regexp/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/regexp/simple_form.js b/js/src/tests/js1_2/regexp/simple_form.js deleted file mode 100644 index 8a0c388bfe2d..000000000000 --- a/js/src/tests/js1_2/regexp/simple_form.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: simple_form.js - Description: 'Tests regular expressions using simple form: re.exec(...)' - - Author: Nick Lerissa - Date: March 19, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: simple form'; - -writeHeaderToLog('Executing script: simple_form.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase ( "/[0-9]{3}/.exec('23 2 34 678 9 09')", - String(["678"]), String(/[0-9]{3}/.exec('23 2 34 678 9 09'))); - -new TestCase ( "/3.{4}8/.exec('23 2 34 678 9 09')", - String(["34 678"]), String(/3.{4}8/.exec('23 2 34 678 9 09'))); - -new TestCase ( "(/3.{4}8/.exec('23 2 34 678 9 09').length", - 1, (/3.{4}8/.exec('23 2 34 678 9 09')).length); - -var re = /[0-9]{3}/; -new TestCase ( "re.exec('23 2 34 678 9 09')", - String(["678"]), String(re.exec('23 2 34 678 9 09'))); - -re = /3.{4}8/; -new TestCase ( "re.exec('23 2 34 678 9 09')", - String(["34 678"]), String(re.exec('23 2 34 678 9 09'))); - -new TestCase ( "/3.{4}8/.exec('23 2 34 678 9 09')", - String(["34 678"]), String(/3.{4}8/.exec('23 2 34 678 9 09'))); - -re =/3.{4}8/; -new TestCase ( "(re.exec('23 2 34 678 9 09').length", - 1, (re.exec('23 2 34 678 9 09')).length); - -new TestCase ( "(/3.{4}8/.exec('23 2 34 678 9 09').length", - 1, (/3.{4}8/.exec('23 2 34 678 9 09')).length); - -test(); diff --git a/js/src/tests/js1_2/regexp/source.js b/js/src/tests/js1_2/regexp/source.js deleted file mode 100644 index 89aa30ccf00d..000000000000 --- a/js/src/tests/js1_2/regexp/source.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: source.js - Description: 'Tests RegExp attribute source' - - Author: Nick Lerissa - Date: March 13, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: source'; - -writeHeaderToLog('Executing script: source.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// /xyz/g.source -new TestCase ( "/xyz/g.source", - "xyz", /xyz/g.source); - -// /xyz/.source -new TestCase ( "/xyz/.source", - "xyz", /xyz/.source); - -// /abc\\def/.source -new TestCase ( "/abc\\\\def/.source", - "abc\\\\def", /abc\\def/.source); - -// /abc[\b]def/.source -new TestCase ( "/abc[\\b]def/.source", - "abc[\\b]def", /abc[\b]def/.source); - -// (new RegExp('xyz')).source -new TestCase ( "(new RegExp('xyz')).source", - "xyz", (new RegExp('xyz')).source); - -// (new RegExp('xyz','g')).source -new TestCase ( "(new RegExp('xyz','g')).source", - "xyz", (new RegExp('xyz','g')).source); - -// (new RegExp('abc\\\\def')).source -new TestCase ( "(new RegExp('abc\\\\\\\\def')).source", - "abc\\\\def", (new RegExp('abc\\\\def')).source); - -// (new RegExp('abc[\\b]def')).source -new TestCase ( "(new RegExp('abc[\\\\b]def')).source", - "abc[\\b]def", (new RegExp('abc[\\b]def')).source); - -test(); diff --git a/js/src/tests/js1_2/regexp/special_characters.js b/js/src/tests/js1_2/regexp/special_characters.js deleted file mode 100644 index 839955ffcaf5..000000000000 --- a/js/src/tests/js1_2/regexp/special_characters.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: special_characters.js - Description: 'Tests regular expressions containing special characters' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: special_charaters'; - -writeHeaderToLog('Executing script: special_characters.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// testing backslash '\' -new TestCase ( "'^abcdefghi'.match(/\^abc/)", String(["^abc"]), String('^abcdefghi'.match(/\^abc/))); - -// testing beginning of line '^' -new TestCase ( "'abcdefghi'.match(/^abc/)", String(["abc"]), String('abcdefghi'.match(/^abc/))); - -// testing end of line '$' -new TestCase ( "'abcdefghi'.match(/fghi$/)", String(["ghi"]), String('abcdefghi'.match(/ghi$/))); - -// testing repeat '*' -new TestCase ( "'eeeefghi'.match(/e*/)", String(["eeee"]), String('eeeefghi'.match(/e*/))); - -// testing repeat 1 or more times '+' -new TestCase ( "'abcdeeeefghi'.match(/e+/)", String(["eeee"]), String('abcdeeeefghi'.match(/e+/))); - -// testing repeat 0 or 1 time '?' -new TestCase ( "'abcdefghi'.match(/abc?de/)", String(["abcde"]), String('abcdefghi'.match(/abc?de/))); - -// testing any character '.' -new TestCase ( "'abcdefghi'.match(/c.e/)", String(["cde"]), String('abcdefghi'.match(/c.e/))); - -// testing remembering () -new TestCase ( "'abcewirjskjdabciewjsdf'.match(/(abc).+\\1'/)", - String(["abcewirjskjdabc","abc"]), String('abcewirjskjdabciewjsdf'.match(/(abc).+\1/))); - -// testing or match '|' -new TestCase ( "'abcdefghi'.match(/xyz|def/)", String(["def"]), String('abcdefghi'.match(/xyz|def/))); - -// testing repeat n {n} -new TestCase ( "'abcdeeeefghi'.match(/e{3}/)", String(["eee"]), String('abcdeeeefghi'.match(/e{3}/))); - -// testing min repeat n {n,} -new TestCase ( "'abcdeeeefghi'.match(/e{3,}/)", String(["eeee"]), String('abcdeeeefghi'.match(/e{3,}/))); - -// testing min/max repeat {min, max} -new TestCase ( "'abcdeeeefghi'.match(/e{2,8}/)", String(["eeee"]), String('abcdeeeefghi'.match(/e{2,8}/))); - -// testing any in set [abc...] -new TestCase ( "'abcdefghi'.match(/cd[xey]fgh/)", String(["cdefgh"]), String('abcdefghi'.match(/cd[xey]fgh/))); - -// testing any in set [a-z] -new TestCase ( "'netscape inc'.match(/t[r-v]ca/)", String(["tsca"]), String('netscape inc'.match(/t[r-v]ca/))); - -// testing any not in set [^abc...] -new TestCase ( "'abcdefghi'.match(/cd[^xy]fgh/)", String(["cdefgh"]), String('abcdefghi'.match(/cd[^xy]fgh/))); - -// testing any not in set [^a-z] -new TestCase ( "'netscape inc'.match(/t[^a-c]ca/)", String(["tsca"]), String('netscape inc'.match(/t[^a-c]ca/))); - -// testing backspace [\b] -new TestCase ( "'this is b\ba test'.match(/is b[\b]a test/)", - String(["is b\ba test"]), String('this is b\ba test'.match(/is b[\b]a test/))); - -// testing word boundary \b -new TestCase ( "'today is now - day is not now'.match(/\bday.*now/)", - String(["day is not now"]), String('today is now - day is not now'.match(/\bday.*now/))); - -// control characters??? - -// testing any digit \d -new TestCase ( "'a dog - 1 dog'.match(/\d dog/)", String(["1 dog"]), String('a dog - 1 dog'.match(/\d dog/))); - -// testing any non digit \d -new TestCase ( "'a dog - 1 dog'.match(/\D dog/)", String(["a dog"]), String('a dog - 1 dog'.match(/\D dog/))); - -// testing form feed '\f' -new TestCase ( "'a b a\fb'.match(/a\fb/)", String(["a\fb"]), String('a b a\fb'.match(/a\fb/))); - -// testing line feed '\n' -new TestCase ( "'a b a\nb'.match(/a\nb/)", String(["a\nb"]), String('a b a\nb'.match(/a\nb/))); - -// testing carriage return '\r' -new TestCase ( "'a b a\rb'.match(/a\rb/)", String(["a\rb"]), String('a b a\rb'.match(/a\rb/))); - -// testing whitespace '\s' -new TestCase ( "'xa\f\n\r\t\vbz'.match(/a\s+b/)", String(["a\f\n\r\t\vb"]), String('xa\f\n\r\t\vbz'.match(/a\s+b/))); - -// testing non whitespace '\S' -new TestCase ( "'a\tb a b a-b'.match(/a\Sb/)", String(["a-b"]), String('a\tb a b a-b'.match(/a\Sb/))); - -// testing tab '\t' -new TestCase ( "'a\t\tb a b'.match(/a\t{2}/)", String(["a\t\t"]), String('a\t\tb a b'.match(/a\t{2}/))); - -// testing vertical tab '\v' -new TestCase ( "'a\v\vb a b'.match(/a\v{2}/)", String(["a\v\v"]), String('a\v\vb a b'.match(/a\v{2}/))); - -// testing alphnumeric characters '\w' -new TestCase ( "'%AZaz09_$'.match(/\w+/)", String(["AZaz09_"]), String('%AZaz09_$'.match(/\w+/))); - -// testing non alphnumeric characters '\W' -new TestCase ( "'azx$%#@*4534'.match(/\W+/)", String(["$%#@*"]), String('azx$%#@*4534'.match(/\W+/))); - -// testing back references '\' -new TestCase ( "'test'.match(/(t)es\\1/)", String(["test","t"]), String('test'.match(/(t)es\1/))); - -// testing hex excaping with '\' -new TestCase ( "'abcdef'.match(/\x63\x64/)", String(["cd"]), String('abcdef'.match(/\x63\x64/))); - -// testing oct excaping with '\' -new TestCase ( "'abcdef'.match(/\\143\\144/)", String(["cd"]), String('abcdef'.match(/\143\144/))); - -test(); - diff --git a/js/src/tests/js1_2/regexp/string_replace.js b/js/src/tests/js1_2/regexp/string_replace.js deleted file mode 100644 index 494a93d1ccc6..000000000000 --- a/js/src/tests/js1_2/regexp/string_replace.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: string_replace.js - Description: 'Tests the replace method on Strings using regular expressions' - - Author: Nick Lerissa - Date: March 11, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String: replace'; - -writeHeaderToLog('Executing script: string_replace.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'adddb'.replace(/ddd/,"XX") -new TestCase ( "'adddb'.replace(/ddd/,'XX')", - "aXXb", 'adddb'.replace(/ddd/,'XX')); - -// 'adddb'.replace(/eee/,"XX") -new TestCase ( "'adddb'.replace(/eee/,'XX')", - 'adddb', 'adddb'.replace(/eee/,'XX')); - -// '34 56 78b 12'.replace(new RegExp('[0-9]+b'),'**') -new TestCase ( "'34 56 78b 12'.replace(new RegExp('[0-9]+b'),'**')", - "34 56 ** 12", '34 56 78b 12'.replace(new RegExp('[0-9]+b'),'**')); - -// '34 56 78b 12'.replace(new RegExp('[0-9]+c'),'XX') -new TestCase ( "'34 56 78b 12'.replace(new RegExp('[0-9]+c'),'XX')", - "34 56 78b 12", '34 56 78b 12'.replace(new RegExp('[0-9]+c'),'XX')); - -// 'original'.replace(new RegExp(),'XX') -new TestCase ( "'original'.replace(new RegExp(),'XX')", - "XXoriginal", 'original'.replace(new RegExp(),'XX')); - -// 'qwe ert x\t\n 345654AB'.replace(new RegExp('x\s*\d+(..)$'),'****') -new TestCase ( "'qwe ert x\t\n 345654AB'.replace(new RegExp('x\\s*\\d+(..)$'),'****')", - "qwe ert ****", 'qwe ert x\t\n 345654AB'.replace(new RegExp('x\\s*\\d+(..)$'),'****')); - - -/* - * Test replacement over ropes. The char to rope node ratio must be sufficiently - * high for the special-case code to be tested. - */ -var stringA = "abcdef"; -var stringB = "ghijk"; -var stringC = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"; -stringC += stringC; -stringC += stringC; -stringC[0]; /* flatten stringC */ -var stringD = "lmn"; - -new TestCase ( "(stringA + stringB + stringC).replace('aa', '')", - stringA + stringB + stringC, (stringA + stringB + stringC).replace('aa', '')); - -new TestCase ( "(stringA + stringB + stringC).replace('abc', 'AA')", - "AAdefghijk" + stringC, (stringA + stringB + stringC).replace('abc', 'AA')); - -new TestCase ( "(stringA + stringB + stringC).replace('def', 'AA')", - "abcAAghijk" + stringC, (stringA + stringB + stringC).replace('def', 'AA')); - -new TestCase ( "(stringA + stringB + stringC).replace('efg', 'AA')", - "abcdAAhijk" + stringC, (stringA + stringB + stringC).replace('efg', 'AA')); - -new TestCase ( "(stringA + stringB + stringC).replace('fgh', 'AA')", - "abcdeAAijk" + stringC, (stringA + stringB + stringC).replace('fgh', 'AA')); - -new TestCase ( "(stringA + stringB + stringC).replace('ghi', 'AA')", - "abcdefAAjk" + stringC, (stringA + stringB + stringC).replace('ghi', 'AA')); - -new TestCase ( "(stringC + stringD).replace('lmn', 'AA')", - stringC + "AA", (stringC + stringD).replace('lmn', 'AA')); - -new TestCase ( "(stringC + stringD).replace('lmno', 'AA')", - stringC + stringD, (stringC + stringD).replace('lmno', 'AA')); - -new TestCase ( "(stringC + stringD).replace('mn', 'AA')", - stringC + "lAA", (stringC + stringD).replace('mn', 'AA')); - -new TestCase ( "(stringC + stringD).replace('n', 'AA')", - stringC + "lmAA", (stringC + stringD).replace('n', 'AA')); - - -test(); diff --git a/js/src/tests/js1_2/regexp/string_search.js b/js/src/tests/js1_2/regexp/string_search.js deleted file mode 100644 index 07b8b7b18b04..000000000000 --- a/js/src/tests/js1_2/regexp/string_search.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: string_search.js - Description: 'Tests the search method on Strings using regular expressions' - - Author: Nick Lerissa - Date: March 12, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'String: search'; - -writeHeaderToLog('Executing script: string_search.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -// 'abcdefg'.search(/d/) -new TestCase ( "'abcdefg'.search(/d/)", - 3, 'abcdefg'.search(/d/)); - -// 'abcdefg'.search(/x/) -new TestCase ( "'abcdefg'.search(/x/)", - -1, 'abcdefg'.search(/x/)); - -// 'abcdefg123456hijklmn'.search(/\d+/) -new TestCase ( "'abcdefg123456hijklmn'.search(/\d+/)", - 7, 'abcdefg123456hijklmn'.search(/\d+/)); - -// 'abcdefg123456hijklmn'.search(new RegExp()) -new TestCase ( "'abcdefg123456hijklmn'.search(new RegExp())", - 0, 'abcdefg123456hijklmn'.search(new RegExp())); - -// 'abc'.search(new RegExp('$')) -new TestCase ( "'abc'.search(new RegExp('$'))", - 3, 'abc'.search(new RegExp('$'))); - -// 'abc'.search(new RegExp('^')) -new TestCase ( "'abc'.search(new RegExp('^'))", - 0, 'abc'.search(new RegExp('^'))); - -// 'abc1'.search(/.\d/) -new TestCase ( "'abc1'.search(/.\d/)", - 2, 'abc1'.search(/.\d/)); - -// 'abc1'.search(/\d{2}/) -new TestCase ( "'abc1'.search(/\d{2}/)", - -1, 'abc1'.search(/\d{2}/)); - -test(); diff --git a/js/src/tests/js1_2/regexp/test.js b/js/src/tests/js1_2/regexp/test.js deleted file mode 100644 index 784a1fa958ee..000000000000 --- a/js/src/tests/js1_2/regexp/test.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: test.js - Description: 'Tests regular expressions method compile' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: test'; - -writeHeaderToLog('Executing script: test.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase ( "/[0-9]{3}/.test('23 2 34 678 9 09')", - true, /[0-9]{3}/.test('23 2 34 678 9 09')); - -new TestCase ( "/[0-9]{3}/.test('23 2 34 78 9 09')", - false, /[0-9]{3}/.test('23 2 34 78 9 09')); - -new TestCase ( "/\w+ \w+ \w+/.test('do a test')", - true, /\w+ \w+ \w+/.test("do a test")); - -new TestCase ( "/\w+ \w+ \w+/.test('a test')", - false, /\w+ \w+ \w+/.test("a test")); - -new TestCase ( "(new RegExp('[0-9]{3}')).test('23 2 34 678 9 09')", - true, (new RegExp('[0-9]{3}')).test('23 2 34 678 9 09')); - -new TestCase ( "(new RegExp('[0-9]{3}')).test('23 2 34 78 9 09')", - false, (new RegExp('[0-9]{3}')).test('23 2 34 78 9 09')); - -new TestCase ( "(new RegExp('\\\\w+ \\\\w+ \\\\w+')).test('do a test')", - true, (new RegExp('\\w+ \\w+ \\w+')).test("do a test")); - -new TestCase ( "(new RegExp('\\\\w+ \\\\w+ \\\\w+')).test('a test')", - false, (new RegExp('\\w+ \\w+ \\w+')).test("a test")); - -test(); diff --git a/js/src/tests/js1_2/regexp/toString.js b/js/src/tests/js1_2/regexp/toString.js deleted file mode 100644 index b512e853526b..000000000000 --- a/js/src/tests/js1_2/regexp/toString.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: toString.js - Description: 'Tests RegExp method toString' - - Author: Nick Lerissa - Date: March 13, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: toString'; - -writeHeaderToLog('Executing script: toString.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -/* - * var re = new RegExp(); re.toString() For what to expect, - * see http://bugzilla.mozilla.org/show_bug.cgi?id=225343#c7 - */ -var re = new RegExp(); -new TestCase ( "var re = new RegExp(); re.toString()", - '/(?:)/', re.toString()); - -// re = /.+/; re.toString(); -re = /.+/; -new TestCase ( "re = /.+/; re.toString()", - '/.+/', re.toString()); - -// re = /test/gi; re.toString() -re = /test/gi; -new TestCase ( "re = /test/gi; re.toString()", - '/test/gi', re.toString()); - -// re = /test2/ig; re.toString() -re = /test2/ig; -new TestCase ( "re = /test2/ig; re.toString()", - '/test2/gi', re.toString()); - -test(); diff --git a/js/src/tests/js1_2/regexp/vertical_bar.js b/js/src/tests/js1_2/regexp/vertical_bar.js deleted file mode 100644 index 79048c76f563..000000000000 --- a/js/src/tests/js1_2/regexp/vertical_bar.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: vertical_bar.js - Description: 'Tests regular expressions containing |' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: |'; - -writeHeaderToLog('Executing script: vertical_bar.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'abc'.match(new RegExp('xyz|abc')) -new TestCase ( "'abc'.match(new RegExp('xyz|abc'))", - String(["abc"]), String('abc'.match(new RegExp('xyz|abc')))); - -// 'this is a test'.match(new RegExp('quiz|exam|test|homework')) -new TestCase ( "'this is a test'.match(new RegExp('quiz|exam|test|homework'))", - String(["test"]), String('this is a test'.match(new RegExp('quiz|exam|test|homework')))); - -// 'abc'.match(new RegExp('xyz|...')) -new TestCase ( "'abc'.match(new RegExp('xyz|...'))", - String(["abc"]), String('abc'.match(new RegExp('xyz|...')))); - -// 'abc'.match(new RegExp('(.)..|abc')) -new TestCase ( "'abc'.match(new RegExp('(.)..|abc'))", - String(["abc","a"]), String('abc'.match(new RegExp('(.)..|abc')))); - -// 'color: grey'.match(new RegExp('.+: gr(a|e)y')) -new TestCase ( "'color: grey'.match(new RegExp('.+: gr(a|e)y'))", - String(["color: grey","e"]), String('color: grey'.match(new RegExp('.+: gr(a|e)y')))); - -// 'no match'.match(new RegExp('red|white|blue')) -new TestCase ( "'no match'.match(new RegExp('red|white|blue'))", - null, 'no match'.match(new RegExp('red|white|blue'))); - -// 'Hi Bob'.match(new RegExp('(Rob)|(Bob)|(Robert)|(Bobby)')) -new TestCase ( "'Hi Bob'.match(new RegExp('(Rob)|(Bob)|(Robert)|(Bobby)'))", - String(["Bob",undefined,"Bob", undefined, undefined]), String('Hi Bob'.match(new RegExp('(Rob)|(Bob)|(Robert)|(Bobby)')))); - -// 'abcdef'.match(new RegExp('abc|bcd|cde|def')) -new TestCase ( "'abcdef'.match(new RegExp('abc|bcd|cde|def'))", - String(["abc"]), String('abcdef'.match(new RegExp('abc|bcd|cde|def')))); - -// 'Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/) -new TestCase ( "'Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/)", - String(["Bob",undefined,"Bob", undefined, undefined]), String('Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/))); - -// 'abcdef'.match(/abc|bcd|cde|def/) -new TestCase ( "'abcdef'.match(/abc|bcd|cde|def/)", - String(["abc"]), String('abcdef'.match(/abc|bcd|cde|def/))); - -test(); diff --git a/js/src/tests/js1_2/regexp/whitespace.js b/js/src/tests/js1_2/regexp/whitespace.js deleted file mode 100644 index aab5e27a33a9..000000000000 --- a/js/src/tests/js1_2/regexp/whitespace.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: whitespace.js - Description: 'Tests regular expressions containing \f\n\r\t\v\s\S\ ' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \\f\\n\\r\\t\\v\\s\\S '; - -writeHeaderToLog('Executing script: whitespace.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -var non_whitespace = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\:;'<,>./?1234567890" + '"'; -var whitespace = "\f\n\r\t\v "; - -// be sure all whitespace is matched by \s -new TestCase ( "'" + whitespace + "'.match(new RegExp('\\s+'))", - String([whitespace]), String(whitespace.match(new RegExp('\\s+')))); - -// be sure all non-whitespace is matched by \S -new TestCase ( "'" + non_whitespace + "'.match(new RegExp('\\S+'))", - String([non_whitespace]), String(non_whitespace.match(new RegExp('\\S+')))); - -// be sure all non-whitespace is not matched by \s -new TestCase ( "'" + non_whitespace + "'.match(new RegExp('\\s'))", - null, non_whitespace.match(new RegExp('\\s'))); - -// be sure all whitespace is not matched by \S -new TestCase ( "'" + whitespace + "'.match(new RegExp('\\S'))", - null, whitespace.match(new RegExp('\\S'))); - -var s = non_whitespace + whitespace; - -// be sure all digits are matched by \s -new TestCase ( "'" + s + "'.match(new RegExp('\\s+'))", - String([whitespace]), String(s.match(new RegExp('\\s+')))); - -s = whitespace + non_whitespace; - -// be sure all non-whitespace are matched by \S -new TestCase ( "'" + s + "'.match(new RegExp('\\S+'))", - String([non_whitespace]), String(s.match(new RegExp('\\S+')))); - -// '1233345find me345'.match(new RegExp('[a-z\\s][a-z\\s]+')) -new TestCase ( "'1233345find me345'.match(new RegExp('[a-z\\s][a-z\\s]+'))", - String(["find me"]), String('1233345find me345'.match(new RegExp('[a-z\\s][a-z\\s]+')))); - -var i; - -// be sure all whitespace characters match individually -for (i = 0; i < whitespace.length; ++i) -{ - s = 'ab' + whitespace[i] + 'cd'; - new TestCase ( "'" + s + "'.match(new RegExp('\\\\s'))", - String([whitespace[i]]), String(s.match(new RegExp('\\s')))); - new TestCase ( "'" + s + "'.match(/\s/)", - String([whitespace[i]]), String(s.match(/\s/))); -} -// be sure all non_whitespace characters match individually -for (i = 0; i < non_whitespace.length; ++i) -{ - s = ' ' + non_whitespace[i] + ' '; - new TestCase ( "'" + s + "'.match(new RegExp('\\\\S'))", - String([non_whitespace[i]]), String(s.match(new RegExp('\\S')))); - new TestCase ( "'" + s + "'.match(/\S/)", - String([non_whitespace[i]]), String(s.match(/\S/))); -} - - -test(); diff --git a/js/src/tests/js1_2/regexp/word_boundary.js b/js/src/tests/js1_2/regexp/word_boundary.js deleted file mode 100644 index 60b488dc4606..000000000000 --- a/js/src/tests/js1_2/regexp/word_boundary.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: word_boundary.js - Description: 'Tests regular expressions containing \b and \B' - - Author: Nick Lerissa - Date: March 10, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'RegExp: \\b and \\B'; - -writeHeaderToLog('Executing script: word_boundary.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - - -// 'cowboy boyish boy'.match(new RegExp('\bboy\b')) -new TestCase ( "'cowboy boyish boy'.match(new RegExp('\\bboy\\b'))", - String(["boy"]), String('cowboy boyish boy'.match(new RegExp('\\bboy\\b')))); - -var boundary_characters = "\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? " + '"'; -var non_boundary_characters = '1234567890_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; -var s = ''; -var i; - -// testing whether all boundary characters are matched when they should be -for (i = 0; i < boundary_characters.length; ++i) -{ - s = '123ab' + boundary_characters.charAt(i) + '123c' + boundary_characters.charAt(i); - - new TestCase ( "'" + s + "'.match(new RegExp('\\b123[a-z]\\b'))", - String(["123c"]), String(s.match(new RegExp('\\b123[a-z]\\b')))); -} - -// testing whether all non-boundary characters are matched when they should be -for (i = 0; i < non_boundary_characters.length; ++i) -{ - s = '123ab' + non_boundary_characters.charAt(i) + '123c' + non_boundary_characters.charAt(i); - - new TestCase ( "'" + s + "'.match(new RegExp('\\B123[a-z]\\B'))", - String(["123c"]), String(s.match(new RegExp('\\B123[a-z]\\B')))); -} - -s = ''; - -// testing whether all boundary characters are not matched when they should not be -for (i = 0; i < boundary_characters.length; ++i) -{ - s += boundary_characters[i] + "a" + i + "b"; -} -s += "xa1111bx"; - -new TestCase ( "'" + s + "'.match(new RegExp('\\Ba\\d+b\\B'))", - String(["a1111b"]), String(s.match(new RegExp('\\Ba\\d+b\\B')))); - -new TestCase ( "'" + s + "'.match(/\\Ba\\d+b\\B/)", - String(["a1111b"]), String(s.match(/\Ba\d+b\B/))); - -s = ''; - -// testing whether all non-boundary characters are not matched when they should not be -for (i = 0; i < non_boundary_characters.length; ++i) -{ - s += non_boundary_characters[i] + "a" + i + "b"; -} -s += "(a1111b)"; - -new TestCase ( "'" + s + "'.match(new RegExp('\\ba\\d+b\\b'))", - String(["a1111b"]), String(s.match(new RegExp('\\ba\\d+b\\b')))); - -new TestCase ( "'" + s + "'.match(/\\ba\\d+b\\b/)", - String(["a1111b"]), String(s.match(/\ba\d+b\b/))); - -test(); diff --git a/js/src/tests/js1_2/regress/browser.js b/js/src/tests/js1_2/regress/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/regress/regress-144834.js b/js/src/tests/js1_2/regress/regress-144834.js deleted file mode 100644 index 1db9babaff24..000000000000 --- a/js/src/tests/js1_2/regress/regress-144834.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * - * Date: 05 July 2002 - * SUMMARY: Testing local var having same name as switch label inside function - * - * The code below crashed while compiling in JS1.1 or JS1.2 - * See http://bugzilla.mozilla.org/show_bug.cgi?id=144834 - * - */ -//----------------------------------------------------------------------------- -var BUGNUMBER = 144834; -var summary = 'Local var having same name as switch label inside function'; - -print(BUGNUMBER); -print(summary); - - -function RedrawSched() -{ - var MinBound; - - switch (i) - { - case MinBound : - } -} - - -/* - * Also try eval scope - - */ -var s = ''; -s += 'function RedrawSched()'; -s += '{'; -s += ' var MinBound;'; -s += ''; -s += ' switch (i)'; -s += ' {'; -s += ' case MinBound :'; -s += ' }'; -s += '}'; -eval(s); - -AddTestCase('Do not crash', 'No Crash', 'No Crash'); -test(); diff --git a/js/src/tests/js1_2/regress/regress-7703.js b/js/src/tests/js1_2/regress/regress-7703.js deleted file mode 100644 index 5d57bb856d0a..000000000000 --- a/js/src/tests/js1_2/regress/regress-7703.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - - -/** - * File Name: regress-7703.js - * Reference: "http://bugzilla.mozilla.org/show_bug.cgi?id=7703"; - * Description: See the text of the bugnumber above - */ - -var SECTION = "js1_2"; // provide a document reference (ie, ECMA section) -var TITLE = "Regression test for bugzilla # 7703"; // Provide ECMA section title or a description -var BUGNUMBER = "http://bugzilla.mozilla.org/show_bug.cgi?id=7703"; // Provide URL to bugsplat or bugzilla report - -printBugNumber(BUGNUMBER); - -/* - * Calls to AddTestCase here. AddTestCase is a function that is defined - * in shell.js and takes three arguments: - * - a string representation of what is being tested - * - the expected result - * - the actual result - * - * For example, a test might look like this: - * - * var zip = /[\d]{5}$/; - * - * AddTestCase( - * "zip = /[\d]{5}$/; \"PO Box 12345 Boston, MA 02134\".match(zip)", // description of the test - * "02134", // expected result - * "PO Box 12345 Boston, MA 02134".match(zip) ); // actual result - * - */ - -types = []; -function inspect(object) { - for (prop in object) { - var x = object[prop]; - types[types.length] = (typeof x); - } -} - -var o = {a: 1, b: 2}; -inspect(o); - -AddTestCase( "inspect(o),length", 2, types.length ); -AddTestCase( "inspect(o)[0]", "number", types[0] ); -AddTestCase( "inspect(o)[1]", "number", types[1] ); - -types_2 = []; - -function inspect_again(object) { - for (prop in object) { - types_2[types_2.length] = (typeof object[prop]); - } -} - -inspect_again(o); -AddTestCase( "inspect_again(o),length", 2, types.length ); -AddTestCase( "inspect_again(o)[0]", "number", types[0] ); -AddTestCase( "inspect_again(o)[1]", "number", types[1] ); - - -test(); // leave this alone. this executes the test cases and -// displays results. diff --git a/js/src/tests/js1_2/regress/shell.js b/js/src/tests/js1_2/regress/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/shell.js b/js/src/tests/js1_2/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/statements/break.js b/js/src/tests/js1_2/statements/break.js deleted file mode 100644 index b0899cfa4a94..000000000000 --- a/js/src/tests/js1_2/statements/break.js +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: break.js - Description: 'Tests the break statement' - - Author: Nick Lerissa - Date: March 18, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'statements: break'; - -writeHeaderToLog("Executing script: break.js"); -writeHeaderToLog( SECTION + " "+ TITLE); - -var i,j; - -for (i = 0; i < 1000; i++) -{ - if (i == 100) break; -} - -// 'breaking out of "for" loop' -new TestCase ( 'breaking out of "for" loop', - 100, i); - -j = 2000; - -out1: -for (i = 0; i < 1000; i++) -{ - if (i == 100) - { - out2: - for (j = 0; j < 1000; j++) - { - if (j == 500) break out1; - } - j = 2001; - } - j = 2002; -} - -// 'breaking out of a "for" loop with a "label"' -new TestCase ( 'breaking out of a "for" loop with a "label"', - 500, j); - -i = 0; - -while (i < 1000) -{ - if (i == 100) break; - i++; -} - -// 'breaking out of a "while" loop' -new TestCase ( 'breaking out of a "while" loop', - 100, i ); - - -j = 2000; -i = 0; - -out3: -while (i < 1000) -{ - if (i == 100) - { - j = 0; - out4: - while (j < 1000) - { - if (j == 500) break out3; - j++; - } - j = 2001; - } - j = 2002; - i++; -} - -// 'breaking out of a "while" loop with a "label"' -new TestCase ( 'breaking out of a "while" loop with a "label"', - 500, j); - -i = 0; - -do -{ - if (i == 100) break; - i++; -} while (i < 1000); - -// 'breaking out of a "do" loop' -new TestCase ( 'breaking out of a "do" loop', - 100, i ); - -j = 2000; -i = 0; - -out5: -do -{ - if (i == 100) - { - j = 0; - out6: - do - { - if (j == 500) break out5; - j++; - }while (j < 1000); - j = 2001; - } - j = 2002; - i++; -}while (i < 1000); - -// 'breaking out of a "do" loop with a "label"' -new TestCase ( 'breaking out of a "do" loop with a "label"', - 500, j); - -test(); diff --git a/js/src/tests/js1_2/statements/browser.js b/js/src/tests/js1_2/statements/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/statements/continue.js b/js/src/tests/js1_2/statements/continue.js deleted file mode 100644 index 4272abb8070e..000000000000 --- a/js/src/tests/js1_2/statements/continue.js +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: continue.js - Description: 'Tests the continue statement' - - Author: Nick Lerissa - Date: March 18, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'statements: continue'; - -writeHeaderToLog("Executing script: continue.js"); -writeHeaderToLog( SECTION + " "+ TITLE); - -var i,j; - -j = 0; -for (i = 0; i < 200; i++) -{ - if (i == 100) - continue; - j++; -} - -// '"continue" in a "for" loop' -new TestCase ( '"continue" in "for" loop', - 199, j); - - -j = 0; -out1: -for (i = 0; i < 1000; i++) -{ - if (i == 100) - { - out2: - for (var k = 0; k < 1000; k++) - { - if (k == 500) continue out1; - } - j = 3000; - } - j++; -} - -// '"continue" in a "for" loop with a "label"' -new TestCase ( '"continue" in "for" loop with a "label"', - 999, j); - -i = 0; -j = 1; - -while (i != j) -{ - i++; - if (i == 100) continue; - j++; -} - -// '"continue" in a "while" loop' -new TestCase ( '"continue" in a "while" loop', - 100, j ); - -j = 0; -i = 0; -out3: -while (i < 1000) -{ - if (i == 100) - { - var k = 0; - out4: - while (k < 1000) - { - if (k == 500) - { - i++; - continue out3; - } - k++; - } - j = 3000; - } - j++; - i++; -} - -// '"continue" in a "while" loop with a "label"' -new TestCase ( '"continue" in a "while" loop with a "label"', - 999, j); - -i = 0; -j = 1; - -do -{ - i++; - if (i == 100) continue; - j++; -} while (i != j); - - -// '"continue" in a "do" loop' -new TestCase ( '"continue" in a "do" loop', - 100, j ); - -j = 0; -i = 0; -out5: -do -{ - if (i == 100) - { - var k = 0; - out6: - do - { - if (k == 500) - { - i++; - continue out5; - } - k++; - }while (k < 1000); - j = 3000; - } - j++; - i++; -}while (i < 1000); - -// '"continue" in a "do" loop with a "label"' -new TestCase ( '"continue" in a "do" loop with a "label"', - 999, j); - -test(); diff --git a/js/src/tests/js1_2/statements/do_while.js b/js/src/tests/js1_2/statements/do_while.js deleted file mode 100644 index ed9b11280c01..000000000000 --- a/js/src/tests/js1_2/statements/do_while.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: do_while.js - Description: 'This tests the new do_while loop' - - Author: Nick Lerissa - Date: Fri Feb 13 09:58:28 PST 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'statements: do_while'; - -writeHeaderToLog('Executing script: do_while.js'); -writeHeaderToLog( SECTION + " "+ TITLE); - -var done = false; -var x = 0; -do -{ - if (x++ == 3) done = true; -} while (!done); - -new TestCase( "do_while ", - 4, x); - -//load('d:/javascript/tests/output/statements/do_while.js') -test(); - diff --git a/js/src/tests/js1_2/statements/shell.js b/js/src/tests/js1_2/statements/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_2/statements/switch.js b/js/src/tests/js1_2/statements/switch.js deleted file mode 100644 index 7d9f4b0e5f34..000000000000 --- a/js/src/tests/js1_2/statements/switch.js +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: switch.js - Description: 'Tests the switch statement' - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=323696 - - Author: Nick Lerissa - Date: March 19, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'statements: switch'; -var BUGNUMBER="323696"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog("Executing script: switch.js"); -writeHeaderToLog( SECTION + " "+ TITLE); - - -var var1 = "match string"; -var match1 = false; -var match2 = false; -var match3 = false; - -switch (var1) -{ -case "match string": - match1 = true; -case "bad string 1": - match2 = true; - break; -case "bad string 2": - match3 = true; -} - -new TestCase ( 'switch statement', - true, match1); - -new TestCase ( 'switch statement', - true, match2); - -new TestCase ( 'switch statement', - false, match3); - -var var2 = 3; - -var match1 = false; -var match2 = false; -var match3 = false; -var match4 = false; -var match5 = false; - -switch (var2) -{ -case 1: -/* switch (var1) - { - case "foo": - match1 = true; - break; - case 3: - match2 = true; - break; - }*/ - match3 = true; - break; -case 2: - match4 = true; - break; -case 3: - match5 = true; - break; -} -new TestCase ( 'switch statement', - false, match1); - -new TestCase ( 'switch statement', - false, match2); - -new TestCase ( 'switch statement', - false, match3); - -new TestCase ( 'switch statement', - false, match4); - -new TestCase ( 'switch statement', - true, match5); - -test(); diff --git a/js/src/tests/js1_2/statements/switch2.js b/js/src/tests/js1_2/statements/switch2.js deleted file mode 100644 index 09ba8b15b1fb..000000000000 --- a/js/src/tests/js1_2/statements/switch2.js +++ /dev/null @@ -1,157 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - Filename: switch2.js - Description: 'Tests the switch statement' - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=323696 - - Author: Norris Boyd - Date: July 31, 1998 -*/ - -var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; -var TITLE = 'statements: switch'; -var BUGNUMBER="323626"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog("Executing script: switch2.js"); -writeHeaderToLog( SECTION + " "+ TITLE); - -// test defaults not at the end; regression test for a bug that -// nearly made it into 4.06 -function f0(i) { - switch(i) { - default: - case "a": - case "b": - return "ab*" - case "c": - return "c"; - case "d": - return "d"; - } - return ""; -} -new TestCase('switch statement', - f0("a"), "ab*"); - -new TestCase('switch statement', - f0("b"), "ab*"); - -new TestCase('switch statement', - f0("*"), "ab*"); - -new TestCase('switch statement', - f0("c"), "c"); - -new TestCase('switch statement', - f0("d"), "d"); - -function f1(i) { - switch(i) { - case "a": - case "b": - default: - return "ab*" - case "c": - return "c"; - case "d": - return "d"; - } - return ""; -} - -new TestCase('switch statement', - f1("a"), "ab*"); - -new TestCase('switch statement', - f1("b"), "ab*"); - -new TestCase('switch statement', - f1("*"), "ab*"); - -new TestCase('switch statement', - f1("c"), "c"); - -new TestCase('switch statement', - f1("d"), "d"); - -// Switch on integer; will use TABLESWITCH opcode in C engine -function f2(i) { - switch (i) { - case 0: - case 1: - return 1; - case 2: - return 2; - } - // with no default, control will fall through - return 3; -} - -new TestCase('switch statement', - f2(0), 1); - -new TestCase('switch statement', - f2(1), 1); - -new TestCase('switch statement', - f2(2), 2); - -new TestCase('switch statement', - f2(3), 3); - -// empty switch: make sure expression is evaluated -var se = 0; -switch (se = 1) { -} -new TestCase('switch statement', - se, 1); - -// only default -se = 0; -switch (se) { -default: - se = 1; -} -new TestCase('switch statement', - se, 1); - -// in loop, break should only break out of switch -se = 0; -for (var i=0; i < 2; i++) { - switch (i) { - case 0: - case 1: - break; - } - se = 1; -} -new TestCase('switch statement', - se, 1); - -// test "fall through" -se = 0; -i = 0; -switch (i) { -case 0: - se++; - /* fall through */ -case 1: - se++; - break; -} -new TestCase('switch statement', - se, 2); -print("hi"); - -test(); - -// Needed: tests for evaluation time of case expressions. -// This issue was under debate at ECMA, so postponing for now. - diff --git a/js/src/tests/js1_3/Boolean/boolean-001.js b/js/src/tests/js1_3/Boolean/boolean-001.js deleted file mode 100644 index 698ab0a9c4ac..000000000000 --- a/js/src/tests/js1_3/Boolean/boolean-001.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: boolean-001.js - * Description: - * - * In JavaScript 1.2, new Boolean(false) evaluates to false. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "boolean-001.js"; -var TITLE = "new Boolean(false) should evaluate to false"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -BooleanTest( "new Boolean(true)", new Boolean(true), true ); -BooleanTest( "new Boolean(false)", new Boolean(false), true ); -BooleanTest( "true", true, true ); -BooleanTest( "false", false, false ); - -test(); - -function BooleanTest( string, object, expect ) { - if ( object ) { - result = true; - } else { - result = false; - } - - new TestCase( - string, - expect, - result ); -} - diff --git a/js/src/tests/js1_3/Boolean/browser.js b/js/src/tests/js1_3/Boolean/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/Boolean/shell.js b/js/src/tests/js1_3/Boolean/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/README b/js/src/tests/js1_3/README deleted file mode 100644 index 82f668486b03..000000000000 --- a/js/src/tests/js1_3/README +++ /dev/null @@ -1 +0,0 @@ -JavaScript 1.3 diff --git a/js/src/tests/js1_3/Script/browser.js b/js/src/tests/js1_3/Script/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/Script/shell.js b/js/src/tests/js1_3/Script/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/browser.js b/js/src/tests/js1_3/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/extensions/browser.js b/js/src/tests/js1_3/extensions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/extensions/proto_10.js b/js/src/tests/js1_3/extensions/proto_10.js deleted file mode 100644 index a73d5a9f29ea..000000000000 --- a/js/src/tests/js1_3/extensions/proto_10.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_10.js - Section: - Description: Determining Instance Relationships - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_10"; -var TITLE = "Determining Instance Relationships"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object, constructor ) { - while ( object != null ) { - if ( object == constructor.prototype ) { - return true; - } - object = object.__proto__; - } - return false; -} -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} - -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var pat = new Engineer(); - -new TestCase( "pat.__proto__ == Engineer.prototype", - true, - pat.__proto__ == Engineer.prototype ); - -new TestCase( "pat.__proto__.__proto__ == WorkerBee.prototype", - true, - pat.__proto__.__proto__ == WorkerBee.prototype ); - -new TestCase( "pat.__proto__.__proto__.__proto__ == Employee.prototype", - true, - pat.__proto__.__proto__.__proto__ == Employee.prototype ); - -new TestCase( "pat.__proto__.__proto__.__proto__.__proto__ == Object.prototype", - true, - pat.__proto__.__proto__.__proto__.__proto__ == Object.prototype ); - -new TestCase( "pat.__proto__.__proto__.__proto__.__proto__.__proto__ == null", - true, - pat.__proto__.__proto__.__proto__.__proto__.__proto__ == null ); - - -new TestCase( "InstanceOf( pat, Engineer )", - true, - InstanceOf( pat, Engineer ) ); - -new TestCase( "InstanceOf( pat, WorkerBee )", - true, - InstanceOf( pat, WorkerBee ) ); - -new TestCase( "InstanceOf( pat, Employee )", - true, - InstanceOf( pat, Employee ) ); - -new TestCase( "InstanceOf( pat, Object )", - true, - InstanceOf( pat, Object ) ); - -new TestCase( "InstanceOf( pat, SalesPerson )", - false, - InstanceOf ( pat, SalesPerson ) ); -test(); diff --git a/js/src/tests/js1_3/extensions/proto_2.js b/js/src/tests/js1_3/extensions/proto_2.js deleted file mode 100644 index 3a1b82438420..000000000000 --- a/js/src/tests/js1_3/extensions/proto_2.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_2.js - Section: - Description: new PrototypeObject - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_2"; -var TITLE = "new PrototypeObject"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee () { - this.name = ""; - this.dept = "general"; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee () { - this.projects = new Array(); -} - -WorkerBee.prototype = new Employee; - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee; - -function Engineer () { - this.dept = "engineering"; - this.machine = ""; -} -Engineer.prototype = new WorkerBee; - - -var employee = new Employee(); -var manager = new Manager(); -var workerbee = new WorkerBee(); -var salesperson = new SalesPerson(); -var engineer = new Engineer(); - -new TestCase( "employee.__proto__ == Employee.prototype", - true, - employee.__proto__ == Employee.prototype ); - -new TestCase( "manager.__proto__ == Manager.prototype", - true, - manager.__proto__ == Manager.prototype ); - -new TestCase( "workerbee.__proto__ == WorkerBee.prototype", - true, - workerbee.__proto__ == WorkerBee.prototype ); - -new TestCase( "salesperson.__proto__ == SalesPerson.prototype", - true, - salesperson.__proto__ == SalesPerson.prototype ); - -new TestCase( "engineer.__proto__ == Engineer.prototype", - true, - engineer.__proto__ == Engineer.prototype ); - -test(); - diff --git a/js/src/tests/js1_3/extensions/proto_5.js b/js/src/tests/js1_3/extensions/proto_5.js deleted file mode 100644 index 97f03a004007..000000000000 --- a/js/src/tests/js1_3/extensions/proto_5.js +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_5.js - Section: - Description: Logical OR || in Constructors - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - This tests the logical OR opererator || syntax in constructors. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_5"; -var TITLE = "Logical OR || in Constructors"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( projs ) { - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer ( machine ) { - this.dept = "engineering"; - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - - -var pat = new Engineer( "indy" ); - -var les = new Engineer(); - -new TestCase( "var pat = new Engineer(\"indy\"); pat.name", - "", - pat.name ); - -new TestCase( "pat.dept", - "engineering", - pat.dept ); - -new TestCase( "pat.projects.length", - 0, - pat.projects.length ); - -new TestCase( "pat.machine", - "indy", - pat.machine ); - -new TestCase( "pat.__proto__ == Engineer.prototype", - true, - pat.__proto__ == Engineer.prototype ); - -new TestCase( "var les = new Engineer(); les.name", - "", - les.name ); - -new TestCase( "les.dept", - "engineering", - les.dept ); - -new TestCase( "les.projects.length", - 0, - les.projects.length ); - -new TestCase( "les.machine", - "", - les.machine ); - -new TestCase( "les.__proto__ == Engineer.prototype", - true, - les.__proto__ == Engineer.prototype ); - - -test(); diff --git a/js/src/tests/js1_3/extensions/script-001.js b/js/src/tests/js1_3/extensions/script-001.js deleted file mode 100644 index 675ee2890cea..000000000000 --- a/js/src/tests/js1_3/extensions/script-001.js +++ /dev/null @@ -1,135 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: script-001.js - Section: - Description: new NativeScript object - - - js> parseInt(123,"hi") - 123 - js> parseInt(123, "blah") - 123 - js> s - js: s is not defined - js> s = new Script - - undefined; - - - js> s = new Script() - - undefined; - - - js> s.getJSClass - js> s.getJSClass = Object.prototype.toString - function toString() { - [native code] - } - - js> s.getJSClass() - [object Script] - js> s.compile( "return 3+4" ) - js: JavaScript exception: javax.javascript.EvaluatorException: " s.compile( "3+4" ) - - 3 + 4; - - - js> typeof s - function - js> s() - Jit failure! - invalid opcode: 1 - Jit Pass1 Failure! - javax/javascript/gen/c13 initScript (Ljavax/javascript/Scriptable;)V - An internal JIT error has occurred. Please report this with .class - jit-bugs@itools.symantec.com - - 7 - js> s.compile("3+4") - - 3 + 4; - - - js> s() - Jit failure! - invalid opcode: 1 - Jit Pass1 Failure! - javax/javascript/gen/c17 initScript (Ljavax/javascript/Scriptable;)V - An internal JIT error has occurred. Please report this with .class - jit-bugs@itools.symantec.com - - 7 - js> quit() - - C:\src\ns_priv\js\tests\ecma>shell - - C:\src\ns_priv\js\tests\ecma>java -classpath c:\cafe\java\JavaScope; - :\src\ns_priv\js\tests javax.javascript.examples.Shell - Symantec Java! JustInTime Compiler Version 210.054 for JDK 1.1.2 - Copyright (C) 1996-97 Symantec Corporation - - js> s = new Script("3+4") - - 3 + 4; - - - js> s() - 7 - js> s2 = new Script(); - - undefined; - - - js> s.compile( "3+4") - - 3 + 4; - - - js> s() - Jit failure! - invalid opcode: 1 - Jit Pass1 Failure! - javax/javascript/gen/c7 initScript (Ljavax/javascript/Scriptable;)V - An internal JIT error has occurred. Please report this with .class - jit-bugs@itools.symantec.com - - 7 - js> quit() - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "script-001"; -var TITLE = "NativeScript"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -if (typeof Script == 'undefined') -{ - print('Test skipped. Script not defined.'); - new TestCase( "var s = new Script(); typeof s", - "Script not supported, test skipped.", - "Script not supported, test skipped." ); -} -else -{ - var s = new Script(); - s.getJSClass = Object.prototype.toString; - - new TestCase( "var s = new Script(); typeof s", - "function", - typeof s ); - - new TestCase( "s.getJSClass()", - "[object Script]", - s.getJSClass() ); -} - -test(); diff --git a/js/src/tests/js1_3/extensions/shell.js b/js/src/tests/js1_3/extensions/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/inherit/browser.js b/js/src/tests/js1_3/inherit/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/inherit/proto_1.js b/js/src/tests/js1_3/inherit/proto_1.js deleted file mode 100644 index 65dbf8bdd617..000000000000 --- a/js/src/tests/js1_3/inherit/proto_1.js +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_1.js - Section: - Description: new PrototypeObject - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_1"; -var TITLE = "new PrototypeObject"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee () { - this.name = ""; - this.dept = "general"; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee () { - this.projects = new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer () { - this.dept = "engineering"; - this.machine = ""; -} -Engineer.prototype = new WorkerBee(); - -var jim = new Employee(); - -new TestCase( "jim = new Employee(); jim.name", - "", - jim.name ); - - -new TestCase( "jim = new Employee(); jim.dept", - "general", - jim.dept ); - -var sally = new Manager(); - -new TestCase( "sally = new Manager(); sally.name", - "", - sally.name ); -new TestCase( "sally = new Manager(); sally.dept", - "general", - sally.dept ); - -new TestCase( "sally = new Manager(); sally.reports.length", - 0, - sally.reports.length ); - -new TestCase( "sally = new Manager(); typeof sally.reports", - "object", - typeof sally.reports ); - -var fred = new SalesPerson(); - -new TestCase( "fred = new SalesPerson(); fred.name", - "", - fred.name ); - -new TestCase( "fred = new SalesPerson(); fred.dept", - "sales", - fred.dept ); - -new TestCase( "fred = new SalesPerson(); fred.quota", - 100, - fred.quota ); - -new TestCase( "fred = new SalesPerson(); fred.projects.length", - 0, - fred.projects.length ); - -var jane = new Engineer(); - -new TestCase( "jane = new Engineer(); jane.name", - "", - jane.name ); - -new TestCase( "jane = new Engineer(); jane.dept", - "engineering", - jane.dept ); - -new TestCase( "jane = new Engineer(); jane.projects.length", - 0, - jane.projects.length ); - -new TestCase( "jane = new Engineer(); jane.machine", - "", - jane.machine ); - - -test(); diff --git a/js/src/tests/js1_3/inherit/proto_10.js b/js/src/tests/js1_3/inherit/proto_10.js deleted file mode 100644 index 7cb3de2f6eef..000000000000 --- a/js/src/tests/js1_3/inherit/proto_10.js +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_10.js - Section: - Description: Determining Instance Relationships - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_10"; -var TITLE = "Determining Instance Relationships"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function InstanceOf( object, constructor ) { - return object instanceof constructor; -} -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} - -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var pat = new Engineer(); - -new TestCase( "InstanceOf( pat, Engineer )", - true, - InstanceOf( pat, Engineer ) ); - -new TestCase( "InstanceOf( pat, WorkerBee )", - true, - InstanceOf( pat, WorkerBee ) ); - -new TestCase( "InstanceOf( pat, Employee )", - true, - InstanceOf( pat, Employee ) ); - -new TestCase( "InstanceOf( pat, Object )", - true, - InstanceOf( pat, Object ) ); - -new TestCase( "InstanceOf( pat, SalesPerson )", - false, - InstanceOf ( pat, SalesPerson ) ); -test(); diff --git a/js/src/tests/js1_3/inherit/proto_11.js b/js/src/tests/js1_3/inherit/proto_11.js deleted file mode 100644 index f5fc3e38893c..000000000000 --- a/js/src/tests/js1_3/inherit/proto_11.js +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_11.js - Section: - Description: Global Information in Constructors - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_11"; -var TITLE = "Global Information in Constructors"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -var idCounter = 1; - - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; - this.id = idCounter++; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var pat = new Employee( "Toonces, Pat", "Tech Pubs" ) - var terry = new Employee( "O'Sherry Terry", "Marketing" ); - -var les = new Engineer( "Morris, Les", new Array("JavaScript"), "indy" ); - -new TestCase( "pat.id", - 5, - pat.id ); - -new TestCase( "terry.id", - 6, - terry.id ); - -new TestCase( "les.id", - 7, - les.id ); - - -test(); - diff --git a/js/src/tests/js1_3/inherit/proto_12.js b/js/src/tests/js1_3/inherit/proto_12.js deleted file mode 100644 index e2e3e5456cff..000000000000 --- a/js/src/tests/js1_3/inherit/proto_12.js +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_12.js - Section: - Description: new PrototypeObject - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - No Multiple Inheritance - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_12"; -var TITLE = "No Multiple Inheritance"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; - this.id = idCounter++; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Hobbyist( hobby ) { - this.hobby = hobby || "yodeling"; -} - -function Engineer ( name, projs, machine, hobby ) { - this.base1 = WorkerBee; - this.base1( name, "engineering", projs ) - - this.base2 = Hobbyist; - this.base2( hobby ); - - this.projects = projs || new Array(); - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var idCounter = 1; - -var les = new Engineer( "Morris, Les", new Array("JavaScript"), "indy" ); - -Hobbyist.prototype.equipment = [ "horn", "mountain", "goat" ]; - -new TestCase( "les.name", - "Morris, Les", - les.name ); - -new TestCase( "les.dept", - "engineering", - les.dept ); - -Array.prototype.getClass = Object.prototype.toString; - -new TestCase( "les.projects.getClass()", - "[object Array]", - les.projects.getClass() ); - -new TestCase( "les.projects[0]", - "JavaScript", - les.projects[0] ); - -new TestCase( "les.machine", - "indy", - les.machine ); - -new TestCase( "les.hobby", - "yodeling", - les.hobby ); - -new TestCase( "les.equpment", - void 0, - les.equipment ); - -test(); diff --git a/js/src/tests/js1_3/inherit/proto_3.js b/js/src/tests/js1_3/inherit/proto_3.js deleted file mode 100644 index c5bc0879fa0c..000000000000 --- a/js/src/tests/js1_3/inherit/proto_3.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_3.js - Section: - Description: Adding properties to an instance - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_3"; -var TITLE = "Adding properties to an Instance"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee () { - this.name = ""; - this.dept = "general"; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee () { - this.projects = new Array(); -} - -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer () { - this.dept = "engineering"; - this.machine = ""; -} -Engineer.prototype = new WorkerBee(); - -var jim = new Employee(); -var pat = new Employee(); - -jim.bonus = 300; - -new TestCase( "jim = new Employee(); jim.bonus = 300; jim.bonus", - 300, - jim.bonus ); - - -new TestCase( "pat = new Employee(); pat.bonus", - void 0, - pat.bonus ); -test(); diff --git a/js/src/tests/js1_3/inherit/proto_4.js b/js/src/tests/js1_3/inherit/proto_4.js deleted file mode 100644 index 2fcfd51ae50e..000000000000 --- a/js/src/tests/js1_3/inherit/proto_4.js +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_4.js - Section: - Description: new PrototypeObject - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - If you add a property to an object in the prototype chain, instances of - objects that derive from that prototype should inherit that property, even - if they were instatiated after the property was added to the prototype object. - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_3"; -var TITLE = "Adding properties to the prototype"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee () { - this.name = ""; - this.dept = "general"; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee () { - this.projects = new Array(); -} - -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer () { - this.dept = "engineering"; - this.machine = ""; -} -Engineer.prototype = new WorkerBee(); - -var jim = new Employee(); -var terry = new Engineer(); -var sean = new SalesPerson(); -var wally = new Manager(); - -Employee.prototype.specialty = "none"; - -var pat = new Employee(); -var leslie = new Engineer(); -var bubbles = new SalesPerson(); -var furry = new Manager(); - -Engineer.prototype.specialty = "code"; - -var chris = new Engineer(); - - -new TestCase( "jim = new Employee(); jim.specialty", - "none", - jim.specialty ); - -new TestCase( "terry = new Engineer(); terry.specialty", - "code", - terry.specialty ); - -new TestCase( "sean = new SalesPerson(); sean.specialty", - "none", - sean.specialty ); - -new TestCase( "wally = new Manager(); wally.specialty", - "none", - wally.specialty ); - -new TestCase( "furry = new Manager(); furry.specialty", - "none", - furry.specialty ); - -new TestCase( "pat = new Employee(); pat.specialty", - "none", - pat.specialty ); - -new TestCase( "leslie = new Engineer(); leslie.specialty", - "code", - leslie.specialty ); - -new TestCase( "bubbles = new SalesPerson(); bubbles.specialty", - "none", - bubbles.specialty ); - - -new TestCase( "chris = new Employee(); chris.specialty", - "code", - chris.specialty ); -test(); diff --git a/js/src/tests/js1_3/inherit/proto_6.js b/js/src/tests/js1_3/inherit/proto_6.js deleted file mode 100644 index d87fbcfa48c1..000000000000 --- a/js/src/tests/js1_3/inherit/proto_6.js +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_6.js - Section: - Description: Logical OR || in constructors - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - This tests the logical OR opererator || syntax in constructors. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_6"; -var TITLE = "Logical OR || in constructors"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} -function Manager () { - this.reports = []; -} -Manager.prototype = new Employee(); - -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} - -WorkerBee.prototype = new Employee(); - -function SalesPerson () { - this.dept = "sales"; - this.quota = 100; -} -SalesPerson.prototype = new WorkerBee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var pat = new Engineer( "Toonces, Pat", - ["SpiderMonkey", "Rhino"], - "indy" ); - -var les = new WorkerBee( "Morris, Les", - "Training", - ["Hippo"] ) - - var terry = new Employee( "Boomberi, Terry", - "Marketing" ); - -// Pat, the Engineer - -new TestCase( "pat.name", - "Toonces, Pat", - pat.name ); - -new TestCase( "pat.dept", - "engineering", - pat.dept ); - -new TestCase( "pat.projects.length", - 2, - pat.projects.length ); - -new TestCase( "pat.projects[0]", - "SpiderMonkey", - pat.projects[0] ); - -new TestCase( "pat.projects[1]", - "Rhino", - pat.projects[1] ); - -new TestCase( "pat.machine", - "indy", - pat.machine ); - - -// Les, the WorkerBee - -new TestCase( "les.name", - "Morris, Les", - les.name ); - -new TestCase( "les.dept", - "Training", - les.dept ); - -new TestCase( "les.projects.length", - 1, - les.projects.length ); - -new TestCase( "les.projects[0]", - "Hippo", - les.projects[0] ); - -// Terry, the Employee -new TestCase( "terry.name", - "Boomberi, Terry", - terry.name ); - -new TestCase( "terry.dept", - "Marketing", - terry.dept ); -test(); - diff --git a/js/src/tests/js1_3/inherit/proto_7.js b/js/src/tests/js1_3/inherit/proto_7.js deleted file mode 100644 index da4122ae860a..000000000000 --- a/js/src/tests/js1_3/inherit/proto_7.js +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_7.js - Section: - Description: Adding Properties to the Prototype Object - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - This tests - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_6"; -var TITLE = "Adding properties to the Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -// Engineer.prototype = new WorkerBee(); - -var pat = new Engineer( "Toonces, Pat", - ["SpiderMonkey", "Rhino"], - "indy" ); - -Employee.prototype.specialty = "none"; - - -// Pat, the Engineer - -new TestCase( "pat.name", - "Toonces, Pat", - pat.name ); - -new TestCase( "pat.dept", - "engineering", - pat.dept ); - -new TestCase( "pat.projects.length", - 2, - pat.projects.length ); - -new TestCase( "pat.projects[0]", - "SpiderMonkey", - pat.projects[0] ); - -new TestCase( "pat.projects[1]", - "Rhino", - pat.projects[1] ); - -new TestCase( "pat.machine", - "indy", - pat.machine ); - -new TestCase( "pat.specialty", - void 0, - pat.specialty ); - -test(); diff --git a/js/src/tests/js1_3/inherit/proto_8.js b/js/src/tests/js1_3/inherit/proto_8.js deleted file mode 100644 index 10135e0c853b..000000000000 --- a/js/src/tests/js1_3/inherit/proto_8.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_8.js - Section: - Description: Adding Properties to the Prototype Object - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_8"; -var TITLE = "Adding Properties to the Prototype Object"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} -function WorkerBee ( name, dept, projs ) { - this.base = Employee; - this.base( name, dept) - this.projects = projs || new Array(); -} -WorkerBee.prototype = new Employee(); - -function Engineer ( name, projs, machine ) { - this.base = WorkerBee; - this.base( name, "engineering", projs ) - this.machine = machine || ""; -} -Engineer.prototype = new WorkerBee(); - -var pat = new Engineer( "Toonces, Pat", - ["SpiderMonkey", "Rhino"], - "indy" ); - -Employee.prototype.specialty = "none"; - - -// Pat, the Engineer - -new TestCase( "pat.name", - "Toonces, Pat", - pat.name ); - -new TestCase( "pat.dept", - "engineering", - pat.dept ); - -new TestCase( "pat.projects.length", - 2, - pat.projects.length ); - -new TestCase( "pat.projects[0]", - "SpiderMonkey", - pat.projects[0] ); - -new TestCase( "pat.projects[1]", - "Rhino", - pat.projects[1] ); - -new TestCase( "pat.machine", - "indy", - pat.machine ); - -new TestCase( "pat.specialty", - "none", - pat.specialty ); - -test(); diff --git a/js/src/tests/js1_3/inherit/proto_9.js b/js/src/tests/js1_3/inherit/proto_9.js deleted file mode 100644 index 4b4ca9da7861..000000000000 --- a/js/src/tests/js1_3/inherit/proto_9.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: proto_9.js - Section: - Description: Local versus Inherited Values - - This tests Object Hierarchy and Inheritance, as described in the document - Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97 - 15:19:34 on http://devedge.netscape.com/. Current URL: - http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm - - This tests the syntax ObjectName.prototype = new PrototypeObject using the - Employee example in the document referenced above. - - This tests - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "proto_9"; -var TITLE = "Local versus Inherited Values"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -function Employee ( name, dept ) { - this.name = name || ""; - this.dept = dept || "general"; -} -function WorkerBee ( name, dept, projs ) { - this.projects = new Array(); -} -WorkerBee.prototype = new Employee(); - -var pat = new WorkerBee() - - Employee.prototype.specialty = "none"; -Employee.prototype.name = "Unknown"; - -Array.prototype.getClass = Object.prototype.toString; - -// Pat, the WorkerBee - -new TestCase( "pat.name", - "", - pat.name ); - -new TestCase( "pat.dept", - "general", - pat.dept ); - -new TestCase( "pat.projects.getClass", - "[object Array]", - pat.projects.getClass() ); - -new TestCase( "pat.projects.length", - 0, - pat.projects.length ); - -test(); diff --git a/js/src/tests/js1_3/inherit/shell.js b/js/src/tests/js1_3/inherit/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/misc/browser.js b/js/src/tests/js1_3/misc/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/misc/shell.js b/js/src/tests/js1_3/misc/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/regress/browser.js b/js/src/tests/js1_3/regress/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/regress/delete-001.js b/js/src/tests/js1_3/regress/delete-001.js deleted file mode 100644 index 197a7c72771e..000000000000 --- a/js/src/tests/js1_3/regress/delete-001.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: delete-001.js - Section: regress - Description: - - Regression test for - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=108736 - - Author: christine@netscape.com - Date: 12 november 1997 -*/ - -var SECTION = "JS1_2"; -var TITLE = "The variable statement"; - -writeHeaderToLog( SECTION + " "+ TITLE); - -// delete all properties of the global object -// per ecma, this does not affect variables in the global object declared -// with var or functions - -for ( p in this ) { - delete p; -} - -var result =""; - -for ( p in this ) { - result += String( p ); -} - -// not too picky here... just want to make sure we didn't crash or something - -new TestCase( "delete all properties of the global object", - "PASSED", - result == "" ? "FAILED" : "PASSED" ); - - -test(); - diff --git a/js/src/tests/js1_3/regress/function-002.js b/js/src/tests/js1_3/regress/function-002.js deleted file mode 100644 index ad99b6d5ef3b..000000000000 --- a/js/src/tests/js1_3/regress/function-002.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: function-002.js - Section: - Description: - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=249579 - - function definitions in conditional statements should be allowed. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "function-002"; -var TITLE = "Regression test for 249579"; -var BUGNUMBER="249579"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "0?function(){}:0", - 0, - 0?function(){}:0 ); - - -bar = true; -foo = bar ? function () { return true; } : function() { return false; }; - -new TestCase( - "bar = true; foo = bar ? function () { return true; } : function() { return false; }; foo()", - true, - foo() ); - - -test(); - diff --git a/js/src/tests/js1_3/regress/in-001.js b/js/src/tests/js1_3/regress/in-001.js deleted file mode 100644 index b523883db965..000000000000 --- a/js/src/tests/js1_3/regress/in-001.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: in-001.js - Section: - Description: - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=196109 - - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "in-001"; -var TITLE = "Regression test for 196109"; -var BUGNUMBER="196109"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -o = {}; -o.foo = 'sil'; - -new TestCase( - "\"foo\" in o", - true, - "foo" in o ); - -test(); - diff --git a/js/src/tests/js1_3/regress/new-001.js b/js/src/tests/js1_3/regress/new-001.js deleted file mode 100644 index e1ef0605049c..000000000000 --- a/js/src/tests/js1_3/regress/new-001.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: new-001.js - Section: - Description: - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=76103 - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "new-001"; -var TITLE = "new-001"; -var BUGNUMBER="31567"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -function Test_One (x) { - this.v = x+1; - return x*2 - } - -function Test_Two( x, y ) { - this.v = x; - return y; -} - -new TestCase( - "Test_One(18)", - 36, - Test_One(18) ); - -new TestCase( - "new Test_One(18)", - "[object Object]", - new Test_One(18) +"" ); - -new TestCase( - "new Test_One(18).v", - 19, - new Test_One(18).v ); - -new TestCase( - "Test_Two(2,7)", - 7, - Test_Two(2,7) ); - -new TestCase( - "new Test_Two(2,7)", - "[object Object]", - new Test_Two(2,7) +"" ); - -new TestCase( - "new Test_Two(2,7).v", - 2, - new Test_Two(2,7).v ); - -new TestCase( - "new (Function)(\"x\", \"return x+3\")(5,6)", - 8, - new (Function)("x","return x+3")(5,6) ); - -new TestCase( - "new new Test_Two(String, 2).v(0123)", - "83", - new new Test_Two(String, 2).v(0123) +""); - -new TestCase( - "new new Test_Two(String, 2).v(0123).length", - 2, - new new Test_Two(String, 2).v(0123).length ); - -test(); diff --git a/js/src/tests/js1_3/regress/shell.js b/js/src/tests/js1_3/regress/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_3/regress/switch-001.js b/js/src/tests/js1_3/regress/switch-001.js deleted file mode 100644 index bf5b58a29f11..000000000000 --- a/js/src/tests/js1_3/regress/switch-001.js +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - File Name: switch-001.js - Section: - Description: - - http://scopus.mcom.com/bugsplat/show_bug.cgi?id=315767 - - Verify that switches do not use strict equality in - versions of JavaScript < 1.4. It's now been decided that - we won't put in version switches, so all switches will - be ECMA. - - Author: christine@netscape.com - Date: 12 november 1997 -*/ -var SECTION = "switch-001"; -var TITLE = "switch-001"; -var BUGNUMBER="315767"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -result = "fail: did not enter switch"; - -switch (true) { -case 1: - result = "fail: version 130 should force strict equality"; - break; -case true: - result = "pass"; - break; -default: - result = "fail: evaluated default statement"; -} - -new TestCase( - "switch / case should use strict equality in version of JS < 1.4", - "pass", - result ); - -test(); - diff --git a/js/src/tests/js1_3/shell.js b/js/src/tests/js1_3/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/Eval/browser.js b/js/src/tests/js1_4/Eval/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/Eval/eval-001.js b/js/src/tests/js1_4/Eval/eval-001.js deleted file mode 100644 index 420dd8a0b538..000000000000 --- a/js/src/tests/js1_4/Eval/eval-001.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: eval-001.js - * Original Description: (SEE REVISED DESCRIPTION FURTHER BELOW) - * - * The global eval function may not be accessed indirectly and then called. - * This feature will continue to work in JavaScript 1.3 but will result in an - * error in JavaScript 1.4. This restriction is also in place for the With and - * Closure constructors. - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=324451 - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - * - * REVISION: 05 February 2001 - * Author: pschwartau@netscape.com - * - * Indirect eval IS NOT ILLEGAL per ECMA3!!! See - * - * http://bugzilla.mozilla.org/show_bug.cgi?id=38512 - * - * ------- Additional Comments From Brendan Eich 2001-01-30 17:12 ------- - * ECMA-262 Edition 3 doesn't require implementations to throw EvalError, - * see the short, section-less Chapter 16. It does say an implementation that - * doesn't throw EvalError must allow assignment to eval and indirect calls - * of the evalnative method. - * - */ -var SECTION = "eval-001.js"; -var TITLE = "Calling eval indirectly should NOT fail in version 140"; -var BUGNUMBER="38512"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var MY_EVAL = eval; -var RESULT = ""; -var EXPECT = "abcdefg"; - -MY_EVAL( "RESULT = EXPECT" ); - -new TestCase( - "Call eval indirectly", - EXPECT, - RESULT ); - -test(); - diff --git a/js/src/tests/js1_4/Eval/eval-002.js b/js/src/tests/js1_4/Eval/eval-002.js deleted file mode 100644 index cf527ea39141..000000000000 --- a/js/src/tests/js1_4/Eval/eval-002.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: eval-002.js - * Description: (SEE REVISED DESCRIPTION FURTHER BELOW) - * - * The global eval function may not be accessed indirectly and then called. - * This feature will continue to work in JavaScript 1.3 but will result in an - * error in JavaScript 1.4. This restriction is also in place for the With and - * Closure constructors. - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=324451 - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - * - * REVISION: 05 February 2001 - * Author: pschwartau@netscape.com - * - * Indirect eval IS NOT ILLEGAL per ECMA3!!! See - * - * http://bugzilla.mozilla.org/show_bug.cgi?id=38512 - * - * ------- Additional Comments From Brendan Eich 2001-01-30 17:12 ------- - * ECMA-262 Edition 3 doesn't require implementations to throw EvalError, - * see the short, section-less Chapter 16. It does say an implementation that - * doesn't throw EvalError must allow assignment to eval and indirect calls - * of the evalnative method. - * - */ -var SECTION = "eval-002.js"; -var TITLE = "Calling eval indirectly should NOT fail in version 140"; -var BUGNUMBER="38512"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var MY_EVAL = eval; -var RESULT = ""; -var EXPECT = 1 + "testString" - - EvalTest(); - -test(); - - -function EvalTest() -{ - MY_EVAL( "RESULT = EXPECT" ); - - new TestCase( - "Call eval indirectly", - EXPECT, - RESULT ); -} - diff --git a/js/src/tests/js1_4/Eval/eval-003.js b/js/src/tests/js1_4/Eval/eval-003.js deleted file mode 100644 index 8f65beb31cda..000000000000 --- a/js/src/tests/js1_4/Eval/eval-003.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: eval-003.js - * Description: (SEE REVISED DESCRIPTION FURTHER BELOW) - * - * The global eval function may not be accessed indirectly and then called. - * This feature will continue to work in JavaScript 1.3 but will result in an - * error in JavaScript 1.4. This restriction is also in place for the With and - * Closure constructors. - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=324451 - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * - * - * REVISION: 05 February 2001 - * Author: pschwartau@netscape.com - * - * Indirect eval IS NOT ILLEGAL per ECMA3!!! See - * - * http://bugzilla.mozilla.org/show_bug.cgi?id=38512 - * - * ------- Additional Comments From Brendan Eich 2001-01-30 17:12 ------- - * ECMA-262 Edition 3 doesn't require implementations to throw EvalError, - * see the short, section-less Chapter 16. It does say an implementation that - * doesn't throw EvalError must allow assignment to eval and indirect calls - * of the evalnative method. - * - */ -var SECTION = "eval-003.js"; -var TITLE = "Calling eval indirectly should NOT fail in version 140"; -var BUGNUMBER="38512"; - -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -var MY_EVAL = eval; -var RESULT = ""; -var EXPECT= ""; -var h = function f(x,y){var g = function(z){return Math.exp(z);}; return g(x+y);}; - - -new EvalTest(); - -test(); - -function EvalTest() -{ - with( this ) { - MY_EVAL( "RESULT = h(-1, 1)" ); - EXPECT = 1; //The base e to the power (-1 + 1), i.e. the power 0, equals 1 .... - - new TestCase( - "Call eval indirectly", - EXPECT, - RESULT ); - } -} - diff --git a/js/src/tests/js1_4/Eval/shell.js b/js/src/tests/js1_4/Eval/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/Functions/browser.js b/js/src/tests/js1_4/Functions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/Functions/function-001.js b/js/src/tests/js1_4/Functions/function-001.js deleted file mode 100644 index 980916fd64dd..000000000000 --- a/js/src/tests/js1_4/Functions/function-001.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: function-001.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=324455 - * - * Earlier versions of JavaScript supported access to the arguments property - * of the function object. This property held the arguments to the function. - * function f() { - * return f.arguments[0]; // deprecated - * } - * var x = f(3); // x will be 3 - * - * This feature is not a part of the final ECMA standard. Instead, scripts - * should simply use just "arguments": - * - * function f() { - * return arguments[0]; // okay - * } - * - * var x = f(3); // x will be 3 - * - * Again, this feature was motivated by performance concerns. Access to the - * arguments property is not threadsafe, which is of particular concern in - * server environments. Also, the compiler can generate better code for - * functions because it can tell when the arguments are being accessed only by - * name and avoid setting up the arguments object. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "function-001.js"; -var TITLE = "Accessing the arguments property of a function object"; -var BUGNUMBER="324455"; -printBugNumber(BUGNUMBER); -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "return function.arguments", - "P", - TestFunction_2("P", "A","S","S")[0] +""); - - -new TestCase( - "return arguments", - "P", - TestFunction_1( "P", "A", "S", "S" )[0] +""); - -new TestCase( - "return arguments when function contains an arguments property", - "PASS", - TestFunction_3( "P", "A", "S", "S" ) +""); - -new TestCase( - "return function.arguments when function contains an arguments property", - "[object Arguments]", - TestFunction_4( "F", "A", "I", "L" ) +""); - -test(); - -function TestFunction_1( a, b, c, d, e ) { - return arguments; -} - -function TestFunction_2( a, b, c, d, e ) { - return TestFunction_2.arguments; -} - -function TestFunction_3( a, b, c, d, e ) { - var arguments = "PASS"; - return arguments; -} - -function TestFunction_4( a, b, c, d, e ) { - var arguments = "FAIL"; - return TestFunction_4.arguments; -} - diff --git a/js/src/tests/js1_4/Functions/shell.js b/js/src/tests/js1_4/Functions/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/README b/js/src/tests/js1_4/README deleted file mode 100644 index 53a00cf68b3a..000000000000 --- a/js/src/tests/js1_4/README +++ /dev/null @@ -1 +0,0 @@ -JavaScript 1.4 diff --git a/js/src/tests/js1_4/Regress/browser.js b/js/src/tests/js1_4/Regress/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/Regress/function-001.js b/js/src/tests/js1_4/Regress/function-001.js deleted file mode 100644 index fcd3e1eaa1ff..000000000000 --- a/js/src/tests/js1_4/Regress/function-001.js +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: function-001.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=325843 - * js> function f(a){var a,b;} - * - * causes an an assert on a null 'sprop' in the 'Variables' function in - * jsparse.c This will crash non-debug build. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "function-001.js"; -var TITLE = "Regression test case for 325843"; -var BUGNUMBER="3258435"; -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -eval("function f1 (a){ var a,b; }"); - -function f2( a ) { var a, b; }; - -new TestCase( - "eval(\"function f1 (a){ var a,b; }\"); "+ - "function f2( a ) { var a, b; }; typeof f1", - "function", - typeof f1 ); - -// force a function decompilation - -new TestCase( - "typeof f1.toString()", - "string", - typeof f1.toString() ); - -new TestCase( - "typeof f2", - "function", - typeof f2 ); - -// force a function decompilation - -new TestCase( - "typeof f2.toString()", - "string", - typeof f2.toString() ); - -test(); - diff --git a/js/src/tests/js1_4/Regress/function-002.js b/js/src/tests/js1_4/Regress/function-002.js deleted file mode 100644 index a6e3dda68e48..000000000000 --- a/js/src/tests/js1_4/Regress/function-002.js +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: function-002.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=330462 - * js> function f(a){var a,b;} - * - * causes an an assert on a null 'sprop' in the 'Variables' function in - * jsparse.c This will crash non-debug build. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - * REVISED: 04 February 2001 - * (changed the comma expressions from trivial to non-trivial) - * Author: pschwartau@netscape.com - * - * Brendan: "The test seemed to require something that ECMA does not - * guarantee, and that JS1.4 didn't either. For example, given - * - * dec2 = "function f2(){1,2}"; - * - * the engine is free to decompile a function object compiled from this source, - * via Function.prototype.toString(), into some other string that compiles to - * an equivalent function. The engine now eliminates the useless comma expression - * 1,2, giving function f2(){}. This should be legal by the testsuite's lights." - * - */ -var SECTION = "function-002.js"; -var TITLE = "Regression test case for 325843"; -var BUGNUMBER="330462"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -dec1 = "function f1(x,y){++x, --y}"; -dec2 = "function f2(){var y; f1(1,2); y=new Date(); print(y.toString())}"; - -eval(dec1); -eval(dec2); - -new TestCase( - "typeof f1", - "function", - typeof f1 ); - - -// force a function decompilation -new TestCase( - "f1.toString() == dec1", - true, - StripSpaces(f1.toString()) == StripSpaces(dec1)); - -new TestCase( - "typeof f2", - "function", - typeof f2 ); - -// force a function decompilation - -new TestCase( - "f2.toString() == dec2", - true, - StripSpaces(f2.toString().replace(/new Date\(\)/g, 'new Date')) == - StripSpaces(dec2.replace(/new Date\(\)/g, 'new Date'))); - -test(); - -function StripSpaces( s ) { - var strippedString = ""; - for ( var currentChar = 0; currentChar < s.length; currentChar++ ) { - if (!IsWhiteSpace(s.charAt(currentChar))) { - strippedString += s.charAt(currentChar); - } - } - return strippedString; -} - -function IsWhiteSpace( string ) { - var cc = string.charCodeAt(0); - - switch (cc) { - case (0x0009): - case (0x000B): - case (0x000C): - case (0x0020): - case (0x000A): - case (0x000D): - case ( 59 ): // let's strip out semicolons, too - return true; - break; - default: - return false; - } -} - diff --git a/js/src/tests/js1_4/Regress/function-003.js b/js/src/tests/js1_4/Regress/function-003.js deleted file mode 100644 index fce2443c989d..000000000000 --- a/js/src/tests/js1_4/Regress/function-003.js +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: function-003.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=104766 - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "toString-001.js"; -var TITLE = "Regression test case for 104766"; -var BUGNUMBER="310514"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -new TestCase( - "StripSpaces(Array.prototype.concat.toString()).substring(0,17)", - "functionconcat(){", - StripSpaces(Array.prototype.concat.toString()).substring(0,17)); - -test(); - -function StripSpaces( s ) { - for ( var currentChar = 0, strippedString=""; - currentChar < s.length; currentChar++ ) - { - if (!IsWhiteSpace(s.charAt(currentChar))) { - strippedString += s.charAt(currentChar); - } - } - return strippedString; -} - -function IsWhiteSpace( string ) { - var cc = string.charCodeAt(0); - switch (cc) { - case (0x0009): - case (0x000B): - case (0x000C): - case (0x0020): - case (0x000A): - case (0x000D): - case ( 59 ): // let's strip out semicolons, too - return true; - break; - default: - return false; - } -} - diff --git a/js/src/tests/js1_4/Regress/function-004-n.js b/js/src/tests/js1_4/Regress/function-004-n.js deleted file mode 100644 index a915635d702e..000000000000 --- a/js/src/tests/js1_4/Regress/function-004-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: function-004.js - * Description: - * - * http://scopus.mcom.com/bugsplat/show_bug.cgi?id=310502 - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "funtion-004-n.js"; -var TITLE = "Regression test case for 310502"; -var BUGNUMBER="310502"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var o = {}; -o.call = Function.prototype.call; - -DESCRIPTION = "var o = {}; o.call = Function.prototype.call; o.call()"; - -new TestCase( - "var o = {}; o.call = Function.prototype.call; o.call()", - "error", - o.call() ); - -test(); diff --git a/js/src/tests/js1_4/Regress/regress-7224.js b/js/src/tests/js1_4/Regress/regress-7224.js deleted file mode 100644 index 9a7fa2dcc73f..000000000000 --- a/js/src/tests/js1_4/Regress/regress-7224.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: regress-7224.js - * Reference: js1_2 - * Description: Remove support for the arg - * Author: ** replace with your e-mail address ** - */ - -var SECTION = "regress"; // provide a document reference (ie, ECMA section) -var TITLE = "Regression test for bugzilla #7224"; // Provide ECMA section title or a description -var BUGNUMBER = "http://bugzilla.mozilla.org/show_bug.cgi?id=7224"; // Provide URL to bugsplat or bugzilla report - -printBugNumber(BUGNUMBER); - -/* - * Calls to AddTestCase here. AddTestCase is a function that is defined - * in shell.js and takes three arguments: - * - a string representation of what is being tested - * - the expected result - * - the actual result - * - * For example, a test might look like this: - * - * var zip = /[\d]{5}$/; - * - * AddTestCase( - * "zip = /[\d]{5}$/; \"PO Box 12345 Boston, MA 02134\".match(zip)", // description of the test - * "02134", // expected result - * "PO Box 12345 Boston, MA 02134".match(zip) ); // actual result - * - */ - -var f = new Function( "return arguments.caller" ); -var o = {}; - -o.foo = f; -o.foo("a", "b", "c"); - - -AddTestCase( - "var f = new Function( 'return arguments.caller' ); f()", - undefined, - f() ); - -AddTestCase( - "var o = {}; o.foo = f; o.foo('a')", - undefined, - o.foo('a') ); - -test(); // leave this alone. this executes the test cases and -// displays results. diff --git a/js/src/tests/js1_4/Regress/shell.js b/js/src/tests/js1_4/Regress/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/Regress/toString-001-n.js b/js/src/tests/js1_4/Regress/toString-001-n.js deleted file mode 100644 index 99077f1aaf1e..000000000000 --- a/js/src/tests/js1_4/Regress/toString-001-n.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -/** - * File Name: toString-001-n.js - * Description: - * - * Function.prototype.toString is not generic. - * - * Author: christine@netscape.com - * Date: 11 August 1998 - */ -var SECTION = "toString-001.js"; -var TITLE = "Regression test case for 310514"; -var BUGNUMBER="310514"; - -printBugNumber(BUGNUMBER); - -writeHeaderToLog( SECTION + " "+ TITLE); - -var o = {}; -o.toString = Function.prototype.toString; - -DESCRIPTION = "var o = {}; o.toString = Function.prototype.toString; o.toString();"; - -new TestCase( - "var o = {}; o.toString = Function.prototype.toString; o.toString();", - "error", - o.toString() ); - -test(); diff --git a/js/src/tests/js1_4/browser.js b/js/src/tests/js1_4/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_4/shell.js b/js/src/tests/js1_4/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Array/browser.js b/js/src/tests/js1_5/Array/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Array/shell.js b/js/src/tests/js1_5/Array/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Date/browser.js b/js/src/tests/js1_5/Date/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Date/shell.js b/js/src/tests/js1_5/Date/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Error/browser.js b/js/src/tests/js1_5/Error/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Error/shell.js b/js/src/tests/js1_5/Error/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Exceptions/browser.js b/js/src/tests/js1_5/Exceptions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Exceptions/shell.js b/js/src/tests/js1_5/Exceptions/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Expressions/browser.js b/js/src/tests/js1_5/Expressions/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_5/Expressions/shell.js b/js/src/tests/js1_5/Expressions/shell.js deleted file mode 100644 index de97dad87a8f..000000000000 --- a/js/src/tests/js1_5/Expressions/shell.js +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* - * Date: 07 February 2001 - * - * Functionality common to Array testing - - */ -//----------------------------------------------------------------------------- - - -var CHAR_LBRACKET = '['; -var CHAR_RBRACKET = ']'; -var CHAR_QT_DBL = '"'; -var CHAR_QT = "'"; -var CHAR_NL = '\n'; -var CHAR_COMMA = ','; -var CHAR_SPACE = ' '; -var TYPE_STRING = typeof 'abc'; - - -/* - * If available, arr.toSource() gives more detail than arr.toString() - * - * var arr = Array(1,2,'3'); - * - * arr.toSource() - * [1, 2, "3"] - * - * arr.toString() - * 1,2,3 - * - * But toSource() doesn't exist in Rhino, so use our own imitation, below - - * - */ -function formatArray(arr) -{ - try - { - return arr.toSource(); - } - catch(e) - { - return toSource(arr); - } -} - - - -/* - * Imitate SpiderMonkey's arr.toSource() method: - * - * a) Double-quote each array element that is of string type - * b) Represent |undefined| and |null| by empty strings - * c) Delimit elements by a comma + single space - * d) Do not add delimiter at the end UNLESS the last element is |undefined| - * e) Add square brackets to the beginning and end of the string - */ -function toSource(arr) -{ - var delim = CHAR_COMMA + CHAR_SPACE; - var elt = ''; - var ret = ''; - var len = arr.length; - - for (i=0; i>> 0; - return !("" + u == p && u != 0xffffffff); - } - - function assertIsCloneOf(a, b, path) { - assertEq(a === b, false); - - var ca = classOf(a); - assertEq(ca, classOf(b), path); - - assertEq(Object.getPrototypeOf(a), - ca == "[object Object]" ? Object.prototype : Array.prototype, - path); - - // 'b', the original object, may have non-enumerable or XMLName - // properties; ignore them. 'a', the clone, should not have any - // non-enumerable properties (except .length, if it's an Array) or - // XMLName properties. - var pb = ownProperties(b).filter(isCloneable); - var pa = ownProperties(a); - for (var i = 0; i < pa.length; i++) { - assertEq(typeof pa[i][0], "string", "clone should not have E4X properties " + path); - if (!pa[i][1].enumerable) { - if (Array.isArray(a) && pa[i][0] == "length") { - // remove it so that the comparisons below will work - pa.splice(i, 1); - i--; - } else { - throw new Error("non-enumerable clone property " + uneval(pa[i][0]) + " " + path); - } - } - } - - // Check that, apart from properties whose names are array indexes, - // the enumerable properties appear in the same order. - var aNames = pa.map(function (pair) { return pair[1]; }).filter(notIndex); - var bNames = pa.map(function (pair) { return pair[1]; }).filter(notIndex); - assertEq(aNames.join(","), bNames.join(","), path); - - // Check that the lists are the same when including array indexes. - function byName(a, b) { a = a[0]; b = b[0]; return a < b ? -1 : a === b ? 0 : 1; } - pa.sort(byName); - pb.sort(byName); - assertEq(pa.length, pb.length, "should see the same number of properties " + path); - for (var i = 0; i < pa.length; i++) { - var aName = pa[i][0]; - var bName = pb[i][0]; - assertEq(aName, bName, path); - - var path2 = path + "." + aName; - var da = pa[i][1]; - var db = pb[i][1]; - assertEq(da.configurable, true, path2); - assertEq(da.writable, true, path2); - assertEq("value" in da, true, path2); - var va = da.value; - var vb = b[pb[i][0]]; - if (typeof va === "object" && va !== null) - queue.push([va, vb, path2]); - else - assertEq(va, vb, path2); - } - } - - var banner = "while testing clone of " + (desc || uneval(b)); - var a = deserialize(serialize(b)); - var queue = [[a, b, banner]]; - while (queue.length) { - var triple = queue.shift(); - assertIsCloneOf(triple[0], triple[1], triple[2]); - } - - return a; // for further testing -} diff --git a/js/src/tests/js1_8_5/regress/browser.js b/js/src/tests/js1_8_5/regress/browser.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_8_5/regress/shell.js b/js/src/tests/js1_8_5/regress/shell.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/js/src/tests/js1_8_5/shell.js b/js/src/tests/js1_8_5/shell.js deleted file mode 100644 index 9c5d1a1d22b0..000000000000 --- a/js/src/tests/js1_8_5/shell.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - */ - -// Note, copied from elsewhere -if (typeof assertThrowsInstanceOf === 'undefined') { - var assertThrowsInstanceOf = function assertThrowsInstanceOf(f, ctor, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if (exc instanceof ctor) - return; - fullmsg = "Assertion failed: expected exception " + ctor.name + ", got " + exc; - } - if (fullmsg === undefined) - fullmsg = "Assertion failed: expected exception " + ctor.name + ", no exception thrown"; - if (msg !== undefined) - fullmsg += " - " + msg; - throw new Error(fullmsg); - }; -} diff --git a/js/src/tests/js1_8_5/template.js b/js/src/tests/js1_8_5/template.js deleted file mode 100644 index 2fb786ba73a4..000000000000 --- a/js/src/tests/js1_8_5/template.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/licenses/publicdomain/ - * Contributor: - */ - -//----------------------------------------------------------------------------- -var BUGNUMBER = 99999; -var summary = ''; -var actual = ''; -var expect = ''; - - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - printBugNumber(BUGNUMBER); - printStatus (summary); - - reportCompare(expect, actual, summary); -} diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list index abd6b9e051ba..1e58bec670f3 100644 --- a/js/src/tests/jstests.list +++ b/js/src/tests/jstests.list @@ -4,7 +4,7 @@ # Skip the folder with tests for the scripts skip include test/jstests.list -skip script ecma_6/String/normalize-generateddata-input.js # input data for other test +skip script non262/String/normalize-generateddata-input.js # input data for other test # Skip intl402 tests when Intl isn't available. skip-if(!this.hasOwnProperty('Intl')) include test262/intl402/jstests.list diff --git a/js/src/tests/js1_5/Array/11.1.4.js b/js/src/tests/non262/Array/11.1.4.js similarity index 100% rename from js/src/tests/js1_5/Array/11.1.4.js rename to js/src/tests/non262/Array/11.1.4.js diff --git a/js/src/tests/ecma/Array/15.4.4.5-1.js b/js/src/tests/non262/Array/15.4.4.5-1.js similarity index 100% rename from js/src/tests/ecma/Array/15.4.4.5-1.js rename to js/src/tests/non262/Array/15.4.4.5-1.js diff --git a/js/src/tests/ecma/Array/15.4.4.5-2.js b/js/src/tests/non262/Array/15.4.4.5-2.js similarity index 100% rename from js/src/tests/ecma/Array/15.4.4.5-2.js rename to js/src/tests/non262/Array/15.4.4.5-2.js diff --git a/js/src/tests/ecma/Array/15.4.4.5-3.js b/js/src/tests/non262/Array/15.4.4.5-3.js similarity index 98% rename from js/src/tests/ecma/Array/15.4.4.5-3.js rename to js/src/tests/non262/Array/15.4.4.5-3.js index b73123c1aa91..523a8a2a92da 100644 --- a/js/src/tests/ecma/Array/15.4.4.5-3.js +++ b/js/src/tests/non262/Array/15.4.4.5-3.js @@ -27,6 +27,9 @@ writeHeaderToLog( SECTION + " "+ TITLE); var array = new Array(); +var TIME_2000 = 946684800000; +var TIME_1900 = -2208988800000; + array[array.length] = new Date( TIME_2000 * Math.PI ); array[array.length] = new Date( TIME_2000 * 10 ); array[array.length] = new Date( TIME_1900 + TIME_1900 ); diff --git a/js/src/tests/js1_5/Array/array-001.js b/js/src/tests/non262/Array/array-001.js similarity index 100% rename from js/src/tests/js1_5/Array/array-001.js rename to js/src/tests/non262/Array/array-001.js diff --git a/js/src/tests/ecma/Array/array-length-set-during-for-in.js b/js/src/tests/non262/Array/array-length-set-during-for-in.js similarity index 100% rename from js/src/tests/ecma/Array/array-length-set-during-for-in.js rename to js/src/tests/non262/Array/array-length-set-during-for-in.js diff --git a/js/src/tests/ecma/Array/array-length-set-on-nonarray.js b/js/src/tests/non262/Array/array-length-set-on-nonarray.js similarity index 100% rename from js/src/tests/ecma/Array/array-length-set-on-nonarray.js rename to js/src/tests/non262/Array/array-length-set-on-nonarray.js diff --git a/js/src/tests/Intl/Collator/browser.js b/js/src/tests/non262/Array/browser.js similarity index 100% rename from js/src/tests/Intl/Collator/browser.js rename to js/src/tests/non262/Array/browser.js diff --git a/js/src/tests/ecma_6/Array/concat-proxy.js b/js/src/tests/non262/Array/concat-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Array/concat-proxy.js rename to js/src/tests/non262/Array/concat-proxy.js diff --git a/js/src/tests/ecma_6/Array/concat-spreadable-basic.js b/js/src/tests/non262/Array/concat-spreadable-basic.js similarity index 100% rename from js/src/tests/ecma_6/Array/concat-spreadable-basic.js rename to js/src/tests/non262/Array/concat-spreadable-basic.js diff --git a/js/src/tests/ecma_6/Array/concat-spreadable-primitive.js b/js/src/tests/non262/Array/concat-spreadable-primitive.js similarity index 100% rename from js/src/tests/ecma_6/Array/concat-spreadable-primitive.js rename to js/src/tests/non262/Array/concat-spreadable-primitive.js diff --git a/js/src/tests/ecma_6/Array/fill.js b/js/src/tests/non262/Array/fill.js similarity index 100% rename from js/src/tests/ecma_6/Array/fill.js rename to js/src/tests/non262/Array/fill.js diff --git a/js/src/tests/js1_6/Array/filter.js b/js/src/tests/non262/Array/filter.js similarity index 100% rename from js/src/tests/js1_6/Array/filter.js rename to js/src/tests/non262/Array/filter.js diff --git a/js/src/tests/ecma_6/Array/find_findindex.js b/js/src/tests/non262/Array/find_findindex.js similarity index 100% rename from js/src/tests/ecma_6/Array/find_findindex.js rename to js/src/tests/non262/Array/find_findindex.js diff --git a/js/src/tests/ecma_6/Array/for_of_1.js b/js/src/tests/non262/Array/for_of_1.js similarity index 100% rename from js/src/tests/ecma_6/Array/for_of_1.js rename to js/src/tests/non262/Array/for_of_1.js diff --git a/js/src/tests/ecma_6/Array/for_of_2.js b/js/src/tests/non262/Array/for_of_2.js similarity index 100% rename from js/src/tests/ecma_6/Array/for_of_2.js rename to js/src/tests/non262/Array/for_of_2.js diff --git a/js/src/tests/ecma_6/Array/for_of_3.js b/js/src/tests/non262/Array/for_of_3.js similarity index 100% rename from js/src/tests/ecma_6/Array/for_of_3.js rename to js/src/tests/non262/Array/for_of_3.js diff --git a/js/src/tests/ecma_6/Array/for_of_4.js b/js/src/tests/non262/Array/for_of_4.js similarity index 100% rename from js/src/tests/ecma_6/Array/for_of_4.js rename to js/src/tests/non262/Array/for_of_4.js diff --git a/js/src/tests/ecma_6/Array/from-iterator-close.js b/js/src/tests/non262/Array/from-iterator-close.js similarity index 100% rename from js/src/tests/ecma_6/Array/from-iterator-close.js rename to js/src/tests/non262/Array/from-iterator-close.js diff --git a/js/src/tests/ecma_6/Array/from_basics.js b/js/src/tests/non262/Array/from_basics.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_basics.js rename to js/src/tests/non262/Array/from_basics.js diff --git a/js/src/tests/ecma_6/Array/from_constructor.js b/js/src/tests/non262/Array/from_constructor.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_constructor.js rename to js/src/tests/non262/Array/from_constructor.js diff --git a/js/src/tests/ecma_6/Array/from_errors.js b/js/src/tests/non262/Array/from_errors.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_errors.js rename to js/src/tests/non262/Array/from_errors.js diff --git a/js/src/tests/ecma_6/Array/from_iterable.js b/js/src/tests/non262/Array/from_iterable.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_iterable.js rename to js/src/tests/non262/Array/from_iterable.js diff --git a/js/src/tests/ecma_6/Array/from_length_setter.js b/js/src/tests/non262/Array/from_length_setter.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_length_setter.js rename to js/src/tests/non262/Array/from_length_setter.js diff --git a/js/src/tests/ecma_6/Array/from_mapping.js b/js/src/tests/non262/Array/from_mapping.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_mapping.js rename to js/src/tests/non262/Array/from_mapping.js diff --git a/js/src/tests/ecma_6/Array/from_primitive.js b/js/src/tests/non262/Array/from_primitive.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_primitive.js rename to js/src/tests/non262/Array/from_primitive.js diff --git a/js/src/tests/ecma_6/Array/from_proxy.js b/js/src/tests/non262/Array/from_proxy.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_proxy.js rename to js/src/tests/non262/Array/from_proxy.js diff --git a/js/src/tests/ecma_6/Array/from_realms.js b/js/src/tests/non262/Array/from_realms.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_realms.js rename to js/src/tests/non262/Array/from_realms.js diff --git a/js/src/tests/ecma_6/Array/from_string.js b/js/src/tests/non262/Array/from_string.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_string.js rename to js/src/tests/non262/Array/from_string.js diff --git a/js/src/tests/ecma_6/Array/from_surfaces.js b/js/src/tests/non262/Array/from_surfaces.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_surfaces.js rename to js/src/tests/non262/Array/from_surfaces.js diff --git a/js/src/tests/ecma_6/Array/from_this.js b/js/src/tests/non262/Array/from_this.js similarity index 100% rename from js/src/tests/ecma_6/Array/from_this.js rename to js/src/tests/non262/Array/from_this.js diff --git a/js/src/tests/ecma_5/Array/frozen-dense-array.js b/js/src/tests/non262/Array/frozen-dense-array.js similarity index 100% rename from js/src/tests/ecma_5/Array/frozen-dense-array.js rename to js/src/tests/non262/Array/frozen-dense-array.js diff --git a/js/src/tests/ecma_5/Array/frozen-dict-mode-length.js b/js/src/tests/non262/Array/frozen-dict-mode-length.js similarity index 100% rename from js/src/tests/ecma_5/Array/frozen-dict-mode-length.js rename to js/src/tests/non262/Array/frozen-dict-mode-length.js diff --git a/js/src/tests/js1_6/Array/generics.js b/js/src/tests/non262/Array/generics.js similarity index 100% rename from js/src/tests/js1_6/Array/generics.js rename to js/src/tests/non262/Array/generics.js diff --git a/js/src/tests/ecma_6/Array/getter-name.js b/js/src/tests/non262/Array/getter-name.js similarity index 100% rename from js/src/tests/ecma_6/Array/getter-name.js rename to js/src/tests/non262/Array/getter-name.js diff --git a/js/src/tests/ecma_7/Array/includes.js b/js/src/tests/non262/Array/includes.js similarity index 100% rename from js/src/tests/ecma_7/Array/includes.js rename to js/src/tests/non262/Array/includes.js diff --git a/js/src/tests/ecma_5/Array/index-with-null-character.js b/js/src/tests/non262/Array/index-with-null-character.js similarity index 100% rename from js/src/tests/ecma_5/Array/index-with-null-character.js rename to js/src/tests/non262/Array/index-with-null-character.js diff --git a/js/src/tests/ecma_6/Array/indexOf-never-returns-negative-zero.js b/js/src/tests/non262/Array/indexOf-never-returns-negative-zero.js similarity index 100% rename from js/src/tests/ecma_6/Array/indexOf-never-returns-negative-zero.js rename to js/src/tests/non262/Array/indexOf-never-returns-negative-zero.js diff --git a/js/src/tests/ecma_6/Array/indexOf-packed-array.js b/js/src/tests/non262/Array/indexOf-packed-array.js similarity index 100% rename from js/src/tests/ecma_6/Array/indexOf-packed-array.js rename to js/src/tests/non262/Array/indexOf-packed-array.js diff --git a/js/src/tests/ecma_6/Array/isArray.js b/js/src/tests/non262/Array/isArray.js similarity index 100% rename from js/src/tests/ecma_6/Array/isArray.js rename to js/src/tests/non262/Array/isArray.js diff --git a/js/src/tests/ecma_6/Array/iterator_edge_cases.js b/js/src/tests/non262/Array/iterator_edge_cases.js similarity index 100% rename from js/src/tests/ecma_6/Array/iterator_edge_cases.js rename to js/src/tests/non262/Array/iterator_edge_cases.js diff --git a/js/src/tests/ecma_5/Array/join-01.js b/js/src/tests/non262/Array/join-01.js similarity index 100% rename from js/src/tests/ecma_5/Array/join-01.js rename to js/src/tests/non262/Array/join-01.js diff --git a/js/src/tests/ecma_6/Array/join-no-has-trap.js b/js/src/tests/non262/Array/join-no-has-trap.js similarity index 100% rename from js/src/tests/ecma_6/Array/join-no-has-trap.js rename to js/src/tests/non262/Array/join-no-has-trap.js diff --git a/js/src/tests/ecma_6/Array/lastIndexOf-never-returns-negative-zero.js b/js/src/tests/non262/Array/lastIndexOf-never-returns-negative-zero.js similarity index 100% rename from js/src/tests/ecma_6/Array/lastIndexOf-never-returns-negative-zero.js rename to js/src/tests/non262/Array/lastIndexOf-never-returns-negative-zero.js diff --git a/js/src/tests/ecma_5/Array/length-01.js b/js/src/tests/non262/Array/length-01.js similarity index 100% rename from js/src/tests/ecma_5/Array/length-01.js rename to js/src/tests/non262/Array/length-01.js diff --git a/js/src/tests/ecma_5/Array/length-nonwritable-redefine-nop.js b/js/src/tests/non262/Array/length-nonwritable-redefine-nop.js similarity index 100% rename from js/src/tests/ecma_5/Array/length-nonwritable-redefine-nop.js rename to js/src/tests/non262/Array/length-nonwritable-redefine-nop.js diff --git a/js/src/tests/ecma_5/Array/length-set-object.js b/js/src/tests/non262/Array/length-set-object.js similarity index 100% rename from js/src/tests/ecma_5/Array/length-set-object.js rename to js/src/tests/non262/Array/length-set-object.js diff --git a/js/src/tests/ecma_5/Array/length-truncate-nonconfigurable-sparse.js b/js/src/tests/non262/Array/length-truncate-nonconfigurable-sparse.js similarity index 100% rename from js/src/tests/ecma_5/Array/length-truncate-nonconfigurable-sparse.js rename to js/src/tests/non262/Array/length-truncate-nonconfigurable-sparse.js diff --git a/js/src/tests/ecma_5/Array/length-truncate-nonconfigurable.js b/js/src/tests/non262/Array/length-truncate-nonconfigurable.js similarity index 100% rename from js/src/tests/ecma_5/Array/length-truncate-nonconfigurable.js rename to js/src/tests/non262/Array/length-truncate-nonconfigurable.js diff --git a/js/src/tests/ecma_5/Array/length-truncate-with-indexed.js b/js/src/tests/non262/Array/length-truncate-with-indexed.js similarity index 100% rename from js/src/tests/ecma_5/Array/length-truncate-with-indexed.js rename to js/src/tests/non262/Array/length-truncate-with-indexed.js diff --git a/js/src/tests/ecma_5/Array/pop-empty-nonwritable.js b/js/src/tests/non262/Array/pop-empty-nonwritable.js similarity index 100% rename from js/src/tests/ecma_5/Array/pop-empty-nonwritable.js rename to js/src/tests/non262/Array/pop-empty-nonwritable.js diff --git a/js/src/tests/ecma_6/Array/pop-no-has-trap.js b/js/src/tests/non262/Array/pop-no-has-trap.js similarity index 100% rename from js/src/tests/ecma_6/Array/pop-no-has-trap.js rename to js/src/tests/non262/Array/pop-no-has-trap.js diff --git a/js/src/tests/ecma_5/Array/pop-nonarray-higher-elements.js b/js/src/tests/non262/Array/pop-nonarray-higher-elements.js similarity index 100% rename from js/src/tests/ecma_5/Array/pop-nonarray-higher-elements.js rename to js/src/tests/non262/Array/pop-nonarray-higher-elements.js diff --git a/js/src/tests/ecma_5/Array/redefine-length-accessor.js b/js/src/tests/non262/Array/redefine-length-accessor.js similarity index 100% rename from js/src/tests/ecma_5/Array/redefine-length-accessor.js rename to js/src/tests/non262/Array/redefine-length-accessor.js diff --git a/js/src/tests/ecma_5/Array/redefine-length-frozen-array.js b/js/src/tests/non262/Array/redefine-length-frozen-array.js similarity index 100% rename from js/src/tests/ecma_5/Array/redefine-length-frozen-array.js rename to js/src/tests/non262/Array/redefine-length-frozen-array.js diff --git a/js/src/tests/ecma_5/Array/redefine-length-frozen-dictionarymode-array.js b/js/src/tests/non262/Array/redefine-length-frozen-dictionarymode-array.js similarity index 100% rename from js/src/tests/ecma_5/Array/redefine-length-frozen-dictionarymode-array.js rename to js/src/tests/non262/Array/redefine-length-frozen-dictionarymode-array.js diff --git a/js/src/tests/ecma_5/Array/redefine-nonwritable-length-custom-conversion-call-counts.js b/js/src/tests/non262/Array/redefine-nonwritable-length-custom-conversion-call-counts.js similarity index 100% rename from js/src/tests/ecma_5/Array/redefine-nonwritable-length-custom-conversion-call-counts.js rename to js/src/tests/non262/Array/redefine-nonwritable-length-custom-conversion-call-counts.js diff --git a/js/src/tests/ecma_5/Array/redefine-nonwritable-length-custom-conversion-throw.js b/js/src/tests/non262/Array/redefine-nonwritable-length-custom-conversion-throw.js similarity index 100% rename from js/src/tests/ecma_5/Array/redefine-nonwritable-length-custom-conversion-throw.js rename to js/src/tests/non262/Array/redefine-nonwritable-length-custom-conversion-throw.js diff --git a/js/src/tests/ecma_5/Array/redefine-nonwritable-length-nonnumeric.js b/js/src/tests/non262/Array/redefine-nonwritable-length-nonnumeric.js similarity index 100% rename from js/src/tests/ecma_5/Array/redefine-nonwritable-length-nonnumeric.js rename to js/src/tests/non262/Array/redefine-nonwritable-length-nonnumeric.js diff --git a/js/src/tests/ecma_3/Array/regress-101488.js b/js/src/tests/non262/Array/regress-101488.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-101488.js rename to js/src/tests/non262/Array/regress-101488.js diff --git a/js/src/tests/js1_5/Array/regress-101964.js b/js/src/tests/non262/Array/regress-101964.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-101964.js rename to js/src/tests/non262/Array/regress-101964.js diff --git a/js/src/tests/js1_5/Array/regress-107138.js b/js/src/tests/non262/Array/regress-107138.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-107138.js rename to js/src/tests/non262/Array/regress-107138.js diff --git a/js/src/tests/js1_5/Array/regress-108440.js b/js/src/tests/non262/Array/regress-108440.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-108440.js rename to js/src/tests/non262/Array/regress-108440.js diff --git a/js/src/tests/ecma_3/Array/regress-130451.js b/js/src/tests/non262/Array/regress-130451.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-130451.js rename to js/src/tests/non262/Array/regress-130451.js diff --git a/js/src/tests/js1_5/Array/regress-154338.js b/js/src/tests/non262/Array/regress-154338.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-154338.js rename to js/src/tests/non262/Array/regress-154338.js diff --git a/js/src/tests/js1_5/Array/regress-157652.js b/js/src/tests/non262/Array/regress-157652.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-157652.js rename to js/src/tests/non262/Array/regress-157652.js diff --git a/js/src/tests/js1_5/Array/regress-178722.js b/js/src/tests/non262/Array/regress-178722.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-178722.js rename to js/src/tests/non262/Array/regress-178722.js diff --git a/js/src/tests/js1_5/Array/regress-255555.js b/js/src/tests/non262/Array/regress-255555.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-255555.js rename to js/src/tests/non262/Array/regress-255555.js diff --git a/js/src/tests/js1_6/Array/regress-290592.js b/js/src/tests/non262/Array/regress-290592.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-290592.js rename to js/src/tests/non262/Array/regress-290592.js diff --git a/js/src/tests/js1_5/Array/regress-299644.js b/js/src/tests/non262/Array/regress-299644.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-299644.js rename to js/src/tests/non262/Array/regress-299644.js diff --git a/js/src/tests/js1_5/Array/regress-300858.js b/js/src/tests/non262/Array/regress-300858.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-300858.js rename to js/src/tests/non262/Array/regress-300858.js diff --git a/js/src/tests/js1_6/Array/regress-304828.js b/js/src/tests/non262/Array/regress-304828.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-304828.js rename to js/src/tests/non262/Array/regress-304828.js diff --git a/js/src/tests/js1_6/Array/regress-305002.js b/js/src/tests/non262/Array/regress-305002.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-305002.js rename to js/src/tests/non262/Array/regress-305002.js diff --git a/js/src/tests/js1_5/Array/regress-310351.js b/js/src/tests/non262/Array/regress-310351.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-310351.js rename to js/src/tests/non262/Array/regress-310351.js diff --git a/js/src/tests/js1_6/Array/regress-310425-01.js b/js/src/tests/non262/Array/regress-310425-01.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-310425-01.js rename to js/src/tests/non262/Array/regress-310425-01.js diff --git a/js/src/tests/js1_6/Array/regress-310425-02.js b/js/src/tests/non262/Array/regress-310425-02.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-310425-02.js rename to js/src/tests/non262/Array/regress-310425-02.js diff --git a/js/src/tests/js1_5/Array/regress-311515.js b/js/src/tests/non262/Array/regress-311515.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-311515.js rename to js/src/tests/non262/Array/regress-311515.js diff --git a/js/src/tests/js1_5/Array/regress-313153.js b/js/src/tests/non262/Array/regress-313153.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-313153.js rename to js/src/tests/non262/Array/regress-313153.js diff --git a/js/src/tests/js1_5/Array/regress-315509-01.js b/js/src/tests/non262/Array/regress-315509-01.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-315509-01.js rename to js/src/tests/non262/Array/regress-315509-01.js diff --git a/js/src/tests/ecma_3/Array/regress-322135-01.js b/js/src/tests/non262/Array/regress-322135-01.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-322135-01.js rename to js/src/tests/non262/Array/regress-322135-01.js diff --git a/js/src/tests/ecma_3/Array/regress-322135-02.js b/js/src/tests/non262/Array/regress-322135-02.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-322135-02.js rename to js/src/tests/non262/Array/regress-322135-02.js diff --git a/js/src/tests/ecma_3/Array/regress-322135-03.js b/js/src/tests/non262/Array/regress-322135-03.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-322135-03.js rename to js/src/tests/non262/Array/regress-322135-03.js diff --git a/js/src/tests/ecma_3/Array/regress-322135-04.js b/js/src/tests/non262/Array/regress-322135-04.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-322135-04.js rename to js/src/tests/non262/Array/regress-322135-04.js diff --git a/js/src/tests/js1_5/Array/regress-330812.js b/js/src/tests/non262/Array/regress-330812.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-330812.js rename to js/src/tests/non262/Array/regress-330812.js diff --git a/js/src/tests/js1_5/Array/regress-345961.js b/js/src/tests/non262/Array/regress-345961.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-345961.js rename to js/src/tests/non262/Array/regress-345961.js diff --git a/js/src/tests/js1_5/Array/regress-348810.js b/js/src/tests/non262/Array/regress-348810.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-348810.js rename to js/src/tests/non262/Array/regress-348810.js diff --git a/js/src/tests/js1_5/Array/regress-350256-01.js b/js/src/tests/non262/Array/regress-350256-01.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-350256-01.js rename to js/src/tests/non262/Array/regress-350256-01.js diff --git a/js/src/tests/js1_5/Array/regress-350256-02.js b/js/src/tests/non262/Array/regress-350256-02.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-350256-02.js rename to js/src/tests/non262/Array/regress-350256-02.js diff --git a/js/src/tests/js1_6/Array/regress-352742-01.js b/js/src/tests/non262/Array/regress-352742-01.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-352742-01.js rename to js/src/tests/non262/Array/regress-352742-01.js diff --git a/js/src/tests/js1_6/Array/regress-352742-02.js b/js/src/tests/non262/Array/regress-352742-02.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-352742-02.js rename to js/src/tests/non262/Array/regress-352742-02.js diff --git a/js/src/tests/js1_5/Array/regress-360681-01.js b/js/src/tests/non262/Array/regress-360681-01.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-360681-01.js rename to js/src/tests/non262/Array/regress-360681-01.js diff --git a/js/src/tests/js1_5/Array/regress-360681-02.js b/js/src/tests/non262/Array/regress-360681-02.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-360681-02.js rename to js/src/tests/non262/Array/regress-360681-02.js diff --git a/js/src/tests/js1_5/Array/regress-364104.js b/js/src/tests/non262/Array/regress-364104.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-364104.js rename to js/src/tests/non262/Array/regress-364104.js diff --git a/js/src/tests/js1_6/Array/regress-386030.js b/js/src/tests/non262/Array/regress-386030.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-386030.js rename to js/src/tests/non262/Array/regress-386030.js diff --git a/js/src/tests/ecma_3/Array/regress-387501.js b/js/src/tests/non262/Array/regress-387501.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-387501.js rename to js/src/tests/non262/Array/regress-387501.js diff --git a/js/src/tests/ecma_3/Array/regress-390598.js b/js/src/tests/non262/Array/regress-390598.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-390598.js rename to js/src/tests/non262/Array/regress-390598.js diff --git a/js/src/tests/js1_6/Array/regress-415451.js b/js/src/tests/non262/Array/regress-415451.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-415451.js rename to js/src/tests/non262/Array/regress-415451.js diff --git a/js/src/tests/js1_6/Array/regress-415540.js b/js/src/tests/non262/Array/regress-415540.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-415540.js rename to js/src/tests/non262/Array/regress-415540.js diff --git a/js/src/tests/ecma_3/Array/regress-421325.js b/js/src/tests/non262/Array/regress-421325.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-421325.js rename to js/src/tests/non262/Array/regress-421325.js diff --git a/js/src/tests/js1_5/Array/regress-422286.js b/js/src/tests/non262/Array/regress-422286.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-422286.js rename to js/src/tests/non262/Array/regress-422286.js diff --git a/js/src/tests/js1_5/Array/regress-424954.js b/js/src/tests/non262/Array/regress-424954.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-424954.js rename to js/src/tests/non262/Array/regress-424954.js diff --git a/js/src/tests/ecma_3/Array/regress-430717.js b/js/src/tests/non262/Array/regress-430717.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-430717.js rename to js/src/tests/non262/Array/regress-430717.js diff --git a/js/src/tests/js1_5/Array/regress-451483.js b/js/src/tests/non262/Array/regress-451483.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-451483.js rename to js/src/tests/non262/Array/regress-451483.js diff --git a/js/src/tests/js1_5/Array/regress-451906.js b/js/src/tests/non262/Array/regress-451906.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-451906.js rename to js/src/tests/non262/Array/regress-451906.js diff --git a/js/src/tests/js1_5/Array/regress-456845.js b/js/src/tests/non262/Array/regress-456845.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-456845.js rename to js/src/tests/non262/Array/regress-456845.js diff --git a/js/src/tests/js1_5/Array/regress-465980-01.js b/js/src/tests/non262/Array/regress-465980-01.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-465980-01.js rename to js/src/tests/non262/Array/regress-465980-01.js diff --git a/js/src/tests/js1_5/Array/regress-465980-02.js b/js/src/tests/non262/Array/regress-465980-02.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-465980-02.js rename to js/src/tests/non262/Array/regress-465980-02.js diff --git a/js/src/tests/js1_5/Array/regress-474529.js b/js/src/tests/non262/Array/regress-474529.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-474529.js rename to js/src/tests/non262/Array/regress-474529.js diff --git a/js/src/tests/ecma_3/Array/regress-488989.js b/js/src/tests/non262/Array/regress-488989.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-488989.js rename to js/src/tests/non262/Array/regress-488989.js diff --git a/js/src/tests/js1_6/Array/regress-566651.js b/js/src/tests/non262/Array/regress-566651.js similarity index 100% rename from js/src/tests/js1_6/Array/regress-566651.js rename to js/src/tests/non262/Array/regress-566651.js diff --git a/js/src/tests/ecma_5/Array/regress-599159.js b/js/src/tests/non262/Array/regress-599159.js similarity index 100% rename from js/src/tests/ecma_5/Array/regress-599159.js rename to js/src/tests/non262/Array/regress-599159.js diff --git a/js/src/tests/ecma_3/Array/regress-619970.js b/js/src/tests/non262/Array/regress-619970.js similarity index 100% rename from js/src/tests/ecma_3/Array/regress-619970.js rename to js/src/tests/non262/Array/regress-619970.js diff --git a/js/src/tests/js1_5/Array/regress-94257.js b/js/src/tests/non262/Array/regress-94257.js similarity index 100% rename from js/src/tests/js1_5/Array/regress-94257.js rename to js/src/tests/non262/Array/regress-94257.js diff --git a/js/src/tests/ecma_5/Array/reverse-order-of-low-high-accesses.js b/js/src/tests/non262/Array/reverse-order-of-low-high-accesses.js similarity index 100% rename from js/src/tests/ecma_5/Array/reverse-order-of-low-high-accesses.js rename to js/src/tests/non262/Array/reverse-order-of-low-high-accesses.js diff --git a/js/src/tests/ecma_5/Array/set-with-indexed-property-on-prototype-chain.js b/js/src/tests/non262/Array/set-with-indexed-property-on-prototype-chain.js similarity index 100% rename from js/src/tests/ecma_5/Array/set-with-indexed-property-on-prototype-chain.js rename to js/src/tests/non262/Array/set-with-indexed-property-on-prototype-chain.js diff --git a/js/src/tests/Intl/Array/shell.js b/js/src/tests/non262/Array/shell.js similarity index 100% rename from js/src/tests/Intl/Array/shell.js rename to js/src/tests/non262/Array/shell.js diff --git a/js/src/tests/ecma_6/Array/shift-no-has-trap.js b/js/src/tests/non262/Array/shift-no-has-trap.js similarity index 100% rename from js/src/tests/ecma_6/Array/shift-no-has-trap.js rename to js/src/tests/non262/Array/shift-no-has-trap.js diff --git a/js/src/tests/ecma_6/Array/shift_for_in.js b/js/src/tests/non262/Array/shift_for_in.js similarity index 100% rename from js/src/tests/ecma_6/Array/shift_for_in.js rename to js/src/tests/non262/Array/shift_for_in.js diff --git a/js/src/tests/ecma_7/Array/slice-sparse-with-large-index.js b/js/src/tests/non262/Array/slice-sparse-with-large-index.js similarity index 100% rename from js/src/tests/ecma_7/Array/slice-sparse-with-large-index.js rename to js/src/tests/non262/Array/slice-sparse-with-large-index.js diff --git a/js/src/tests/ecma_5/Array/sort-01.js b/js/src/tests/non262/Array/sort-01.js similarity index 100% rename from js/src/tests/ecma_5/Array/sort-01.js rename to js/src/tests/non262/Array/sort-01.js diff --git a/js/src/tests/ecma_5/Array/sort-array-with-holes-and-undefined.js b/js/src/tests/non262/Array/sort-array-with-holes-and-undefined.js similarity index 100% rename from js/src/tests/ecma_5/Array/sort-array-with-holes-and-undefined.js rename to js/src/tests/non262/Array/sort-array-with-holes-and-undefined.js diff --git a/js/src/tests/ecma_2018/Array/sort-non-function.js b/js/src/tests/non262/Array/sort-non-function.js similarity index 100% rename from js/src/tests/ecma_2018/Array/sort-non-function.js rename to js/src/tests/non262/Array/sort-non-function.js diff --git a/js/src/tests/ecma_6/Array/sort-typedarray-with-own-length.js b/js/src/tests/non262/Array/sort-typedarray-with-own-length.js similarity index 100% rename from js/src/tests/ecma_6/Array/sort-typedarray-with-own-length.js rename to js/src/tests/non262/Array/sort-typedarray-with-own-length.js diff --git a/js/src/tests/ecma_6/Array/sort_basics.js b/js/src/tests/non262/Array/sort_basics.js similarity index 100% rename from js/src/tests/ecma_6/Array/sort_basics.js rename to js/src/tests/non262/Array/sort_basics.js diff --git a/js/src/tests/ecma_6/Array/sort_holes.js b/js/src/tests/non262/Array/sort_holes.js similarity index 100% rename from js/src/tests/ecma_6/Array/sort_holes.js rename to js/src/tests/non262/Array/sort_holes.js diff --git a/js/src/tests/ecma_6/Array/sort_proxy.js b/js/src/tests/non262/Array/sort_proxy.js similarity index 100% rename from js/src/tests/ecma_6/Array/sort_proxy.js rename to js/src/tests/non262/Array/sort_proxy.js diff --git a/js/src/tests/ecma_6/Array/sort_small.js b/js/src/tests/non262/Array/sort_small.js similarity index 100% rename from js/src/tests/ecma_6/Array/sort_small.js rename to js/src/tests/non262/Array/sort_small.js diff --git a/js/src/tests/ecma_6/Array/species.js b/js/src/tests/non262/Array/species.js similarity index 100% rename from js/src/tests/ecma_6/Array/species.js rename to js/src/tests/non262/Array/species.js diff --git a/js/src/tests/ecma_5/Array/splice-return-array-elements-defined-not-set.js b/js/src/tests/non262/Array/splice-return-array-elements-defined-not-set.js similarity index 100% rename from js/src/tests/ecma_5/Array/splice-return-array-elements-defined-not-set.js rename to js/src/tests/non262/Array/splice-return-array-elements-defined-not-set.js diff --git a/js/src/tests/ecma_6/Array/splice-species-changes-length.js b/js/src/tests/non262/Array/splice-species-changes-length.js similarity index 100% rename from js/src/tests/ecma_6/Array/splice-species-changes-length.js rename to js/src/tests/non262/Array/splice-species-changes-length.js diff --git a/js/src/tests/ecma_5/Array/splice-suppresses-unvisited-indexes.js b/js/src/tests/non262/Array/splice-suppresses-unvisited-indexes.js similarity index 100% rename from js/src/tests/ecma_5/Array/splice-suppresses-unvisited-indexes.js rename to js/src/tests/non262/Array/splice-suppresses-unvisited-indexes.js diff --git a/js/src/tests/ecma_6/Array/to-length.js b/js/src/tests/non262/Array/to-length.js similarity index 100% rename from js/src/tests/ecma_6/Array/to-length.js rename to js/src/tests/non262/Array/to-length.js diff --git a/js/src/tests/ecma_5/Array/toLocaleString-01.js b/js/src/tests/non262/Array/toLocaleString-01.js similarity index 100% rename from js/src/tests/ecma_5/Array/toLocaleString-01.js rename to js/src/tests/non262/Array/toLocaleString-01.js diff --git a/js/src/tests/ecma_6/Array/toLocaleString-nointl.js b/js/src/tests/non262/Array/toLocaleString-nointl.js similarity index 100% rename from js/src/tests/ecma_6/Array/toLocaleString-nointl.js rename to js/src/tests/non262/Array/toLocaleString-nointl.js diff --git a/js/src/tests/ecma_6/Array/toLocaleString.js b/js/src/tests/non262/Array/toLocaleString.js similarity index 100% rename from js/src/tests/ecma_6/Array/toLocaleString.js rename to js/src/tests/non262/Array/toLocaleString.js diff --git a/js/src/tests/ecma_5/Array/toString-01.js b/js/src/tests/non262/Array/toString-01.js similarity index 100% rename from js/src/tests/ecma_5/Array/toString-01.js rename to js/src/tests/non262/Array/toString-01.js diff --git a/js/src/tests/ecma_6/Array/unscopables.js b/js/src/tests/non262/Array/unscopables.js similarity index 100% rename from js/src/tests/ecma_6/Array/unscopables.js rename to js/src/tests/non262/Array/unscopables.js diff --git a/js/src/tests/ecma_5/Array/unshift-01.js b/js/src/tests/non262/Array/unshift-01.js similarity index 100% rename from js/src/tests/ecma_5/Array/unshift-01.js rename to js/src/tests/non262/Array/unshift-01.js diff --git a/js/src/tests/ecma_6/Array/unshift-with-enumeration.js b/js/src/tests/non262/Array/unshift-with-enumeration.js similarity index 100% rename from js/src/tests/ecma_6/Array/unshift-with-enumeration.js rename to js/src/tests/non262/Array/unshift-with-enumeration.js diff --git a/js/src/tests/ecma_6/Array/values.js b/js/src/tests/non262/Array/values.js similarity index 100% rename from js/src/tests/ecma_6/Array/values.js rename to js/src/tests/non262/Array/values.js diff --git a/js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js b/js/src/tests/non262/ArrayBuffer/CloneArrayBuffer.js similarity index 100% rename from js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js rename to js/src/tests/non262/ArrayBuffer/CloneArrayBuffer.js diff --git a/js/src/tests/Intl/Date/browser.js b/js/src/tests/non262/ArrayBuffer/browser.js similarity index 100% rename from js/src/tests/Intl/Date/browser.js rename to js/src/tests/non262/ArrayBuffer/browser.js diff --git a/js/src/tests/ecma_6/ArrayBuffer/constructorNotCallable.js b/js/src/tests/non262/ArrayBuffer/constructorNotCallable.js similarity index 100% rename from js/src/tests/ecma_6/ArrayBuffer/constructorNotCallable.js rename to js/src/tests/non262/ArrayBuffer/constructorNotCallable.js diff --git a/js/src/tests/ecma_6/ArrayBuffer/getter-name.js b/js/src/tests/non262/ArrayBuffer/getter-name.js similarity index 100% rename from js/src/tests/ecma_6/ArrayBuffer/getter-name.js rename to js/src/tests/non262/ArrayBuffer/getter-name.js diff --git a/js/src/tests/Intl/Collator/shell.js b/js/src/tests/non262/ArrayBuffer/shell.js similarity index 100% rename from js/src/tests/Intl/Collator/shell.js rename to js/src/tests/non262/ArrayBuffer/shell.js diff --git a/js/src/tests/ecma_6/ArrayBuffer/slice-species.js b/js/src/tests/non262/ArrayBuffer/slice-species.js similarity index 100% rename from js/src/tests/ecma_6/ArrayBuffer/slice-species.js rename to js/src/tests/non262/ArrayBuffer/slice-species.js diff --git a/js/src/tests/ecma_2018/AsyncGenerators/async-generator-declaration-in-modules.js b/js/src/tests/non262/AsyncGenerators/async-generator-declaration-in-modules.js similarity index 100% rename from js/src/tests/ecma_2018/AsyncGenerators/async-generator-declaration-in-modules.js rename to js/src/tests/non262/AsyncGenerators/async-generator-declaration-in-modules.js diff --git a/js/src/tests/Intl/NumberFormat/browser.js b/js/src/tests/non262/AsyncGenerators/browser.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/browser.js rename to js/src/tests/non262/AsyncGenerators/browser.js diff --git a/js/src/tests/ecma_2018/AsyncGenerators/create-function-parse-before-getprototype.js b/js/src/tests/non262/AsyncGenerators/create-function-parse-before-getprototype.js similarity index 100% rename from js/src/tests/ecma_2018/AsyncGenerators/create-function-parse-before-getprototype.js rename to js/src/tests/non262/AsyncGenerators/create-function-parse-before-getprototype.js diff --git a/js/src/tests/ecma_2018/AsyncGenerators/for-await-bad-syntax.js b/js/src/tests/non262/AsyncGenerators/for-await-bad-syntax.js similarity index 100% rename from js/src/tests/ecma_2018/AsyncGenerators/for-await-bad-syntax.js rename to js/src/tests/non262/AsyncGenerators/for-await-bad-syntax.js diff --git a/js/src/tests/ecma_2018/AsyncGenerators/for-await-of-error.js b/js/src/tests/non262/AsyncGenerators/for-await-of-error.js similarity index 100% rename from js/src/tests/ecma_2018/AsyncGenerators/for-await-of-error.js rename to js/src/tests/non262/AsyncGenerators/for-await-of-error.js diff --git a/js/src/tests/Intl/Date/shell.js b/js/src/tests/non262/AsyncGenerators/shell.js similarity index 100% rename from js/src/tests/Intl/Date/shell.js rename to js/src/tests/non262/AsyncGenerators/shell.js diff --git a/js/src/tests/ecma_5/Boolean/15.6.4.2.js b/js/src/tests/non262/Boolean/15.6.4.2.js similarity index 100% rename from js/src/tests/ecma_5/Boolean/15.6.4.2.js rename to js/src/tests/non262/Boolean/15.6.4.2.js diff --git a/js/src/tests/Intl/PluralRules/browser.js b/js/src/tests/non262/Boolean/browser.js similarity index 100% rename from js/src/tests/Intl/PluralRules/browser.js rename to js/src/tests/non262/Boolean/browser.js diff --git a/js/src/tests/ecma_5/Boolean/no-boolean-toJSON.js b/js/src/tests/non262/Boolean/no-boolean-toJSON.js similarity index 100% rename from js/src/tests/ecma_5/Boolean/no-boolean-toJSON.js rename to js/src/tests/non262/Boolean/no-boolean-toJSON.js diff --git a/js/src/tests/Intl/DateTimeFormat/shell.js b/js/src/tests/non262/Boolean/shell.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/shell.js rename to js/src/tests/non262/Boolean/shell.js diff --git a/js/src/tests/Intl/RelativeTimeFormat/browser.js b/js/src/tests/non262/DataView/browser.js similarity index 100% rename from js/src/tests/Intl/RelativeTimeFormat/browser.js rename to js/src/tests/non262/DataView/browser.js diff --git a/js/src/tests/ecma_6/DataView/detach-after-construction.js b/js/src/tests/non262/DataView/detach-after-construction.js similarity index 100% rename from js/src/tests/ecma_6/DataView/detach-after-construction.js rename to js/src/tests/non262/DataView/detach-after-construction.js diff --git a/js/src/tests/ecma_6/DataView/get-set-index-range.js b/js/src/tests/non262/DataView/get-set-index-range.js similarity index 100% rename from js/src/tests/ecma_6/DataView/get-set-index-range.js rename to js/src/tests/non262/DataView/get-set-index-range.js diff --git a/js/src/tests/ecma_6/DataView/getter-name.js b/js/src/tests/non262/DataView/getter-name.js similarity index 100% rename from js/src/tests/ecma_6/DataView/getter-name.js rename to js/src/tests/non262/DataView/getter-name.js diff --git a/js/src/tests/Intl/NumberFormat/shell.js b/js/src/tests/non262/DataView/shell.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/shell.js rename to js/src/tests/non262/DataView/shell.js diff --git a/js/src/tests/ecma_5/Date/15.9.4.2.js b/js/src/tests/non262/Date/15.9.4.2.js similarity index 100% rename from js/src/tests/ecma_5/Date/15.9.4.2.js rename to js/src/tests/non262/Date/15.9.4.2.js diff --git a/js/src/tests/ecma_3/Date/15.9.5.5-02.js b/js/src/tests/non262/Date/15.9.5.5-02.js similarity index 100% rename from js/src/tests/ecma_3/Date/15.9.5.5-02.js rename to js/src/tests/non262/Date/15.9.5.5-02.js diff --git a/js/src/tests/ecma_3/Date/15.9.5.5.js b/js/src/tests/non262/Date/15.9.5.5.js similarity index 100% rename from js/src/tests/ecma_3/Date/15.9.5.5.js rename to js/src/tests/non262/Date/15.9.5.5.js diff --git a/js/src/tests/ecma_3/Date/15.9.5.6.js b/js/src/tests/non262/Date/15.9.5.6.js similarity index 100% rename from js/src/tests/ecma_3/Date/15.9.5.6.js rename to js/src/tests/non262/Date/15.9.5.6.js diff --git a/js/src/tests/ecma_3/Date/15.9.5.7.js b/js/src/tests/non262/Date/15.9.5.7.js similarity index 100% rename from js/src/tests/ecma_3/Date/15.9.5.7.js rename to js/src/tests/non262/Date/15.9.5.7.js diff --git a/js/src/tests/ecma_5/Date/UTC-convert-all-arguments.js b/js/src/tests/non262/Date/UTC-convert-all-arguments.js similarity index 100% rename from js/src/tests/ecma_5/Date/UTC-convert-all-arguments.js rename to js/src/tests/non262/Date/UTC-convert-all-arguments.js diff --git a/js/src/tests/Intl/DateTimeFormat/browser.js b/js/src/tests/non262/Date/browser.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/browser.js rename to js/src/tests/non262/Date/browser.js diff --git a/js/src/tests/ecma_5/Date/constructor-convert-all-arguments.js b/js/src/tests/non262/Date/constructor-convert-all-arguments.js similarity index 100% rename from js/src/tests/ecma_5/Date/constructor-convert-all-arguments.js rename to js/src/tests/non262/Date/constructor-convert-all-arguments.js diff --git a/js/src/tests/ecma_6/Date/constructor-one-Date-argument.js b/js/src/tests/non262/Date/constructor-one-Date-argument.js similarity index 100% rename from js/src/tests/ecma_6/Date/constructor-one-Date-argument.js rename to js/src/tests/non262/Date/constructor-one-Date-argument.js diff --git a/js/src/tests/ecma_5/Date/constructor-one-argument.js b/js/src/tests/non262/Date/constructor-one-argument.js similarity index 100% rename from js/src/tests/ecma_5/Date/constructor-one-argument.js rename to js/src/tests/non262/Date/constructor-one-argument.js diff --git a/js/src/tests/ecma_5/Date/defaultvalue.js b/js/src/tests/non262/Date/defaultvalue.js similarity index 100% rename from js/src/tests/ecma_5/Date/defaultvalue.js rename to js/src/tests/non262/Date/defaultvalue.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-1-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-1-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-1-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-1-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-2-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-2-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-2-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-2-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-3-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-3-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-3-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-3-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-4-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-4-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-4-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-4-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-5-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-5-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-5-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-5-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-6-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-6-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-6-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-6-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-7-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-7-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-7-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-7-of-8.js diff --git a/js/src/tests/ecma/Date/dst-offset-caching-8-of-8.js b/js/src/tests/non262/Date/dst-offset-caching-8-of-8.js similarity index 100% rename from js/src/tests/ecma/Date/dst-offset-caching-8-of-8.js rename to js/src/tests/non262/Date/dst-offset-caching-8-of-8.js diff --git a/js/src/tests/ecma_5/Date/equality-to-boolean.js b/js/src/tests/non262/Date/equality-to-boolean.js similarity index 100% rename from js/src/tests/ecma_5/Date/equality-to-boolean.js rename to js/src/tests/non262/Date/equality-to-boolean.js diff --git a/js/src/tests/ecma_5/Date/fractions.js b/js/src/tests/non262/Date/fractions.js similarity index 100% rename from js/src/tests/ecma_5/Date/fractions.js rename to js/src/tests/non262/Date/fractions.js diff --git a/js/src/tests/ecma_6/Date/non-iso.js b/js/src/tests/non262/Date/non-iso.js similarity index 100% rename from js/src/tests/ecma_6/Date/non-iso.js rename to js/src/tests/non262/Date/non-iso.js diff --git a/js/src/tests/ecma_6/Date/prototype-is-not-a-date.js b/js/src/tests/non262/Date/prototype-is-not-a-date.js similarity index 100% rename from js/src/tests/ecma_6/Date/prototype-is-not-a-date.js rename to js/src/tests/non262/Date/prototype-is-not-a-date.js diff --git a/js/src/tests/js1_5/Date/regress-188211.js b/js/src/tests/non262/Date/regress-188211.js similarity index 100% rename from js/src/tests/js1_5/Date/regress-188211.js rename to js/src/tests/non262/Date/regress-188211.js diff --git a/js/src/tests/js1_5/Date/regress-301738-01.js b/js/src/tests/non262/Date/regress-301738-01.js similarity index 100% rename from js/src/tests/js1_5/Date/regress-301738-01.js rename to js/src/tests/non262/Date/regress-301738-01.js diff --git a/js/src/tests/js1_5/Date/regress-309925-01.js b/js/src/tests/non262/Date/regress-309925-01.js similarity index 100% rename from js/src/tests/js1_5/Date/regress-309925-01.js rename to js/src/tests/non262/Date/regress-309925-01.js diff --git a/js/src/tests/js1_5/Date/regress-309925-02.js b/js/src/tests/non262/Date/regress-309925-02.js similarity index 100% rename from js/src/tests/js1_5/Date/regress-309925-02.js rename to js/src/tests/non262/Date/regress-309925-02.js diff --git a/js/src/tests/js1_5/Date/regress-346027.js b/js/src/tests/non262/Date/regress-346027.js similarity index 100% rename from js/src/tests/js1_5/Date/regress-346027.js rename to js/src/tests/non262/Date/regress-346027.js diff --git a/js/src/tests/js1_5/Date/regress-346363.js b/js/src/tests/non262/Date/regress-346363.js similarity index 100% rename from js/src/tests/js1_5/Date/regress-346363.js rename to js/src/tests/non262/Date/regress-346363.js diff --git a/js/src/tests/ecma_3/Date/regress-452786.js b/js/src/tests/non262/Date/regress-452786.js similarity index 100% rename from js/src/tests/ecma_3/Date/regress-452786.js rename to js/src/tests/non262/Date/regress-452786.js diff --git a/js/src/tests/ecma_5/Date/setTime-argument-shortcircuiting.js b/js/src/tests/non262/Date/setTime-argument-shortcircuiting.js similarity index 100% rename from js/src/tests/ecma_5/Date/setTime-argument-shortcircuiting.js rename to js/src/tests/non262/Date/setTime-argument-shortcircuiting.js diff --git a/js/src/tests/ecma/Date/shell.js b/js/src/tests/non262/Date/shell.js similarity index 76% rename from js/src/tests/ecma/Date/shell.js rename to js/src/tests/non262/Date/shell.js index fc78d24b7e93..1622daa26bff 100644 --- a/js/src/tests/ecma/Date/shell.js +++ b/js/src/tests/non262/Date/shell.js @@ -2,6 +2,56 @@ var BUGNUMBER; var summary; + +/* + * Date functions used by tests in Date suite + * + */ +var msPerDay = 86400000; +var msPerHour = 3600000; // 1000 * 60 * 60 +var TZ_DIFF = getTimeZoneDiff(); // offset of tester's timezone from UTC +var TZ_ADJUST = TZ_DIFF * msPerHour; +var TIME_2000 = 946684800000; +var TIME_1900 = -2208988800000; +var UTC_29_FEB_2000 = TIME_2000 + 31*msPerDay + 28*msPerDay; +var UTC_1_JAN_2005 = TIME_2000 + TimeInYear(2000) + TimeInYear(2001) + + TimeInYear(2002) + TimeInYear(2003) + TimeInYear(2004); +var now = new Date(); +var TIME_NOW = now.valueOf(); //valueOf() is to accurate to the millisecond + //Date.parse() is accurate only to the second + +/* + * Originally, the test suite used a hard-coded value TZ_DIFF = -8. + * But that was only valid for testers in the Pacific Standard Time Zone! + * We calculate the proper number dynamically for any tester. We just + * have to be careful not to use a date subject to Daylight Savings Time... + */ +function getTimeZoneDiff() +{ + return -((new Date(2000, 1, 1)).getTimezoneOffset())/60; +} + +function DaysInYear( y ) { + if ( y % 4 != 0 ) { + return 365; + } + if ( (y % 4 == 0) && (y % 100 != 0) ) { + return 366; + } + if ( (y % 100 == 0) && (y % 400 != 0) ) { + return 365; + } + if ( (y % 400 == 0) ){ + return 366; + } else { + return "ERROR: DaysInYear(" + y + ") case not covered"; + } +} + +function TimeInYear( y ) { + return ( DaysInYear(y) * msPerDay ); +} + function runDSTOffsetCachingTestsFraction(part, parts) { BUGNUMBER = 563938; diff --git a/js/src/tests/ecma_6/Date/time-zone-2038-pst.js b/js/src/tests/non262/Date/time-zone-2038-pst.js similarity index 100% rename from js/src/tests/ecma_6/Date/time-zone-2038-pst.js rename to js/src/tests/non262/Date/time-zone-2038-pst.js diff --git a/js/src/tests/ecma_6/Date/time-zone-pst.js b/js/src/tests/non262/Date/time-zone-pst.js similarity index 99% rename from js/src/tests/ecma_6/Date/time-zone-pst.js rename to js/src/tests/non262/Date/time-zone-pst.js index ae890ea3ab4f..5072b15d12ce 100644 --- a/js/src/tests/ecma_6/Date/time-zone-pst.js +++ b/js/src/tests/non262/Date/time-zone-pst.js @@ -5,7 +5,6 @@ assertEq(/^(PST|PDT)$/.test(getTimeZone()), true); const msPerMinute = 60 * 1000; -const msPerHour = 60 * 60 * 1000; const Month = { January: 0, diff --git a/js/src/tests/ecma_6/Date/time-zones-pedantic.js b/js/src/tests/non262/Date/time-zones-pedantic.js similarity index 98% rename from js/src/tests/ecma_6/Date/time-zones-pedantic.js rename to js/src/tests/non262/Date/time-zones-pedantic.js index 4fd5b30f536c..0bff476f4391 100644 --- a/js/src/tests/ecma_6/Date/time-zones-pedantic.js +++ b/js/src/tests/non262/Date/time-zones-pedantic.js @@ -2,8 +2,6 @@ // Contains the tests from "time-zones.js" which fail on OS X. -const msPerHour = 60 * 60 * 1000; - const Month = { January: 0, February: 1, diff --git a/js/src/tests/ecma_6/Date/time-zones-posix.js b/js/src/tests/non262/Date/time-zones-posix.js similarity index 99% rename from js/src/tests/ecma_6/Date/time-zones-posix.js rename to js/src/tests/non262/Date/time-zones-posix.js index 078fa2e275fd..b08a6a25a529 100644 --- a/js/src/tests/ecma_6/Date/time-zones-posix.js +++ b/js/src/tests/non262/Date/time-zones-posix.js @@ -42,8 +42,6 @@ // // And remove any tests not matching one of the four time zones from above. -const msPerHour = 60 * 60 * 1000; - const Month = { January: 0, February: 1, diff --git a/js/src/tests/ecma_6/Date/time-zones.js b/js/src/tests/non262/Date/time-zones.js similarity index 99% rename from js/src/tests/ecma_6/Date/time-zones.js rename to js/src/tests/non262/Date/time-zones.js index 5f78118c94e0..aeaf75b9ca31 100644 --- a/js/src/tests/ecma_6/Date/time-zones.js +++ b/js/src/tests/non262/Date/time-zones.js @@ -1,7 +1,5 @@ // |reftest| skip-if(xulRuntime.OS=="WINNT") -- Windows doesn't accept IANA names for the TZ env variable -const msPerHour = 60 * 60 * 1000; - const Month = { January: 0, February: 1, diff --git a/js/src/tests/ecma_5/Date/timeclip.js b/js/src/tests/non262/Date/timeclip.js similarity index 100% rename from js/src/tests/ecma_5/Date/timeclip.js rename to js/src/tests/non262/Date/timeclip.js diff --git a/js/src/tests/ecma_6/Date/toISOString.js b/js/src/tests/non262/Date/toISOString-01.js similarity index 100% rename from js/src/tests/ecma_6/Date/toISOString.js rename to js/src/tests/non262/Date/toISOString-01.js diff --git a/js/src/tests/ecma_5/Date/toISOString.js b/js/src/tests/non262/Date/toISOString.js similarity index 100% rename from js/src/tests/ecma_5/Date/toISOString.js rename to js/src/tests/non262/Date/toISOString.js diff --git a/js/src/tests/ecma_5/Date/toJSON-01.js b/js/src/tests/non262/Date/toJSON-01.js similarity index 100% rename from js/src/tests/ecma_5/Date/toJSON-01.js rename to js/src/tests/non262/Date/toJSON-01.js diff --git a/js/src/tests/ecma_6/Date/toPrimitive.js b/js/src/tests/non262/Date/toPrimitive.js similarity index 100% rename from js/src/tests/ecma_6/Date/toPrimitive.js rename to js/src/tests/non262/Date/toPrimitive.js diff --git a/js/src/tests/ecma_6/Date/toString-generic.js b/js/src/tests/non262/Date/toString-generic.js similarity index 100% rename from js/src/tests/ecma_6/Date/toString-generic.js rename to js/src/tests/non262/Date/toString-generic.js diff --git a/js/src/tests/ecma_6/Date/two-digit-years.js b/js/src/tests/non262/Date/two-digit-years.js similarity index 100% rename from js/src/tests/ecma_6/Date/two-digit-years.js rename to js/src/tests/non262/Date/two-digit-years.js diff --git a/js/src/tests/Intl/browser.js b/js/src/tests/non262/Error/browser.js similarity index 100% rename from js/src/tests/Intl/browser.js rename to js/src/tests/non262/Error/browser.js diff --git a/js/src/tests/js1_5/Error/constructor-ordering.js b/js/src/tests/non262/Error/constructor-ordering.js similarity index 100% rename from js/src/tests/js1_5/Error/constructor-ordering.js rename to js/src/tests/non262/Error/constructor-ordering.js diff --git a/js/src/tests/ecma_6/Error/constructor-proto.js b/js/src/tests/non262/Error/constructor-proto.js similarity index 100% rename from js/src/tests/ecma_6/Error/constructor-proto.js rename to js/src/tests/non262/Error/constructor-proto.js diff --git a/js/src/tests/ecma_6/Error/prototype-properties.js b/js/src/tests/non262/Error/prototype-properties.js similarity index 100% rename from js/src/tests/ecma_6/Error/prototype-properties.js rename to js/src/tests/non262/Error/prototype-properties.js diff --git a/js/src/tests/ecma_6/Error/prototype.js b/js/src/tests/non262/Error/prototype.js similarity index 100% rename from js/src/tests/ecma_6/Error/prototype.js rename to js/src/tests/non262/Error/prototype.js diff --git a/js/src/tests/js1_5/Error/regress-354246.js b/js/src/tests/non262/Error/regress-354246.js similarity index 100% rename from js/src/tests/js1_5/Error/regress-354246.js rename to js/src/tests/non262/Error/regress-354246.js diff --git a/js/src/tests/js1_5/Error/regress-412324.js b/js/src/tests/non262/Error/regress-412324.js similarity index 100% rename from js/src/tests/js1_5/Error/regress-412324.js rename to js/src/tests/non262/Error/regress-412324.js diff --git a/js/src/tests/js1_5/Error/regress-465377.js b/js/src/tests/non262/Error/regress-465377.js similarity index 100% rename from js/src/tests/js1_5/Error/regress-465377.js rename to js/src/tests/non262/Error/regress-465377.js diff --git a/js/src/tests/Intl/PluralRules/shell.js b/js/src/tests/non262/Error/shell.js similarity index 100% rename from js/src/tests/Intl/PluralRules/shell.js rename to js/src/tests/non262/Error/shell.js diff --git a/js/src/tests/Intl/extensions/browser.js b/js/src/tests/non262/Exceptions/browser.js similarity index 100% rename from js/src/tests/Intl/extensions/browser.js rename to js/src/tests/non262/Exceptions/browser.js diff --git a/js/src/tests/js1_5/Exceptions/catchguard-002-n.js b/js/src/tests/non262/Exceptions/catchguard-002-n.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/catchguard-002-n.js rename to js/src/tests/non262/Exceptions/catchguard-002-n.js diff --git a/js/src/tests/js1_5/Exceptions/catchguard-003-n.js b/js/src/tests/non262/Exceptions/catchguard-003-n.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/catchguard-003-n.js rename to js/src/tests/non262/Exceptions/catchguard-003-n.js diff --git a/js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js b/js/src/tests/non262/Exceptions/error-expando-reconfigure.js similarity index 100% rename from js/src/tests/ecma_5/Exceptions/error-expando-reconfigure.js rename to js/src/tests/non262/Exceptions/error-expando-reconfigure.js diff --git a/js/src/tests/ecma_5/Exceptions/error-property-enumerability.js b/js/src/tests/non262/Exceptions/error-property-enumerability.js similarity index 100% rename from js/src/tests/ecma_5/Exceptions/error-property-enumerability.js rename to js/src/tests/non262/Exceptions/error-property-enumerability.js diff --git a/js/src/tests/js1_5/Exceptions/errstack-001.js b/js/src/tests/non262/Exceptions/errstack-001.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/errstack-001.js rename to js/src/tests/non262/Exceptions/errstack-001.js diff --git a/js/src/tests/js1_5/Exceptions/regress-121658.js b/js/src/tests/non262/Exceptions/regress-121658.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-121658.js rename to js/src/tests/non262/Exceptions/regress-121658.js diff --git a/js/src/tests/js1_5/Exceptions/regress-123002.js b/js/src/tests/non262/Exceptions/regress-123002.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-123002.js rename to js/src/tests/non262/Exceptions/regress-123002.js diff --git a/js/src/tests/ecma_3/Exceptions/regress-181654.js b/js/src/tests/non262/Exceptions/regress-181654.js similarity index 100% rename from js/src/tests/ecma_3/Exceptions/regress-181654.js rename to js/src/tests/non262/Exceptions/regress-181654.js diff --git a/js/src/tests/ecma_3/Exceptions/regress-181914.js b/js/src/tests/non262/Exceptions/regress-181914.js similarity index 100% rename from js/src/tests/ecma_3/Exceptions/regress-181914.js rename to js/src/tests/non262/Exceptions/regress-181914.js diff --git a/js/src/tests/js1_5/Exceptions/regress-257751.js b/js/src/tests/non262/Exceptions/regress-257751.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-257751.js rename to js/src/tests/non262/Exceptions/regress-257751.js diff --git a/js/src/tests/js1_5/Exceptions/regress-273931.js b/js/src/tests/non262/Exceptions/regress-273931.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-273931.js rename to js/src/tests/non262/Exceptions/regress-273931.js diff --git a/js/src/tests/js1_5/Exceptions/regress-315147.js b/js/src/tests/non262/Exceptions/regress-315147.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-315147.js rename to js/src/tests/non262/Exceptions/regress-315147.js diff --git a/js/src/tests/js1_5/Exceptions/regress-332472.js b/js/src/tests/non262/Exceptions/regress-332472.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-332472.js rename to js/src/tests/non262/Exceptions/regress-332472.js diff --git a/js/src/tests/js1_5/Exceptions/regress-333728.js b/js/src/tests/non262/Exceptions/regress-333728.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-333728.js rename to js/src/tests/non262/Exceptions/regress-333728.js diff --git a/js/src/tests/js1_5/Exceptions/regress-342359.js b/js/src/tests/non262/Exceptions/regress-342359.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-342359.js rename to js/src/tests/non262/Exceptions/regress-342359.js diff --git a/js/src/tests/js1_5/Exceptions/regress-347674.js b/js/src/tests/non262/Exceptions/regress-347674.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-347674.js rename to js/src/tests/non262/Exceptions/regress-347674.js diff --git a/js/src/tests/js1_5/Exceptions/regress-350650-n.js b/js/src/tests/non262/Exceptions/regress-350650-n.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-350650-n.js rename to js/src/tests/non262/Exceptions/regress-350650-n.js diff --git a/js/src/tests/js1_5/Exceptions/regress-350837.js b/js/src/tests/non262/Exceptions/regress-350837.js similarity index 100% rename from js/src/tests/js1_5/Exceptions/regress-350837.js rename to js/src/tests/non262/Exceptions/regress-350837.js diff --git a/js/src/tests/ecma_3/Exceptions/regress-58946.js b/js/src/tests/non262/Exceptions/regress-58946.js similarity index 100% rename from js/src/tests/ecma_3/Exceptions/regress-58946.js rename to js/src/tests/non262/Exceptions/regress-58946.js diff --git a/js/src/tests/ecma_3/Exceptions/regress-95101.js b/js/src/tests/non262/Exceptions/regress-95101.js similarity index 100% rename from js/src/tests/ecma_3/Exceptions/regress-95101.js rename to js/src/tests/non262/Exceptions/regress-95101.js diff --git a/js/src/tests/Intl/RelativeTimeFormat/shell.js b/js/src/tests/non262/Exceptions/shell.js similarity index 100% rename from js/src/tests/Intl/RelativeTimeFormat/shell.js rename to js/src/tests/non262/Exceptions/shell.js diff --git a/js/src/tests/js1_5/Function/10.1.6-01.js b/js/src/tests/non262/Function/10.1.6-01.js similarity index 100% rename from js/src/tests/js1_5/Function/10.1.6-01.js rename to js/src/tests/non262/Function/10.1.6-01.js diff --git a/js/src/tests/js1_5/Function/10.1.6.js b/js/src/tests/non262/Function/10.1.6.js similarity index 100% rename from js/src/tests/js1_5/Function/10.1.6.js rename to js/src/tests/non262/Function/10.1.6.js diff --git a/js/src/tests/ecma_5/Function/10.2.1.1.6.js b/js/src/tests/non262/Function/10.2.1.1.6.js similarity index 100% rename from js/src/tests/ecma_5/Function/10.2.1.1.6.js rename to js/src/tests/non262/Function/10.2.1.1.6.js diff --git a/js/src/tests/ecma_5/Function/15.3.4.3-01.js b/js/src/tests/non262/Function/15.3.4.3-01.js similarity index 100% rename from js/src/tests/ecma_5/Function/15.3.4.3-01.js rename to js/src/tests/non262/Function/15.3.4.3-01.js diff --git a/js/src/tests/ecma_5/Function/Function-arguments-gc.js b/js/src/tests/non262/Function/Function-arguments-gc.js similarity index 100% rename from js/src/tests/ecma_5/Function/Function-arguments-gc.js rename to js/src/tests/non262/Function/Function-arguments-gc.js diff --git a/js/src/tests/ecma_5/Function/Function-with-eval.js b/js/src/tests/non262/Function/Function-with-eval.js similarity index 100% rename from js/src/tests/ecma_5/Function/Function-with-eval.js rename to js/src/tests/non262/Function/Function-with-eval.js diff --git a/js/src/tests/ecma_2017/Function/Object-toSource.js b/js/src/tests/non262/Function/Object-toSource.js similarity index 100% rename from js/src/tests/ecma_2017/Function/Object-toSource.js rename to js/src/tests/non262/Function/Object-toSource.js diff --git a/js/src/tests/ecma_5/Function/arguments-caller-callee.js b/js/src/tests/non262/Function/arguments-caller-callee.js similarity index 100% rename from js/src/tests/ecma_5/Function/arguments-caller-callee.js rename to js/src/tests/non262/Function/arguments-caller-callee.js diff --git a/js/src/tests/ecma_6/Function/arguments-extra-property.js b/js/src/tests/non262/Function/arguments-extra-property.js similarity index 100% rename from js/src/tests/ecma_6/Function/arguments-extra-property.js rename to js/src/tests/non262/Function/arguments-extra-property.js diff --git a/js/src/tests/ecma_6/Function/arguments-iterator.js b/js/src/tests/non262/Function/arguments-iterator.js similarity index 100% rename from js/src/tests/ecma_6/Function/arguments-iterator.js rename to js/src/tests/non262/Function/arguments-iterator.js diff --git a/js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js b/js/src/tests/non262/Function/arguments-parameter-shadowing.js similarity index 100% rename from js/src/tests/ecma_6/Function/arguments-parameter-shadowing.js rename to js/src/tests/non262/Function/arguments-parameter-shadowing.js diff --git a/js/src/tests/ecma_5/Function/arguments-property-attributes.js b/js/src/tests/non262/Function/arguments-property-attributes.js similarity index 100% rename from js/src/tests/ecma_5/Function/arguments-property-attributes.js rename to js/src/tests/non262/Function/arguments-property-attributes.js diff --git a/js/src/tests/ecma_6/Function/arrow-has-duplicated.js b/js/src/tests/non262/Function/arrow-has-duplicated.js similarity index 100% rename from js/src/tests/ecma_6/Function/arrow-has-duplicated.js rename to js/src/tests/non262/Function/arrow-has-duplicated.js diff --git a/js/src/tests/ecma_6/Function/bound-length-and-name.js b/js/src/tests/non262/Function/bound-length-and-name.js similarity index 100% rename from js/src/tests/ecma_6/Function/bound-length-and-name.js rename to js/src/tests/non262/Function/bound-length-and-name.js diff --git a/js/src/tests/ecma_6/Function/bound-non-constructable.js b/js/src/tests/non262/Function/bound-non-constructable.js similarity index 100% rename from js/src/tests/ecma_6/Function/bound-non-constructable.js rename to js/src/tests/non262/Function/bound-non-constructable.js diff --git a/js/src/tests/ecma_6/Function/bound-prototype.js b/js/src/tests/non262/Function/bound-prototype.js similarity index 100% rename from js/src/tests/ecma_6/Function/bound-prototype.js rename to js/src/tests/non262/Function/bound-prototype.js diff --git a/js/src/tests/ecma/Array/browser.js b/js/src/tests/non262/Function/browser.js similarity index 100% rename from js/src/tests/ecma/Array/browser.js rename to js/src/tests/non262/Function/browser.js diff --git a/js/src/tests/ecma_5/Function/builtin-no-construct.js b/js/src/tests/non262/Function/builtin-no-construct.js similarity index 100% rename from js/src/tests/ecma_5/Function/builtin-no-construct.js rename to js/src/tests/non262/Function/builtin-no-construct.js diff --git a/js/src/tests/ecma_5/Function/builtin-no-prototype.js b/js/src/tests/non262/Function/builtin-no-prototype.js similarity index 100% rename from js/src/tests/ecma_5/Function/builtin-no-prototype.js rename to js/src/tests/non262/Function/builtin-no-prototype.js diff --git a/js/src/tests/ecma_6/Function/configurable-length-builtins.js b/js/src/tests/non262/Function/configurable-length-builtins.js similarity index 100% rename from js/src/tests/ecma_6/Function/configurable-length-builtins.js rename to js/src/tests/non262/Function/configurable-length-builtins.js diff --git a/js/src/tests/ecma_6/Function/configurable-length.js b/js/src/tests/non262/Function/configurable-length.js similarity index 100% rename from js/src/tests/ecma_6/Function/configurable-length.js rename to js/src/tests/non262/Function/configurable-length.js diff --git a/js/src/tests/ecma_6/Function/construct-bound-proxy-with-many-arguments.js b/js/src/tests/non262/Function/construct-bound-proxy-with-many-arguments.js similarity index 100% rename from js/src/tests/ecma_6/Function/construct-bound-proxy-with-many-arguments.js rename to js/src/tests/non262/Function/construct-bound-proxy-with-many-arguments.js diff --git a/js/src/tests/ecma_6/Function/constructor-binding.js b/js/src/tests/non262/Function/constructor-binding.js similarity index 100% rename from js/src/tests/ecma_6/Function/constructor-binding.js rename to js/src/tests/non262/Function/constructor-binding.js diff --git a/js/src/tests/ecma_6/Function/create-function-parse-before-getprototype.js b/js/src/tests/non262/Function/create-function-parse-before-getprototype.js similarity index 100% rename from js/src/tests/ecma_6/Function/create-function-parse-before-getprototype.js rename to js/src/tests/non262/Function/create-function-parse-before-getprototype.js diff --git a/js/src/tests/ecma_5/Function/function-bind.js b/js/src/tests/non262/Function/function-bind.js similarity index 100% rename from js/src/tests/ecma_5/Function/function-bind.js rename to js/src/tests/non262/Function/function-bind.js diff --git a/js/src/tests/ecma_5/Function/function-call.js b/js/src/tests/non262/Function/function-call.js similarity index 100% rename from js/src/tests/ecma_5/Function/function-call.js rename to js/src/tests/non262/Function/function-call.js diff --git a/js/src/tests/ecma_5/Function/function-caller.js b/js/src/tests/non262/Function/function-caller.js similarity index 100% rename from js/src/tests/ecma_5/Function/function-caller.js rename to js/src/tests/non262/Function/function-caller.js diff --git a/js/src/tests/ecma_6/Function/function-constructor-toString-arguments-before-parsing-params.js b/js/src/tests/non262/Function/function-constructor-toString-arguments-before-parsing-params.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-constructor-toString-arguments-before-parsing-params.js rename to js/src/tests/non262/Function/function-constructor-toString-arguments-before-parsing-params.js diff --git a/js/src/tests/ecma_6/Function/function-name-assignment.js b/js/src/tests/non262/Function/function-name-assignment.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name-assignment.js rename to js/src/tests/non262/Function/function-name-assignment.js diff --git a/js/src/tests/ecma_6/Function/function-name-binding.js b/js/src/tests/non262/Function/function-name-binding.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name-binding.js rename to js/src/tests/non262/Function/function-name-binding.js diff --git a/js/src/tests/ecma_6/Function/function-name-class.js b/js/src/tests/non262/Function/function-name-class.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name-class.js rename to js/src/tests/non262/Function/function-name-class.js diff --git a/js/src/tests/ecma_6/Function/function-name-for.js b/js/src/tests/non262/Function/function-name-for.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name-for.js rename to js/src/tests/non262/Function/function-name-for.js diff --git a/js/src/tests/ecma_6/Function/function-name-method.js b/js/src/tests/non262/Function/function-name-method.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name-method.js rename to js/src/tests/non262/Function/function-name-method.js diff --git a/js/src/tests/ecma_6/Function/function-name-property.js b/js/src/tests/non262/Function/function-name-property.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name-property.js rename to js/src/tests/non262/Function/function-name-property.js diff --git a/js/src/tests/ecma_6/Function/function-name.js b/js/src/tests/non262/Function/function-name.js similarity index 100% rename from js/src/tests/ecma_6/Function/function-name.js rename to js/src/tests/non262/Function/function-name.js diff --git a/js/src/tests/ecma_6/Function/has-instance-jitted.js b/js/src/tests/non262/Function/has-instance-jitted.js similarity index 100% rename from js/src/tests/ecma_6/Function/has-instance-jitted.js rename to js/src/tests/non262/Function/has-instance-jitted.js diff --git a/js/src/tests/ecma_6/Function/has-instance.js b/js/src/tests/non262/Function/has-instance.js similarity index 100% rename from js/src/tests/ecma_6/Function/has-instance.js rename to js/src/tests/non262/Function/has-instance.js diff --git a/js/src/tests/ecma_6/Function/implicit-this-in-parameter-expression.js b/js/src/tests/non262/Function/implicit-this-in-parameter-expression.js similarity index 100% rename from js/src/tests/ecma_6/Function/implicit-this-in-parameter-expression.js rename to js/src/tests/non262/Function/implicit-this-in-parameter-expression.js diff --git a/js/src/tests/ecma_6/Function/invalid-parameter-list.js b/js/src/tests/non262/Function/invalid-parameter-list.js similarity index 100% rename from js/src/tests/ecma_6/Function/invalid-parameter-list.js rename to js/src/tests/non262/Function/invalid-parameter-list.js diff --git a/js/src/tests/ecma_6/Function/length-with-destructuring-and-parameter-expression.js b/js/src/tests/non262/Function/length-with-destructuring-and-parameter-expression.js similarity index 100% rename from js/src/tests/ecma_6/Function/length-with-destructuring-and-parameter-expression.js rename to js/src/tests/non262/Function/length-with-destructuring-and-parameter-expression.js diff --git a/js/src/tests/ecma_6/Function/line-terminator-before-arrow.js b/js/src/tests/non262/Function/line-terminator-before-arrow.js similarity index 100% rename from js/src/tests/ecma_6/Function/line-terminator-before-arrow.js rename to js/src/tests/non262/Function/line-terminator-before-arrow.js diff --git a/js/src/tests/ecma_6/Function/method-has-duplicated.js b/js/src/tests/non262/Function/method-has-duplicated.js similarity index 100% rename from js/src/tests/ecma_6/Function/method-has-duplicated.js rename to js/src/tests/non262/Function/method-has-duplicated.js diff --git a/js/src/tests/ecma_6/Function/parameter-redeclaration.js b/js/src/tests/non262/Function/parameter-redeclaration.js similarity index 100% rename from js/src/tests/ecma_6/Function/parameter-redeclaration.js rename to js/src/tests/non262/Function/parameter-redeclaration.js diff --git a/js/src/tests/ecma_5/Function/redefine-arguments-length.js b/js/src/tests/non262/Function/redefine-arguments-length.js similarity index 100% rename from js/src/tests/ecma_5/Function/redefine-arguments-length.js rename to js/src/tests/non262/Function/redefine-arguments-length.js diff --git a/js/src/tests/js1_5/Function/regress-123371.js b/js/src/tests/non262/Function/regress-123371.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-123371.js rename to js/src/tests/non262/Function/regress-123371.js diff --git a/js/src/tests/ecma_3/Function/regress-131964.js b/js/src/tests/non262/Function/regress-131964.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-131964.js rename to js/src/tests/non262/Function/regress-131964.js diff --git a/js/src/tests/ecma_3/Function/regress-137181.js b/js/src/tests/non262/Function/regress-137181.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-137181.js rename to js/src/tests/non262/Function/regress-137181.js diff --git a/js/src/tests/js1_5/Function/regress-178389.js b/js/src/tests/non262/Function/regress-178389.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-178389.js rename to js/src/tests/non262/Function/regress-178389.js diff --git a/js/src/tests/ecma_3/Function/regress-193555.js b/js/src/tests/non262/Function/regress-193555.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-193555.js rename to js/src/tests/non262/Function/regress-193555.js diff --git a/js/src/tests/js1_5/Function/regress-222029-001.js b/js/src/tests/non262/Function/regress-222029-001.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-222029-001.js rename to js/src/tests/non262/Function/regress-222029-001.js diff --git a/js/src/tests/js1_5/Function/regress-222029-002.js b/js/src/tests/non262/Function/regress-222029-002.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-222029-002.js rename to js/src/tests/non262/Function/regress-222029-002.js diff --git a/js/src/tests/js1_5/Function/regress-292215.js b/js/src/tests/non262/Function/regress-292215.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-292215.js rename to js/src/tests/non262/Function/regress-292215.js diff --git a/js/src/tests/ecma_3/Function/regress-313570.js b/js/src/tests/non262/Function/regress-313570.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-313570.js rename to js/src/tests/non262/Function/regress-313570.js diff --git a/js/src/tests/js1_5/Function/regress-338001.js b/js/src/tests/non262/Function/regress-338001.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-338001.js rename to js/src/tests/non262/Function/regress-338001.js diff --git a/js/src/tests/js1_5/Function/regress-338121-01.js b/js/src/tests/non262/Function/regress-338121-01.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-338121-01.js rename to js/src/tests/non262/Function/regress-338121-01.js diff --git a/js/src/tests/js1_5/Function/regress-338121-02.js b/js/src/tests/non262/Function/regress-338121-02.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-338121-02.js rename to js/src/tests/non262/Function/regress-338121-02.js diff --git a/js/src/tests/js1_5/Function/regress-338121-03.js b/js/src/tests/non262/Function/regress-338121-03.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-338121-03.js rename to js/src/tests/non262/Function/regress-338121-03.js diff --git a/js/src/tests/js1_5/Function/regress-344052.js b/js/src/tests/non262/Function/regress-344052.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-344052.js rename to js/src/tests/non262/Function/regress-344052.js diff --git a/js/src/tests/js1_5/Function/regress-364023.js b/js/src/tests/non262/Function/regress-364023.js similarity index 100% rename from js/src/tests/js1_5/Function/regress-364023.js rename to js/src/tests/non262/Function/regress-364023.js diff --git a/js/src/tests/ecma_3/Function/regress-49286.js b/js/src/tests/non262/Function/regress-49286.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-49286.js rename to js/src/tests/non262/Function/regress-49286.js diff --git a/js/src/tests/ecma_3/FunExpr/regress-518103.js b/js/src/tests/non262/Function/regress-518103.js similarity index 100% rename from js/src/tests/ecma_3/FunExpr/regress-518103.js rename to js/src/tests/non262/Function/regress-518103.js diff --git a/js/src/tests/ecma_3/FunExpr/regress-524826.js b/js/src/tests/non262/Function/regress-524826.js similarity index 100% rename from js/src/tests/ecma_3/FunExpr/regress-524826.js rename to js/src/tests/non262/Function/regress-524826.js diff --git a/js/src/tests/ecma_3/FunExpr/regress-528082.js b/js/src/tests/non262/Function/regress-528082.js similarity index 100% rename from js/src/tests/ecma_3/FunExpr/regress-528082.js rename to js/src/tests/non262/Function/regress-528082.js diff --git a/js/src/tests/ecma_3/FunExpr/regress-533254.js b/js/src/tests/non262/Function/regress-533254.js similarity index 100% rename from js/src/tests/ecma_3/FunExpr/regress-533254.js rename to js/src/tests/non262/Function/regress-533254.js diff --git a/js/src/tests/ecma_3/FunExpr/regress-545980.js b/js/src/tests/non262/Function/regress-545980.js similarity index 100% rename from js/src/tests/ecma_3/FunExpr/regress-545980.js rename to js/src/tests/non262/Function/regress-545980.js diff --git a/js/src/tests/ecma_3/Function/regress-58274.js b/js/src/tests/non262/Function/regress-58274.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-58274.js rename to js/src/tests/non262/Function/regress-58274.js diff --git a/js/src/tests/ecma_3/Function/regress-85880.js b/js/src/tests/non262/Function/regress-85880.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-85880.js rename to js/src/tests/non262/Function/regress-85880.js diff --git a/js/src/tests/ecma_3/Function/regress-94506.js b/js/src/tests/non262/Function/regress-94506.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-94506.js rename to js/src/tests/non262/Function/regress-94506.js diff --git a/js/src/tests/ecma_3/Function/regress-97921.js b/js/src/tests/non262/Function/regress-97921.js similarity index 100% rename from js/src/tests/ecma_3/Function/regress-97921.js rename to js/src/tests/non262/Function/regress-97921.js diff --git a/js/src/tests/ecma_6/Function/rest-has-duplicated.js b/js/src/tests/non262/Function/rest-has-duplicated.js similarity index 100% rename from js/src/tests/ecma_6/Function/rest-has-duplicated.js rename to js/src/tests/non262/Function/rest-has-duplicated.js diff --git a/js/src/tests/ecma_6/Function/rest-parameter-names.js b/js/src/tests/non262/Function/rest-parameter-names.js similarity index 100% rename from js/src/tests/ecma_6/Function/rest-parameter-names.js rename to js/src/tests/non262/Function/rest-parameter-names.js diff --git a/js/src/tests/ecma_6/Function/return-finally.js b/js/src/tests/non262/Function/return-finally.js similarity index 100% rename from js/src/tests/ecma_6/Function/return-finally.js rename to js/src/tests/non262/Function/return-finally.js diff --git a/js/src/tests/Intl/String/shell.js b/js/src/tests/non262/Function/shell.js similarity index 100% rename from js/src/tests/Intl/String/shell.js rename to js/src/tests/non262/Function/shell.js diff --git a/js/src/tests/ecma_6/Function/spread-iterator-primitive.js b/js/src/tests/non262/Function/spread-iterator-primitive.js similarity index 100% rename from js/src/tests/ecma_6/Function/spread-iterator-primitive.js rename to js/src/tests/non262/Function/spread-iterator-primitive.js diff --git a/js/src/tests/ecma_5/Function/strict-arguments.js b/js/src/tests/non262/Function/strict-arguments.js similarity index 100% rename from js/src/tests/ecma_5/Function/strict-arguments.js rename to js/src/tests/non262/Function/strict-arguments.js diff --git a/js/src/tests/ecma_6/Function/throw-type-error.js b/js/src/tests/non262/Function/throw-type-error.js similarity index 100% rename from js/src/tests/ecma_6/Function/throw-type-error.js rename to js/src/tests/non262/Function/throw-type-error.js diff --git a/js/src/tests/ecma/Boolean/browser.js b/js/src/tests/non262/GC/browser.js similarity index 100% rename from js/src/tests/ecma/Boolean/browser.js rename to js/src/tests/non262/GC/browser.js diff --git a/js/src/tests/js1_5/GC/regress-104584.js b/js/src/tests/non262/GC/regress-104584.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-104584.js rename to js/src/tests/non262/GC/regress-104584.js diff --git a/js/src/tests/js1_5/GC/regress-203278-2.js b/js/src/tests/non262/GC/regress-203278-2.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-203278-2.js rename to js/src/tests/non262/GC/regress-203278-2.js diff --git a/js/src/tests/js1_5/GC/regress-203278-3.js b/js/src/tests/non262/GC/regress-203278-3.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-203278-3.js rename to js/src/tests/non262/GC/regress-203278-3.js diff --git a/js/src/tests/js1_5/GC/regress-278725.js b/js/src/tests/non262/GC/regress-278725.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-278725.js rename to js/src/tests/non262/GC/regress-278725.js diff --git a/js/src/tests/js1_5/GC/regress-306788.js b/js/src/tests/non262/GC/regress-306788.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-306788.js rename to js/src/tests/non262/GC/regress-306788.js diff --git a/js/src/tests/js1_5/GC/regress-311497.js b/js/src/tests/non262/GC/regress-311497.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-311497.js rename to js/src/tests/non262/GC/regress-311497.js diff --git a/js/src/tests/js1_5/GC/regress-313276.js b/js/src/tests/non262/GC/regress-313276.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-313276.js rename to js/src/tests/non262/GC/regress-313276.js diff --git a/js/src/tests/js1_5/GC/regress-313479.js b/js/src/tests/non262/GC/regress-313479.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-313479.js rename to js/src/tests/non262/GC/regress-313479.js diff --git a/js/src/tests/js1_5/GC/regress-316885-01.js b/js/src/tests/non262/GC/regress-316885-01.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-316885-01.js rename to js/src/tests/non262/GC/regress-316885-01.js diff --git a/js/src/tests/js1_5/GC/regress-316885-02.js b/js/src/tests/non262/GC/regress-316885-02.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-316885-02.js rename to js/src/tests/non262/GC/regress-316885-02.js diff --git a/js/src/tests/js1_5/GC/regress-316885-03.js b/js/src/tests/non262/GC/regress-316885-03.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-316885-03.js rename to js/src/tests/non262/GC/regress-316885-03.js diff --git a/js/src/tests/js1_5/GC/regress-319980-01.js b/js/src/tests/non262/GC/regress-319980-01.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-319980-01.js rename to js/src/tests/non262/GC/regress-319980-01.js diff --git a/js/src/tests/js1_5/GC/regress-324278.js b/js/src/tests/non262/GC/regress-324278.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-324278.js rename to js/src/tests/non262/GC/regress-324278.js diff --git a/js/src/tests/js1_5/GC/regress-331719.js b/js/src/tests/non262/GC/regress-331719.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-331719.js rename to js/src/tests/non262/GC/regress-331719.js diff --git a/js/src/tests/js1_5/GC/regress-338653.js b/js/src/tests/non262/GC/regress-338653.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-338653.js rename to js/src/tests/non262/GC/regress-338653.js diff --git a/js/src/tests/js1_5/GC/regress-341877-01.js b/js/src/tests/non262/GC/regress-341877-01.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-341877-01.js rename to js/src/tests/non262/GC/regress-341877-01.js diff --git a/js/src/tests/js1_5/GC/regress-341877-02.js b/js/src/tests/non262/GC/regress-341877-02.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-341877-02.js rename to js/src/tests/non262/GC/regress-341877-02.js diff --git a/js/src/tests/js1_5/GC/regress-346794.js b/js/src/tests/non262/GC/regress-346794.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-346794.js rename to js/src/tests/non262/GC/regress-346794.js diff --git a/js/src/tests/js1_5/GC/regress-348532.js b/js/src/tests/non262/GC/regress-348532.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-348532.js rename to js/src/tests/non262/GC/regress-348532.js diff --git a/js/src/tests/js1_5/GC/regress-352606.js b/js/src/tests/non262/GC/regress-352606.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-352606.js rename to js/src/tests/non262/GC/regress-352606.js diff --git a/js/src/tests/js1_5/GC/regress-383269-01.js b/js/src/tests/non262/GC/regress-383269-01.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-383269-01.js rename to js/src/tests/non262/GC/regress-383269-01.js diff --git a/js/src/tests/js1_5/GC/regress-383269-02.js b/js/src/tests/non262/GC/regress-383269-02.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-383269-02.js rename to js/src/tests/non262/GC/regress-383269-02.js diff --git a/js/src/tests/js1_5/GC/regress-390078.js b/js/src/tests/non262/GC/regress-390078.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-390078.js rename to js/src/tests/non262/GC/regress-390078.js diff --git a/js/src/tests/js1_5/GC/regress-418128.js b/js/src/tests/non262/GC/regress-418128.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-418128.js rename to js/src/tests/non262/GC/regress-418128.js diff --git a/js/src/tests/js1_5/GC/regress-440558.js b/js/src/tests/non262/GC/regress-440558.js similarity index 100% rename from js/src/tests/js1_5/GC/regress-440558.js rename to js/src/tests/non262/GC/regress-440558.js diff --git a/js/src/tests/Intl/TypedArray/shell.js b/js/src/tests/non262/GC/shell.js similarity index 100% rename from js/src/tests/Intl/TypedArray/shell.js rename to js/src/tests/non262/GC/shell.js diff --git a/js/src/tests/Intl/extensions/shell.js b/js/src/tests/non262/Intl/Array/shell.js similarity index 100% rename from js/src/tests/Intl/extensions/shell.js rename to js/src/tests/non262/Intl/Array/shell.js diff --git a/js/src/tests/Intl/Array/toLocaleString-date.js b/js/src/tests/non262/Intl/Array/toLocaleString-date.js similarity index 100% rename from js/src/tests/Intl/Array/toLocaleString-date.js rename to js/src/tests/non262/Intl/Array/toLocaleString-date.js diff --git a/js/src/tests/Intl/Array/toLocaleString-number.js b/js/src/tests/non262/Intl/Array/toLocaleString-number.js similarity index 100% rename from js/src/tests/Intl/Array/toLocaleString-number.js rename to js/src/tests/non262/Intl/Array/toLocaleString-number.js diff --git a/js/src/tests/Intl/Array/toLocaleString.js b/js/src/tests/non262/Intl/Array/toLocaleString.js similarity index 100% rename from js/src/tests/Intl/Array/toLocaleString.js rename to js/src/tests/non262/Intl/Array/toLocaleString.js diff --git a/js/src/tests/ecma/Date/browser.js b/js/src/tests/non262/Intl/Collator/browser.js similarity index 100% rename from js/src/tests/ecma/Date/browser.js rename to js/src/tests/non262/Intl/Collator/browser.js diff --git a/js/src/tests/Intl/Collator/call.js b/js/src/tests/non262/Intl/Collator/call.js similarity index 100% rename from js/src/tests/Intl/Collator/call.js rename to js/src/tests/non262/Intl/Collator/call.js diff --git a/js/src/tests/Intl/Collator/caseFirst.js b/js/src/tests/non262/Intl/Collator/caseFirst.js similarity index 100% rename from js/src/tests/Intl/Collator/caseFirst.js rename to js/src/tests/non262/Intl/Collator/caseFirst.js diff --git a/js/src/tests/Intl/Collator/compare.js b/js/src/tests/non262/Intl/Collator/compare.js similarity index 100% rename from js/src/tests/Intl/Collator/compare.js rename to js/src/tests/non262/Intl/Collator/compare.js diff --git a/js/src/tests/Intl/Collator/construct-newtarget.js b/js/src/tests/non262/Intl/Collator/construct-newtarget.js similarity index 100% rename from js/src/tests/Intl/Collator/construct-newtarget.js rename to js/src/tests/non262/Intl/Collator/construct-newtarget.js diff --git a/js/src/tests/Intl/shell.js b/js/src/tests/non262/Intl/Collator/shell.js similarity index 100% rename from js/src/tests/Intl/shell.js rename to js/src/tests/non262/Intl/Collator/shell.js diff --git a/js/src/tests/Intl/Collator/supportedLocalesOf.js b/js/src/tests/non262/Intl/Collator/supportedLocalesOf.js similarity index 100% rename from js/src/tests/Intl/Collator/supportedLocalesOf.js rename to js/src/tests/non262/Intl/Collator/supportedLocalesOf.js diff --git a/js/src/tests/Intl/Collator/toStringTag.js b/js/src/tests/non262/Intl/Collator/toStringTag.js similarity index 100% rename from js/src/tests/Intl/Collator/toStringTag.js rename to js/src/tests/non262/Intl/Collator/toStringTag.js diff --git a/js/src/tests/ecma/ExecutionContexts/browser.js b/js/src/tests/non262/Intl/Date/browser.js similarity index 100% rename from js/src/tests/ecma/ExecutionContexts/browser.js rename to js/src/tests/non262/Intl/Date/browser.js diff --git a/js/src/tests/ecma/Array/shell.js b/js/src/tests/non262/Intl/Date/shell.js similarity index 100% rename from js/src/tests/ecma/Array/shell.js rename to js/src/tests/non262/Intl/Date/shell.js diff --git a/js/src/tests/Intl/Date/toLocaleDateString_timeZone.js b/js/src/tests/non262/Intl/Date/toLocaleDateString_timeZone.js similarity index 100% rename from js/src/tests/Intl/Date/toLocaleDateString_timeZone.js rename to js/src/tests/non262/Intl/Date/toLocaleDateString_timeZone.js diff --git a/js/src/tests/Intl/Date/toLocaleString_timeZone.js b/js/src/tests/non262/Intl/Date/toLocaleString_timeZone.js similarity index 100% rename from js/src/tests/Intl/Date/toLocaleString_timeZone.js rename to js/src/tests/non262/Intl/Date/toLocaleString_timeZone.js diff --git a/js/src/tests/Intl/Date/toLocaleTimeString_timeZone.js b/js/src/tests/non262/Intl/Date/toLocaleTimeString_timeZone.js similarity index 100% rename from js/src/tests/Intl/Date/toLocaleTimeString_timeZone.js rename to js/src/tests/non262/Intl/Date/toLocaleTimeString_timeZone.js diff --git a/js/src/tests/ecma_6/Date/browser.js b/js/src/tests/non262/Intl/DateTimeFormat/browser.js similarity index 100% rename from js/src/tests/ecma_6/Date/browser.js rename to js/src/tests/non262/Intl/DateTimeFormat/browser.js diff --git a/js/src/tests/Intl/DateTimeFormat/calendar-aliases.js b/js/src/tests/non262/Intl/DateTimeFormat/calendar-aliases.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/calendar-aliases.js rename to js/src/tests/non262/Intl/DateTimeFormat/calendar-aliases.js diff --git a/js/src/tests/Intl/DateTimeFormat/call.js b/js/src/tests/non262/Intl/DateTimeFormat/call.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/call.js rename to js/src/tests/non262/Intl/DateTimeFormat/call.js diff --git a/js/src/tests/Intl/DateTimeFormat/construct-newtarget.js b/js/src/tests/non262/Intl/DateTimeFormat/construct-newtarget.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/construct-newtarget.js rename to js/src/tests/non262/Intl/DateTimeFormat/construct-newtarget.js diff --git a/js/src/tests/Intl/DateTimeFormat/format.js b/js/src/tests/non262/Intl/DateTimeFormat/format.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/format.js rename to js/src/tests/non262/Intl/DateTimeFormat/format.js diff --git a/js/src/tests/Intl/DateTimeFormat/formatToParts.js b/js/src/tests/non262/Intl/DateTimeFormat/formatToParts.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/formatToParts.js rename to js/src/tests/non262/Intl/DateTimeFormat/formatToParts.js diff --git a/js/src/tests/Intl/DateTimeFormat/format_timeZone.js b/js/src/tests/non262/Intl/DateTimeFormat/format_timeZone.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/format_timeZone.js rename to js/src/tests/non262/Intl/DateTimeFormat/format_timeZone.js diff --git a/js/src/tests/Intl/DateTimeFormat/hourCycle.js b/js/src/tests/non262/Intl/DateTimeFormat/hourCycle.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/hourCycle.js rename to js/src/tests/non262/Intl/DateTimeFormat/hourCycle.js diff --git a/js/src/tests/Intl/DateTimeFormat/islamic.js b/js/src/tests/non262/Intl/DateTimeFormat/islamic.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/islamic.js rename to js/src/tests/non262/Intl/DateTimeFormat/islamic.js diff --git a/js/src/tests/Intl/DateTimeFormat/mozExtensions.js b/js/src/tests/non262/Intl/DateTimeFormat/mozExtensions.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/mozExtensions.js rename to js/src/tests/non262/Intl/DateTimeFormat/mozExtensions.js diff --git a/js/src/tests/ecma/Boolean/shell.js b/js/src/tests/non262/Intl/DateTimeFormat/shell.js similarity index 100% rename from js/src/tests/ecma/Boolean/shell.js rename to js/src/tests/non262/Intl/DateTimeFormat/shell.js diff --git a/js/src/tests/Intl/DateTimeFormat/supportedLocalesOf.js b/js/src/tests/non262/Intl/DateTimeFormat/supportedLocalesOf.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/supportedLocalesOf.js rename to js/src/tests/non262/Intl/DateTimeFormat/supportedLocalesOf.js diff --git a/js/src/tests/Intl/DateTimeFormat/timeZone.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/timeZone.js rename to js/src/tests/non262/Intl/DateTimeFormat/timeZone.js diff --git a/js/src/tests/Intl/DateTimeFormat/timeZone_backward_links.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/timeZone_backward_links.js rename to js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js diff --git a/js/src/tests/Intl/DateTimeFormat/timeZone_backzone.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/timeZone_backzone.js rename to js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js diff --git a/js/src/tests/Intl/DateTimeFormat/timeZone_backzone_links.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/timeZone_backzone_links.js rename to js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js diff --git a/js/src/tests/Intl/DateTimeFormat/timeZone_notbackward_links.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/timeZone_notbackward_links.js rename to js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js diff --git a/js/src/tests/Intl/DateTimeFormat/toStringTag.js b/js/src/tests/non262/Intl/DateTimeFormat/toStringTag.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/toStringTag.js rename to js/src/tests/non262/Intl/DateTimeFormat/toStringTag.js diff --git a/js/src/tests/Intl/DateTimeFormat/tz-environment-variable.js b/js/src/tests/non262/Intl/DateTimeFormat/tz-environment-variable.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/tz-environment-variable.js rename to js/src/tests/non262/Intl/DateTimeFormat/tz-environment-variable.js diff --git a/js/src/tests/Intl/DateTimeFormat/unwrapping.js b/js/src/tests/non262/Intl/DateTimeFormat/unwrapping.js similarity index 100% rename from js/src/tests/Intl/DateTimeFormat/unwrapping.js rename to js/src/tests/non262/Intl/DateTimeFormat/unwrapping.js diff --git a/js/src/tests/Intl/NumberFormat/StringBuffer.js b/js/src/tests/non262/Intl/NumberFormat/StringBuffer.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/StringBuffer.js rename to js/src/tests/non262/Intl/NumberFormat/StringBuffer.js diff --git a/js/src/tests/ecma/Expressions/browser.js b/js/src/tests/non262/Intl/NumberFormat/browser.js similarity index 100% rename from js/src/tests/ecma/Expressions/browser.js rename to js/src/tests/non262/Intl/NumberFormat/browser.js diff --git a/js/src/tests/Intl/NumberFormat/call.js b/js/src/tests/non262/Intl/NumberFormat/call.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/call.js rename to js/src/tests/non262/Intl/NumberFormat/call.js diff --git a/js/src/tests/Intl/NumberFormat/construct-newtarget.js b/js/src/tests/non262/Intl/NumberFormat/construct-newtarget.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/construct-newtarget.js rename to js/src/tests/non262/Intl/NumberFormat/construct-newtarget.js diff --git a/js/src/tests/Intl/NumberFormat/duplicate-singleton-variant.js b/js/src/tests/non262/Intl/NumberFormat/duplicate-singleton-variant.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/duplicate-singleton-variant.js rename to js/src/tests/non262/Intl/NumberFormat/duplicate-singleton-variant.js diff --git a/js/src/tests/Intl/NumberFormat/format-as-code-or-name.js b/js/src/tests/non262/Intl/NumberFormat/format-as-code-or-name.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/format-as-code-or-name.js rename to js/src/tests/non262/Intl/NumberFormat/format-as-code-or-name.js diff --git a/js/src/tests/Intl/NumberFormat/format.js b/js/src/tests/non262/Intl/NumberFormat/format.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/format.js rename to js/src/tests/non262/Intl/NumberFormat/format.js diff --git a/js/src/tests/Intl/NumberFormat/formatToParts.js b/js/src/tests/non262/Intl/NumberFormat/formatToParts.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/formatToParts.js rename to js/src/tests/non262/Intl/NumberFormat/formatToParts.js diff --git a/js/src/tests/Intl/NumberFormat/negativeZeroFractionDigits.js b/js/src/tests/non262/Intl/NumberFormat/negativeZeroFractionDigits.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/negativeZeroFractionDigits.js rename to js/src/tests/non262/Intl/NumberFormat/negativeZeroFractionDigits.js diff --git a/js/src/tests/Intl/NumberFormat/options-emulate-undefined.js b/js/src/tests/non262/Intl/NumberFormat/options-emulate-undefined.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/options-emulate-undefined.js rename to js/src/tests/non262/Intl/NumberFormat/options-emulate-undefined.js diff --git a/js/src/tests/Intl/NumberFormat/remove-unicode-extensions.js b/js/src/tests/non262/Intl/NumberFormat/remove-unicode-extensions.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/remove-unicode-extensions.js rename to js/src/tests/non262/Intl/NumberFormat/remove-unicode-extensions.js diff --git a/js/src/tests/ecma/ExecutionContexts/shell.js b/js/src/tests/non262/Intl/NumberFormat/shell.js similarity index 100% rename from js/src/tests/ecma/ExecutionContexts/shell.js rename to js/src/tests/non262/Intl/NumberFormat/shell.js diff --git a/js/src/tests/Intl/NumberFormat/significantDigitsOfZero.js b/js/src/tests/non262/Intl/NumberFormat/significantDigitsOfZero.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/significantDigitsOfZero.js rename to js/src/tests/non262/Intl/NumberFormat/significantDigitsOfZero.js diff --git a/js/src/tests/Intl/NumberFormat/supportedLocalesOf.js b/js/src/tests/non262/Intl/NumberFormat/supportedLocalesOf.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/supportedLocalesOf.js rename to js/src/tests/non262/Intl/NumberFormat/supportedLocalesOf.js diff --git a/js/src/tests/Intl/NumberFormat/toStringTag.js b/js/src/tests/non262/Intl/NumberFormat/toStringTag.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/toStringTag.js rename to js/src/tests/non262/Intl/NumberFormat/toStringTag.js diff --git a/js/src/tests/Intl/NumberFormat/unwrapping.js b/js/src/tests/non262/Intl/NumberFormat/unwrapping.js similarity index 100% rename from js/src/tests/Intl/NumberFormat/unwrapping.js rename to js/src/tests/non262/Intl/NumberFormat/unwrapping.js diff --git a/js/src/tests/ecma/FunctionObjects/browser.js b/js/src/tests/non262/Intl/PluralRules/browser.js similarity index 100% rename from js/src/tests/ecma/FunctionObjects/browser.js rename to js/src/tests/non262/Intl/PluralRules/browser.js diff --git a/js/src/tests/Intl/PluralRules/call.js b/js/src/tests/non262/Intl/PluralRules/call.js similarity index 100% rename from js/src/tests/Intl/PluralRules/call.js rename to js/src/tests/non262/Intl/PluralRules/call.js diff --git a/js/src/tests/Intl/PluralRules/construct-newtarget.js b/js/src/tests/non262/Intl/PluralRules/construct-newtarget.js similarity index 100% rename from js/src/tests/Intl/PluralRules/construct-newtarget.js rename to js/src/tests/non262/Intl/PluralRules/construct-newtarget.js diff --git a/js/src/tests/Intl/PluralRules/negativeZeroFractionDigits.js b/js/src/tests/non262/Intl/PluralRules/negativeZeroFractionDigits.js similarity index 100% rename from js/src/tests/Intl/PluralRules/negativeZeroFractionDigits.js rename to js/src/tests/non262/Intl/PluralRules/negativeZeroFractionDigits.js diff --git a/js/src/tests/Intl/PluralRules/pluralrules.js b/js/src/tests/non262/Intl/PluralRules/pluralrules.js similarity index 100% rename from js/src/tests/Intl/PluralRules/pluralrules.js rename to js/src/tests/non262/Intl/PluralRules/pluralrules.js diff --git a/js/src/tests/Intl/PluralRules/resolvedOptions-overridden-species.js b/js/src/tests/non262/Intl/PluralRules/resolvedOptions-overridden-species.js similarity index 100% rename from js/src/tests/Intl/PluralRules/resolvedOptions-overridden-species.js rename to js/src/tests/non262/Intl/PluralRules/resolvedOptions-overridden-species.js diff --git a/js/src/tests/Intl/PluralRules/select.js b/js/src/tests/non262/Intl/PluralRules/select.js similarity index 100% rename from js/src/tests/Intl/PluralRules/select.js rename to js/src/tests/non262/Intl/PluralRules/select.js diff --git a/js/src/tests/ecma/Expressions/shell.js b/js/src/tests/non262/Intl/PluralRules/shell.js similarity index 100% rename from js/src/tests/ecma/Expressions/shell.js rename to js/src/tests/non262/Intl/PluralRules/shell.js diff --git a/js/src/tests/Intl/PluralRules/supportedLocalesOf.js b/js/src/tests/non262/Intl/PluralRules/supportedLocalesOf.js similarity index 100% rename from js/src/tests/Intl/PluralRules/supportedLocalesOf.js rename to js/src/tests/non262/Intl/PluralRules/supportedLocalesOf.js diff --git a/js/src/tests/Intl/README.txt b/js/src/tests/non262/Intl/README.txt similarity index 100% rename from js/src/tests/Intl/README.txt rename to js/src/tests/non262/Intl/README.txt diff --git a/js/src/tests/ecma/GlobalObject/browser.js b/js/src/tests/non262/Intl/RelativeTimeFormat/browser.js similarity index 100% rename from js/src/tests/ecma/GlobalObject/browser.js rename to js/src/tests/non262/Intl/RelativeTimeFormat/browser.js diff --git a/js/src/tests/Intl/RelativeTimeFormat/construct-newtarget.js b/js/src/tests/non262/Intl/RelativeTimeFormat/construct-newtarget.js similarity index 100% rename from js/src/tests/Intl/RelativeTimeFormat/construct-newtarget.js rename to js/src/tests/non262/Intl/RelativeTimeFormat/construct-newtarget.js diff --git a/js/src/tests/Intl/RelativeTimeFormat/format.js b/js/src/tests/non262/Intl/RelativeTimeFormat/format.js similarity index 100% rename from js/src/tests/Intl/RelativeTimeFormat/format.js rename to js/src/tests/non262/Intl/RelativeTimeFormat/format.js diff --git a/js/src/tests/Intl/RelativeTimeFormat/relativetimeformat.js b/js/src/tests/non262/Intl/RelativeTimeFormat/relativetimeformat.js similarity index 100% rename from js/src/tests/Intl/RelativeTimeFormat/relativetimeformat.js rename to js/src/tests/non262/Intl/RelativeTimeFormat/relativetimeformat.js diff --git a/js/src/tests/ecma/FunctionObjects/shell.js b/js/src/tests/non262/Intl/RelativeTimeFormat/shell.js similarity index 100% rename from js/src/tests/ecma/FunctionObjects/shell.js rename to js/src/tests/non262/Intl/RelativeTimeFormat/shell.js diff --git a/js/src/tests/Intl/RelativeTimeFormat/supportedLocalesOf.js b/js/src/tests/non262/Intl/RelativeTimeFormat/supportedLocalesOf.js similarity index 100% rename from js/src/tests/Intl/RelativeTimeFormat/supportedLocalesOf.js rename to js/src/tests/non262/Intl/RelativeTimeFormat/supportedLocalesOf.js diff --git a/js/src/tests/ecma/GlobalObject/shell.js b/js/src/tests/non262/Intl/String/shell.js similarity index 100% rename from js/src/tests/ecma/GlobalObject/shell.js rename to js/src/tests/non262/Intl/String/shell.js diff --git a/js/src/tests/Intl/String/toLocaleLowerCase.js b/js/src/tests/non262/Intl/String/toLocaleLowerCase.js similarity index 100% rename from js/src/tests/Intl/String/toLocaleLowerCase.js rename to js/src/tests/non262/Intl/String/toLocaleLowerCase.js diff --git a/js/src/tests/Intl/String/toLocaleUpperCase.js b/js/src/tests/non262/Intl/String/toLocaleUpperCase.js similarity index 100% rename from js/src/tests/Intl/String/toLocaleUpperCase.js rename to js/src/tests/non262/Intl/String/toLocaleUpperCase.js diff --git a/js/src/tests/ecma/LexicalConventions/shell.js b/js/src/tests/non262/Intl/TypedArray/shell.js similarity index 100% rename from js/src/tests/ecma/LexicalConventions/shell.js rename to js/src/tests/non262/Intl/TypedArray/shell.js diff --git a/js/src/tests/Intl/TypedArray/toLocaleString.js b/js/src/tests/non262/Intl/TypedArray/toLocaleString.js similarity index 100% rename from js/src/tests/Intl/TypedArray/toLocaleString.js rename to js/src/tests/non262/Intl/TypedArray/toLocaleString.js diff --git a/js/src/tests/ecma/LexicalConventions/browser.js b/js/src/tests/non262/Intl/browser.js similarity index 100% rename from js/src/tests/ecma/LexicalConventions/browser.js rename to js/src/tests/non262/Intl/browser.js diff --git a/js/src/tests/Intl/duplicate-variants.js b/js/src/tests/non262/Intl/duplicate-variants.js similarity index 100% rename from js/src/tests/Intl/duplicate-variants.js rename to js/src/tests/non262/Intl/duplicate-variants.js diff --git a/js/src/tests/ecma/Math/browser.js b/js/src/tests/non262/Intl/extensions/browser.js similarity index 100% rename from js/src/tests/ecma/Math/browser.js rename to js/src/tests/non262/Intl/extensions/browser.js diff --git a/js/src/tests/Intl/extensions/options-value-emulates-undefined.js b/js/src/tests/non262/Intl/extensions/options-value-emulates-undefined.js similarity index 100% rename from js/src/tests/Intl/extensions/options-value-emulates-undefined.js rename to js/src/tests/non262/Intl/extensions/options-value-emulates-undefined.js diff --git a/js/src/tests/ecma/Math/shell.js b/js/src/tests/non262/Intl/extensions/shell.js similarity index 100% rename from js/src/tests/ecma/Math/shell.js rename to js/src/tests/non262/Intl/extensions/shell.js diff --git a/js/src/tests/Intl/fallback-symbol.js b/js/src/tests/non262/Intl/fallback-symbol.js similarity index 100% rename from js/src/tests/Intl/fallback-symbol.js rename to js/src/tests/non262/Intl/fallback-symbol.js diff --git a/js/src/tests/Intl/four-letter-language-codes.js b/js/src/tests/non262/Intl/four-letter-language-codes.js similarity index 100% rename from js/src/tests/Intl/four-letter-language-codes.js rename to js/src/tests/non262/Intl/four-letter-language-codes.js diff --git a/js/src/tests/Intl/getCalendarInfo.js b/js/src/tests/non262/Intl/getCalendarInfo.js similarity index 100% rename from js/src/tests/Intl/getCalendarInfo.js rename to js/src/tests/non262/Intl/getCalendarInfo.js diff --git a/js/src/tests/Intl/getCanonicalLocales-overridden-arg-length.js b/js/src/tests/non262/Intl/getCanonicalLocales-overridden-arg-length.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales-overridden-arg-length.js rename to js/src/tests/non262/Intl/getCanonicalLocales-overridden-arg-length.js diff --git a/js/src/tests/Intl/getCanonicalLocales-overridden-push.js b/js/src/tests/non262/Intl/getCanonicalLocales-overridden-push.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales-overridden-push.js rename to js/src/tests/non262/Intl/getCanonicalLocales-overridden-push.js diff --git a/js/src/tests/Intl/getCanonicalLocales-overridden-set.js b/js/src/tests/non262/Intl/getCanonicalLocales-overridden-set.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales-overridden-set.js rename to js/src/tests/non262/Intl/getCanonicalLocales-overridden-set.js diff --git a/js/src/tests/Intl/getCanonicalLocales-overridden-species.js b/js/src/tests/non262/Intl/getCanonicalLocales-overridden-species.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales-overridden-species.js rename to js/src/tests/non262/Intl/getCanonicalLocales-overridden-species.js diff --git a/js/src/tests/Intl/getCanonicalLocales-weird-cases.js b/js/src/tests/non262/Intl/getCanonicalLocales-weird-cases.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales-weird-cases.js rename to js/src/tests/non262/Intl/getCanonicalLocales-weird-cases.js diff --git a/js/src/tests/Intl/getCanonicalLocales-with-duplicates.js b/js/src/tests/non262/Intl/getCanonicalLocales-with-duplicates.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales-with-duplicates.js rename to js/src/tests/non262/Intl/getCanonicalLocales-with-duplicates.js diff --git a/js/src/tests/Intl/getCanonicalLocales.js b/js/src/tests/non262/Intl/getCanonicalLocales.js similarity index 100% rename from js/src/tests/Intl/getCanonicalLocales.js rename to js/src/tests/non262/Intl/getCanonicalLocales.js diff --git a/js/src/tests/Intl/getDisplayNames.js b/js/src/tests/non262/Intl/getDisplayNames.js similarity index 100% rename from js/src/tests/Intl/getDisplayNames.js rename to js/src/tests/non262/Intl/getDisplayNames.js diff --git a/js/src/tests/Intl/getLocaleInfo.js b/js/src/tests/non262/Intl/getLocaleInfo.js similarity index 100% rename from js/src/tests/Intl/getLocaleInfo.js rename to js/src/tests/non262/Intl/getLocaleInfo.js diff --git a/js/src/tests/ecma/NativeObjects/shell.js b/js/src/tests/non262/Intl/shell.js similarity index 100% rename from js/src/tests/ecma/NativeObjects/shell.js rename to js/src/tests/non262/Intl/shell.js diff --git a/js/src/tests/ecma/NativeObjects/browser.js b/js/src/tests/non262/JSON/browser.js similarity index 100% rename from js/src/tests/ecma/NativeObjects/browser.js rename to js/src/tests/non262/JSON/browser.js diff --git a/js/src/tests/ecma_5/JSON/cyclic-stringify-unrelated.js b/js/src/tests/non262/JSON/cyclic-stringify-unrelated.js similarity index 100% rename from js/src/tests/ecma_5/JSON/cyclic-stringify-unrelated.js rename to js/src/tests/non262/JSON/cyclic-stringify-unrelated.js diff --git a/js/src/tests/ecma_5/JSON/cyclic-stringify.js b/js/src/tests/non262/JSON/cyclic-stringify.js similarity index 100% rename from js/src/tests/ecma_5/JSON/cyclic-stringify.js rename to js/src/tests/non262/JSON/cyclic-stringify.js diff --git a/js/src/tests/ecma_5/JSON/parse-arguments.js b/js/src/tests/non262/JSON/parse-arguments.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-arguments.js rename to js/src/tests/non262/JSON/parse-arguments.js diff --git a/js/src/tests/ecma_5/JSON/parse-array-gc.js b/js/src/tests/non262/JSON/parse-array-gc.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-array-gc.js rename to js/src/tests/non262/JSON/parse-array-gc.js diff --git a/js/src/tests/ecma_5/JSON/parse-crockford-01.js b/js/src/tests/non262/JSON/parse-crockford-01.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-crockford-01.js rename to js/src/tests/non262/JSON/parse-crockford-01.js diff --git a/js/src/tests/ecma_5/JSON/parse-mega-huge-array.js b/js/src/tests/non262/JSON/parse-mega-huge-array.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-mega-huge-array.js rename to js/src/tests/non262/JSON/parse-mega-huge-array.js diff --git a/js/src/tests/ecma_5/JSON/parse-number-syntax.js b/js/src/tests/non262/JSON/parse-number-syntax.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-number-syntax.js rename to js/src/tests/non262/JSON/parse-number-syntax.js diff --git a/js/src/tests/ecma_5/JSON/parse-octal-syntax-error.js b/js/src/tests/non262/JSON/parse-octal-syntax-error.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-octal-syntax-error.js rename to js/src/tests/non262/JSON/parse-octal-syntax-error.js diff --git a/js/src/tests/ecma_5/JSON/parse-primitives.js b/js/src/tests/non262/JSON/parse-primitives.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-primitives.js rename to js/src/tests/non262/JSON/parse-primitives.js diff --git a/js/src/tests/ecma_5/JSON/parse-reviver-array-delete.js b/js/src/tests/non262/JSON/parse-reviver-array-delete.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-reviver-array-delete.js rename to js/src/tests/non262/JSON/parse-reviver-array-delete.js diff --git a/js/src/tests/ecma_5/JSON/parse-reviver.js b/js/src/tests/non262/JSON/parse-reviver.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-reviver.js rename to js/src/tests/non262/JSON/parse-reviver.js diff --git a/js/src/tests/ecma_5/JSON/parse-syntax-errors-01.js b/js/src/tests/non262/JSON/parse-syntax-errors-01.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-syntax-errors-01.js rename to js/src/tests/non262/JSON/parse-syntax-errors-01.js diff --git a/js/src/tests/ecma_5/JSON/parse-syntax-errors-02.js b/js/src/tests/non262/JSON/parse-syntax-errors-02.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-syntax-errors-02.js rename to js/src/tests/non262/JSON/parse-syntax-errors-02.js diff --git a/js/src/tests/ecma_5/JSON/parse-syntax-errors-03.js b/js/src/tests/non262/JSON/parse-syntax-errors-03.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse-syntax-errors-03.js rename to js/src/tests/non262/JSON/parse-syntax-errors-03.js diff --git a/js/src/tests/ecma_5/JSON/parse.js b/js/src/tests/non262/JSON/parse.js similarity index 100% rename from js/src/tests/ecma_5/JSON/parse.js rename to js/src/tests/non262/JSON/parse.js diff --git a/js/src/tests/js1_8_1/JSON/regress-458959.js b/js/src/tests/non262/JSON/regress-458959.js similarity index 100% rename from js/src/tests/js1_8_1/JSON/regress-458959.js rename to js/src/tests/non262/JSON/regress-458959.js diff --git a/js/src/tests/js1_8_1/JSON/regress-459293.js b/js/src/tests/non262/JSON/regress-459293.js similarity index 100% rename from js/src/tests/js1_8_1/JSON/regress-459293.js rename to js/src/tests/non262/JSON/regress-459293.js diff --git a/js/src/tests/ecma_5/JSON/shell.js b/js/src/tests/non262/JSON/shell.js similarity index 100% rename from js/src/tests/ecma_5/JSON/shell.js rename to js/src/tests/non262/JSON/shell.js diff --git a/js/src/tests/ecma_5/JSON/small-codepoints.js b/js/src/tests/non262/JSON/small-codepoints.js similarity index 100% rename from js/src/tests/ecma_5/JSON/small-codepoints.js rename to js/src/tests/non262/JSON/small-codepoints.js diff --git a/js/src/tests/ecma_5/JSON/stringify-boxed-primitives.js b/js/src/tests/non262/JSON/stringify-boxed-primitives.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-boxed-primitives.js rename to js/src/tests/non262/JSON/stringify-boxed-primitives.js diff --git a/js/src/tests/ecma_5/JSON/stringify-call-replacer-once.js b/js/src/tests/non262/JSON/stringify-call-replacer-once.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-call-replacer-once.js rename to js/src/tests/non262/JSON/stringify-call-replacer-once.js diff --git a/js/src/tests/ecma_5/JSON/stringify-call-toJSON-once.js b/js/src/tests/non262/JSON/stringify-call-toJSON-once.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-call-toJSON-once.js rename to js/src/tests/non262/JSON/stringify-call-toJSON-once.js diff --git a/js/src/tests/ecma_5/JSON/stringify-dropping-elements.js b/js/src/tests/non262/JSON/stringify-dropping-elements.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-dropping-elements.js rename to js/src/tests/non262/JSON/stringify-dropping-elements.js diff --git a/js/src/tests/ecma_5/JSON/stringify-gap.js b/js/src/tests/non262/JSON/stringify-gap.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-gap.js rename to js/src/tests/non262/JSON/stringify-gap.js diff --git a/js/src/tests/ecma_5/JSON/stringify-ignore-noncallable-toJSON.js b/js/src/tests/non262/JSON/stringify-ignore-noncallable-toJSON.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-ignore-noncallable-toJSON.js rename to js/src/tests/non262/JSON/stringify-ignore-noncallable-toJSON.js diff --git a/js/src/tests/ecma_5/JSON/stringify-large-replacer-array.js b/js/src/tests/non262/JSON/stringify-large-replacer-array.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-large-replacer-array.js rename to js/src/tests/non262/JSON/stringify-large-replacer-array.js diff --git a/js/src/tests/ecma_5/JSON/stringify-missing-arguments.js b/js/src/tests/non262/JSON/stringify-missing-arguments.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-missing-arguments.js rename to js/src/tests/non262/JSON/stringify-missing-arguments.js diff --git a/js/src/tests/ecma_5/JSON/stringify-nonarray-noncallable-replacer.js b/js/src/tests/non262/JSON/stringify-nonarray-noncallable-replacer.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-nonarray-noncallable-replacer.js rename to js/src/tests/non262/JSON/stringify-nonarray-noncallable-replacer.js diff --git a/js/src/tests/ecma_5/JSON/stringify-primitives.js b/js/src/tests/non262/JSON/stringify-primitives.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-primitives.js rename to js/src/tests/non262/JSON/stringify-primitives.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-array-boxed-elements.js b/js/src/tests/non262/JSON/stringify-replacer-array-boxed-elements.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-array-boxed-elements.js rename to js/src/tests/non262/JSON/stringify-replacer-array-boxed-elements.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-array-duplicated-element.js b/js/src/tests/non262/JSON/stringify-replacer-array-duplicated-element.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-array-duplicated-element.js rename to js/src/tests/non262/JSON/stringify-replacer-array-duplicated-element.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-array-edgecase-jsid-elements.js b/js/src/tests/non262/JSON/stringify-replacer-array-edgecase-jsid-elements.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-array-edgecase-jsid-elements.js rename to js/src/tests/non262/JSON/stringify-replacer-array-edgecase-jsid-elements.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-array-hijinks.js b/js/src/tests/non262/JSON/stringify-replacer-array-hijinks.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-array-hijinks.js rename to js/src/tests/non262/JSON/stringify-replacer-array-hijinks.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-array-skipped-element.js b/js/src/tests/non262/JSON/stringify-replacer-array-skipped-element.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-array-skipped-element.js rename to js/src/tests/non262/JSON/stringify-replacer-array-skipped-element.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-array-trailing-holes.js b/js/src/tests/non262/JSON/stringify-replacer-array-trailing-holes.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-array-trailing-holes.js rename to js/src/tests/non262/JSON/stringify-replacer-array-trailing-holes.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer-with-array-indexes.js b/js/src/tests/non262/JSON/stringify-replacer-with-array-indexes.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer-with-array-indexes.js rename to js/src/tests/non262/JSON/stringify-replacer-with-array-indexes.js diff --git a/js/src/tests/ecma_5/JSON/stringify-replacer.js b/js/src/tests/non262/JSON/stringify-replacer.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-replacer.js rename to js/src/tests/non262/JSON/stringify-replacer.js diff --git a/js/src/tests/ecma_5/JSON/stringify-special-escapes.js b/js/src/tests/non262/JSON/stringify-special-escapes.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-special-escapes.js rename to js/src/tests/non262/JSON/stringify-special-escapes.js diff --git a/js/src/tests/ecma_5/JSON/stringify-toJSON-arguments.js b/js/src/tests/non262/JSON/stringify-toJSON-arguments.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify-toJSON-arguments.js rename to js/src/tests/non262/JSON/stringify-toJSON-arguments.js diff --git a/js/src/tests/ecma_5/JSON/stringify.js b/js/src/tests/non262/JSON/stringify.js similarity index 100% rename from js/src/tests/ecma_5/JSON/stringify.js rename to js/src/tests/non262/JSON/stringify.js diff --git a/js/src/tests/ecma_5/JSON/trailing-comma.js b/js/src/tests/non262/JSON/trailing-comma.js similarity index 100% rename from js/src/tests/ecma_5/JSON/trailing-comma.js rename to js/src/tests/non262/JSON/trailing-comma.js diff --git a/js/src/tests/ecma_6/Map/NaN-as-key.js b/js/src/tests/non262/Map/NaN-as-key.js similarity index 100% rename from js/src/tests/ecma_6/Map/NaN-as-key.js rename to js/src/tests/non262/Map/NaN-as-key.js diff --git a/js/src/tests/ecma/Number/browser.js b/js/src/tests/non262/Map/browser.js similarity index 100% rename from js/src/tests/ecma/Number/browser.js rename to js/src/tests/non262/Map/browser.js diff --git a/js/src/tests/ecma_6/Map/constructor-iterator-close.js b/js/src/tests/non262/Map/constructor-iterator-close.js similarity index 100% rename from js/src/tests/ecma_6/Map/constructor-iterator-close.js rename to js/src/tests/non262/Map/constructor-iterator-close.js diff --git a/js/src/tests/ecma_6/Map/constructor-iterator-primitive.js b/js/src/tests/non262/Map/constructor-iterator-primitive.js similarity index 100% rename from js/src/tests/ecma_6/Map/constructor-iterator-primitive.js rename to js/src/tests/non262/Map/constructor-iterator-primitive.js diff --git a/js/src/tests/ecma_6/Map/forEach-selfhosted-behavior.js b/js/src/tests/non262/Map/forEach-selfhosted-behavior.js similarity index 100% rename from js/src/tests/ecma_6/Map/forEach-selfhosted-behavior.js rename to js/src/tests/non262/Map/forEach-selfhosted-behavior.js diff --git a/js/src/tests/ecma_6/Map/getter-name.js b/js/src/tests/non262/Map/getter-name.js similarity index 100% rename from js/src/tests/ecma_6/Map/getter-name.js rename to js/src/tests/non262/Map/getter-name.js diff --git a/js/src/tests/ecma_6/Map/iterable.js b/js/src/tests/non262/Map/iterable.js similarity index 100% rename from js/src/tests/ecma_6/Map/iterable.js rename to js/src/tests/non262/Map/iterable.js diff --git a/js/src/tests/ecma/Number/shell.js b/js/src/tests/non262/Map/shell.js similarity index 100% rename from js/src/tests/ecma/Number/shell.js rename to js/src/tests/non262/Map/shell.js diff --git a/js/src/tests/ecma_6/Map/symbols.js b/js/src/tests/non262/Map/symbols.js similarity index 100% rename from js/src/tests/ecma_6/Map/symbols.js rename to js/src/tests/non262/Map/symbols.js diff --git a/js/src/tests/ecma/Math/15.8.1.js b/js/src/tests/non262/Math/15.8.1.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.1.js rename to js/src/tests/non262/Math/15.8.1.js diff --git a/js/src/tests/ecma/Math/15.8.2.13.js b/js/src/tests/non262/Math/15.8.2.13.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.13.js rename to js/src/tests/non262/Math/15.8.2.13.js diff --git a/js/src/tests/ecma/Math/15.8.2.16.js b/js/src/tests/non262/Math/15.8.2.16.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.16.js rename to js/src/tests/non262/Math/15.8.2.16.js diff --git a/js/src/tests/ecma/Math/15.8.2.17.js b/js/src/tests/non262/Math/15.8.2.17.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.17.js rename to js/src/tests/non262/Math/15.8.2.17.js diff --git a/js/src/tests/ecma/Math/15.8.2.18.js b/js/src/tests/non262/Math/15.8.2.18.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.18.js rename to js/src/tests/non262/Math/15.8.2.18.js diff --git a/js/src/tests/ecma/Math/15.8.2.2.js b/js/src/tests/non262/Math/15.8.2.2.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.2.js rename to js/src/tests/non262/Math/15.8.2.2.js diff --git a/js/src/tests/ecma/Math/15.8.2.3.js b/js/src/tests/non262/Math/15.8.2.3.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.3.js rename to js/src/tests/non262/Math/15.8.2.3.js diff --git a/js/src/tests/ecma/Math/15.8.2.4.js b/js/src/tests/non262/Math/15.8.2.4.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.4.js rename to js/src/tests/non262/Math/15.8.2.4.js diff --git a/js/src/tests/ecma/Math/15.8.2.5.js b/js/src/tests/non262/Math/15.8.2.5.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.5.js rename to js/src/tests/non262/Math/15.8.2.5.js diff --git a/js/src/tests/ecma/Math/15.8.2.7.js b/js/src/tests/non262/Math/15.8.2.7.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.7.js rename to js/src/tests/non262/Math/15.8.2.7.js diff --git a/js/src/tests/ecma/Math/15.8.2.8.js b/js/src/tests/non262/Math/15.8.2.8.js similarity index 100% rename from js/src/tests/ecma/Math/15.8.2.8.js rename to js/src/tests/non262/Math/15.8.2.8.js diff --git a/js/src/tests/ecma_6/Math/20.2.2.ToNumber.js b/js/src/tests/non262/Math/20.2.2.ToNumber.js similarity index 100% rename from js/src/tests/ecma_6/Math/20.2.2.ToNumber.js rename to js/src/tests/non262/Math/20.2.2.ToNumber.js diff --git a/js/src/tests/ecma_7/Math/Pow.js b/js/src/tests/non262/Math/Pow.js similarity index 100% rename from js/src/tests/ecma_7/Math/Pow.js rename to js/src/tests/non262/Math/Pow.js diff --git a/js/src/tests/ecma_6/Math/acosh-approx.js b/js/src/tests/non262/Math/acosh-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/acosh-approx.js rename to js/src/tests/non262/Math/acosh-approx.js diff --git a/js/src/tests/ecma_6/Math/acosh-exact.js b/js/src/tests/non262/Math/acosh-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/acosh-exact.js rename to js/src/tests/non262/Math/acosh-exact.js diff --git a/js/src/tests/ecma_6/Math/asinh-approx.js b/js/src/tests/non262/Math/asinh-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/asinh-approx.js rename to js/src/tests/non262/Math/asinh-approx.js diff --git a/js/src/tests/ecma_6/Math/asinh-exact.js b/js/src/tests/non262/Math/asinh-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/asinh-exact.js rename to js/src/tests/non262/Math/asinh-exact.js diff --git a/js/src/tests/ecma_6/Math/atanh-approx.js b/js/src/tests/non262/Math/atanh-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/atanh-approx.js rename to js/src/tests/non262/Math/atanh-approx.js diff --git a/js/src/tests/ecma_6/Math/atanh-exact.js b/js/src/tests/non262/Math/atanh-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/atanh-exact.js rename to js/src/tests/non262/Math/atanh-exact.js diff --git a/js/src/tests/ecma/ObjectObjects/browser.js b/js/src/tests/non262/Math/browser.js similarity index 100% rename from js/src/tests/ecma/ObjectObjects/browser.js rename to js/src/tests/non262/Math/browser.js diff --git a/js/src/tests/ecma_6/Math/cbrt-approx.js b/js/src/tests/non262/Math/cbrt-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/cbrt-approx.js rename to js/src/tests/non262/Math/cbrt-approx.js diff --git a/js/src/tests/ecma_6/Math/cbrt-exact.js b/js/src/tests/non262/Math/cbrt-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/cbrt-exact.js rename to js/src/tests/non262/Math/cbrt-exact.js diff --git a/js/src/tests/ecma_6/Math/clz32.js b/js/src/tests/non262/Math/clz32.js similarity index 100% rename from js/src/tests/ecma_6/Math/clz32.js rename to js/src/tests/non262/Math/clz32.js diff --git a/js/src/tests/ecma_6/Math/cosh-approx.js b/js/src/tests/non262/Math/cosh-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/cosh-approx.js rename to js/src/tests/non262/Math/cosh-approx.js diff --git a/js/src/tests/ecma_6/Math/cosh-exact.js b/js/src/tests/non262/Math/cosh-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/cosh-exact.js rename to js/src/tests/non262/Math/cosh-exact.js diff --git a/js/src/tests/ecma_6/Math/expm1-approx.js b/js/src/tests/non262/Math/expm1-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/expm1-approx.js rename to js/src/tests/non262/Math/expm1-approx.js diff --git a/js/src/tests/ecma_6/Math/expm1-exact.js b/js/src/tests/non262/Math/expm1-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/expm1-exact.js rename to js/src/tests/non262/Math/expm1-exact.js diff --git a/js/src/tests/ecma_6/Math/expm1-monotonicity.js b/js/src/tests/non262/Math/expm1-monotonicity.js similarity index 100% rename from js/src/tests/ecma_6/Math/expm1-monotonicity.js rename to js/src/tests/non262/Math/expm1-monotonicity.js diff --git a/js/src/tests/ecma_6/Math/fround.js b/js/src/tests/non262/Math/fround.js similarity index 100% rename from js/src/tests/ecma_6/Math/fround.js rename to js/src/tests/non262/Math/fround.js diff --git a/js/src/tests/ecma_6/Math/log10-approx.js b/js/src/tests/non262/Math/log10-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/log10-approx.js rename to js/src/tests/non262/Math/log10-approx.js diff --git a/js/src/tests/ecma_6/Math/log10-exact.js b/js/src/tests/non262/Math/log10-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/log10-exact.js rename to js/src/tests/non262/Math/log10-exact.js diff --git a/js/src/tests/ecma_6/Math/log1p-approx.js b/js/src/tests/non262/Math/log1p-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/log1p-approx.js rename to js/src/tests/non262/Math/log1p-approx.js diff --git a/js/src/tests/ecma_6/Math/log1p-exact.js b/js/src/tests/non262/Math/log1p-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/log1p-exact.js rename to js/src/tests/non262/Math/log1p-exact.js diff --git a/js/src/tests/ecma_6/Math/log2-approx.js b/js/src/tests/non262/Math/log2-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/log2-approx.js rename to js/src/tests/non262/Math/log2-approx.js diff --git a/js/src/tests/ecma_6/Math/log2-exact.js b/js/src/tests/non262/Math/log2-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/log2-exact.js rename to js/src/tests/non262/Math/log2-exact.js diff --git a/js/src/tests/ecma_6/Math/shell.js b/js/src/tests/non262/Math/shell.js similarity index 100% rename from js/src/tests/ecma_6/Math/shell.js rename to js/src/tests/non262/Math/shell.js diff --git a/js/src/tests/ecma_6/Math/sign.js b/js/src/tests/non262/Math/sign.js similarity index 100% rename from js/src/tests/ecma_6/Math/sign.js rename to js/src/tests/non262/Math/sign.js diff --git a/js/src/tests/ecma_6/Math/sinh-approx.js b/js/src/tests/non262/Math/sinh-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/sinh-approx.js rename to js/src/tests/non262/Math/sinh-approx.js diff --git a/js/src/tests/ecma_6/Math/sinh-exact.js b/js/src/tests/non262/Math/sinh-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/sinh-exact.js rename to js/src/tests/non262/Math/sinh-exact.js diff --git a/js/src/tests/ecma_6/Math/tanh-approx.js b/js/src/tests/non262/Math/tanh-approx.js similarity index 100% rename from js/src/tests/ecma_6/Math/tanh-approx.js rename to js/src/tests/non262/Math/tanh-approx.js diff --git a/js/src/tests/ecma_6/Math/tanh-exact.js b/js/src/tests/non262/Math/tanh-exact.js similarity index 100% rename from js/src/tests/ecma_6/Math/tanh-exact.js rename to js/src/tests/non262/Math/tanh-exact.js diff --git a/js/src/tests/ecma_6/Math/trunc.js b/js/src/tests/non262/Math/trunc.js similarity index 100% rename from js/src/tests/ecma_6/Math/trunc.js rename to js/src/tests/non262/Math/trunc.js diff --git a/js/src/tests/ecma/Number/0x-without-following-hexdigits.js b/js/src/tests/non262/Number/0x-without-following-hexdigits.js similarity index 100% rename from js/src/tests/ecma/Number/0x-without-following-hexdigits.js rename to js/src/tests/non262/Number/0x-without-following-hexdigits.js diff --git a/js/src/tests/ecma_6/Number/15.7.3.7-EPSILON.js b/js/src/tests/non262/Number/15.7.3.7-EPSILON.js similarity index 100% rename from js/src/tests/ecma_6/Number/15.7.3.7-EPSILON.js rename to js/src/tests/non262/Number/15.7.3.7-EPSILON.js diff --git a/js/src/tests/ecma_5/Number/15.7.4.2.js b/js/src/tests/non262/Number/15.7.4.2.js similarity index 100% rename from js/src/tests/ecma_5/Number/15.7.4.2.js rename to js/src/tests/non262/Number/15.7.4.2.js diff --git a/js/src/tests/ecma_6/Number/20.1.2.10-MIN_SAFE_INTEGER.js b/js/src/tests/non262/Number/20.1.2.10-MIN_SAFE_INTEGER.js similarity index 100% rename from js/src/tests/ecma_6/Number/20.1.2.10-MIN_SAFE_INTEGER.js rename to js/src/tests/non262/Number/20.1.2.10-MIN_SAFE_INTEGER.js diff --git a/js/src/tests/ecma_6/Number/20.1.2.6-MAX_SAFE_INTEGER.js b/js/src/tests/non262/Number/20.1.2.6-MAX_SAFE_INTEGER.js similarity index 100% rename from js/src/tests/ecma_6/Number/20.1.2.6-MAX_SAFE_INTEGER.js rename to js/src/tests/non262/Number/20.1.2.6-MAX_SAFE_INTEGER.js diff --git a/js/src/tests/ecma_6/Number/20.1.3.2-toExponential.js b/js/src/tests/non262/Number/20.1.3.2-toExponential.js similarity index 100% rename from js/src/tests/ecma_6/Number/20.1.3.2-toExponential.js rename to js/src/tests/non262/Number/20.1.3.2-toExponential.js diff --git a/js/src/tests/ecma_6/Number/20.1.3.2-toPrecision.js b/js/src/tests/non262/Number/20.1.3.2-toPrecision.js similarity index 100% rename from js/src/tests/ecma_6/Number/20.1.3.2-toPrecision.js rename to js/src/tests/non262/Number/20.1.3.2-toPrecision.js diff --git a/js/src/tests/ecma_6/Number/20.1.3.3-toFixed.js b/js/src/tests/non262/Number/20.1.3.3-toFixed.js similarity index 100% rename from js/src/tests/ecma_6/Number/20.1.3.3-toFixed.js rename to js/src/tests/non262/Number/20.1.3.3-toFixed.js diff --git a/js/src/tests/ecma_6/Number/ToNumber.js b/js/src/tests/non262/Number/ToNumber.js similarity index 100% rename from js/src/tests/ecma_6/Number/ToNumber.js rename to js/src/tests/non262/Number/ToNumber.js diff --git a/js/src/tests/ecma/SourceText/browser.js b/js/src/tests/non262/Number/browser.js similarity index 100% rename from js/src/tests/ecma/SourceText/browser.js rename to js/src/tests/non262/Number/browser.js diff --git a/js/src/tests/ecma_5/Number/conversion-invalid-precision.js b/js/src/tests/non262/Number/conversion-invalid-precision.js similarity index 100% rename from js/src/tests/ecma_5/Number/conversion-invalid-precision.js rename to js/src/tests/non262/Number/conversion-invalid-precision.js diff --git a/js/src/tests/ecma_5/Number/defaultvalue.js b/js/src/tests/non262/Number/defaultvalue.js similarity index 100% rename from js/src/tests/ecma_5/Number/defaultvalue.js rename to js/src/tests/non262/Number/defaultvalue.js diff --git a/js/src/tests/ecma_6/Number/isSafeInteger-01.js b/js/src/tests/non262/Number/isSafeInteger-01.js similarity index 100% rename from js/src/tests/ecma_6/Number/isSafeInteger-01.js rename to js/src/tests/non262/Number/isSafeInteger-01.js diff --git a/js/src/tests/ecma_6/Number/parseFloat-01.js b/js/src/tests/non262/Number/parseFloat-01.js similarity index 100% rename from js/src/tests/ecma_6/Number/parseFloat-01.js rename to js/src/tests/non262/Number/parseFloat-01.js diff --git a/js/src/tests/ecma_6/Number/parseInt-01.js b/js/src/tests/non262/Number/parseInt-01.js similarity index 100% rename from js/src/tests/ecma_6/Number/parseInt-01.js rename to js/src/tests/non262/Number/parseInt-01.js diff --git a/js/src/tests/ecma_6/Number/parseInt-default-to-decimal.js b/js/src/tests/non262/Number/parseInt-default-to-decimal.js similarity index 100% rename from js/src/tests/ecma_6/Number/parseInt-default-to-decimal.js rename to js/src/tests/non262/Number/parseInt-default-to-decimal.js diff --git a/js/src/tests/ecma_3/Number/regress-442242-01.js b/js/src/tests/non262/Number/regress-442242-01.js similarity index 100% rename from js/src/tests/ecma_3/Number/regress-442242-01.js rename to js/src/tests/non262/Number/regress-442242-01.js diff --git a/js/src/tests/ecma/ObjectObjects/shell.js b/js/src/tests/non262/Number/shell.js similarity index 100% rename from js/src/tests/ecma/ObjectObjects/shell.js rename to js/src/tests/non262/Number/shell.js diff --git a/js/src/tests/ecma_5/Number/toString-radix-handling.js b/js/src/tests/non262/Number/toString-radix-handling.js similarity index 100% rename from js/src/tests/ecma_5/Number/toString-radix-handling.js rename to js/src/tests/non262/Number/toString-radix-handling.js diff --git a/js/src/tests/ecma_5/Number/tonumber-string-hex.js b/js/src/tests/non262/Number/tonumber-string-hex.js similarity index 100% rename from js/src/tests/ecma_5/Number/tonumber-string-hex.js rename to js/src/tests/non262/Number/tonumber-string-hex.js diff --git a/js/src/tests/ecma/Statements/browser.js b/js/src/tests/non262/Promise/browser.js similarity index 100% rename from js/src/tests/ecma/Statements/browser.js rename to js/src/tests/non262/Promise/browser.js diff --git a/js/src/tests/ecma_6/Promise/bug-1287334.js b/js/src/tests/non262/Promise/bug-1287334.js similarity index 100% rename from js/src/tests/ecma_6/Promise/bug-1287334.js rename to js/src/tests/non262/Promise/bug-1287334.js diff --git a/js/src/tests/ecma_6/Promise/bug-1288382.js b/js/src/tests/non262/Promise/bug-1288382.js similarity index 100% rename from js/src/tests/ecma_6/Promise/bug-1288382.js rename to js/src/tests/non262/Promise/bug-1288382.js diff --git a/js/src/tests/ecma_6/Promise/bug-1289040.js b/js/src/tests/non262/Promise/bug-1289040.js similarity index 100% rename from js/src/tests/ecma_6/Promise/bug-1289040.js rename to js/src/tests/non262/Promise/bug-1289040.js diff --git a/js/src/tests/ecma_6/Promise/dependent-promises.js b/js/src/tests/non262/Promise/dependent-promises.js similarity index 100% rename from js/src/tests/ecma_6/Promise/dependent-promises.js rename to js/src/tests/non262/Promise/dependent-promises.js diff --git a/js/src/tests/ecma_6/Promise/enqueue-promise-reactions.js b/js/src/tests/non262/Promise/enqueue-promise-reactions.js similarity index 100% rename from js/src/tests/ecma_6/Promise/enqueue-promise-reactions.js rename to js/src/tests/non262/Promise/enqueue-promise-reactions.js diff --git a/js/src/tests/ecma_6/Promise/get-wait-for-all-promise.js b/js/src/tests/non262/Promise/get-wait-for-all-promise.js similarity index 100% rename from js/src/tests/ecma_6/Promise/get-wait-for-all-promise.js rename to js/src/tests/non262/Promise/get-wait-for-all-promise.js diff --git a/js/src/tests/ecma_6/Promise/iterator-close.js b/js/src/tests/non262/Promise/iterator-close.js similarity index 100% rename from js/src/tests/ecma_6/Promise/iterator-close.js rename to js/src/tests/non262/Promise/iterator-close.js diff --git a/js/src/tests/ecma_6/Promise/iterator-primitive.js b/js/src/tests/non262/Promise/iterator-primitive.js similarity index 100% rename from js/src/tests/ecma_6/Promise/iterator-primitive.js rename to js/src/tests/non262/Promise/iterator-primitive.js diff --git a/js/src/tests/ecma_6/Promise/methods-non-enumerable.js b/js/src/tests/non262/Promise/methods-non-enumerable.js similarity index 100% rename from js/src/tests/ecma_6/Promise/methods-non-enumerable.js rename to js/src/tests/non262/Promise/methods-non-enumerable.js diff --git a/js/src/tests/ecma_6/Promise/promise-all.js b/js/src/tests/non262/Promise/promise-all.js similarity index 100% rename from js/src/tests/ecma_6/Promise/promise-all.js rename to js/src/tests/non262/Promise/promise-all.js diff --git a/js/src/tests/ecma_6/Promise/promise-basics.js b/js/src/tests/non262/Promise/promise-basics.js similarity index 100% rename from js/src/tests/ecma_6/Promise/promise-basics.js rename to js/src/tests/non262/Promise/promise-basics.js diff --git a/js/src/tests/ecma_6/Promise/promise-rejection-tracking.js b/js/src/tests/non262/Promise/promise-rejection-tracking.js similarity index 100% rename from js/src/tests/ecma_6/Promise/promise-rejection-tracking.js rename to js/src/tests/non262/Promise/promise-rejection-tracking.js diff --git a/js/src/tests/ecma_6/Promise/promise-species.js b/js/src/tests/non262/Promise/promise-species.js similarity index 100% rename from js/src/tests/ecma_6/Promise/promise-species.js rename to js/src/tests/non262/Promise/promise-species.js diff --git a/js/src/tests/ecma_6/Promise/promise-subclassing.js b/js/src/tests/non262/Promise/promise-subclassing.js similarity index 100% rename from js/src/tests/ecma_6/Promise/promise-subclassing.js rename to js/src/tests/non262/Promise/promise-subclassing.js diff --git a/js/src/tests/ecma_6/Promise/self-resolve.js b/js/src/tests/non262/Promise/self-resolve.js similarity index 100% rename from js/src/tests/ecma_6/Promise/self-resolve.js rename to js/src/tests/non262/Promise/self-resolve.js diff --git a/js/src/tests/ecma/SourceText/shell.js b/js/src/tests/non262/Promise/shell.js similarity index 100% rename from js/src/tests/ecma/SourceText/shell.js rename to js/src/tests/non262/Promise/shell.js diff --git a/js/src/tests/ecma/String/browser.js b/js/src/tests/non262/Proxy/browser.js similarity index 100% rename from js/src/tests/ecma/String/browser.js rename to js/src/tests/non262/Proxy/browser.js diff --git a/js/src/tests/ecma_6/Proxy/getPrototypeOf.js b/js/src/tests/non262/Proxy/getPrototypeOf.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/getPrototypeOf.js rename to js/src/tests/non262/Proxy/getPrototypeOf.js diff --git a/js/src/tests/ecma_6/Proxy/global-receiver.js b/js/src/tests/non262/Proxy/global-receiver.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/global-receiver.js rename to js/src/tests/non262/Proxy/global-receiver.js diff --git a/js/src/tests/ecma_6/Proxy/hasInstance.js b/js/src/tests/non262/Proxy/hasInstance.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/hasInstance.js rename to js/src/tests/non262/Proxy/hasInstance.js diff --git a/js/src/tests/ecma_6/Proxy/json-stringify-replacer-array-revocable-proxy.js b/js/src/tests/non262/Proxy/json-stringify-replacer-array-revocable-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/json-stringify-replacer-array-revocable-proxy.js rename to js/src/tests/non262/Proxy/json-stringify-replacer-array-revocable-proxy.js diff --git a/js/src/tests/ecma_6/Proxy/ownkeys-allowed-types.js b/js/src/tests/non262/Proxy/ownkeys-allowed-types.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/ownkeys-allowed-types.js rename to js/src/tests/non262/Proxy/ownkeys-allowed-types.js diff --git a/js/src/tests/ecma_6/Proxy/ownkeys-linear.js b/js/src/tests/non262/Proxy/ownkeys-linear.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/ownkeys-linear.js rename to js/src/tests/non262/Proxy/ownkeys-linear.js diff --git a/js/src/tests/ecma_6/Proxy/ownkeys-trap-duplicates.js b/js/src/tests/non262/Proxy/ownkeys-trap-duplicates.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/ownkeys-trap-duplicates.js rename to js/src/tests/non262/Proxy/ownkeys-trap-duplicates.js diff --git a/js/src/tests/ecma_6/Proxy/proxy-__proto__.js b/js/src/tests/non262/Proxy/proxy-__proto__.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/proxy-__proto__.js rename to js/src/tests/non262/Proxy/proxy-__proto__.js diff --git a/js/src/tests/ecma_6/Proxy/proxy-constructNonObject.js b/js/src/tests/non262/Proxy/proxy-constructNonObject.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/proxy-constructNonObject.js rename to js/src/tests/non262/Proxy/proxy-constructNonObject.js diff --git a/js/src/tests/ecma_6/Proxy/proxy-for-in.js b/js/src/tests/non262/Proxy/proxy-for-in.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/proxy-for-in.js rename to js/src/tests/non262/Proxy/proxy-for-in.js diff --git a/js/src/tests/ecma_6/Proxy/proxy-no-receiver-overwrite.js b/js/src/tests/non262/Proxy/proxy-no-receiver-overwrite.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/proxy-no-receiver-overwrite.js rename to js/src/tests/non262/Proxy/proxy-no-receiver-overwrite.js diff --git a/js/src/tests/ecma_6/Proxy/proxy-proto-lazy-props.js b/js/src/tests/non262/Proxy/proxy-proto-lazy-props.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/proxy-proto-lazy-props.js rename to js/src/tests/non262/Proxy/proxy-proto-lazy-props.js diff --git a/js/src/tests/ecma_6/Proxy/proxy-with-revoked-arguments.js b/js/src/tests/non262/Proxy/proxy-with-revoked-arguments.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/proxy-with-revoked-arguments.js rename to js/src/tests/non262/Proxy/proxy-with-revoked-arguments.js diff --git a/js/src/tests/ecma_6/Proxy/regress-bug1037770.js b/js/src/tests/non262/Proxy/regress-bug1037770.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/regress-bug1037770.js rename to js/src/tests/non262/Proxy/regress-bug1037770.js diff --git a/js/src/tests/ecma_6/Proxy/regress-bug1062349.js b/js/src/tests/non262/Proxy/regress-bug1062349.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/regress-bug1062349.js rename to js/src/tests/non262/Proxy/regress-bug1062349.js diff --git a/js/src/tests/ecma_6/Proxy/regress-bug950407.js b/js/src/tests/non262/Proxy/regress-bug950407.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/regress-bug950407.js rename to js/src/tests/non262/Proxy/regress-bug950407.js diff --git a/js/src/tests/ecma_6/Proxy/revocable-proxy-prototype.js b/js/src/tests/non262/Proxy/revocable-proxy-prototype.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/revocable-proxy-prototype.js rename to js/src/tests/non262/Proxy/revocable-proxy-prototype.js diff --git a/js/src/tests/ecma_6/Proxy/revoke-as-side-effect.js b/js/src/tests/non262/Proxy/revoke-as-side-effect.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/revoke-as-side-effect.js rename to js/src/tests/non262/Proxy/revoke-as-side-effect.js diff --git a/js/src/tests/ecma_6/Proxy/setPrototypeOf.js b/js/src/tests/non262/Proxy/setPrototypeOf.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/setPrototypeOf.js rename to js/src/tests/non262/Proxy/setPrototypeOf.js diff --git a/js/src/tests/ecma/Statements/shell.js b/js/src/tests/non262/Proxy/shell.js similarity index 100% rename from js/src/tests/ecma/Statements/shell.js rename to js/src/tests/non262/Proxy/shell.js diff --git a/js/src/tests/ecma_6/Proxy/trap-null.js b/js/src/tests/non262/Proxy/trap-null.js similarity index 100% rename from js/src/tests/ecma_6/Proxy/trap-null.js rename to js/src/tests/non262/Proxy/trap-null.js diff --git a/js/src/tests/ecma_6/Reflect/apply.js b/js/src/tests/non262/Reflect/apply.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/apply.js rename to js/src/tests/non262/Reflect/apply.js diff --git a/js/src/tests/ecma_6/Reflect/argumentsList.js b/js/src/tests/non262/Reflect/argumentsList.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/argumentsList.js rename to js/src/tests/non262/Reflect/argumentsList.js diff --git a/js/src/tests/ecma/TypeConversion/browser.js b/js/src/tests/non262/Reflect/browser.js similarity index 100% rename from js/src/tests/ecma/TypeConversion/browser.js rename to js/src/tests/non262/Reflect/browser.js diff --git a/js/src/tests/ecma_6/Reflect/construct.js b/js/src/tests/non262/Reflect/construct.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/construct.js rename to js/src/tests/non262/Reflect/construct.js diff --git a/js/src/tests/ecma_6/Reflect/defineProperty.js b/js/src/tests/non262/Reflect/defineProperty.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/defineProperty.js rename to js/src/tests/non262/Reflect/defineProperty.js diff --git a/js/src/tests/ecma_6/Reflect/deleteProperty.js b/js/src/tests/non262/Reflect/deleteProperty.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/deleteProperty.js rename to js/src/tests/non262/Reflect/deleteProperty.js diff --git a/js/src/tests/ecma_6/Reflect/get.js b/js/src/tests/non262/Reflect/get.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/get.js rename to js/src/tests/non262/Reflect/get.js diff --git a/js/src/tests/ecma_6/Reflect/getOwnPropertyDescriptor.js b/js/src/tests/non262/Reflect/getOwnPropertyDescriptor.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/getOwnPropertyDescriptor.js rename to js/src/tests/non262/Reflect/getOwnPropertyDescriptor.js diff --git a/js/src/tests/ecma_6/Reflect/getPrototypeOf.js b/js/src/tests/non262/Reflect/getPrototypeOf.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/getPrototypeOf.js rename to js/src/tests/non262/Reflect/getPrototypeOf.js diff --git a/js/src/tests/ecma_6/Reflect/has.js b/js/src/tests/non262/Reflect/has.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/has.js rename to js/src/tests/non262/Reflect/has.js diff --git a/js/src/tests/ecma_6/Reflect/isExtensible.js b/js/src/tests/non262/Reflect/isExtensible.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/isExtensible.js rename to js/src/tests/non262/Reflect/isExtensible.js diff --git a/js/src/tests/ecma_6/Reflect/ownKeys.js b/js/src/tests/non262/Reflect/ownKeys.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/ownKeys.js rename to js/src/tests/non262/Reflect/ownKeys.js diff --git a/js/src/tests/ecma_6/Reflect/preventExtensions.js b/js/src/tests/non262/Reflect/preventExtensions.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/preventExtensions.js rename to js/src/tests/non262/Reflect/preventExtensions.js diff --git a/js/src/tests/ecma_6/Reflect/propertyKeys.js b/js/src/tests/non262/Reflect/propertyKeys.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/propertyKeys.js rename to js/src/tests/non262/Reflect/propertyKeys.js diff --git a/js/src/tests/ecma_6/Reflect/set.js b/js/src/tests/non262/Reflect/set.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/set.js rename to js/src/tests/non262/Reflect/set.js diff --git a/js/src/tests/ecma_6/Reflect/setPrototypeOf.js b/js/src/tests/non262/Reflect/setPrototypeOf.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/setPrototypeOf.js rename to js/src/tests/non262/Reflect/setPrototypeOf.js diff --git a/js/src/tests/ecma_6/Reflect/shell.js b/js/src/tests/non262/Reflect/shell.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/shell.js rename to js/src/tests/non262/Reflect/shell.js diff --git a/js/src/tests/ecma_6/Reflect/surfaces.js b/js/src/tests/non262/Reflect/surfaces.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/surfaces.js rename to js/src/tests/non262/Reflect/surfaces.js diff --git a/js/src/tests/ecma_6/Reflect/target.js b/js/src/tests/non262/Reflect/target.js similarity index 100% rename from js/src/tests/ecma_6/Reflect/target.js rename to js/src/tests/non262/Reflect/target.js diff --git a/js/src/tests/ecma_5/RegExp/15.10.5-01.js b/js/src/tests/non262/RegExp/15.10.5-01.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/15.10.5-01.js rename to js/src/tests/non262/RegExp/15.10.5-01.js diff --git a/js/src/tests/ecma_5/RegExp/15.10.7.5-01.js b/js/src/tests/non262/RegExp/15.10.7.5-01.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/15.10.7.5-01.js rename to js/src/tests/non262/RegExp/15.10.7.5-01.js diff --git a/js/src/tests/ecma_5/RegExp/7.8.5-01.js b/js/src/tests/non262/RegExp/7.8.5-01.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/7.8.5-01.js rename to js/src/tests/non262/RegExp/7.8.5-01.js diff --git a/js/src/tests/ecma_6/RegExp/RegExpExec-exec.js b/js/src/tests/non262/RegExp/RegExpExec-exec.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/RegExpExec-exec.js rename to js/src/tests/non262/RegExp/RegExpExec-exec.js diff --git a/js/src/tests/ecma_6/RegExp/RegExpExec-return.js b/js/src/tests/non262/RegExp/RegExpExec-return.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/RegExpExec-return.js rename to js/src/tests/non262/RegExp/RegExpExec-return.js diff --git a/js/src/tests/js1_2/regexp/RegExp_dollar_number.js b/js/src/tests/non262/RegExp/RegExp_dollar_number.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_dollar_number.js rename to js/src/tests/non262/RegExp/RegExp_dollar_number.js diff --git a/js/src/tests/js1_2/regexp/RegExp_lastMatch.js b/js/src/tests/non262/RegExp/RegExp_lastMatch.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_lastMatch.js rename to js/src/tests/non262/RegExp/RegExp_lastMatch.js diff --git a/js/src/tests/js1_2/regexp/RegExp_lastMatch_as_array.js b/js/src/tests/non262/RegExp/RegExp_lastMatch_as_array.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_lastMatch_as_array.js rename to js/src/tests/non262/RegExp/RegExp_lastMatch_as_array.js diff --git a/js/src/tests/js1_2/regexp/RegExp_lastParen.js b/js/src/tests/non262/RegExp/RegExp_lastParen.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_lastParen.js rename to js/src/tests/non262/RegExp/RegExp_lastParen.js diff --git a/js/src/tests/js1_2/regexp/RegExp_lastParen_as_array.js b/js/src/tests/non262/RegExp/RegExp_lastParen_as_array.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_lastParen_as_array.js rename to js/src/tests/non262/RegExp/RegExp_lastParen_as_array.js diff --git a/js/src/tests/js1_2/regexp/RegExp_leftContext.js b/js/src/tests/non262/RegExp/RegExp_leftContext.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_leftContext.js rename to js/src/tests/non262/RegExp/RegExp_leftContext.js diff --git a/js/src/tests/js1_2/regexp/RegExp_leftContext_as_array.js b/js/src/tests/non262/RegExp/RegExp_leftContext_as_array.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_leftContext_as_array.js rename to js/src/tests/non262/RegExp/RegExp_leftContext_as_array.js diff --git a/js/src/tests/js1_2/regexp/RegExp_object.js b/js/src/tests/non262/RegExp/RegExp_object.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_object.js rename to js/src/tests/non262/RegExp/RegExp_object.js diff --git a/js/src/tests/js1_2/regexp/RegExp_rightContext.js b/js/src/tests/non262/RegExp/RegExp_rightContext.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_rightContext.js rename to js/src/tests/non262/RegExp/RegExp_rightContext.js diff --git a/js/src/tests/js1_2/regexp/RegExp_rightContext_as_array.js b/js/src/tests/non262/RegExp/RegExp_rightContext_as_array.js similarity index 100% rename from js/src/tests/js1_2/regexp/RegExp_rightContext_as_array.js rename to js/src/tests/non262/RegExp/RegExp_rightContext_as_array.js diff --git a/js/src/tests/ecma/Types/browser.js b/js/src/tests/non262/RegExp/browser.js similarity index 100% rename from js/src/tests/ecma/Types/browser.js rename to js/src/tests/non262/RegExp/browser.js diff --git a/js/src/tests/ecma_6/RegExp/character-class-escape-s.js b/js/src/tests/non262/RegExp/character-class-escape-s.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/character-class-escape-s.js rename to js/src/tests/non262/RegExp/character-class-escape-s.js diff --git a/js/src/tests/ecma_6/RegExp/character-escape-class-s-mongolian-vowel-separator.js b/js/src/tests/non262/RegExp/character-escape-class-s-mongolian-vowel-separator.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/character-escape-class-s-mongolian-vowel-separator.js rename to js/src/tests/non262/RegExp/character-escape-class-s-mongolian-vowel-separator.js diff --git a/js/src/tests/ecma_6/RegExp/class-null.js b/js/src/tests/non262/RegExp/class-null.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/class-null.js rename to js/src/tests/non262/RegExp/class-null.js diff --git a/js/src/tests/ecma_6/RegExp/compile-lastIndex.js b/js/src/tests/non262/RegExp/compile-lastIndex.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/compile-lastIndex.js rename to js/src/tests/non262/RegExp/compile-lastIndex.js diff --git a/js/src/tests/ecma_6/RegExp/compile-symbol.js b/js/src/tests/non262/RegExp/compile-symbol.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/compile-symbol.js rename to js/src/tests/non262/RegExp/compile-symbol.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-IsRegExp.js b/js/src/tests/non262/RegExp/constructor-IsRegExp.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-IsRegExp.js rename to js/src/tests/non262/RegExp/constructor-IsRegExp.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-constructor.js b/js/src/tests/non262/RegExp/constructor-constructor.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-constructor.js rename to js/src/tests/non262/RegExp/constructor-constructor.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-ordering-2.js b/js/src/tests/non262/RegExp/constructor-ordering-2.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-ordering-2.js rename to js/src/tests/non262/RegExp/constructor-ordering-2.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-ordering.js b/js/src/tests/non262/RegExp/constructor-ordering.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-ordering.js rename to js/src/tests/non262/RegExp/constructor-ordering.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-regexp-unicode.js b/js/src/tests/non262/RegExp/constructor-regexp-unicode.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-regexp-unicode.js rename to js/src/tests/non262/RegExp/constructor-regexp-unicode.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-regexp.js b/js/src/tests/non262/RegExp/constructor-regexp.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-regexp.js rename to js/src/tests/non262/RegExp/constructor-regexp.js diff --git a/js/src/tests/ecma_6/RegExp/constructor-symbol.js b/js/src/tests/non262/RegExp/constructor-symbol.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/constructor-symbol.js rename to js/src/tests/non262/RegExp/constructor-symbol.js diff --git a/js/src/tests/ecma_6/RegExp/descriptor.js b/js/src/tests/non262/RegExp/descriptor.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/descriptor.js rename to js/src/tests/non262/RegExp/descriptor.js diff --git a/js/src/tests/ecma_5/RegExp/empty-lookahead.js b/js/src/tests/non262/RegExp/empty-lookahead.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/empty-lookahead.js rename to js/src/tests/non262/RegExp/empty-lookahead.js diff --git a/js/src/tests/ecma_6/RegExp/escape.js b/js/src/tests/non262/RegExp/escape.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/escape.js rename to js/src/tests/non262/RegExp/escape.js diff --git a/js/src/tests/ecma_5/RegExp/exec-lastIndex-ToInteger.js b/js/src/tests/non262/RegExp/exec-lastIndex-ToInteger.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/exec-lastIndex-ToInteger.js rename to js/src/tests/non262/RegExp/exec-lastIndex-ToInteger.js diff --git a/js/src/tests/ecma_6/RegExp/exec-lastIndex-negative.js b/js/src/tests/non262/RegExp/exec-lastIndex-negative.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/exec-lastIndex-negative.js rename to js/src/tests/non262/RegExp/exec-lastIndex-negative.js diff --git a/js/src/tests/ecma_5/RegExp/exec.js b/js/src/tests/non262/RegExp/exec.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/exec.js rename to js/src/tests/non262/RegExp/exec.js diff --git a/js/src/tests/ecma_6/RegExp/flag-accessors.js b/js/src/tests/non262/RegExp/flag-accessors.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/flag-accessors.js rename to js/src/tests/non262/RegExp/flag-accessors.js diff --git a/js/src/tests/ecma_6/RegExp/flags-param-handling.js b/js/src/tests/non262/RegExp/flags-param-handling.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/flags-param-handling.js rename to js/src/tests/non262/RegExp/flags-param-handling.js diff --git a/js/src/tests/ecma_6/RegExp/flags.js b/js/src/tests/non262/RegExp/flags.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/flags.js rename to js/src/tests/non262/RegExp/flags.js diff --git a/js/src/tests/ecma_6/RegExp/getter-name.js b/js/src/tests/non262/RegExp/getter-name.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/getter-name.js rename to js/src/tests/non262/RegExp/getter-name.js diff --git a/js/src/tests/ecma_6/RegExp/ignoreCase-multiple.js b/js/src/tests/non262/RegExp/ignoreCase-multiple.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/ignoreCase-multiple.js rename to js/src/tests/non262/RegExp/ignoreCase-multiple.js diff --git a/js/src/tests/ecma_6/RegExp/ignoreCase-non-latin1-to-latin1.js b/js/src/tests/non262/RegExp/ignoreCase-non-latin1-to-latin1.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/ignoreCase-non-latin1-to-latin1.js rename to js/src/tests/non262/RegExp/ignoreCase-non-latin1-to-latin1.js diff --git a/js/src/tests/ecma_5/RegExp/instance-property-storage-introspection.js b/js/src/tests/non262/RegExp/instance-property-storage-introspection.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/instance-property-storage-introspection.js rename to js/src/tests/non262/RegExp/instance-property-storage-introspection.js diff --git a/js/src/tests/ecma_2017/RegExp/lastIndex-exec.js b/js/src/tests/non262/RegExp/lastIndex-exec.js similarity index 100% rename from js/src/tests/ecma_2017/RegExp/lastIndex-exec.js rename to js/src/tests/non262/RegExp/lastIndex-exec.js diff --git a/js/src/tests/ecma_2017/RegExp/lastIndex-match-or-replace.js b/js/src/tests/non262/RegExp/lastIndex-match-or-replace.js similarity index 100% rename from js/src/tests/ecma_2017/RegExp/lastIndex-match-or-replace.js rename to js/src/tests/non262/RegExp/lastIndex-match-or-replace.js diff --git a/js/src/tests/ecma_6/RegExp/lastIndex-nonwritable.js b/js/src/tests/non262/RegExp/lastIndex-nonwritable.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/lastIndex-nonwritable.js rename to js/src/tests/non262/RegExp/lastIndex-nonwritable.js diff --git a/js/src/tests/ecma_2017/RegExp/lastIndex-search.js b/js/src/tests/non262/RegExp/lastIndex-search.js similarity index 100% rename from js/src/tests/ecma_2017/RegExp/lastIndex-search.js rename to js/src/tests/non262/RegExp/lastIndex-search.js diff --git a/js/src/tests/ecma_6/RegExp/match-local-tolength-recompilation.js b/js/src/tests/non262/RegExp/match-local-tolength-recompilation.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/match-local-tolength-recompilation.js rename to js/src/tests/non262/RegExp/match-local-tolength-recompilation.js diff --git a/js/src/tests/ecma_6/RegExp/match-this.js b/js/src/tests/non262/RegExp/match-this.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/match-this.js rename to js/src/tests/non262/RegExp/match-this.js diff --git a/js/src/tests/ecma_6/RegExp/match-trace.js b/js/src/tests/non262/RegExp/match-trace.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/match-trace.js rename to js/src/tests/non262/RegExp/match-trace.js diff --git a/js/src/tests/ecma_6/RegExp/match.js b/js/src/tests/non262/RegExp/match.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/match.js rename to js/src/tests/non262/RegExp/match.js diff --git a/js/src/tests/ecma_2018/RegExp/prototype-different-global.js b/js/src/tests/non262/RegExp/prototype-different-global.js similarity index 100% rename from js/src/tests/ecma_2018/RegExp/prototype-different-global.js rename to js/src/tests/non262/RegExp/prototype-different-global.js diff --git a/js/src/tests/ecma_6/RegExp/prototype.js b/js/src/tests/non262/RegExp/prototype.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/prototype.js rename to js/src/tests/non262/RegExp/prototype.js diff --git a/js/src/tests/ecma_5/RegExp/regexp-space-character-class.js b/js/src/tests/non262/RegExp/regexp-space-character-class.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regexp-space-character-class.js rename to js/src/tests/non262/RegExp/regexp-space-character-class.js diff --git a/js/src/tests/ecma_3/RegExp/regress-100199.js b/js/src/tests/non262/RegExp/regress-100199.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-100199.js rename to js/src/tests/non262/RegExp/regress-100199.js diff --git a/js/src/tests/ecma_3/RegExp/regress-105972.js b/js/src/tests/non262/RegExp/regress-105972.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-105972.js rename to js/src/tests/non262/RegExp/regress-105972.js diff --git a/js/src/tests/ecma_3/RegExp/regress-119909.js b/js/src/tests/non262/RegExp/regress-119909.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-119909.js rename to js/src/tests/non262/RegExp/regress-119909.js diff --git a/js/src/tests/ecma_3/RegExp/regress-122076.js b/js/src/tests/non262/RegExp/regress-122076.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-122076.js rename to js/src/tests/non262/RegExp/regress-122076.js diff --git a/js/src/tests/ecma_3/RegExp/regress-123437.js b/js/src/tests/non262/RegExp/regress-123437.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-123437.js rename to js/src/tests/non262/RegExp/regress-123437.js diff --git a/js/src/tests/ecma_3/RegExp/regress-165353.js b/js/src/tests/non262/RegExp/regress-165353.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-165353.js rename to js/src/tests/non262/RegExp/regress-165353.js diff --git a/js/src/tests/ecma_3/RegExp/regress-169497.js b/js/src/tests/non262/RegExp/regress-169497.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-169497.js rename to js/src/tests/non262/RegExp/regress-169497.js diff --git a/js/src/tests/ecma_3/RegExp/regress-169534.js b/js/src/tests/non262/RegExp/regress-169534.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-169534.js rename to js/src/tests/non262/RegExp/regress-169534.js diff --git a/js/src/tests/ecma_3/RegExp/regress-187133.js b/js/src/tests/non262/RegExp/regress-187133.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-187133.js rename to js/src/tests/non262/RegExp/regress-187133.js diff --git a/js/src/tests/ecma_3/RegExp/regress-188206.js b/js/src/tests/non262/RegExp/regress-188206.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-188206.js rename to js/src/tests/non262/RegExp/regress-188206.js diff --git a/js/src/tests/ecma_3/RegExp/regress-191479.js b/js/src/tests/non262/RegExp/regress-191479.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-191479.js rename to js/src/tests/non262/RegExp/regress-191479.js diff --git a/js/src/tests/ecma_3/RegExp/regress-202564.js b/js/src/tests/non262/RegExp/regress-202564.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-202564.js rename to js/src/tests/non262/RegExp/regress-202564.js diff --git a/js/src/tests/ecma_3/RegExp/regress-209067.js b/js/src/tests/non262/RegExp/regress-209067.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-209067.js rename to js/src/tests/non262/RegExp/regress-209067.js diff --git a/js/src/tests/ecma_3/RegExp/regress-209919.js b/js/src/tests/non262/RegExp/regress-209919.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-209919.js rename to js/src/tests/non262/RegExp/regress-209919.js diff --git a/js/src/tests/ecma_3/RegExp/regress-216591.js b/js/src/tests/non262/RegExp/regress-216591.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-216591.js rename to js/src/tests/non262/RegExp/regress-216591.js diff --git a/js/src/tests/ecma_3/RegExp/regress-220367-001.js b/js/src/tests/non262/RegExp/regress-220367-001.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-220367-001.js rename to js/src/tests/non262/RegExp/regress-220367-001.js diff --git a/js/src/tests/ecma_3/RegExp/regress-223273.js b/js/src/tests/non262/RegExp/regress-223273.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-223273.js rename to js/src/tests/non262/RegExp/regress-223273.js diff --git a/js/src/tests/ecma_3/RegExp/regress-223535.js b/js/src/tests/non262/RegExp/regress-223535.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-223535.js rename to js/src/tests/non262/RegExp/regress-223535.js diff --git a/js/src/tests/ecma_3/RegExp/regress-224676.js b/js/src/tests/non262/RegExp/regress-224676.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-224676.js rename to js/src/tests/non262/RegExp/regress-224676.js diff --git a/js/src/tests/ecma_3/RegExp/regress-225289.js b/js/src/tests/non262/RegExp/regress-225289.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-225289.js rename to js/src/tests/non262/RegExp/regress-225289.js diff --git a/js/src/tests/ecma_3/RegExp/regress-225343.js b/js/src/tests/non262/RegExp/regress-225343.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-225343.js rename to js/src/tests/non262/RegExp/regress-225343.js diff --git a/js/src/tests/ecma_3/RegExp/regress-24712.js b/js/src/tests/non262/RegExp/regress-24712.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-24712.js rename to js/src/tests/non262/RegExp/regress-24712.js diff --git a/js/src/tests/ecma_3/RegExp/regress-285219.js b/js/src/tests/non262/RegExp/regress-285219.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-285219.js rename to js/src/tests/non262/RegExp/regress-285219.js diff --git a/js/src/tests/ecma_3/RegExp/regress-28686.js b/js/src/tests/non262/RegExp/regress-28686.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-28686.js rename to js/src/tests/non262/RegExp/regress-28686.js diff --git a/js/src/tests/ecma_3_1/RegExp/regress-305064.js b/js/src/tests/non262/RegExp/regress-305064.js similarity index 100% rename from js/src/tests/ecma_3_1/RegExp/regress-305064.js rename to js/src/tests/non262/RegExp/regress-305064.js diff --git a/js/src/tests/ecma_3/RegExp/regress-307456.js b/js/src/tests/non262/RegExp/regress-307456.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-307456.js rename to js/src/tests/non262/RegExp/regress-307456.js diff --git a/js/src/tests/ecma_3/RegExp/regress-309840.js b/js/src/tests/non262/RegExp/regress-309840.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-309840.js rename to js/src/tests/non262/RegExp/regress-309840.js diff --git a/js/src/tests/ecma_3/RegExp/regress-312351.js b/js/src/tests/non262/RegExp/regress-312351.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-312351.js rename to js/src/tests/non262/RegExp/regress-312351.js diff --git a/js/src/tests/ecma_3/RegExp/regress-31316.js b/js/src/tests/non262/RegExp/regress-31316.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-31316.js rename to js/src/tests/non262/RegExp/regress-31316.js diff --git a/js/src/tests/ecma_3/RegExp/regress-330684.js b/js/src/tests/non262/RegExp/regress-330684.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-330684.js rename to js/src/tests/non262/RegExp/regress-330684.js diff --git a/js/src/tests/ecma_3/RegExp/regress-334158.js b/js/src/tests/non262/RegExp/regress-334158.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-334158.js rename to js/src/tests/non262/RegExp/regress-334158.js diff --git a/js/src/tests/ecma_3/RegExp/regress-346090.js b/js/src/tests/non262/RegExp/regress-346090.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-346090.js rename to js/src/tests/non262/RegExp/regress-346090.js diff --git a/js/src/tests/ecma_3/RegExp/regress-367888.js b/js/src/tests/non262/RegExp/regress-367888.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-367888.js rename to js/src/tests/non262/RegExp/regress-367888.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375642.js b/js/src/tests/non262/RegExp/regress-375642.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375642.js rename to js/src/tests/non262/RegExp/regress-375642.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375651.js b/js/src/tests/non262/RegExp/regress-375651.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375651.js rename to js/src/tests/non262/RegExp/regress-375651.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375711.js b/js/src/tests/non262/RegExp/regress-375711.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375711.js rename to js/src/tests/non262/RegExp/regress-375711.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375715-01-n.js b/js/src/tests/non262/RegExp/regress-375715-01-n.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375715-01-n.js rename to js/src/tests/non262/RegExp/regress-375715-01-n.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375715-02.js b/js/src/tests/non262/RegExp/regress-375715-02.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375715-02.js rename to js/src/tests/non262/RegExp/regress-375715-02.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375715-03.js b/js/src/tests/non262/RegExp/regress-375715-03.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375715-03.js rename to js/src/tests/non262/RegExp/regress-375715-03.js diff --git a/js/src/tests/ecma_3/RegExp/regress-375715-04.js b/js/src/tests/non262/RegExp/regress-375715-04.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-375715-04.js rename to js/src/tests/non262/RegExp/regress-375715-04.js diff --git a/js/src/tests/ecma_5/RegExp/regress-429241.js b/js/src/tests/non262/RegExp/regress-429241.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regress-429241.js rename to js/src/tests/non262/RegExp/regress-429241.js diff --git a/js/src/tests/ecma_3/RegExp/regress-436700.js b/js/src/tests/non262/RegExp/regress-436700.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-436700.js rename to js/src/tests/non262/RegExp/regress-436700.js diff --git a/js/src/tests/ecma_3/RegExp/regress-465862.js b/js/src/tests/non262/RegExp/regress-465862.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-465862.js rename to js/src/tests/non262/RegExp/regress-465862.js diff --git a/js/src/tests/ecma_3/RegExp/regress-57572.js b/js/src/tests/non262/RegExp/regress-57572.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-57572.js rename to js/src/tests/non262/RegExp/regress-57572.js diff --git a/js/src/tests/ecma_3/RegExp/regress-57631.js b/js/src/tests/non262/RegExp/regress-57631.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-57631.js rename to js/src/tests/non262/RegExp/regress-57631.js diff --git a/js/src/tests/ecma_5/RegExp/regress-576828.js b/js/src/tests/non262/RegExp/regress-576828.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regress-576828.js rename to js/src/tests/non262/RegExp/regress-576828.js diff --git a/js/src/tests/ecma_5/RegExp/regress-613820-1.js b/js/src/tests/non262/RegExp/regress-613820-1.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regress-613820-1.js rename to js/src/tests/non262/RegExp/regress-613820-1.js diff --git a/js/src/tests/ecma_5/RegExp/regress-613820-2.js b/js/src/tests/non262/RegExp/regress-613820-2.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regress-613820-2.js rename to js/src/tests/non262/RegExp/regress-613820-2.js diff --git a/js/src/tests/ecma_5/RegExp/regress-613820-3.js b/js/src/tests/non262/RegExp/regress-613820-3.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regress-613820-3.js rename to js/src/tests/non262/RegExp/regress-613820-3.js diff --git a/js/src/tests/ecma_5/RegExp/regress-617935.js b/js/src/tests/non262/RegExp/regress-617935.js similarity index 100% rename from js/src/tests/ecma_5/RegExp/regress-617935.js rename to js/src/tests/non262/RegExp/regress-617935.js diff --git a/js/src/tests/js1_2/regexp/regress-6359.js b/js/src/tests/non262/RegExp/regress-6359.js similarity index 100% rename from js/src/tests/js1_2/regexp/regress-6359.js rename to js/src/tests/non262/RegExp/regress-6359.js diff --git a/js/src/tests/ecma_3/RegExp/regress-67773.js b/js/src/tests/non262/RegExp/regress-67773.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-67773.js rename to js/src/tests/non262/RegExp/regress-67773.js diff --git a/js/src/tests/ecma_3/RegExp/regress-72964.js b/js/src/tests/non262/RegExp/regress-72964.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-72964.js rename to js/src/tests/non262/RegExp/regress-72964.js diff --git a/js/src/tests/ecma_3/RegExp/regress-76683.js b/js/src/tests/non262/RegExp/regress-76683.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-76683.js rename to js/src/tests/non262/RegExp/regress-76683.js diff --git a/js/src/tests/ecma_3/RegExp/regress-78156.js b/js/src/tests/non262/RegExp/regress-78156.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-78156.js rename to js/src/tests/non262/RegExp/regress-78156.js diff --git a/js/src/tests/ecma_3/RegExp/regress-85721.js b/js/src/tests/non262/RegExp/regress-85721.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-85721.js rename to js/src/tests/non262/RegExp/regress-85721.js diff --git a/js/src/tests/ecma_3/RegExp/regress-87231.js b/js/src/tests/non262/RegExp/regress-87231.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-87231.js rename to js/src/tests/non262/RegExp/regress-87231.js diff --git a/js/src/tests/js1_2/regexp/regress-9141.js b/js/src/tests/non262/RegExp/regress-9141.js similarity index 100% rename from js/src/tests/js1_2/regexp/regress-9141.js rename to js/src/tests/non262/RegExp/regress-9141.js diff --git a/js/src/tests/ecma_3/RegExp/regress-98306.js b/js/src/tests/non262/RegExp/regress-98306.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/regress-98306.js rename to js/src/tests/non262/RegExp/regress-98306.js diff --git a/js/src/tests/ecma_6/RegExp/replace-compile-elembase.js b/js/src/tests/non262/RegExp/replace-compile-elembase.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-compile-elembase.js rename to js/src/tests/non262/RegExp/replace-compile-elembase.js diff --git a/js/src/tests/ecma_6/RegExp/replace-compile.js b/js/src/tests/non262/RegExp/replace-compile.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-compile.js rename to js/src/tests/non262/RegExp/replace-compile.js diff --git a/js/src/tests/ecma_6/RegExp/replace-global-unicode.js b/js/src/tests/non262/RegExp/replace-global-unicode.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-global-unicode.js rename to js/src/tests/non262/RegExp/replace-global-unicode.js diff --git a/js/src/tests/ecma_6/RegExp/replace-local-tolength-lastindex.js b/js/src/tests/non262/RegExp/replace-local-tolength-lastindex.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-local-tolength-lastindex.js rename to js/src/tests/non262/RegExp/replace-local-tolength-lastindex.js diff --git a/js/src/tests/ecma_6/RegExp/replace-local-tolength-recompilation.js b/js/src/tests/non262/RegExp/replace-local-tolength-recompilation.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-local-tolength-recompilation.js rename to js/src/tests/non262/RegExp/replace-local-tolength-recompilation.js diff --git a/js/src/tests/ecma_6/RegExp/replace-sticky-lastIndex.js b/js/src/tests/non262/RegExp/replace-sticky-lastIndex.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-sticky-lastIndex.js rename to js/src/tests/non262/RegExp/replace-sticky-lastIndex.js diff --git a/js/src/tests/ecma_6/RegExp/replace-sticky.js b/js/src/tests/non262/RegExp/replace-sticky.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-sticky.js rename to js/src/tests/non262/RegExp/replace-sticky.js diff --git a/js/src/tests/ecma_6/RegExp/replace-this.js b/js/src/tests/non262/RegExp/replace-this.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-this.js rename to js/src/tests/non262/RegExp/replace-this.js diff --git a/js/src/tests/ecma_6/RegExp/replace-trace.js b/js/src/tests/non262/RegExp/replace-trace.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-trace.js rename to js/src/tests/non262/RegExp/replace-trace.js diff --git a/js/src/tests/ecma_6/RegExp/replace-twoBytes.js b/js/src/tests/non262/RegExp/replace-twoBytes.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace-twoBytes.js rename to js/src/tests/non262/RegExp/replace-twoBytes.js diff --git a/js/src/tests/ecma_6/RegExp/replace.js b/js/src/tests/non262/RegExp/replace.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/replace.js rename to js/src/tests/non262/RegExp/replace.js diff --git a/js/src/tests/ecma_6/RegExp/search-this.js b/js/src/tests/non262/RegExp/search-this.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/search-this.js rename to js/src/tests/non262/RegExp/search-this.js diff --git a/js/src/tests/ecma_6/RegExp/search-trace.js b/js/src/tests/non262/RegExp/search-trace.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/search-trace.js rename to js/src/tests/non262/RegExp/search-trace.js diff --git a/js/src/tests/ecma_6/RegExp/search.js b/js/src/tests/non262/RegExp/search.js similarity index 100% rename from js/src/tests/ecma_6/RegExp/search.js rename to js/src/tests/non262/RegExp/search.js diff --git a/js/src/tests/non262/RegExp/shell.js b/js/src/tests/non262/RegExp/shell.js new file mode 100644 index 000000000000..8d52ad35dfba --- /dev/null +++ b/js/src/tests/non262/RegExp/shell.js @@ -0,0 +1,256 @@ +/* -*- tab-width: 2; indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * Date: 07 February 2001 + * + * Functionality common to RegExp testing - + */ +//----------------------------------------------------------------------------- + +(function(global) { + + var MSG_PATTERN = '\nregexp = '; + var MSG_STRING = '\nstring = '; + var MSG_EXPECT = '\nExpect: '; + var MSG_ACTUAL = '\nActual: '; + var ERR_LENGTH = '\nERROR !!! match arrays have different lengths:'; + var ERR_MATCH = '\nERROR !!! regexp failed to give expected match array:'; + var ERR_NO_MATCH = '\nERROR !!! regexp FAILED to match anything !!!'; + var ERR_UNEXP_MATCH = '\nERROR !!! regexp MATCHED when we expected it to fail !!!'; + var CHAR_LBRACKET = '['; + var CHAR_RBRACKET = ']'; + var CHAR_QT_DBL = '"'; + var CHAR_QT = "'"; + var CHAR_NL = '\n'; + var CHAR_COMMA = ','; + var CHAR_SPACE = ' '; + var TYPE_STRING = typeof 'abc'; + + + + global.testRegExp = function testRegExp(statuses, patterns, strings, actualmatches, expectedmatches) + { + var status = ''; + var pattern = new RegExp(); + var string = ''; + var actualmatch = new Array(); + var expectedmatch = new Array(); + var state = ''; + var lActual = -1; + var lExpect = -1; + + + for (var i=0; i != patterns.length; i++) + { + status = statuses[i]; + pattern = patterns[i]; + string = strings[i]; + actualmatch=actualmatches[i]; + expectedmatch=expectedmatches[i]; + state = getState(status, pattern, string); + + description = status; + + if(actualmatch) + { + actual = formatArray(actualmatch); + if(expectedmatch) + { + // expectedmatch and actualmatch are arrays - + lExpect = expectedmatch.length; + lActual = actualmatch.length; + + var expected = formatArray(expectedmatch); + + if (lActual != lExpect) + { + reportCompare(lExpect, lActual, + state + ERR_LENGTH + + MSG_EXPECT + expected + + MSG_ACTUAL + actual + + CHAR_NL + ); + continue; + } + + // OK, the arrays have same length - + if (expected != actual) + { + reportCompare(expected, actual, + state + ERR_MATCH + + MSG_EXPECT + expected + + MSG_ACTUAL + actual + + CHAR_NL + ); + } + else + { + reportCompare(expected, actual, state) + } + + } + else //expectedmatch is null - that is, we did not expect a match - + { + expected = expectedmatch; + reportCompare(expected, actual, + state + ERR_UNEXP_MATCH + + MSG_EXPECT + expectedmatch + + MSG_ACTUAL + actual + + CHAR_NL + ); + } + + } + else // actualmatch is null + { + if (expectedmatch) + { + actual = actualmatch; + reportCompare(expected, actual, + state + ERR_NO_MATCH + + MSG_EXPECT + expectedmatch + + MSG_ACTUAL + actualmatch + + CHAR_NL + ); + } + else // we did not expect a match + { + // Being ultra-cautious. Presumably expectedmatch===actualmatch===null + expected = expectedmatch; + actual = actualmatch; + reportCompare (expectedmatch, actualmatch, state); + } + } + } + } + + function getState(status, pattern, string) + { + /* + * Escape \n's, etc. to make them LITERAL in the presentation string. + * We don't have to worry about this in |pattern|; such escaping is + * done automatically by pattern.toString(), invoked implicitly below. + * + * One would like to simply do: string = string.replace(/(\s)/g, '\$1'). + * However, the backreference $1 is not a literal string value, + * so this method doesn't work. + * + * Also tried string = string.replace(/(\s)/g, escape('$1')); + * but this just inserts the escape of the literal '$1', i.e. '%241'. + */ + string = string.replace(/\n/g, '\\n'); + string = string.replace(/\r/g, '\\r'); + string = string.replace(/\t/g, '\\t'); + string = string.replace(/\v/g, '\\v'); + string = string.replace(/\f/g, '\\f'); + + return (status + MSG_PATTERN + pattern + MSG_STRING + singleQuote(string)); + } + + + + /* + * If available, arr.toSource() gives more detail than arr.toString() + * + * var arr = Array(1,2,'3'); + * + * arr.toSource() + * [1, 2, "3"] + * + * arr.toString() + * 1,2,3 + * + * But toSource() doesn't exist in Rhino, so use our own imitation, below - + * + */ + function formatArray(arr) + { + try + { + return arr.toSource(); + } + catch(e) + { + return toSource(arr); + } + } + + + /* + * Imitate SpiderMonkey's arr.toSource() method: + * + * a) Double-quote each array element that is of string type + * b) Represent |undefined| and |null| by empty strings + * c) Delimit elements by a comma + single space + * d) Do not add delimiter at the end UNLESS the last element is |undefined| + * e) Add square brackets to the beginning and end of the string + */ + function toSource(arr) + { + var delim = CHAR_COMMA + CHAR_SPACE; + var elt = ''; + var ret = ''; + var len = arr.length; + + for (i=0; i>> 0; + return !("" + u == p && u != 0xffffffff); + } + + function assertIsCloneOf(a, b, path) { + assertEq(a === b, false); + + var ca = classOf(a); + assertEq(ca, classOf(b), path); + + assertEq(Object.getPrototypeOf(a), + ca == "[object Object]" ? Object.prototype : Array.prototype, + path); + + // 'b', the original object, may have non-enumerable or XMLName + // properties; ignore them. 'a', the clone, should not have any + // non-enumerable properties (except .length, if it's an Array) or + // XMLName properties. + var pb = ownProperties(b).filter(isCloneable); + var pa = ownProperties(a); + for (var i = 0; i < pa.length; i++) { + assertEq(typeof pa[i][0], "string", "clone should not have E4X properties " + path); + if (!pa[i][1].enumerable) { + if (Array.isArray(a) && pa[i][0] == "length") { + // remove it so that the comparisons below will work + pa.splice(i, 1); + i--; + } else { + throw new Error("non-enumerable clone property " + uneval(pa[i][0]) + " " + path); + } + } + } + + // Check that, apart from properties whose names are array indexes, + // the enumerable properties appear in the same order. + var aNames = pa.map(function (pair) { return pair[1]; }).filter(notIndex); + var bNames = pa.map(function (pair) { return pair[1]; }).filter(notIndex); + assertEq(aNames.join(","), bNames.join(","), path); + + // Check that the lists are the same when including array indexes. + function byName(a, b) { a = a[0]; b = b[0]; return a < b ? -1 : a === b ? 0 : 1; } + pa.sort(byName); + pb.sort(byName); + assertEq(pa.length, pb.length, "should see the same number of properties " + path); + for (var i = 0; i < pa.length; i++) { + var aName = pa[i][0]; + var bName = pb[i][0]; + assertEq(aName, bName, path); + + var path2 = path + "." + aName; + var da = pa[i][1]; + var db = pb[i][1]; + assertEq(da.configurable, true, path2); + assertEq(da.writable, true, path2); + assertEq("value" in da, true, path2); + var va = da.value; + var vb = b[pb[i][0]]; + if (typeof va === "object" && va !== null) + queue.push([va, vb, path2]); + else + assertEq(va, vb, path2); + } + } + + var banner = "while testing clone of " + (desc || uneval(b)); + var a = deserialize(serialize(b)); + var queue = [[a, b, banner]]; + while (queue.length) { + var triple = queue.shift(); + assertIsCloneOf(triple[0], triple[1], triple[2]); + } + + return a; // for further testing + } + global.clone_object_check = clone_object_check; + +})(this); diff --git a/js/src/tests/js1_8/extensions/simple-tree.js b/js/src/tests/non262/extensions/simple-tree.js similarity index 100% rename from js/src/tests/js1_8/extensions/simple-tree.js rename to js/src/tests/non262/extensions/simple-tree.js diff --git a/js/src/tests/js1_8_5/extensions/sps-generators.js b/js/src/tests/non262/extensions/sps-generators.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/sps-generators.js rename to js/src/tests/non262/extensions/sps-generators.js diff --git a/js/src/tests/ecma_5/extensions/strict-function-toSource.js b/js/src/tests/non262/extensions/strict-function-toSource.js similarity index 100% rename from js/src/tests/ecma_5/extensions/strict-function-toSource.js rename to js/src/tests/non262/extensions/strict-function-toSource.js diff --git a/js/src/tests/ecma_5/extensions/strict-option-redeclared-parameter.js b/js/src/tests/non262/extensions/strict-option-redeclared-parameter.js similarity index 100% rename from js/src/tests/ecma_5/extensions/strict-option-redeclared-parameter.js rename to js/src/tests/non262/extensions/strict-option-redeclared-parameter.js diff --git a/js/src/tests/js1_8_1/extensions/strict-warning.js b/js/src/tests/non262/extensions/strict-warning.js similarity index 100% rename from js/src/tests/js1_8_1/extensions/strict-warning.js rename to js/src/tests/non262/extensions/strict-warning.js diff --git a/js/src/tests/ecma_5/extensions/string-literal-getter-setter-decompilation.js b/js/src/tests/non262/extensions/string-literal-getter-setter-decompilation.js similarity index 100% rename from js/src/tests/ecma_5/extensions/string-literal-getter-setter-decompilation.js rename to js/src/tests/non262/extensions/string-literal-getter-setter-decompilation.js diff --git a/js/src/tests/js1_8_5/extensions/symbol-uneval.js b/js/src/tests/non262/extensions/symbol-uneval.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/symbol-uneval.js rename to js/src/tests/non262/extensions/symbol-uneval.js diff --git a/js/src/tests/ecma_6/toLength.js b/js/src/tests/non262/extensions/toLength.js similarity index 100% rename from js/src/tests/ecma_6/toLength.js rename to js/src/tests/non262/extensions/toLength.js diff --git a/js/src/tests/ecma_5/extensions/toLocaleString-infinite-recursion.js b/js/src/tests/non262/extensions/toLocaleString-infinite-recursion.js similarity index 100% rename from js/src/tests/ecma_5/extensions/toLocaleString-infinite-recursion.js rename to js/src/tests/non262/extensions/toLocaleString-infinite-recursion.js diff --git a/js/src/tests/js1_8_5/extensions/toSource-0.js b/js/src/tests/non262/extensions/toSource-0.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/toSource-0.js rename to js/src/tests/non262/extensions/toSource-0.js diff --git a/js/src/tests/ecma_5/extensions/toSource-infinite-recursion.js b/js/src/tests/non262/extensions/toSource-infinite-recursion.js similarity index 100% rename from js/src/tests/ecma_5/extensions/toSource-infinite-recursion.js rename to js/src/tests/non262/extensions/toSource-infinite-recursion.js diff --git a/js/src/tests/ecma_6/extensions/too-many-arguments-constructing-bound-function.js b/js/src/tests/non262/extensions/too-many-arguments-constructing-bound-function.js similarity index 100% rename from js/src/tests/ecma_6/extensions/too-many-arguments-constructing-bound-function.js rename to js/src/tests/non262/extensions/too-many-arguments-constructing-bound-function.js diff --git a/js/src/tests/js1_8_5/extensions/typedarray-copyWithin-arguments-detaching.js b/js/src/tests/non262/extensions/typedarray-copyWithin-arguments-detaching.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/typedarray-copyWithin-arguments-detaching.js rename to js/src/tests/non262/extensions/typedarray-copyWithin-arguments-detaching.js diff --git a/js/src/tests/js1_8_5/extensions/typedarray-set-neutering.js b/js/src/tests/non262/extensions/typedarray-set-neutering.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/typedarray-set-neutering.js rename to js/src/tests/non262/extensions/typedarray-set-neutering.js diff --git a/js/src/tests/js1_8_5/extensions/typedarray-subarray-of-subarray.js b/js/src/tests/non262/extensions/typedarray-subarray-of-subarray.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/typedarray-subarray-of-subarray.js rename to js/src/tests/non262/extensions/typedarray-subarray-of-subarray.js diff --git a/js/src/tests/js1_8_5/extensions/typedarray.js b/js/src/tests/non262/extensions/typedarray.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/typedarray.js rename to js/src/tests/non262/extensions/typedarray.js diff --git a/js/src/tests/js1_8_5/extensions/weakmap.js b/js/src/tests/non262/extensions/weakmap.js similarity index 100% rename from js/src/tests/js1_8_5/extensions/weakmap.js rename to js/src/tests/non262/extensions/weakmap.js diff --git a/js/src/tests/js1_7/geniter/326466-01.js b/js/src/tests/non262/generators/326466-01.js similarity index 100% rename from js/src/tests/js1_7/geniter/326466-01.js rename to js/src/tests/non262/generators/326466-01.js diff --git a/js/src/tests/ecma_2018/AsyncGenerators/browser.js b/js/src/tests/non262/generators/browser.js similarity index 100% rename from js/src/tests/ecma_2018/AsyncGenerators/browser.js rename to js/src/tests/non262/generators/browser.js diff --git a/js/src/tests/ecma_6/Generators/construct-newtarget.js b/js/src/tests/non262/generators/construct-newtarget.js similarity index 100% rename from js/src/tests/ecma_6/Generators/construct-newtarget.js rename to js/src/tests/non262/generators/construct-newtarget.js diff --git a/js/src/tests/ecma_6/Generators/create-function-parse-before-getprototype.js b/js/src/tests/non262/generators/create-function-parse-before-getprototype.js similarity index 100% rename from js/src/tests/ecma_6/Generators/create-function-parse-before-getprototype.js rename to js/src/tests/non262/generators/create-function-parse-before-getprototype.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-1.js b/js/src/tests/non262/generators/delegating-yield-1.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-1.js rename to js/src/tests/non262/generators/delegating-yield-1.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-10.js b/js/src/tests/non262/generators/delegating-yield-10.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-10.js rename to js/src/tests/non262/generators/delegating-yield-10.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-11.js b/js/src/tests/non262/generators/delegating-yield-11.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-11.js rename to js/src/tests/non262/generators/delegating-yield-11.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-12.js b/js/src/tests/non262/generators/delegating-yield-12.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-12.js rename to js/src/tests/non262/generators/delegating-yield-12.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-2.js b/js/src/tests/non262/generators/delegating-yield-2.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-2.js rename to js/src/tests/non262/generators/delegating-yield-2.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-3.js b/js/src/tests/non262/generators/delegating-yield-3.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-3.js rename to js/src/tests/non262/generators/delegating-yield-3.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-4.js b/js/src/tests/non262/generators/delegating-yield-4.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-4.js rename to js/src/tests/non262/generators/delegating-yield-4.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-5.js b/js/src/tests/non262/generators/delegating-yield-5.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-5.js rename to js/src/tests/non262/generators/delegating-yield-5.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-6.js b/js/src/tests/non262/generators/delegating-yield-6.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-6.js rename to js/src/tests/non262/generators/delegating-yield-6.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-7.js b/js/src/tests/non262/generators/delegating-yield-7.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-7.js rename to js/src/tests/non262/generators/delegating-yield-7.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-8.js b/js/src/tests/non262/generators/delegating-yield-8.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-8.js rename to js/src/tests/non262/generators/delegating-yield-8.js diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-9.js b/js/src/tests/non262/generators/delegating-yield-9.js similarity index 100% rename from js/src/tests/ecma_6/Generators/delegating-yield-9.js rename to js/src/tests/non262/generators/delegating-yield-9.js diff --git a/js/src/tests/js1_7/geniter/fibonacci-matrix-generator.js b/js/src/tests/non262/generators/fibonacci-matrix-generator.js similarity index 100% rename from js/src/tests/js1_7/geniter/fibonacci-matrix-generator.js rename to js/src/tests/non262/generators/fibonacci-matrix-generator.js diff --git a/js/src/tests/ecma_6/Generators/forbidden-as-consequent.js b/js/src/tests/non262/generators/forbidden-as-consequent.js similarity index 100% rename from js/src/tests/ecma_6/Generators/forbidden-as-consequent.js rename to js/src/tests/non262/generators/forbidden-as-consequent.js diff --git a/js/src/tests/js1_7/geniter/gen-with-call-obj.js b/js/src/tests/non262/generators/gen-with-call-obj.js similarity index 100% rename from js/src/tests/js1_7/geniter/gen-with-call-obj.js rename to js/src/tests/non262/generators/gen-with-call-obj.js diff --git a/js/src/tests/ecma_6/Generators/iteration.js b/js/src/tests/non262/generators/iteration.js similarity index 100% rename from js/src/tests/ecma_6/Generators/iteration.js rename to js/src/tests/non262/generators/iteration.js diff --git a/js/src/tests/ecma_6/Generators/iterator-next-non-object.js b/js/src/tests/non262/generators/iterator-next-non-object.js similarity index 100% rename from js/src/tests/ecma_6/Generators/iterator-next-non-object.js rename to js/src/tests/non262/generators/iterator-next-non-object.js diff --git a/js/src/tests/js1_7/geniter/iterator-toString.js b/js/src/tests/non262/generators/iterator-toString.js similarity index 100% rename from js/src/tests/js1_7/geniter/iterator-toString.js rename to js/src/tests/non262/generators/iterator-toString.js diff --git a/js/src/tests/js1_7/geniter/nested-yield.js b/js/src/tests/non262/generators/nested-yield.js similarity index 100% rename from js/src/tests/js1_7/geniter/nested-yield.js rename to js/src/tests/non262/generators/nested-yield.js diff --git a/js/src/tests/ecma_6/Generators/objects.js b/js/src/tests/non262/generators/objects.js similarity index 100% rename from js/src/tests/ecma_6/Generators/objects.js rename to js/src/tests/non262/generators/objects.js diff --git a/js/src/tests/js1_7/geniter/pi-generator.js b/js/src/tests/non262/generators/pi-generator.js similarity index 100% rename from js/src/tests/js1_7/geniter/pi-generator.js rename to js/src/tests/non262/generators/pi-generator.js diff --git a/js/src/tests/ecma_6/Generators/properties.js b/js/src/tests/non262/generators/properties.js similarity index 100% rename from js/src/tests/ecma_6/Generators/properties.js rename to js/src/tests/non262/generators/properties.js diff --git a/js/src/tests/js1_7/geniter/regress-345855.js b/js/src/tests/non262/generators/regress-345855.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-345855.js rename to js/src/tests/non262/generators/regress-345855.js diff --git a/js/src/tests/js1_7/geniter/regress-345879-01.js b/js/src/tests/non262/generators/regress-345879-01.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-345879-01.js rename to js/src/tests/non262/generators/regress-345879-01.js diff --git a/js/src/tests/js1_7/geniter/regress-349362.js b/js/src/tests/non262/generators/regress-349362.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-349362.js rename to js/src/tests/non262/generators/regress-349362.js diff --git a/js/src/tests/js1_7/geniter/regress-349851.js b/js/src/tests/non262/generators/regress-349851.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-349851.js rename to js/src/tests/non262/generators/regress-349851.js diff --git a/js/src/tests/js1_7/geniter/regress-350809.js b/js/src/tests/non262/generators/regress-350809.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-350809.js rename to js/src/tests/non262/generators/regress-350809.js diff --git a/js/src/tests/js1_7/geniter/regress-351120.js b/js/src/tests/non262/generators/regress-351120.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-351120.js rename to js/src/tests/non262/generators/regress-351120.js diff --git a/js/src/tests/js1_7/geniter/regress-359062.js b/js/src/tests/non262/generators/regress-359062.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-359062.js rename to js/src/tests/non262/generators/regress-359062.js diff --git a/js/src/tests/js1_7/geniter/regress-366941.js b/js/src/tests/non262/generators/regress-366941.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-366941.js rename to js/src/tests/non262/generators/regress-366941.js diff --git a/js/src/tests/js1_8/genexps/regress-384991.js b/js/src/tests/non262/generators/regress-384991.js similarity index 100% rename from js/src/tests/js1_8/genexps/regress-384991.js rename to js/src/tests/non262/generators/regress-384991.js diff --git a/js/src/tests/js1_7/geniter/regress-466206.js b/js/src/tests/non262/generators/regress-466206.js similarity index 100% rename from js/src/tests/js1_7/geniter/regress-466206.js rename to js/src/tests/non262/generators/regress-466206.js diff --git a/js/src/tests/ecma_6/Generators/return-finally.js b/js/src/tests/non262/generators/return-finally.js similarity index 100% rename from js/src/tests/ecma_6/Generators/return-finally.js rename to js/src/tests/non262/generators/return-finally.js diff --git a/js/src/tests/ecma_6/Generators/runtime.js b/js/src/tests/non262/generators/runtime.js similarity index 100% rename from js/src/tests/ecma_6/Generators/runtime.js rename to js/src/tests/non262/generators/runtime.js diff --git a/js/src/tests/ecma_6/Generators/shell.js b/js/src/tests/non262/generators/shell.js similarity index 100% rename from js/src/tests/ecma_6/Generators/shell.js rename to js/src/tests/non262/generators/shell.js diff --git a/js/src/tests/js1_7/geniter/simple-fib.js b/js/src/tests/non262/generators/simple-fib.js similarity index 100% rename from js/src/tests/js1_7/geniter/simple-fib.js rename to js/src/tests/non262/generators/simple-fib.js diff --git a/js/src/tests/ecma_6/Generators/subclass.js b/js/src/tests/non262/generators/subclass.js similarity index 100% rename from js/src/tests/ecma_6/Generators/subclass.js rename to js/src/tests/non262/generators/subclass.js diff --git a/js/src/tests/ecma_6/Generators/syntax.js b/js/src/tests/non262/generators/syntax.js similarity index 100% rename from js/src/tests/ecma_6/Generators/syntax.js rename to js/src/tests/non262/generators/syntax.js diff --git a/js/src/tests/ecma_6/Generators/yield-error.js b/js/src/tests/non262/generators/yield-error.js similarity index 100% rename from js/src/tests/ecma_6/Generators/yield-error.js rename to js/src/tests/non262/generators/yield-error.js diff --git a/js/src/tests/ecma_6/Generators/yield-iterator-close.js b/js/src/tests/non262/generators/yield-iterator-close.js similarity index 100% rename from js/src/tests/ecma_6/Generators/yield-iterator-close.js rename to js/src/tests/non262/generators/yield-iterator-close.js diff --git a/js/src/tests/ecma_6/Generators/yield-non-regexp.js b/js/src/tests/non262/generators/yield-non-regexp.js similarity index 100% rename from js/src/tests/ecma_6/Generators/yield-non-regexp.js rename to js/src/tests/non262/generators/yield-non-regexp.js diff --git a/js/src/tests/ecma_6/Generators/yield-star-iterator-close.js b/js/src/tests/non262/generators/yield-star-iterator-close.js similarity index 100% rename from js/src/tests/ecma_6/Generators/yield-star-iterator-close.js rename to js/src/tests/non262/generators/yield-star-iterator-close.js diff --git a/js/src/tests/ecma_6/Generators/yield-star-iterator-primitive.js b/js/src/tests/non262/generators/yield-star-iterator-primitive.js similarity index 100% rename from js/src/tests/ecma_6/Generators/yield-star-iterator-primitive.js rename to js/src/tests/non262/generators/yield-star-iterator-primitive.js diff --git a/js/src/tests/ecma_2018/Pipeline/browser.js b/js/src/tests/non262/get-set/browser.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/browser.js rename to js/src/tests/non262/get-set/browser.js diff --git a/js/src/tests/js1_5/GetSet/getset-002.js b/js/src/tests/non262/get-set/getset-002.js similarity index 100% rename from js/src/tests/js1_5/GetSet/getset-002.js rename to js/src/tests/non262/get-set/getset-002.js diff --git a/js/src/tests/js1_5/GetSet/regress-375976.js b/js/src/tests/non262/get-set/regress-375976.js similarity index 100% rename from js/src/tests/js1_5/GetSet/regress-375976.js rename to js/src/tests/non262/get-set/regress-375976.js diff --git a/js/src/tests/ecma_2/shell.js b/js/src/tests/non262/get-set/shell.js similarity index 100% rename from js/src/tests/ecma_2/shell.js rename to js/src/tests/non262/get-set/shell.js diff --git a/js/src/tests/ecma_5/Global/adding-global-var-nonextensible-error.js b/js/src/tests/non262/global/adding-global-var-nonextensible-error.js similarity index 100% rename from js/src/tests/ecma_5/Global/adding-global-var-nonextensible-error.js rename to js/src/tests/non262/global/adding-global-var-nonextensible-error.js diff --git a/js/src/tests/ecma_2018/RegExp/browser.js b/js/src/tests/non262/global/browser.js similarity index 100% rename from js/src/tests/ecma_2018/RegExp/browser.js rename to js/src/tests/non262/global/browser.js diff --git a/js/src/tests/ecma_5/Global/bug-320887.js b/js/src/tests/non262/global/bug-320887.js similarity index 100% rename from js/src/tests/ecma_5/Global/bug-320887.js rename to js/src/tests/non262/global/bug-320887.js diff --git a/js/src/tests/ecma_5/Global/bug660612.js b/js/src/tests/non262/global/bug660612.js similarity index 100% rename from js/src/tests/ecma_5/Global/bug660612.js rename to js/src/tests/non262/global/bug660612.js diff --git a/js/src/tests/ecma_5/Global/cross-global-implicit-this.js b/js/src/tests/non262/global/cross-global-implicit-this.js similarity index 100% rename from js/src/tests/ecma_5/Global/cross-global-implicit-this.js rename to js/src/tests/non262/global/cross-global-implicit-this.js diff --git a/js/src/tests/ecma_5/Global/decodeURI-decodes-FFFE-FFFF.js b/js/src/tests/non262/global/decodeURI-decodes-FFFE-FFFF.js similarity index 100% rename from js/src/tests/ecma_5/Global/decodeURI-decodes-FFFE-FFFF.js rename to js/src/tests/non262/global/decodeURI-decodes-FFFE-FFFF.js diff --git a/js/src/tests/ecma_5/Global/delete-global-NaN-property.js b/js/src/tests/non262/global/delete-global-NaN-property.js similarity index 100% rename from js/src/tests/ecma_5/Global/delete-global-NaN-property.js rename to js/src/tests/non262/global/delete-global-NaN-property.js diff --git a/js/src/tests/ecma_5/Global/direct-eval-but-not.js b/js/src/tests/non262/global/direct-eval-but-not.js similarity index 100% rename from js/src/tests/ecma_5/Global/direct-eval-but-not.js rename to js/src/tests/non262/global/direct-eval-but-not.js diff --git a/js/src/tests/ecma_5/Global/eval-01.js b/js/src/tests/non262/global/eval-01.js similarity index 100% rename from js/src/tests/ecma_5/Global/eval-01.js rename to js/src/tests/non262/global/eval-01.js diff --git a/js/src/tests/ecma_5/Global/eval-02.js b/js/src/tests/non262/global/eval-02.js similarity index 100% rename from js/src/tests/ecma_5/Global/eval-02.js rename to js/src/tests/non262/global/eval-02.js diff --git a/js/src/tests/ecma_5/Global/eval-in-strict-eval-in-normal-function.js b/js/src/tests/non262/global/eval-in-strict-eval-in-normal-function.js similarity index 100% rename from js/src/tests/ecma_5/Global/eval-in-strict-eval-in-normal-function.js rename to js/src/tests/non262/global/eval-in-strict-eval-in-normal-function.js diff --git a/js/src/tests/ecma_5/Global/eval-inside-with-is-direct.js b/js/src/tests/non262/global/eval-inside-with-is-direct.js similarity index 100% rename from js/src/tests/ecma_5/Global/eval-inside-with-is-direct.js rename to js/src/tests/non262/global/eval-inside-with-is-direct.js diff --git a/js/src/tests/ecma_5/Global/eval-native-callback-is-indirect.js b/js/src/tests/non262/global/eval-native-callback-is-indirect.js similarity index 100% rename from js/src/tests/ecma_5/Global/eval-native-callback-is-indirect.js rename to js/src/tests/non262/global/eval-native-callback-is-indirect.js diff --git a/js/src/tests/ecma_5/Global/parenthesized-eval-is-direct.js b/js/src/tests/non262/global/parenthesized-eval-is-direct.js similarity index 100% rename from js/src/tests/ecma_5/Global/parenthesized-eval-is-direct.js rename to js/src/tests/non262/global/parenthesized-eval-is-direct.js diff --git a/js/src/tests/ecma_5/Global/parseFloat-01.js b/js/src/tests/non262/global/parseFloat-01.js similarity index 100% rename from js/src/tests/ecma_5/Global/parseFloat-01.js rename to js/src/tests/non262/global/parseFloat-01.js diff --git a/js/src/tests/ecma_5/Global/parseInt-01.js b/js/src/tests/non262/global/parseInt-01.js similarity index 100% rename from js/src/tests/ecma_5/Global/parseInt-01.js rename to js/src/tests/non262/global/parseInt-01.js diff --git a/js/src/tests/ecma_5/Global/parseInt-default-to-decimal.js b/js/src/tests/non262/global/parseInt-default-to-decimal.js similarity index 100% rename from js/src/tests/ecma_5/Global/parseInt-default-to-decimal.js rename to js/src/tests/non262/global/parseInt-default-to-decimal.js diff --git a/js/src/tests/ecma_2017/AsyncFunctions/shell.js b/js/src/tests/non262/global/shell.js similarity index 100% rename from js/src/tests/ecma_2017/AsyncFunctions/shell.js rename to js/src/tests/non262/global/shell.js diff --git a/js/src/tests/ecma_2018/Syntax/browser.js b/js/src/tests/non262/iterable/browser.js similarity index 100% rename from js/src/tests/ecma_2018/Syntax/browser.js rename to js/src/tests/non262/iterable/browser.js diff --git a/js/src/tests/js1_7/iterable/regress-340526-01.js b/js/src/tests/non262/iterable/regress-340526-01.js similarity index 100% rename from js/src/tests/js1_7/iterable/regress-340526-01.js rename to js/src/tests/non262/iterable/regress-340526-01.js diff --git a/js/src/tests/js1_7/iterable/regress-341815.js b/js/src/tests/non262/iterable/regress-341815.js similarity index 100% rename from js/src/tests/js1_7/iterable/regress-341815.js rename to js/src/tests/non262/iterable/regress-341815.js diff --git a/js/src/tests/js1_7/iterable/regress-341821.js b/js/src/tests/non262/iterable/regress-341821.js similarity index 100% rename from js/src/tests/js1_7/iterable/regress-341821.js rename to js/src/tests/non262/iterable/regress-341821.js diff --git a/js/src/tests/js1_7/iterable/regress-355075-01.js b/js/src/tests/non262/iterable/regress-355075-01.js similarity index 100% rename from js/src/tests/js1_7/iterable/regress-355075-01.js rename to js/src/tests/non262/iterable/regress-355075-01.js diff --git a/js/src/tests/js1_7/iterable/regress-415922.js b/js/src/tests/non262/iterable/regress-415922.js similarity index 100% rename from js/src/tests/js1_7/iterable/regress-415922.js rename to js/src/tests/non262/iterable/regress-415922.js diff --git a/js/src/tests/ecma_2017/Expressions/shell.js b/js/src/tests/non262/iterable/shell.js similarity index 100% rename from js/src/tests/ecma_2017/Expressions/shell.js rename to js/src/tests/non262/iterable/shell.js diff --git a/js/src/tests/ecma_2018/TypedArray/browser.js b/js/src/tests/non262/jit/browser.js similarity index 100% rename from js/src/tests/ecma_2018/TypedArray/browser.js rename to js/src/tests/non262/jit/browser.js diff --git a/js/src/tests/js1_8_1/jit/math-jit-tests.js b/js/src/tests/non262/jit/math-jit-tests.js similarity index 100% rename from js/src/tests/js1_8_1/jit/math-jit-tests.js rename to js/src/tests/non262/jit/math-jit-tests.js diff --git a/js/src/tests/js1_8_1/jit/regress-451673.js b/js/src/tests/non262/jit/regress-451673.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-451673.js rename to js/src/tests/non262/jit/regress-451673.js diff --git a/js/src/tests/js1_8_1/jit/regress-451974-01.js b/js/src/tests/non262/jit/regress-451974-01.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-451974-01.js rename to js/src/tests/non262/jit/regress-451974-01.js diff --git a/js/src/tests/js1_8_1/jit/regress-451974-02.js b/js/src/tests/non262/jit/regress-451974-02.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-451974-02.js rename to js/src/tests/non262/jit/regress-451974-02.js diff --git a/js/src/tests/js1_8_1/jit/regress-452498-01.js b/js/src/tests/non262/jit/regress-452498-01.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-452498-01.js rename to js/src/tests/non262/jit/regress-452498-01.js diff --git a/js/src/tests/js1_8_1/jit/regress-458838.js b/js/src/tests/non262/jit/regress-458838.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-458838.js rename to js/src/tests/non262/jit/regress-458838.js diff --git a/js/src/tests/js1_8_1/jit/regress-469927.js b/js/src/tests/non262/jit/regress-469927.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-469927.js rename to js/src/tests/non262/jit/regress-469927.js diff --git a/js/src/tests/js1_8_1/jit/regress-470739.js b/js/src/tests/non262/jit/regress-470739.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-470739.js rename to js/src/tests/non262/jit/regress-470739.js diff --git a/js/src/tests/js1_8_1/jit/regress-489682.js b/js/src/tests/non262/jit/regress-489682.js similarity index 100% rename from js/src/tests/js1_8_1/jit/regress-489682.js rename to js/src/tests/non262/jit/regress-489682.js diff --git a/js/src/tests/ecma_2017/Function/shell.js b/js/src/tests/non262/jit/shell.js similarity index 100% rename from js/src/tests/ecma_2017/Function/shell.js rename to js/src/tests/non262/jit/shell.js diff --git a/js/src/tests/ecma_2018/browser.js b/js/src/tests/non262/lexical-conventions/browser.js similarity index 100% rename from js/src/tests/ecma_2018/browser.js rename to js/src/tests/non262/lexical-conventions/browser.js diff --git a/js/src/tests/js1_5/LexicalConventions/lexical-001.js b/js/src/tests/non262/lexical-conventions/lexical-001.js similarity index 100% rename from js/src/tests/js1_5/LexicalConventions/lexical-001.js rename to js/src/tests/non262/lexical-conventions/lexical-001.js diff --git a/js/src/tests/js1_5/LexicalConventions/regress-177314.js b/js/src/tests/non262/lexical-conventions/regress-177314.js similarity index 100% rename from js/src/tests/js1_5/LexicalConventions/regress-177314.js rename to js/src/tests/non262/lexical-conventions/regress-177314.js diff --git a/js/src/tests/js1_5/LexicalConventions/regress-469940.js b/js/src/tests/non262/lexical-conventions/regress-469940.js similarity index 100% rename from js/src/tests/js1_5/LexicalConventions/regress-469940.js rename to js/src/tests/non262/lexical-conventions/regress-469940.js diff --git a/js/src/tests/ecma_2017/RegExp/shell.js b/js/src/tests/non262/lexical-conventions/shell.js similarity index 100% rename from js/src/tests/ecma_2017/RegExp/shell.js rename to js/src/tests/non262/lexical-conventions/shell.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-arguments.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-arguments.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-arguments.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-arguments.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-eval.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-eval.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-eval.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-eval.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-generators.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-generators.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-generators.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-generators.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-if.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-if.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-if.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-label.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-label.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-label.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-label.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-notapplicable.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-notapplicable.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-notapplicable.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-notapplicable.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-parameter.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-parameter.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-parameter.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-property.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-property.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-property.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-property.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-same-name.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-same-name.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-same-name.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-same-name.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-with.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-with.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b-with.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b-with.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-annex-b.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-annex-b.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-deprecated-redecl.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-deprecated-redecl.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-deprecated-redecl.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-deprecated-redecl.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-hoisted-tdz.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-hoisted-tdz.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-hoisted-tdz.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-hoisted-tdz.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-strict.js b/js/src/tests/non262/lexical-environment/block-scoped-functions-strict.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/block-scoped-functions-strict.js rename to js/src/tests/non262/lexical-environment/block-scoped-functions-strict.js diff --git a/js/src/tests/ecma_3/Array/browser.js b/js/src/tests/non262/lexical-environment/browser.js similarity index 100% rename from js/src/tests/ecma_3/Array/browser.js rename to js/src/tests/non262/lexical-environment/browser.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/bug-1216623.js b/js/src/tests/non262/lexical-environment/bug-1216623.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/bug-1216623.js rename to js/src/tests/non262/lexical-environment/bug-1216623.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/catch-body.js b/js/src/tests/non262/lexical-environment/catch-body.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/catch-body.js rename to js/src/tests/non262/lexical-environment/catch-body.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/const-declaration-in-for-loop.js b/js/src/tests/non262/lexical-environment/const-declaration-in-for-loop.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/const-declaration-in-for-loop.js rename to js/src/tests/non262/lexical-environment/const-declaration-in-for-loop.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/eval-has-lexical-environment.js b/js/src/tests/non262/lexical-environment/eval-has-lexical-environment.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/eval-has-lexical-environment.js rename to js/src/tests/non262/lexical-environment/eval-has-lexical-environment.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/eval-nondefinable-function.js b/js/src/tests/non262/lexical-environment/eval-nondefinable-function.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/eval-nondefinable-function.js rename to js/src/tests/non262/lexical-environment/eval-nondefinable-function.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/for-loop-with-bindings-added-at-runtime.js b/js/src/tests/non262/lexical-environment/for-loop-with-bindings-added-at-runtime.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/for-loop-with-bindings-added-at-runtime.js rename to js/src/tests/non262/lexical-environment/for-loop-with-bindings-added-at-runtime.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/for-loop.js b/js/src/tests/non262/lexical-environment/for-loop.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/for-loop.js rename to js/src/tests/non262/lexical-environment/for-loop.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/implicit-this-in-with.js b/js/src/tests/non262/lexical-environment/implicit-this-in-with.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/implicit-this-in-with.js rename to js/src/tests/non262/lexical-environment/implicit-this-in-with.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/nondefinable-function-same-script.js b/js/src/tests/non262/lexical-environment/nondefinable-function-same-script.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/nondefinable-function-same-script.js rename to js/src/tests/non262/lexical-environment/nondefinable-function-same-script.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/redeclaring-global-properties.js b/js/src/tests/non262/lexical-environment/redeclaring-global-properties.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/redeclaring-global-properties.js rename to js/src/tests/non262/lexical-environment/redeclaring-global-properties.js diff --git a/js/src/tests/ecma_2017/Statements/shell.js b/js/src/tests/non262/lexical-environment/shell.js similarity index 100% rename from js/src/tests/ecma_2017/Statements/shell.js rename to js/src/tests/non262/lexical-environment/shell.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-basics.js b/js/src/tests/non262/lexical-environment/unscopables-basics.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-basics.js rename to js/src/tests/non262/lexical-environment/unscopables-basics.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-closures.js b/js/src/tests/non262/lexical-environment/unscopables-closures.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-closures.js rename to js/src/tests/non262/lexical-environment/unscopables-closures.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-const.js b/js/src/tests/non262/lexical-environment/unscopables-const.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-const.js rename to js/src/tests/non262/lexical-environment/unscopables-const.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-delete.js b/js/src/tests/non262/lexical-environment/unscopables-delete.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-delete.js rename to js/src/tests/non262/lexical-environment/unscopables-delete.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-getters.js b/js/src/tests/non262/lexical-environment/unscopables-getters.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-getters.js rename to js/src/tests/non262/lexical-environment/unscopables-getters.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js b/js/src/tests/non262/lexical-environment/unscopables-global.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-global.js rename to js/src/tests/non262/lexical-environment/unscopables-global.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-ignored.js b/js/src/tests/non262/lexical-environment/unscopables-ignored.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-ignored.js rename to js/src/tests/non262/lexical-environment/unscopables-ignored.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-miss.js b/js/src/tests/non262/lexical-environment/unscopables-miss.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-miss.js rename to js/src/tests/non262/lexical-environment/unscopables-miss.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-mutation-frozen.js b/js/src/tests/non262/lexical-environment/unscopables-mutation-frozen.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-mutation-frozen.js rename to js/src/tests/non262/lexical-environment/unscopables-mutation-frozen.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-mutation.js b/js/src/tests/non262/lexical-environment/unscopables-mutation.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-mutation.js rename to js/src/tests/non262/lexical-environment/unscopables-mutation.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-proto.js b/js/src/tests/non262/lexical-environment/unscopables-proto.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-proto.js rename to js/src/tests/non262/lexical-environment/unscopables-proto.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-proxy.js b/js/src/tests/non262/lexical-environment/unscopables-proxy.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-proxy.js rename to js/src/tests/non262/lexical-environment/unscopables-proxy.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-strict.js b/js/src/tests/non262/lexical-environment/unscopables-strict.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-strict.js rename to js/src/tests/non262/lexical-environment/unscopables-strict.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/unscopables-tdz.js b/js/src/tests/non262/lexical-environment/unscopables-tdz.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/unscopables-tdz.js rename to js/src/tests/non262/lexical-environment/unscopables-tdz.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval-destructuring.js b/js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval-destructuring.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval-destructuring.js rename to js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval-destructuring.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval-for-of.js b/js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval-for-of.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval-for-of.js rename to js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval-for-of.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval.js b/js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b-eval.js rename to js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b-eval.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b.js b/js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/var-in-catch-body-annex-b.js rename to js/src/tests/non262/lexical-environment/var-in-catch-body-annex-b.js diff --git a/js/src/tests/ecma_6/LexicalEnvironment/with-global-ignores-global-let-variables.js b/js/src/tests/non262/lexical-environment/with-global-ignores-global-let-variables.js similarity index 100% rename from js/src/tests/ecma_6/LexicalEnvironment/with-global-ignores-global-let-variables.js rename to js/src/tests/non262/lexical-environment/with-global-ignores-global-let-variables.js diff --git a/js/src/tests/ecma_3/Date/browser.js b/js/src/tests/non262/lexical/browser.js similarity index 100% rename from js/src/tests/ecma_3/Date/browser.js rename to js/src/tests/non262/lexical/browser.js diff --git a/js/src/tests/js1_7/lexical/regress-336376-01.js b/js/src/tests/non262/lexical/regress-336376-01.js similarity index 100% rename from js/src/tests/js1_7/lexical/regress-336376-01.js rename to js/src/tests/non262/lexical/regress-336376-01.js diff --git a/js/src/tests/js1_7/lexical/regress-346642-04.js b/js/src/tests/non262/lexical/regress-346642-04.js similarity index 100% rename from js/src/tests/js1_7/lexical/regress-346642-04.js rename to js/src/tests/non262/lexical/regress-346642-04.js diff --git a/js/src/tests/js1_7/lexical/regress-351515.js b/js/src/tests/non262/lexical/regress-351515.js similarity index 100% rename from js/src/tests/js1_7/lexical/regress-351515.js rename to js/src/tests/non262/lexical/regress-351515.js diff --git a/js/src/tests/ecma_2017/shell.js b/js/src/tests/non262/lexical/shell.js similarity index 100% rename from js/src/tests/ecma_2017/shell.js rename to js/src/tests/non262/lexical/shell.js diff --git a/js/src/tests/ecma_3/Exceptions/browser.js b/js/src/tests/non262/misc/browser.js similarity index 100% rename from js/src/tests/ecma_3/Exceptions/browser.js rename to js/src/tests/non262/misc/browser.js diff --git a/js/src/tests/ecma_5/misc/bug1126318.js b/js/src/tests/non262/misc/bug1126318.js similarity index 100% rename from js/src/tests/ecma_5/misc/bug1126318.js rename to js/src/tests/non262/misc/bug1126318.js diff --git a/js/src/tests/ecma_5/misc/builtin-methods-reject-null-undefined-this.js b/js/src/tests/non262/misc/builtin-methods-reject-null-undefined-this.js similarity index 100% rename from js/src/tests/ecma_5/misc/builtin-methods-reject-null-undefined-this.js rename to js/src/tests/non262/misc/builtin-methods-reject-null-undefined-this.js diff --git a/js/src/tests/ecma_5/misc/enumerate-undefined.js b/js/src/tests/non262/misc/enumerate-undefined.js similarity index 100% rename from js/src/tests/ecma_5/misc/enumerate-undefined.js rename to js/src/tests/non262/misc/enumerate-undefined.js diff --git a/js/src/tests/ecma_5/misc/error-undefined-message.js b/js/src/tests/non262/misc/error-undefined-message.js similarity index 100% rename from js/src/tests/ecma_5/misc/error-undefined-message.js rename to js/src/tests/non262/misc/error-undefined-message.js diff --git a/js/src/tests/ecma_5/misc/explicit-undefined-optional-argument.js b/js/src/tests/non262/misc/explicit-undefined-optional-argument.js similarity index 100% rename from js/src/tests/ecma_5/misc/explicit-undefined-optional-argument.js rename to js/src/tests/non262/misc/explicit-undefined-optional-argument.js diff --git a/js/src/tests/ecma_5/misc/function-definition-eval.js b/js/src/tests/non262/misc/function-definition-eval.js similarity index 100% rename from js/src/tests/ecma_5/misc/function-definition-eval.js rename to js/src/tests/non262/misc/function-definition-eval.js diff --git a/js/src/tests/ecma_5/misc/function-definition-evaluate.js b/js/src/tests/non262/misc/function-definition-evaluate.js similarity index 100% rename from js/src/tests/ecma_5/misc/function-definition-evaluate.js rename to js/src/tests/non262/misc/function-definition-evaluate.js diff --git a/js/src/tests/ecma_5/misc/future-reserved-words.js b/js/src/tests/non262/misc/future-reserved-words.js similarity index 100% rename from js/src/tests/ecma_5/misc/future-reserved-words.js rename to js/src/tests/non262/misc/future-reserved-words.js diff --git a/js/src/tests/ecma_5/misc/getter-setter-outerize-this.js b/js/src/tests/non262/misc/getter-setter-outerize-this.js similarity index 100% rename from js/src/tests/ecma_5/misc/getter-setter-outerize-this.js rename to js/src/tests/non262/misc/getter-setter-outerize-this.js diff --git a/js/src/tests/ecma_5/misc/global-numeric-properties.js b/js/src/tests/non262/misc/global-numeric-properties.js similarity index 100% rename from js/src/tests/ecma_5/misc/global-numeric-properties.js rename to js/src/tests/non262/misc/global-numeric-properties.js diff --git a/js/src/tests/ecma_5/misc/line-paragraph-separator-parse-as-lineterminator.js b/js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js similarity index 100% rename from js/src/tests/ecma_5/misc/line-paragraph-separator-parse-as-lineterminator.js rename to js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js diff --git a/js/src/tests/ecma_5/misc/new-with-non-constructor.js b/js/src/tests/non262/misc/new-with-non-constructor.js similarity index 100% rename from js/src/tests/ecma_5/misc/new-with-non-constructor.js rename to js/src/tests/non262/misc/new-with-non-constructor.js diff --git a/js/src/tests/ecma_5/misc/redeclare-var-non-writable-property.js b/js/src/tests/non262/misc/redeclare-var-non-writable-property.js similarity index 100% rename from js/src/tests/ecma_5/misc/redeclare-var-non-writable-property.js rename to js/src/tests/non262/misc/redeclare-var-non-writable-property.js diff --git a/js/src/tests/ecma_5/misc/regexp-functions-with-undefined.js b/js/src/tests/non262/misc/regexp-functions-with-undefined.js similarity index 100% rename from js/src/tests/ecma_5/misc/regexp-functions-with-undefined.js rename to js/src/tests/non262/misc/regexp-functions-with-undefined.js diff --git a/js/src/tests/ecma_5/misc/regress-bug632003.js b/js/src/tests/non262/misc/regress-bug632003.js similarity index 100% rename from js/src/tests/ecma_5/misc/regress-bug632003.js rename to js/src/tests/non262/misc/regress-bug632003.js diff --git a/js/src/tests/ecma_2018/Array/shell.js b/js/src/tests/non262/misc/shell.js similarity index 100% rename from js/src/tests/ecma_2018/Array/shell.js rename to js/src/tests/non262/misc/shell.js diff --git a/js/src/tests/ecma_5/misc/syntax-error-end-of-for-head-part.js b/js/src/tests/non262/misc/syntax-error-end-of-for-head-part.js similarity index 100% rename from js/src/tests/ecma_5/misc/syntax-error-end-of-for-head-part.js rename to js/src/tests/non262/misc/syntax-error-end-of-for-head-part.js diff --git a/js/src/tests/ecma_5/misc/unicode-escaped-keyword.js b/js/src/tests/non262/misc/unicode-escaped-keyword.js similarity index 100% rename from js/src/tests/ecma_5/misc/unicode-escaped-keyword.js rename to js/src/tests/non262/misc/unicode-escaped-keyword.js diff --git a/js/src/tests/ecma_5/misc/unicode-identifier-1d17.js b/js/src/tests/non262/misc/unicode-identifier-1d17.js similarity index 100% rename from js/src/tests/ecma_5/misc/unicode-identifier-1d17.js rename to js/src/tests/non262/misc/unicode-identifier-1d17.js diff --git a/js/src/tests/ecma_5/misc/unicode-identifier-82f1.js b/js/src/tests/non262/misc/unicode-identifier-82f1.js similarity index 100% rename from js/src/tests/ecma_5/misc/unicode-identifier-82f1.js rename to js/src/tests/non262/misc/unicode-identifier-82f1.js diff --git a/js/src/tests/ecma_5/misc/unnamed-function.js b/js/src/tests/non262/misc/unnamed-function.js similarity index 100% rename from js/src/tests/ecma_5/misc/unnamed-function.js rename to js/src/tests/non262/misc/unnamed-function.js diff --git a/js/src/tests/ecma_5/misc/unwrapped-no-such-method.js b/js/src/tests/non262/misc/unwrapped-no-such-method.js similarity index 100% rename from js/src/tests/ecma_5/misc/unwrapped-no-such-method.js rename to js/src/tests/non262/misc/unwrapped-no-such-method.js diff --git a/js/src/tests/ecma_6/Module/await-restricted-nested.js b/js/src/tests/non262/module/await-restricted-nested.js similarity index 100% rename from js/src/tests/ecma_6/Module/await-restricted-nested.js rename to js/src/tests/non262/module/await-restricted-nested.js diff --git a/js/src/tests/ecma_3/ExecutionContexts/browser.js b/js/src/tests/non262/module/browser.js similarity index 100% rename from js/src/tests/ecma_3/ExecutionContexts/browser.js rename to js/src/tests/non262/module/browser.js diff --git a/js/src/tests/ecma_2018/AsyncGenerators/shell.js b/js/src/tests/non262/module/shell.js similarity index 100% rename from js/src/tests/ecma_2018/AsyncGenerators/shell.js rename to js/src/tests/non262/module/shell.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.12.js b/js/src/tests/non262/object/15.2.3.12.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.12.js rename to js/src/tests/non262/object/15.2.3.12.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.14-01.js b/js/src/tests/non262/object/15.2.3.14-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.14-01.js rename to js/src/tests/non262/object/15.2.3.14-01.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.3-01.js b/js/src/tests/non262/object/15.2.3.3-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.3-01.js rename to js/src/tests/non262/object/15.2.3.3-01.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.4-01.js b/js/src/tests/non262/object/15.2.3.4-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.4-01.js rename to js/src/tests/non262/object/15.2.3.4-01.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.4-02.js b/js/src/tests/non262/object/15.2.3.4-02.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.4-02.js rename to js/src/tests/non262/object/15.2.3.4-02.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.4-03.js b/js/src/tests/non262/object/15.2.3.4-03.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.4-03.js rename to js/src/tests/non262/object/15.2.3.4-03.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.4-04.js b/js/src/tests/non262/object/15.2.3.4-04.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.4-04.js rename to js/src/tests/non262/object/15.2.3.4-04.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.5-01.js b/js/src/tests/non262/object/15.2.3.5-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.5-01.js rename to js/src/tests/non262/object/15.2.3.5-01.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-define-over-method.js b/js/src/tests/non262/object/15.2.3.6-define-over-method.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.6-define-over-method.js rename to js/src/tests/non262/object/15.2.3.6-define-over-method.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-01-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-01-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-01-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-01-of-32.js index 27cb166d1b18..aea3a41f9268 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-01-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-01-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(1, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-02-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-02-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-02-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-02-of-32.js index 06cb4adff34a..833ecfe93720 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-02-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-02-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(2, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-03-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-03-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-03-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-03-of-32.js index e27e1616f6a2..2f4673c49dd0 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-03-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-03-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(3, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-04-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-04-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-04-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-04-of-32.js index b076aac6567f..7b2b89c87870 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-04-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-04-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(4, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-05-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-05-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-05-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-05-of-32.js index aef1b39a3bb2..87bed4dbe2fe 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-05-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-05-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(5, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-06-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-06-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-06-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-06-of-32.js index 62ab3a15d85c..16b16d22d6f6 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-06-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-06-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(6, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-07-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-07-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-07-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-07-of-32.js index ec036efcb624..2a0509c30a67 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-07-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-07-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(7, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-08-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-08-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-08-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-08-of-32.js index e6d128a562f5..7d49565b4432 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-08-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-08-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(8, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-09-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-09-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-09-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-09-of-32.js index cda038f2dc92..cf8e39e65826 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-09-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-09-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(9, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-10-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-10-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-10-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-10-of-32.js index 326bb688ac6f..a65d17dff140 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-10-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-10-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(10, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-11-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-11-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-11-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-11-of-32.js index 19469531c903..60e07c1c2892 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-11-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-11-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(11, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-12-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-12-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-12-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-12-of-32.js index d9bbadf0c255..69045d0d1d04 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-12-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-12-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(12, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-13-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-13-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-13-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-13-of-32.js index e730ce6756b7..95d39424eee7 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-13-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-13-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(13, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-14-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-14-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-14-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-14-of-32.js index 3becb235ce1e..58bdb5e9f597 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-14-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-14-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(14, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-15-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-15-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-15-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-15-of-32.js index ef0f6bf5ff21..5828adec236f 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-15-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-15-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(15, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-16-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-16-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-16-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-16-of-32.js index 6cad0095cf5c..6e797312d81d 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-16-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-16-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(16, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-17-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-17-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-17-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-17-of-32.js index c0f233a9a0b9..f2dbb6ae9ace 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-17-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-17-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(17, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-18-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-18-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-18-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-18-of-32.js index 2b2affc16ec9..f062ceabf852 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-18-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-18-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(18, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-19-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-19-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-19-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-19-of-32.js index c7c1fa1d90db..96310b7bd727 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-19-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-19-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(19, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-20-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-20-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-20-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-20-of-32.js index 2941f9d2b576..9c3c52a25ff4 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-20-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-20-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(20, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-21-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-21-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-21-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-21-of-32.js index 255caab35900..e3f99899f24b 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-21-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-21-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(21, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-22-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-22-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-22-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-22-of-32.js index 95361b659335..85d6cf964562 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-22-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-22-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(22, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-23-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-23-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-23-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-23-of-32.js index 9b3e28ded604..a1a8d40e3fcd 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-23-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-23-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(23, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-24-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-24-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-24-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-24-of-32.js index 38bb4d0a4e32..ff561a5dd3e3 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-24-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-24-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(24, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-25-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-25-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-25-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-25-of-32.js index 3ae6084c639b..0748343eecac 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-25-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-25-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(25, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-26-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-26-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-26-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-26-of-32.js index c92ba425f530..4ab28fe3869a 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-26-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-26-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(26, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-27-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-27-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-27-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-27-of-32.js index 931361b621b1..f97d13b8f96d 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-27-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-27-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(27, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-28-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-28-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-28-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-28-of-32.js index 6d282c3c3d5c..1d28e785aa6c 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-28-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-28-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(28, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-29-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-29-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-29-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-29-of-32.js index 87bad8188fca..3d72404a0c20 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-29-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-29-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(29, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-30-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-30-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-30-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-30-of-32.js index 71233f7f8f0c..d5ec96f31283 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-30-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-30-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(30, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-31-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-31-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-31-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-31-of-32.js index c248424e43f6..182499268cab 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-31-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-31-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(31, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-32-of-32.js b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-32-of-32.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-32-of-32.js rename to js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-32-of-32.js index 9aa7d0d9200a..6f78157b59d9 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-dictionary-redefinition-32-of-32.js +++ b/js/src/tests/non262/object/15.2.3.6-dictionary-redefinition-32-of-32.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runDictionaryPropertyPresentTestsFraction(32, 32); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-function-length.js b/js/src/tests/non262/object/15.2.3.6-function-length.js similarity index 94% rename from js/src/tests/ecma_5/Object/15.2.3.6-function-length.js rename to js/src/tests/non262/object/15.2.3.6-function-length.js index bc6475c1ffef..ddbb7b9f88bd 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-function-length.js +++ b/js/src/tests/non262/object/15.2.3.6-function-length.js @@ -8,7 +8,7 @@ var summary = 'ES5 Object.defineProperty(O, P, Attributes): Function.length'; print(BUGNUMBER + ": " + summary); -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); /************** * BEGIN TEST * diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-1-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-1-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-1-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-1-of-8.js index b767b610ab2d..2b693853ed13 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-1-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-1-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(1, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-2-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-2-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-2-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-2-of-8.js index 5f04298b4842..483485ab22e9 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-2-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-2-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(2, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-3-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-3-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-3-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-3-of-8.js index 12e19aeb7fab..8dd876e1f65c 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-3-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-3-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(3, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-4-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-4-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-4-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-4-of-8.js index 91e2fde2e3cb..14a2f0907fc0 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-4-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-4-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(4, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-5-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-5-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-5-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-5-of-8.js index 9e5494355c50..d671a8ce497e 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-5-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-5-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(5, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-6-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-6-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-6-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-6-of-8.js index e5a10bbed183..5ff5922429d7 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-6-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-6-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(6, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-7-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-7-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-7-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-7-of-8.js index bab7e2be4d9d..4a792d2f3464 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-7-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-7-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(7, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-8-of-8.js b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-8-of-8.js similarity index 82% rename from js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-8-of-8.js rename to js/src/tests/non262/object/15.2.3.6-middle-redefinition-8-of-8.js index de2411b35481..8cea52815028 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-middle-redefinition-8-of-8.js +++ b/js/src/tests/non262/object/15.2.3.6-middle-redefinition-8-of-8.js @@ -2,5 +2,5 @@ // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); runNonTerminalPropertyPresentTestsFraction(8, 8); diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-miscellaneous.js b/js/src/tests/non262/object/15.2.3.6-miscellaneous.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.6-miscellaneous.js rename to js/src/tests/non262/object/15.2.3.6-miscellaneous.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-new-definition.js b/js/src/tests/non262/object/15.2.3.6-new-definition.js similarity index 94% rename from js/src/tests/ecma_5/Object/15.2.3.6-new-definition.js rename to js/src/tests/non262/object/15.2.3.6-new-definition.js index ce5c38839e65..7f938203e9eb 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-new-definition.js +++ b/js/src/tests/non262/object/15.2.3.6-new-definition.js @@ -8,7 +8,7 @@ var summary = 'ES5 Object.defineProperty(O, P, Attributes): new definition'; print(BUGNUMBER + ": " + summary); -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); /************** * BEGIN TEST * diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-1-of-4.js b/js/src/tests/non262/object/15.2.3.6-redefinition-1-of-4.js similarity index 95% rename from js/src/tests/ecma_5/Object/15.2.3.6-redefinition-1-of-4.js rename to js/src/tests/non262/object/15.2.3.6-redefinition-1-of-4.js index 2fbcd20cc93c..d826a7755171 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-1-of-4.js +++ b/js/src/tests/non262/object/15.2.3.6-redefinition-1-of-4.js @@ -12,7 +12,7 @@ var summary = print(BUGNUMBER + ": " + summary); -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); /************** * BEGIN TEST * diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-2-of-4.js b/js/src/tests/non262/object/15.2.3.6-redefinition-2-of-4.js similarity index 95% rename from js/src/tests/ecma_5/Object/15.2.3.6-redefinition-2-of-4.js rename to js/src/tests/non262/object/15.2.3.6-redefinition-2-of-4.js index 1855efb89f18..78f862cb7e87 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-2-of-4.js +++ b/js/src/tests/non262/object/15.2.3.6-redefinition-2-of-4.js @@ -12,7 +12,7 @@ var summary = print(BUGNUMBER + ": " + summary); -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); /************** * BEGIN TEST * diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-3-of-4.js b/js/src/tests/non262/object/15.2.3.6-redefinition-3-of-4.js similarity index 95% rename from js/src/tests/ecma_5/Object/15.2.3.6-redefinition-3-of-4.js rename to js/src/tests/non262/object/15.2.3.6-redefinition-3-of-4.js index 7e28c5842cac..0458a7957743 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-3-of-4.js +++ b/js/src/tests/non262/object/15.2.3.6-redefinition-3-of-4.js @@ -12,7 +12,7 @@ var summary = print(BUGNUMBER + ": " + summary); -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); /************** * BEGIN TEST * diff --git a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-4-of-4.js b/js/src/tests/non262/object/15.2.3.6-redefinition-4-of-4.js similarity index 95% rename from js/src/tests/ecma_5/Object/15.2.3.6-redefinition-4-of-4.js rename to js/src/tests/non262/object/15.2.3.6-redefinition-4-of-4.js index 9cfc2a0aad5c..8aa6d0a95a98 100644 --- a/js/src/tests/ecma_5/Object/15.2.3.6-redefinition-4-of-4.js +++ b/js/src/tests/non262/object/15.2.3.6-redefinition-4-of-4.js @@ -12,7 +12,7 @@ var summary = print(BUGNUMBER + ": " + summary); -load("ecma_5/Object/defineProperty-setup.js"); +loadRelativeToScript("defineProperty-setup.js"); /************** * BEGIN TEST * diff --git a/js/src/tests/ecma_5/Object/15.2.3.7-01.js b/js/src/tests/non262/object/15.2.3.7-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.7-01.js rename to js/src/tests/non262/object/15.2.3.7-01.js diff --git a/js/src/tests/ecma_5/Object/15.2.3.9.js b/js/src/tests/non262/object/15.2.3.9.js similarity index 100% rename from js/src/tests/ecma_5/Object/15.2.3.9.js rename to js/src/tests/non262/object/15.2.3.9.js diff --git a/js/src/tests/ecma_6/Object/accessor-arguments-rest.js b/js/src/tests/non262/object/accessor-arguments-rest.js similarity index 100% rename from js/src/tests/ecma_6/Object/accessor-arguments-rest.js rename to js/src/tests/non262/object/accessor-arguments-rest.js diff --git a/js/src/tests/ecma_6/Object/accessor-name.js b/js/src/tests/non262/object/accessor-name.js similarity index 100% rename from js/src/tests/ecma_6/Object/accessor-name.js rename to js/src/tests/non262/object/accessor-name.js diff --git a/js/src/tests/ecma_6/Object/accessor-non-constructor.js b/js/src/tests/non262/object/accessor-non-constructor.js similarity index 100% rename from js/src/tests/ecma_6/Object/accessor-non-constructor.js rename to js/src/tests/non262/object/accessor-non-constructor.js diff --git a/js/src/tests/ecma_5/Object/add-property-non-extensible.js b/js/src/tests/non262/object/add-property-non-extensible.js similarity index 100% rename from js/src/tests/ecma_5/Object/add-property-non-extensible.js rename to js/src/tests/non262/object/add-property-non-extensible.js diff --git a/js/src/tests/ecma_6/Object/assign.js b/js/src/tests/non262/object/assign.js similarity index 100% rename from js/src/tests/ecma_6/Object/assign.js rename to js/src/tests/non262/object/assign.js diff --git a/js/src/tests/ecma_3/Object/browser.js b/js/src/tests/non262/object/browser.js similarity index 100% rename from js/src/tests/ecma_3/Object/browser.js rename to js/src/tests/non262/object/browser.js diff --git a/js/src/tests/ecma_6/Object/bug-1150906.js b/js/src/tests/non262/object/bug-1150906.js similarity index 100% rename from js/src/tests/ecma_6/Object/bug-1150906.js rename to js/src/tests/non262/object/bug-1150906.js diff --git a/js/src/tests/ecma_6/Object/bug-1206700.js b/js/src/tests/non262/object/bug-1206700.js similarity index 100% rename from js/src/tests/ecma_6/Object/bug-1206700.js rename to js/src/tests/non262/object/bug-1206700.js diff --git a/js/src/tests/ecma_5/Object/clear-dictionary-accessor-getset.js b/js/src/tests/non262/object/clear-dictionary-accessor-getset.js similarity index 100% rename from js/src/tests/ecma_5/Object/clear-dictionary-accessor-getset.js rename to js/src/tests/non262/object/clear-dictionary-accessor-getset.js diff --git a/js/src/tests/ecma_7/Object/defineGetter-defineSetter.js b/js/src/tests/non262/object/defineGetter-defineSetter.js similarity index 100% rename from js/src/tests/ecma_7/Object/defineGetter-defineSetter.js rename to js/src/tests/non262/object/defineGetter-defineSetter.js diff --git a/js/src/tests/ecma_5/Object/defineProperties-callable-accessor.js b/js/src/tests/non262/object/defineProperties-callable-accessor.js similarity index 100% rename from js/src/tests/ecma_5/Object/defineProperties-callable-accessor.js rename to js/src/tests/non262/object/defineProperties-callable-accessor.js diff --git a/js/src/tests/ecma_6/Object/defineProperties-order.js b/js/src/tests/non262/object/defineProperties-order.js similarity index 100% rename from js/src/tests/ecma_6/Object/defineProperties-order.js rename to js/src/tests/non262/object/defineProperties-order.js diff --git a/js/src/tests/ecma_6/Object/defineProperty-proxy.js b/js/src/tests/non262/object/defineProperty-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Object/defineProperty-proxy.js rename to js/src/tests/non262/object/defineProperty-proxy.js diff --git a/js/src/tests/ecma_5/Object/defineProperty-setup.js b/js/src/tests/non262/object/defineProperty-setup.js similarity index 100% rename from js/src/tests/ecma_5/Object/defineProperty-setup.js rename to js/src/tests/non262/object/defineProperty-setup.js diff --git a/js/src/tests/ecma_6/Object/destructuring-shorthand-defaults.js b/js/src/tests/non262/object/destructuring-shorthand-defaults.js similarity index 100% rename from js/src/tests/ecma_6/Object/destructuring-shorthand-defaults.js rename to js/src/tests/non262/object/destructuring-shorthand-defaults.js diff --git a/js/src/tests/ecma_6/Object/duplProps.js b/js/src/tests/non262/object/duplProps.js similarity index 100% rename from js/src/tests/ecma_6/Object/duplProps.js rename to js/src/tests/non262/object/duplProps.js diff --git a/js/src/tests/ecma_7/Object/entries.js b/js/src/tests/non262/object/entries.js similarity index 100% rename from js/src/tests/ecma_7/Object/entries.js rename to js/src/tests/non262/object/entries.js diff --git a/js/src/tests/ecma_5/Object/extensibility-01.js b/js/src/tests/non262/object/extensibility-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/extensibility-01.js rename to js/src/tests/non262/object/extensibility-01.js diff --git a/js/src/tests/ecma_5/Object/extensibility-02.js b/js/src/tests/non262/object/extensibility-02.js similarity index 100% rename from js/src/tests/ecma_5/Object/extensibility-02.js rename to js/src/tests/non262/object/extensibility-02.js diff --git a/js/src/tests/ecma_5/Object/freeze-global-eval-const.js b/js/src/tests/non262/object/freeze-global-eval-const.js similarity index 100% rename from js/src/tests/ecma_5/Object/freeze-global-eval-const.js rename to js/src/tests/non262/object/freeze-global-eval-const.js diff --git a/js/src/tests/ecma_6/Object/freeze-proxy.js b/js/src/tests/non262/object/freeze-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Object/freeze-proxy.js rename to js/src/tests/non262/object/freeze-proxy.js diff --git a/js/src/tests/ecma_6/Object/freeze.js b/js/src/tests/non262/object/freeze.js similarity index 100% rename from js/src/tests/ecma_6/Object/freeze.js rename to js/src/tests/non262/object/freeze.js diff --git a/js/src/tests/ecma_5/Object/gOPD-vs-prototype-accessor.js b/js/src/tests/non262/object/gOPD-vs-prototype-accessor.js similarity index 100% rename from js/src/tests/ecma_5/Object/gOPD-vs-prototype-accessor.js rename to js/src/tests/non262/object/gOPD-vs-prototype-accessor.js diff --git a/js/src/tests/ecma_6/Object/getOwnPropertyDescriptor.js b/js/src/tests/non262/object/getOwnPropertyDescriptor.js similarity index 100% rename from js/src/tests/ecma_6/Object/getOwnPropertyDescriptor.js rename to js/src/tests/non262/object/getOwnPropertyDescriptor.js diff --git a/js/src/tests/ecma_6/Object/getOwnPropertySymbols-proxy.js b/js/src/tests/non262/object/getOwnPropertySymbols-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Object/getOwnPropertySymbols-proxy.js rename to js/src/tests/non262/object/getOwnPropertySymbols-proxy.js diff --git a/js/src/tests/ecma_6/Object/getOwnPropertySymbols.js b/js/src/tests/non262/object/getOwnPropertySymbols.js similarity index 100% rename from js/src/tests/ecma_6/Object/getOwnPropertySymbols.js rename to js/src/tests/non262/object/getOwnPropertySymbols.js diff --git a/js/src/tests/ecma_5/Object/getPrototypeOf-array.js b/js/src/tests/non262/object/getPrototypeOf-array.js similarity index 100% rename from js/src/tests/ecma_5/Object/getPrototypeOf-array.js rename to js/src/tests/non262/object/getPrototypeOf-array.js diff --git a/js/src/tests/ecma_6/Object/getPrototypeOf.js b/js/src/tests/non262/object/getPrototypeOf.js similarity index 100% rename from js/src/tests/ecma_6/Object/getPrototypeOf.js rename to js/src/tests/non262/object/getPrototypeOf.js diff --git a/js/src/tests/ecma_6/Object/getter-name.js b/js/src/tests/non262/object/getter-name.js similarity index 100% rename from js/src/tests/ecma_6/Object/getter-name.js rename to js/src/tests/non262/object/getter-name.js diff --git a/js/src/tests/ecma_6/Object/isExtensible.js b/js/src/tests/non262/object/isExtensible.js similarity index 100% rename from js/src/tests/ecma_6/Object/isExtensible.js rename to js/src/tests/non262/object/isExtensible.js diff --git a/js/src/tests/ecma_6/Object/isFrozen.js b/js/src/tests/non262/object/isFrozen.js similarity index 100% rename from js/src/tests/ecma_6/Object/isFrozen.js rename to js/src/tests/non262/object/isFrozen.js diff --git a/js/src/tests/ecma_5/Object/isPrototypeOf.js b/js/src/tests/non262/object/isPrototypeOf.js similarity index 100% rename from js/src/tests/ecma_5/Object/isPrototypeOf.js rename to js/src/tests/non262/object/isPrototypeOf.js diff --git a/js/src/tests/ecma_6/Object/isSealed.js b/js/src/tests/non262/object/isSealed.js similarity index 100% rename from js/src/tests/ecma_6/Object/isSealed.js rename to js/src/tests/non262/object/isSealed.js diff --git a/js/src/tests/ecma_6/Object/keys.js b/js/src/tests/non262/object/keys.js similarity index 100% rename from js/src/tests/ecma_6/Object/keys.js rename to js/src/tests/non262/object/keys.js diff --git a/js/src/tests/ecma_6/Object/method-non-constructor.js b/js/src/tests/non262/object/method-non-constructor.js similarity index 100% rename from js/src/tests/ecma_6/Object/method-non-constructor.js rename to js/src/tests/non262/object/method-non-constructor.js diff --git a/js/src/tests/ecma_5/Object/mutation-prevention-methods.js b/js/src/tests/non262/object/mutation-prevention-methods.js similarity index 100% rename from js/src/tests/ecma_5/Object/mutation-prevention-methods.js rename to js/src/tests/non262/object/mutation-prevention-methods.js diff --git a/js/src/tests/ecma_5/Object/object-create-with-primitive-second-arg.js b/js/src/tests/non262/object/object-create-with-primitive-second-arg.js similarity index 100% rename from js/src/tests/ecma_5/Object/object-create-with-primitive-second-arg.js rename to js/src/tests/non262/object/object-create-with-primitive-second-arg.js diff --git a/js/src/tests/ecma_5/Object/object-toString-01.js b/js/src/tests/non262/object/object-toString-01.js similarity index 100% rename from js/src/tests/ecma_5/Object/object-toString-01.js rename to js/src/tests/non262/object/object-toString-01.js diff --git a/js/src/tests/ecma_5/Object/preventExtensions-idempotent.js b/js/src/tests/non262/object/preventExtensions-idempotent.js similarity index 100% rename from js/src/tests/ecma_5/Object/preventExtensions-idempotent.js rename to js/src/tests/non262/object/preventExtensions-idempotent.js diff --git a/js/src/tests/ecma_6/Object/preventExtensions-proxy.js b/js/src/tests/non262/object/preventExtensions-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Object/preventExtensions-proxy.js rename to js/src/tests/non262/object/preventExtensions-proxy.js diff --git a/js/src/tests/ecma_6/Object/preventExtensions.js b/js/src/tests/non262/object/preventExtensions.js similarity index 100% rename from js/src/tests/ecma_6/Object/preventExtensions.js rename to js/src/tests/non262/object/preventExtensions.js diff --git a/js/src/tests/ecma_6/Object/property-descriptor-order.js b/js/src/tests/non262/object/property-descriptor-order.js similarity index 100% rename from js/src/tests/ecma_6/Object/property-descriptor-order.js rename to js/src/tests/non262/object/property-descriptor-order.js diff --git a/js/src/tests/ecma_6/Object/propertyIsEnumerable-proxy.js b/js/src/tests/non262/object/propertyIsEnumerable-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Object/propertyIsEnumerable-proxy.js rename to js/src/tests/non262/object/propertyIsEnumerable-proxy.js diff --git a/js/src/tests/ecma_5/Object/propertyIsEnumerable.js b/js/src/tests/non262/object/propertyIsEnumerable.js similarity index 100% rename from js/src/tests/ecma_5/Object/propertyIsEnumerable.js rename to js/src/tests/non262/object/propertyIsEnumerable.js diff --git a/js/src/tests/ecma_5/Object/proto-property-change-writability-set.js b/js/src/tests/non262/object/proto-property-change-writability-set.js similarity index 100% rename from js/src/tests/ecma_5/Object/proto-property-change-writability-set.js rename to js/src/tests/non262/object/proto-property-change-writability-set.js diff --git a/js/src/tests/js1_5/Object/regress-137000.js b/js/src/tests/non262/object/regress-137000.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-137000.js rename to js/src/tests/non262/object/regress-137000.js diff --git a/js/src/tests/js1_5/Object/regress-192105.js b/js/src/tests/non262/object/regress-192105.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-192105.js rename to js/src/tests/non262/object/regress-192105.js diff --git a/js/src/tests/js1_5/Object/regress-308806-01.js b/js/src/tests/non262/object/regress-308806-01.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-308806-01.js rename to js/src/tests/non262/object/regress-308806-01.js diff --git a/js/src/tests/js1_5/Object/regress-338709.js b/js/src/tests/non262/object/regress-338709.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-338709.js rename to js/src/tests/non262/object/regress-338709.js diff --git a/js/src/tests/ecma_3/Object/regress-361274.js b/js/src/tests/non262/object/regress-361274.js similarity index 100% rename from js/src/tests/ecma_3/Object/regress-361274.js rename to js/src/tests/non262/object/regress-361274.js diff --git a/js/src/tests/js1_5/Object/regress-382503.js b/js/src/tests/non262/object/regress-382503.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-382503.js rename to js/src/tests/non262/object/regress-382503.js diff --git a/js/src/tests/js1_5/Object/regress-382532.js b/js/src/tests/non262/object/regress-382532.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-382532.js rename to js/src/tests/non262/object/regress-382532.js diff --git a/js/src/tests/ecma_3/Object/regress-385393-07.js b/js/src/tests/non262/object/regress-385393-07.js similarity index 100% rename from js/src/tests/ecma_3/Object/regress-385393-07.js rename to js/src/tests/non262/object/regress-385393-07.js diff --git a/js/src/tests/ecma_3_1/Object/regress-444787.js b/js/src/tests/non262/object/regress-444787.js similarity index 100% rename from js/src/tests/ecma_3_1/Object/regress-444787.js rename to js/src/tests/non262/object/regress-444787.js diff --git a/js/src/tests/ecma_3/Object/regress-459405.js b/js/src/tests/non262/object/regress-459405.js similarity index 100% rename from js/src/tests/ecma_3/Object/regress-459405.js rename to js/src/tests/non262/object/regress-459405.js diff --git a/js/src/tests/js1_5/Object/regress-465476.js b/js/src/tests/non262/object/regress-465476.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-465476.js rename to js/src/tests/non262/object/regress-465476.js diff --git a/js/src/tests/ecma_3/Object/regress-72773.js b/js/src/tests/non262/object/regress-72773.js similarity index 100% rename from js/src/tests/ecma_3/Object/regress-72773.js rename to js/src/tests/non262/object/regress-72773.js diff --git a/js/src/tests/ecma_3/Object/regress-79129-001.js b/js/src/tests/non262/object/regress-79129-001.js similarity index 100% rename from js/src/tests/ecma_3/Object/regress-79129-001.js rename to js/src/tests/non262/object/regress-79129-001.js diff --git a/js/src/tests/js1_5/Object/regress-90596-003.js b/js/src/tests/non262/object/regress-90596-003.js similarity index 100% rename from js/src/tests/js1_5/Object/regress-90596-003.js rename to js/src/tests/non262/object/regress-90596-003.js diff --git a/js/src/tests/ecma_6/Object/seal-proxy.js b/js/src/tests/non262/object/seal-proxy.js similarity index 100% rename from js/src/tests/ecma_6/Object/seal-proxy.js rename to js/src/tests/non262/object/seal-proxy.js diff --git a/js/src/tests/ecma_6/Object/seal.js b/js/src/tests/non262/object/seal.js similarity index 100% rename from js/src/tests/ecma_6/Object/seal.js rename to js/src/tests/non262/object/seal.js diff --git a/js/src/tests/ecma_6/Object/setPrototypeOf-cross-realm-cycle.js b/js/src/tests/non262/object/setPrototypeOf-cross-realm-cycle.js similarity index 100% rename from js/src/tests/ecma_6/Object/setPrototypeOf-cross-realm-cycle.js rename to js/src/tests/non262/object/setPrototypeOf-cross-realm-cycle.js diff --git a/js/src/tests/ecma_6/Object/setPrototypeOf-cycle.js b/js/src/tests/non262/object/setPrototypeOf-cycle.js similarity index 100% rename from js/src/tests/ecma_6/Object/setPrototypeOf-cycle.js rename to js/src/tests/non262/object/setPrototypeOf-cycle.js diff --git a/js/src/tests/ecma_6/Object/setPrototypeOf-same-value.js b/js/src/tests/non262/object/setPrototypeOf-same-value.js similarity index 100% rename from js/src/tests/ecma_6/Object/setPrototypeOf-same-value.js rename to js/src/tests/non262/object/setPrototypeOf-same-value.js diff --git a/js/src/tests/ecma_3/Object/shell.js b/js/src/tests/non262/object/shell.js similarity index 100% rename from js/src/tests/ecma_3/Object/shell.js rename to js/src/tests/non262/object/shell.js diff --git a/js/src/tests/ecma_6/Object/toLocaleString.js b/js/src/tests/non262/object/toLocaleString-01.js similarity index 100% rename from js/src/tests/ecma_6/Object/toLocaleString.js rename to js/src/tests/non262/object/toLocaleString-01.js diff --git a/js/src/tests/ecma_5/Object/toLocaleString.js b/js/src/tests/non262/object/toLocaleString.js similarity index 100% rename from js/src/tests/ecma_5/Object/toLocaleString.js rename to js/src/tests/non262/object/toLocaleString.js diff --git a/js/src/tests/ecma_6/Object/toPrimitive-callers.js b/js/src/tests/non262/object/toPrimitive-callers.js similarity index 100% rename from js/src/tests/ecma_6/Object/toPrimitive-callers.js rename to js/src/tests/non262/object/toPrimitive-callers.js diff --git a/js/src/tests/ecma_6/Object/toPrimitive.js b/js/src/tests/non262/object/toPrimitive.js similarity index 100% rename from js/src/tests/ecma_6/Object/toPrimitive.js rename to js/src/tests/non262/object/toPrimitive.js diff --git a/js/src/tests/ecma_5/Object/vacuous-accessor-unqualified-name.js b/js/src/tests/non262/object/vacuous-accessor-unqualified-name.js similarity index 100% rename from js/src/tests/ecma_5/Object/vacuous-accessor-unqualified-name.js rename to js/src/tests/non262/object/vacuous-accessor-unqualified-name.js diff --git a/js/src/tests/ecma_7/Object/values-entries-indexed.js b/js/src/tests/non262/object/values-entries-indexed.js similarity index 100% rename from js/src/tests/ecma_7/Object/values-entries-indexed.js rename to js/src/tests/non262/object/values-entries-indexed.js diff --git a/js/src/tests/ecma_7/Object/values-entries-lazy-props.js b/js/src/tests/non262/object/values-entries-lazy-props.js similarity index 100% rename from js/src/tests/ecma_7/Object/values-entries-lazy-props.js rename to js/src/tests/non262/object/values-entries-lazy-props.js diff --git a/js/src/tests/ecma_7/Object/values-entries-typedarray.js b/js/src/tests/non262/object/values-entries-typedarray.js similarity index 100% rename from js/src/tests/ecma_7/Object/values-entries-typedarray.js rename to js/src/tests/non262/object/values-entries-typedarray.js diff --git a/js/src/tests/ecma_7/Object/values.js b/js/src/tests/non262/object/values.js similarity index 100% rename from js/src/tests/ecma_7/Object/values.js rename to js/src/tests/non262/object/values.js diff --git a/js/src/tests/ecma_3/Operators/11.13.1-001.js b/js/src/tests/non262/operators/11.13.1-001.js similarity index 100% rename from js/src/tests/ecma_3/Operators/11.13.1-001.js rename to js/src/tests/non262/operators/11.13.1-001.js diff --git a/js/src/tests/ecma_3/Operators/11.13.1-002.js b/js/src/tests/non262/operators/11.13.1-002.js similarity index 100% rename from js/src/tests/ecma_3/Operators/11.13.1-002.js rename to js/src/tests/non262/operators/11.13.1-002.js diff --git a/js/src/tests/ecma_3/Operators/11.4.1-001.js b/js/src/tests/non262/operators/11.4.1-001.js similarity index 100% rename from js/src/tests/ecma_3/Operators/11.4.1-001.js rename to js/src/tests/non262/operators/11.4.1-001.js diff --git a/js/src/tests/ecma_3/Operators/11.4.1-002.js b/js/src/tests/non262/operators/11.4.1-002.js similarity index 100% rename from js/src/tests/ecma_3/Operators/11.4.1-002.js rename to js/src/tests/non262/operators/11.4.1-002.js diff --git a/js/src/tests/ecma_3/Expressions/browser.js b/js/src/tests/non262/operators/browser.js similarity index 100% rename from js/src/tests/ecma_3/Expressions/browser.js rename to js/src/tests/non262/operators/browser.js diff --git a/js/src/tests/ecma_3/Operators/order-01.js b/js/src/tests/non262/operators/order-01.js similarity index 100% rename from js/src/tests/ecma_3/Operators/order-01.js rename to js/src/tests/non262/operators/order-01.js diff --git a/js/src/tests/ecma_2018/RegExp/shell.js b/js/src/tests/non262/operators/shell.js similarity index 100% rename from js/src/tests/ecma_2018/RegExp/shell.js rename to js/src/tests/non262/operators/shell.js diff --git a/js/src/tests/ecma_3/FunExpr/browser.js b/js/src/tests/non262/pipeline/browser.js similarity index 100% rename from js/src/tests/ecma_3/FunExpr/browser.js rename to js/src/tests/non262/pipeline/browser.js diff --git a/js/src/tests/ecma_2018/Pipeline/eval.js b/js/src/tests/non262/pipeline/eval.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/eval.js rename to js/src/tests/non262/pipeline/eval.js diff --git a/js/src/tests/ecma_2018/Pipeline/evaluation-order.js b/js/src/tests/non262/pipeline/evaluation-order.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/evaluation-order.js rename to js/src/tests/non262/pipeline/evaluation-order.js diff --git a/js/src/tests/ecma_2018/Pipeline/parse-error.js b/js/src/tests/non262/pipeline/parse-error.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/parse-error.js rename to js/src/tests/non262/pipeline/parse-error.js diff --git a/js/src/tests/ecma_2018/Pipeline/precedence.js b/js/src/tests/non262/pipeline/precedence.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/precedence.js rename to js/src/tests/non262/pipeline/precedence.js diff --git a/js/src/tests/ecma_2018/Pipeline/receiver.js b/js/src/tests/non262/pipeline/receiver.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/receiver.js rename to js/src/tests/non262/pipeline/receiver.js diff --git a/js/src/tests/ecma_2018/Pipeline/reflect-parse.js b/js/src/tests/non262/pipeline/reflect-parse.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/reflect-parse.js rename to js/src/tests/non262/pipeline/reflect-parse.js diff --git a/js/src/tests/ecma_2018/Pipeline/shell.js b/js/src/tests/non262/pipeline/shell.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/shell.js rename to js/src/tests/non262/pipeline/shell.js diff --git a/js/src/tests/ecma_2018/Pipeline/type-error.js b/js/src/tests/non262/pipeline/type-error.js similarity index 100% rename from js/src/tests/ecma_2018/Pipeline/type-error.js rename to js/src/tests/non262/pipeline/type-error.js diff --git a/js/src/tests/js1_8_5/reflect-parse/Match.js b/js/src/tests/non262/reflect-parse/Match.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/Match.js rename to js/src/tests/non262/reflect-parse/Match.js diff --git a/js/src/tests/js1_8_5/reflect-parse/PatternAsserts.js b/js/src/tests/non262/reflect-parse/PatternAsserts.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/PatternAsserts.js rename to js/src/tests/non262/reflect-parse/PatternAsserts.js diff --git a/js/src/tests/js1_8_5/reflect-parse/PatternBuilders.js b/js/src/tests/non262/reflect-parse/PatternBuilders.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/PatternBuilders.js rename to js/src/tests/non262/reflect-parse/PatternBuilders.js diff --git a/js/src/tests/js1_8_5/reflect-parse/alternateBuilder.js b/js/src/tests/non262/reflect-parse/alternateBuilder.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/alternateBuilder.js rename to js/src/tests/non262/reflect-parse/alternateBuilder.js diff --git a/js/src/tests/js1_8_5/reflect-parse/async.js b/js/src/tests/non262/reflect-parse/async.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/async.js rename to js/src/tests/non262/reflect-parse/async.js diff --git a/js/src/tests/js1_8_5/reflect-parse/basicBuilder.js b/js/src/tests/non262/reflect-parse/basicBuilder.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/basicBuilder.js rename to js/src/tests/non262/reflect-parse/basicBuilder.js diff --git a/js/src/tests/ecma_3/Function/browser.js b/js/src/tests/non262/reflect-parse/browser.js similarity index 100% rename from js/src/tests/ecma_3/Function/browser.js rename to js/src/tests/non262/reflect-parse/browser.js diff --git a/js/src/tests/js1_8_5/reflect-parse/builderExceptions.js b/js/src/tests/non262/reflect-parse/builderExceptions.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/builderExceptions.js rename to js/src/tests/non262/reflect-parse/builderExceptions.js diff --git a/js/src/tests/js1_8_5/reflect-parse/classes.js b/js/src/tests/non262/reflect-parse/classes.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/classes.js rename to js/src/tests/non262/reflect-parse/classes.js diff --git a/js/src/tests/js1_8_5/reflect-parse/computedPropNames.js b/js/src/tests/non262/reflect-parse/computedPropNames.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/computedPropNames.js rename to js/src/tests/non262/reflect-parse/computedPropNames.js diff --git a/js/src/tests/js1_8_5/reflect-parse/declarations.js b/js/src/tests/non262/reflect-parse/declarations.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/declarations.js rename to js/src/tests/non262/reflect-parse/declarations.js diff --git a/js/src/tests/js1_8_5/reflect-parse/destructuring-array-holes-reflect-as-null.js b/js/src/tests/non262/reflect-parse/destructuring-array-holes-reflect-as-null.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/destructuring-array-holes-reflect-as-null.js rename to js/src/tests/non262/reflect-parse/destructuring-array-holes-reflect-as-null.js diff --git a/js/src/tests/js1_8_5/reflect-parse/destructuring-assignment.js b/js/src/tests/non262/reflect-parse/destructuring-assignment.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/destructuring-assignment.js rename to js/src/tests/non262/reflect-parse/destructuring-assignment.js diff --git a/js/src/tests/js1_8_5/reflect-parse/destructuring-function-parameters.js b/js/src/tests/non262/reflect-parse/destructuring-function-parameters.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/destructuring-function-parameters.js rename to js/src/tests/non262/reflect-parse/destructuring-function-parameters.js diff --git a/js/src/tests/js1_8_5/reflect-parse/destructuring-variable-declarations.js b/js/src/tests/non262/reflect-parse/destructuring-variable-declarations.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/destructuring-variable-declarations.js rename to js/src/tests/non262/reflect-parse/destructuring-variable-declarations.js diff --git a/js/src/tests/js1_8_5/reflect-parse/destructuring__proto__.js b/js/src/tests/non262/reflect-parse/destructuring__proto__.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/destructuring__proto__.js rename to js/src/tests/non262/reflect-parse/destructuring__proto__.js diff --git a/js/src/tests/js1_8_5/reflect-parse/expression.js b/js/src/tests/non262/reflect-parse/expression.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/expression.js rename to js/src/tests/non262/reflect-parse/expression.js diff --git a/js/src/tests/js1_8_5/reflect-parse/expressionClosures.js b/js/src/tests/non262/reflect-parse/expressionClosures.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/expressionClosures.js rename to js/src/tests/non262/reflect-parse/expressionClosures.js diff --git a/js/src/tests/js1_8_5/reflect-parse/for-loop-destructuring.js b/js/src/tests/non262/reflect-parse/for-loop-destructuring.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/for-loop-destructuring.js rename to js/src/tests/non262/reflect-parse/for-loop-destructuring.js diff --git a/js/src/tests/js1_8_5/reflect-parse/generators.js b/js/src/tests/non262/reflect-parse/generators.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/generators.js rename to js/src/tests/non262/reflect-parse/generators.js diff --git a/js/src/tests/js1_8_5/reflect-parse/lexicals.js b/js/src/tests/non262/reflect-parse/lexicals.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/lexicals.js rename to js/src/tests/non262/reflect-parse/lexicals.js diff --git a/js/src/tests/js1_8_5/reflect-parse/location.js b/js/src/tests/non262/reflect-parse/location.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/location.js rename to js/src/tests/non262/reflect-parse/location.js diff --git a/js/src/tests/js1_8_5/reflect-parse/methodDefn.js b/js/src/tests/non262/reflect-parse/methodDefn.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/methodDefn.js rename to js/src/tests/non262/reflect-parse/methodDefn.js diff --git a/js/src/tests/js1_8_5/reflect-parse/newTarget.js b/js/src/tests/non262/reflect-parse/newTarget.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/newTarget.js rename to js/src/tests/non262/reflect-parse/newTarget.js diff --git a/js/src/tests/js1_8_5/reflect-parse/object-rest.js b/js/src/tests/non262/reflect-parse/object-rest.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/object-rest.js rename to js/src/tests/non262/reflect-parse/object-rest.js diff --git a/js/src/tests/js1_8_5/reflect-parse/object-spread.js b/js/src/tests/non262/reflect-parse/object-spread.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/object-spread.js rename to js/src/tests/non262/reflect-parse/object-spread.js diff --git a/js/src/tests/js1_8_5/reflect-parse/proxyArgs.js b/js/src/tests/non262/reflect-parse/proxyArgs.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/proxyArgs.js rename to js/src/tests/non262/reflect-parse/proxyArgs.js diff --git a/js/src/tests/js1_8_5/reflect-parse/shell.js b/js/src/tests/non262/reflect-parse/shell.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/shell.js rename to js/src/tests/non262/reflect-parse/shell.js diff --git a/js/src/tests/js1_8_5/reflect-parse/stackOverflow.js b/js/src/tests/non262/reflect-parse/stackOverflow.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/stackOverflow.js rename to js/src/tests/non262/reflect-parse/stackOverflow.js diff --git a/js/src/tests/js1_8_5/reflect-parse/statements.js b/js/src/tests/non262/reflect-parse/statements.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/statements.js rename to js/src/tests/non262/reflect-parse/statements.js diff --git a/js/src/tests/js1_8_5/reflect-parse/templateStrings.js b/js/src/tests/non262/reflect-parse/templateStrings.js similarity index 100% rename from js/src/tests/js1_8_5/reflect-parse/templateStrings.js rename to js/src/tests/non262/reflect-parse/templateStrings.js diff --git a/js/src/tests/ecma_3/LexicalConventions/browser.js b/js/src/tests/non262/regress/browser.js similarity index 100% rename from js/src/tests/ecma_3/LexicalConventions/browser.js rename to js/src/tests/non262/regress/browser.js diff --git a/js/src/tests/js1_5/Regress/regress-102725.js b/js/src/tests/non262/regress/regress-102725.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-102725.js rename to js/src/tests/non262/regress/regress-102725.js diff --git a/js/src/tests/js1_5/Regress/regress-10278.js b/js/src/tests/non262/regress/regress-10278.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-10278.js rename to js/src/tests/non262/regress/regress-10278.js diff --git a/js/src/tests/js1_5/Regress/regress-104077.js b/js/src/tests/non262/regress/regress-104077.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-104077.js rename to js/src/tests/non262/regress/regress-104077.js diff --git a/js/src/tests/js1_5/Regress/regress-110286.js b/js/src/tests/non262/regress/regress-110286.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-110286.js rename to js/src/tests/non262/regress/regress-110286.js diff --git a/js/src/tests/js1_5/Regress/regress-111557.js b/js/src/tests/non262/regress/regress-111557.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-111557.js rename to js/src/tests/non262/regress/regress-111557.js diff --git a/js/src/tests/js1_5/Regress/regress-114491.js b/js/src/tests/non262/regress/regress-114491.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-114491.js rename to js/src/tests/non262/regress/regress-114491.js diff --git a/js/src/tests/js1_5/Regress/regress-114493.js b/js/src/tests/non262/regress/regress-114493.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-114493.js rename to js/src/tests/non262/regress/regress-114493.js diff --git a/js/src/tests/js1_5/Regress/regress-115436.js b/js/src/tests/non262/regress/regress-115436.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-115436.js rename to js/src/tests/non262/regress/regress-115436.js diff --git a/js/src/tests/js1_5/Regress/regress-116228.js b/js/src/tests/non262/regress/regress-116228.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-116228.js rename to js/src/tests/non262/regress/regress-116228.js diff --git a/js/src/tests/js1_5/Regress/regress-118849.js b/js/src/tests/non262/regress/regress-118849.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-118849.js rename to js/src/tests/non262/regress/regress-118849.js diff --git a/js/src/tests/js1_5/Regress/regress-127557.js b/js/src/tests/non262/regress/regress-127557.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-127557.js rename to js/src/tests/non262/regress/regress-127557.js diff --git a/js/src/tests/js1_5/Regress/regress-131510-001.js b/js/src/tests/non262/regress/regress-131510-001.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-131510-001.js rename to js/src/tests/non262/regress/regress-131510-001.js diff --git a/js/src/tests/js1_8_5/regress/regress-1383630.js b/js/src/tests/non262/regress/regress-1383630.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-1383630.js rename to js/src/tests/non262/regress/regress-1383630.js diff --git a/js/src/tests/js1_5/Regress/regress-139316.js b/js/src/tests/non262/regress/regress-139316.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-139316.js rename to js/src/tests/non262/regress/regress-139316.js diff --git a/js/src/tests/js1_5/Regress/regress-140852.js b/js/src/tests/non262/regress/regress-140852.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-140852.js rename to js/src/tests/non262/regress/regress-140852.js diff --git a/js/src/tests/js1_5/Regress/regress-140974.js b/js/src/tests/non262/regress/regress-140974.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-140974.js rename to js/src/tests/non262/regress/regress-140974.js diff --git a/js/src/tests/js1_5/Regress/regress-146596.js b/js/src/tests/non262/regress/regress-146596.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-146596.js rename to js/src/tests/non262/regress/regress-146596.js diff --git a/js/src/tests/js1_5/Regress/regress-152646.js b/js/src/tests/non262/regress/regress-152646.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-152646.js rename to js/src/tests/non262/regress/regress-152646.js diff --git a/js/src/tests/js1_5/Regress/regress-155081-2.js b/js/src/tests/non262/regress/regress-155081-2.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-155081-2.js rename to js/src/tests/non262/regress/regress-155081-2.js diff --git a/js/src/tests/js1_5/Regress/regress-155081.js b/js/src/tests/non262/regress/regress-155081.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-155081.js rename to js/src/tests/non262/regress/regress-155081.js diff --git a/js/src/tests/js1_5/Regress/regress-156354.js b/js/src/tests/non262/regress/regress-156354.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-156354.js rename to js/src/tests/non262/regress/regress-156354.js diff --git a/js/src/tests/js1_5/Regress/regress-159334.js b/js/src/tests/non262/regress/regress-159334.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-159334.js rename to js/src/tests/non262/regress/regress-159334.js diff --git a/js/src/tests/js1_5/Regress/regress-162392.js b/js/src/tests/non262/regress/regress-162392.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-162392.js rename to js/src/tests/non262/regress/regress-162392.js diff --git a/js/src/tests/js1_5/Regress/regress-165201.js b/js/src/tests/non262/regress/regress-165201.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-165201.js rename to js/src/tests/non262/regress/regress-165201.js diff --git a/js/src/tests/js1_5/Regress/regress-167328.js b/js/src/tests/non262/regress/regress-167328.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-167328.js rename to js/src/tests/non262/regress/regress-167328.js diff --git a/js/src/tests/js1_5/Regress/regress-167658.js b/js/src/tests/non262/regress/regress-167658.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-167658.js rename to js/src/tests/non262/regress/regress-167658.js diff --git a/js/src/tests/js1_5/Regress/regress-168347.js b/js/src/tests/non262/regress/regress-168347.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-168347.js rename to js/src/tests/non262/regress/regress-168347.js diff --git a/js/src/tests/js1_5/Regress/regress-170193.js b/js/src/tests/non262/regress/regress-170193.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-170193.js rename to js/src/tests/non262/regress/regress-170193.js diff --git a/js/src/tests/js1_5/Regress/regress-172699.js b/js/src/tests/non262/regress/regress-172699.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-172699.js rename to js/src/tests/non262/regress/regress-172699.js diff --git a/js/src/tests/js1_5/Regress/regress-174709.js b/js/src/tests/non262/regress/regress-174709.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-174709.js rename to js/src/tests/non262/regress/regress-174709.js diff --git a/js/src/tests/js1_5/Regress/regress-176125.js b/js/src/tests/non262/regress/regress-176125.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-176125.js rename to js/src/tests/non262/regress/regress-176125.js diff --git a/js/src/tests/js1_5/Regress/regress-179524.js b/js/src/tests/non262/regress/regress-179524.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-179524.js rename to js/src/tests/non262/regress/regress-179524.js diff --git a/js/src/tests/js1_5/Regress/regress-185165.js b/js/src/tests/non262/regress/regress-185165.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-185165.js rename to js/src/tests/non262/regress/regress-185165.js diff --git a/js/src/tests/js1_5/Regress/regress-191633.js b/js/src/tests/non262/regress/regress-191633.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-191633.js rename to js/src/tests/non262/regress/regress-191633.js diff --git a/js/src/tests/js1_5/Regress/regress-191668.js b/js/src/tests/non262/regress/regress-191668.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-191668.js rename to js/src/tests/non262/regress/regress-191668.js diff --git a/js/src/tests/js1_5/Regress/regress-192414.js b/js/src/tests/non262/regress/regress-192414.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-192414.js rename to js/src/tests/non262/regress/regress-192414.js diff --git a/js/src/tests/js1_5/Regress/regress-193418.js b/js/src/tests/non262/regress/regress-193418.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-193418.js rename to js/src/tests/non262/regress/regress-193418.js diff --git a/js/src/tests/js1_5/Regress/regress-203278-1.js b/js/src/tests/non262/regress/regress-203278-1.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-203278-1.js rename to js/src/tests/non262/regress/regress-203278-1.js diff --git a/js/src/tests/js1_5/Regress/regress-203402.js b/js/src/tests/non262/regress/regress-203402.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-203402.js rename to js/src/tests/non262/regress/regress-203402.js diff --git a/js/src/tests/js1_5/Regress/regress-203841.js b/js/src/tests/non262/regress/regress-203841.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-203841.js rename to js/src/tests/non262/regress/regress-203841.js diff --git a/js/src/tests/js1_5/Regress/regress-204210.js b/js/src/tests/non262/regress/regress-204210.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-204210.js rename to js/src/tests/non262/regress/regress-204210.js diff --git a/js/src/tests/js1_5/Regress/regress-210682.js b/js/src/tests/non262/regress/regress-210682.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-210682.js rename to js/src/tests/non262/regress/regress-210682.js diff --git a/js/src/tests/js1_5/Regress/regress-211590.js b/js/src/tests/non262/regress/regress-211590.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-211590.js rename to js/src/tests/non262/regress/regress-211590.js diff --git a/js/src/tests/js1_5/Regress/regress-214761.js b/js/src/tests/non262/regress/regress-214761.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-214761.js rename to js/src/tests/non262/regress/regress-214761.js diff --git a/js/src/tests/js1_5/Regress/regress-216320.js b/js/src/tests/non262/regress/regress-216320.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-216320.js rename to js/src/tests/non262/regress/regress-216320.js diff --git a/js/src/tests/js1_5/Regress/regress-224956.js b/js/src/tests/non262/regress/regress-224956.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-224956.js rename to js/src/tests/non262/regress/regress-224956.js diff --git a/js/src/tests/js1_5/Regress/regress-229006.js b/js/src/tests/non262/regress/regress-229006.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-229006.js rename to js/src/tests/non262/regress/regress-229006.js diff --git a/js/src/tests/js1_5/Regress/regress-230216-1.js b/js/src/tests/non262/regress/regress-230216-1.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-230216-1.js rename to js/src/tests/non262/regress/regress-230216-1.js diff --git a/js/src/tests/js1_5/Regress/regress-230216-2.js b/js/src/tests/non262/regress/regress-230216-2.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-230216-2.js rename to js/src/tests/non262/regress/regress-230216-2.js diff --git a/js/src/tests/js1_5/Regress/regress-230216-3.js b/js/src/tests/non262/regress/regress-230216-3.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-230216-3.js rename to js/src/tests/non262/regress/regress-230216-3.js diff --git a/js/src/tests/js1_5/Regress/regress-233483-2.js b/js/src/tests/non262/regress/regress-233483-2.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-233483-2.js rename to js/src/tests/non262/regress/regress-233483-2.js diff --git a/js/src/tests/js1_5/Regress/regress-233483.js b/js/src/tests/non262/regress/regress-233483.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-233483.js rename to js/src/tests/non262/regress/regress-233483.js diff --git a/js/src/tests/js1_5/Regress/regress-234389.js b/js/src/tests/non262/regress/regress-234389.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-234389.js rename to js/src/tests/non262/regress/regress-234389.js diff --git a/js/src/tests/js1_5/Regress/regress-238881.js b/js/src/tests/non262/regress/regress-238881.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-238881.js rename to js/src/tests/non262/regress/regress-238881.js diff --git a/js/src/tests/js1_5/Regress/regress-238945.js b/js/src/tests/non262/regress/regress-238945.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-238945.js rename to js/src/tests/non262/regress/regress-238945.js diff --git a/js/src/tests/js1_5/Regress/regress-243174.js b/js/src/tests/non262/regress/regress-243174.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-243174.js rename to js/src/tests/non262/regress/regress-243174.js diff --git a/js/src/tests/js1_5/Regress/regress-243389-n.js b/js/src/tests/non262/regress/regress-243389-n.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-243389-n.js rename to js/src/tests/non262/regress/regress-243389-n.js diff --git a/js/src/tests/js1_5/Regress/regress-243869.js b/js/src/tests/non262/regress/regress-243869.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-243869.js rename to js/src/tests/non262/regress/regress-243869.js diff --git a/js/src/tests/js1_5/Regress/regress-244470.js b/js/src/tests/non262/regress/regress-244470.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-244470.js rename to js/src/tests/non262/regress/regress-244470.js diff --git a/js/src/tests/js1_5/Regress/regress-244619.js b/js/src/tests/non262/regress/regress-244619.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-244619.js rename to js/src/tests/non262/regress/regress-244619.js diff --git a/js/src/tests/js1_5/Regress/regress-245113.js b/js/src/tests/non262/regress/regress-245113.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-245113.js rename to js/src/tests/non262/regress/regress-245113.js diff --git a/js/src/tests/js1_5/Regress/regress-245308.js b/js/src/tests/non262/regress/regress-245308.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-245308.js rename to js/src/tests/non262/regress/regress-245308.js diff --git a/js/src/tests/js1_5/Regress/regress-246911.js b/js/src/tests/non262/regress/regress-246911.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-246911.js rename to js/src/tests/non262/regress/regress-246911.js diff --git a/js/src/tests/js1_5/Regress/regress-246964.js b/js/src/tests/non262/regress/regress-246964.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-246964.js rename to js/src/tests/non262/regress/regress-246964.js diff --git a/js/src/tests/js1_5/Regress/regress-247179.js b/js/src/tests/non262/regress/regress-247179.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-247179.js rename to js/src/tests/non262/regress/regress-247179.js diff --git a/js/src/tests/js1_5/Regress/regress-248444.js b/js/src/tests/non262/regress/regress-248444.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-248444.js rename to js/src/tests/non262/regress/regress-248444.js diff --git a/js/src/tests/js1_5/Regress/regress-252892.js b/js/src/tests/non262/regress/regress-252892.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-252892.js rename to js/src/tests/non262/regress/regress-252892.js diff --git a/js/src/tests/js1_5/Regress/regress-253150.js b/js/src/tests/non262/regress/regress-253150.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-253150.js rename to js/src/tests/non262/regress/regress-253150.js diff --git a/js/src/tests/js1_5/Regress/regress-254296.js b/js/src/tests/non262/regress/regress-254296.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-254296.js rename to js/src/tests/non262/regress/regress-254296.js diff --git a/js/src/tests/js1_5/Regress/regress-254974.js b/js/src/tests/non262/regress/regress-254974.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-254974.js rename to js/src/tests/non262/regress/regress-254974.js diff --git a/js/src/tests/js1_5/Regress/regress-256501.js b/js/src/tests/non262/regress/regress-256501.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-256501.js rename to js/src/tests/non262/regress/regress-256501.js diff --git a/js/src/tests/js1_5/Regress/regress-256617.js b/js/src/tests/non262/regress/regress-256617.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-256617.js rename to js/src/tests/non262/regress/regress-256617.js diff --git a/js/src/tests/js1_5/Regress/regress-256798.js b/js/src/tests/non262/regress/regress-256798.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-256798.js rename to js/src/tests/non262/regress/regress-256798.js diff --git a/js/src/tests/js1_5/Regress/regress-259935.js b/js/src/tests/non262/regress/regress-259935.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-259935.js rename to js/src/tests/non262/regress/regress-259935.js diff --git a/js/src/tests/js1_5/Regress/regress-260541.js b/js/src/tests/non262/regress/regress-260541.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-260541.js rename to js/src/tests/non262/regress/regress-260541.js diff --git a/js/src/tests/js1_5/Regress/regress-261886.js b/js/src/tests/non262/regress/regress-261886.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-261886.js rename to js/src/tests/non262/regress/regress-261886.js diff --git a/js/src/tests/js1_5/Regress/regress-261887.js b/js/src/tests/non262/regress/regress-261887.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-261887.js rename to js/src/tests/non262/regress/regress-261887.js diff --git a/js/src/tests/js1_5/Regress/regress-271716-n.js b/js/src/tests/non262/regress/regress-271716-n.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-271716-n.js rename to js/src/tests/non262/regress/regress-271716-n.js diff --git a/js/src/tests/js1_5/Regress/regress-274035.js b/js/src/tests/non262/regress/regress-274035.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-274035.js rename to js/src/tests/non262/regress/regress-274035.js diff --git a/js/src/tests/js1_5/Regress/regress-274888.js b/js/src/tests/non262/regress/regress-274888.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-274888.js rename to js/src/tests/non262/regress/regress-274888.js diff --git a/js/src/tests/js1_5/Regress/regress-275378.js b/js/src/tests/non262/regress/regress-275378.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-275378.js rename to js/src/tests/non262/regress/regress-275378.js diff --git a/js/src/tests/js1_5/Regress/regress-276103.js b/js/src/tests/non262/regress/regress-276103.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-276103.js rename to js/src/tests/non262/regress/regress-276103.js diff --git a/js/src/tests/js1_5/Regress/regress-278873.js b/js/src/tests/non262/regress/regress-278873.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-278873.js rename to js/src/tests/non262/regress/regress-278873.js diff --git a/js/src/tests/js1_5/Regress/regress-280769-1.js b/js/src/tests/non262/regress/regress-280769-1.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-280769-1.js rename to js/src/tests/non262/regress/regress-280769-1.js diff --git a/js/src/tests/js1_5/Regress/regress-280769-2.js b/js/src/tests/non262/regress/regress-280769-2.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-280769-2.js rename to js/src/tests/non262/regress/regress-280769-2.js diff --git a/js/src/tests/js1_5/Regress/regress-280769-3.js b/js/src/tests/non262/regress/regress-280769-3.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-280769-3.js rename to js/src/tests/non262/regress/regress-280769-3.js diff --git a/js/src/tests/js1_5/Regress/regress-280769-4.js b/js/src/tests/non262/regress/regress-280769-4.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-280769-4.js rename to js/src/tests/non262/regress/regress-280769-4.js diff --git a/js/src/tests/js1_5/Regress/regress-280769-5.js b/js/src/tests/non262/regress/regress-280769-5.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-280769-5.js rename to js/src/tests/non262/regress/regress-280769-5.js diff --git a/js/src/tests/js1_5/Regress/regress-280769.js b/js/src/tests/non262/regress/regress-280769.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-280769.js rename to js/src/tests/non262/regress/regress-280769.js diff --git a/js/src/tests/js1_5/Regress/regress-281606.js b/js/src/tests/non262/regress/regress-281606.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-281606.js rename to js/src/tests/non262/regress/regress-281606.js diff --git a/js/src/tests/js1_5/Regress/regress-281930.js b/js/src/tests/non262/regress/regress-281930.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-281930.js rename to js/src/tests/non262/regress/regress-281930.js diff --git a/js/src/tests/js1_5/Regress/regress-283477.js b/js/src/tests/non262/regress/regress-283477.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-283477.js rename to js/src/tests/non262/regress/regress-283477.js diff --git a/js/src/tests/js1_5/Regress/regress-288688.js b/js/src/tests/non262/regress/regress-288688.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-288688.js rename to js/src/tests/non262/regress/regress-288688.js diff --git a/js/src/tests/js1_5/Regress/regress-289094.js b/js/src/tests/non262/regress/regress-289094.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-289094.js rename to js/src/tests/non262/regress/regress-289094.js diff --git a/js/src/tests/js1_5/Regress/regress-290575.js b/js/src/tests/non262/regress/regress-290575.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-290575.js rename to js/src/tests/non262/regress/regress-290575.js diff --git a/js/src/tests/js1_5/Regress/regress-290656.js b/js/src/tests/non262/regress/regress-290656.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-290656.js rename to js/src/tests/non262/regress/regress-290656.js diff --git a/js/src/tests/js1_5/Regress/regress-294191.js b/js/src/tests/non262/regress/regress-294191.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-294191.js rename to js/src/tests/non262/regress/regress-294191.js diff --git a/js/src/tests/js1_5/Regress/regress-294195-01.js b/js/src/tests/non262/regress/regress-294195-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-294195-01.js rename to js/src/tests/non262/regress/regress-294195-01.js diff --git a/js/src/tests/js1_5/Regress/regress-294195-02.js b/js/src/tests/non262/regress/regress-294195-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-294195-02.js rename to js/src/tests/non262/regress/regress-294195-02.js diff --git a/js/src/tests/js1_5/Regress/regress-294302.js b/js/src/tests/non262/regress/regress-294302.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-294302.js rename to js/src/tests/non262/regress/regress-294302.js diff --git a/js/src/tests/js1_5/Regress/regress-295052.js b/js/src/tests/non262/regress/regress-295052.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-295052.js rename to js/src/tests/non262/regress/regress-295052.js diff --git a/js/src/tests/js1_5/Regress/regress-295666.js b/js/src/tests/non262/regress/regress-295666.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-295666.js rename to js/src/tests/non262/regress/regress-295666.js diff --git a/js/src/tests/js1_5/Regress/regress-299209.js b/js/src/tests/non262/regress/regress-299209.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-299209.js rename to js/src/tests/non262/regress/regress-299209.js diff --git a/js/src/tests/js1_5/Regress/regress-299641.js b/js/src/tests/non262/regress/regress-299641.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-299641.js rename to js/src/tests/non262/regress/regress-299641.js diff --git a/js/src/tests/js1_5/Regress/regress-303213.js b/js/src/tests/non262/regress/regress-303213.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-303213.js rename to js/src/tests/non262/regress/regress-303213.js diff --git a/js/src/tests/js1_5/Regress/regress-306633.js b/js/src/tests/non262/regress/regress-306633.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-306633.js rename to js/src/tests/non262/regress/regress-306633.js diff --git a/js/src/tests/js1_5/Regress/regress-306727.js b/js/src/tests/non262/regress/regress-306727.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-306727.js rename to js/src/tests/non262/regress/regress-306727.js diff --git a/js/src/tests/js1_5/Regress/regress-306794.js b/js/src/tests/non262/regress/regress-306794.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-306794.js rename to js/src/tests/non262/regress/regress-306794.js diff --git a/js/src/tests/js1_5/Regress/regress-308085.js b/js/src/tests/non262/regress/regress-308085.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-308085.js rename to js/src/tests/non262/regress/regress-308085.js diff --git a/js/src/tests/js1_5/Regress/regress-308566.js b/js/src/tests/non262/regress/regress-308566.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-308566.js rename to js/src/tests/non262/regress/regress-308566.js diff --git a/js/src/tests/js1_5/Regress/regress-310295.js b/js/src/tests/non262/regress/regress-310295.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-310295.js rename to js/src/tests/non262/regress/regress-310295.js diff --git a/js/src/tests/js1_5/Regress/regress-310607.js b/js/src/tests/non262/regress/regress-310607.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-310607.js rename to js/src/tests/non262/regress/regress-310607.js diff --git a/js/src/tests/js1_5/Regress/regress-310993.js b/js/src/tests/non262/regress/regress-310993.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-310993.js rename to js/src/tests/non262/regress/regress-310993.js diff --git a/js/src/tests/js1_5/Regress/regress-311071.js b/js/src/tests/non262/regress/regress-311071.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-311071.js rename to js/src/tests/non262/regress/regress-311071.js diff --git a/js/src/tests/js1_6/Regress/regress-311157-01.js b/js/src/tests/non262/regress/regress-311157-01.js similarity index 100% rename from js/src/tests/js1_6/Regress/regress-311157-01.js rename to js/src/tests/non262/regress/regress-311157-01.js diff --git a/js/src/tests/js1_6/Regress/regress-311157-02.js b/js/src/tests/non262/regress/regress-311157-02.js similarity index 100% rename from js/src/tests/js1_6/Regress/regress-311157-02.js rename to js/src/tests/non262/regress/regress-311157-02.js diff --git a/js/src/tests/js1_5/Regress/regress-311629.js b/js/src/tests/non262/regress/regress-311629.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-311629.js rename to js/src/tests/non262/regress/regress-311629.js diff --git a/js/src/tests/js1_5/Regress/regress-312260.js b/js/src/tests/non262/regress/regress-312260.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-312260.js rename to js/src/tests/non262/regress/regress-312260.js diff --git a/js/src/tests/js1_5/Regress/regress-31255.js b/js/src/tests/non262/regress/regress-31255.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-31255.js rename to js/src/tests/non262/regress/regress-31255.js diff --git a/js/src/tests/js1_5/Regress/regress-312588.js b/js/src/tests/non262/regress/regress-312588.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-312588.js rename to js/src/tests/non262/regress/regress-312588.js diff --git a/js/src/tests/js1_5/Regress/regress-314401.js b/js/src/tests/non262/regress/regress-314401.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-314401.js rename to js/src/tests/non262/regress/regress-314401.js diff --git a/js/src/tests/js1_5/Regress/regress-315990.js b/js/src/tests/non262/regress/regress-315990.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-315990.js rename to js/src/tests/non262/regress/regress-315990.js diff --git a/js/src/tests/js1_5/Regress/regress-317476.js b/js/src/tests/non262/regress/regress-317476.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-317476.js rename to js/src/tests/non262/regress/regress-317476.js diff --git a/js/src/tests/js1_5/Regress/regress-317714-01.js b/js/src/tests/non262/regress/regress-317714-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-317714-01.js rename to js/src/tests/non262/regress/regress-317714-01.js diff --git a/js/src/tests/js1_5/Regress/regress-317714-02.js b/js/src/tests/non262/regress/regress-317714-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-317714-02.js rename to js/src/tests/non262/regress/regress-317714-02.js diff --git a/js/src/tests/js1_5/Regress/regress-319384.js b/js/src/tests/non262/regress/regress-319384.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-319384.js rename to js/src/tests/non262/regress/regress-319384.js diff --git a/js/src/tests/js1_5/Regress/regress-319391.js b/js/src/tests/non262/regress/regress-319391.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-319391.js rename to js/src/tests/non262/regress/regress-319391.js diff --git a/js/src/tests/js1_5/Regress/regress-320032.js b/js/src/tests/non262/regress/regress-320032.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-320032.js rename to js/src/tests/non262/regress/regress-320032.js diff --git a/js/src/tests/js1_6/Regress/regress-320172.js b/js/src/tests/non262/regress/regress-320172.js similarity index 100% rename from js/src/tests/js1_6/Regress/regress-320172.js rename to js/src/tests/non262/regress/regress-320172.js diff --git a/js/src/tests/js1_5/Regress/regress-321757.js b/js/src/tests/non262/regress/regress-321757.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-321757.js rename to js/src/tests/non262/regress/regress-321757.js diff --git a/js/src/tests/js1_5/Regress/regress-321874.js b/js/src/tests/non262/regress/regress-321874.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-321874.js rename to js/src/tests/non262/regress/regress-321874.js diff --git a/js/src/tests/js1_5/Regress/regress-321971.js b/js/src/tests/non262/regress/regress-321971.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-321971.js rename to js/src/tests/non262/regress/regress-321971.js diff --git a/js/src/tests/js1_5/Regress/regress-322430.js b/js/src/tests/non262/regress/regress-322430.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-322430.js rename to js/src/tests/non262/regress/regress-322430.js diff --git a/js/src/tests/js1_5/Regress/regress-323314-1.js b/js/src/tests/non262/regress/regress-323314-1.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-323314-1.js rename to js/src/tests/non262/regress/regress-323314-1.js diff --git a/js/src/tests/js1_5/Regress/regress-325925.js b/js/src/tests/non262/regress/regress-325925.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-325925.js rename to js/src/tests/non262/regress/regress-325925.js diff --git a/js/src/tests/js1_5/Regress/regress-326467.js b/js/src/tests/non262/regress/regress-326467.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-326467.js rename to js/src/tests/non262/regress/regress-326467.js diff --git a/js/src/tests/js1_5/Regress/regress-328012.js b/js/src/tests/non262/regress/regress-328012.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-328012.js rename to js/src/tests/non262/regress/regress-328012.js diff --git a/js/src/tests/js1_5/Regress/regress-328664.js b/js/src/tests/non262/regress/regress-328664.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-328664.js rename to js/src/tests/non262/regress/regress-328664.js diff --git a/js/src/tests/js1_5/Regress/regress-329383.js b/js/src/tests/non262/regress/regress-329383.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-329383.js rename to js/src/tests/non262/regress/regress-329383.js diff --git a/js/src/tests/js1_5/Regress/regress-329530.js b/js/src/tests/non262/regress/regress-329530.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-329530.js rename to js/src/tests/non262/regress/regress-329530.js diff --git a/js/src/tests/js1_5/Regress/regress-330352.js b/js/src/tests/non262/regress/regress-330352.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-330352.js rename to js/src/tests/non262/regress/regress-330352.js diff --git a/js/src/tests/js1_5/Regress/regress-330951.js b/js/src/tests/non262/regress/regress-330951.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-330951.js rename to js/src/tests/non262/regress/regress-330951.js diff --git a/js/src/tests/js1_5/Regress/regress-334807-01.js b/js/src/tests/non262/regress/regress-334807-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-334807-01.js rename to js/src/tests/non262/regress/regress-334807-01.js diff --git a/js/src/tests/js1_5/Regress/regress-334807-02.js b/js/src/tests/non262/regress/regress-334807-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-334807-02.js rename to js/src/tests/non262/regress/regress-334807-02.js diff --git a/js/src/tests/js1_5/Regress/regress-334807-03.js b/js/src/tests/non262/regress/regress-334807-03.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-334807-03.js rename to js/src/tests/non262/regress/regress-334807-03.js diff --git a/js/src/tests/js1_5/Regress/regress-334807-04.js b/js/src/tests/non262/regress/regress-334807-04.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-334807-04.js rename to js/src/tests/non262/regress/regress-334807-04.js diff --git a/js/src/tests/js1_5/Regress/regress-334807-05.js b/js/src/tests/non262/regress/regress-334807-05.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-334807-05.js rename to js/src/tests/non262/regress/regress-334807-05.js diff --git a/js/src/tests/js1_5/Regress/regress-334807-06.js b/js/src/tests/non262/regress/regress-334807-06.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-334807-06.js rename to js/src/tests/non262/regress/regress-334807-06.js diff --git a/js/src/tests/js1_5/Regress/regress-336100.js b/js/src/tests/non262/regress/regress-336100.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-336100.js rename to js/src/tests/non262/regress/regress-336100.js diff --git a/js/src/tests/js1_5/Regress/regress-338307.js b/js/src/tests/non262/regress/regress-338307.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-338307.js rename to js/src/tests/non262/regress/regress-338307.js diff --git a/js/src/tests/js1_5/Regress/regress-340369.js b/js/src/tests/non262/regress/regress-340369.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-340369.js rename to js/src/tests/non262/regress/regress-340369.js diff --git a/js/src/tests/js1_5/Regress/regress-341360.js b/js/src/tests/non262/regress/regress-341360.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-341360.js rename to js/src/tests/non262/regress/regress-341360.js diff --git a/js/src/tests/js1_5/Regress/regress-343713.js b/js/src/tests/non262/regress/regress-343713.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-343713.js rename to js/src/tests/non262/regress/regress-343713.js diff --git a/js/src/tests/js1_5/Regress/regress-343966.js b/js/src/tests/non262/regress/regress-343966.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-343966.js rename to js/src/tests/non262/regress/regress-343966.js diff --git a/js/src/tests/js1_5/Regress/regress-344711-n.js b/js/src/tests/non262/regress/regress-344711-n.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-344711-n.js rename to js/src/tests/non262/regress/regress-344711-n.js diff --git a/js/src/tests/js1_5/Regress/regress-344804.js b/js/src/tests/non262/regress/regress-344804.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-344804.js rename to js/src/tests/non262/regress/regress-344804.js diff --git a/js/src/tests/js1_5/Regress/regress-344959.js b/js/src/tests/non262/regress/regress-344959.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-344959.js rename to js/src/tests/non262/regress/regress-344959.js diff --git a/js/src/tests/js1_5/Regress/regress-346237.js b/js/src/tests/non262/regress/regress-346237.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-346237.js rename to js/src/tests/non262/regress/regress-346237.js diff --git a/js/src/tests/js1_5/Regress/regress-346801.js b/js/src/tests/non262/regress/regress-346801.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-346801.js rename to js/src/tests/non262/regress/regress-346801.js diff --git a/js/src/tests/js1_5/Regress/regress-349482-01.js b/js/src/tests/non262/regress/regress-349482-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-349482-01.js rename to js/src/tests/non262/regress/regress-349482-01.js diff --git a/js/src/tests/js1_5/Regress/regress-349482-02.js b/js/src/tests/non262/regress/regress-349482-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-349482-02.js rename to js/src/tests/non262/regress/regress-349482-02.js diff --git a/js/src/tests/js1_5/Regress/regress-349592.js b/js/src/tests/non262/regress/regress-349592.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-349592.js rename to js/src/tests/non262/regress/regress-349592.js diff --git a/js/src/tests/js1_5/Regress/regress-350253.js b/js/src/tests/non262/regress/regress-350253.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-350253.js rename to js/src/tests/non262/regress/regress-350253.js diff --git a/js/src/tests/js1_5/Regress/regress-350268.js b/js/src/tests/non262/regress/regress-350268.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-350268.js rename to js/src/tests/non262/regress/regress-350268.js diff --git a/js/src/tests/js1_5/Regress/regress-350312.js b/js/src/tests/non262/regress/regress-350312.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-350312.js rename to js/src/tests/non262/regress/regress-350312.js diff --git a/js/src/tests/js1_5/Regress/regress-350415.js b/js/src/tests/non262/regress/regress-350415.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-350415.js rename to js/src/tests/non262/regress/regress-350415.js diff --git a/js/src/tests/js1_5/Regress/regress-350529.js b/js/src/tests/non262/regress/regress-350529.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-350529.js rename to js/src/tests/non262/regress/regress-350529.js diff --git a/js/src/tests/js1_5/Regress/regress-351116.js b/js/src/tests/non262/regress/regress-351116.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-351116.js rename to js/src/tests/non262/regress/regress-351116.js diff --git a/js/src/tests/js1_5/Regress/regress-351515.js b/js/src/tests/non262/regress/regress-351515.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-351515.js rename to js/src/tests/non262/regress/regress-351515.js diff --git a/js/src/tests/js1_6/Regress/regress-351795.js b/js/src/tests/non262/regress/regress-351795.js similarity index 100% rename from js/src/tests/js1_6/Regress/regress-351795.js rename to js/src/tests/non262/regress/regress-351795.js diff --git a/js/src/tests/js1_5/Regress/regress-352208.js b/js/src/tests/non262/regress/regress-352208.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-352208.js rename to js/src/tests/non262/regress/regress-352208.js diff --git a/js/src/tests/js1_5/Regress/regress-352604.js b/js/src/tests/non262/regress/regress-352604.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-352604.js rename to js/src/tests/non262/regress/regress-352604.js diff --git a/js/src/tests/js1_7/regress/regress-352640-01.js b/js/src/tests/non262/regress/regress-352640-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-352640-01.js rename to js/src/tests/non262/regress/regress-352640-01.js diff --git a/js/src/tests/js1_7/regress/regress-352640-02.js b/js/src/tests/non262/regress/regress-352640-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-352640-02.js rename to js/src/tests/non262/regress/regress-352640-02.js diff --git a/js/src/tests/js1_7/regress/regress-352640-04.js b/js/src/tests/non262/regress/regress-352640-04.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-352640-04.js rename to js/src/tests/non262/regress/regress-352640-04.js diff --git a/js/src/tests/js1_6/Regress/regress-353078.js b/js/src/tests/non262/regress/regress-353078.js similarity index 100% rename from js/src/tests/js1_6/Regress/regress-353078.js rename to js/src/tests/non262/regress/regress-353078.js diff --git a/js/src/tests/js1_7/regress/regress-353079.js b/js/src/tests/non262/regress/regress-353079.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-353079.js rename to js/src/tests/non262/regress/regress-353079.js diff --git a/js/src/tests/js1_7/regress/regress-355023.js b/js/src/tests/non262/regress/regress-355023.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-355023.js rename to js/src/tests/non262/regress/regress-355023.js diff --git a/js/src/tests/js1_5/Regress/regress-355556.js b/js/src/tests/non262/regress/regress-355556.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-355556.js rename to js/src/tests/non262/regress/regress-355556.js diff --git a/js/src/tests/js1_8_5/regress/regress-355569.js b/js/src/tests/non262/regress/regress-355569.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-355569.js rename to js/src/tests/non262/regress/regress-355569.js diff --git a/js/src/tests/js1_5/Regress/regress-355829-01.js b/js/src/tests/non262/regress/regress-355829-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-355829-01.js rename to js/src/tests/non262/regress/regress-355829-01.js diff --git a/js/src/tests/js1_5/Regress/regress-355829-02.js b/js/src/tests/non262/regress/regress-355829-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-355829-02.js rename to js/src/tests/non262/regress/regress-355829-02.js diff --git a/js/src/tests/js1_5/Regress/regress-355829-03.js b/js/src/tests/non262/regress/regress-355829-03.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-355829-03.js rename to js/src/tests/non262/regress/regress-355829-03.js diff --git a/js/src/tests/js1_7/regress/regress-355832-01.js b/js/src/tests/non262/regress/regress-355832-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-355832-01.js rename to js/src/tests/non262/regress/regress-355832-01.js diff --git a/js/src/tests/js1_7/regress/regress-355832-02.js b/js/src/tests/non262/regress/regress-355832-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-355832-02.js rename to js/src/tests/non262/regress/regress-355832-02.js diff --git a/js/src/tests/js1_5/Regress/regress-356250.js b/js/src/tests/non262/regress/regress-356250.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-356250.js rename to js/src/tests/non262/regress/regress-356250.js diff --git a/js/src/tests/js1_5/Regress/regress-356693.js b/js/src/tests/non262/regress/regress-356693.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-356693.js rename to js/src/tests/non262/regress/regress-356693.js diff --git a/js/src/tests/js1_5/Regress/regress-360969-01.js b/js/src/tests/non262/regress/regress-360969-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-360969-01.js rename to js/src/tests/non262/regress/regress-360969-01.js diff --git a/js/src/tests/js1_5/Regress/regress-360969-02.js b/js/src/tests/non262/regress/regress-360969-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-360969-02.js rename to js/src/tests/non262/regress/regress-360969-02.js diff --git a/js/src/tests/js1_5/Regress/regress-360969-03.js b/js/src/tests/non262/regress/regress-360969-03.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-360969-03.js rename to js/src/tests/non262/regress/regress-360969-03.js diff --git a/js/src/tests/js1_5/Regress/regress-360969-04.js b/js/src/tests/non262/regress/regress-360969-04.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-360969-04.js rename to js/src/tests/non262/regress/regress-360969-04.js diff --git a/js/src/tests/js1_5/Regress/regress-360969-05.js b/js/src/tests/non262/regress/regress-360969-05.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-360969-05.js rename to js/src/tests/non262/regress/regress-360969-05.js diff --git a/js/src/tests/js1_5/Regress/regress-360969-06.js b/js/src/tests/non262/regress/regress-360969-06.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-360969-06.js rename to js/src/tests/non262/regress/regress-360969-06.js diff --git a/js/src/tests/js1_7/regress/regress-363040-01.js b/js/src/tests/non262/regress/regress-363040-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-363040-01.js rename to js/src/tests/non262/regress/regress-363040-01.js diff --git a/js/src/tests/js1_7/regress/regress-363040-02.js b/js/src/tests/non262/regress/regress-363040-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-363040-02.js rename to js/src/tests/non262/regress/regress-363040-02.js diff --git a/js/src/tests/js1_5/Regress/regress-3649-n.js b/js/src/tests/non262/regress/regress-3649-n.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-3649-n.js rename to js/src/tests/non262/regress/regress-3649-n.js diff --git a/js/src/tests/js1_5/Regress/regress-366122.js b/js/src/tests/non262/regress/regress-366122.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-366122.js rename to js/src/tests/non262/regress/regress-366122.js diff --git a/js/src/tests/js1_5/Regress/regress-366468.js b/js/src/tests/non262/regress/regress-366468.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-366468.js rename to js/src/tests/non262/regress/regress-366468.js diff --git a/js/src/tests/js1_5/Regress/regress-366601.js b/js/src/tests/non262/regress/regress-366601.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-366601.js rename to js/src/tests/non262/regress/regress-366601.js diff --git a/js/src/tests/js1_5/Regress/regress-367561-01.js b/js/src/tests/non262/regress/regress-367561-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-367561-01.js rename to js/src/tests/non262/regress/regress-367561-01.js diff --git a/js/src/tests/js1_5/Regress/regress-367561-03.js b/js/src/tests/non262/regress/regress-367561-03.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-367561-03.js rename to js/src/tests/non262/regress/regress-367561-03.js diff --git a/js/src/tests/js1_7/regress/regress-369666-01.js b/js/src/tests/non262/regress/regress-369666-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-369666-01.js rename to js/src/tests/non262/regress/regress-369666-01.js diff --git a/js/src/tests/js1_7/regress/regress-369666-02.js b/js/src/tests/non262/regress/regress-369666-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-369666-02.js rename to js/src/tests/non262/regress/regress-369666-02.js diff --git a/js/src/tests/js1_5/Regress/regress-372364.js b/js/src/tests/non262/regress/regress-372364.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-372364.js rename to js/src/tests/non262/regress/regress-372364.js diff --git a/js/src/tests/js1_7/regress/regress-373827-01.js b/js/src/tests/non262/regress/regress-373827-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-373827-01.js rename to js/src/tests/non262/regress/regress-373827-01.js diff --git a/js/src/tests/js1_7/regress/regress-373827-02.js b/js/src/tests/non262/regress/regress-373827-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-373827-02.js rename to js/src/tests/non262/regress/regress-373827-02.js diff --git a/js/src/tests/js1_8_5/regress/regress-373843.js b/js/src/tests/non262/regress/regress-373843.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-373843.js rename to js/src/tests/non262/regress/regress-373843.js diff --git a/js/src/tests/js1_5/Regress/regress-379245.js b/js/src/tests/non262/regress/regress-379245.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-379245.js rename to js/src/tests/non262/regress/regress-379245.js diff --git a/js/src/tests/js1_7/regress/regress-379442.js b/js/src/tests/non262/regress/regress-379442.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-379442.js rename to js/src/tests/non262/regress/regress-379442.js diff --git a/js/src/tests/js1_7/regress/regress-379483.js b/js/src/tests/non262/regress/regress-379483.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-379483.js rename to js/src/tests/non262/regress/regress-379483.js diff --git a/js/src/tests/js1_5/Regress/regress-383674.js b/js/src/tests/non262/regress/regress-383674.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-383674.js rename to js/src/tests/non262/regress/regress-383674.js diff --git a/js/src/tests/js1_5/Regress/regress-383682.js b/js/src/tests/non262/regress/regress-383682.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-383682.js rename to js/src/tests/non262/regress/regress-383682.js diff --git a/js/src/tests/js1_8_5/regress/regress-383902.js b/js/src/tests/non262/regress/regress-383902.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-383902.js rename to js/src/tests/non262/regress/regress-383902.js diff --git a/js/src/tests/js1_8/regress/regress-384758.js b/js/src/tests/non262/regress/regress-384758.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-384758.js rename to js/src/tests/non262/regress/regress-384758.js diff --git a/js/src/tests/ecma_3/Regress/regress-385393-04.js b/js/src/tests/non262/regress/regress-385393-04.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-385393-04.js rename to js/src/tests/non262/regress/regress-385393-04.js diff --git a/js/src/tests/js1_5/Regress/regress-387951-01.js b/js/src/tests/non262/regress/regress-387951-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-387951-01.js rename to js/src/tests/non262/regress/regress-387951-01.js diff --git a/js/src/tests/js1_5/Regress/regress-387951-02.js b/js/src/tests/non262/regress/regress-387951-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-387951-02.js rename to js/src/tests/non262/regress/regress-387951-02.js diff --git a/js/src/tests/js1_5/Regress/regress-387951-03.js b/js/src/tests/non262/regress/regress-387951-03.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-387951-03.js rename to js/src/tests/non262/regress/regress-387951-03.js diff --git a/js/src/tests/js1_5/Regress/regress-39309.js b/js/src/tests/non262/regress/regress-39309.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-39309.js rename to js/src/tests/non262/regress/regress-39309.js diff --git a/js/src/tests/js1_5/Regress/regress-396684.js b/js/src/tests/non262/regress/regress-396684.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-396684.js rename to js/src/tests/non262/regress/regress-396684.js diff --git a/js/src/tests/js1_5/Regress/regress-398085-01.js b/js/src/tests/non262/regress/regress-398085-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-398085-01.js rename to js/src/tests/non262/regress/regress-398085-01.js diff --git a/js/src/tests/js1_5/Regress/regress-398085-02.js b/js/src/tests/non262/regress/regress-398085-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-398085-02.js rename to js/src/tests/non262/regress/regress-398085-02.js diff --git a/js/src/tests/js1_5/Regress/regress-398609.js b/js/src/tests/non262/regress/regress-398609.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-398609.js rename to js/src/tests/non262/regress/regress-398609.js diff --git a/js/src/tests/js1_8/regress/regress-404734.js b/js/src/tests/non262/regress/regress-404734.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-404734.js rename to js/src/tests/non262/regress/regress-404734.js diff --git a/js/src/tests/js1_5/Regress/regress-404755.js b/js/src/tests/non262/regress/regress-404755.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-404755.js rename to js/src/tests/non262/regress/regress-404755.js diff --git a/js/src/tests/js1_5/Regress/regress-406769.js b/js/src/tests/non262/regress/regress-406769.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-406769.js rename to js/src/tests/non262/regress/regress-406769.js diff --git a/js/src/tests/js1_5/Regress/regress-407024.js b/js/src/tests/non262/regress/regress-407024.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-407024.js rename to js/src/tests/non262/regress/regress-407024.js diff --git a/js/src/tests/js1_7/regress/regress-407727-01.js b/js/src/tests/non262/regress/regress-407727-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-407727-01.js rename to js/src/tests/non262/regress/regress-407727-01.js diff --git a/js/src/tests/js1_7/regress/regress-407727-02.js b/js/src/tests/non262/regress/regress-407727-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-407727-02.js rename to js/src/tests/non262/regress/regress-407727-02.js diff --git a/js/src/tests/js1_7/regress/regress-410649.js b/js/src/tests/non262/regress/regress-410649.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-410649.js rename to js/src/tests/non262/regress/regress-410649.js diff --git a/js/src/tests/js1_5/Regress/regress-410852.js b/js/src/tests/non262/regress/regress-410852.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-410852.js rename to js/src/tests/non262/regress/regress-410852.js diff --git a/js/src/tests/js1_7/regress/regress-414553.js b/js/src/tests/non262/regress/regress-414553.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-414553.js rename to js/src/tests/non262/regress/regress-414553.js diff --git a/js/src/tests/js1_5/Regress/regress-416737-01.js b/js/src/tests/non262/regress/regress-416737-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-416737-01.js rename to js/src/tests/non262/regress/regress-416737-01.js diff --git a/js/src/tests/js1_5/Regress/regress-416737-02.js b/js/src/tests/non262/regress/regress-416737-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-416737-02.js rename to js/src/tests/non262/regress/regress-416737-02.js diff --git a/js/src/tests/js1_5/Regress/regress-417893.js b/js/src/tests/non262/regress/regress-417893.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-417893.js rename to js/src/tests/non262/regress/regress-417893.js diff --git a/js/src/tests/js1_5/Regress/regress-418540.js b/js/src/tests/non262/regress/regress-418540.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-418540.js rename to js/src/tests/non262/regress/regress-418540.js diff --git a/js/src/tests/js1_7/regress/regress-418641.js b/js/src/tests/non262/regress/regress-418641.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-418641.js rename to js/src/tests/non262/regress/regress-418641.js diff --git a/js/src/tests/js1_5/Regress/regress-419018.js b/js/src/tests/non262/regress/regress-419018.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-419018.js rename to js/src/tests/non262/regress/regress-419018.js diff --git a/js/src/tests/ecma_3/Regress/regress-419152.js b/js/src/tests/non262/regress/regress-419152.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-419152.js rename to js/src/tests/non262/regress/regress-419152.js diff --git a/js/src/tests/js1_5/Regress/regress-419803.js b/js/src/tests/non262/regress/regress-419803.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-419803.js rename to js/src/tests/non262/regress/regress-419803.js diff --git a/js/src/tests/ecma_3/Regress/regress-420087.js b/js/src/tests/non262/regress/regress-420087.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-420087.js rename to js/src/tests/non262/regress/regress-420087.js diff --git a/js/src/tests/ecma_3/Regress/regress-420610.js b/js/src/tests/non262/regress/regress-420610.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-420610.js rename to js/src/tests/non262/regress/regress-420610.js diff --git a/js/src/tests/js1_5/Regress/regress-420919.js b/js/src/tests/non262/regress/regress-420919.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-420919.js rename to js/src/tests/non262/regress/regress-420919.js diff --git a/js/src/tests/js1_5/Regress/regress-422348.js b/js/src/tests/non262/regress/regress-422348.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-422348.js rename to js/src/tests/non262/regress/regress-422348.js diff --git a/js/src/tests/js1_5/Regress/regress-424311.js b/js/src/tests/non262/regress/regress-424311.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-424311.js rename to js/src/tests/non262/regress/regress-424311.js diff --git a/js/src/tests/js1_5/Regress/regress-425360.js b/js/src/tests/non262/regress/regress-425360.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-425360.js rename to js/src/tests/non262/regress/regress-425360.js diff --git a/js/src/tests/js1_5/Regress/regress-426827.js b/js/src/tests/non262/regress/regress-426827.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-426827.js rename to js/src/tests/non262/regress/regress-426827.js diff --git a/js/src/tests/js1_8/regress/regress-427798.js b/js/src/tests/non262/regress/regress-427798.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-427798.js rename to js/src/tests/non262/regress/regress-427798.js diff --git a/js/src/tests/js1_5/Regress/regress-428366.js b/js/src/tests/non262/regress/regress-428366.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-428366.js rename to js/src/tests/non262/regress/regress-428366.js diff --git a/js/src/tests/js1_8/regress/regress-433279-01.js b/js/src/tests/non262/regress/regress-433279-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-433279-01.js rename to js/src/tests/non262/regress/regress-433279-01.js diff --git a/js/src/tests/js1_8/regress/regress-433279-02.js b/js/src/tests/non262/regress/regress-433279-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-433279-02.js rename to js/src/tests/non262/regress/regress-433279-02.js diff --git a/js/src/tests/js1_8/regress/regress-433279-03.js b/js/src/tests/non262/regress/regress-433279-03.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-433279-03.js rename to js/src/tests/non262/regress/regress-433279-03.js diff --git a/js/src/tests/js1_5/Regress/regress-438415-01.js b/js/src/tests/non262/regress/regress-438415-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-438415-01.js rename to js/src/tests/non262/regress/regress-438415-01.js diff --git a/js/src/tests/js1_5/Regress/regress-438415-02.js b/js/src/tests/non262/regress/regress-438415-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-438415-02.js rename to js/src/tests/non262/regress/regress-438415-02.js diff --git a/js/src/tests/js1_5/Regress/regress-440926.js b/js/src/tests/non262/regress/regress-440926.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-440926.js rename to js/src/tests/non262/regress/regress-440926.js diff --git a/js/src/tests/ecma_3/Regress/regress-441477-01.js b/js/src/tests/non262/regress/regress-441477-01.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-441477-01.js rename to js/src/tests/non262/regress/regress-441477-01.js diff --git a/js/src/tests/js1_8/regress/regress-442333-01.js b/js/src/tests/non262/regress/regress-442333-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-442333-01.js rename to js/src/tests/non262/regress/regress-442333-01.js diff --git a/js/src/tests/js1_5/Regress/regress-449627.js b/js/src/tests/non262/regress/regress-449627.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-449627.js rename to js/src/tests/non262/regress/regress-449627.js diff --git a/js/src/tests/js1_5/Regress/regress-449666.js b/js/src/tests/non262/regress/regress-449666.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-449666.js rename to js/src/tests/non262/regress/regress-449666.js diff --git a/js/src/tests/js1_5/Regress/regress-450369.js b/js/src/tests/non262/regress/regress-450369.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-450369.js rename to js/src/tests/non262/regress/regress-450369.js diff --git a/js/src/tests/js1_5/Regress/regress-450833.js b/js/src/tests/non262/regress/regress-450833.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-450833.js rename to js/src/tests/non262/regress/regress-450833.js diff --git a/js/src/tests/js1_5/Regress/regress-451322.js b/js/src/tests/non262/regress/regress-451322.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-451322.js rename to js/src/tests/non262/regress/regress-451322.js diff --git a/js/src/tests/js1_5/Regress/regress-451884.js b/js/src/tests/non262/regress/regress-451884.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-451884.js rename to js/src/tests/non262/regress/regress-451884.js diff --git a/js/src/tests/js1_5/Regress/regress-451946.js b/js/src/tests/non262/regress/regress-451946.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-451946.js rename to js/src/tests/non262/regress/regress-451946.js diff --git a/js/src/tests/js1_5/Regress/regress-452008.js b/js/src/tests/non262/regress/regress-452008.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452008.js rename to js/src/tests/non262/regress/regress-452008.js diff --git a/js/src/tests/js1_5/Regress/regress-452170.js b/js/src/tests/non262/regress/regress-452170.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452170.js rename to js/src/tests/non262/regress/regress-452170.js diff --git a/js/src/tests/js1_5/Regress/regress-452189.js b/js/src/tests/non262/regress/regress-452189.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452189.js rename to js/src/tests/non262/regress/regress-452189.js diff --git a/js/src/tests/js1_5/Regress/regress-452333.js b/js/src/tests/non262/regress/regress-452333.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452333.js rename to js/src/tests/non262/regress/regress-452333.js diff --git a/js/src/tests/js1_5/Regress/regress-452336.js b/js/src/tests/non262/regress/regress-452336.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452336.js rename to js/src/tests/non262/regress/regress-452336.js diff --git a/js/src/tests/js1_5/Regress/regress-452346.js b/js/src/tests/non262/regress/regress-452346.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452346.js rename to js/src/tests/non262/regress/regress-452346.js diff --git a/js/src/tests/js1_8/regress/regress-452491.js b/js/src/tests/non262/regress/regress-452491.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-452491.js rename to js/src/tests/non262/regress/regress-452491.js diff --git a/js/src/tests/js1_5/Regress/regress-452495.js b/js/src/tests/non262/regress/regress-452495.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452495.js rename to js/src/tests/non262/regress/regress-452495.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-006.js b/js/src/tests/non262/regress/regress-452498-006.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-006.js rename to js/src/tests/non262/regress/regress-452498-006.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-027.js b/js/src/tests/non262/regress/regress-452498-027.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-027.js rename to js/src/tests/non262/regress/regress-452498-027.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-030.js b/js/src/tests/non262/regress/regress-452498-030.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-030.js rename to js/src/tests/non262/regress/regress-452498-030.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-040.js b/js/src/tests/non262/regress/regress-452498-040.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-040.js rename to js/src/tests/non262/regress/regress-452498-040.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-050.js b/js/src/tests/non262/regress/regress-452498-050.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-050.js rename to js/src/tests/non262/regress/regress-452498-050.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-051.js b/js/src/tests/non262/regress/regress-452498-051.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-051.js rename to js/src/tests/non262/regress/regress-452498-051.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-052-a.js b/js/src/tests/non262/regress/regress-452498-052-a.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-052-a.js rename to js/src/tests/non262/regress/regress-452498-052-a.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-053.js b/js/src/tests/non262/regress/regress-452498-053.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-053.js rename to js/src/tests/non262/regress/regress-452498-053.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-058.js b/js/src/tests/non262/regress/regress-452498-058.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-058.js rename to js/src/tests/non262/regress/regress-452498-058.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-062.js b/js/src/tests/non262/regress/regress-452498-062.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-062.js rename to js/src/tests/non262/regress/regress-452498-062.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-063.js b/js/src/tests/non262/regress/regress-452498-063.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-063.js rename to js/src/tests/non262/regress/regress-452498-063.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-071.js b/js/src/tests/non262/regress/regress-452498-071.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-071.js rename to js/src/tests/non262/regress/regress-452498-071.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-072.js b/js/src/tests/non262/regress/regress-452498-072.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-072.js rename to js/src/tests/non262/regress/regress-452498-072.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-073.js b/js/src/tests/non262/regress/regress-452498-073.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-073.js rename to js/src/tests/non262/regress/regress-452498-073.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-074.js b/js/src/tests/non262/regress/regress-452498-074.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-074.js rename to js/src/tests/non262/regress/regress-452498-074.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-075.js b/js/src/tests/non262/regress/regress-452498-075.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-075.js rename to js/src/tests/non262/regress/regress-452498-075.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-076.js b/js/src/tests/non262/regress/regress-452498-076.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-076.js rename to js/src/tests/non262/regress/regress-452498-076.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-079.js b/js/src/tests/non262/regress/regress-452498-079.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-079.js rename to js/src/tests/non262/regress/regress-452498-079.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-082.js b/js/src/tests/non262/regress/regress-452498-082.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-082.js rename to js/src/tests/non262/regress/regress-452498-082.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-092.js b/js/src/tests/non262/regress/regress-452498-092.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-092.js rename to js/src/tests/non262/regress/regress-452498-092.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-101.js b/js/src/tests/non262/regress/regress-452498-101.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-101.js rename to js/src/tests/non262/regress/regress-452498-101.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-102.js b/js/src/tests/non262/regress/regress-452498-102.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-102.js rename to js/src/tests/non262/regress/regress-452498-102.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-104.js b/js/src/tests/non262/regress/regress-452498-104.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-104.js rename to js/src/tests/non262/regress/regress-452498-104.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-111.js b/js/src/tests/non262/regress/regress-452498-111.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-111.js rename to js/src/tests/non262/regress/regress-452498-111.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-112.js b/js/src/tests/non262/regress/regress-452498-112.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-112.js rename to js/src/tests/non262/regress/regress-452498-112.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-114-a.js b/js/src/tests/non262/regress/regress-452498-114-a.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-114-a.js rename to js/src/tests/non262/regress/regress-452498-114-a.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-114.js b/js/src/tests/non262/regress/regress-452498-114.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-114.js rename to js/src/tests/non262/regress/regress-452498-114.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-116.js b/js/src/tests/non262/regress/regress-452498-116.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-116.js rename to js/src/tests/non262/regress/regress-452498-116.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-117.js b/js/src/tests/non262/regress/regress-452498-117.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-117.js rename to js/src/tests/non262/regress/regress-452498-117.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-118.js b/js/src/tests/non262/regress/regress-452498-118.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-118.js rename to js/src/tests/non262/regress/regress-452498-118.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-121.js b/js/src/tests/non262/regress/regress-452498-121.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-121.js rename to js/src/tests/non262/regress/regress-452498-121.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-123.js b/js/src/tests/non262/regress/regress-452498-123.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-123.js rename to js/src/tests/non262/regress/regress-452498-123.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-129.js b/js/src/tests/non262/regress/regress-452498-129.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-129.js rename to js/src/tests/non262/regress/regress-452498-129.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-131.js b/js/src/tests/non262/regress/regress-452498-131.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-131.js rename to js/src/tests/non262/regress/regress-452498-131.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-135.js b/js/src/tests/non262/regress/regress-452498-135.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-135.js rename to js/src/tests/non262/regress/regress-452498-135.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-155.js b/js/src/tests/non262/regress/regress-452498-155.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-155.js rename to js/src/tests/non262/regress/regress-452498-155.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-160.js b/js/src/tests/non262/regress/regress-452498-160.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-160.js rename to js/src/tests/non262/regress/regress-452498-160.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-168-1.js b/js/src/tests/non262/regress/regress-452498-168-1.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-168-1.js rename to js/src/tests/non262/regress/regress-452498-168-1.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-168-2.js b/js/src/tests/non262/regress/regress-452498-168-2.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-168-2.js rename to js/src/tests/non262/regress/regress-452498-168-2.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-176.js b/js/src/tests/non262/regress/regress-452498-176.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-176.js rename to js/src/tests/non262/regress/regress-452498-176.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-181.js b/js/src/tests/non262/regress/regress-452498-181.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-181.js rename to js/src/tests/non262/regress/regress-452498-181.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-185.js b/js/src/tests/non262/regress/regress-452498-185.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-185.js rename to js/src/tests/non262/regress/regress-452498-185.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-187.js b/js/src/tests/non262/regress/regress-452498-187.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-187.js rename to js/src/tests/non262/regress/regress-452498-187.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-191.js b/js/src/tests/non262/regress/regress-452498-191.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-191.js rename to js/src/tests/non262/regress/regress-452498-191.js diff --git a/js/src/tests/js1_8_1/regress/regress-452498-192.js b/js/src/tests/non262/regress/regress-452498-192.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-452498-192.js rename to js/src/tests/non262/regress/regress-452498-192.js diff --git a/js/src/tests/js1_5/Regress/regress-452573-01.js b/js/src/tests/non262/regress/regress-452573-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452573-01.js rename to js/src/tests/non262/regress/regress-452573-01.js diff --git a/js/src/tests/js1_5/Regress/regress-452573-02.js b/js/src/tests/non262/regress/regress-452573-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452573-02.js rename to js/src/tests/non262/regress/regress-452573-02.js diff --git a/js/src/tests/js1_7/regress/regress-452703.js b/js/src/tests/non262/regress/regress-452703.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-452703.js rename to js/src/tests/non262/regress/regress-452703.js diff --git a/js/src/tests/js1_5/Regress/regress-452713.js b/js/src/tests/non262/regress/regress-452713.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452713.js rename to js/src/tests/non262/regress/regress-452713.js diff --git a/js/src/tests/js1_5/Regress/regress-452724-01.js b/js/src/tests/non262/regress/regress-452724-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452724-01.js rename to js/src/tests/non262/regress/regress-452724-01.js diff --git a/js/src/tests/js1_5/Regress/regress-452724-02.js b/js/src/tests/non262/regress/regress-452724-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452724-02.js rename to js/src/tests/non262/regress/regress-452724-02.js diff --git a/js/src/tests/js1_5/Regress/regress-452742-01.js b/js/src/tests/non262/regress/regress-452742-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452742-01.js rename to js/src/tests/non262/regress/regress-452742-01.js diff --git a/js/src/tests/js1_5/Regress/regress-452742-02.js b/js/src/tests/non262/regress/regress-452742-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452742-02.js rename to js/src/tests/non262/regress/regress-452742-02.js diff --git a/js/src/tests/js1_5/Regress/regress-452853.js b/js/src/tests/non262/regress/regress-452853.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452853.js rename to js/src/tests/non262/regress/regress-452853.js diff --git a/js/src/tests/js1_5/Regress/regress-452884-01.js b/js/src/tests/non262/regress/regress-452884-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452884-01.js rename to js/src/tests/non262/regress/regress-452884-01.js diff --git a/js/src/tests/js1_5/Regress/regress-452884-02.js b/js/src/tests/non262/regress/regress-452884-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-452884-02.js rename to js/src/tests/non262/regress/regress-452884-02.js diff --git a/js/src/tests/js1_7/regress/regress-452960.js b/js/src/tests/non262/regress/regress-452960.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-452960.js rename to js/src/tests/non262/regress/regress-452960.js diff --git a/js/src/tests/js1_5/Regress/regress-453024.js b/js/src/tests/non262/regress/regress-453024.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-453024.js rename to js/src/tests/non262/regress/regress-453024.js diff --git a/js/src/tests/js1_7/regress/regress-453049.js b/js/src/tests/non262/regress/regress-453049.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-453049.js rename to js/src/tests/non262/regress/regress-453049.js diff --git a/js/src/tests/js1_7/regress/regress-453051.js b/js/src/tests/non262/regress/regress-453051.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-453051.js rename to js/src/tests/non262/regress/regress-453051.js diff --git a/js/src/tests/js1_5/Regress/regress-453173.js b/js/src/tests/non262/regress/regress-453173.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-453173.js rename to js/src/tests/non262/regress/regress-453173.js diff --git a/js/src/tests/js1_5/Regress/regress-453397.js b/js/src/tests/non262/regress/regress-453397.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-453397.js rename to js/src/tests/non262/regress/regress-453397.js diff --git a/js/src/tests/js1_5/Regress/regress-453701.js b/js/src/tests/non262/regress/regress-453701.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-453701.js rename to js/src/tests/non262/regress/regress-453701.js diff --git a/js/src/tests/js1_5/Regress/regress-453747.js b/js/src/tests/non262/regress/regress-453747.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-453747.js rename to js/src/tests/non262/regress/regress-453747.js diff --git a/js/src/tests/js1_5/Regress/regress-454682.js b/js/src/tests/non262/regress/regress-454682.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-454682.js rename to js/src/tests/non262/regress/regress-454682.js diff --git a/js/src/tests/js1_5/Regress/regress-454981.js b/js/src/tests/non262/regress/regress-454981.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-454981.js rename to js/src/tests/non262/regress/regress-454981.js diff --git a/js/src/tests/js1_5/Regress/regress-455605.js b/js/src/tests/non262/regress/regress-455605.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-455605.js rename to js/src/tests/non262/regress/regress-455605.js diff --git a/js/src/tests/js1_5/Regress/regress-455748.js b/js/src/tests/non262/regress/regress-455748.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-455748.js rename to js/src/tests/non262/regress/regress-455748.js diff --git a/js/src/tests/js1_5/Regress/regress-455758-01.js b/js/src/tests/non262/regress/regress-455758-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-455758-01.js rename to js/src/tests/non262/regress/regress-455758-01.js diff --git a/js/src/tests/js1_5/Regress/regress-455758-02.js b/js/src/tests/non262/regress/regress-455758-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-455758-02.js rename to js/src/tests/non262/regress/regress-455758-02.js diff --git a/js/src/tests/js1_5/Regress/regress-455775.js b/js/src/tests/non262/regress/regress-455775.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-455775.js rename to js/src/tests/non262/regress/regress-455775.js diff --git a/js/src/tests/js1_8/regress/regress-455981-01.js b/js/src/tests/non262/regress/regress-455981-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-455981-01.js rename to js/src/tests/non262/regress/regress-455981-01.js diff --git a/js/src/tests/js1_8/regress/regress-455981-02.js b/js/src/tests/non262/regress/regress-455981-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-455981-02.js rename to js/src/tests/non262/regress/regress-455981-02.js diff --git a/js/src/tests/js1_5/Regress/regress-456470.js b/js/src/tests/non262/regress/regress-456470.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-456470.js rename to js/src/tests/non262/regress/regress-456470.js diff --git a/js/src/tests/js1_5/Regress/regress-456477-01.js b/js/src/tests/non262/regress/regress-456477-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-456477-01.js rename to js/src/tests/non262/regress/regress-456477-01.js diff --git a/js/src/tests/js1_5/Regress/regress-456477-02.js b/js/src/tests/non262/regress/regress-456477-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-456477-02.js rename to js/src/tests/non262/regress/regress-456477-02.js diff --git a/js/src/tests/js1_5/Regress/regress-456494.js b/js/src/tests/non262/regress/regress-456494.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-456494.js rename to js/src/tests/non262/regress/regress-456494.js diff --git a/js/src/tests/js1_5/Regress/regress-456540-01.js b/js/src/tests/non262/regress/regress-456540-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-456540-01.js rename to js/src/tests/non262/regress/regress-456540-01.js diff --git a/js/src/tests/js1_5/Regress/regress-456540-02.js b/js/src/tests/non262/regress/regress-456540-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-456540-02.js rename to js/src/tests/non262/regress/regress-456540-02.js diff --git a/js/src/tests/js1_8/regress/regress-457065-01.js b/js/src/tests/non262/regress/regress-457065-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-457065-01.js rename to js/src/tests/non262/regress/regress-457065-01.js diff --git a/js/src/tests/js1_8/regress/regress-457065-02.js b/js/src/tests/non262/regress/regress-457065-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-457065-02.js rename to js/src/tests/non262/regress/regress-457065-02.js diff --git a/js/src/tests/js1_5/Regress/regress-457065-03.js b/js/src/tests/non262/regress/regress-457065-03.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-457065-03.js rename to js/src/tests/non262/regress/regress-457065-03.js diff --git a/js/src/tests/js1_5/Regress/regress-457456.js b/js/src/tests/non262/regress/regress-457456.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-457456.js rename to js/src/tests/non262/regress/regress-457456.js diff --git a/js/src/tests/js1_5/Regress/regress-457778.js b/js/src/tests/non262/regress/regress-457778.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-457778.js rename to js/src/tests/non262/regress/regress-457778.js diff --git a/js/src/tests/js1_8/regress/regress-458076.js b/js/src/tests/non262/regress/regress-458076.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-458076.js rename to js/src/tests/non262/regress/regress-458076.js diff --git a/js/src/tests/js1_5/Regress/regress-458851.js b/js/src/tests/non262/regress/regress-458851.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-458851.js rename to js/src/tests/non262/regress/regress-458851.js diff --git a/js/src/tests/js1_5/Regress/regress-459085.js b/js/src/tests/non262/regress/regress-459085.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-459085.js rename to js/src/tests/non262/regress/regress-459085.js diff --git a/js/src/tests/js1_8/regress/regress-459185.js b/js/src/tests/non262/regress/regress-459185.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-459185.js rename to js/src/tests/non262/regress/regress-459185.js diff --git a/js/src/tests/js1_8/regress/regress-459186.js b/js/src/tests/non262/regress/regress-459186.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-459186.js rename to js/src/tests/non262/regress/regress-459186.js diff --git a/js/src/tests/js1_8/regress/regress-459389.js b/js/src/tests/non262/regress/regress-459389.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-459389.js rename to js/src/tests/non262/regress/regress-459389.js diff --git a/js/src/tests/js1_5/Regress/regress-459628.js b/js/src/tests/non262/regress/regress-459628.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-459628.js rename to js/src/tests/non262/regress/regress-459628.js diff --git a/js/src/tests/js1_5/Regress/regress-459990.js b/js/src/tests/non262/regress/regress-459990.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-459990.js rename to js/src/tests/non262/regress/regress-459990.js diff --git a/js/src/tests/js1_5/Regress/regress-460024.js b/js/src/tests/non262/regress/regress-460024.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-460024.js rename to js/src/tests/non262/regress/regress-460024.js diff --git a/js/src/tests/js1_5/Regress/regress-460117.js b/js/src/tests/non262/regress/regress-460117.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-460117.js rename to js/src/tests/non262/regress/regress-460117.js diff --git a/js/src/tests/js1_5/Regress/regress-460886-01.js b/js/src/tests/non262/regress/regress-460886-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-460886-01.js rename to js/src/tests/non262/regress/regress-460886-01.js diff --git a/js/src/tests/js1_5/Regress/regress-460886-02.js b/js/src/tests/non262/regress/regress-460886-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-460886-02.js rename to js/src/tests/non262/regress/regress-460886-02.js diff --git a/js/src/tests/js1_5/Regress/regress-461307.js b/js/src/tests/non262/regress/regress-461307.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-461307.js rename to js/src/tests/non262/regress/regress-461307.js diff --git a/js/src/tests/js1_5/Regress/regress-461723.js b/js/src/tests/non262/regress/regress-461723.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-461723.js rename to js/src/tests/non262/regress/regress-461723.js diff --git a/js/src/tests/js1_7/regress/regress-462071.js b/js/src/tests/non262/regress/regress-462071.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-462071.js rename to js/src/tests/non262/regress/regress-462071.js diff --git a/js/src/tests/js1_7/regress/regress-462282.js b/js/src/tests/non262/regress/regress-462282.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-462282.js rename to js/src/tests/non262/regress/regress-462282.js diff --git a/js/src/tests/js1_5/Regress/regress-462292.js b/js/src/tests/non262/regress/regress-462292.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-462292.js rename to js/src/tests/non262/regress/regress-462292.js diff --git a/js/src/tests/js1_7/regress/regress-462388.js b/js/src/tests/non262/regress/regress-462388.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-462388.js rename to js/src/tests/non262/regress/regress-462388.js diff --git a/js/src/tests/js1_7/regress/regress-462407.js b/js/src/tests/non262/regress/regress-462407.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-462407.js rename to js/src/tests/non262/regress/regress-462407.js diff --git a/js/src/tests/js1_5/Regress/regress-462879.js b/js/src/tests/non262/regress/regress-462879.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-462879.js rename to js/src/tests/non262/regress/regress-462879.js diff --git a/js/src/tests/js1_5/Regress/regress-462989.js b/js/src/tests/non262/regress/regress-462989.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-462989.js rename to js/src/tests/non262/regress/regress-462989.js diff --git a/js/src/tests/js1_5/Regress/regress-463259.js b/js/src/tests/non262/regress/regress-463259.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-463259.js rename to js/src/tests/non262/regress/regress-463259.js diff --git a/js/src/tests/js1_5/Regress/regress-463782.js b/js/src/tests/non262/regress/regress-463782.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-463782.js rename to js/src/tests/non262/regress/regress-463782.js diff --git a/js/src/tests/js1_8/regress/regress-464096.js b/js/src/tests/non262/regress/regress-464096.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-464096.js rename to js/src/tests/non262/regress/regress-464096.js diff --git a/js/src/tests/js1_5/Regress/regress-464334.js b/js/src/tests/non262/regress/regress-464334.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-464334.js rename to js/src/tests/non262/regress/regress-464334.js diff --git a/js/src/tests/js1_7/regress/regress-464403.js b/js/src/tests/non262/regress/regress-464403.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-464403.js rename to js/src/tests/non262/regress/regress-464403.js diff --git a/js/src/tests/js1_8/regress/regress-464418.js b/js/src/tests/non262/regress/regress-464418.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-464418.js rename to js/src/tests/non262/regress/regress-464418.js diff --git a/js/src/tests/js1_5/Regress/regress-464862.js b/js/src/tests/non262/regress/regress-464862.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-464862.js rename to js/src/tests/non262/regress/regress-464862.js diff --git a/js/src/tests/js1_8/regress/regress-464978.js b/js/src/tests/non262/regress/regress-464978.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-464978.js rename to js/src/tests/non262/regress/regress-464978.js diff --git a/js/src/tests/js1_5/Regress/regress-465013.js b/js/src/tests/non262/regress/regress-465013.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465013.js rename to js/src/tests/non262/regress/regress-465013.js diff --git a/js/src/tests/js1_5/Regress/regress-465132.js b/js/src/tests/non262/regress/regress-465132.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465132.js rename to js/src/tests/non262/regress/regress-465132.js diff --git a/js/src/tests/js1_5/Regress/regress-465133.js b/js/src/tests/non262/regress/regress-465133.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465133.js rename to js/src/tests/non262/regress/regress-465133.js diff --git a/js/src/tests/js1_5/Regress/regress-465135.js b/js/src/tests/non262/regress/regress-465135.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465135.js rename to js/src/tests/non262/regress/regress-465135.js diff --git a/js/src/tests/js1_5/Regress/regress-465136.js b/js/src/tests/non262/regress/regress-465136.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465136.js rename to js/src/tests/non262/regress/regress-465136.js diff --git a/js/src/tests/js1_5/Regress/regress-465137.js b/js/src/tests/non262/regress/regress-465137.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465137.js rename to js/src/tests/non262/regress/regress-465137.js diff --git a/js/src/tests/js1_8/regress/regress-465220.js b/js/src/tests/non262/regress/regress-465220.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465220.js rename to js/src/tests/non262/regress/regress-465220.js diff --git a/js/src/tests/js1_8/regress/regress-465234.js b/js/src/tests/non262/regress/regress-465234.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465234.js rename to js/src/tests/non262/regress/regress-465234.js diff --git a/js/src/tests/js1_7/regress/regress-465236.js b/js/src/tests/non262/regress/regress-465236.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-465236.js rename to js/src/tests/non262/regress/regress-465236.js diff --git a/js/src/tests/js1_8/regress/regress-465239.js b/js/src/tests/non262/regress/regress-465239.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465239.js rename to js/src/tests/non262/regress/regress-465239.js diff --git a/js/src/tests/js1_8/regress/regress-465241.js b/js/src/tests/non262/regress/regress-465241.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465241.js rename to js/src/tests/non262/regress/regress-465241.js diff --git a/js/src/tests/js1_8/regress/regress-465249.js b/js/src/tests/non262/regress/regress-465249.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465249.js rename to js/src/tests/non262/regress/regress-465249.js diff --git a/js/src/tests/js1_8/regress/regress-465261.js b/js/src/tests/non262/regress/regress-465261.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465261.js rename to js/src/tests/non262/regress/regress-465261.js diff --git a/js/src/tests/js1_5/Regress/regress-465262.js b/js/src/tests/non262/regress/regress-465262.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465262.js rename to js/src/tests/non262/regress/regress-465262.js diff --git a/js/src/tests/js1_5/Regress/regress-465272.js b/js/src/tests/non262/regress/regress-465272.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465272.js rename to js/src/tests/non262/regress/regress-465272.js diff --git a/js/src/tests/js1_8/regress/regress-465308.js b/js/src/tests/non262/regress/regress-465308.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465308.js rename to js/src/tests/non262/regress/regress-465308.js diff --git a/js/src/tests/js1_5/Regress/regress-465347.js b/js/src/tests/non262/regress/regress-465347.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465347.js rename to js/src/tests/non262/regress/regress-465347.js diff --git a/js/src/tests/js1_5/Regress/regress-465366.js b/js/src/tests/non262/regress/regress-465366.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-465366.js rename to js/src/tests/non262/regress/regress-465366.js diff --git a/js/src/tests/js1_7/regress/regress-465424.js b/js/src/tests/non262/regress/regress-465424.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-465424.js rename to js/src/tests/non262/regress/regress-465424.js diff --git a/js/src/tests/js1_8/regress/regress-465454.js b/js/src/tests/non262/regress/regress-465454.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465454.js rename to js/src/tests/non262/regress/regress-465454.js diff --git a/js/src/tests/js1_8/regress/regress-465460-01.js b/js/src/tests/non262/regress/regress-465460-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-01.js rename to js/src/tests/non262/regress/regress-465460-01.js diff --git a/js/src/tests/js1_8/regress/regress-465460-02.js b/js/src/tests/non262/regress/regress-465460-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-02.js rename to js/src/tests/non262/regress/regress-465460-02.js diff --git a/js/src/tests/js1_8/regress/regress-465460-03.js b/js/src/tests/non262/regress/regress-465460-03.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-03.js rename to js/src/tests/non262/regress/regress-465460-03.js diff --git a/js/src/tests/js1_8/regress/regress-465460-04.js b/js/src/tests/non262/regress/regress-465460-04.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-04.js rename to js/src/tests/non262/regress/regress-465460-04.js diff --git a/js/src/tests/js1_8/regress/regress-465460-05.js b/js/src/tests/non262/regress/regress-465460-05.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-05.js rename to js/src/tests/non262/regress/regress-465460-05.js diff --git a/js/src/tests/js1_8/regress/regress-465460-06.js b/js/src/tests/non262/regress/regress-465460-06.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-06.js rename to js/src/tests/non262/regress/regress-465460-06.js diff --git a/js/src/tests/js1_8/regress/regress-465460-07.js b/js/src/tests/non262/regress/regress-465460-07.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-07.js rename to js/src/tests/non262/regress/regress-465460-07.js diff --git a/js/src/tests/js1_8/regress/regress-465460-08.js b/js/src/tests/non262/regress/regress-465460-08.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-08.js rename to js/src/tests/non262/regress/regress-465460-08.js diff --git a/js/src/tests/js1_8/regress/regress-465460-10.js b/js/src/tests/non262/regress/regress-465460-10.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-10.js rename to js/src/tests/non262/regress/regress-465460-10.js diff --git a/js/src/tests/js1_8/regress/regress-465460-11.js b/js/src/tests/non262/regress/regress-465460-11.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-11.js rename to js/src/tests/non262/regress/regress-465460-11.js diff --git a/js/src/tests/js1_8/regress/regress-465460-12.js b/js/src/tests/non262/regress/regress-465460-12.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465460-12.js rename to js/src/tests/non262/regress/regress-465460-12.js diff --git a/js/src/tests/js1_8/regress/regress-465483.js b/js/src/tests/non262/regress/regress-465483.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465483.js rename to js/src/tests/non262/regress/regress-465483.js diff --git a/js/src/tests/js1_7/regress/regress-465484.js b/js/src/tests/non262/regress/regress-465484.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-465484.js rename to js/src/tests/non262/regress/regress-465484.js diff --git a/js/src/tests/js1_8/regress/regress-465567-01.js b/js/src/tests/non262/regress/regress-465567-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465567-01.js rename to js/src/tests/non262/regress/regress-465567-01.js diff --git a/js/src/tests/js1_8/regress/regress-465567-02.js b/js/src/tests/non262/regress/regress-465567-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465567-02.js rename to js/src/tests/non262/regress/regress-465567-02.js diff --git a/js/src/tests/js1_7/regress/regress-465686.js b/js/src/tests/non262/regress/regress-465686.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-465686.js rename to js/src/tests/non262/regress/regress-465686.js diff --git a/js/src/tests/js1_8/regress/regress-465688.js b/js/src/tests/non262/regress/regress-465688.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-465688.js rename to js/src/tests/non262/regress/regress-465688.js diff --git a/js/src/tests/js1_8/regress/regress-466128.js b/js/src/tests/non262/regress/regress-466128.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-466128.js rename to js/src/tests/non262/regress/regress-466128.js diff --git a/js/src/tests/js1_5/Regress/regress-466262.js b/js/src/tests/non262/regress/regress-466262.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-466262.js rename to js/src/tests/non262/regress/regress-466262.js diff --git a/js/src/tests/js1_5/Regress/regress-466747.js b/js/src/tests/non262/regress/regress-466747.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-466747.js rename to js/src/tests/non262/regress/regress-466747.js diff --git a/js/src/tests/js1_8/regress/regress-466787.js b/js/src/tests/non262/regress/regress-466787.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-466787.js rename to js/src/tests/non262/regress/regress-466787.js diff --git a/js/src/tests/js1_8_1/regress/regress-466905-01.js b/js/src/tests/non262/regress/regress-466905-01.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-466905-01.js rename to js/src/tests/non262/regress/regress-466905-01.js diff --git a/js/src/tests/js1_8_1/regress/regress-466905-02.js b/js/src/tests/non262/regress/regress-466905-02.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-466905-02.js rename to js/src/tests/non262/regress/regress-466905-02.js diff --git a/js/src/tests/js1_8/regress/regress-467495-01.js b/js/src/tests/non262/regress/regress-467495-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-467495-01.js rename to js/src/tests/non262/regress/regress-467495-01.js diff --git a/js/src/tests/js1_8/regress/regress-467495-02.js b/js/src/tests/non262/regress/regress-467495-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-467495-02.js rename to js/src/tests/non262/regress/regress-467495-02.js diff --git a/js/src/tests/js1_8/regress/regress-467495-03.js b/js/src/tests/non262/regress/regress-467495-03.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-467495-03.js rename to js/src/tests/non262/regress/regress-467495-03.js diff --git a/js/src/tests/js1_8/regress/regress-467495-04.js b/js/src/tests/non262/regress/regress-467495-04.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-467495-04.js rename to js/src/tests/non262/regress/regress-467495-04.js diff --git a/js/src/tests/js1_8/regress/regress-467495-05.js b/js/src/tests/non262/regress/regress-467495-05.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-467495-05.js rename to js/src/tests/non262/regress/regress-467495-05.js diff --git a/js/src/tests/js1_8/regress/regress-467495-06.js b/js/src/tests/non262/regress/regress-467495-06.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-467495-06.js rename to js/src/tests/non262/regress/regress-467495-06.js diff --git a/js/src/tests/js1_8/regress/regress-468711.js b/js/src/tests/non262/regress/regress-468711.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-468711.js rename to js/src/tests/non262/regress/regress-468711.js diff --git a/js/src/tests/js1_5/Regress/regress-469044.js b/js/src/tests/non262/regress/regress-469044.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-469044.js rename to js/src/tests/non262/regress/regress-469044.js diff --git a/js/src/tests/js1_7/regress/regress-469239-01.js b/js/src/tests/non262/regress/regress-469239-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-469239-01.js rename to js/src/tests/non262/regress/regress-469239-01.js diff --git a/js/src/tests/js1_7/regress/regress-469239-02.js b/js/src/tests/non262/regress/regress-469239-02.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-469239-02.js rename to js/src/tests/non262/regress/regress-469239-02.js diff --git a/js/src/tests/js1_8/regress/regress-469547.js b/js/src/tests/non262/regress/regress-469547.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-469547.js rename to js/src/tests/non262/regress/regress-469547.js diff --git a/js/src/tests/js1_8/regress/regress-469625-02.js b/js/src/tests/non262/regress/regress-469625-02.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-469625-02.js rename to js/src/tests/non262/regress/regress-469625-02.js diff --git a/js/src/tests/js1_8/regress/regress-469625-03.js b/js/src/tests/non262/regress/regress-469625-03.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-469625-03.js rename to js/src/tests/non262/regress/regress-469625-03.js diff --git a/js/src/tests/js1_8_5/regress/regress-469758.js b/js/src/tests/non262/regress/regress-469758.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-469758.js rename to js/src/tests/non262/regress/regress-469758.js diff --git a/js/src/tests/ecma_3/Regress/regress-469937.js b/js/src/tests/non262/regress/regress-469937.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-469937.js rename to js/src/tests/non262/regress/regress-469937.js diff --git a/js/src/tests/js1_5/Regress/regress-470061.js b/js/src/tests/non262/regress/regress-470061.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-470061.js rename to js/src/tests/non262/regress/regress-470061.js diff --git a/js/src/tests/js1_5/Regress/regress-470187-01.js b/js/src/tests/non262/regress/regress-470187-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-470187-01.js rename to js/src/tests/non262/regress/regress-470187-01.js diff --git a/js/src/tests/js1_5/Regress/regress-470187-02.js b/js/src/tests/non262/regress/regress-470187-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-470187-02.js rename to js/src/tests/non262/regress/regress-470187-02.js diff --git a/js/src/tests/js1_7/regress/regress-470223.js b/js/src/tests/non262/regress/regress-470223.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-470223.js rename to js/src/tests/non262/regress/regress-470223.js diff --git a/js/src/tests/js1_7/regress/regress-470388-01.js b/js/src/tests/non262/regress/regress-470388-01.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-470388-01.js rename to js/src/tests/non262/regress/regress-470388-01.js diff --git a/js/src/tests/js1_5/Regress/regress-470758-01.js b/js/src/tests/non262/regress/regress-470758-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-470758-01.js rename to js/src/tests/non262/regress/regress-470758-01.js diff --git a/js/src/tests/js1_5/Regress/regress-470758-02.js b/js/src/tests/non262/regress/regress-470758-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-470758-02.js rename to js/src/tests/non262/regress/regress-470758-02.js diff --git a/js/src/tests/js1_8/regress/regress-471660.js b/js/src/tests/non262/regress/regress-471660.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-471660.js rename to js/src/tests/non262/regress/regress-471660.js diff --git a/js/src/tests/js1_5/Regress/regress-472533.js b/js/src/tests/non262/regress/regress-472533.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-472533.js rename to js/src/tests/non262/regress/regress-472533.js diff --git a/js/src/tests/js1_8/regress/regress-474769.js b/js/src/tests/non262/regress/regress-474769.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-474769.js rename to js/src/tests/non262/regress/regress-474769.js diff --git a/js/src/tests/js1_8/regress/regress-474771.js b/js/src/tests/non262/regress/regress-474771-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-474771.js rename to js/src/tests/non262/regress/regress-474771-01.js diff --git a/js/src/tests/js1_7/regress/regress-474771.js b/js/src/tests/non262/regress/regress-474771.js similarity index 100% rename from js/src/tests/js1_7/regress/regress-474771.js rename to js/src/tests/non262/regress/regress-474771.js diff --git a/js/src/tests/js1_8/regress/regress-474935.js b/js/src/tests/non262/regress/regress-474935.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-474935.js rename to js/src/tests/non262/regress/regress-474935.js diff --git a/js/src/tests/js1_6/Regress/regress-475469.js b/js/src/tests/non262/regress/regress-475469.js similarity index 100% rename from js/src/tests/js1_6/Regress/regress-475469.js rename to js/src/tests/non262/regress/regress-475469.js diff --git a/js/src/tests/js1_5/Regress/regress-475645-01.js b/js/src/tests/non262/regress/regress-475645-01.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-475645-01.js rename to js/src/tests/non262/regress/regress-475645-01.js diff --git a/js/src/tests/js1_5/Regress/regress-475645-02.js b/js/src/tests/non262/regress/regress-475645-02.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-475645-02.js rename to js/src/tests/non262/regress/regress-475645-02.js diff --git a/js/src/tests/js1_5/Regress/regress-476049.js b/js/src/tests/non262/regress/regress-476049.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-476049.js rename to js/src/tests/non262/regress/regress-476049.js diff --git a/js/src/tests/js1_5/Regress/regress-476192.js b/js/src/tests/non262/regress/regress-476192.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-476192.js rename to js/src/tests/non262/regress/regress-476192.js diff --git a/js/src/tests/js1_8/regress/regress-476655.js b/js/src/tests/non262/regress/regress-476655.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-476655.js rename to js/src/tests/non262/regress/regress-476655.js diff --git a/js/src/tests/js1_8_5/regress/regress-477053.js b/js/src/tests/non262/regress/regress-477053.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-477053.js rename to js/src/tests/non262/regress/regress-477053.js diff --git a/js/src/tests/js1_8/regress/regress-477234.js b/js/src/tests/non262/regress/regress-477234.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-477234.js rename to js/src/tests/non262/regress/regress-477234.js diff --git a/js/src/tests/js1_5/Regress/regress-477733.js b/js/src/tests/non262/regress/regress-477733.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-477733.js rename to js/src/tests/non262/regress/regress-477733.js diff --git a/js/src/tests/js1_5/Regress/regress-477758.js b/js/src/tests/non262/regress/regress-477758.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-477758.js rename to js/src/tests/non262/regress/regress-477758.js diff --git a/js/src/tests/js1_8/regress/regress-478205.js b/js/src/tests/non262/regress/regress-478205.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-478205.js rename to js/src/tests/non262/regress/regress-478205.js diff --git a/js/src/tests/js1_5/Regress/regress-478314.js b/js/src/tests/non262/regress/regress-478314.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-478314.js rename to js/src/tests/non262/regress/regress-478314.js diff --git a/js/src/tests/js1_8/regress/regress-479353.js b/js/src/tests/non262/regress/regress-479353-01.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-479353.js rename to js/src/tests/non262/regress/regress-479353-01.js diff --git a/js/src/tests/js1_5/Regress/regress-479353.js b/js/src/tests/non262/regress/regress-479353.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-479353.js rename to js/src/tests/non262/regress/regress-479353.js diff --git a/js/src/tests/js1_8_1/regress/regress-479430-01.js b/js/src/tests/non262/regress/regress-479430-01.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-479430-01.js rename to js/src/tests/non262/regress/regress-479430-01.js diff --git a/js/src/tests/js1_8_1/regress/regress-479430-02.js b/js/src/tests/non262/regress/regress-479430-02.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-479430-02.js rename to js/src/tests/non262/regress/regress-479430-02.js diff --git a/js/src/tests/js1_8_1/regress/regress-479430-03.js b/js/src/tests/non262/regress/regress-479430-03.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-479430-03.js rename to js/src/tests/non262/regress/regress-479430-03.js diff --git a/js/src/tests/js1_8_1/regress/regress-479430-04.js b/js/src/tests/non262/regress/regress-479430-04.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-479430-04.js rename to js/src/tests/non262/regress/regress-479430-04.js diff --git a/js/src/tests/js1_8_1/regress/regress-479430-05.js b/js/src/tests/non262/regress/regress-479430-05.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-479430-05.js rename to js/src/tests/non262/regress/regress-479430-05.js diff --git a/js/src/tests/js1_8/regress/regress-479740.js b/js/src/tests/non262/regress/regress-479740.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-479740.js rename to js/src/tests/non262/regress/regress-479740.js diff --git a/js/src/tests/js1_5/Regress/regress-480147.js b/js/src/tests/non262/regress/regress-480147.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-480147.js rename to js/src/tests/non262/regress/regress-480147.js diff --git a/js/src/tests/js1_5/Regress/regress-480244.js b/js/src/tests/non262/regress/regress-480244.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-480244.js rename to js/src/tests/non262/regress/regress-480244.js diff --git a/js/src/tests/js1_5/Regress/regress-481436.js b/js/src/tests/non262/regress/regress-481436.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-481436.js rename to js/src/tests/non262/regress/regress-481436.js diff --git a/js/src/tests/js1_8/regress/regress-481800.js b/js/src/tests/non262/regress/regress-481800.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-481800.js rename to js/src/tests/non262/regress/regress-481800.js diff --git a/js/src/tests/js1_5/Regress/regress-482421.js b/js/src/tests/non262/regress/regress-482421.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-482421.js rename to js/src/tests/non262/regress/regress-482421.js diff --git a/js/src/tests/js1_5/Regress/regress-482783.js b/js/src/tests/non262/regress/regress-482783.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-482783.js rename to js/src/tests/non262/regress/regress-482783.js diff --git a/js/src/tests/js1_5/Regress/regress-483103.js b/js/src/tests/non262/regress/regress-483103.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-483103.js rename to js/src/tests/non262/regress/regress-483103.js diff --git a/js/src/tests/js1_8/regress/regress-483749.js b/js/src/tests/non262/regress/regress-483749.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-483749.js rename to js/src/tests/non262/regress/regress-483749.js diff --git a/js/src/tests/js1_8_1/regress/regress-495773.js b/js/src/tests/non262/regress/regress-495773.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-495773.js rename to js/src/tests/non262/regress/regress-495773.js diff --git a/js/src/tests/js1_8_1/regress/regress-495907.js b/js/src/tests/non262/regress/regress-495907.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-495907.js rename to js/src/tests/non262/regress/regress-495907.js diff --git a/js/src/tests/js1_8_1/regress/regress-496922.js b/js/src/tests/non262/regress/regress-496922.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-496922.js rename to js/src/tests/non262/regress/regress-496922.js diff --git a/js/src/tests/js1_8/regress/regress-499524.js b/js/src/tests/non262/regress/regress-499524.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-499524.js rename to js/src/tests/non262/regress/regress-499524.js diff --git a/js/src/tests/js1_8_5/regress/regress-500528.js b/js/src/tests/non262/regress/regress-500528.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-500528.js rename to js/src/tests/non262/regress/regress-500528.js diff --git a/js/src/tests/js1_5/Regress/regress-501124.js b/js/src/tests/non262/regress/regress-501124.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-501124.js rename to js/src/tests/non262/regress/regress-501124.js diff --git a/js/src/tests/js1_5/Regress/regress-503860.js b/js/src/tests/non262/regress/regress-503860.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-503860.js rename to js/src/tests/non262/regress/regress-503860.js diff --git a/js/src/tests/js1_5/Regress/regress-504078.js b/js/src/tests/non262/regress/regress-504078.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-504078.js rename to js/src/tests/non262/regress/regress-504078.js diff --git a/js/src/tests/js1_8_1/regress/regress-507053.js b/js/src/tests/non262/regress/regress-507053.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-507053.js rename to js/src/tests/non262/regress/regress-507053.js diff --git a/js/src/tests/js1_8_1/regress/regress-507295.js b/js/src/tests/non262/regress/regress-507295.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-507295.js rename to js/src/tests/non262/regress/regress-507295.js diff --git a/js/src/tests/js1_8_1/regress/regress-509354.js b/js/src/tests/non262/regress/regress-509354.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-509354.js rename to js/src/tests/non262/regress/regress-509354.js diff --git a/js/src/tests/js1_5/Regress/regress-511859.js b/js/src/tests/non262/regress/regress-511859.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-511859.js rename to js/src/tests/non262/regress/regress-511859.js diff --git a/js/src/tests/js1_8_1/regress/regress-522123.js b/js/src/tests/non262/regress/regress-522123.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-522123.js rename to js/src/tests/non262/regress/regress-522123.js diff --git a/js/src/tests/js1_8_1/regress/regress-524743.js b/js/src/tests/non262/regress/regress-524743.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-524743.js rename to js/src/tests/non262/regress/regress-524743.js diff --git a/js/src/tests/js1_8_1/regress/regress-530879.js b/js/src/tests/non262/regress/regress-530879.js similarity index 100% rename from js/src/tests/js1_8_1/regress/regress-530879.js rename to js/src/tests/non262/regress/regress-530879.js diff --git a/js/src/tests/js1_8/regress/regress-532491.js b/js/src/tests/non262/regress/regress-532491.js similarity index 100% rename from js/src/tests/js1_8/regress/regress-532491.js rename to js/src/tests/non262/regress/regress-532491.js diff --git a/js/src/tests/js1_8_5/regress/regress-541255-3.js b/js/src/tests/non262/regress/regress-541255-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-541255-3.js rename to js/src/tests/non262/regress/regress-541255-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-541455.js b/js/src/tests/non262/regress/regress-541455.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-541455.js rename to js/src/tests/non262/regress/regress-541455.js diff --git a/js/src/tests/js1_8_5/regress/regress-551763-0.js b/js/src/tests/non262/regress/regress-551763-0.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-551763-0.js rename to js/src/tests/non262/regress/regress-551763-0.js diff --git a/js/src/tests/js1_8_5/regress/regress-551763-1.js b/js/src/tests/non262/regress/regress-551763-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-551763-1.js rename to js/src/tests/non262/regress/regress-551763-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-551763-2.js b/js/src/tests/non262/regress/regress-551763-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-551763-2.js rename to js/src/tests/non262/regress/regress-551763-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-552432.js b/js/src/tests/non262/regress/regress-552432.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-552432.js rename to js/src/tests/non262/regress/regress-552432.js diff --git a/js/src/tests/js1_8_5/regress/regress-553778.js b/js/src/tests/non262/regress/regress-553778.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-553778.js rename to js/src/tests/non262/regress/regress-553778.js diff --git a/js/src/tests/js1_8_5/regress/regress-554955-1.js b/js/src/tests/non262/regress/regress-554955-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-554955-1.js rename to js/src/tests/non262/regress/regress-554955-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-554955-2.js b/js/src/tests/non262/regress/regress-554955-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-554955-2.js rename to js/src/tests/non262/regress/regress-554955-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-554955-3.js b/js/src/tests/non262/regress/regress-554955-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-554955-3.js rename to js/src/tests/non262/regress/regress-554955-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-554955-4.js b/js/src/tests/non262/regress/regress-554955-4.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-554955-4.js rename to js/src/tests/non262/regress/regress-554955-4.js diff --git a/js/src/tests/js1_8_5/regress/regress-554955-5.js b/js/src/tests/non262/regress/regress-554955-5.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-554955-5.js rename to js/src/tests/non262/regress/regress-554955-5.js diff --git a/js/src/tests/js1_8_5/regress/regress-554955-6.js b/js/src/tests/non262/regress/regress-554955-6.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-554955-6.js rename to js/src/tests/non262/regress/regress-554955-6.js diff --git a/js/src/tests/js1_8_5/regress/regress-555246-0.js b/js/src/tests/non262/regress/regress-555246-0.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-555246-0.js rename to js/src/tests/non262/regress/regress-555246-0.js diff --git a/js/src/tests/js1_8_5/regress/regress-555246-1.js b/js/src/tests/non262/regress/regress-555246-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-555246-1.js rename to js/src/tests/non262/regress/regress-555246-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-559402-1.js b/js/src/tests/non262/regress/regress-559402-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-559402-1.js rename to js/src/tests/non262/regress/regress-559402-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-559402-2.js b/js/src/tests/non262/regress/regress-559402-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-559402-2.js rename to js/src/tests/non262/regress/regress-559402-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-559438.js b/js/src/tests/non262/regress/regress-559438.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-559438.js rename to js/src/tests/non262/regress/regress-559438.js diff --git a/js/src/tests/js1_8_5/regress/regress-560998-1.js b/js/src/tests/non262/regress/regress-560998-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-560998-1.js rename to js/src/tests/non262/regress/regress-560998-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-560998-2.js b/js/src/tests/non262/regress/regress-560998-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-560998-2.js rename to js/src/tests/non262/regress/regress-560998-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-561031.js b/js/src/tests/non262/regress/regress-561031.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-561031.js rename to js/src/tests/non262/regress/regress-561031.js diff --git a/js/src/tests/js1_8_5/regress/regress-563210.js b/js/src/tests/non262/regress/regress-563210.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-563210.js rename to js/src/tests/non262/regress/regress-563210.js diff --git a/js/src/tests/js1_8_5/regress/regress-563221.js b/js/src/tests/non262/regress/regress-563221.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-563221.js rename to js/src/tests/non262/regress/regress-563221.js diff --git a/js/src/tests/js1_8_5/regress/regress-566549.js b/js/src/tests/non262/regress/regress-566549.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-566549.js rename to js/src/tests/non262/regress/regress-566549.js diff --git a/js/src/tests/js1_8_5/regress/regress-567152.js b/js/src/tests/non262/regress/regress-567152.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-567152.js rename to js/src/tests/non262/regress/regress-567152.js diff --git a/js/src/tests/js1_8_5/regress/regress-569306.js b/js/src/tests/non262/regress/regress-569306.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-569306.js rename to js/src/tests/non262/regress/regress-569306.js diff --git a/js/src/tests/js1_5/Regress/regress-57043.js b/js/src/tests/non262/regress/regress-57043.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-57043.js rename to js/src/tests/non262/regress/regress-57043.js diff --git a/js/src/tests/js1_8_5/regress/regress-571014.js b/js/src/tests/non262/regress/regress-571014.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-571014.js rename to js/src/tests/non262/regress/regress-571014.js diff --git a/js/src/tests/js1_8_5/regress/regress-573875.js b/js/src/tests/non262/regress/regress-573875.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-573875.js rename to js/src/tests/non262/regress/regress-573875.js diff --git a/js/src/tests/js1_8_5/regress/regress-577648-1.js b/js/src/tests/non262/regress/regress-577648-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-577648-1.js rename to js/src/tests/non262/regress/regress-577648-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-577648-2.js b/js/src/tests/non262/regress/regress-577648-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-577648-2.js rename to js/src/tests/non262/regress/regress-577648-2.js diff --git a/js/src/tests/ecma_3/Regress/regress-580544.js b/js/src/tests/non262/regress/regress-580544.js similarity index 100% rename from js/src/tests/ecma_3/Regress/regress-580544.js rename to js/src/tests/non262/regress/regress-580544.js diff --git a/js/src/tests/js1_5/Regress/regress-58116.js b/js/src/tests/non262/regress/regress-58116.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-58116.js rename to js/src/tests/non262/regress/regress-58116.js diff --git a/js/src/tests/js1_8_5/regress/regress-583429.js b/js/src/tests/non262/regress/regress-583429.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-583429.js rename to js/src/tests/non262/regress/regress-583429.js diff --git a/js/src/tests/js1_8_5/regress/regress-584355.js b/js/src/tests/non262/regress/regress-584355.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-584355.js rename to js/src/tests/non262/regress/regress-584355.js diff --git a/js/src/tests/js1_8_5/regress/regress-585257.js b/js/src/tests/non262/regress/regress-585257.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-585257.js rename to js/src/tests/non262/regress/regress-585257.js diff --git a/js/src/tests/js1_8_5/regress/regress-586482-1.js b/js/src/tests/non262/regress/regress-586482-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-586482-1.js rename to js/src/tests/non262/regress/regress-586482-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-586482-2.js b/js/src/tests/non262/regress/regress-586482-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-586482-2.js rename to js/src/tests/non262/regress/regress-586482-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-586482-3.js b/js/src/tests/non262/regress/regress-586482-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-586482-3.js rename to js/src/tests/non262/regress/regress-586482-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-586482-4.js b/js/src/tests/non262/regress/regress-586482-4.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-586482-4.js rename to js/src/tests/non262/regress/regress-586482-4.js diff --git a/js/src/tests/js1_8_5/regress/regress-586482-5.js b/js/src/tests/non262/regress/regress-586482-5.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-586482-5.js rename to js/src/tests/non262/regress/regress-586482-5.js diff --git a/js/src/tests/js1_8_5/regress/regress-588339.js b/js/src/tests/non262/regress/regress-588339.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-588339.js rename to js/src/tests/non262/regress/regress-588339.js diff --git a/js/src/tests/js1_8_5/regress/regress-591846.js b/js/src/tests/non262/regress/regress-591846.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-591846.js rename to js/src/tests/non262/regress/regress-591846.js diff --git a/js/src/tests/js1_8_5/regress/regress-591897.js b/js/src/tests/non262/regress/regress-591897.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-591897.js rename to js/src/tests/non262/regress/regress-591897.js diff --git a/js/src/tests/js1_8_5/regress/regress-592202-3.js b/js/src/tests/non262/regress/regress-592202-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-592202-3.js rename to js/src/tests/non262/regress/regress-592202-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-592202-4.js b/js/src/tests/non262/regress/regress-592202-4.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-592202-4.js rename to js/src/tests/non262/regress/regress-592202-4.js diff --git a/js/src/tests/js1_8_5/regress/regress-592556-c35.js b/js/src/tests/non262/regress/regress-592556-c35.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-592556-c35.js rename to js/src/tests/non262/regress/regress-592556-c35.js diff --git a/js/src/tests/js1_8_5/regress/regress-593256.js b/js/src/tests/non262/regress/regress-593256.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-593256.js rename to js/src/tests/non262/regress/regress-593256.js diff --git a/js/src/tests/js1_8_5/regress/regress-595230-2.js b/js/src/tests/non262/regress/regress-595230-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-595230-2.js rename to js/src/tests/non262/regress/regress-595230-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-595365-1.js b/js/src/tests/non262/regress/regress-595365-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-595365-1.js rename to js/src/tests/non262/regress/regress-595365-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-596103.js b/js/src/tests/non262/regress/regress-596103.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-596103.js rename to js/src/tests/non262/regress/regress-596103.js diff --git a/js/src/tests/js1_8_5/regress/regress-596805-1.js b/js/src/tests/non262/regress/regress-596805-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-596805-1.js rename to js/src/tests/non262/regress/regress-596805-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-596805-2.js b/js/src/tests/non262/regress/regress-596805-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-596805-2.js rename to js/src/tests/non262/regress/regress-596805-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-597945-1.js b/js/src/tests/non262/regress/regress-597945-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-597945-1.js rename to js/src/tests/non262/regress/regress-597945-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-597945-2.js b/js/src/tests/non262/regress/regress-597945-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-597945-2.js rename to js/src/tests/non262/regress/regress-597945-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-598176.js b/js/src/tests/non262/regress/regress-598176.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-598176.js rename to js/src/tests/non262/regress/regress-598176.js diff --git a/js/src/tests/js1_8_5/regress/regress-600067.js b/js/src/tests/non262/regress/regress-600067.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-600067.js rename to js/src/tests/non262/regress/regress-600067.js diff --git a/js/src/tests/js1_8_5/regress/regress-601399.js b/js/src/tests/non262/regress/regress-601399.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-601399.js rename to js/src/tests/non262/regress/regress-601399.js diff --git a/js/src/tests/js1_8_5/regress/regress-602621.js b/js/src/tests/non262/regress/regress-602621.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-602621.js rename to js/src/tests/non262/regress/regress-602621.js diff --git a/js/src/tests/js1_8_5/regress/regress-607799.js b/js/src/tests/non262/regress/regress-607799.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-607799.js rename to js/src/tests/non262/regress/regress-607799.js diff --git a/js/src/tests/js1_8_5/regress/regress-607863.js b/js/src/tests/non262/regress/regress-607863.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-607863.js rename to js/src/tests/non262/regress/regress-607863.js diff --git a/js/src/tests/js1_8_5/regress/regress-609617.js b/js/src/tests/non262/regress/regress-609617.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-609617.js rename to js/src/tests/non262/regress/regress-609617.js diff --git a/js/src/tests/js1_8_5/regress/regress-610026.js b/js/src/tests/non262/regress/regress-610026.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-610026.js rename to js/src/tests/non262/regress/regress-610026.js diff --git a/js/src/tests/js1_8_5/regress/regress-614714.js b/js/src/tests/non262/regress/regress-614714.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-614714.js rename to js/src/tests/non262/regress/regress-614714.js diff --git a/js/src/tests/js1_8_5/regress/regress-617405-1.js b/js/src/tests/non262/regress/regress-617405-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-617405-1.js rename to js/src/tests/non262/regress/regress-617405-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-617405-2.js b/js/src/tests/non262/regress/regress-617405-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-617405-2.js rename to js/src/tests/non262/regress/regress-617405-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-618572.js b/js/src/tests/non262/regress/regress-618572.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-618572.js rename to js/src/tests/non262/regress/regress-618572.js diff --git a/js/src/tests/js1_8_5/regress/regress-619003-1.js b/js/src/tests/non262/regress/regress-619003-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-619003-1.js rename to js/src/tests/non262/regress/regress-619003-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-619003-2.js b/js/src/tests/non262/regress/regress-619003-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-619003-2.js rename to js/src/tests/non262/regress/regress-619003-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-620376-1.js b/js/src/tests/non262/regress/regress-620376-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-620376-1.js rename to js/src/tests/non262/regress/regress-620376-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-621814.js b/js/src/tests/non262/regress/regress-621814.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-621814.js rename to js/src/tests/non262/regress/regress-621814.js diff --git a/js/src/tests/js1_8_5/regress/regress-624199.js b/js/src/tests/non262/regress/regress-624199.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-624199.js rename to js/src/tests/non262/regress/regress-624199.js diff --git a/js/src/tests/js1_8_5/regress/regress-624547.js b/js/src/tests/non262/regress/regress-624547.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-624547.js rename to js/src/tests/non262/regress/regress-624547.js diff --git a/js/src/tests/js1_8_5/regress/regress-624968.js b/js/src/tests/non262/regress/regress-624968.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-624968.js rename to js/src/tests/non262/regress/regress-624968.js diff --git a/js/src/tests/js1_8_5/regress/regress-626436.js b/js/src/tests/non262/regress/regress-626436.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-626436.js rename to js/src/tests/non262/regress/regress-626436.js diff --git a/js/src/tests/js1_8_5/regress/regress-633741.js b/js/src/tests/non262/regress/regress-633741.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-633741.js rename to js/src/tests/non262/regress/regress-633741.js diff --git a/js/src/tests/js1_8_5/regress/regress-634210-1.js b/js/src/tests/non262/regress/regress-634210-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-634210-1.js rename to js/src/tests/non262/regress/regress-634210-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-634210-2.js b/js/src/tests/non262/regress/regress-634210-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-634210-2.js rename to js/src/tests/non262/regress/regress-634210-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-634210-3.js b/js/src/tests/non262/regress/regress-634210-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-634210-3.js rename to js/src/tests/non262/regress/regress-634210-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-634210-4.js b/js/src/tests/non262/regress/regress-634210-4.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-634210-4.js rename to js/src/tests/non262/regress/regress-634210-4.js diff --git a/js/src/tests/js1_8_5/regress/regress-636364.js b/js/src/tests/non262/regress/regress-636364.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-636364.js rename to js/src/tests/non262/regress/regress-636364.js diff --git a/js/src/tests/js1_8_5/regress/regress-640075.js b/js/src/tests/non262/regress/regress-640075.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-640075.js rename to js/src/tests/non262/regress/regress-640075.js diff --git a/js/src/tests/js1_8_5/regress/regress-642247.js b/js/src/tests/non262/regress/regress-642247.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-642247.js rename to js/src/tests/non262/regress/regress-642247.js diff --git a/js/src/tests/js1_8_5/regress/regress-643222.js b/js/src/tests/non262/regress/regress-643222.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-643222.js rename to js/src/tests/non262/regress/regress-643222.js diff --git a/js/src/tests/js1_8_5/regress/regress-646820-1.js b/js/src/tests/non262/regress/regress-646820-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-646820-1.js rename to js/src/tests/non262/regress/regress-646820-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-646820-2.js b/js/src/tests/non262/regress/regress-646820-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-646820-2.js rename to js/src/tests/non262/regress/regress-646820-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-646820-3.js b/js/src/tests/non262/regress/regress-646820-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-646820-3.js rename to js/src/tests/non262/regress/regress-646820-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-665355.js b/js/src/tests/non262/regress/regress-665355.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-665355.js rename to js/src/tests/non262/regress/regress-665355.js diff --git a/js/src/tests/js1_8_5/regress/regress-672892.js b/js/src/tests/non262/regress/regress-672892.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-672892.js rename to js/src/tests/non262/regress/regress-672892.js diff --git a/js/src/tests/js1_8_5/regress/regress-672893.js b/js/src/tests/non262/regress/regress-672893.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-672893.js rename to js/src/tests/non262/regress/regress-672893.js diff --git a/js/src/tests/js1_5/Regress/regress-68498-001.js b/js/src/tests/non262/regress/regress-68498-001.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-68498-001.js rename to js/src/tests/non262/regress/regress-68498-001.js diff --git a/js/src/tests/js1_5/Regress/regress-68498-002.js b/js/src/tests/non262/regress/regress-68498-002.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-68498-002.js rename to js/src/tests/non262/regress/regress-68498-002.js diff --git a/js/src/tests/js1_5/Regress/regress-68498-003.js b/js/src/tests/non262/regress/regress-68498-003.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-68498-003.js rename to js/src/tests/non262/regress/regress-68498-003.js diff --git a/js/src/tests/js1_5/Regress/regress-68498-004.js b/js/src/tests/non262/regress/regress-68498-004.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-68498-004.js rename to js/src/tests/non262/regress/regress-68498-004.js diff --git a/js/src/tests/js1_8_5/regress/regress-694306.js b/js/src/tests/non262/regress/regress-694306.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-694306.js rename to js/src/tests/non262/regress/regress-694306.js diff --git a/js/src/tests/js1_5/Regress/regress-69607.js b/js/src/tests/non262/regress/regress-69607.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-69607.js rename to js/src/tests/non262/regress/regress-69607.js diff --git a/js/src/tests/js1_8_5/regress/regress-698028-1.js b/js/src/tests/non262/regress/regress-698028-1.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-698028-1.js rename to js/src/tests/non262/regress/regress-698028-1.js diff --git a/js/src/tests/js1_8_5/regress/regress-698028-2.js b/js/src/tests/non262/regress/regress-698028-2.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-698028-2.js rename to js/src/tests/non262/regress/regress-698028-2.js diff --git a/js/src/tests/js1_8_5/regress/regress-698028-3.js b/js/src/tests/non262/regress/regress-698028-3.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-698028-3.js rename to js/src/tests/non262/regress/regress-698028-3.js diff --git a/js/src/tests/js1_8_5/regress/regress-699682.js b/js/src/tests/non262/regress/regress-699682.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-699682.js rename to js/src/tests/non262/regress/regress-699682.js diff --git a/js/src/tests/js1_5/Regress/regress-71107.js b/js/src/tests/non262/regress/regress-71107.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-71107.js rename to js/src/tests/non262/regress/regress-71107.js diff --git a/js/src/tests/js1_8_5/regress/regress-736792.js b/js/src/tests/non262/regress/regress-736792.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-736792.js rename to js/src/tests/non262/regress/regress-736792.js diff --git a/js/src/tests/js1_5/Regress/regress-76054.js b/js/src/tests/non262/regress/regress-76054.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-76054.js rename to js/src/tests/non262/regress/regress-76054.js diff --git a/js/src/tests/js1_5/Regress/regress-80981.js b/js/src/tests/non262/regress/regress-80981.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-80981.js rename to js/src/tests/non262/regress/regress-80981.js diff --git a/js/src/tests/js1_8_5/regress/regress-810525.js b/js/src/tests/non262/regress/regress-810525.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-810525.js rename to js/src/tests/non262/regress/regress-810525.js diff --git a/js/src/tests/js1_5/Regress/regress-82306.js b/js/src/tests/non262/regress/regress-82306.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-82306.js rename to js/src/tests/non262/regress/regress-82306.js diff --git a/js/src/tests/js1_5/Regress/regress-89443.js b/js/src/tests/non262/regress/regress-89443.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-89443.js rename to js/src/tests/non262/regress/regress-89443.js diff --git a/js/src/tests/js1_5/Regress/regress-89474.js b/js/src/tests/non262/regress/regress-89474.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-89474.js rename to js/src/tests/non262/regress/regress-89474.js diff --git a/js/src/tests/js1_5/Regress/regress-90445.js b/js/src/tests/non262/regress/regress-90445.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-90445.js rename to js/src/tests/non262/regress/regress-90445.js diff --git a/js/src/tests/js1_5/Regress/regress-96128-n.js b/js/src/tests/non262/regress/regress-96128-n.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-96128-n.js rename to js/src/tests/non262/regress/regress-96128-n.js diff --git a/js/src/tests/js1_5/Regress/regress-96526-001.js b/js/src/tests/non262/regress/regress-96526-001.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-96526-001.js rename to js/src/tests/non262/regress/regress-96526-001.js diff --git a/js/src/tests/js1_5/Regress/regress-96526-002.js b/js/src/tests/non262/regress/regress-96526-002.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-96526-002.js rename to js/src/tests/non262/regress/regress-96526-002.js diff --git a/js/src/tests/js1_5/Regress/regress-96526-003.js b/js/src/tests/non262/regress/regress-96526-003.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-96526-003.js rename to js/src/tests/non262/regress/regress-96526-003.js diff --git a/js/src/tests/js1_5/Regress/regress-98901.js b/js/src/tests/non262/regress/regress-98901.js similarity index 100% rename from js/src/tests/js1_5/Regress/regress-98901.js rename to js/src/tests/non262/regress/regress-98901.js diff --git a/js/src/tests/js1_8_5/regress/regress-yarr-regexp.js b/js/src/tests/non262/regress/regress-yarr-regexp.js similarity index 100% rename from js/src/tests/js1_8_5/regress/regress-yarr-regexp.js rename to js/src/tests/non262/regress/regress-yarr-regexp.js diff --git a/js/src/tests/ecma_2018/Syntax/shell.js b/js/src/tests/non262/regress/shell.js similarity index 100% rename from js/src/tests/ecma_2018/Syntax/shell.js rename to js/src/tests/non262/regress/shell.js diff --git a/js/src/tests/non262/shell.js b/js/src/tests/non262/shell.js new file mode 100644 index 000000000000..238f44400e1b --- /dev/null +++ b/js/src/tests/non262/shell.js @@ -0,0 +1,293 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +(function(global) { + + /* + * completesNormally(CODE) returns true if evaluating CODE (as eval + * code) completes normally (rather than throwing an exception). + */ + global.completesNormally = function completesNormally(code) { + try { + eval(code); + return true; + } catch (exception) { + return false; + } + } + + /* + * raisesException(EXCEPTION)(CODE) returns true if evaluating CODE (as + * eval code) throws an exception object that is an instance of EXCEPTION, + * and returns false if it throws any other error or evaluates + * successfully. For example: raises(TypeError)("0()") == true. + */ + global.raisesException = function raisesException(exception) { + return function (code) { + try { + eval(code); + return false; + } catch (actual) { + return actual instanceof exception; + } + }; + }; + + /* + * Return true if A is equal to B, where equality on arrays and objects + * means that they have the same set of enumerable properties, the values + * of each property are deep_equal, and their 'length' properties are + * equal. Equality on other types is ==. + */ + global.deepEqual = function deepEqual(a, b) { + if (typeof a != typeof b) + return false; + + if (typeof a == 'object') { + var props = {}; + // For every property of a, does b have that property with an equal value? + for (var prop in a) { + if (!deepEqual(a[prop], b[prop])) + return false; + props[prop] = true; + } + // Are all of b's properties present on a? + for (var prop in b) + if (!props[prop]) + return false; + // length isn't enumerable, but we want to check it, too. + return a.length == b.length; + } + + if (a === b) { + // Distinguish 0 from -0, even though they are ===. + return a !== 0 || 1/a === 1/b; + } + + // Treat NaNs as equal, even though NaN !== NaN. + // NaNs are the only non-reflexive values, i.e., if a !== a, then a is a NaN. + // isNaN is broken: it converts its argument to number, so isNaN("foo") => true + return a !== a && b !== b; + } + + /** Make an iterator with a return method. */ + global.makeIterator = function makeIterator(overrides) { + var throwMethod; + if (overrides && overrides.throw) + throwMethod = overrides.throw; + var iterator = { + throw: throwMethod, + next: function(x) { + if (overrides && overrides.next) + return overrides.next(x); + return { done: false }; + }, + return: function(x) { + if (overrides && overrides.ret) + return overrides.ret(x); + return { done: true }; + } + }; + + return function() { return iterator; }; + }; + + /** Yield every permutation of the elements in some array. */ + global.Permutations = function* Permutations(items) { + if (items.length == 0) { + yield []; + } else { + items = items.slice(0); + for (let i = 0; i < items.length; i++) { + let swap = items[0]; + items[0] = items[i]; + items[i] = swap; + for (let e of Permutations(items.slice(1, items.length))) + yield [items[0]].concat(e); + } + } + }; + + global.assertThrowsValue = function assertThrowsValue(f, val, msg) { + var fullmsg; + try { + f(); + } catch (exc) { + if ((exc === val) === (val === val) && (val !== 0 || 1 / exc === 1 / val)) + return; + fullmsg = "Assertion failed: expected exception " + val + ", got " + exc; + } + if (fullmsg === undefined) + fullmsg = "Assertion failed: expected exception " + val + ", no exception thrown"; + if (msg !== undefined) + fullmsg += " - " + msg; + throw new Error(fullmsg); + }; + + global.assertDeepEq = (function(){ + var call = Function.prototype.call, + Array_isArray = Array.isArray, + Map_ = Map, + Error_ = Error, + Map_has = call.bind(Map.prototype.has), + Map_get = call.bind(Map.prototype.get), + Map_set = call.bind(Map.prototype.set), + Object_toString = call.bind(Object.prototype.toString), + Function_toString = call.bind(Function.prototype.toString), + Object_getPrototypeOf = Object.getPrototypeOf, + Object_hasOwnProperty = call.bind(Object.prototype.hasOwnProperty), + Object_getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor, + Object_isExtensible = Object.isExtensible, + Object_getOwnPropertyNames = Object.getOwnPropertyNames, + uneval_ = uneval; + + // Return true iff ES6 Type(v) isn't Object. + // Note that `typeof document.all === "undefined"`. + function isPrimitive(v) { + return (v === null || + v === undefined || + typeof v === "boolean" || + typeof v === "number" || + typeof v === "string" || + typeof v === "symbol"); + } + + function assertSameValue(a, b, msg) { + try { + assertEq(a, b); + } catch (exc) { + throw Error_(exc.message + (msg ? " " + msg : "")); + } + } + + function assertSameClass(a, b, msg) { + var ac = Object_toString(a), bc = Object_toString(b); + assertSameValue(ac, bc, msg); + switch (ac) { + case "[object Function]": + assertSameValue(Function_toString(a), Function_toString(b), msg); + } + } + + function at(prevmsg, segment) { + return prevmsg ? prevmsg + segment : "at _" + segment; + } + + // Assert that the arguments a and b are thoroughly structurally equivalent. + // + // For the sake of speed, we cut a corner: + // var x = {}, y = {}, ax = [x]; + // assertDeepEq([ax, x], [ax, y]); // passes (?!) + // + // Technically this should fail, since the two object graphs are different. + // (The graph of [ax, y] contains one more object than the graph of [ax, x].) + // + // To get technically correct behavior, pass {strictEquivalence: true}. + // This is slower because we have to walk the entire graph, and Object.prototype + // is big. + // + return function assertDeepEq(a, b, options) { + var strictEquivalence = options ? options.strictEquivalence : false; + + function assertSameProto(a, b, msg) { + check(Object_getPrototypeOf(a), Object_getPrototypeOf(b), at(msg, ".__proto__")); + } + + function failPropList(na, nb, msg) { + throw Error_("got own properties " + uneval_(na) + ", expected " + uneval_(nb) + + (msg ? " " + msg : "")); + } + + function assertSameProps(a, b, msg) { + var na = Object_getOwnPropertyNames(a), + nb = Object_getOwnPropertyNames(b); + if (na.length !== nb.length) + failPropList(na, nb, msg); + + // Ignore differences in whether Array elements are stored densely. + if (Array_isArray(a)) { + na.sort(); + nb.sort(); + } + + for (var i = 0; i < na.length; i++) { + var name = na[i]; + if (name !== nb[i]) + failPropList(na, nb, msg); + var da = Object_getOwnPropertyDescriptor(a, name), + db = Object_getOwnPropertyDescriptor(b, name); + var pmsg = at(msg, /^[_$A-Za-z0-9]+$/.test(name) + ? /0|[1-9][0-9]*/.test(name) ? "[" + name + "]" : "." + name + : "[" + uneval_(name) + "]"); + assertSameValue(da.configurable, db.configurable, at(pmsg, ".[[Configurable]]")); + assertSameValue(da.enumerable, db.enumerable, at(pmsg, ".[[Enumerable]]")); + if (Object_hasOwnProperty(da, "value")) { + if (!Object_hasOwnProperty(db, "value")) + throw Error_("got data property, expected accessor property" + pmsg); + check(da.value, db.value, pmsg); + } else { + if (Object_hasOwnProperty(db, "value")) + throw Error_("got accessor property, expected data property" + pmsg); + check(da.get, db.get, at(pmsg, ".[[Get]]")); + check(da.set, db.set, at(pmsg, ".[[Set]]")); + } + } + }; + + var ab = new Map_(); + var bpath = new Map_(); + + function check(a, b, path) { + if (typeof a === "symbol") { + // Symbols are primitives, but they have identity. + // Symbol("x") !== Symbol("x") but + // assertDeepEq(Symbol("x"), Symbol("x")) should pass. + if (typeof b !== "symbol") { + throw Error_("got " + uneval_(a) + ", expected " + uneval_(b) + " " + path); + } else if (uneval_(a) !== uneval_(b)) { + // We lamely use uneval_ to distinguish well-known symbols + // from user-created symbols. The standard doesn't offer + // a convenient way to do it. + throw Error_("got " + uneval_(a) + ", expected " + uneval_(b) + " " + path); + } else if (Map_has(ab, a)) { + assertSameValue(Map_get(ab, a), b, path); + } else if (Map_has(bpath, b)) { + var bPrevPath = Map_get(bpath, b) || "_"; + throw Error_("got distinct symbols " + at(path, "") + " and " + + at(bPrevPath, "") + ", expected the same symbol both places"); + } else { + Map_set(ab, a, b); + Map_set(bpath, b, path); + } + } else if (isPrimitive(a)) { + assertSameValue(a, b, path); + } else if (isPrimitive(b)) { + throw Error_("got " + Object_toString(a) + ", expected " + uneval_(b) + " " + path); + } else if (Map_has(ab, a)) { + assertSameValue(Map_get(ab, a), b, path); + } else if (Map_has(bpath, b)) { + var bPrevPath = Map_get(bpath, b) || "_"; + throw Error_("got distinct objects " + at(path, "") + " and " + at(bPrevPath, "") + + ", expected the same object both places"); + } else { + Map_set(ab, a, b); + Map_set(bpath, b, path); + if (a !== b || strictEquivalence) { + assertSameClass(a, b, path); + assertSameProto(a, b, path); + assertSameProps(a, b, path); + assertSameValue(Object_isExtensible(a), + Object_isExtensible(b), + at(path, ".[[Extensible]]")); + } + } + } + + check(a, b, ""); + }; + })(); + +})(this); diff --git a/js/src/tests/ecma_6/Statements/arrow-function-at-end-of-for-statement-head.js b/js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js similarity index 100% rename from js/src/tests/ecma_6/Statements/arrow-function-at-end-of-for-statement-head.js rename to js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js diff --git a/js/src/tests/ecma_6/Statements/arrow-function-in-for-statement-head.js b/js/src/tests/non262/statements/arrow-function-in-for-statement-head.js similarity index 100% rename from js/src/tests/ecma_6/Statements/arrow-function-in-for-statement-head.js rename to js/src/tests/non262/statements/arrow-function-in-for-statement-head.js diff --git a/js/src/tests/ecma_3/Number/browser.js b/js/src/tests/non262/statements/browser.js similarity index 100% rename from js/src/tests/ecma_3/Number/browser.js rename to js/src/tests/non262/statements/browser.js diff --git a/js/src/tests/ecma_2017/Statements/for-in-with-assignment-semantics.js b/js/src/tests/non262/statements/for-in-with-assignment-semantics.js similarity index 100% rename from js/src/tests/ecma_2017/Statements/for-in-with-assignment-semantics.js rename to js/src/tests/non262/statements/for-in-with-assignment-semantics.js diff --git a/js/src/tests/ecma_2017/Statements/for-in-with-assignment-syntax.js b/js/src/tests/non262/statements/for-in-with-assignment-syntax.js similarity index 100% rename from js/src/tests/ecma_2017/Statements/for-in-with-assignment-syntax.js rename to js/src/tests/non262/statements/for-in-with-assignment-syntax.js diff --git a/js/src/tests/ecma_2017/Statements/for-in-with-assignments.js b/js/src/tests/non262/statements/for-in-with-assignments.js similarity index 100% rename from js/src/tests/ecma_2017/Statements/for-in-with-assignments.js rename to js/src/tests/non262/statements/for-in-with-assignments.js diff --git a/js/src/tests/ecma_6/Statements/for-in-with-declaration.js b/js/src/tests/non262/statements/for-in-with-declaration.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-in-with-declaration.js rename to js/src/tests/non262/statements/for-in-with-declaration.js diff --git a/js/src/tests/ecma_6/Statements/for-in-with-destructuring-assignments.js b/js/src/tests/non262/statements/for-in-with-destructuring-assignments.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-in-with-destructuring-assignments.js rename to js/src/tests/non262/statements/for-in-with-destructuring-assignments.js diff --git a/js/src/tests/ecma_6/Statements/for-inof-coverinitname-destr-assign.js b/js/src/tests/non262/statements/for-inof-coverinitname-destr-assign.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-inof-coverinitname-destr-assign.js rename to js/src/tests/non262/statements/for-inof-coverinitname-destr-assign.js diff --git a/js/src/tests/ecma_6/Statements/for-inof-finally.js b/js/src/tests/non262/statements/for-inof-finally.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-inof-finally.js rename to js/src/tests/non262/statements/for-inof-finally.js diff --git a/js/src/tests/ecma_6/Statements/for-inof-loop-const-declaration.js b/js/src/tests/non262/statements/for-inof-loop-const-declaration.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-inof-loop-const-declaration.js rename to js/src/tests/non262/statements/for-inof-loop-const-declaration.js diff --git a/js/src/tests/ecma_6/Statements/for-inof-name-iteration-expression-contains-index-string.js b/js/src/tests/non262/statements/for-inof-name-iteration-expression-contains-index-string.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-inof-name-iteration-expression-contains-index-string.js rename to js/src/tests/non262/statements/for-inof-name-iteration-expression-contains-index-string.js diff --git a/js/src/tests/ecma_6/Statements/for-loop-declaration-contains-computed-name.js b/js/src/tests/non262/statements/for-loop-declaration-contains-computed-name.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-loop-declaration-contains-computed-name.js rename to js/src/tests/non262/statements/for-loop-declaration-contains-computed-name.js diff --git a/js/src/tests/ecma_6/Statements/for-loop-declaration-contains-initializer.js b/js/src/tests/non262/statements/for-loop-declaration-contains-initializer.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-loop-declaration-contains-initializer.js rename to js/src/tests/non262/statements/for-loop-declaration-contains-initializer.js diff --git a/js/src/tests/ecma_6/Statements/for-of-iterator-close-throw.js b/js/src/tests/non262/statements/for-of-iterator-close-throw.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-of-iterator-close-throw.js rename to js/src/tests/non262/statements/for-of-iterator-close-throw.js diff --git a/js/src/tests/ecma_6/Statements/for-of-iterator-close.js b/js/src/tests/non262/statements/for-of-iterator-close.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-of-iterator-close.js rename to js/src/tests/non262/statements/for-of-iterator-close.js diff --git a/js/src/tests/ecma_6/Statements/for-of-iterator-primitive.js b/js/src/tests/non262/statements/for-of-iterator-primitive.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-of-iterator-primitive.js rename to js/src/tests/non262/statements/for-of-iterator-primitive.js diff --git a/js/src/tests/ecma_6/Statements/for-of-var-with-initializer.js b/js/src/tests/non262/statements/for-of-var-with-initializer.js similarity index 100% rename from js/src/tests/ecma_6/Statements/for-of-var-with-initializer.js rename to js/src/tests/non262/statements/for-of-var-with-initializer.js diff --git a/js/src/tests/ecma_6/Statements/if-constant-folding.js b/js/src/tests/non262/statements/if-constant-folding.js similarity index 100% rename from js/src/tests/ecma_6/Statements/if-constant-folding.js rename to js/src/tests/non262/statements/if-constant-folding.js diff --git a/js/src/tests/ecma_6/Statements/property-reference-self-assignment.js b/js/src/tests/non262/statements/property-reference-self-assignment.js similarity index 100% rename from js/src/tests/ecma_6/Statements/property-reference-self-assignment.js rename to js/src/tests/non262/statements/property-reference-self-assignment.js diff --git a/js/src/tests/ecma_3/Statements/regress-131348.js b/js/src/tests/non262/statements/regress-131348.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-131348.js rename to js/src/tests/non262/statements/regress-131348.js diff --git a/js/src/tests/ecma_3/Statements/regress-157509.js b/js/src/tests/non262/statements/regress-157509.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-157509.js rename to js/src/tests/non262/statements/regress-157509.js diff --git a/js/src/tests/ecma_3/Statements/regress-194364.js b/js/src/tests/non262/statements/regress-194364.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-194364.js rename to js/src/tests/non262/statements/regress-194364.js diff --git a/js/src/tests/ecma_3/Statements/regress-226517.js b/js/src/tests/non262/statements/regress-226517.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-226517.js rename to js/src/tests/non262/statements/regress-226517.js diff --git a/js/src/tests/ecma_3/Statements/regress-302439.js b/js/src/tests/non262/statements/regress-302439.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-302439.js rename to js/src/tests/non262/statements/regress-302439.js diff --git a/js/src/tests/ecma_3/Statements/regress-324650.js b/js/src/tests/non262/statements/regress-324650.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-324650.js rename to js/src/tests/non262/statements/regress-324650.js diff --git a/js/src/tests/ecma_3/Statements/regress-444979.js b/js/src/tests/non262/statements/regress-444979.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-444979.js rename to js/src/tests/non262/statements/regress-444979.js diff --git a/js/src/tests/ecma_3/Statements/regress-642975.js b/js/src/tests/non262/statements/regress-642975.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-642975.js rename to js/src/tests/non262/statements/regress-642975.js diff --git a/js/src/tests/ecma_3/Statements/regress-74474-001.js b/js/src/tests/non262/statements/regress-74474-001.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-74474-001.js rename to js/src/tests/non262/statements/regress-74474-001.js diff --git a/js/src/tests/ecma_3/Statements/regress-74474-002.js b/js/src/tests/non262/statements/regress-74474-002.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-74474-002.js rename to js/src/tests/non262/statements/regress-74474-002.js diff --git a/js/src/tests/ecma_3/Statements/regress-74474-003.js b/js/src/tests/non262/statements/regress-74474-003.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-74474-003.js rename to js/src/tests/non262/statements/regress-74474-003.js diff --git a/js/src/tests/ecma_3/Statements/regress-83532-001.js b/js/src/tests/non262/statements/regress-83532-001.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-83532-001.js rename to js/src/tests/non262/statements/regress-83532-001.js diff --git a/js/src/tests/ecma_3/Statements/regress-83532-002.js b/js/src/tests/non262/statements/regress-83532-002.js similarity index 100% rename from js/src/tests/ecma_3/Statements/regress-83532-002.js rename to js/src/tests/non262/statements/regress-83532-002.js diff --git a/js/src/tests/ecma_2018/TypedArray/shell.js b/js/src/tests/non262/statements/shell.js similarity index 100% rename from js/src/tests/ecma_2018/TypedArray/shell.js rename to js/src/tests/non262/statements/shell.js diff --git a/js/src/tests/ecma_2017/Statements/trailing_comma_parameters.js b/js/src/tests/non262/statements/trailing_comma_parameters.js similarity index 100% rename from js/src/tests/ecma_2017/Statements/trailing_comma_parameters.js rename to js/src/tests/non262/statements/trailing_comma_parameters.js diff --git a/js/src/tests/ecma_6/Statements/try-completion.js b/js/src/tests/non262/statements/try-completion.js similarity index 100% rename from js/src/tests/ecma_6/Statements/try-completion.js rename to js/src/tests/non262/statements/try-completion.js diff --git a/js/src/tests/ecma_5/strict/10.4.2.js b/js/src/tests/non262/strict/10.4.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/10.4.2.js rename to js/src/tests/non262/strict/10.4.2.js diff --git a/js/src/tests/ecma_5/strict/10.4.3.js b/js/src/tests/non262/strict/10.4.3.js similarity index 100% rename from js/src/tests/ecma_5/strict/10.4.3.js rename to js/src/tests/non262/strict/10.4.3.js diff --git a/js/src/tests/ecma_5/strict/10.6.js b/js/src/tests/non262/strict/10.6.js similarity index 100% rename from js/src/tests/ecma_5/strict/10.6.js rename to js/src/tests/non262/strict/10.6.js diff --git a/js/src/tests/ecma_5/strict/11.1.5.js b/js/src/tests/non262/strict/11.1.5.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.1.5.js rename to js/src/tests/non262/strict/11.1.5.js diff --git a/js/src/tests/ecma_5/strict/11.13.1.js b/js/src/tests/non262/strict/11.13.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.13.1.js rename to js/src/tests/non262/strict/11.13.1.js diff --git a/js/src/tests/ecma_5/strict/11.13.2.js b/js/src/tests/non262/strict/11.13.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.13.2.js rename to js/src/tests/non262/strict/11.13.2.js diff --git a/js/src/tests/ecma_5/strict/11.3.1.js b/js/src/tests/non262/strict/11.3.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.3.1.js rename to js/src/tests/non262/strict/11.3.1.js diff --git a/js/src/tests/ecma_5/strict/11.3.2.js b/js/src/tests/non262/strict/11.3.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.3.2.js rename to js/src/tests/non262/strict/11.3.2.js diff --git a/js/src/tests/ecma_5/strict/11.4.1.js b/js/src/tests/non262/strict/11.4.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.4.1.js rename to js/src/tests/non262/strict/11.4.1.js diff --git a/js/src/tests/ecma_5/strict/11.4.4.js b/js/src/tests/non262/strict/11.4.4.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.4.4.js rename to js/src/tests/non262/strict/11.4.4.js diff --git a/js/src/tests/ecma_5/strict/11.4.5.js b/js/src/tests/non262/strict/11.4.5.js similarity index 100% rename from js/src/tests/ecma_5/strict/11.4.5.js rename to js/src/tests/non262/strict/11.4.5.js diff --git a/js/src/tests/ecma_5/strict/12.10.1.js b/js/src/tests/non262/strict/12.10.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/12.10.1.js rename to js/src/tests/non262/strict/12.10.1.js diff --git a/js/src/tests/ecma_5/strict/12.14.1.js b/js/src/tests/non262/strict/12.14.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/12.14.1.js rename to js/src/tests/non262/strict/12.14.1.js diff --git a/js/src/tests/js1_8_1/strict/12.2.1.js b/js/src/tests/non262/strict/12.2.1-01.js similarity index 100% rename from js/src/tests/js1_8_1/strict/12.2.1.js rename to js/src/tests/non262/strict/12.2.1-01.js diff --git a/js/src/tests/ecma_5/strict/12.2.1.js b/js/src/tests/non262/strict/12.2.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/12.2.1.js rename to js/src/tests/non262/strict/12.2.1.js diff --git a/js/src/tests/ecma_5/strict/13.1.js b/js/src/tests/non262/strict/13.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/13.1.js rename to js/src/tests/non262/strict/13.1.js diff --git a/js/src/tests/ecma_5/strict/15.10.7.js b/js/src/tests/non262/strict/15.10.7.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.10.7.js rename to js/src/tests/non262/strict/15.10.7.js diff --git a/js/src/tests/ecma_5/strict/15.3.4.5.js b/js/src/tests/non262/strict/15.3.4.5.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.3.4.5.js rename to js/src/tests/non262/strict/15.3.4.5.js diff --git a/js/src/tests/ecma_5/strict/15.3.5.1.js b/js/src/tests/non262/strict/15.3.5.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.3.5.1.js rename to js/src/tests/non262/strict/15.3.5.1.js diff --git a/js/src/tests/ecma_5/strict/15.3.5.2.js b/js/src/tests/non262/strict/15.3.5.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.3.5.2.js rename to js/src/tests/non262/strict/15.3.5.2.js diff --git a/js/src/tests/ecma_5/extensions/15.4.4.11.js b/js/src/tests/non262/strict/15.4.4.11.js similarity index 100% rename from js/src/tests/ecma_5/extensions/15.4.4.11.js rename to js/src/tests/non262/strict/15.4.4.11.js diff --git a/js/src/tests/ecma_5/strict/15.4.4.12.js b/js/src/tests/non262/strict/15.4.4.12.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.4.4.12.js rename to js/src/tests/non262/strict/15.4.4.12.js diff --git a/js/src/tests/ecma_5/strict/15.4.4.13.js b/js/src/tests/non262/strict/15.4.4.13.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.4.4.13.js rename to js/src/tests/non262/strict/15.4.4.13.js diff --git a/js/src/tests/ecma_5/strict/15.4.4.6.js b/js/src/tests/non262/strict/15.4.4.6.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.4.4.6.js rename to js/src/tests/non262/strict/15.4.4.6.js diff --git a/js/src/tests/ecma_5/strict/15.4.4.8.js b/js/src/tests/non262/strict/15.4.4.8.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.4.4.8.js rename to js/src/tests/non262/strict/15.4.4.8.js diff --git a/js/src/tests/ecma_5/strict/15.4.4.9.js b/js/src/tests/non262/strict/15.4.4.9.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.4.4.9.js rename to js/src/tests/non262/strict/15.4.4.9.js diff --git a/js/src/tests/ecma_5/strict/15.4.5.1.js b/js/src/tests/non262/strict/15.4.5.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.4.5.1.js rename to js/src/tests/non262/strict/15.4.5.1.js diff --git a/js/src/tests/ecma_5/strict/15.5.5.1.js b/js/src/tests/non262/strict/15.5.5.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.5.5.1.js rename to js/src/tests/non262/strict/15.5.5.1.js diff --git a/js/src/tests/ecma_5/strict/15.5.5.2.js b/js/src/tests/non262/strict/15.5.5.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/15.5.5.2.js rename to js/src/tests/non262/strict/15.5.5.2.js diff --git a/js/src/tests/ecma_5/strict/8.12.5.js b/js/src/tests/non262/strict/8.12.5.js similarity index 100% rename from js/src/tests/ecma_5/strict/8.12.5.js rename to js/src/tests/non262/strict/8.12.5.js diff --git a/js/src/tests/ecma_5/strict/8.12.7-2.js b/js/src/tests/non262/strict/8.12.7-2.js similarity index 100% rename from js/src/tests/ecma_5/strict/8.12.7-2.js rename to js/src/tests/non262/strict/8.12.7-2.js diff --git a/js/src/tests/ecma_5/strict/8.12.7.js b/js/src/tests/non262/strict/8.12.7.js similarity index 100% rename from js/src/tests/ecma_5/strict/8.12.7.js rename to js/src/tests/non262/strict/8.12.7.js diff --git a/js/src/tests/js1_8_1/strict/8.7.2.js b/js/src/tests/non262/strict/8.7.2-01.js similarity index 100% rename from js/src/tests/js1_8_1/strict/8.7.2.js rename to js/src/tests/non262/strict/8.7.2-01.js diff --git a/js/src/tests/ecma_5/strict/8.7.2.js b/js/src/tests/non262/strict/8.7.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/8.7.2.js rename to js/src/tests/non262/strict/8.7.2.js diff --git a/js/src/tests/ecma_5/strict/B.1.1.js b/js/src/tests/non262/strict/B.1.1.js similarity index 100% rename from js/src/tests/ecma_5/strict/B.1.1.js rename to js/src/tests/non262/strict/B.1.1.js diff --git a/js/src/tests/ecma_5/strict/B.1.2.js b/js/src/tests/non262/strict/B.1.2.js similarity index 100% rename from js/src/tests/ecma_5/strict/B.1.2.js rename to js/src/tests/non262/strict/B.1.2.js diff --git a/js/src/tests/ecma_5/strict/assign-to-callee-name.js b/js/src/tests/non262/strict/assign-to-callee-name.js similarity index 100% rename from js/src/tests/ecma_5/strict/assign-to-callee-name.js rename to js/src/tests/non262/strict/assign-to-callee-name.js diff --git a/js/src/tests/ecma_3/NumberFormatting/browser.js b/js/src/tests/non262/strict/browser.js similarity index 100% rename from js/src/tests/ecma_3/NumberFormatting/browser.js rename to js/src/tests/non262/strict/browser.js diff --git a/js/src/tests/ecma_5/strict/directive-prologue-01.js b/js/src/tests/non262/strict/directive-prologue-01.js similarity index 100% rename from js/src/tests/ecma_5/strict/directive-prologue-01.js rename to js/src/tests/non262/strict/directive-prologue-01.js diff --git a/js/src/tests/ecma_5/strict/eval-variable-environment.js b/js/src/tests/non262/strict/eval-variable-environment.js similarity index 100% rename from js/src/tests/ecma_5/strict/eval-variable-environment.js rename to js/src/tests/non262/strict/eval-variable-environment.js diff --git a/js/src/tests/ecma_5/strict/primitive-assignment.js b/js/src/tests/non262/strict/primitive-assignment.js similarity index 100% rename from js/src/tests/ecma_5/strict/primitive-assignment.js rename to js/src/tests/non262/strict/primitive-assignment.js diff --git a/js/src/tests/ecma_5/strict/primitive-this-getter.js b/js/src/tests/non262/strict/primitive-this-getter.js similarity index 100% rename from js/src/tests/ecma_5/strict/primitive-this-getter.js rename to js/src/tests/non262/strict/primitive-this-getter.js diff --git a/js/src/tests/ecma_5/strict/primitive-this-no-writeback.js b/js/src/tests/non262/strict/primitive-this-no-writeback.js similarity index 100% rename from js/src/tests/ecma_5/strict/primitive-this-no-writeback.js rename to js/src/tests/non262/strict/primitive-this-no-writeback.js diff --git a/js/src/tests/ecma_5/strict/rebind-eval-should-fail-in-strict-mode.js b/js/src/tests/non262/strict/rebind-eval-should-fail-in-strict-mode.js similarity index 100% rename from js/src/tests/ecma_5/strict/rebind-eval-should-fail-in-strict-mode.js rename to js/src/tests/non262/strict/rebind-eval-should-fail-in-strict-mode.js diff --git a/js/src/tests/ecma_5/strict/regress-532041.js b/js/src/tests/non262/strict/regress-532041.js similarity index 100% rename from js/src/tests/ecma_5/strict/regress-532041.js rename to js/src/tests/non262/strict/regress-532041.js diff --git a/js/src/tests/ecma_5/strict/regress-532254.js b/js/src/tests/non262/strict/regress-532254.js similarity index 100% rename from js/src/tests/ecma_5/strict/regress-532254.js rename to js/src/tests/non262/strict/regress-532254.js diff --git a/js/src/tests/ecma_5/strict/regress-599159.js b/js/src/tests/non262/strict/regress-599159.js similarity index 100% rename from js/src/tests/ecma_5/strict/regress-599159.js rename to js/src/tests/non262/strict/regress-599159.js diff --git a/js/src/tests/non262/strict/shell.js b/js/src/tests/non262/strict/shell.js new file mode 100644 index 000000000000..9d8c8695eeb8 --- /dev/null +++ b/js/src/tests/non262/strict/shell.js @@ -0,0 +1,65 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +(function(global) { + + /* + * Return true if both of these return true: + * - LENIENT_PRED applied to CODE + * - STRICT_PRED applied to CODE with a use strict directive added to the front + * + * Run STRICT_PRED first, for testing code that affects the global environment + * in loose mode, but fails in strict mode. + */ + global.testLenientAndStrict = function testLenientAndStrict(code, lenient_pred, strict_pred) { + return (strict_pred("'use strict'; " + code) && + lenient_pred(code)); + } + + /* + * parsesSuccessfully(CODE) returns true if CODE parses as function + * code without an error. + */ + global.parsesSuccessfully = function parsesSuccessfully(code) { + try { + Function(code); + return true; + } catch (exception) { + return false; + } + }; + + /* + * parseRaisesException(EXCEPTION)(CODE) returns true if parsing CODE + * as function code raises EXCEPTION. + */ + global.parseRaisesException = function parseRaisesException(exception) { + return function (code) { + try { + Function(code); + return false; + } catch (actual) { + return exception.prototype.isPrototypeOf(actual); + } + }; + }; + + /* + * returns(VALUE)(CODE) returns true if evaluating CODE (as eval code) + * completes normally (rather than throwing an exception), yielding a value + * strictly equal to VALUE. + */ + global.returns = function returns(value) { + return function(code) { + try { + return eval(code) === value; + } catch (exception) { + return false; + } + } + } + +})(this); diff --git a/js/src/tests/ecma_5/extensions/strict-function-statements.js b/js/src/tests/non262/strict/strict-function-statements.js similarity index 100% rename from js/src/tests/ecma_5/extensions/strict-function-statements.js rename to js/src/tests/non262/strict/strict-function-statements.js diff --git a/js/src/tests/ecma_5/strict/strict-this-is-not-truthy.js b/js/src/tests/non262/strict/strict-this-is-not-truthy.js similarity index 100% rename from js/src/tests/ecma_5/strict/strict-this-is-not-truthy.js rename to js/src/tests/non262/strict/strict-this-is-not-truthy.js diff --git a/js/src/tests/ecma_5/strict/this-for-function-expression-recursion.js b/js/src/tests/non262/strict/this-for-function-expression-recursion.js similarity index 100% rename from js/src/tests/ecma_5/strict/this-for-function-expression-recursion.js rename to js/src/tests/non262/strict/this-for-function-expression-recursion.js diff --git a/js/src/tests/ecma_5/strict/unbrand-this.js b/js/src/tests/non262/strict/unbrand-this.js similarity index 100% rename from js/src/tests/ecma_5/strict/unbrand-this.js rename to js/src/tests/non262/strict/unbrand-this.js diff --git a/js/src/tests/ecma_3/Operators/browser.js b/js/src/tests/non262/syntax/browser.js similarity index 100% rename from js/src/tests/ecma_3/Operators/browser.js rename to js/src/tests/non262/syntax/browser.js diff --git a/js/src/tests/ecma_6/Syntax/declaration-forbidden-in-label.js b/js/src/tests/non262/syntax/declaration-forbidden-in-label.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/declaration-forbidden-in-label.js rename to js/src/tests/non262/syntax/declaration-forbidden-in-label.js diff --git a/js/src/tests/ecma_6/Syntax/escaped-let-static-identifier.js b/js/src/tests/non262/syntax/escaped-let-static-identifier.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/escaped-let-static-identifier.js rename to js/src/tests/non262/syntax/escaped-let-static-identifier.js diff --git a/js/src/tests/ecma_6/Syntax/escaped-strict-reserved-words-and-yield.js b/js/src/tests/non262/syntax/escaped-strict-reserved-words-and-yield.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/escaped-strict-reserved-words-and-yield.js rename to js/src/tests/non262/syntax/escaped-strict-reserved-words-and-yield.js diff --git a/js/src/tests/ecma_6/Syntax/identifier_vertical_tilde.js b/js/src/tests/non262/syntax/identifier_vertical_tilde.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/identifier_vertical_tilde.js rename to js/src/tests/non262/syntax/identifier_vertical_tilde.js diff --git a/js/src/tests/ecma_6/Syntax/identifiers-with-extended-unicode-escape.js b/js/src/tests/non262/syntax/identifiers-with-extended-unicode-escape.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/identifiers-with-extended-unicode-escape.js rename to js/src/tests/non262/syntax/identifiers-with-extended-unicode-escape.js diff --git a/js/src/tests/ecma_6/Syntax/keyword-unescaped-requirement.js b/js/src/tests/non262/syntax/keyword-unescaped-requirement.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/keyword-unescaped-requirement.js rename to js/src/tests/non262/syntax/keyword-unescaped-requirement.js diff --git a/js/src/tests/ecma_6/Syntax/let-as-label.js b/js/src/tests/non262/syntax/let-as-label.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/let-as-label.js rename to js/src/tests/non262/syntax/let-as-label.js diff --git a/js/src/tests/ecma_7/Syntax/non-simple-with-strict-directive.js b/js/src/tests/non262/syntax/non-simple-with-strict-directive.js similarity index 100% rename from js/src/tests/ecma_7/Syntax/non-simple-with-strict-directive.js rename to js/src/tests/non262/syntax/non-simple-with-strict-directive.js diff --git a/js/src/tests/ecma_2018/Syntax/omitted-catch-binding.js b/js/src/tests/non262/syntax/omitted-catch-binding.js similarity index 100% rename from js/src/tests/ecma_2018/Syntax/omitted-catch-binding.js rename to js/src/tests/non262/syntax/omitted-catch-binding.js diff --git a/js/src/tests/ecma_2018/shell.js b/js/src/tests/non262/syntax/shell.js similarity index 100% rename from js/src/tests/ecma_2018/shell.js rename to js/src/tests/non262/syntax/shell.js diff --git a/js/src/tests/ecma_6/Syntax/statement-versus-statementlistitem.js b/js/src/tests/non262/syntax/statement-versus-statementlistitem.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/statement-versus-statementlistitem.js rename to js/src/tests/non262/syntax/statement-versus-statementlistitem.js diff --git a/js/src/tests/ecma_6/Syntax/unicode_other_id_continue.js b/js/src/tests/non262/syntax/unicode_other_id_continue.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/unicode_other_id_continue.js rename to js/src/tests/non262/syntax/unicode_other_id_continue.js diff --git a/js/src/tests/ecma_6/Syntax/unicode_other_id_start.js b/js/src/tests/non262/syntax/unicode_other_id_start.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/unicode_other_id_start.js rename to js/src/tests/non262/syntax/unicode_other_id_start.js diff --git a/js/src/tests/ecma_6/Syntax/yield-as-identifier.js b/js/src/tests/non262/syntax/yield-as-identifier.js similarity index 100% rename from js/src/tests/ecma_6/Syntax/yield-as-identifier.js rename to js/src/tests/non262/syntax/yield-as-identifier.js diff --git a/js/src/tests/ecma_6/TemplateStrings/browser.js b/js/src/tests/non262/template-strings/browser.js similarity index 100% rename from js/src/tests/ecma_6/TemplateStrings/browser.js rename to js/src/tests/non262/template-strings/browser.js diff --git a/js/src/tests/ecma_6/TemplateStrings/debugLineNumber.js b/js/src/tests/non262/template-strings/debugLineNumber.js similarity index 100% rename from js/src/tests/ecma_6/TemplateStrings/debugLineNumber.js rename to js/src/tests/non262/template-strings/debugLineNumber.js diff --git a/js/src/tests/ecma_6/TemplateStrings/lineNumber.js b/js/src/tests/non262/template-strings/lineNumber.js similarity index 100% rename from js/src/tests/ecma_6/TemplateStrings/lineNumber.js rename to js/src/tests/non262/template-strings/lineNumber.js diff --git a/js/src/tests/ecma_6/TemplateStrings/noSubst.js b/js/src/tests/non262/template-strings/noSubst.js similarity index 100% rename from js/src/tests/ecma_6/TemplateStrings/noSubst.js rename to js/src/tests/non262/template-strings/noSubst.js diff --git a/js/src/tests/ecma_3/Array/shell.js b/js/src/tests/non262/template-strings/shell.js similarity index 100% rename from js/src/tests/ecma_3/Array/shell.js rename to js/src/tests/non262/template-strings/shell.js diff --git a/js/src/tests/ecma_6/TemplateStrings/tagTempl.js b/js/src/tests/non262/template-strings/tagTempl.js similarity index 100% rename from js/src/tests/ecma_6/TemplateStrings/tagTempl.js rename to js/src/tests/non262/template-strings/tagTempl.js diff --git a/js/src/tests/ecma_6/TemplateStrings/templLit.js b/js/src/tests/non262/template-strings/templLit.js similarity index 100% rename from js/src/tests/ecma_6/TemplateStrings/templLit.js rename to js/src/tests/non262/template-strings/templLit.js diff --git a/js/src/tests/ecma_3/template.js b/js/src/tests/non262/template.js similarity index 100% rename from js/src/tests/ecma_3/template.js rename to js/src/tests/non262/template.js diff --git a/js/src/tests/ecma_5/Types/8.12.5-01.js b/js/src/tests/non262/types/8.12.5-01.js similarity index 100% rename from js/src/tests/ecma_5/Types/8.12.5-01.js rename to js/src/tests/non262/types/8.12.5-01.js diff --git a/js/src/tests/ecma_3/RegExp/browser.js b/js/src/tests/non262/types/browser.js similarity index 100% rename from js/src/tests/ecma_3/RegExp/browser.js rename to js/src/tests/non262/types/browser.js diff --git a/js/src/tests/ecma_3/Exceptions/shell.js b/js/src/tests/non262/types/shell.js similarity index 100% rename from js/src/tests/ecma_3/Exceptions/shell.js rename to js/src/tests/non262/types/shell.js