Commit Graph

1065 Commits

Author SHA1 Message Date
Leonardo Balter b1557df8ef Map.prototype.clear 2015-07-07 12:03:52 -04:00
Leonardo Balter ded4923d27 Map.prototype descriptor 2015-07-07 12:03:52 -04:00
Leonardo Balter a55385c716 Map constructor 2015-07-07 12:03:52 -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
Brian Terlson 284c30646c Merge pull request #351 from arv/fix-indentation
Unify indentation in test_monkeyYaml.py
2015-07-06 17:21:31 -05:00
Brian Terlson fb52ce9a5b Merge pull request #350 from pvginkel/missing-features-on-es6-string-functions
ES6 specific functions should declare a feature.
2015-07-06 17:20:10 -05:00
Brian Terlson 26faeed5c7 Merge pull request #347 from bocoup/all-monkey-all-the-time
Use "monkeyYaml" in all environments
2015-07-06 16:51:00 -05:00
Leonardo Balter 22097eeaf4 fixup
- move Object.prototype.__proto__ tests to annexB
- remove RegExp.prototype.unicode name test
2015-07-06 17:50:33 -04:00
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
Erik Arvidsson 8dd6aa22dd Unify indentation in test_monkeyYaml.py 2015-07-06 10:09:26 -04:00
Brian Terlson c6ac390868 Merge pull request #346 from arv/monkey-yaml-confused
monkeyYaml: Add support for line folding
2015-07-05 23:23:08 -05: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
Mike Pennisi 1303ef0d05 Use "monkeyYaml" in all environments
The "monkeyYaml" parser is intended to serve as a lightweight fallback
to Python's standard YAML parser in contexts where the latter is not
available. Any intentionally-simplified implementation will necessarily
exhibit non-standard behavior for different input, so not all input
accepted by the standard parser will be accepted by "monkeyYaml". If
loaded exclusively in fallback situations, these edge cases can only be
identified (and debugged) in the environments that require the fallback.
This has allowed developers to unknowingly author tests that cause
errors.

Update the test runner to use "monkeyYaml" in all cases, ensuring more
consistent behavior across contexts and precluding this class of
regression.
2015-07-01 14:49:54 -04:00
Erik Arvidsson 37b1d7a7a8 monkeyYaml: Add support for line folding
Fixes #345
2015-07-01 11:09:08 -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
Brian Terlson 30062b4b2a Merge pull request #342 from bocoup/ref-early-err
Make tests more strict
2015-06-29 11:58:05 -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 408318bfb0 Merge pull request #339 from bocoup/fix-website-includes
Complete migration of website assets
2015-06-26 12:00:56 -07:00
Mike Pennisi 15f9804e54 Complete migration of website assets
Update the URLs used by dynamic script loading code according to the new
location of the recently-moved web site scripts.
2015-06-26 14:34:24 -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
Brian Terlson 9abed155e3 Merge pull request #338 from bocoup/move-web-scripts
Move web scripts
2015-06-26 10:58:59 -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 b974c13751 Move website scripts to a dedicated directory
Some JavaScript source files are only relevant in the context of the
Test262 website. They should not be explicitly included by individual
tests, so their presence in the `harness/` directory alongside "include"
files is misleading.

Move the scripts to a location within the `website/` directory to
better-reflect their intended use. Update the relevant HTML templates
with the new locations.
2015-06-26 13:29:07 -04:00
Mike Pennisi 86c7e272a6 Remove support for legacy `$INCLUDE` syntax
Although test files once expressed dependencies on external files using
a global `$INCLUDE` function, that pattern was removed in favor of
declarative meta-data [1].

Remove the associated logic from the Python runner and the browser.

[1] See commit d4354d14d5.
2015-06-26 13:29:07 -04: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 55740e93d6 Merge pull request #334 from arv/fix-math-precision
Fix issue with math_precision.js
2015-06-25 14:19:47 -07:00
Erik Arvidsson 96e5b67cd5 Fix issue with math_precision.js
It was missing vars which was causing issues with our test harness
since we run all the files in strict mode.
2015-06-25 16:43:10 -04:00
Brian Terlson c295916c09 Merge pull request #332 from bocoup/update-links
Update spec references to use canonical source
2015-06-24 18:56:14 -07:00
Mike Pennisi f424d5f37b Update spec references to use canonical source 2015-06-24 16:36:59 -04: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
Brian Terlson 134c484abb Merge pull request #330 from bocoup/correct-promise-test
Fix bugs in Promise tests
2015-06-23 17:14:28 -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 cb617493d7 Update browser runner to honor `onlyStrict` flag
Unlike the console runner, the browser runner does not modify the
strictness of tests prior to running them. Regardless of a given test's
metadata, it runs every test exactly once, and it never enables strict
mode. This means that tests intended to function in strict mode must
declare the "use strict"; directive prologue in addition to the
`onlyStrict` flag.

For any test that specifies the `onlyStrict` metadata flag, transform
the source code by injecting a "use strict" directive prologue prior to
running the test.
2015-06-18 17:38:33 -04:00