Commit Graph

101 Commits

Author SHA1 Message Date
Leo Balter c41faf1aca Add missing Symbol features flags 2017-09-07 15:51:13 -04:00
Rick Waldron 4ea2931f16 Update all harness files to pass linting. (#1153)
```
$ python tools/lint/lint.py --whitelist lint.whitelist harness/*.js
Linting 25 files.
Linting complete. 0 errors found.
```

- Renames detachArrayBuffer-$262.detachArrayBuffer.js -> detachArrayBuffer-host-detachArrayBuffer.js (previous naming prevents command-click from terminal)

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-07-14 11:37:24 -04:00
Rick Waldron 13dfae4da9 Fixes test/harness/nans.js
- correction to license
- use Number.isNaN

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron a6aa58a44f harness test: propertyHelper.js (error case)
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 7eef084cf5 harness test: timer.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron c896312175 Update description in test/harness/sta-override-error.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 5165cc11cf harness test: testTypedArray.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 537ef01882 harness test: fnGlobalObject.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 1839050378 Removes relocated error.js tests
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 5f5e1655e1 harness test: nan.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 7c9b648d08 harness test: tcoHelper.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 8a5841acdc harness test: promiseHelper.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 3e85c608da harness test: sta.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 759ad854e9 harness test: detachArrayBuffer.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 8e360021b8 harness test: decimalToHexString.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 86f03a2ef8 harness test: dateConstants.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 27f3452b33 harness test: arrayContains.js
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-28 11:53:59 -04:00
Rick Waldron 2086f66c55 Update verifyProperty to allow checking `value`
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-23 11:58:16 -04:00
Rick Waldron 1a2244faf8 Fix all test/harness/*.js tests (#1068)
$ test262-harness --hostType=d8 -t 4 --hostPath=`which d8` test/harness/*.js
Ran 147 tests
147 passed
0 failed

$ test262-harness --hostType=node -t 4 --hostPath=`which node` test/harness/*.js
Ran 147 tests
147 passed
0 failed

$ test262-harness --hostType=jsshell -t 4 --hostPath=`which js` test/harness/*.js
Ran 147 tests
147 passed
0 failed

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-22 22:25:35 -03:00
Leo Balter 666f0e920a
Add assert.throws.early 2017-05-01 12:29:52 -04:00
Leo Balter e43ce56105 Add Verify Property harness (#979) 2017-04-15 12:56:29 -04:00
Leonardo Balter bc42c6ab5c Add harness for byte conversion values
Update testTypedArrayConversions to require byteConversionValues
2016-05-25 10:10:50 -04:00
Gorkem Yakin f6475d81bf Merge pull request #543 from bocoup/enumerable-helper
Fix verifyEnumerable helper to account for properties with Symbol values
2016-04-25 16:32:53 -07:00
jugglinmike ba3dacbe5a Correct tests for native functions' toString value (#580)
Modify the regular expression for native functions' toString value to
satisfy all test cases. Correct the test file's reference to the harness
file. Re-format the test file's assertions to aid debugging in the event
of failure.
2016-04-21 15:55:54 -04:00
jugglinmike cf68c3be91 Correct invalid tests for the Date constructor
The millisecond representation of a given Date instance is dependent on
the local system's time zone settings. In order to pass consistently
across contexts, tests for this value must take the system configuration
into account.

Introduce a test harness utility function to encapsulate these concerns.
Re-use this function across all test files that assert the exact
millisecond representation of Date instances.
2016-04-19 17:00:59 -04:00
Leonardo Balter e7f6cd7f86 assert.throws fails if second argument is not a function 2016-04-15 10:14:54 -04:00
Michael Ficarra 6b7cbb5035 add Function.prototype.toString tests, conforming to proposed revision
See the proposal at
https://tc39.github.io/Function-prototype-toString-revision/
2016-04-11 14:39:12 -04:00
Leonardo Balter a93ef42b56 Fix verifyEnumerable helper to account for Symbol properties 2016-03-15 10:13:52 -04:00
Leonardo Balter bf782c8421 s/id/esid
Fixes #477
2016-02-22 09:47:42 -05:00
Jordan Harband a6fad62d7c Last minute fixes 2016-02-19 11:27:31 -08:00
Jordan Harband 59dad9172b Make proxy traps helper test a bit more robust.
Per https://github.com/tc39/test262/pull/484#discussion_r53228232
2016-02-17 12:50:26 -08:00
Jordan Harband d530c87b41 Create `proxyTrapsHelper` to throw on all traps by default. 2016-02-13 15:56:47 -08:00
Mike Pennisi 29ecced632 Update handling of directive prologues
Some tests specifically concern the application of the `use strict`
directive as it appears in JavaScript source code. These tests should
*not* be run with the `onlyStrict` flag because relying on the test
runner to enable strict mode makes the semantics of the source code
irrelevant. Update these tests to use the `noStrict` flag.

Other tests concern language semantics that are only valid in strict
mode, but the mechanism for enabling strictness is inconseqential.
Update these tests to use the `onlyStrict` flag and remove any redundant
`use strict` directive prologues contained within.

Still other tests are valid both within and outside of strict mode.
In keeping with the majority of other tests, do not specify any
restrictions on the environments in which these tests may be run.
2015-06-18 17:38:34 -04:00
Mike Pennisi 3211e33199 Add tests for test harness 2015-04-22 18:38:40 -04:00
Brian Terlson 1f2f7d062f Move assert helper as well 2014-12-09 13:46:53 -08:00
Brian Terlson 2a74f0ec1b Reorganize ./test 2014-12-07 15:33:09 -08:00
Domenic Denicola fa4c337570 Add assert.throws
Closes #57.
2014-12-05 14:41:04 -05:00
Domenic Denicola 4bb8c027e4 Add initial assert helpers
Closes #110
2014-12-01 15:44:33 -05:00
Sam Mikes 4debe08707 browser runner: check negative regex
1. use negative regex (instead of ".") to check iframeError
2. make Test262Error.prototype.toString() always include
   the string Test262Error (no spaces) so it matches /Test262Error/
3. modify check for supportsWindowOnerror - require that
   first argument (message) to onerror() contains the error name
   by checking for /Error:/.

Change (3) above forces IE11 onto the !supportsWindowOnerror path.
Test262 tests are run inside an eval() on IE11, and errors are
caught and explicitly have toString() called.  Without this,
IE11 passes only the `message` property to onerror(), and regexes
that expect to match error name fail.

sth: revert to simple `onerror` checking

gs: refactor function `$DONE`

refactor logic tree
add support for async test failures

ed.js: crude support for error typing

S8.7.1_A2: cache result of delete

`delete` has a side-effect and its
return value depends on this; cache result of
delete so when reporting result, we are always
reporting the result that made us fail, not the
result of a new delete
[pedantic]

ed: explicitly pass cooked error to $DONE

gs: only let $DONE be called once
2014-08-13 12:24:12 +01:00
Sam Mikes 4205a1da64 harness: remove unused code
sta.js:
slight change to Test262Error() semantics; message property now always set (default "")
make $ERROR a var
set $ERROR to function $ERROR so it can be overridden if needed
remove 2009 copyright in favor of 2012 copyright
REVERTED: remove never-used fn testFailed
testFailed actually used by $FAIL
remove obsolete fn $INCLUDE

ed.js:
remove commented-out obsolete code

test262.py:
remove always-included harness file that provides no functions used by any extant test
add comment line to nonstrict

cth.js: define `print` for node, cscript

use cth (console test harness) to define functions
for console runner.  V8, Spidermonkey (js) and JavaScriptCore (jsc)
provide a function `print`.  Provide a default `print` for node
and cscript

set print_handle to 'print' by default (can still override)
for cscript: wrap tests in try/catch so we get syntax errors
2014-08-03 00:33:08 +01:00
Sam Mikes c33bf0e043 tools, harness: support new YAML frontmatter
parseTestRecord: add support for YAML frontmatter
parseTestRecord: initial unit test for test record parser
parseTestRecord: refactor for testing

factor old parsing; add YAML parsing

runner: support "includes" from YAML frontmatter

support frontmatter "includes" in python runner
use test.includes if present instead of scanning test code with regex

harness: factor individual functions out into files

tools: handle YAML errors

tolerate missing keys in dictionary (flags, includes)
report filename when empty frontmatter block
new option --list-includes to test262.py

harness: factor helper functions into separate files

sth: remove extra close-paren (syntax error)

test_common: TDD; failing parse of YAML

common: use parseTestRecord (YAML-aware)
2014-07-30 15:39:04 -07:00
smikes a8c49d8b47 sth: correct syntax error in new fn isAsyncTest 2014-07-22 10:41:32 -06:00
Sam Mikes d4a3479a1e test262.py: only include helper scripts when needed
test262.py: only supply async helper scripts when test is async
sth.js: factor out function isAsyncTest()
timer.js: improve workaround for async tests when Promise is defined but setTimeout is noot

timer.js emulates setTimeout using Promise by doing a busy loop that checks
if `timeout` milliseconds have elapsed.  Modified check to (timeLeft > 0) instead
of (!timeLeft) to prevent infinite loop when check does not happen to run
at precise millisecond timeout expires.

Because test262.py did not support the $INCLUDE directive, some helper
scripts were added to every test -- notably testIntl, timer, and donePrintHandle
Now that $INCLUDE is supported, these can be dropped, speeding overall test run time
2014-07-21 15:15:04 +01:00
Sam Mikes 7e07cc138d async,promises: initial tests of Promises
doneprintHandle.js: make $DONE accept any falsy argument as meaning 'pass'
PromiseHelper.js: checkSequence: new helper fn for async tests
.gitignore: port .hgignore to .gitignore syntax
test262.py: support $INCLUDE directive in python test runner

S25.4.4.1*: tests to cover Section 25.4.4.1, Promise.all( iterable )
A1.1: Promise.all is callable
A1.2: Promise.all expects 1 argument
A2.1: Promise.all([]) is a Promise
A2.2: Promise.all([]) is resolved immediately
A2.3: Promise.all([]) is resolved with a new empty array
A3.1: Promise.all expects an iterable argument
2014-07-18 05:37:08 +01:00
NikSurya 9aa6b917fa Adding Support for Async Tests 2014-07-15 13:47:59 -07:00
Brent Baker 91bb82fb7e Bug 1548: Update results handling for Annex B section (r+bterlson) 2013-06-07 07:05:37 -04:00
Norbert Lindenberg 96321f30c9 New tests and test fixes for ECMAScript Internationalization API.
Updated copyright notice for 2013.
2013-03-24 23:48:59 -07:00
Bill Ticehurst 9d19c87e3e Bug 610: Handle supplementary characters. 2012-08-09 15:02:49 -07:00
Norbert Lindenberg 75fbd71ee0 Updated tests for ECMAScript Internationalization API spec changes; made small enhancements.
- Updated DateTimeFormat tests for new handling of hour12 options property.
- Added a few invalid language tags to test of IsStructurallyValidLanguageTag.
- Added user-defined language tag to test of CanonicalizeLanguageTag.
- Added test for the Intl property of the global object.
2012-09-10 11:53:56 -07:00
Norbert Lindenberg d71ffa59d5 Added new tests for chapters 10 to 13 of the ECMAScript Internationalization API Specification. 2012-08-26 20:50:24 -07:00