Commit Graph

962 Commits

Author SHA1 Message Date
Leonardo Balter a1de508783 Add test for built-in accessor properties names
Including:

- 21.2.4.2 get RegExp [ @@species ]
- 21.2.5.3 get RegExp.prototype.flags
- 21.2.5.4 get RegExp.prototype.global
- 21.2.5.5 get RegExp.prototype.ignoreCase
- 21.2.5.7 get RegExp.prototype.multiline
- 21.2.5.10 get RegExp.prototype.source
- 21.2.5.12 get RegExp.prototype.sticky
- 21.2.5.15 get RegExp.prototype.unicode
- 22.1.2.5 get Array [ @@species ]
- 23.1.2.2 get Map [ @@species ]
- 23.2.2.2 get Set [ @@species ]
- 24.1.3.3 get ArrayBuffer [ @@species ]
- 24.1.4.1 get ArrayBuffer.prototype.byteLength
- 24.2.4.1 get DataView.prototype.buffer
- 24.2.4.2 get DataView.prototype.byteLength
- 24.2.4.3 get DataView.prototype.byteOffset
- 25.4.4.6 get Promise [ @@species ]
- B.2.2.1.1 get Object.prototype.__proto__
- B.2.2.1.2 set Object.prototype.__proto__

Skipped TypedArray tests in order to avoid an early test strategy definition for them.
2015-07-06 17:31:23 -04:00
Pieter van Ginkel ad1f14c247 ES6 specific functions should declare a feature.
The String.endsWith and String.includes tests didn't specify either an es6id or a features. Added a features attribute for these tests.
2015-07-05 15:54:28 +02:00
Leonardo Balter 7cbf7654e5 Improve coverage of MapIteratorPrototype 2015-07-02 10:42:41 -04:00
Brian Terlson 1e80bf22f6 Merge pull request #341 from pvginkel/invalid-config-block-delimiters
Fixed invalid configuration block delimiters.
2015-06-29 11:58:17 -07:00
Mike Pennisi 64826c2ad3 Make tests more strict
In ECMAScript 5, assignment to a non-reference value throws a runtime
ReferenceError. ECMAscript 6 specifies an early ReferenceError in these
cases. Tests for this behavior have been authored to pass in both cases.
Simplify these tests to describe and assert the early error.
2015-06-29 12:25:01 -04:00
Pieter van Ginkel a5e4c2ade5 Fixed invalid configuration block delimiters.
Two tests started the configuration block with a /*-- instead of a /*---.
2015-06-28 07:35:54 +02:00
Brian Terlson 20d39432b9 Merge pull request #337 from bocoup/remove-fn-exists
Remove unnecessary "include" file
2015-06-26 11:02:45 -07:00
Brian Terlson 9dc49b72cc Merge pull request #336 from bocoup/remove-env
Remove empty "include" file
2015-06-26 10:57:59 -07:00
Mike Pennisi f8e18ccd76 Remove unnecessary "include" file
The `fnExists` function defines a generic way to determine if any number
of values are function instances. Because it is only used by a single
test, the additional complexity required by the generalized code (and
the organizational drawbacks to maintaining another "include" file) are
not justified. Remove the file and update the test to assert the
function's existence directly.
2015-06-26 12:34:04 -04:00
Mike Pennisi e57da7a8f1 Remove empty "include" file
The `environment.js` file has been empty since its initial introduction
to this project [1]. It has no effect on any of the contexts in which it
is currently referenced, so it may be safely removed.

[1] be82787a00
2015-06-26 12:19:51 -04:00
Brian Terlson f06791ea4b Merge pull request #328 from bocoup/object-set-prototype-of
Add tests for Object.setPrototypeOf
2015-06-25 14:46:43 -07:00
Brian Terlson e4a25da86a Merge pull request #305 from jugglinmike/browser-only-strict
Update browser runner to honor `onlyStrict` flag
2015-06-25 14:44:34 -07:00
Brian Terlson da3747003f Merge pull request #308 from bocoup/for-of-built-ins
Add tests for `for..of` iteration over built-ins
2015-06-25 14:43:53 -07:00
Brian Terlson afd6450bd2 Merge pull request #327 from bocoup/object-assign-extensions
Extend coverage for Object.assign
2015-06-23 17:48:49 -07:00
Brian Terlson ddc687d0cb Merge pull request #320 from bocoup/WeakSet
Add tests for WeakSet
2015-06-23 17:41:19 -07:00
Mike Pennisi ad064a631c fixup! Fix bug in test 2015-06-23 13:42:19 -04:00
Mike Pennisi 5e8b276bf5 fixup! Fix bug in test 2015-06-23 12:03:09 -04:00
Mike Pennisi 6f2feb0157 Fix bug in test
This test's description concerns the behavior of `Promise.all` when the
IteratorStep abstract operation fails due to an abrupt completion
returned by the iterator's `next` method. The test body did not actually
assert that functionality.

Update the test body to correctly define the requisite iterator and
assert that the specific error created is the one thrown from the
invocation of `Promise.all`
2015-06-23 10:30:01 -04:00
Mike Pennisi 3fb882acd0 Add tests for Object.setPrototypeOf 2015-06-19 12:13:28 -04:00
Mike Pennisi 39cd09f7a8 Extend coverage for Object.assign 2015-06-19 10:38:22 -04: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 6231fe20a4 Re-write test body to match test description 2015-06-18 17:38:33 -04:00
Mike Pennisi fabf5f3320 Correct typo in test descriptions 2015-06-18 17:38:33 -04:00
Mike Pennisi 41c8717b3e Correct test description 2015-06-18 17:38:33 -04:00
Mike Pennisi 21d1fc5309 Remove invalid test 2015-06-18 17:38:33 -04:00
Mike Pennisi ef1fddd533 Fix invalid tests 2015-06-18 17:38:33 -04:00
Mike Pennisi 92a735dad7 Create distinct tests for arguments object types 2015-06-18 16:01:49 -04:00
Mike Pennisi 03f8ca8336 Move `for-of` tests to appropriate directory 2015-06-18 15:53:24 -04:00
Mike Pennisi a321e87a2d Add tests for `for..of` iteration over built-ins 2015-06-18 15:53:19 -04:00
Yanli Xu 07b21a5e44 add tests for Object.assign 2015-06-18 15:23:15 +08:00
Brian Terlson 42d16da901 Merge pull request #286 from bocoup/obj-method-def
Add tests for MethodDefinition forms new to ES6
2015-06-17 19:56:29 -04:00
Brian Terlson e1500bff66 Merge pull request #322 from bocoup/remove-print
Remove $PRINT helper function
2015-06-17 19:54:58 -04:00
Mike Pennisi 48dbddebdb Fix typo in test meta-data
The `Negative` tag accepts a string value (not a list)
2015-06-17 15:44:54 -04:00
Mike Pennisi 6863328f88 fixup! Introduce additional tests for ES6 templates
Include tests using arrow functions
2015-06-16 16:08:03 -04:00
Mike Pennisi e42f977122 fixup! Introduce additional tests for ES6 templates
Ensure test files assert the described behavior. Extend coverage to
strict and non-strict mode explicitly.
2015-06-16 15:10:09 -04:00
Mike Pennisi fe11a1ea1a Remove $PRINT helper function
The `$PRINT` helper function has no effect on test behavior. The
following tests use it to report assertion outcomes (and as a result
will fail silently):

- test/language/function-code/S10.2.1_A4_T2.js
- test/language/function-code/S10.2.1_A5.1_T1.js
- test/language/function-code/S10.2.1_A5.1_T2.js
- test/language/function-code/S10.2.1_A5.2_T1.js

Remove the function definition and all references within tests. Update
tests that use it as an error reporting mechanism to instead use an
appropriate `assert` helper function.
2015-06-16 13:43:23 -04:00
Brian Terlson f668e94b6f Merge pull request #318 from pvginkel/fill-is-es6
The Array.prototype.fill function is an ES6 function.
2015-06-16 13:31:23 -04:00
Brian Terlson 54de5fb509 Merge pull request #319 from pvginkel/missing-features
The Array.prototype.find function is an ES6 function.
2015-06-16 13:30:12 -04:00
Brian Terlson cd35655beb Merge pull request #317 from bocoup/es6-numeric-literals
ES6 numeric literals
2015-06-16 13:28:35 -04:00
Mike Pennisi 57f3466cf7 Fix tautological pattern in tests
In neglecting to assert the type of error thrown (or that any error was
thrown at all), these tests cannot fail. Refactor the tests to use the
`assert.throws` helper method, which takes these details into
consideration.
2015-06-16 12:55:56 -04:00
Leonardo Balter 2c4077c17a Proxy: construct 2015-06-15 22:37:59 -04:00
Leonardo Balter 450b830026 Proxy: apply 2015-06-15 22:37:59 -04:00
Leonardo Balter 3f214e715f Proxy: ownKeys 2015-06-15 22:37:58 -04:00
Leonardo Balter 28f9d8dbd2 Proxy: enumerate 2015-06-15 22:37:58 -04:00
Leonardo Balter d9edb3593a Proxy: deleteProperty 2015-06-15 22:37:58 -04:00
Leonardo Balter 99ca320b01 Proxy: set 2015-06-15 22:37:57 -04:00
Leonardo Balter 21a1fbe68e Proxy: get 2015-06-15 22:37:57 -04:00
Leonardo Balter 54e82687d7 Proxy: has 2015-06-15 22:37:57 -04:00
Leonardo Balter b2d4bcfd0e Proxy: defineProperty 2015-06-15 22:37:57 -04:00
Leonardo Balter a2f0f2888d Proxy: getOwnPropertyDescriptor 2015-06-15 22:37:57 -04:00
Leonardo Balter 79a256cd5a Proxy: preventExtensions 2015-06-15 22:37:56 -04:00
Leonardo Balter 15a9a15815 Proxy: isExtensible 2015-06-15 22:37:56 -04:00
Leonardo Balter 54f3f23f72 Proxy: setPrototypeOf 2015-06-15 22:37:56 -04:00
Leonardo Balter d012f5c680 Proxy: getPrototypeOf 2015-06-15 22:37:56 -04:00
Leonardo Balter c3e71dcb0b Proxy.revocable 2015-06-15 22:37:56 -04:00
Leonardo Balter 9bbe7c6272 Proxy: Core 2015-06-15 22:37:55 -04:00
Leonardo Balter b898493f53 WeakSet 2015-06-15 22:37:24 -04:00
Pieter van Ginkel e108edfd92 The Array.prototype.find function is an ES6 function.
A number of Array.prototype.find tests were missing a feature specification.
2015-06-14 06:22:33 +02:00
Pieter van Ginkel 1428368f81 The Array.prototype.fill function is an ES6 function.
One of the Array.prototype.fill tests specifies an es5id. Changed to an es6id.
2015-06-13 17:52:12 +02:00
Mike Pennisi 3fb19f53dc Add tests for OctalIntegerLiterals 2015-06-12 16:06:52 -04:00
Mike Pennisi c273e30235 Add tests for BinaryIntegerLiterals 2015-06-12 16:06:52 -04:00
Mike Pennisi ef7ddf9f7e Improve frontmatter usage
Define explanatory text using the `info` tag and include single-line
descriptions.
2015-06-12 15:36:20 -04:00
Mike Pennisi 80c67e56c1 Remove duplicative test
The assertions of this file are also made in another more complete test:
`tv-line-terminator-sequence.js`. Remove this file in favor of that one.
2015-06-12 12:02:33 -04:00
Mike Pennisi 5ca7a58e75 Introduce additional tests for ES6 templates 2015-06-12 12:02:01 -04:00
Mike Pennisi bd3d160ba1 Reorganize existing tests 2015-06-12 11:30:44 -04:00
Brian Terlson a1437652ab Merge pull request #313 from evilpie/includes
Use the more common array syntax for includes
2015-06-11 12:07:48 -04:00
Tom Schuster 64fd1026dd Use the more common array syntax for includes 2015-06-10 14:56:16 +02:00
Brian Terlson 36cbdcf8ec Merge pull request #312 from bocoup/add-omitted-negative
Insert omitted `negative` tag
2015-06-09 17:01:59 -07:00
Brian Terlson 7eb27329b3 Merge pull request #307 from bocoup/remove-fail
Remove `$FAIL` function
2015-06-09 16:59:13 -07:00
Mike Pennisi c7fb97765e Insert omitted `negative` tag
This test exercises an early error, so it should be declared with the
`negative` tag.
2015-06-09 19:48:29 -04:00
Mike Pennisi 92890e6723 Remove `$FAIL` function
This function is equivalent to `$ERROR` (which is automatically included
in test environments). Remove the harness file that defines the
function, remove references to the file from test `includes` lists, and
update scripts to instead invoke the `$ERROR` function.
2015-06-09 19:44:25 -04:00
Brian Terlson 6462958efc Merge pull request #303 from pvginkel/environment-object-deletion
Fixed testing deletion of an environment object.
2015-06-09 15:00:49 -07:00
Mike Pennisi f2cc736d94 Remove remaining includes for `assert.js` helper 2015-06-09 15:00:00 -04:00
Erik Arvidsson d28af4b101 No need to include asserts.js 2015-06-09 14:49:04 -04:00
Pieter van Ginkel 632beef930 Improved description of 11.4.1-4.a-5.
The previous description of the 11.4.1-4.a-5 test case implied that an environment object could not be deleted while inside a with. However, the actual test was to test whether the variable declaration could be deleted. The description has been updated to better reflect this.
2015-06-09 11:29:54 +02:00
Brian Terlson 32edc4873e Merge pull request #300 from bocoup/modules-early-errors
Add tests for early errors in module syntax
2015-06-08 12:20:20 -07:00
Brian Terlson a47916e6ec Merge pull request #288 from bocoup/for-of-additions
for..of additions
2015-06-08 12:18:34 -07:00
Pieter van Ginkel 44ee5c85ea Generator test should specify generators feature. 2015-06-05 12:34:39 +02:00
Pieter van Ginkel 943face280 Fixed testing deletion of an environment object.
Test 11.4.1-4.a-5 states that it verifies that an environment object cannot be deleted. However, this was giving a false positive. It was actually testing where a "var" declaration on an environment object cannot be deleted (there are other tests for this). This test case fails on Chrome 43, Firefox 38 and Internet Explorer 11.
2015-06-03 19:31:52 +02:00
Mike Pennisi b8b462316b Add tests for early errors in module syntax
Introduce the `module` flag to unambiguously identify tests that are
intended to be interpreted as module code.
2015-06-03 13:15:15 -04:00
Brian Terlson 991817bb48 Merge pull request #267 from bocoup/destructuring-assignment
Add tests for destructuring assignment
2015-06-03 10:13:16 -05:00
Brian Terlson 918cf1bb1c Merge pull request #292 from pvginkel/master
Add tests for variable instantiation for eval in strict mode
2015-06-03 10:10:05 -05:00
Mike Pennisi 69b89d85b3 Add tests for destructuring assignment 2015-06-03 10:46:51 -04:00
Brian Terlson 23b997dce0 Merge pull request #287 from bocoup/generator-prototype
Extend coverage for GeneratorPrototype methods
2015-06-02 20:20:54 -05:00
Brian Terlson 3b6953a3b4 Merge pull request #285 from anba/for-in-undefined
Additional tests with incorrect for-in context
2015-06-02 20:19:19 -05:00
Brian Terlson 546e594867 Merge pull request #284 from bocoup/iteration-restructuring
Iteration restructuring
2015-06-02 20:18:25 -05:00
Brian Terlson afb994a4cb Merge pull request #274 from anba/arguments-nonconfigurable
MOP operations on non-configurable arguments-object property
2015-06-02 19:10:11 -05:00
Brian Terlson f41d108840 Merge pull request #275 from anba/increment-reference
Increment/Decrement with property accessor expression
2015-06-02 19:09:33 -05:00
Brian Terlson b3e9752b30 Merge pull request #273 from anba/assignment-reference
Assignment with left-hand side property accessor
2015-06-02 19:09:28 -05:00
Jordan Harband 00fb43009a Promise methods should not be enumerable, per https://people.mozilla.org/~jorendorff/es6-draft.html#table-4 2015-06-01 17:26:59 -07:00
Pieter van Ginkel 6883892d32 Add tests for variable instantiation for eval in strict mode
Test case 10.4.2-3-c-2-s verifies that eval can't instantiate variables in the calling context. However, it does not verify that the variable isn't matched to the global context either. Added test case 10.4.2-3-c-3-s to check for this.
2015-05-30 09:24:33 +02:00
Mike Pennisi c541cc4336 Increase coverage for for..of iteration 2015-05-27 15:14:51 -04:00
Mike Pennisi 0900ac0ae8 Annotate tests with required features 2015-05-27 11:36:10 -04:00
Mike Pennisi 19e6755f61 Correct test frontmatter 2015-05-26 17:31:34 -04:00
Mike Pennisi b2a62444fc fixup! Add tests for MethodDefinition forms new to ES6
Update test according to latest change to ES6 spec:
https://twitter.com/awbjs/status/603251578070552576
2015-05-26 14:52:21 -04:00
Mike Pennisi 1b03d842ac Add tests for GeneratorPrototype#return
Implement tests according to the pattern defined by the existing tests
for `GeneratorPrototype#throw`.
2015-05-26 13:47:58 -04:00
Mike Pennisi 30a4a5da7d fixup! Add tests for MethodDefinition forms new to ES6
Avoid extending builtin prototype and consistently define a shadowing
property on the object instance to help recognize a possible
implementation bug.
2015-05-26 12:33:51 -04:00
André Bargull 3987990563 Additional tests with incorrect for-in context
- Add missing ".prototype" lookup in Array.prototype tests (Follow-up of #280)
- Add noStrict flag in global/S10.2.3_A2.2_*.js (implicit this-binding is part of the test)
- Provide correct this-binding in function/13.2-*.js
- Add missing assert.throws in "set-iterator-close-after-add-failure.js"
2015-05-26 17:52:52 +02:00
Mike Pennisi e0387bcee8 Refactor tests for built-in @@iterator methods
Assert the value of the properties and update the test frontmatter to
include the `Symbol.iterator` feature.
2015-05-26 11:39:20 -04:00
Mike Pennisi eefc23df50 Move tests for iterator prototype methods
Define tests for intrinsic Iterators under the appropriate subdirectory
of `built-ins`.
2015-05-26 11:39:19 -04:00
Mike Pennisi 099d10cb34 Remove extraneous invocation 2015-05-25 16:51:36 -04:00
Mike Pennisi a2e1fc713e Correct test
As written, the test behavior and description do not match--the
`throw` invocation takes place while generator execution is paused
*within* the `finally` block (not following it).

Ensure that the test exercises the described behavior (and remove
extraneous invocation of method under test).
2015-05-25 16:51:35 -04:00
Mike Pennisi ef5594b675 Correct test
As written, the test behavior and description do not match--the `throw`
invocation takes place while generator execution is paused *within* the
`try..catch` statement (not following it).

Ensure that the test exercises the described behavior (and remove
extraneous invocation of method under test).
2015-05-25 16:51:35 -04:00
Mike Pennisi 332c4dab05 Correct typos in test description 2015-05-25 16:51:35 -04:00
Mike Pennisi a62932fc42 Move test file to more appropriate directory 2015-05-25 16:51:35 -04:00
Mike Pennisi 31bdf48bec Add tests for MethodDefinition forms new to ES6 2015-05-25 11:23:47 -04:00
Mike Pennisi cde990b79c Rename tests 2015-05-25 11:23:46 -04:00
Brian Terlson 5341ad5985 Merge pull request #279 from bocoup/case-sensitive
fix case sensitive filenames
2015-05-24 14:38:13 -07:00
Pieter van Ginkel 3663302c21 S15.4.4.4_A4.1 length enumerable should be checked on Array.prototype.concat
The test checks Array.concat which is undefined; instead it should check Array.prototype.concat.
2015-05-24 07:59:47 +02:00
Leonardo Balter 479ba6532d fix case sensitive filenames 2015-05-22 10:56:34 -04:00
André Bargull eace19ef91 Check for intended semantics 2015-05-20 22:13:17 +02:00
André Bargull ab6809cf47 Remove assert.js includes. 2015-05-20 22:12:31 +02:00
Mike Pennisi 202ed9ee1d Add tests for IdentifierReference as property
From the ES6 specification:

> ## PropertyDefinition : IdentifierReference
>
> 1. Let propName be StringValue of IdentifierReference.
> 2. Let exprValue be the result of evaluating IdentifierReference.
> 3. ReturnIfAbrupt(exprValue).
> 4. Let propValue be GetValue(exprValue).
> 5. ReturnIfAbrupt(propValue).
> 6. Assert: enumerable is true.
> 7. Return CreateDataPropertyOrThrow(object, propName, propValue).
2015-05-20 16:08:40 -04:00
Rick Waldron 6b3585451a 23.2 Set Objects
commit c56030aea7b3e43f46dbbc2b52859ca275cff226
Author: Rick Waldron <waldron.rick@gmail.com>
Date:   Thu Apr 30 15:17:44 2015 -0400

    Fix nits

commit 9b341022a9fd5a295ce85b630886dae10e10b653
Author: Rick Waldron <waldron.rick@gmail.com>
Date:   Tue Apr 28 13:52:04 2015 -0400

    Wrap expected construct failure in assert.throws

commit 9ef7e1c0499a99b15c64bb480dbfa41433cf9804
Author: Mike Pennisi <mike@mikepennisi.com>
Date:   Fri Apr 24 13:46:02 2015 -0400

    Introduce addition tests for the Set constructor

commit bd54cccf4a599c123fae5c97782f5562cd9da8a0
Author: Rick Waldron <waldron.rick@gmail.com>
Date:   Fri Apr 24 15:11:19 2015 -0400

    23.2 Set Objects, additions

commit 970e2ca95879161a8bb124ec712f7333fdea6798
Author: Rick Waldron <waldron.rick@gmail.com>
Date:   Tue Apr 21 12:44:41 2015 -0400

    23.2 Set Objects
2015-05-19 12:48:52 -04:00
André Bargull af1ef75ffc Split in multiple files 2015-05-19 17:50:41 +02:00
André Bargull c1e1c56dc0 Increment/Decrement with property accessor expression
The increment/decrement operator evaluates its operand expression once. When
the operand expression is a property accessor, RequireObjectCoercible
and ToPropertyKey are called on the property accessor in the correct order.
2015-05-19 17:46:34 +02:00
Brian Terlson cd53869494 Merge pull request #272 from anba/no-strict-tests
Enable strict mode for more built-in tests
2015-05-18 14:28:06 -07:00
Brian Terlson cc2278cbb1 Merge pull request #271 from bterlson/better-negative-length
Use a very negative number so ES5 implementations don't loop forever
2015-05-18 12:58:09 -07:00
André Bargull cd3829627d MOP operations on non-configurable arguments-object property
Mapped arguments property is changed to non-configurable. Check
arguments mapping works correctly when applying various MOP
methods.
2015-05-18 18:30:36 +02:00
André Bargull c5e18d561c Assignment with left-hand side property accessor
The assignment operator evaluates its operands from left to right. When
the left-hand side expression is a property accessor, RequireObjectCoercible
and ToPropertyKey are called on the property accessor before the right-hand
side expression is evaluated.
2015-05-18 18:12:25 +02:00
André Bargull 56036e4064 Enable strict mode for more built-in tests
- Remove no longer needed noStrict flags.
- Change tests to use propertyHelper.js for strict mode compatibility.
- Add tests for return value of `delete` operator, e.g. `delete Array.prototype === false`.
- Add non-writable tests for global NaN property.
- Split some tests to run in strict mode.
- Change tests with global `var length` declaration to use a different variable name for browser environments.
- Merge duplicated tests symbol-data-property-configurable-non-strict and symbol-data-property-configurable-strict.
- Merge duplicated tests symbol-data-property-writable-non-strict and symbol-data-property-writable-strict.
- (And a small change in propertyHelper to reduce code duplication in function call.)
2015-05-18 18:01:00 +02:00
Brian Terlson b56af07567 Merge pull request #269 from suwc/Math_builtins
Add new tests for Math built-ins
2015-05-16 11:26:19 -07:00
Brian Terlson 19481d3801 Use a very negative number so ES5 implementations don't loop forever 2015-05-15 15:30:39 -07:00
Thomas Wood af64d5e6de S15.4.4.5_A3.1_T1.js: Fix inconsistent error message
Test for x.join(NaN) reports an error using the content of x.join("NaN"). This is confusing.
2015-05-15 15:05:48 +01:00
Suwei Chen b6e870d236 Add new tests for Math built-ins 2015-05-14 15:04:00 -07:00
Brian Terlson ab44f59d1b Merge pull request #265 from anba/issue-35/language-eval
Fix strict mode errors in language/{identifiers, line-terminators, wh…
2015-05-13 14:43:30 -07:00
Brian Terlson c4b1e30a42 Merge pull request #266 from anba/issue-35/builtins-rest
Fix remaining strict mode errors in built-ins
2015-05-13 14:20:29 -07:00
Brian Terlson 106b935f17 Merge pull request #264 from anba/issue-35/language-non-eval
Fix strict mode errors in language
2015-05-13 14:19:32 -07:00
Andrew Au cbe3b6d8fb The comment is no longer accurate, updating it 2015-05-11 11:13:23 -07:00
André Bargull d99503e5ca Fix remaining strict mode errors in built-ins
Add missing noStrict flags and variable declarations.

Part of issue #35.
2015-05-08 17:40:57 +02:00
André Bargull 9a602905d7 Fix strict mode errors in language/{identifiers, line-terminators, white-space}
Make tests strict mode compatible by assigning result value to a separate variable.

Part of issue #35.
2015-05-08 17:33:33 +02:00
André Bargull 89a4bb5ae4 Fix strict mode errors in language
- Add missing "var" declarations and noStrict flags
- Add strict mode tests for:
 - arguments-object/10.6-6-3 -> arguments-object/10.6-6-3-s
 - arguments-object/10.6-6-4 -> arguments-object/10.6-6-4-s
- Remove try-finally clean-up code
- Add strict mode compatible tests for eval-code/S10.4.2_A1.1_T*
  - No strict mode compatible files added for eval-code/S10.4.2_A1.2_T*, because it doesn't really make sense in this context.
  - (S10.4.2_A1.1 and S10.4.2_A1.2 should probably be removed, because the tested behaviour is not required by the spec.)
- Split S8.5_A10, S8.5_A4 and S8.1_A3 into declaration (both modes) and assignment tests (non-strict only)

Part of issue #35.
2015-05-08 17:27:52 +02:00
Mike Pennisi 7b969ce65b Add analogous tests
Introduce additional tests to increase parity in coverage between
generator expressions and generator statements.
2015-05-07 19:11:47 -04:00
Mike Pennisi 779a59f30c Import tests from Google V8 (generators semantics)
These tests are derived from the following files within the Google V8
project:

    test/mjsunit/es6/generators-iteration.js
    test/mjsunit/es6/generators-objects.js
    test/mjsunit/es6/generators-runtime.js
    test/mjsunit/es6/generators-states.js
2015-05-07 19:11:47 -04:00
Brian Terlson 5188ab028a Merge pull request #261 from smikes/object-strict
strict mode: use new property helpers
2015-05-07 13:15:07 -07:00
Brian Terlson 3218458c25 Merge pull request #262 from smikes/object-strict-pr2
Candidate fix of empty catch{}
2015-05-07 13:00:47 -07:00
smikes 55c1ef113d add line note fixes from #255 2015-05-07 11:00:25 -06:00
smikes d869dc6ce3 candidate fix for line note on 259 2015-05-07 10:54:50 -06:00
smikes 71c1a9cb3a changes from line notes 2015-05-07 10:49:00 -06:00
smikes 6ccabc093b strict mode: use new property helpers
Object.freeze fixes
global object tests: noStrict
preventExtensions tests
Object.seal tests

one more freeze test
2015-05-06 19:03:25 -06:00
smikes 26ede592a8 fix tests in strict mode - Object/defineProperty 2015-05-06 13:57:54 -06:00
smikes d513714fda update, fix merge conflict 2015-05-02 20:20:47 -06:00
Rick Waldron 29e2990d9b 14.5 Class Definitions
- 14.5.1 Static Semantics: Early Errors
- 14.5.3 Static Semantics: ConstructorMethod
- 14.5.14 Runtime Semantics: ClassDefinitionEvaluation
2015-05-02 14:06:57 -04:00
Brian Terlson 3907f4d5b3 Merge pull request #250 from anba/issue-35/builtins-RegExp
Fix strict mode errors in built-ins/RegExp
2015-05-02 10:33:18 -07:00
smikes 9824be6825 rewrite tests to work in strict mode, use helpers 2015-05-02 05:12:53 -06:00
Brian Terlson fc10b8c607 Merge pull request #251 from anba/issue-35/builtins-String
Fix strict mode errors in built-ins/String
2015-04-30 09:57:37 -07:00
Brian Terlson 2d2d618b51 Merge pull request #253 from anba/issue-35/builtins-uri-functions
Fix strict mode errors in {decode, encode}URI[Component]
2015-04-30 09:52:14 -07:00
Brian Terlson 76958cd940 Merge pull request #252 from anba/issue-35/builtins-global-properties
Fix strict mode errors in built-ins/{isFinite, isNaN, parseFloat, parseI...
2015-04-30 09:47:44 -07:00
Brian Terlson 3aa368b07f Merge pull request #249 from anba/issue-35/builtins-Object
Fix some strict mode errors in built-ins/Object
2015-04-30 09:46:03 -07:00
Brian Terlson b8846db038 Merge pull request #248 from anba/issue-35/builtins-Number
Fix strict mode errors in built-ins/Number
2015-04-30 09:44:22 -07:00
Brian Terlson e5d84285c8 Merge pull request #247 from anba/issue-35/builtins-Math
Fix strict mode errors in built-ins/Math
2015-04-30 09:43:51 -07:00
Brian Terlson ca88087731 Merge pull request #246 from anba/issue-35/builtins-Function
Fix strict mode errors in built-ins/Function
2015-04-30 09:36:24 -07:00
Brian Terlson aed52de599 Merge pull request #245 from anba/issue-35/builtins-Error
Fix strict mode errors in built-ins/Error
2015-04-30 09:29:35 -07:00
Brian Terlson 65fcd8e679 Merge pull request #244 from anba/issue-35/builtins-Date
Fix strict mode errors in built-ins/Date
2015-04-30 09:24:39 -07:00
Brian Terlson 5d6f33d242 Merge pull request #243 from anba/issue-35/builtins-Boolean
Fix strict mode errors in built-ins/Boolean
2015-04-29 16:16:59 -07:00
André Bargull 9ece4f2de5 Fix strict mode errors in {decode, encode}URI[Component]
Add missing "var" declarations and noStrict flags.

Part of issue #35.
2015-04-29 17:44:25 +02:00
André Bargull 10d6e7ce0c Fix strict mode errors in built-ins/{isFinite, isNaN, parseFloat, parseInt, undefined}
- Add missing "var" declarations and noStrict flags
- Remove invalid noStrict flags

Part of issue #35.
2015-04-29 17:43:55 +02:00
André Bargull 97bebe1c8b Fix strict mode errors in built-ins/String
- Add missing "var" declarations and noStrict flags
- Remove with-statements (minor change in behaviour - primitive vs wrapper lookup, but does not seem too important for these tests)

Part of issue #35.
2015-04-29 17:43:26 +02:00
André Bargull 94be366f65 Fix strict mode errors in built-ins/RegExp
- Add missing "var" declarations and noStrict flags
- Remove with statements

Part of issue #35.
2015-04-29 17:42:48 +02:00
André Bargull 2bc08d0b0b Fix some strict mode errors in built-ins/Object
- Add missing "var" declarations and noStrict flags
- Remove invalid noStrict flags
- ietestcenter tests need fixed, require updates to use propertyHelper.js

Part of issue #35.
2015-04-29 17:41:42 +02:00
André Bargull 81a7177ff1 Fix strict mode errors in built-ins/Number
Add missing "var" declarations and noStrict flags.

Part of issue #35.
2015-04-29 17:41:08 +02:00
André Bargull 76a7c8107b Fix strict mode errors in built-ins/Math
Add missing "var" declarations.

Part of issue #35.
2015-04-29 17:40:30 +02:00
André Bargull 0952011501 Fix strict mode errors in built-ins/Function
Add missing "var" declarations and noStrict flags.

Part of issue #35.
2015-04-29 17:39:10 +02:00
André Bargull a5e793f7f3 Fix strict mode errors in built-ins/Error
Add missing "var" declarations and noStrict flags.

Part of issue #35.
2015-04-29 17:38:38 +02:00
André Bargull 07fa78d677 Fix strict mode errors in built-ins/Date
Add missing "var" declarations and noStrict flags.

Part of issue #35.
2015-04-29 17:37:58 +02:00
André Bargull 9cb5292c71 Fix strict mode errors in built-ins/Boolean
Add missing "var" declarations and noStrict flags.

Part of issue #35.
2015-04-29 17:37:09 +02:00
André Bargull 74dde3e483 Fix strict mode errors in built-ins/Array
- Add missing "var" declarations and noStrict flags
- Move code which requires non-strict semantics from Array.prototype.find_this-arg.js to Array.prototype.find_this-arg-receiver-primitive.js
- Remove duplicate code from Array.prototype.findIndex_this-arg.js, already present in Array.prototype.findIndex_this-arg-receiver-primitive.js
- Remove test code from Array.of_assignment-to-new-object-length.js, does not work in strict mode

Part of issue #35
2015-04-29 17:36:28 +02:00
Brian Terlson 87fd4e5699 Merge pull request #240 from anba/es2015-compat-updates
Update remaining tests for ES2015 compatibility (rev38)
2015-04-27 12:55:26 -07:00
André Bargull ef8f056a76 Update remaining tests for ES2015 compatibility (rev38)
- Duplicate properties are allowed in object literals: test/language/expressions/object/*.js
- RegExpBuiltinExec was changed to use ToLength(lastIndex): test/built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3.js
- Non-undefined flags arguments allowed in RegExp constructor call: test/built-ins/RegExp/*.js
- Array.prototype.push throws TypeError if new length exceeds Number.MAX_SAFE_INTEGER: test/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
- .length property of bound functions is configurable: test/built-ins/Function/prototype/bind/15.3.4.5-15-2.js
- Array.prototype changed back to exotic Array object: test/built-ins/Array/prototype/*.js, test/built-ins/Array/isArray/15.4.3.2-0-5.js
2015-04-27 18:21:34 +02:00
André Bargull e31ae1ad9f Invalid language tests
- in-statement-position-label-statement.js is an Annex-B test (B.3.2 Labelled Function Declarations), moved to annexB directory
- identifier-let-allowed-as-lefthandside-expression-strict.js needs to check for a SyntaxError (ES6, 12.1.1)
- Remove sort() calls in test/built-ins/Object/getOwnPropertyNames/*.js
- Remove sort() calls in test/language/block-scope/syntax/for-in/acquire-properties-from-*.js
- verifyConfigurable() needs to called last in test/built-ins/Object/is/length.js
- All productions within ClassBody are implicitly strict, update test/language/class/method-definition/yield-as-*.js accordingly
- Remove unnecessary noStrict flag in test/language/class/method-definition/yield-as-generator-method-binding-identifier.js
- Check own symbols are returned in property creation order from Object.getOwnPropertySymbols():
  - test/language/computed-property-names/basics/symbol.js
  - test/language/computed-property-names/class/method/symbol.js
  - test/language/computed-property-names/class/static/method-symbol.js
  - test/language/computed-property-names/object/method/symbol.js
- Fix copy-paste error in test/language/expressions/object/method-definition/yield-as-function-expression-binding-identifier.js
2015-04-27 16:56:19 +02:00
unknown 81476bb910 fixing a typo 2015-04-24 12:32:17 -07:00
Brian Terlson c49e2bd6b9 Merge pull request #236 from bocoup/test-assertions
Add Tests for Harness Helper Functions
2015-04-22 17:06:51 -07:00
Mike Pennisi 3211e33199 Add tests for test harness 2015-04-22 18:38:40 -04:00
Brian Terlson d25eca4184 Merge pull request #213 from bocoup/block-scope-additions
Import tests from Google V8 (Block Scope Additions)
2015-04-21 15:24:54 -07:00
Brian Terlson 6311f00ce9 Remove enochian-enochian (fixes gh-227) 2015-04-21 15:08:19 -07:00
Rick Waldron b3cbeaacb7 19.1.2.10 Object.is
7.2.9 SameValue(x, y)
2015-04-21 14:25:53 -04:00
Brian Terlson e9593a3d65 Merge pull request #220 from bocoup/for-of-more-control-flow
Additional control flow tests for `for..of` statements
2015-04-21 10:55:42 -07:00
Mike Pennisi 3bf5652774 Improve `for..of` control flow tests
- Expand ambiguous assertion messages and assert execution paths more
  finely.
- Improve variable names in `for..of` tests
  While the object created by a GeneratorFunction may be considered an
  "iterable", it is being used as an iterator in these tests. Naming the
  variable according to the way it is used improves the readability of
  the test body.
- Add 'features' attribute to test frontmatter
- Move tests
- Introduce additional `for..of` control flow tests
2015-04-21 12:55:27 -04:00
Brian Terlson f1900713aa Merge pull request #210 from bocoup/native-iterators
Import tests from Google V8 (native iterators)
2015-04-21 09:52:35 -07:00
Brian Terlson 8980d3f929 Merge pull request #228 from bocoup/arrow-functions
14.2 Arrow Function Definitions
2015-04-21 09:48:07 -07:00
Rick Waldron 93e9da29a0 14.2 Arrow Function Definitions 2015-04-20 19:53:06 -04:00
Mike Pennisi e8cc40a0a8 Import tests from Google V8 (native iterators)
These tests are derived from the following files within the Google V8
project:

    test/mjsunit/es6/typed-array-iterator.js
    test/mjsunit/es6/arguments-iterator.js
    test/mjsunit/es6/string-iterator.js
    test/mjsunit/es6/collection-iterator.js
2015-04-20 19:15:34 -04:00
Caitlin Potter 6e88ac5cec remove non-printable characters from tests 2015-04-18 20:34:08 -04:00
Brian Terlson 5eb76070cb Merge pull request #219 from Yaffle/patch-1
More tests for Math.round
2015-04-18 15:58:11 -07:00
Brian Terlson b8711eb803 Merge pull request #229 from bocoup/restructure-generator-tests-2
Restructure generator tests 2
2015-04-18 15:50:23 -07:00
Brian Terlson 43a238bc0b Merge pull request #197 from bocoup/harmony-symbols
Import tests from Google V8 (Symbol)
2015-04-18 15:49:46 -07:00
Brian Terlson a6ca558d46 Merge pull request #218 from bocoup/templates
Import tests from Google V8 (templates)
2015-04-18 15:46:34 -07:00
Mike Pennisi 909156c61f Add "features" metadata to existing tests 2015-04-15 18:47:34 -04:00
Mike Pennisi 5eb977a7c7 Move tests for generator method definitions
The project has recently changed the preferred location for generators
created via the MethodDefinition syntactic form.
2015-04-15 18:44:02 -04:00
Mike Pennisi 14cb6ca88e Extend tests for LineTerminatorSequence
Add assertions for the "Line Separtator" and "Paragraph Separator" line
terminator code points.
2015-04-15 10:50:44 -04:00
Mike Pennisi 1c3c0704fd fixup! Reorganize test files 2015-04-15 10:36:09 -04:00
Mike Pennisi 5fc17f9c2d fixup! Remove test for unspecified behavior 2015-04-15 10:20:52 -04:00
Brian Terlson b9e4a43f5e Merge pull request #204 from bocoup/generator-parsing-2
Import tests from Google V8 (generator syntax)
2015-04-14 13:31:53 -07:00
Mike Pennisi 95a78b36d5 Add tests for additional generator function forms 2015-04-14 16:23:16 -04:00
Mike Pennisi e14060bffb Add asertions for Generator Statement syntax tests
Ensure that these forms result in objects that meet basic expectations
about generator functions.
2015-04-14 16:22:12 -04:00
Mike Pennisi 93d994df0f Import tests from Google V8 (generator syntax)
These tests are derived from the following files within the Google V8
project:

    test/mjsunit/es6/generators-parsing.js
2015-04-14 16:22:12 -04:00
André Bargull ffae2ca863 Fix malformed YAML front matter 2015-04-13 20:53:44 +02:00
Caitlin Potter f398421ee7 Add tests for %FunctionPrototype% restricted properties 2015-04-11 20:46:27 -04:00
Brian Terlson afa25f6cdc Merge pull request #221 from bocoup/typeof
Update tests for `typeof` operator
2015-04-11 16:28:37 -07:00
Rick Waldron 44c65fd02a Import tests from Google V8 (Block Scope Additions)
These tests are derived from the following files within the Google V8 project:

    test/mjsunit/es6/regress/regress-2506.js
    test/mjsunit/es6/regress/regress-3426.js
    test/mjsunit/es6/regress/regress-3683.js
2015-04-09 14:21:06 -04:00
Brian Terlson 506f9fe803 Merge pull request #217 from bocoup/rest-params
Import tests from Google V8 (Rest Parameters)
2015-04-08 17:29:49 -07:00
Brian Terlson f5c848b026 Merge pull request #207 from anba/issue-98/update-currency
Changes for currency data
2015-04-08 16:08:37 -07:00
Brian Terlson 01bdfa6dd3 Merge pull request #209 from anba/issue-185,186/annexb-extensions
Don't use Annex B extensions in main test suite
2015-04-08 16:08:04 -07:00
Brian Terlson 3f04481646 Merge pull request #208 from anba/issue-103/array-find-update
Array.prototype.find does not skip holes
2015-04-08 16:07:24 -07:00
André Bargull 15cc639131 Strict eval variable declarations are lexically scoped, assign expected result value to a previously declared global (issue #35)
Add missing variable declarations (issue #35)

Split S12.6.3_A10 and S12.6.3_A10.1 because both files seem to test implicit global variables (issue #35)

Changes (issue #35)

- Add missing noStrict flags.
- Change 13.2-15-1 and 13.2-18-1 to use assert.js and propertyHelper.js (simplifies writable and configurable checks while in strict mode).
- Add variable declarations for globals.
- Create copies of S13.2.1_A6_T1 and S13.2.1_A6_T2 instead of adding variable declarations, because both files seem to test implicit global variables.
- Split S13_A14 and S13_A16 to work in strict mode.
- Remove assignment to .name property.

Add missing noStrict flags (issue #35)

Add missing noStrict flags and variable declarations (issue #35)

Add missing noStrict flags (issue #35)
2015-04-08 15:54:58 -07:00
Brian Terlson 47dcfe8cac Merge pull request #223 from bocoup/restructure-generator-tests
Re-structure generator tests
2015-04-08 10:23:28 -07:00
Mike Pennisi c759cdb804 Re-structure generator tests 2015-04-08 11:08:48 -04:00
Brian Terlson 193605524e Merge pull request #205 from caitp/patch-1
Add a test for String.prototype.concat() with single Object argument
2015-04-07 17:31:53 -07:00
Rick Waldron dcdc9ba111 block-scope: corrections. Fixes gh-201 2015-04-07 16:58:04 -07:00
Mike Pennisi 29326da2a8 Normalize application of `typeof` operator
Consistently use the `typeof` operator without the grouping operator
(and include one explicit test to ensure the validity of this pattern
generally).
2015-04-07 17:37:45 -04:00
Mike Pennisi 3dce857e32 Update tests to use assertion library 2015-04-07 17:37:45 -04:00
Mike Pennisi 663f6776aa Add ES6 IDs 2015-04-07 17:37:45 -04:00
Mike Pennisi 9c42c10e48 Correct error in test descriptions 2015-04-07 17:37:45 -04:00
Mike Pennisi 5acd66e10a Rename test files
According to the new test organization scheme, specification
identification references should be encoded within the test file itself,
and the file should be named according to the semantics of the test.
2015-04-07 17:37:40 -04:00
Rick Waldron 59e2a7ac57 Import tests from Google V8 (Symbol)
These tests are derived from the following files within the Google V8 project:

	test/mjsunit/harmony/private.js
2015-04-07 16:53:18 -04:00
Rick Waldron d797bb979e Import tests from Google V8 (Array.prototype.{fill, find, findIndex}, Array.{from, of})
These tests are derived from the following files within the Google V8 project:

    	test/mjsunit/harmony/array-fill.js
    	test/mjsunit/harmony/array-find.js
    	test/mjsunit/harmony/array-findindex.js
    	test/mjsunit/harmony/array-from.js
    	test/mjsunit/harmony/array-of.js
2015-04-07 09:53:17 -04:00
Brian Terlson 47674610ae Merge pull request #190 from bocoup/harmony-object-literals
Import tests from Google V8 (Object Literal Concise Method and Property Initialization)
2015-04-06 14:49:47 -07:00
Viktor b7bfcb4bd2 More tests for Math.round
Seems, Math.round(x) is implemented as `Math.floor(x + 0.5)` in some JavaScript engines.
The "Note 2 for Math.round"  was fixed for ES6 (see http://es5.github.io/#x15.8.2.15 and https://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.round )
2015-04-04 11:36:57 +05:00
Mike Pennisi 57f08522ee fixup! Move tests for Annex B extensions 2015-04-02 18:42:06 -04:00
Mike Pennisi 04cd2f43bb fixup! Catch expected strictmode error 2015-04-02 18:12:18 -04:00
Mike Pennisi 9ed6ca769d fixup! Remove redundant assertion 2015-04-02 17:56:30 -04:00
Mike Pennisi ef899c48fd fixup! Correct typos 2015-04-02 17:56:19 -04:00
Mike Pennisi 1f22932d69 Import tests from Google V8 (templates)
These tests are derived from the following files within the Google V8
project:

    test/mjsunit/es6/templates.js

Some of these tests include non-printable characters, causing git to
infer that they are binary files. Introduce a `.gitattributes` file to
configure git to consistently display the source text of all JavaScript
files.
2015-04-02 12:13:51 -04:00
Rick Waldron c8aabb3664 Import tests from Google V8 (Rest Parameters)
These tests are derived from the following files within the Google V8 project:

    test/mjsunit/harmony/rest-params.js
2015-03-31 16:56:24 -04:00
Rick Waldron 40c07540e7 Fix copyright line 2015-03-30 12:48:02 -04:00
André Bargull a7192a9ea5 Don't use Annex B extensions in main test suite
Fixes #185
Fixes #186
2015-03-23 19:29:25 +01:00
André Bargull 73a8a7dcf9 Array.prototype.find does not skip holes
Fixes #103
2015-03-23 19:15:16 +01:00
André Bargull 6aa73b5a2b Changes for currency data
- Update minor unit for CLF
- Remove withdrawn currencies (LVL, LTL, USS)
- Update link to new location

Fixes #98
2015-03-23 18:45:35 +01:00
⭐caitp⭐ 9a37120014 Add a test for String.prototype.concat() with single Object argument
v8 would fail this test, so it would be nice to have it
2015-03-23 10:15:09 -04:00
Brian Terlson ceeefa3196 Merge pull request #184 from bocoup/iteration-semantics-2
Import tests from Google V8 (iteration semantics)
2015-03-19 13:39:20 -07:00
Rick Waldron 3ac4b240bb computed-property-names: follow up corrections. Fixes gh-198 2015-03-19 14:54:24 -04:00
Mike Pennisi bd44d30a00 Import tests from Google V8 (iteration semantics)
These tests are derived from the following files within the Google V8
project:

test/mjsunit/es6/iteration-semantics.js
2015-03-18 20:06:12 -04:00
Rick Waldron fc3e2cab05 computed-property-names: corrections. Fixes gh-198 2015-03-18 19:13:11 -04:00
Brian Terlson 538a2a8e83 Merge pull request #183 from bocoup/harmony-block-scope
Import tests from Google V8 (Block Scoping)
2015-03-18 16:09:05 -07:00
Brian Terlson fb6eb7ce18 Merge pull request #154 from bocoup/harmony-array-concat
Import tests from Google V8 (Array isConcatSpreadable)
2015-03-18 16:07:34 -07:00
Brian Terlson 5994445827 Merge pull request #199 from bocoup/198
computed-property-names: corrections. Fixes gh-198
2015-03-18 16:07:12 -07:00
Rick Waldron 373b356d33 computed-property-names: corrections. Fixes gh-198 2015-03-18 18:50:05 -04:00
Brian Terlson 2e1813622f Merge pull request #188 from smikes/Symbol-species
Symbol.species tests
2015-03-18 10:59:48 -07:00
smikes e1f3ffce2c Symbol.species tests
Initial tests for property existence
move getter name test to builtin-getter-name
initial cut at extends test
incorporate line notes, thanks @anba
2015-03-09 15:48:52 -06:00
Brian Terlson d24fd10549 Merge pull request #189 from bocoup/harmony-computed-property-names
Import tests from Google V8 (Computed Property Names)
2015-03-06 16:44:57 -08:00
Brian Terlson f6d8dd0f9e Merge pull request #175 from bocoup/harmony-classes
Import tests from Google V8 (Class syntax & semantics)
2015-03-06 13:53:11 -08:00
Brian Terlson 42dc0f6b35 Merge pull request #165 from bocoup/iterators
Add Array Iteration Tests
2015-03-06 13:31:56 -08:00
Mike Pennisi 6565c89de2 Import tests from Google V8
These tests are derived from the following files within the Google V8
project:

    test/mjsunit/es6/array-iterator.js
2015-03-06 14:13:36 -05:00
Rick Waldron 5d11ec4b24 Import tests from Google V8 (Class syntax & semantics)
These tests are derived from the following files within the Google V8 project:

        test/mjsunit/harmony/class-computed-property-names-super.js
        test/mjsunit/harmony/class-property-name-eval-arguments.js
        test/mjsunit/harmony/classes-experimental.js
        test/mjsunit/harmony/classes-lazy-parsing.js
        test/mjsunit/harmony/classes.js
2015-03-06 10:44:37 -05:00
Rick Waldron e7a6c05d36 (Computed Property Names) Re-organize, add assertion messages. 2015-03-05 16:46:11 -05:00
Rick Waldron 4c49047f20 Import tests from Google V8 (Object Literal Concise Method and Property Initialization)
These tests are derived from the following files within the Google V8 project:

        test/mjsunit/harmony/method-name-eval-arguments.js
        test/mjsunit/harmony/object-literals-method.js
        test/mjsunit/harmony/object-literals-property-shorthand.js
        test/mjsunit/harmony/object-literals-super.js
2015-03-05 15:22:13 -05:00
Rick Waldron bd682d8e37 Import tests from Google V8 (Computed Property Names)
These tests are derived from the following files within the Google V8
project:

        test/mjsunit/harmony/computed-property-names-classes.js
        test/mjsunit/harmony/computed-property-names-object-literals-methods.js
        test/mjsunit/harmony/computed-property-names-super.js
        test/mjsunit/harmony/computed-property-names.js
2015-03-05 12:04:46 -05:00
Rick Waldron 1182adb9bc Import tests from Google V8 (Array isConcatSpreadable)
These tests are derived from the following files within the Google V8 project:

    	test/mjsunit/harmony/array-concat.js
2015-03-04 20:01:21 -05:00
Rick Waldron 3f9587a8ee Import tests from Google V8 (Block Scoping)
These tests are derived from the following files within the Google V8 project:

	test/mjsunit/harmony/block-conflicts.js
	test/mjsunit/harmony/block-for.js
	test/mjsunit/harmony/block-leave.js
	test/mjsunit/harmony/block-let-declaration.js
	test/mjsunit/harmony/block-let-semantics.js
	test/mjsunit/harmony/block-scoping.js
2015-03-04 11:10:46 -05:00
Brian Terlson 1b04b7db08 Merge pull request #180 from smikes/178-generator-super
add () to super call
2015-02-26 16:35:29 -08:00
smikes 3e298dbeed format features correctly 2015-02-25 20:43:23 -07:00
smikes ca47fc46de add () to super call 2015-02-25 20:41:15 -07:00
Mike Pennisi 4431c2bc56 Import tests from Google V8
These tests are derived from the following files within the Google V8
project:

test/mjsunit/es6/string-html.js
2015-02-20 14:33:47 -05:00
Brian Terlson 4c510bf078 Merge pull request #167 from smikes/generator-tests
initial set of generator tests
2015-02-19 17:48:11 -08:00
Brian Terlson 567a72d7af Merge pull request #168 from bocoup/harmony-arrow-functions
Import tests from Google V8 (Arrow Functions)
2015-02-19 17:37:33 -08:00
smikes 04f468541e batch of generator tests
fix info, desc

remove dubious test

correct no-name test, add implicit-name test
2015-02-19 18:35:59 -07:00
Rick Waldron 341e31f7d3 Import tests from Google V8 (Arrow Functions)
These tests are derived from the following files within the Google V8
project:

	test/mjsunit/harmony/arrow-functions.js
2015-02-18 12:58:34 -05:00
smikes cc18dd2d79 2 new tests re: foreign thenables 2015-02-17 18:27:34 -07:00
Brian Terlson 8eb0bd1279 Merge pull request #162 from bocoup/146
Move test/built-ins/Promise/prototype/resolve/ to test/built-ins/Promise...
2015-02-17 12:30:50 -08:00
Brian Terlson 3e45af7d72 Merge pull request #163 from bocoup/145
Move test/built-ins/Promise/prototype/race/ to test/built-ins/Promise/ra...
2015-02-17 12:30:42 -08:00
Rick Waldron 849cea38a5 Move test/built-ins/Promise/prototype/reject/ to test/built-ins/Promise/reject/ Closes gh-161 2015-02-17 13:34:48 -05:00
Rick Waldron d9554f9fca Move test/built-ins/Promise/prototype/race/ to test/built-ins/Promise/race/. Closes gh-145 2015-02-17 13:33:34 -05:00
Rick Waldron 4e5be1f257 Move test/built-ins/Promise/prototype/resolve/ to test/built-ins/Promise/resolve. Closes gh-146 2015-02-17 13:31:28 -05:00
Rick Waldron cda3ec74a1 ES6-specific tests: es5id=>es6id, new es6id entries. Closes gh-144 2015-02-12 16:36:13 -05:00
Brian Terlson d075338699 Merge pull request #140 from anba/issue-35/expressions
Fix strict mode errors in language/expressions
2014-12-13 11:36:24 -08:00
Brian Terlson 79daca456c Merge pull request #139 from anba/issue-138/defineproperties-exception
Update comments in Object.defineProperties tests (Fixes #138)
2014-12-11 16:40:18 -08:00
André Bargull 1a4793926f Fix strict mode errors in language/expressions
- Add missing noStrict flags when tests explicitly require non-strict semantics (e.g. unqualified delete, with statement)
- Change `throw new Exception(...)` to `$ERROR(...)` in call/*
- Replace dynamic strict mode check with noStrict flag in call/11.2.3-3_8
- Align assignment/11.13.1_A3.1 with 11.13.1_A3.2 to avoid creating implicit global variable
- Split test into multiple files when undeclared variable are under test
  - addition/S11.6.1_A2.4_T3
  - division/11.5.2_A2.4_T3
  - does-not-equals/11.9.2_A2.4_T3
  - equals/S11.9.1_A2.4_T3
  - greater-than/S11.8.2_A2.4_T3
  - greater-than-or-equal/S11.8.4_A2.4_T3
  - in/S11.8.7_A2.4_T3
  - instanceof/11.8.6_A2.4_T3
  - left-shift/S11.7.1_A2.4_T3
  - less-than/S11.8.1_A2.4_T3
  - less-than-or-equal/S11.8.3_A2.4_T3
  - modulus/S11.5.3_A2.4_T3
  - multiplication/11.5.1_A2.4_T3
  - right-shift/11.7.2_A2.4_T3
  - strict-does-not-equals/11.9.5_A2.4_T3
  - strict-equals/11.9.4_A2.4_T3
  - subtraction/11.6.2_A2.4_T3
  - unsigned-right-shift/11.7.3_A2.4_T3
- Add declaration when implicit global variable creation not part of the test
  - assignment/11.13.1_A4_T1
  - compound-assignment/S11.13.2_A3.1_T*
  - compound-assignment/S11.13.2_A3.2_T*
  - grouping/11.1.6_A3_T5
  - instanceof/S15.3.5.3_*
- Split test into multiple files when unqualified delete is used
  - delete/S11.4.1_A2.2_T1.js
  - delete/11.4.1_A3.2
  - grouping/S11.1.6_A2
  - grouping/S11.1.6_A3_T6
2014-12-11 19:07:04 +01:00
André Bargull e12917af66 Update comments in Object.defineProperties tests (Fixes #138)
The expected values were already changed in a previous commit (@49abae4f5e6b38931d86dc9b9d34ae30d9ced2ca),
only the test descriptions still needed to be updated. (Fixes #138)
2014-12-11 19:00:15 +01:00
André Bargull 2903a4c885 Revert 12.14-1 and 12.14-2 (Fixes #120)
Assume tests run with Annex B semantics enabled. (Fixes #120)
2014-12-11 18:45:54 +01:00
smikes 49abae4f5e rework: remove *PropertyAttributes fns
- this change hits all files that use
dataPropertyAttributesAreCorrect or
acccessorPropertyAttributesAreCorrect

Major changes:
- remove include of runTestCase.js,
dataPropertyAttributesAreCorrect.js and
acccessorPropertyAttributesAreCorrect.js
- add include of propertyHelper.js
- remove function testCase() and call to
function runTestCase()
- instead of collecting test state into booleans,
which are eventually returned from runTestCase,
test conditions and throw errors immediately
- use negative: to check error types instead of
using `instanceof` in a catch() block

Selected commit logs follow:

manual conversion of accessorPropertyAttributesAreCorrect() test
 - remove runTestCase
 - remove wrapping testCase function
 - unindent
 - remove includes of runTestCase & accessor...
 - add include of propertyHelper.js
 - unpack final two args 'true, false' to explicit inline
   tests of isEnumerable and isConfigurable
 - unpack setter test into inline logic
 - unpack getter test into inline logic

used script to replace includes: frontmatter
with propertyHelper.js ; manually added back
references to fnGlobalObject() where needed

additional helper functions

add helper functions for get and writable
duplicate runTestCase so can remove runTestCase.js from
includes of all tests in batch

use keyboard macros to simplify repetitive conversions
remove auto-save file accidentaly committed

minor changes, manually remove runTestCase from remaining files
lint etc. fixes

remove now-obsolete harness files

make strict/nonstrict variants

tests where behavior is different in strict/nonstrict
need two variants

- strict mode throws on assign to read-only element (no setter fn)
- strict mode separates named arguments from arguments[]

fix indentation

cleanup minor issues

reviewing 15.2.3.7-9 tests, found some minor issues

- indentation/spacing
- duplicate test (eg, direct test of value and dataProp...)
- remove needless try/finally
- use assert.. helpers in place of if(is..
- rename some assertions to 'e'

rename assertX to verifyX
new helper fn sameValue
test "set" as well as get
reverse order of checks
restore test of desc2
restore test of length
restore test of ownProperty
incorporate suggestions re order of ops, Object.prototype
add test of sameValue helper
restore return value in getter
restore second defineProperty call
restore check of explicit "false"
restore explicit test of TypeError
set noStrict flag on arguments changes
rename catch var to "e"	b4ad0e6
remove dataPropertyAttributesAreCorrect from tests	0d83ff2
remove accessorPropertyAttributesAreCorrect from tests	bb926f3
remove {data,accessor}Property... fns from harness

fix writable check on array.length

call $ERROR if expected exception not thrown
fix Epected => Expected typo

use assert._isSamevalue
2014-12-10 17:39:16 -08:00
smikes 5318ee7b1f minor fixes to Array.protoype.find tests
split "this" tests into strict/nonstrict branches
split callable into separate test cases

metadata: rename es6 to features
2014-12-10 16:53:12 -08:00
André Bargull 0dbafac5a6 Add 'var' declarations for strict mode
This change adds 'var' declarations for global variables to allow the tests to run in strict mode (see issue #35).
Extra care was taken to ensure the changes do not alter the test behavior, for example when implicit creation of global variables are part of the test.
Note: The change does not fix all strict mode errors due to missing 'var' declarations.
2014-12-10 16:37:05 -08:00
André Bargull 0ceb428ec9 Add test coverage for identifier resolution in dynamic scopes
Identifier resolution in dynamic scope context is missing test coverage, resolves https://bugs.ecmascript.org/show_bug.cgi?id=1751 .
2014-12-10 16:05:32 -08:00
Sam Mikes 485059c46d initial tests of Array.prototpe.splice requiring settable "length"
add test of object with only "length" getter
*fix typo

per comments from @anba, thanks!
 * remove needless checks
 * add "splice" method

fix es5id
2014-12-10 15:18:42 -08:00
Mathias Bynens e2aa196a93 Rename `String.prototype.contains` to `String.prototype.includes` 2014-12-10 13:27:42 -08:00
Juan Ignacio Dopazo d863423d1a Array.prototype.find no longer skips holes 2014-12-09 18:37:41 -08: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
Brian Terlson da465e7399 Move S9.9_A1/2 to proper locations
The with statement tests were novel, but the tests for
property accessors throwing errors for undefined & null
were duplicates with S11.2.1_A3_T4/5 respectively.
2014-12-07 15:31:49 -08:00
Domenic Denicola 66a39c0423 Add an example of using assert.throws 2014-12-05 14:41:06 -05:00
Domenic Denicola fa4c337570 Add assert.throws
Closes #57.
2014-12-05 14:41:04 -05:00
Domenic Denicola 0d94ef1e98 Example of using assert.js 2014-12-01 16:04:33 -05:00
Domenic Denicola 4bb8c027e4 Add initial assert helpers
Closes #110
2014-12-01 15:44:33 -05:00
Brian Terlson bbeafbd3c6 Remove "best practice" tests
Sbp_A1_T1 to Sbp_A5_T2, Sbp_12, Sbp_7*: Functions are now valid in blocks, tests syntactically invalid anyway
Sbp_A10_T1 to Sbp_A10_T2: Tests are broken
2014-11-19 15:28:04 -08:00
Brian Terlson b752d2fdde Merge pull request #117 from smikes/issue-80/obsolete-frontmatter
remove obsolete attributes from frontmatter fixes #80
2014-11-12 12:26:05 -08:00
Brian Terlson 0149045593 Merge pull request #86 from smikes/pr/83
browser runner: check negative regex
2014-11-12 12:25:05 -08:00
smikes 2d62a6df1f remove email attribute
remove spec attribute
remove assertion, section, name
2014-11-12 13:16:42 -07:00
Brian Terlson 0caf4eec31 Merge pull request #100 from smikes/promise-tests
add initial set of tests for Promise
2014-11-12 11:29:11 -08:00
André Bargull 5c5dffce8b es6 compatability updates
See also: https://github.com/tc39/test262/pull/29
2014-11-11 17:34:23 -08:00
smikes f544773583 split "expectedThis" cases into strict/nonstrict branches 2014-11-10 19:21:54 -07:00
smikes 26787ab09b add tests for 24.4.4.1 - Promise.all
add more tests of Promise.all

additional Promise test

add tests of Promise.prototype

add some tests for Promise.race

additional Promise tests

add Promise.reject and Promise.resolve tests

correct test description

rename badly-named files

use current license and minor style cleanup

correct understanding of undefined as thisArgument

incorporate line notes

Is this enough to make a constructor in ES6?

more accurate use of resolved,fulfilled etc.
remove some redundant tests
add new tests

remove "constant array" unclear language

better description

Update S25.4.2.1_A3.2_T1.js

address dangling ()

changes per @anba line notes
 - if GetIterator is abrupt, the Promise.race / Promise.all should reject
 - if Promise.race is called with nonconforming constructor as 'this',
   TypeError should be thrown (cannot reject if exeption is thrown from
   NewPromiseCapability; no promise exists yet...)

correct description of "this" testing in callbacks

fix whitespace, formatting

remove tab
add "next-turn" checking to sequencers
2014-11-10 16:37:36 -07:00
Brian Terlson eb08d871c5 Merge pull request #69 from smikes/ES5-Array-concat-ownProperty
ES5.S15: new tests to clarify Array.prototype.concat
2014-10-24 10:48:00 -07:00
Brian Terlson 0c0d1d3d46 Merge pull request #101 from smikes/addl-console-negative-fixes
additional fixes suggested by @anba
2014-10-24 10:31:39 -07:00
Sam Mikes 5fbb0a3902 remove spurious flags: [path] 2014-10-24 15:24:57 +01:00
Sam Mikes 89d71f56b2 additional fixes suggested by @anba 2014-10-24 15:18:37 +01:00
Sam Mikes c650b1a9b0 ES5.S15: new tests to clarify Array.concat
Test of spec language from 15.4.4.4,
5.b.iii.3.b states 'Call the [[DefineOwnProeprty]] internal method of A'
which means that the result of Array.prototype.concat
should return `true` from `hasOwnProperty` for every property
created by `concat`, up to `length`

Set length to 3.
a[0] is set to 0 on a
a[1] is unset
a[2] is set to 2 via a prototype of a

add assertions for values of b[0], b[1], b[2]
add assertions for b.hasOwnProperty('2')

Check with Array.prototype and Object.prototype, separate tests

fix typo in assertion message

test was correct, but assertion message was incorrect
2014-08-19 22:01:46 +01: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 6b7e5d7747 bestPractice: supply error names to negative
pilot directory for replacing flags: [negative] with
negative: errorname

ch07-7.2,7.3: add error names
ch07-rest: insert error names rest of ch07
ch08: add expected error name
ch11: add error name to negative
ch12: put error name in negative

ch13: add error name to negative
only one test, did it manually

ch15: add error name to negative:

ch07: add error name to negative

these tests used flags: \n - negative and so
were not caught by the earlier naive grep for flags: [negative]

--- changes suggested by @anba

bestPractice - remove added NotEarlyError
ch07,ch11 - expect ReferenceError (req'd by ES6)
correct test descriptions to expect ReferenceError only
enforce parsing as block statement by adding `;`
remove needless include of $FAIL.js

effectively, a rebase of all changes onto master

    Merge branch 'negative-addErrorName-work' into negative-addErrorName-bestPractice

    Merge branch 'saved-bestPractice-negative' into negative-addErrorName-work

    Conflicts:
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
    	test/suite/ch12/12.1/S12.1_A4_T1.js
    	test/suite/ch12/12.5/S12.5_A2.js

    incorporate changes made on PR branch

    re-remove added NotEarlyError

    Merge branch 'negative-addErrorName-work' into negative-addErrorName-bestPractice

    Conflicts:
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
    	test/suite/ch12/12.1/S12.1_A4_T1.js
    	test/suite/ch12/12.5/S12.5_A2.js

    ch15: correct negative regexes

    ch10: avoid use of not-NotEarlyError regex

    ch14 error regexps

    ch13 error regexps

    ch12: negative error matching

    Merge branch 'console-runner-checkError' into negative-addErrorName-work

    test262.py: check negative tests with regex

    implement checking of negative tests =>

    negative: SyntaxError

    means that /SyntaxError/ must match stderr
    or test is reported as failure

    Fixes #78

    expect real errors

    bestPractice: supply error names to negative

    pilot directory for replacing flags: [negative] with
    negative: errorname

    ch07-7.2,7.3: add error names
    ch07-rest: insert error names rest of ch07
    ch08: add expected error name
    ch11: add error name to negative
    ch12: put error name in negative

    ch13: add error name to negative
    only one test, did it manually

    ch15: add error name to negative:

    ch07: add error name to negative

    these tests used flags: \n - negative and so
    were not caught by the earlier naive grep for flags: [negative]

    --- changes suggested by @anba

    bestPractice - remove added NotEarlyError
    ch07,ch11 - expect ReferenceError (req'd by ES6)
    correct test descriptions to expect ReferenceError only
    enforce parsing as block statement by adding `;`
    remove needless include of $FAIL.js

    Merge branch 'negative-addErrorName-work' into negative-addErrorName-bestPractice

    resolved Conflicts:
    	test/suite/ch07/7.9/S7.9_A5.7_T1.js
    	test/suite/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js
    	test/suite/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js
    	test/suite/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js
    	test/suite/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js
    	test/suite/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js
    	test/suite/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js
    	test/suite/ch12/12.5/S12.5_A2.js
    	test/suite/ch12/12.6/12.6.3/S12.6.3_A4_T2.js

    negative: second half of @anba notes

    correct test descriptions to expect ReferenceError only
    enforce parse as block statement by adding `;`
    remove needless include of $FAIL.js

    ch12: specify type

    negative: @anba fixes

    bestPractice - remove added NotEarlyError
    ch07,ch11 - expect ReferenceError (req'd by ES6)

    bestPractice: supply error names to negative

    pilot directory for replacing flags: [negative] with
    negative: errorname

    ch07-7.2,7.3: add error names
    ch07-rest: insert error names rest of ch07
    ch08: add expected error name
    ch11: add error name to negative
    ch12: put error name in negative

    ch13: add error name to negative
    only one test, did it manually

    ch15: add error name to negative:

    ch07: add error name to negative

    these tests used flags: \n - negative and so
    were not caught by the earlier naive grep for flags: [negative]

    expect a SyntaxError

    ch07: add error name to negative

    these tests used flags: \n - negative and so
    were not caught by the earlier naive grep for flags: [negative]

    ch15: add error name to negative:

    ch13: add error name to negative

    only one test, did it manually

    ch12: put error name in negative

    ch11: add error name to negative

    ch08: add expected error name
    ch07-rest: insert error names rest of ch07

    ch07-7.2,7.3: add error names

    negative-errorname: pilot

    pilot directory for replacing flags: [negative] with
    negative: errorname

    bestPractice: supply error names to negative

bestPractice: supply error names to negative

pilot directory for replacing flags: [negative] with
negative: errorname

ch07-7.2,7.3: add error names
ch07-rest: insert error names rest of ch07
ch08: add expected error name
ch11: add error name to negative
ch12: put error name in negative

ch13: add error name to negative
only one test, did it manually

ch15: add error name to negative:

ch07: add error name to negative

these tests used flags: \n - negative and so
were not caught by the earlier naive grep for flags: [negative]

bestPractice: supply error names to negative

negative-errorname: pilot

pilot directory for replacing flags: [negative] with
negative: errorname

ch07-7.2,7.3: add error names

ch07-rest: insert error names rest of ch07

ch08: add expected error name

ch11: add error name to negative

ch12: put error name in negative

ch13: add error name to negative

only one test, did it manually

ch15: add error name to negative:

ch07: add error name to negative

these tests used flags: \n - negative and so
were not caught by the earlier naive grep for flags: [negative]

expect a SyntaxError

negative: @anba fixes

bestPractice - remove added NotEarlyError
ch07,ch11 - expect ReferenceError (req'd by ES6)

ch12: specify type

negative: second half of @anba notes

correct test descriptions to expect ReferenceError only
enforce parse as block statement by adding `;`
remove needless include of $FAIL.js

expect real errors

ch12: negative error matching

ch13 error regexps

ch14 error regexps

add "description" header back

remove now-unused includes

remove needless include
2014-08-13 00:19:11 +01:00
Brian Terlson a794e0eb54 Merge pull request #76 from anba/issue-61/wrong-test-assertions
Correct test assertion (Fixes issue#61)
2014-08-05 23:52:06 -07:00
Brian Terlson 7f5310b4d5 Merge pull request #77 from anba/issue-63/correct-array-fill-test
Correct Array.prototype.fill tests (Fixes #63)
2014-08-05 23:51:28 -07:00
André Bargull f0ac90a5fd Move tests to Math.clz32 (Fixes #41)
Number.prototype.clz() was renamed to Math.clz32(). Also removed superfluous 'spec' entry in test descriptor.
2014-08-04 20:57:02 +02:00
André Bargull e256a76e9d Correct Array.prototype.fill tests (Fixes #63)
The expected results weren't correct.
2014-08-04 19:44:22 +02:00
André Bargull 28649e8772 Correct test assertion (Fixes issue#61)
Changed Number.isNaN_Boolean.js, String.prototype.endsWith_Fail.js and String.prototype.endsWith_Fail_2.js to test for the correct result. Also removed implicit coercion in a couple of other test files.
2014-08-04 19:10:41 +02: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 bd80bf7dfc es6/Math: use Number.isNaN
use number.isNaN to test for NaN
pointed out by @anba in #60
2014-07-31 13:53:12 -06: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
Brian Terlson 0defa37385 Add path attribute. 2014-07-30 15:39:01 -07:00
Brian Terlson d4354d14d5 Normalize testcase format
This commit normalizes the test case format used across test262. It applies the following transformations:

* Convert to YAML for frontmatter
* Remove of trailing whitespace
* Replace /r/n with /n except in chapters 6 and 7.
* Copyright header always uses // comments
* new includes attribute replaces $INCLUDE
* No implicit assumptions about test environment other than $ERROR. Everything else appears in the include array. This includes "runTestCase" which is now included in a substantial number of tests.
2014-07-30 15:38:26 -07:00
Mathias Bynens a824f44727 Delete `Number.toInteger` test
`Number.toInteger` was removed from the ES6 draft. Fixes #62.
2014-07-30 23:17:00 +02:00
Brian Terlson 509472bb74 Fix suspect formatting in S15.2.3.1_A3 2014-07-24 15:29:21 -07:00
smikes a8c49d8b47 sth: correct syntax error in new fn isAsyncTest 2014-07-22 10:41:32 -06:00
Brian Terlson 66aab6025d Fix comment formatting for S22.1.2.3_T1.js 2014-07-21 15:47:50 -07:00
Brian Terlson 66366d6961 Merge pull request #49 from smikes/faster-python-runner
test262.py: only include helper scripts when needed
2014-07-21 14:32:03 -07: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
Hank Yates cae283b563 Adding Array.prototype#fill tests 2014-07-18 15:17:33 -07:00
Brian Terlson 96c6efe0ef Merge pull request #43 from smikes/initial-Promise-tests
Initial promise tests
2014-07-18 11:22:48 -07:00
Brian Terlson 821e06e3f1 Merge pull request #44 from smikes/fix-packager
packager: make packager runnable
2014-07-18 11:21:52 -07:00
smikes 7032af4db8 packager: make packager runnable
packager.py cannot run due to syntax errors in a few script files

packagerConfig: use git instead of hg
test262: use pop instead of delete to avoid throw if property missing
S22.1.2.1_T*: fix docString header comment: s/b /**
S22.1.2.1_T3: fix docString header comment: s/b /**, fix end of docstring * / => */
2014-07-18 08:53:29 +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
Matthew Meyers c451a33299 Adds tests for Array.prototype.find 2014-07-17 11:24:50 -07:00
ryanmurakami eb0ff48938 first batch of ES6 tests 2014-07-16 17:31:37 -07:00
Hank Yates 9244107ebf Adding Array#of tests 2014-07-16 17:03:52 -07:00
Hank Yates 7edb891fff Adding test for Array.from 2014-07-16 13:34:37 -07:00
Thomas Dahlstrom 2f5ec53aad Bug 596 - Coverage: 15.4.4.11 - identical elements and array holes 2014-07-16 12:56:46 -07:00
Brian Terlson 50696f69f6 Merge pull request #34 from niksurya/master
Adding Support for Async Tests
2014-07-16 12:10:56 -07:00
NikSurya 9aa6b917fa Adding Support for Async Tests 2014-07-15 13:47:59 -07:00
Brian Terlson b0c6fb0272 Merge pull request #2 from bterlson/localeCompare-fix
15.5.4.9_CE should check for locale-sensitive comparison
2014-07-10 14:59:57 -07:00
Brian Terlson 916a08bb9a Merge pull request #19 from JaimeLynSchatz/JaimeLynSchatz/fixBugz1533
change test 15.3.5.4_2-89 to call bound function before returning (Fixes bugzilla 1533)
2014-07-10 14:53:34 -07:00
Brian Terlson ee409f9d7d Merge pull request #14 from JaimeLynSchatz/JaimeLynSchatz/fixBugz1561
fix error msgs in test S12.6.1_A1 from Bugzilla issue 1561
2014-07-10 14:32:37 -07:00
Brian Terlson 5920e4e9c9 Merge pull request #6 from JaimeLynSchatz/JaimeLynSchatz/fixBugz1159
change assert to not assume a sorted list of arguments indices (Fixes bugzilla 1159)
2014-07-10 14:25:42 -07:00
Brian Terlson 019a62a863 Merge pull request #7 from JaimeLynSchatz/JaimeLynSchatz/fixBugz1552
fix point of view typos from Bugzilla 1552
2014-07-10 13:45:37 -07:00
Brian Terlson 4f15bf990b Merge pull request #1 from JaimeLynSchatz/JaimeLynSchatz/typofix
fix typo in 10.5 (fixes Bugzilla 1795)
2014-07-10 13:40:27 -07:00
Brian Terlson cb8b373444 Merge pull request #26 from muratsu/intl402-alert
Remove the alert call from test file
2014-07-10 13:39:14 -07:00
José Roberto Vidal 7b6ef7ba88 Fix Bugzilla 1450 2014-02-11 19:56:32 -05:00
Murat Sutunc 7697770a4c removed alert call from test file 2014-01-30 16:00:57 -08:00
JaimeLynSchatz 6b47f8c585 change test 15.3.5.4_2-89 to call bound function before returning for Bugzilla issue 1533 2014-01-26 17:08:20 -08:00
JaimeLynSchatz f9afc0c847 fix error msgs in test S12.6.1_A1 from Bugzilla issue 1561 2014-01-26 16:21:28 -08:00
JaimeLynSchatz a5fda120de fix point of view typos from Bugzilla 1552 2014-01-26 14:55:44 -08:00
JaimeLynSchatz d7446f811a change assert to not assume a sorted list of arguments indices for Bugzilla 1159 2014-01-26 14:25:38 -08:00
Brian Terlson 47a92dbb24 15.5.4.9_CE should check for locale-sensitive comparison 2014-01-26 13:24:35 -08:00
JaimeLynSchatz 239c4b721a fix typo in 10.5 from Bugzilla 2014-01-26 11:36:47 -08:00
Brent Baker ada9da5aa9 Bug 1128: use Date.prototype.getFullYear() in S15.2.2.1_A2_T5
Bug 1131: use String.prototype.charAt() in 15.12.3-11-26

Both of these changes were accidentaly dropped when I regenerated patches for these bugs. I have grepped the testsuite to ensure that the annexB functions only appear in the annexB section of the testsuite.

NOTE: Also regenerated the website based on this change. (Still waiting for permission to actually update the live website)
2013-06-13 10:07:45 -04:00
Prashanth Srinivasan 87605ba3b5 Bug 1472: Adding JUnit Compatible XML and Logfile support for Python test runner 2013-06-10 11:51:24 -04:00
Brent Baker 91bb82fb7e Bug 1548: Update results handling for Annex B section (r+bterlson) 2013-06-07 07:05:37 -04:00
Brent Baker 0d01ab1c7f Bug 1189: use "===" instead of "=" for S13.2_A4_T1 and T2 2013-06-07 06:57:45 -04:00
Brent Baker 592bf451b2 Bug 1131: Move String.prototype.substr into annexB 2013-06-05 08:00:44 -04:00
Brent Baker dc243639fc Bug 1129: Move RegExp.prototype.compile into annexB 2013-06-06 08:07:36 -04:00
Brent Baker 23f10fea63 Bug 1129: Move Date.prototype.toGMTString into annexB 2013-06-06 07:48:30 -04:00
Brent Baker fb850ad1e0 Bug 1128: Move getYear() and setYear() into annexB 2013-06-06 07:44:11 -04:00
Brent Baker 66563223a5 Bug 1125: Move escape and unescape into "annexB" 2013-06-06 07:36:51 -04:00
Trevor Baker 5167f080fd bug 638: mid-file BOM
A few files had BOM mid-file, which is allowed but not relevant to the tests.
tests pass with spidermonkey, v8 and jsc.
2013-05-07 15:31:41 -04:00
Norbert Lindenberg fbba29fb70 Added test data for proper rounding in NumberFormat.format. 2013-04-29 17:35:48 -07:00
Norbert Lindenberg 238ff38de6 Updated minor unit value for Uganda Shilling to 0 per ISO 4217 Amendment Number 155. 2013-04-15 20:05:50 -07: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
Norbert Lindenberg a2380a4257 Bug 1245 - Add test for missing argument to String.prototype.localeCompare 2013-02-07 20:55:25 -08:00
Norbert Lindenberg 46359091c7 Updated test402 main page to reflect that ECMA-402 is now an approved standard.
Fixed a property access in 6.4_c so that the error message shows the correct expected value.
2012-12-17 23:49:06 -08:00
Norbert Lindenberg f169d16273 Added tests to verify that constructors in Internationalization API can be called with non-objects as this values. 2012-11-05 22:48:52 +00:00
Norbert Lindenberg 8f6a50843a Bug 693: Remove "kk"/normalization property from Collator 2012-10-09 22:19:30 -07:00
Norbert Lindenberg ffe73305c6 New and improved tests for ECMAScript Internationalization API.
- Added test for proleptic Gregorian calendar with no year 0.
- Spelled 𠮷野家 correctly with supplementary characters.
- Fixed default value for useGrouping.
2012-10-04 23:19:33 -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 bcf9c18061 Added test to verify Unicode canonical equivalence in String.prototype.localeCompare. 2012-09-10 10:46:44 -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
Norbert Lindenberg 1af2425075 Added new tests for chapters 6 and 9 of ECMAScript Internationalization API Specification.
- Removed a few old test cases that were redundant with new, more comprehensive ones.
- Added testIntl.js as standard include for all console tests in test262.py – see related bug 574.
- Added .jshintrc file for settings for the JSHint tool.
2012-08-26 20:49:25 -07:00
Norbert Lindenberg 8cad7d03ce Added tests for requirements imposed on the built-in objects of the ECMAScript Internationalization API Specification by the introduction of chapter 15 of the ECMAScript Language Specification.
- Removed some old tests that were redundant with the new tests.
- Added testBuiltInObject.js as standard include for all console tests in test262.py – see related bug 574.
2012-08-26 20:48:49 -07:00
Norbert Lindenberg e77b0e06cf Moved Google tests from ch13 to ch12. 2012-08-22 18:23:26 -07:00
Norbert Lindenberg 043f19d25e Moved Google tests from ch12 to ch11. 2012-08-22 18:16:59 -07:00
Norbert Lindenberg ea81812a40 Moved Google tests from ch11 to ch10. 2012-08-22 18:06:31 -07:00
Norbert Lindenberg c3111850e3 Updated existing tests for June 2012 spec changes; removed LocaleList tests; fixed minor issues.
- Removed LocaleList tests; updated other tests so they don't depend on LocaleList.
- Updated tests so they no longer assume that the prototype object of a constructor is an instance of that constructor.
- Updated tests so that jshint is happy.
- Removed @path attributes from test files; updated comment in packager.py explaining why they're unnecessary.
- Removed "use strict" statements, which interfere with strict/non-strict testing.
- Removed testcase functions, which are unnecessary.
2012-08-22 17:53:26 -07:00
Norbert Lindenberg 9f4a513496 Merged changes. 2012-08-22 16:12:54 -07:00
Bill Ticehurst 19634b74f6 Update float value tests 2012-08-08 15:16:36 -07:00
Norbert Lindenberg 9a4b4011f8 Got test402 web site into usable shape. Unified headers of test262/402 sites.
- Added table of contents for ECMA-402.
- Added ability to load the right table of contents into results display.
- Added meaningful text to test402 web page.
- Updated test262 web pages for 5.1 edition of ECMA-262.
- Unified headers of test262/402 web pages to ECMAScript <area> <test>.
- Replaced text logos with styled text.
- Decapitalized some text; fixed a typo; expanded an abbreviation.
- Fixed a few issues found by W3 HTML validator.
2012-07-18 12:32:54 -07:00
t-adamre 385b4f7163 Add capability to run chapters individually from the website 2012-06-12 14:54:30 -07:00
Bill Ticehurst 9c48816277 Plugged a global thisarg hole with a new test and fixed an operator 2012-05-18 08:57:21 -07:00
Bill Ticehurst f117cde741 Adding more coverage for 10.4.3 based on feedback in bug https://bugs.ecmascript.org/show_bug.cgi?id=333 2012-05-17 10:30:10 -07:00
Bill Ticehurst 0dca29de4a Adding more tests to cover undefined being non-writable (see https://bugs.ecmascript.org/show_bug.cgi?id=223 ) 2012-05-16 18:08:23 -07:00
Bill Ticehurst 8646791add Removing RegEx test-case related to https://bugs.ecmascript.org/show_bug.cgi?id=326 until open issue is resolved. 2012-05-11 22:45:26 -07:00
Nebojsa Ciric cc9f5eab48 Initial intl402 checkin. 2012-04-16 13:23:13 -07:00
Bill Ticehurst 1087776d49 This is my first commit 2012-03-29 00:03:52 -07:00
David Fugate 87be1bf6ec https://bugs.ecmascript.org/show_bug.cgi?id=65 fixed. 2012-03-28 16:05:03 -07:00
David Fugate 2a112abbd5 Renamed a couple of files. 2012-03-27 13:01:22 -07:00
David Fugate 44234c8954 https://bugs.ecmascript.org/show_bug.cgi?id=289 is fixed. 2012-03-27 09:34:21 -07:00
David Fugate 898c63ab18 Fixed https://bugs.ecmascript.org/show_bug.cgi?id=288. 2012-03-27 09:27:57 -07:00
David Fugate d6634f8e10 Fixed https://bugs.ecmascript.org/show_bug.cgi?id=293. ConstructDate cannot be
salvaged (e.g., need locale info to properly predict whether we're subject to
DST).
2012-03-26 13:50:38 -07:00
David Fugate d67ef0cb5e Added whitespace (please ignore). 2012-03-16 10:27:59 -07:00
David Fugate 0474c73ea9 Fixed a typo. 2012-03-15 08:54:09 -07:00
David Fugate 4cebb176cf More work on https://bugs.ecmascript.org/show_bug.cgi?id=294. 2012-03-14 15:42:02 -07:00
David Fugate 7201416d53 https://bugs.ecmascript.org/show_bug.cgi?id=240 fixed (removed a BOM and
recoded a file to ANSI).
2012-03-14 14:22:41 -07:00
David Fugate 4ae147241a https://bugs.ecmascript.org/show_bug.cgi?id=294 partially fixed. Still
need to move some tests over to best practices.
2012-03-09 11:54:51 -08:00
David Fugate 448262e29e More @onlyStrict tests should have been @noStrict. 2012-03-08 12:04:15 -08:00
David Fugate 5882a21142 https://bugs.ecmascript.org/show_bug.cgi?id=287 is fixed (completely?). 2012-03-06 08:51:41 -08:00
David Fugate 0612ad7bb3 Added a LICENSE file to the root of the enlistment.
All Microsoft-contributed *.js and *.py sources now have Ecma's copyright header.
2012-02-29 14:23:47 -08:00
David Fugate e45ca2e0f3 https://bugs.ecmascript.org/show_bug.cgi?id=266 and https://bugs.ecmascript.org/show_bug.cgi?id=270 resolved. 2012-02-27 16:45:56 -08:00
David Fugate 4fb5071cd4 Migrated latest external\contributions\Microsoft\ietcLatest changes over to test\suite\*. 2012-02-27 15:46:23 -08:00
David Fugate c64d7b5758 https://bugs.ecmascript.org/show_bug.cgi?id=274
Fixed.

Re-gen'ed the website.
2012-02-24 15:40:42 -08:00
David Fugate d9e409ac1b https://bugs.ecmascript.org/show_bug.cgi?id=269
Extension clause permits function declarations more or less anywhere.
Moved four such negative test cases to best practices directory.
2012-02-24 14:28:50 -08:00
David Fugate 35af99abe1 https://bugs.ecmascript.org/show_bug.cgi?id=276 fixed. 2012-02-24 10:50:14 -08:00
David Fugate e0d156d38c Implemented the following work items:
- https://bugs.ecmascript.org/show_bug.cgi?id=44
- https://bugs.ecmascript.org/show_bug.cgi?id=45
2012-02-22 11:53:29 -08:00
David Fugate 394e82c6c2 Fixed more license headers. 2012-02-08 15:33:30 -08:00
David Fugate e0cf97e344 A conversion tool ripped Microsoft license headers out of globally scoped tests. Fixed 2012-02-07 09:34:36 -08:00