Commit Graph

304 Commits

Author SHA1 Message Date
André Bargull a85f5039e0 Remove links to hg.ecmascript.org 2015-07-17 17:43:09 +02:00
André Bargull 85b248844d Fix test regressions
- Add missing 'negative: ReferenceError' in S7.9_A5.7_T1
- Remove stale 'negative: ReferenceError' in block-local-closure-get-before-initialization
- Remove all tail-call expressions in test/built-ins/Function
- And update code in test/built-ins/Function to simply use 'f()' instead of 'var r = f(); return r'

Fixes #383
2015-07-17 17:31:26 +02:00
Brian Terlson 13ebbebfd6 Merge pull request #360 from bocoup/negative-reform
Negative reform
2015-07-16 15:31:22 -07:00
Thomas Wood b10f06ada3 Fix 11.13.1-4-29gs.js incorrect comment explanation
SyntaxError => TypeError for writing to a non-writeable field.

Fixes #372
2015-07-15 20:32:47 +01:00
Mike Pennisi 10e0d977ec Prefer explicit error checking where possible
The `negative` frontmatter tag expresses an expectation for the behavior
of the test file as a whole. The `assert.throws` helper function offers
more fine-grained control over expectations because it may be applied to
specific statements and expressions. This makes it preferable in cases
where it may be used (i.e. when the test body does not describe a syntax
error or early error).

Re-implement assertions for errors to use the `assert.throws` helper
function wherever possible.
2015-07-10 14:12:57 -04:00
Mike Pennisi 6646d3e94f Re-organize class tests
The `test/language/class/` directory contains a small subset of
Test262's tests for ES2015 classes. The majority of tests for classes
are organized within `test/language/statements/class/`.

- Move the tests that rely on the ClassDeclaration syntactic form from
  `test/language/class/` to `test/language/statements/class/`.
- Move the test that relies on the ClassExpression syntactic form from
  `test/language/class/` to `test/language/expressions/class/`.
2015-07-10 10:36:05 -04:00
Brian Terlson 0622faca9d Merge pull request #329 from bocoup/unicode-escape-identifiers
Unicode escape identifiers
2015-07-09 16:00:00 -07:00
Mike Pennisi e0d59b0ede Add tests for Unicode escape sequences
- Re-organize existing tests for identifiers
  Name files according to their content (not their ES5 ID). Move tests
  for IdentifierName and LabelIdentifier to more appropriate directories.
- Simplify and correct tests
  Instead of asserting successful runtime evaluation using `eval`, rely
  on the test runner's ability to detect syntax errors. Update the test
  bodies to test the grammar referenced by their ES5 ID and
  description--the IdentifierStart pattern.
- Use `negative` frontmatter to assert SyntaxErrors
- Remove redundant tests
- Use `assert.equal` helper function
- Add equivalent tests for literal unicode chars
- Add tests for variable-length unicode escape
2015-07-09 18:52:22 -04:00
Mike Pennisi 03e862ee14 Re-organize generator tests
The `test/language/generators/` directory contained a single file that
concerned generators derived both from syntactic form and from a
built-in function.

Refactor this test into two files and place each in the appropriate
directory.
2015-07-09 15:07:19 -04:00
Brian Terlson d9f1758ef4 Merge pull request #340 from bocoup/raw
Implement `raw` flag
2015-07-07 14:35:11 -05:00
Mike Pennisi ab7617dedd Implement `raw` flag
Some tests involving the directive prologue are invalidated by source
text transformations that insert executable code in the beginning of the
script. Implement a `raw` flag that allows these tests to opt-out of
this transformation. Update the relevant tests to use this flag (and
remove references to globals only available when code is injected).

Update the Python runner accordingly:

- Do not run tests marked as "raw" in strict mode
- Reject invalid test configurations

Update the browser runner accordingly:

- Do not modify the script body of tests marked as "raw"
2015-07-07 13:18:55 -04:00
Brian Terlson 6f22dad152 Merge pull request #316 from bocoup/template-more
Improve tests for templates
2015-07-06 17:30:34 -05: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
Brian Terlson 20d39432b9 Merge pull request #337 from bocoup/remove-fn-exists
Remove unnecessary "include" file
2015-06-26 11:02:45 -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
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
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 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
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 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
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 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
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 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
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 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 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
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
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
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
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
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
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 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
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 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
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
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
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
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
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
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
Rick Waldron 373b356d33 computed-property-names: corrections. Fixes gh-198 2015-03-18 18:50:05 -04: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 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
Brian Terlson 4c510bf078 Merge pull request #167 from smikes/generator-tests
initial set of generator tests
2015-02-19 17:48:11 -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
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
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 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
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
Brian Terlson 2a74f0ec1b Reorganize ./test 2014-12-07 15:33:09 -08:00