Commit Graph

74 Commits

Author SHA1 Message Date
Claude Pache a266cfa8cb Add tests for known violation of invariants (#841)
Some popular JavaScript engines display violation of invariants about
property attributes for some non-standard but “web-reality” object
properties. Add tests against such violations

Closes #653
Fixes #649
2017-03-01 15:32:46 -05:00
Rick Waldron f280db452e Test Symbol.toStringTag overrides on primitive wrapper prototypes. Closes gh-809 (#837)
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-01-20 11:55:36 -08:00
jugglinmike 71e573f7da Add tests for realm interactions (#688)
* Add tests for prototype realm inference

* Add tests for miscellaneous realm concerns

* Add tests for realm of spec-created Errors

In some cases, Error objects produced by the specification are
observable from ECMAScript code. Among these cases, some are further
differentiated in that they occur outside of any built-in function and
may be triggered through syntactic production directly. The current
realm record is commonly interpreted incorrectly under these
circumstances.

Add tests asserting that the expected realm record is used when
constructing such Error objects.

* Add tests for realm use in ArraySpeciesCreate

* Add tests for function realm retrieval

* Add tests for cross-realm behaviors of Symbols

* Add tests for GetValue and PutValue

* Add tests for realm of spec-created Arrays

In some cases, Arrays produced by CreateArrayFromList are observable
from ECMAScript code. Among these cases, two occur outside of any
built-in function and may be triggered through syntactic production
directly. The current realm record is commonly interpreted incorrectly
under these circumstances.

Add tests asserting that the expected realm record is used when
constructing arrays.

* Add test for spec-created object

* fixup! Add tests for realm of spec-created Errors

* fixup! Add tests for realm of spec-created Errors

* fixup! Add tests for prototype realm inference

* fixup! Add tests for miscellaneous realm concerns
2016-10-24 10:43:17 -07:00
Jordan Harband 55cf59c80d `Object.getOwnPropertyDescriptors`: add test to ensure undefined descriptors are not added. (#662)
Per https://github.com/tc39/ecma262/pull/593
2016-08-01 13:54:53 -04:00
Leonardo Balter 3868f8f765 Update test for distinct NaN replacement on DefineOwnProperty
Fixes gh-683
Ref gh-648
Ref tc39/ecma262#353
2016-07-06 11:30:33 -04:00
Leo Balter e49d2661a8 Improve assertions comparing values to NaN (#690)
The global isNaN is not precise at all, and Number.isNaN is an ES6 feature that makes it preferrable to use assert's sameValue for NaN values, as it handles it internally using the comparison.
2016-07-01 11:22:55 -07:00
Leonardo Balter 91d06f50b5 Update esid for Object.getOwnPropertyDescriptors 2016-06-15 18:09:58 -04:00
jugglinmike ee7496f713 Add tests for usage of IsArray (#667) 2016-06-10 15:07:40 -04:00
jugglinmike f1c9cef154 Add test for NaN in OrdinaryDefineOwnProperty (#648)
These semantics are currently contested, but the test reflects the
intended behavior of the latest version of the specification.
2016-06-08 12:40:39 -04:00
Mike Pennisi eb644bb2da Reduce reliance on `fnGlobalObject.js`
This harness function is not necessary in the majority of cases in which
it is used. Remove its usage to simplify tests and decrease the amount
of domain-specific knowledge necessary to contribute to the test suite.

Persist the harness function itself for use by future tests for ES2015
modules (such a helper is necessary for tests that are interpreted as
module code).
2016-04-25 11:09:21 -07:00
André Bargull 1517615a21 Fix test bugs 2016-02-23 18:55:06 +01:00
Leonardo Balter bf782c8421 s/id/esid
Fixes #477
2016-02-22 09:47:42 -05:00
Jordan Harband d530c87b41 Create `proxyTrapsHelper` to throw on all traps by default. 2016-02-13 15:56:47 -08:00
Jordan Harband cf83ad5e73 s/esid/id/g 2016-02-01 23:44:48 -08:00
Jordan Harband 940d8698d1 Add test with duplicate keys.
Per https://github.com/tc39/test262/pull/484#issuecomment-178145781
2016-02-01 16:57:31 -08:00
Jordan Harband 0a5e8372aa Review feedback. 2016-02-01 10:44:25 -08:00
Jordan Harband cf578d5190 Add Object.getOwnPropertyDescriptors tests. 2016-02-01 01:45:23 -08:00
Leonardo Balter ebda746e6a Replace es7id tags with id 2016-02-12 16:22:56 -08:00
Leonardo Balter df2d760d60 Add tests for Object.prototype extensibility and its immutable prototype
Object.prototype is extensible and an immutable prototype exotic object,
it's [[Prototype]] value is null

Ref tc39/ecma262#308
2016-02-12 13:10:46 -02:00
Leonardo Balter e3c5f66a40 Fix case sentitive error on test/built-ins/Object folder
Fixes gh-482
2016-01-29 10:02:25 -05:00
André Bargull ca61d9b876 Add missing tests for "length" and "name" properties of built-in functions
Note: Already uses the updated DataView function lengths from tc39/ecma262#266 (ES2016 Draft 2015-12-20)
2016-01-15 18:12:05 +01:00
Jordan Harband 17e9f3aa00 Add Proxy tests to ensure observable semantics are maintained 2015-12-14 17:00:33 -08:00
André Bargull df9bf58204 Tests for changes introduced in ES2015 (Annex E)
- String case functions iterate over code points
- Has called before Get in Array.p.reverse
- Add test for web-compat Array.p.splice behaviour; Plus missing test for no arguments case
- ToObject no longer applied to this-value in Array.p.toLocaleString
- ToObject no longer applied to this-value in Object.p.toLocaleString
- Add tests for Object.p.propertyIsEnumerable and symbol property keys
- Add tests for Object.p.hasOwnProperty and symbol property keys
- Test property descriptor attributes of message property
- Tests for RegExp constructor checks
- Date constructor when called with date object
- TimeClip never returns negative zero
2015-09-07 17:25:55 +02:00
Rick Waldron 9ccc663936 Merge pull request #415 from anba/remove-runTestCase-finally
Replace runTestCase when used with try-finally
2015-09-04 15:20:26 -04:00
Rick Waldron a2554d909b Merge branch 'remove-runTestCase-builtins-other' of https://github.com/anba/test262 into anba-remove-runTestCase-builtins-other
# By André Bargull
# Via André Bargull
* 'remove-runTestCase-builtins-other' of https://github.com/anba/test262:
  Replace runTestCase with assert helpers, rest [test/built-ins]
  Replace runTestCase with assert helpers [test/built-ins]

Conflicts:
	test/built-ins/Array/from/S22.1.2.1_T1.js
	test/built-ins/Array/from/S22.1.2.1_T2.js
	test/built-ins/Array/from/S22.1.2.1_T3.js
2015-09-04 13:25:41 -04:00
Rick Waldron 50423896d5 Merge pull request #414 from bocoup/symbol-to-string-tag
Add tests for well-known Symbol: @@toStringTag
2015-09-02 17:15:55 -04:00
André Bargull 4ec97779fd Replace runTestCase with assert helpers, rest [test/built-ins] 2015-08-13 17:57:23 +02:00
André Bargull 6b48d9f1b2 Replace runTestCase with assert, try-finally, [test/built-ins/Object] 2015-08-13 17:42:06 +02:00
Brian Terlson 39b5b7272c Merge pull request #392 from anba/remove-runTestCase-throws
Replace runTestCase with assert.throws
2015-08-11 10:42:07 -07:00
André Bargull 4f35b40617 Replace runTestCase with assert helpers [test/built-ins/Object] 2015-08-11 17:53:40 +02:00
André Bargull 44bc67797e Replace runTestCase with assert helpers [test/built-ins/Object/defineProperties] 2015-08-11 17:53:17 +02:00
André Bargull 0a37298b46 Replace runTestCase with assert helpers [test/built-ins/Object/defineProperty] 2015-08-11 17:52:55 +02:00
André Bargull c2a61d1735 Replace runTestCase with assert helpers [test/built-ins/Object/{getOwnPropertyNames, keys}] 2015-08-11 17:52:32 +02:00
André Bargull ed0a2bad55 Replace runTestCase with assert helpers [test/built-ins/Object/getOwnPropertyDescriptor] 2015-08-11 17:52:09 +02:00
André Bargull 8d358cbd07 Replace runTestCase with assert helpers [test/built-ins/Object/is{Frozen, Extensible, Sealed}] 2015-08-11 17:51:42 +02:00
André Bargull 9cc4016866 Replace runTestCase with assert helpers [test/built-ins/Object/{freeze, preventExtensions, seal}] 2015-08-11 17:51:16 +02:00
André Bargull 4facaaab5f Replace runTestCase with assert helpers [test/built-ins/Object/create] 2015-08-11 17:50:53 +02:00
André Bargull f3e919209c Replace runTestCase with assert.throws [test/built-ins/Object] 2015-08-11 17:43:48 +02:00
Mike Pennisi d6bbbc9aed Add tests for well-known Symbol: @@toStringTag 2015-08-07 20:02:44 -04:00
Brian Terlson 2284a46ebf Merge pull request #385 from anba/license
Change license headers to standard format
2015-07-17 11:03:07 -07:00
André Bargull 023c7aa69e - Remove inline license
- Remove duplicate word
- Add missing license
2015-07-17 19:55:00 +02:00
André Bargull a85f5039e0 Remove links to hg.ecmascript.org 2015-07-17 17:43:09 +02: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
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 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
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
Yanli Xu 07b21a5e44 add tests for Object.assign 2015-06-18 15:23:15 +08:00