Commit Graph

762 Commits

Author SHA1 Message Date
Michael Ficarra 4a5c52beb5 add line feeds following `{` of F.p.toString output for dynamic functions (#803)
This aligns the tests with this recent change to the F.p.toString proposal:
7432ded0e6
2016-12-06 12:23:05 -05:00
Simon Richter 08071715e4 Add missing operator in test (#804)
Automatic Semicolon Insertion hides an error here by transforming a long
ReturnStatement into a ReturnStatement followed by an ExpressionStatement
that is never reached. The conditions on the second line are thus never
tested.
2016-12-06 12:22:29 -05:00
Kevin Gibbons c779cba592 Remove tests for arguments.caller (#797) 2016-11-22 11:59:37 -05:00
Kevin Gibbons e6abf652d9 Ensure that tests calling $DONE have the async flag 2016-11-21 10:14:30 -05:00
Dmitry Panov ffd8039386 Replaced tabs with spaces in YAML. 2016-11-19 23:13:26 +00:00
Aleksey Shvayka bef7f988d2 Ensure Proxy [[Get]] and [[Set]] pass correct receiver (#792)
* Ensure Proxy [[Get]] passes correct receiver

* add [[Get]] test for proxy in prototype

* diversify how traps are missing

* ensure [[Set]] passes correct receiver

* rename to match other tests

* remove extra tests

* add esid

* add description
2016-11-17 14:26:34 -08:00
Sathya 84e6ba81d0 Update context-non-object-with-promise.js (#790)
Promise constructor accepts only one executor function
2016-11-15 10:45:03 -08:00
Henrique Ferreiro d1d91af256 Integer indexed property descriptor must be non-configurable (#786)
* Integer indexed property descriptor must be non-configurable

* Make the configurable key explicitly 'false'
2016-11-11 09:42:01 -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
Tom Care f39b7cfb7a Merge pull request #701 from bocoup/audit2016-section-25-promises
Extend coverage for Section 25 - Promises
2016-10-20 13:02:49 -07:00
Viktor 22f8df2315 Update S15.4.4.11_A7.2.js (#777)
`Array.prototype.sort` should be used instead of `Array.sort`
2016-10-19 14:00:35 -07:00
Leo Balter 8c67edab05 Fix invalid yaml on tests for global (#772) 2016-10-07 10:34:11 -07:00
Henrique Ferreiro 0651a7fad1 setPrototypeOf returns 'true' if called with the target's prototype (#768) 2016-10-05 13:25:35 -04:00
Juan Dopazo b77714514e Add tests for non-optional arguments of Date.UTC() 2016-09-29 13:59:23 -07:00
Jakob Gruber 81f66a5a3a Tests for new lastIndex semantics (#760)
* Tests for new lastIndex semantics

Add and update tests for the lastIndex semantic change introduced in
https://github.com/tc39/ecma262/pull/627.

* Address comments
2016-09-29 10:41:37 -07:00
Jordan Harband be16caa4c8 Add `global` tests. (#765)
Closes #605, relates to #567 / https://github.com/tc39/proposal-global/issues/12 / 9c45e2ac68
2016-09-28 10:53:50 -07:00
Keith Miller ba93cfa52d Update the toString/proxy.js to test stringifing functions 2016-08-30 14:03:54 -07:00
Viktor 29c2384449 Update return-values.js (Number#toExponential bug in Firefox) (#751)
Update test cases for Number#toExponential

Includes test cases addressing a known bug on Firefox 48.

Ref https://bugzilla.mozilla.org/show_bug.cgi?id=944846
2016-08-29 17:33:55 -04:00
Anthony Van de Gejuchte 11d7dcc997 Remove duplicate description keys 2016-08-27 18:55:27 -04:00
Tom Care b2b4254266 Merge pull request #727 from bocoup/audit2016-section-20-date
Improve coverage for section 20
2016-08-25 10:30:43 -07:00
jugglinmike c5cbf4122d Improve coverage for section 9 (#726)
* Assert creation of 'arguments' object

Ensure that the 'arguments' object is created in cases where it is not
required by the body but is required by the parameters.

* Add tests for cases that disable "arguments" map

* Add tests for NewTarget override of bound function

* Add test for properties of exotic String objects
2016-08-05 10:07:02 -07:00
Tom Care 8a6d7a49ee Merge pull request #711 from bocoup/audit2016-section-21-regexp
Improve coverage for section 21: RegExp
2016-08-04 16:22:18 -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
Brian Terlson dbf251586e Add tests for async functions
Closes #479
2016-07-28 15:11:28 -07:00
Leo Balter 3275f17cd4 Add tests for Number#toExponential (#664)
* Add tests for Number#toExponential
2016-07-21 10:57:05 -07:00
Tom Care e3ae1c88ff Merge pull request #699 from bocoup/685-range-check
Fix range check tests for DataView#set methods
2016-07-19 14:55:14 -07:00
Leo Balter e8e0fb9d34 Update tests for Proxy.[[SetPrototypeOf]] (#716)
* Update tests for Proxy.[[SetPrototypeOf]]

Expand coverage for proxies' [[SetPrototypeOf]] and update tests to
verify that target's [[IsExtensible]] is not called anymore if trap
returns a falsy value.

Ref tc39/ecma262#331
2016-07-19 14:51:02 -07:00
jugglinmike 2c5138a4c7 Add tests for abrupt completions during JSON.parse (#721)
* Add tests for abrupt completions during JSON.parse

Due to the use of the IsArray abstract operation, observing many of the
targeted semantics requires the use of a Proxy exotic object. Mark the
tests that require this unrelated ES2015 feature using a dedicated
"features" flag.
2016-07-19 14:33:27 -07:00
Mike Pennisi acebbcaeb2 Add tests for Date.prototype methods 2016-07-09 13:09:15 -04:00
Mike Pennisi 8918e860cc Add tests for Date.UTC 2016-07-09 12:15:17 -04:00
Mike Pennisi 8791771268 Add test for subclassing Date 2016-07-09 12:15:16 -04:00
Mike Pennisi 7ac2aa06ca Add test for `name` property of Date constructor 2016-07-09 12:15:16 -04:00
Mike Pennisi 577a9cac9e Add tests for use of ToPrimitive in Date ctor 2016-07-09 12:15:15 -04:00
Leonardo Balter 7b1eddf6b0 Update and expand tests for isNaN 2016-07-07 15:55:28 -04:00
Leonardo Balter 81f22800fa Update and expand tests for isFinite 2016-07-07 15:55:27 -04:00
jugglinmike 96c4e7730b Json whitespace (#724)
* Express JSON syntax tests with multiple assertions

When written with a single assertion, this test verifies only that "one
or more" of the Unicode points produces a SyntaxError. Re-factor the
test so that parsing behavior for each code point can be tested in
isolation.

* Re-introduce assertion

ECMAScript edition 2016 relies on the Unicode standard at version 8.0.0.
As part of a larger effort to update Test262 accordingly, the assertion
for the SyntaxError resulting from the use of the Mongolian Vowel
Separator (U+180E) was removed. However, ECMA-401 (The JSON Data
Interchange Format) continues to describe "insignificant whitespace" as
follows:

> Insignificant  whitespace  is  allowed  before  or  after  any  token.
> The  whitespace  characters  are:  character  tabulation  (U+0009),
> line  feed  (U+000A),  carriage  return (U+000D),  and  space
> (U+0020)

And because ECMA262 specifies step 2 of the `JSON.parse` algorithm as
follows:

> 2. Parse JText interpreted as UTF-16 encoded Unicode points (6.1.4) as
>    a JSON text as specified in ECMA-404. Throw a SyntaxError exception
>    if JText is not a valid JSON text as defined in that specification.

...the use of U+180E between JSON tokens should continue to produce a
SyntaxError, regardless of ECMA262's updated Unicode standard.

* fixup! Express JSON syntax tests with multiple assertions
2016-07-06 23:06:58 -07:00
Leonardo Balter 5525a64fbb
Update DataView method tests for detached buffer check order 2016-07-06 14:37:34 -03: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
Mathias Bynens 3a5a09eba2 Ensure U+180E is no longer considered whitespace
Ref. https://hashseed.blogspot.com/2014/08/in-ecma-262-5.html
Ref. https://github.com/tc39/ecma262/pull/300#issuecomment-181376767
Ref. 9b10d2a597

Fix and add @anba’s U+180E tests
2016-07-06 10:11:32 -04:00
jugglinmike f554f68ae9 Improve coverage for section 21: String (#712)
This changeset increases coverage for section 21, specifically "21.1 String
Objects".

* Add tests for "this" validation of String methods

* Add tests for ToNumber as used by String methods

* Add test for `length` prop of exotic String objs

* fixup! Add test for `length` prop of exotic String objs
2016-07-05 14:04:31 -07:00
Leonardo Balter 021d44822c Add tests for custom ctor returns on TypedArrays from and of 2016-07-05 16:29:23 -04:00
Leonardo Balter 6fcbfaf0f0 Assert TypedArray iterators inherit from ArrayPrototypeIterator 2016-07-05 16:29:22 -04:00
Leonardo Balter a78cf3de4a Fix tests for DataView#setFloat when no value arg is provided
Fixes gh-686
2016-07-05 16:29:21 -04:00
Leonardo Balter 09be4da196 Fix test for TypedArray(length)
Fixes gh-694
2016-07-05 16:29:21 -04:00
Leonardo Balter 6497c1f5cc Merge tests for TypedArrays#length when this is not object 2016-07-05 16:29:20 -04:00
Leonardo Balter d190e700f3 Add bit-precision tests for TypedArray#copyWithin 2016-07-05 16:20:16 -04:00
jugglinmike fce8b5852d Extend coverage for Section 25 - Generators (#700)
* Improve tests for GeneratorPrototype methods

- Assert return values more consistently
- Expand tests for constraints on `this` value

* Add more tests for dynamic GeneratorFunctions

* Add more tests for GenerationFunction.prototype

* Add more tests for the GeneratorFunction object

* Extend test: GeneratorFunction.prototype.prototype

* Improve precision of tests for generator methods

Extend existing assertions to explicitly verify that execution halts at
the intended location. Correct tests which were previously asserting
this behavior in contexts that did not match their name/description.

* Remove unused variables

* fixup! Improve tests for GeneratorPrototype methods

* fixup! Improve tests for GeneratorPrototype methods
2016-07-01 11:24:27 -07: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
Mike Pennisi 4e781091f8 Improve tests for RegExp `lastIndex` property
The prior version of this test asserted only the property's
configurability. It was also limited to the RegExp object as returned
from the RegExp constructor.

Extend the test to verify all values of the property descriptor.
Duplicate these assertions in a separate file dedicated to the RegExp
object as created from a RegExp literal.
2016-06-29 17:29:43 -04:00
Mike Pennisi 1d0dbc5726 Assert absense of internal slot on RegExpPrototype
The previous commit removed two invalid tests designed to ensure that
the RegExpPrototype object is not itself a RegExp object. Introduce a
new test to assert this detail in a way that accounts for the
possibility of host extensions.
2016-06-29 17:29:42 -04:00
Mike Pennisi 9c3bb8d69e Remove invalid tests for %RegExpPrototype%
From ECMA262, section 16:

>  Except as restricted in 16.2, an implementation may provide
>  additional types, values, objects, properties, and functions beyond
>  those described in this specification.

Section 16.2 makes no mention of the `lastIndex` property of the
%RegExpPrototype% intrinsic. It is therefor not a violation to define
%such an "own" property.

Remove the tests that assert otherwise.
2016-06-29 17:29:42 -04:00
Mike Pennisi b9587262d4 Add tests for return value: 'get RegExp.p.source' 2016-06-29 17:29:42 -04:00
Mike Pennisi e1cd1e7f85 Update and tests for %RegExpPrototype% methods
A recent web-compatability change to ECMA262 modified the semantics of
the accessor methods on the %RegExpPrototype% intrinsic--the "get"
accessors now include steps dedicated to the case where the "this" value
is the %RegExpPrototype% object itself.

Remove the tests that have been invalidated by this change, introduce
tests asserting the new behavior, and extend coverage for other possible
"this" values.
2016-06-29 17:07:46 -04:00
Leonardo Balter f3bfaa692d Expand tests for Math.log1p 2016-06-27 16:04:17 -04:00
Leonardo Balter 080afac906 Update tests for Math.{sign,sin,trunc} 2016-06-27 16:04:17 -04:00
Leonardo Balter e3e7a510ff Expand tests for Math.imul 2016-06-27 16:04:17 -04:00
Leonardo Balter 80c1c46b53 Update tests for Math.hypot 2016-06-27 16:04:16 -04:00
Leonardo Balter f88c93520d Expand tests for Math.fround 2016-06-27 16:04:16 -04:00
Leonardo Balter d6eb13b4b5 Expand tests for Math.clz32 2016-06-27 16:04:15 -04:00
Leonardo Balter 440211e96a Update tests for Math.acosh 2016-06-27 16:04:15 -04:00
Leonardo Balter 561ac9e473 Extend coverage for Math.abs 2016-06-27 16:04:15 -04:00
Leonardo Balter 0f29f57fdc Update Math functions to handle distinct -0 and +0 2016-06-27 16:04:15 -04:00
Leonardo Balter 13e01e4340 Add tests for Math.{max,min} handling zeros 2016-06-27 16:04:14 -04:00
Leonardo Balter ec3a89ebb8 Add test for the Math object 2016-06-27 16:04:14 -04:00
Leonardo Balter 059b7cd4a3 Remove invalid tests
ConversionError and RegExpError tests are methods that existed on
something that preceeded a IE9 Standard. They do not exist in the
specs, at least since ES5.

It's not test262 responsibility to maintain these tests as these
features can be freely implemented by any runtime.
2016-06-27 15:57:56 -04:00
Mike Pennisi 1ec40f349a Re-write tests for Promise.prototype internal slots
The original implementation of the test for the absense of a
[[PromiseState]] internal slot did not actually assert the documented
semantics. Re-implement the test to rely on the IsPromise abstract
operation (via `Promise.prototype.then`) to accurately ensure that the
object does not have a [[PromiseState]] internal slot.

In relying on the semantics of the `instanceof` operator, the original
test for the [[Prototype]] internal slot was imprecise (the assertion
could be satisfied if additional objects were incorrectly defined on the
prototype chain). Re-write the test to assert the value of the
[[Prototype]] internal slot directly.
2016-06-27 15:31:01 -04:00
Mike Pennisi cc7c77b9a1 Add test for Promise prototype property descriptor 2016-06-27 15:31:00 -04:00
Mike Pennisi 23659d6128 Extend coverage for `Promise.prototype.catch` 2016-06-27 15:31:00 -04:00
Mike Pennisi 12902b29c0 Add tests for invocation of Promise capability fns 2016-06-27 15:26:36 -04:00
Mike Pennisi c62700c8ef Assert iterator protocol for Promise methods 2016-06-27 15:26:35 -04:00
Mike Pennisi 2b5efe135c Add test for abrupt completion during Promise.all 2016-06-27 15:19:48 -04:00
Mike Pennisi b458d9bcc4 Add more tests for Promise resolution
Ensure that resolution is ignored for Promises that have already been
rejected.
2016-06-27 15:19:48 -04:00
Mike Pennisi 023ab45cf0 Extend tests for Promise resolve and reject fns
Assert expected return values in all cases.
2016-06-24 20:17:24 -04:00
Leonardo Balter 9ff1cbb50c
Fix range check tests for DataView#set methods
Fixes gh-685
2016-06-23 17:34:58 -04:00
Leonardo Balter 1eaae52eb8 Add prop-desc tests for Number.prototype properties 2016-06-23 14:42:40 -04:00
Leonardo Balter 4dd7e5aa4b Extend Number tests to assert abrupt completions 2016-06-23 14:42:40 -04:00
Leonardo Balter 9223f56344 Update and add basic prop-desc tests for Number
and Number.prototype
2016-06-23 14:42:40 -04:00
Leonardo Balter 8066b9ecaf Add tests for Number.{parseFloat,parseInt} 2016-06-23 14:42:39 -04:00
Leonardo Balter 47f806ecef Update tests for Number.NaN 2016-06-23 14:42:39 -04:00
Leonardo Balter 4492b8032b Add tests for Number.isSafeInteger 2016-06-23 14:42:39 -04:00
Leonardo Balter 3685e6b7b3 Update and add tests for Number.isNaN 2016-06-23 14:42:39 -04:00
Leonardo Balter c246bc7d09 Add tests for Number.isInteger 2016-06-23 14:42:39 -04:00
Leonardo Balter 46d8c3d6b8 Add tests for Number.isFinite 2016-06-23 14:42:39 -04:00
Leonardo Balter 454b8f10b8 Update and add tests for Number.POSITIVE_INFINITY 2016-06-23 14:42:39 -04:00
Leonardo Balter 7e55e54538 Update and add tests for Number.NEGATIVE_INFINITY 2016-06-23 14:42:39 -04:00
Leonardo Balter 36909a0595 Add tests for Number.EPSILON 2016-06-23 14:42:38 -04:00
Tom Care 149cd4ae9a Merge pull request #673 from bocoup/relax-test
Relax test for forbidden extension
2016-06-22 15:41:46 -07:00
Leonardo Balter ac628975a3
Remove unused variables
Fixes gh-597
2016-06-21 13:03:22 -04:00
Leonardo Balter 813bb5166c
Remove precision-equivalency tests
Due to specs approximation values, some tests are invalid as the harness
helpers rely on another approximated values as Math.LN2.
2016-06-20 17:44:11 -04:00
Leonardo Balter 91d06f50b5 Update esid for Object.getOwnPropertyDescriptors 2016-06-15 18:09:58 -04:00
Leonardo Balter 60e61a15e0 Add tests for Number#toPrecision 2016-06-15 17:59:12 -04:00
Mike Pennisi c0a3b2db7d Relax test for forbidden extension
According to ES2015, functions created using the FunctionDeclaration
syntax may define "own" properties named "caller" and "arguments" as
long as this is done using the AddRestrictedFunctionProperties abstract
operation.

Remove the assertions that prohibit this extension.
2016-06-14 15:26:12 -04:00
Leonardo Balter cfc77c83e3 Update tests for TypedArrays, DataView and ArrayBuffer
Ref tc39/ecma262#410
2016-06-13 16:17:09 -04:00
jugglinmike a2b3370b0b Add tests for additional uses of @@toPrimitive (#666) 2016-06-10 15:08:59 -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
jugglinmike 07dcff3e27 Add tests for CreateByeDataBlock (#663)
Ensure that all bytes of newly-created Data Block are initialized to
zero.
2016-06-03 12:38:03 -04:00
Leonardo Balter c7f9b12cc4 Add tests for Array.prototype.includes 2016-06-01 15:35:00 -04:00
jugglinmike 30d4c04182 Improve test coverage for Symbol (#645) 2016-05-30 16:55:45 -04:00
Leonardo Balter f912927b1f [TypedArrays] Apply code consistency fixes after checks with JSHint 2016-05-27 15:59:14 -04:00
Leonardo Balter 56b988883e Add tests for %TypedArray%.prototype.includes 2016-05-25 10:31:55 -04:00
Leonardo Balter d3effa125f Add tests for DataView.prototype.setUint32 2016-05-25 10:28:01 -04:00
Leonardo Balter d672cf24ea Add tests for DataView.prototype.setUint16 2016-05-25 10:28:00 -04:00
Leonardo Balter ab494e1e32 Add tests for DataView.prototype.setUint8 2016-05-25 10:28:00 -04:00
Leonardo Balter 88f427b4b9 Add tests for DataView.prototype.setInt32 2016-05-25 10:28:00 -04:00
Leonardo Balter a9b65bdf2d Add tests for DataView.prototype.setInt16 2016-05-25 10:28:00 -04:00
Leonardo Balter 138f8b1fdb Add tests for DataView.prototype.setInt8 2016-05-25 10:27:59 -04:00
Leonardo Balter 1b64789ce0 Add tests for DataView.prototype.setFloat64 2016-05-25 10:27:59 -04:00
Leonardo Balter da67e6b305 Add tests for DataView.prototype.setFloat32 2016-05-25 10:25:05 -04:00
Leonardo Balter bc42c6ab5c Add harness for byte conversion values
Update testTypedArrayConversions to require byteConversionValues
2016-05-25 10:10:50 -04:00
Leonardo Balter 9565f013ce Add tests for DataView.prototype.getUint8 2016-05-19 12:12:13 -04:00
Leonardo Balter 1567b685e2 Add tests for Dataview.prototype.getInt8 2016-05-19 12:12:12 -04:00
Leonardo Balter 5e767dc2bb Add tests for DataView.prototype.getUint16 2016-05-19 12:12:12 -04:00
Leonardo Balter 673b63e83d Add tests for DataView.prototype.getInt16 2016-05-19 12:12:12 -04:00
Leonardo Balter 7f8e559cda Add tests for DataView.prototype.getUint32 2016-05-19 12:12:11 -04:00
Leonardo Balter 0d5b6ea20c Add tests for DataView.prototype.getInt32 2016-05-19 12:12:10 -04:00
Leonardo Balter c1cdf88281 Add tests for DataView.prototype.getFloat64 2016-05-19 12:12:10 -04:00
Leonardo Balter 47b323cf89 Add tests for DataView.prototype.getFloat32 2016-05-18 19:07:34 -04:00
Leonardo Balter 89c0a952fd Add tests for DataView.prototype.byteOffset 2016-05-18 18:58:04 -04:00
Leonardo Balter 339a3527c9 Add tests for DataView.prototype.byteLength 2016-05-18 18:58:04 -04:00
Leonardo Balter 7b529f00cb Add tests for DataView.prototype.buffer 2016-05-18 18:58:04 -04:00
jugglinmike 332be5b8bc Correct test for NaN canonicalization (#640)
Because implementations are free to select any valid NaN value during
GetValueFromBuffer, tests concerning semantics for consistent NaN value
encoding cannot rely on values returned from that abstract operation.

Update the test for `%TypedArray%.prototype.map` to set the same NaN
values via `map` as set in the "control" array.
2016-05-17 14:30:53 -04:00
Leonardo Balter ee5356b86a Add tests for the DataView constructor 2016-05-16 09:50:04 -04:00
Leonardo Balter 3af3af3d40 Add tests for ArrayBuffer.prototype.byteLength 2016-05-12 10:30:17 -04:00
Leonardo Balter a0cd3b07fc Add tests for TypedArrays sort 2016-05-12 10:26:42 -04:00
Leonardo Balter 2c7c989439 Add tests for TypedArrays set 2016-05-12 10:19:58 -04:00
jugglinmike b17ffc0298 Add tests for NaN handling with Typed Arrays (#623)
Ensure that NaN values are canonicalized consistently by all invocations
of SetValueInBuffer. Also ensure that `%TypedArray%.prototype.set` and
`%TypedArray%.prototype.slice` preserve the bit-level encoding of the
source data.

Use a set of experimentally-derived expressions known to produce NaN
values with distinct bit patterns in various platforms.
2016-05-12 10:16:03 -04:00
jugglinmike d9d3f7cf4f Update RegExp tests (#614)
The RegExpBuiltinExec internal operation was modified in March of 2016
[1]: instead of referencing the `global` and `sticky` properties of the
"this" value, the algorithm now infers those values from the object's
[[OriginalFlags]] internal slot.

This change invalidated a number of tests. In cases where the change
resulted in an observable behavior, update the tests to assert the
latest specification text. In cases where the change removed a
previously-observable behavior, remove the files completely.

Specification text change set:

>        1. Assert: Type(_S_) is String.
>        1. Let _length_ be the number of code units in _S_.
>        1. Let _lastIndex_ be ? ToLength(? Get(_R_, `"lastIndex"`)).
>      - 1. Let _global_ be ToBoolean(? Get(_R_, `"global"`)).
>      - 1. Let _sticky_ be ToBoolean(? Get(_R_, `"sticky"`)).
>      + 1. Let _flags_ be the value of _R_'s [[OriginalFlags]] internal slot.
>      + 1. If _flags_ contains `"g"`, let _global_ be *true*, else let _global_ be *false*.
>      + 1. If _flags_ contains `"y"`, let _sticky_ be *true*, else let _sticky_ be *false*.
>        1. If _global_ is *false* and _sticky_ is *false*, let _lastIndex_ be 0.
>        1. Let _matcher_ be the value of _R_'s [[RegExpMatcher]] internal slot.
>      - 1. Let _flags_ be the value of _R_'s [[OriginalFlags]] internal slot.
>        1. If _flags_ contains `"u"`, let _fullUnicode_ be *true*, else let _fullUnicode_ be *false*.
>        1. Let _matchSucceeded_ be *false*.
>        1. Repeat, while _matchSucceeded_ is *false*

[1] https://github.com/tc39/ecma262/pull/494
2016-05-09 19:34:52 -04:00
Leonardo Balter bace781a5b Add tests for TypedArrays slice 2016-05-09 17:27:56 -04:00
Ian Halliday 022888be9e Remove duplicate front matter keys (#621)
Fixes #620
2016-05-06 13:41:33 -04:00
Leonardo Balter ba31c4da9c s/interaction/iteration on TypedArray.prototype methods 2016-05-06 09:51:08 -04:00
Leonardo Balter dfbf33b3ac Add tests for TypedArrays reduce and reduceRight 2016-05-06 09:50:51 -04:00
Leonardo Balter 800300e120 Add tests for TypedArrays reverse 2016-05-05 16:59:25 -04:00
Leonardo Balter 19c09e95d9 Add tests for TypedArrays join 2016-05-05 16:59:25 -04:00
Leonardo Balter e6f4b20834 Add tests for TypedArrays filter 2016-05-05 15:16:26 -04:00
jugglinmike 4980fd264e Add tests for ArraySpeciesCreate (#600)
Assert the expected behavior of the ArraySpeciesCreate abstract
operation in the 5 Array instance methods from which it is invoked.

This change set does not include tests for ECMAScript realm
considerations because Test262 does not currently expose a mechanism for
interfacing with realms.
2016-05-03 12:42:38 -04:00
Brian Terlson 3d285da73d Replace duplicate description with info in map test 2016-04-29 10:01:41 -07:00
Leonardo Balter 177b2f6018 Add tests for TypedArrays toLocaleString 2016-04-29 09:39:32 -04:00
Leonardo Balter 9c45e2ac68 Revert "Add `System.global` tests (#567)"
This reverts commit 45e5fc8889.
2016-04-27 14:25:15 -04:00
Gorkem Yakin 84d95077d0 Merge branch 'bocoup/ta-foreach-map-update' 2016-04-26 09:26:03 -07:00
Leonardo Balter afd44fc87a Update tests for TypedArrays foreach and map
Based on the feedback from gh-593
2016-04-26 09:23:58 -07:00
Gorkem Yakin 85e6ab8e15 Merge branch 'bocoup/species-accessor-values' 2016-04-25 16:59:44 -07:00
Mike Pennisi b8e40a6f3f Add tests for return value of @@species accessors 2016-04-25 16:59:23 -07:00
Gorkem Yakin 851be6108a Merge branch 'bocoup/ta-subarray' 2016-04-25 16:53:20 -07:00
Leonardo Balter 1f9cc0b0c0 Add tests for TypedArrays subarray 2016-04-25 16:52:20 -07:00
Mike Pennisi 7630e1763d Re-organize tests for eval
Limit tests in `language/expressions/call/` and `built-ins/eval/` to
only assert details that are directly related to the invocation pattern.
Re-organize all other tests within the `language/eval-code/` directory,
further categorizing each as `direct` or `indirect` as appropriate.
Remove the extraneous "executable" flag from those files which carried
it.
2016-04-25 16:36:36 -04:00
Gorkem Yakin 7f88f29328 Merge branch 'bocoup/global-object' 2016-04-25 11:09:49 -07: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
Gorkem Yakin 562133f4ba Merge branch 'bocoup/symbol-cleanup' 2016-04-25 10:59:48 -07:00
Mike Pennisi 3d68fcc063 Increase coverage for Symbol constructor
Add new tests for invocation requirements; re-organize existing files
according to the language feature under test.
2016-04-25 10:59:22 -07:00
Gorkem Yakin 35c00cab92 Merge branch 'bocoup/ta-every-some' 2016-04-25 10:46:38 -07:00
Leonardo Balter 45ff661f75 Add tests for TypedArrays some 2016-04-25 10:46:22 -07:00
Leonardo Balter 3339406dd7 Add tests for TypedArrays every 2016-04-25 10:46:16 -07:00
Gorkem Yakin a4fd0dc8f4 Merge branch 'bocoup-ta-interoperability' 2016-04-25 10:37:06 -07:00
Leonardo Balter 866626500c Update tests for TypedArrays/DataView non-interoperable get accessor methods
Fixes gh-582
2016-04-25 10:36:50 -07:00
Gorkem Yakin c26ef14ae0 Merge branch 'bocoup/ta-indexof' 2016-04-25 10:32:22 -07:00
Leonardo Balter d1f02d0fb8 Add tests for TypedArrays lastIndexOf 2016-04-25 10:31:42 -07:00
Leonardo Balter d46b0b1860 Add tests for TypedArrays indexOf 2016-04-25 10:31:38 -07:00
Gorkem Yakin a432cde542 Merge pull request #534 from mythrialle/master
Removes special handling for UTC timezone in toISOString/15.9.5.43-0-1…
2016-04-25 10:02:19 -07:00
Mythri 664ec78fcc Moves Date constructor outside of assert, so that it actually tests toISOString 2016-04-25 16:45:03 +01:00
Leonardo Balter bc0a40c51c Add tests for TypedArrays findIndex 2016-04-25 11:43:19 -04:00
Mythri 679d02a6ed Fixed comments 2016-04-25 15:43:55 +01:00
Leonardo Balter 9aa4dced8d Add tests for TypedArrays find 2016-04-22 10:34:30 -04:00
Leonardo Balter bc8ae6e0ae Fix test for TypedArray.prototype.forEach 2016-04-21 17:22:55 -04:00
Leonardo Balter 88f390d189 Add tests for TypedArrays copyWithin 2016-04-20 14:08:33 -04:00
Leonardo Balter 5e8b661050 Add tests for TypedArrays fill 2016-04-20 14:05:38 -04:00
jugglinmike cf68c3be91 Correct invalid tests for the Date constructor
The millisecond representation of a given Date instance is dependent on
the local system's time zone settings. In order to pass consistently
across contexts, tests for this value must take the system configuration
into account.

Introduce a test harness utility function to encapsulate these concerns.
Re-use this function across all test files that assert the exact
millisecond representation of Date instances.
2016-04-19 17:00:59 -04:00
Leonardo Balter 04a3c28f7d Add tests for conversion operations on TypedArrays 2016-04-19 12:18:52 -04:00
Mike Pennisi b698c8b3ab Add tests for Math constants
Closes gh-540

Because the specific value of each constant is specified as a
host-defined approximation, only the value type may be enforced by
Test262.
2016-04-18 14:39:37 -04:00
Mike Pennisi f7aa31b41f Remove over-specified tests
Except for a small set of expected input/output pairs, both ES5 and
ES2015 define the expected return value of these methods in terms of an
"implementation-dependent approximation." This makes it inappropriate to
enforce expectations for specific values, even if expressed imprecisely.
2016-04-18 14:36:49 -04:00
dtig 20d37a6f2f Add SIMD test suite and utility functions (#442) 2016-04-18 14:26:15 -04:00
Leonardo Balter e451026965 Fix minor typo on a test for Array#fill 2016-04-12 19:48:54 -04:00
Leonardo Balter f3cc1fb983 Add tests for TypedArrays map 2016-04-12 15:41:38 -04:00
Leonardo Balter e01371e12a Add tests for TypedArrays forEach 2016-04-12 15:41:34 -04:00
Jordan Harband 45e5fc8889 Add `System.global` tests (#567) 2016-04-12 14:37:10 -04:00
Michael Ficarra 6b7cbb5035 add Function.prototype.toString tests, conforming to proposed revision
See the proposal at
https://tc39.github.io/Function-prototype-toString-revision/
2016-04-11 14:39:12 -04:00
Leonardo Balter c15079e741 Remove surface tests for %TypedArray%.prototype.toString
Because Test262 asserts the strict equality of
`Array.prototype.toString` and `TypedArray.prototype.toString`, tests
for properties of the object do not need to be reproduced in both
location.

Ref gh-526
2016-04-07 11:36:15 -04:00
Jordan Harband c95e673feb Add tests for `String#padStart` and `String#padEnd`.
https://github.com/tc39/proposal-string-pad-start-end/issues/23

Closes gh-564
2016-04-06 15:13:52 -04:00
Leonardo Balter 755b0d6117 Add tests for typedArrays extensibility
Ref: https://github.com/tc39/test262/pull/536#issuecomment-200455389
2016-04-01 15:34:14 -04:00
Leonardo Balter 3cb20b9df5 Add tests for internal methods of typedArray instances
Test specific behaviour for Integer Indexed exotic objects, WRT the
following internal methods:

- [[GetOwnProperty]]
- [[HasProperty]]
- [[DefineOwnProperty]]
- [[Get]]
- [[Set]]
- [[OwnPropertyKeys]]
2016-03-28 10:38:24 -04:00
Leonardo Balter 887b379421 Add tests for ArrayBuffer.isView 2016-03-24 12:14:26 -04:00
Leo Balter 35b93bb5c2 Merge pull request #548 from bocoup/random-fp
Avoid false positives
2016-03-24 10:49:44 -04:00
Leonardo Balter ce503e638f Add tests for detached buffer validation on TypedArray methods 2016-03-23 12:13:41 -04:00
Leonardo Balter 7499d3c208 Add missing surface tests for %TypedArray%.prototype.includes 2016-03-21 14:28:44 -04:00
Leonardo Balter 83b27c9beb Add validation tests for TypedArray instance methods 2016-03-21 11:04:26 -04:00
Leonardo Balter b26190f1ce Add tests for TypedArray instance iterator methods 2016-03-21 11:04:25 -04:00
Leo Balter 0000bcd78c Merge pull request #533 from bocoup/safe-integers
Add tests for Number.{MAX,MIN}_SAFE_INTEGER
2016-03-17 17:32:38 -04:00
Mike Pennisi 6e61c27aa5 Avoid false positives
As written, the test for `Math.random` would pass if the runtime
erroneously produced a non-numeric value. Add the necessary assertions
to guard against this case.
2016-03-17 17:12:54 -04:00
Leo Balter 86ff467767 Merge pull request #525 from anba/throw-type-error
Improve coverage %ThrowTypeError% and default class constructors
2016-03-17 16:31:37 -04:00
Leo Balter 5357b1585b Merge pull request #504 from bocoup/explicit-async
Make asynchronous test configuration explicit
2016-03-17 15:28:08 -04:00
Mythri 6376e4d833 Removes special handling for UTC timezon in toISOString/15.9.5.43-0-13.js 2016-03-10 15:38:33 +00:00
Mike Pennisi cb19235ba4 Add tests for Number.{MAX,MIN}_SAFE_INTEGER 2016-03-09 12:21:29 -05:00
Gorkem Yakin 6e912b0825 Merge pull request #518 from anba/typedarray_getownpropdesc_fixes
Fix test bugs
2016-03-02 13:22:29 -08:00
Leonardo Balter 7445d77d6d Update descriptor tests for %TypedArray%.prototype properties 2016-03-02 13:15:03 -08:00
Leonardo Balter 02cdfacd31 Add tests for %TypedArray%.prototype get methods
Includes buffer, byteLength, byteOffset, length, and @@toStringTag
2016-03-02 13:15:01 -08:00
Leonardo Balter 6c56658974 Add tests for _TypedArray_.prototype methods 2016-03-01 15:36:34 -05:00
André Bargull c46f5ff4b7 Increase coverage for %ThrowTypeError% 2016-03-01 19:13:43 +01:00
André Bargull 1517615a21 Fix test bugs 2016-02-23 18:55:06 +01:00
Rick Waldron 104a134bc2 restore "info" 2016-02-22 16:41:45 -05:00
Rick Waldron 2a962f74be id => esid 2016-02-22 14:47:47 -05:00