4500 Commits

Author SHA1 Message Date
Leonardo Balter
35dce20ec4 Update tests for %TypedArray%.from and of 2016-02-12 16:02:36 -08:00
Gorkem Yakin
02cbd01bfb Merge pull request #486 from bocoup/object-setprototypeof
Add tests for [[SetPrototypeOf]] on immutable prototype exotic objects
2016-02-12 14:59:25 -08:00
Gorkem Yakin
ac7711e95f Merge pull request #485 from bocoup/typedarray-constructor
Add tests for _TypedArray_ constructors
2016-02-12 14:47:48 -08:00
Mike Pennisi
071b5f03c6 Remove unused harness file
The harness file `Test262Error.js` has not contained executable code since it
was introduced in this project [1]. The definition of the `Test262Error`
function has consistently been located in the `sta.js` harness file which test
runners are expected to inject into the test environment.

Remove the file and all references to it.

[1] See commit c33bf0e0439e6f6bf084c1524d7df8d2b41c515d
2016-02-12 13:44:18 -05:00
Mike Pennisi
23d566209a Make asynchronous test configuration explicit
For asynchronous tests, the contract between test file and test runner
is implicit: runners are expected to inspect the source code for
references to a global `$DONE` identifier.

Promote a more explicit contract between test file and test runner by
introducing a new frontmatter "tag", `async`. This brings asynchronous
test configuration in-line with other configuration mechanisms and also
provides a more natural means of test filtering.

The modifications to test files was made programatically using the
`grep` and `sed` utilities:

    $ grep "\$DONE" test/ -r --files-with-match --null | \
        xargs -0 sed -i 's/^\(flags:\s*\)\[/\1[async, /g'
    $ grep "\$DONE" test/ -rl --null | \
        xargs -0 grep -E '^flags:' --files-without-match --null | \
        xargs -0 sed -i 's/^---\*\//flags: [async]\n---*\//'
2016-02-12 13:03:19 -05:00
Leonardo Balter
df2d760d60 Add tests for Object.prototype extensibility and its immutable prototype
Object.prototype is extensible and an immutable prototype exotic object,
it's [[Prototype]] value is null

Ref tc39/ecma262#308
2016-02-12 13:10:46 -02:00
Mike Pennisi
e3fae6eeb4 Promise: Add test for constructor access count
Assert that the `constructor` property of the "this" value of
`Promise.prototype.then` is accessed exactly once. This guards against
implementations where repeated access is used instead of reference
passing (possibly motivated by convenience).

Repeated access of this kind was demonstrated by V8's implementation of
the specification:

https://bugs.chromium.org/p/v8/issues/detail?id=4539
2016-02-10 13:56:55 -05:00
Mike Pennisi
219bdc6f73 Promise: Add tests to disallow faulty optimization
Add tests that assert behavior when a Promise is resolved with another
Promise whose `then` method has been overridden. Because all objects
with a `then` method are treated equivalently, the presence of a
[[PromiseState]] internal slot should have no effect on program
behavior.

These tests guard against a faulty optimization originally implemented
in V8:

https://bugs.chromium.org/p/v8/issues/detail?id=3641
2016-02-10 13:38:03 -05:00
Mike Pennisi
fbce4ea11c Reorganize tests for Annex B extensions
The "mainline" tests in Test262 are converging on a more formal
structure. Files are organized as tests for either either "language"
(e.g. syntax-driven) or "built-in" (e.g. API-driven). "Language" test
locations are themselves structured according to whether the syntactic
form under test is an Expression or a Statement.

To limit ambiguity when locating/adding tests, re-organize the tests for
Annex B extensions to match this structure.
2016-02-10 10:15:35 -05:00
Gorkem Yakin
26aeed1428 Merge pull request #494 from bocoup/indexof-zero
Add tests for zero conversion on Array#indexOf and Array#lastIndexOf
2016-02-05 15:38:45 -08:00
Leonardo Balter
26785d40ca Add tests for zero conversion on Array#indexOf and Array#lastIndexOf
Fixes #435
2016-02-05 19:17:26 -02:00
Gorkem Yakin
7cd2112bf1 Merge pull request #490 from bocoup/reorg-obj
Move tests for object literals
2016-02-05 09:04:40 -08:00
Leonardo Balter
75952beee2 Move test file from TypedArray to TypedArrays folder 2016-02-05 11:58:55 -02:00
Leonardo Balter
0a30413b49 fixup! rename test files + review fixes 2016-02-05 11:53:33 -02:00
Leonardo Balter
d033b160cb fixup! Add tests for TypedArrays constructors 2016-02-05 11:53:32 -02:00
Leonardo Balter
7a8120fb63 fixup! Add tests for TypedArrays constructors 2016-02-05 11:53:32 -02:00
Leonardo Balter
f8a4229bfd Add tests for TypedArrays constructors 2016-02-05 11:53:32 -02:00
Leonardo Balter
4bdd808d04 Update %TypedArray% function length 2016-02-05 11:53:32 -02:00
Leonardo Balter
7d715a4ef1 Revalidate basic call tests for ES2016 %TypedArray% constructor 2016-02-05 11:53:31 -02:00
Mike Pennisi
700f1469e1 Move tests for object literals
Test262 defines tests for expression-producing syntactic forms within
the `language/expressions/` directory. Most tests for object literals
conform to this structure, but 12 such tests were added to the
`language/object-literal/` directory. Move these tests to the canonical
location for object literals.
2016-02-04 09:58:31 -05:00
Jordan Harband
cf83ad5e73 s/esid/id/g 2016-02-01 23:44:48 -08:00
Jordan Harband
940d8698d1 Add test with duplicate keys.
Per https://github.com/tc39/test262/pull/484#issuecomment-178145781
2016-02-01 16:57:31 -08:00
Jordan Harband
0a5e8372aa Review feedback. 2016-02-01 10:44:25 -08:00
Mike Pennisi
4dc81d3788 Add tests for tail-call optimization
ECMAScript 2015 introduced tail call optimization for function calls
occuring in a number of positions in the grammar. Assert expected
behavior by triggering a large (but configurable) number of recursive
function calls in these positions. Compliant runtimes will execute such
programs without error; non-compliant runtimes are expected to fail
these tests by throwing an error or crashing when system resources are
exhausted.
2016-02-01 13:20:17 -05:00
Jordan Harband
cf578d5190 Add Object.getOwnPropertyDescriptors tests. 2016-02-01 01:45:23 -08:00
Gorkem Yakin
07aafd0c63 Merge pull request #505 from anba/intl_name
Add coverage for 'name' property of Intl built-in functions
2016-02-19 11:04:38 -08:00
Leonardo Balter
efced6eb32 Add test to assert Reflect.enumerate is now undefined
Ref #495
2016-02-18 16:40:00 -05:00
Leonardo Balter
65241f1e93 Add test to assert Proxy enumerate trap is not triggered anymore
Ref #495
2016-02-18 16:39:41 -05:00
Leonardo Balter
63c1f1ca88 Remove tests for Reflect.enumerate
Ref #495
2016-02-18 15:57:14 -05:00
Leonardo Balter
e223738369 Remove tests for Proxy enumerate
Ref #495
2016-02-18 15:57:14 -05:00
Leonardo Balter
a61fca93fa Fix test for TypedArrays.from on callable function
TypedArrays constructors are still callable even if they trigger a
TypeError Exception when a new target is not defined
2016-02-18 13:39:49 -05:00
André Bargull
31a9036e9b Add coverage for 'name' property of Intl built-in functions 2016-02-12 18:58:57 +01:00
Leonardo Balter
e3c5f66a40 Fix case sentitive error on test/built-ins/Object folder
Fixes gh-482
2016-01-29 10:02:25 -05:00
Gorkem Yakin
052bf2379b Merge pull request #475 from bocoup/completion-reform
Tests for ES2015/2016 Completion Reform
2016-01-26 12:38:27 -08:00
Tom Schuster
97c61513d8 Stop test262 from hanging Spidermonkey with an unimportant error message 2016-01-23 17:41:59 +01:00
Mike Pennisi
e62d43c815 Update tests according to ES2016 draft semantics
The ES2016 draft further refines the completion values for `if` and
`with` statements. Two tests must be removed outright because the
completion value in those cases is no longer accessible from the
runtime.
2016-01-22 15:00:54 -05:00
Mike Pennisi
407b8964ce Add tests for ES2015 completion reform
In order to facilitate proper tail calls, ES2015 modified the completion
value of a number of statements.

These tests use `eval` to verify the new values.
2016-01-22 15:00:03 -05:00
Leonardo Balter
1a64295a0b Replace TypedArray constructor invalid length test for ES2016 specs
Replace a ES2015 test where calling the TypedArray constructor with
a floating number triggered a RangeError. Within the ES2016 specs,
the same call will trigger a TypeError, as the result for
`SameValue(NewTarget, here)` will be checked before.
2016-01-21 10:41:16 -05:00
Mike Pennisi
8f8b663ce7 Add tests for TypedArray intrinsic 2016-01-21 10:41:16 -05:00
Gorkem Yakin
e56687f5e9 Merge pull request #473 from bocoup/for-inof-exprs
Add tests for iterator expression in ForIn/Of head
2016-01-19 18:42:11 -08:00
Gorkem Yakin
738a24b109 Merge pull request from jugglinmike/improve-promise-coverage-resolve (closes #463) 2016-01-19 16:33:23 -08:00
Mike Pennisi
b1b4f04494 Add tests for Promise Resolve Functions
Remove files that tested both PerformPromiseThen and
PromiseResolveFunction in favor of new tests that test
PromiseResolveFunction more directly and completely.
2016-01-19 16:32:36 -08:00
Mike Pennisi
19762b927a Add tests for iterator expression in ForIn/Of head
Although the `for..in` statement allows Expressions to define the
iterator, only an AssignmentExpression may occupy this position in the
`for..of` statement.
2016-01-19 12:27:33 -05:00
Gorkem Yakin
4a862fba95 Merge pull request #465 from jugglinmike/improve-promise-coverage-all-race
Improve Promise coverage: PerformPromiseAll & PeformPromiseRace
2016-01-15 16:19:18 -08:00
André Bargull
33395b52f5 Add basic surface tests for NativeErrors 2016-01-15 18:13:36 +01:00
André Bargull
1bac79fbf3 Add basic surface tests for TypedArrays 2016-01-15 18:13:08 +01:00
André Bargull
42edfd6e89 Add missing tests for "length" and "name" properties of %TypedArray% built-in functions 2016-01-15 18:12:42 +01:00
André Bargull
ca61d9b876 Add missing tests for "length" and "name" properties of built-in functions
Note: Already uses the updated DataView function lengths from tc39/ecma262#266 (ES2016 Draft 2015-12-20)
2016-01-15 18:12:05 +01:00
André Bargull
bb1bda6dfd Add missing tests for "length" and "name" properties of AnnexB built-in functions 2016-01-15 18:11:38 +01:00
André Bargull
5e3eed63b9 Move Symbol.species and AnnexB tests to new subfolders 2016-01-15 18:11:03 +01:00