diff options
| author | Steve Block <steveblock@google.com> | 2011-05-26 01:26:41 +0100 |
|---|---|---|
| committer | Steve Block <steveblock@google.com> | 2011-06-02 15:09:56 +0100 |
| commit | 44f0eee88ff00398ff7f715fab053374d808c90d (patch) | |
| tree | addd100e906cd43f843f3aaf64b445f17f46fe0f /test/test262 | |
| parent | 1b63b9ad386abd62f61af0e29246a687f5311b53 (diff) | |
| download | android_external_v8-44f0eee88ff00398ff7f715fab053374d808c90d.tar.gz android_external_v8-44f0eee88ff00398ff7f715fab053374d808c90d.tar.bz2 android_external_v8-44f0eee88ff00398ff7f715fab053374d808c90d.zip | |
Update V8 to r7427: Initial merge by git
As required by WebKit r82507
Change-Id: I7ae83ef3f689356043b4929255b7c1dd31d8c5df
Diffstat (limited to 'test/test262')
| -rw-r--r-- | test/test262/README | 16 | ||||
| -rw-r--r-- | test/test262/harness-adapt.js | 80 | ||||
| -rw-r--r-- | test/test262/test262.status | 1506 | ||||
| -rw-r--r-- | test/test262/testcfg.py | 123 |
4 files changed, 1725 insertions, 0 deletions
diff --git a/test/test262/README b/test/test262/README new file mode 100644 index 00000000..6d9e56e7 --- /dev/null +++ b/test/test262/README @@ -0,0 +1,16 @@ +This directory contains code for binding the test262 test suite +into the v8 test harness. To use the tests check out the test262 +tests from + + http://hg.ecmascript.org/tests/test262 + +at revision 62 as 'data' in this directory. Using later version +may be possible but the tests are only known to pass (and indeed run) +with that revision. + +hg clone -r 62 http://hg.ecmascript.org/tests/test262 data + +If you do update to a newer revision you may have to change the test +harness adapter code since it uses internal functionality from the +harness that comes bundled with the tests. You will most likely also +have to update the test expectation file. diff --git a/test/test262/harness-adapt.js b/test/test262/harness-adapt.js new file mode 100644 index 00000000..b52afdba --- /dev/null +++ b/test/test262/harness-adapt.js @@ -0,0 +1,80 @@ +// Copyright 2011 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +function fnGlobalObject() { return (function() { return this; })(); } + +var ES5Harness = (function() { + var currentTest = {}; + var $this = this; + + function Test262Error(id, path, description, codeString, + preconditionString, result, error) { + this.id = id; + this.path = path; + this.description = description; + this.result = result; + this.error = error; + this.code = codeString; + this.pre = preconditionString; + } + + Test262Error.prototype.toString = function() { + return this.result; + } + + function registerTest(test) { + if (!(test.precondition && !test.precondition())) { + var error; + try { + var res = test.test.call($this); + } catch(e) { + print(e); + res = 'fail'; error = e; + } + var retVal = /^s/i.test(test.id) + ? (res === true || typeof res == 'undefined' ? 'pass' : 'fail') + : (res === true ? 'pass' : 'fail'); + + if (retVal != 'pass') { + throw new Test262Error( + test.id, + test.path, + test.description, + test.test.toString(), + (test.precondition !== undefined) + ? test.precondition.toString() + : '', + retVal, + error); + } + } + } + + return { + registerTest: registerTest + } +})(); diff --git a/test/test262/test262.status b/test/test262/test262.status new file mode 100644 index 00000000..bdc8b9c7 --- /dev/null +++ b/test/test262/test262.status @@ -0,0 +1,1506 @@ +# Copyright 2011 the V8 project authors. All rights reserved. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# +# ietestcenter tests. +# + +prefix ietestcenter + +# BUG: 7.6 - SyntaxError expected: reserved words used as Identifier +# Names in UTF8: class (class) +7.6-30: FAIL +# BUG: 7.6 - SyntaxError expected: reserved words used as Identifier +# Names in UTF8: extends (extends) +7.6-31: FAIL +# BUG: 7.6 - SyntaxError expected: reserved words used as Identifier +# Names in UTF8: \u0065\u006e\u0075\u006d (enum) +7.6-32: FAIL +# BUG: 7.6 - SyntaxError expected: reserved words used as Identifier +# Names in UTF8: \u0073uper (super) +7.6-33: FAIL +# BUG: 7.6 - SyntaxError expected: reserved words used as Identifier +# Names in UTF8: expor\u0074 (export) +7.6-35: FAIL +# BUG: 7.6 - SyntaxError expected: reserved words used as Identifier +# Names in UTF8: \u0069\u006d\u0070\u006f\u0072\u0074 (import) +7.6-36: FAIL +# Invalid test: https://bugs.ecmascript.org/show_bug.cgi?id=76 +10.4.2-2-c-1: FAIL +# BUG: 11.8.2 Greater-than Operator - Partial left to right order enforced +# when using Greater-than operator: valueOf > valueOf +11.8.2-1: FAIL +# BUG: 11.8.2 Greater-than Operator - Partial left to right order enforced +# when using Greater-than operator: valueOf > toString +11.8.2-2: FAIL +# BUG: 11.8.2 Greater-than Operator - Partial left to right order enforced +# when using Greater-than operator: toString > valueOf +11.8.2-3: FAIL +# BUG: 11.8.2 Greater-than Operator - Partial left to right order enforced +# when using Greater-than operator: toString > toString +11.8.2-4: FAIL +# BUG: 11.8.3 Less-than-or-equal Operator - Partial left to right order +# enforced when using Less-than-or-equal operator: valueOf <= valueOf +11.8.3-1: FAIL +# BUG: 11.8.3 Less-than-or-equal Operator - Partial left to right order +# enforced when using Less-than-or-equal operator: valueOf <= toString +11.8.3-2: FAIL +# BUG: 11.8.3 Less-than-or-equal Operator - Partial left to right order +# enforced when using Less-than-or-equal operator: toString <= valueOf +11.8.3-3: FAIL +# BUG: 11.8.3 Less-than-or-equal Operator - Partial left to right order +# enforced when using Less-than-or-equal operator: toString <= toString +11.8.3-4: FAIL +# BUG: 11.8.3 Less-than-or-equal Operator - Partial left to right order +# enforced when using Less-than-or-equal operator: valueOf <= valueOf +11.8.3-5: FAIL +# BUG: Global.NaN is a data property with default attribute values +15.1.1.1-0: FAIL +# BUG: Global.Infinity is a data property with default attribute values +15.1.1.2-0: FAIL +# BUG: Global.undefined is a data property with default attribute values +15.1.1.3-0: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (Global.NaN) +15.2.3.3-4-178: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (Global.Infinity) +15.2.3.3-4-179: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (Global.undefined) +15.2.3.3-4-180: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (RegExp.prototype.source) +# There is no RegExp.prototype.source +15.2.3.3-4-212: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (RegExp.prototype.global) +# There is no RegExp.prototype.global +15.2.3.3-4-213: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (RegExp.prototype.ignoreCase) +# There is no RegExp.prototype.ignoreCase +15.2.3.3-4-214: FAIL +# BUG: Object.getOwnPropertyDescriptor returns data desc (all false) +# for properties on built-ins (RegExp.prototype.multiline) +15.2.3.3-4-215: FAIL +# Bug? Object.create - 'set' property of one property in 'Properties' +# is not present (8.10.5 step 8) +# V8 throws. +15.2.3.5-4-267: FAIL +# Bug? Object.create - 'set' property of one property in 'Properties' +# is undefined (8.10.5 step 8.b) +# V8 throws. +15.2.3.5-4-292: FAIL +# Bug? Object.defineProperty - 'set' property in 'Attributes' is not +# present (8.10.5 step 8) +# V8 throws. +15.2.3.6-3-236: FAIL +# Bug? Object.defineProperty - 'set' property in 'Attributes' is own +# accessor property without a get function (8.10.5 step 8.a) +# V8 throws. +15.2.3.6-3-245: FAIL +# Bug? Object.defineProperty - 'set' property in 'Attributes' is own +# accessor property(without a get function) that overrides an inherited +# accessor property (8.10.5 step 8.a) +# V8 throws. +15.2.3.6-3-246: FAIL +# Bug? Object.defineProperty - 'set' property in 'Attributes' is an +# inherited accessor property without a get function (8.10.5 step 8.a) +# V8 throws. +15.2.3.6-3-247: FAIL +# Bug? Object.defineProperty - value of 'set' property in 'Attributes' +# is undefined (8.10.5 step 8.b) +# V8 throws. +15.2.3.6-3-261: FAIL +# Bug? Object.defineProperty - Update [[Enumerable]] attribute of 'name' +# property to true successfully when [[Enumerable]] attribute of 'name' +# is false and [[Configurable]] attribute of 'name' is true, the 'desc' +# is a generic descriptor which only contains [[Enumerable]] attribute +# as true, 'name' property is an index data property (8.12.9 step 8) +15.2.3.6-4-82-18: FAIL +# Bug? Object.defineProperty - Update [[Enumerable]] attribute of 'name' +# property to false successfully when [[Enumerable]] and [[Configurable]] +# attributes of 'name' property are true, the 'desc' is a generic +# descriptor which only contains [Enumerable]] attribute as false and +# 'name' property is an index accessor property (8.12.9 step 8) +15.2.3.6-4-82-19: FAIL +# Bug? Object.defineProperty - Update [[Enumerable]] attribute of 'name' +# property to false successfully when [[Enumerable]] and [[Configurable]] +# attributes of 'name' property are true, the 'desc' is a generic +# descriptor which contains [Enumerable]] attribute as false and +# [[Configurable]] property is true, 'name' property is an index accessor +# property (8.12.9 step 8) +15.2.3.6-4-82-20: FAIL +# Bug? Object.defineProperty - Update [[Configurable]] attribute of 'name' +# property to false successfully when [[Enumerable]] and [[Configurable]] +# attributes of 'name' property are true, the 'desc' is a generic +# descriptor which only contains [[Configurable]] attribute as false, +# 'name' property is an index accessor property (8.12.9 step 8) +15.2.3.6-4-82-21: FAIL +# Bug? Object.defineProperty - Update [[Configurable]] attribute of 'name' +# property to false successfully when [[Enumerable]] and [[Configurable]] +# attributes of 'name' property are true, the 'desc' is a generic +# descriptor which contains [[Enumerable]] attribute as true and +# [[Configurable]] attribute is false, 'name' property is an index accessor +# property (8.12.9 step 8) +15.2.3.6-4-82-22: FAIL +# Bug? Object.defineProperty - Update [[Enumerable]] and [[Configurable]] +# attributes of 'name' property to false successfully when [[Enumerable]] +# and [[Configurable]] attributes of 'name' property are true, the 'desc' +# is a generic descriptor which contains [[Enumerable]] and +# [[Configurable]] attributes as false, 'name' property is an index +# accessor property (8.12.9 step 8) +15.2.3.6-4-82-23: FAIL +# Bug? Object.defineProperty - Update [[Enumerable]] attributes of 'name' +# property to true successfully when [[Enumerable]] attribute of 'name' is +# false and [[Configurable]] attribute of 'name' is true, the 'desc' is a +# generic descriptor which only contains [[Enumerable]] attribute as true, +# 'name' property is an index accessor property (8.12.9 step 8) +15.2.3.6-4-82-24: FAIL +# Bug? Object.defineProperty - 'O' is an Array, test the length property of 'O' +# is own data property (15.4.5.1 step 1) +15.2.3.6-4-116: FAIL +# Bug? Object.defineProperty - 'O' is an Array, test the length property of 'O' +# is own data property that overrides an inherited data property (15.4.5.1 +# step 1) +15.2.3.6-4-117: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test that RangeError exception is thrown when [[Value]] field of +# 'desc' is undefined (15.4.5.1 step 3.c) +15.2.3.6-4-125: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is null (15.4.5.1 step 3.c) +15.2.3.6-4-126: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is a boolean with value false +# (15.4.5.1 step 3.c) +15.2.3.6-4-127: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is a boolean with value true +# (15.4.5.1 step 3.c) +15.2.3.6-4-128: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is not thrown when the [[Value]] field of +# 'desc' is 0 (15.4.5.1 step 3.c) +15.2.3.6-4-129: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is not thrown when the [[Value]] field of +# 'desc' is +0 (15.4.5.1 step 3.c) +15.2.3.6-4-130: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is not thrown when the [[Value]] field of +# 'desc' is -0 (15.4.5.1 step 3.c) +15.2.3.6-4-131: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is not thrown when the [[Value]] field of +# 'desc' is a positive number (15.4.5.1 step 3.c) +15.2.3.6-4-132: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is a negative number (15.4.5.1 step 3.c) +15.2.3.6-4-133: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is +Infinity (15.4.5.1 step 3.c) +15.2.3.6-4-134: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is -Infinity (15.4.5.1 step 3.c) +15.2.3.6-4-135: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is NaN (15.4.5.1 step 3.c) +15.2.3.6-4-136: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is not thrown when the [[Value]] field of +# 'desc' is a string containing a positive number (15.4.5.1 step 3.c) +15.2.3.6-4-137: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is a string containing a negative number (15.4.5.1 step 3.c) +15.2.3.6-4-138: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is a string containing a decimal number (15.4.5.1 step 3.c) +15.2.3.6-4-139: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is a string containing +Infinity (15.4.5.1 step 3.c) +15.2.3.6-4-140: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is a string containing -Infinity (15.4.5.1 step 3.c) +15.2.3.6-4-141: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is a string containing an +# exponential number (15.4.5.1 step 3.c) +15.2.3.6-4-142: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is a string containing a hex +# number (15.4.5.1 step 3.c) +15.2.3.6-4-143: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is a string containing a number +# with leading zeros (15.4.5.1 step 3.c) +15.2.3.6-4-144: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError exception is thrown when the [[Value]] field of +# 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c) +15.2.3.6-4-145: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is an object which has an own +# toString method (15.4.5.1 step 3.c) +15.2.3.6-4-146: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is an Object which has an own +# valueOf method (15.4.5.1 step 3.c) +15.2.3.6-4-147: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is an Object which has an own +# valueOf method that returns an object and toString method that returns a +# string (15.4.5.1 step 3.c) +15.2.3.6-4-148: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is an Object which has an own +# toString and valueOf method (15.4.5.1 step 3.c) +15.2.3.6-4-149: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an +# Object that both toString and valueOf wouldn't return primitive value +# (15.4.5.1 step 3.c) +15.2.3.6-4-150: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', and the [[Value]] field of 'desc' is an Object with an own toString +# method and an inherited valueOf method (15.4.5.1 step 3.c), test that the +# inherited valueOf method is used +15.2.3.6-4-151: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a +# positive non-integer values (15.4.5.1 step 3.c) +15.2.3.6-4-152: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length prosperty +# of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a +# negative non-integer values (15.4.5.1 step 3.c) +15.2.3.6-4-153: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 +# (15.4.5.1 step 3.c) +15.2.3.6-4-154: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 +# (15.4.5.1 step 3.c) +15.2.3.6-4-155: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError is thrown when the [[Value]] field of 'desc' is +# boundary value 2^32 (15.4.5.1 step 3.c) +15.2.3.6-4-156: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', test RangeError is thrown when the [[Value]] field of 'desc' is +# boundary value 2^32 + 1 (15.4.5.1 step 3.c) +15.2.3.6-4-157: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', set the [[Value]] field of 'desc' to a value greater than the +# existing value of length (15.4.5.1 step 3.f) +15.2.3.6-4-159: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', set the [[Value]] field of 'desc' to a value lesser than the +# existing value of length and test that indexes beyond the new length are +# deleted(15.4.5.1 step 3.f) +15.2.3.6-4-161: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to true after deleting properties with large index named if the +# [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h) +15.2.3.6-4-165: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to true after deleting properties with large index named if the +# [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h) +15.2.3.6-4-166: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to false after deleting properties with large index named if the +# [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii) +15.2.3.6-4-167: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', whose writable attribute is being changed to false and the [[Value]] +# field of 'desc' is less than value of the length property and also lesser +# than an index of the array which is set to configurable:false, test that +# new length is set to a value greater than the non-deletable index by 1, +# writable attribute of length is set to false and TypeError exception is +# thrown (15.4.5.1 step 3.i.iii) +15.2.3.6-4-168: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property and also lesser than an index of the array which is set to +# configurable: false, test that new length is set to a value greater than +# the non-deletable index by 1, and TypeError is thrown (15.4.5.1 step +# 3.l.i) +15.2.3.6-4-169: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property and also lesser than an index of the array which is set to +# configurable: false, test that new length is set to a value greater than +# the non-deletable index by 1, writable attribute of length is set to +# false and TypeError exception is thrown (15.4.5.1 step 3.l.ii) +15.2.3.6-4-170: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of an inherited data +# property with large index named in 'O' can't stop deleting index named +# properties (15.4.5.1 step 3.l.ii) +15.2.3.6-4-171: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own data property with +# large index named in 'O' that overrides an inherited data property can +# stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.6-4-172: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own data property with +# large index named in 'O' that overrides an inherited accessor property +# can stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.6-4-173: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own accessor property +# with large index named in 'O' can stop deleting index named properties +# (15.4.5.1 step 3.l.ii) +15.2.3.6-4-174: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of an inherited accessor +# property with large index named in 'O' can't stop deleting index named +# properties (15.4.5.1 step 3.l.ii) +15.2.3.6-4-175: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own accessor property +# with large index named in 'O' that overrides an inherited data property +# can stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.6-4-176: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own accessor property +# with large index named in 'O' that overrides an inherited accessor +# property can stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.6-4-177: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the configurable large index named property of 'O' is +# deleted (15.4.5.1 step 3.l.ii) +15.2.3.6-4-178: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is greater than value of the length +# property, test value of the length property is same as [[Value]] +# (15.4.5.1 step 3.l.iii.1) +15.2.3.6-4-179-1: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to false at last when the [[Writable]] field of 'desc' is false and 'O' +# doesn't contain non-configurable large index named property (15.4.5.1 +# step 3.m) +15.2.3.6-4-181: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, 'name' is boundary value 2^32 - 2 (15.4.5.1 step 4.a) +15.2.3.6-4-183: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, test TypeError is thrown if the [[Writable]] attribute of the +# length property in 'O' is false and value of 'name' equals to value of +# the length property (15.4.5.1 step 4.b) +15.2.3.6-4-188: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, test TypeError is thrown if the [[Writable]] attribute of the +# length property in 'O' is false and value of 'name' is greater than value +# of the length property (15.4.5.1 step 4.b) +15.2.3.6-4-189: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, 'desc' is accessor descriptor, test updating all attribute +# values of 'name' (15.4.5.1 step 4.c) +15.2.3.6-4-209: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, 'name' is accessor property and assignment to the accessor +# property, fails to convert accessor property from accessor property to +# data property (15.4.5.1 step 4.c) +15.2.3.6-4-243-1: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, name is accessor property and 'desc' is accessor descriptor, +# test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step +# 4.c) +15.2.3.6-4-271: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, name is accessor property and 'desc' is accessor descriptor, +# test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 +# step 4.c) +15.2.3.6-4-272: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, name is accessor property and 'desc' is accessor descriptor, +# test updating multiple attribute values of 'name' (15.4.5.1 step 4.c) +15.2.3.6-4-273: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, test the length property of 'O' is set as ToUint32('name') + 1 +# if ToUint32('name') equals to value of the length property in 'O' +# (15.4.5.1 step 4.e.ii) +15.2.3.6-4-275: FAIL +# Bug? Object.defineProperty - 'O' is an Array, 'name' is an array index named +# property, test the length property of 'O' is set as ToUint32('name') + 1 +# if ToUint32('name') is greater than value of the length property in 'O' +# (15.4.5.1 step 4.e.ii) +15.2.3.6-4-276: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own property which is defined in both +# [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is +# data descriptor, test 'name' is redefined in 'O' with all correct +# attribute values (10.6 [[DefineOwnProperty]] step 3) +15.2.3.6-4-289-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own property which is defined in both +# [[ParameterMap]] of 'O' and 'O', is deleted afterwards, and 'desc' is +# accessor descriptor, test 'name' is redefined in 'O' with all correct +# attribute values (10.6 [[DefineOwnProperty]] step 3) +15.2.3.6-4-290-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own accessor property of 'O' which is also +# defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, +# test updating multiple attribute values of 'name' (10.6 +# [[DefineOwnProperty]] step 3 and 5.a.i) +15.2.3.6-4-291-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object, 'name' is own +# accessor property of 'O', and 'desc' is accessor descriptor, test +# updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] +# step 3) +15.2.3.6-4-291: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own data property of 'O' which is also +# defined in [[ParameterMap]] of 'O', test TypeError is not thrown when +# updating the [[Value]] attribute value of 'name' which is defined as +# non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and step +# 5.b) +15.2.3.6-4-293-3: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own accessor property of 'O' which is also +# defined in [[ParameterMap]] of 'O', test TypeError is thrown when +# updating the [[Get]] attribute value of 'name' which is defined as +# non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a) +15.2.3.6-4-297-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own accessor property of 'O' which is also +# defined in [[ParameterMap]] of 'O', test TypeError is thrown when +# updating the [[Set]] attribute value of 'name' which is defined as +# non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a) +15.2.3.6-4-298-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is own accessor property of 'O' which is also +# defined in [[ParameterMap]] of 'O', test TypeError is thrown when +# updating the [[Enumerable]] attribute value of 'name' which is defined as +# non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a) +15.2.3.6-4-299-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is an index named property of 'O', and 'desc' +# is data descriptor, test 'name' is defined in 'O' with all correct +# attribute values (10.6 [[DefineOwnProperty]] step 3) +15.2.3.6-4-301-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object of a function that has +# formal parameters, 'name' is an index named property of 'O' but not +# defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, +# test 'name' is defined in 'O' with all correct attribute values (10.6 +# [[DefineOwnProperty]] step 3 and step 5a) +15.2.3.6-4-302-1: FAIL +# Bug? Object.defineProperty - 'O' is an Arguments object, 'name' is an index +# named accessor property of 'O' but not defined in [[ParameterMap]] of +# 'O', and 'desc' is accessor descriptor, test updating multiple attribute +# values of 'name' (10.6 [[DefineOwnProperty]] step 3) +15.2.3.6-4-303: FAIL +# Bug? ES5 Attributes - [[Value]] attribute of data property is the activex host +# object +15.2.3.6-4-401: FAIL +# Bug? ES5 Attributes - Failed to add a property to an object when the object's +# object has a property with same name and [[Writable]] attribute is set to +# false (Number instance) +15.2.3.6-4-405: FAIL +# Bug? ES5 Attributes - Failed to add a property to an object when the object's +# prototype has a property with the same name and [[Writable]] set to false +# (JSON) +15.2.3.6-4-410: FAIL +# Bug? ES5 Attributes - Failed to add properties to an object when the object's +# prototype has properties with the same name and [[Writable]] set to false +# (Object.create) +15.2.3.6-4-415: FAIL +# Bug? ES5 Attributes - Failed to add a property to an object when the object's +# prototype has a property with the same name and [[Writable]] set to +# false(Function.prototype.bind) +15.2.3.6-4-420: FAIL +# Bug? ES5 Attributes - Fail to add property into object (Number instance) +15.2.3.6-4-581: FAIL +# Bug? ES5 Attributes - Fail to update value of property into of [[Proptotype]] +# internal property (JSON) +15.2.3.6-4-586: FAIL +# Bug? ES5 Attributes - Fail to update value of property of [[Proptotype]] +# internal property (Object.create) +15.2.3.6-4-591: FAIL +# Bug? ES5 Attributes - Fail to update value of property into of [[Proptotype]] +# internal property (Function.prototype.bind) +15.2.3.6-4-596: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.indexOf are correct +15.2.3.6-4-612: FAIL +# Bug? ES5 Attributes - all attributes in Object.lastIndexOf are correct +15.2.3.6-4-613: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.every are correct +15.2.3.6-4-614: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.some are correct +15.2.3.6-4-615: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.forEach are correct +15.2.3.6-4-616: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.map are correct +15.2.3.6-4-617: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.filter are correct +15.2.3.6-4-618: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.reduce are correct +15.2.3.6-4-619: FAIL +# Bug? ES5 Attributes - all attributes in Array.prototype.reduceRight are +# correct +15.2.3.6-4-620: FAIL +# Bug? ES5 Attributes - all attributes in String.prototype.trim are correct +15.2.3.6-4-621: FAIL +# Bug? ES5 Attributes - all attributes in Date.prototype.toISOString are correct +15.2.3.6-4-623: FAIL +# Bug? ES5 Attributes - all attributes in Date.prototype.toJSON are correct +15.2.3.6-4-624: FAIL +# Bug? Object.defineProperties - argument 'Properties' is an Error object +# props.description = obj1; +15.2.3.7-2-15: FAIL +# Bug? Object.defineProperties - 'Properties' is an Error object which +# implements its own [[Get]] method to get enumerable own property +# props.description = obj1; +15.2.3.7-5-a-16: FAIL +# Bug? Object.defineProperties - 'set' property of 'descObj' is not present +# (8.10.5 step 8) +15.2.3.7-5-b-227: FAIL +# Bug? Object.defineProperties - 'descObj' is an Error object which implements +# its own [[Get]] method to get 'set' property (8.10.5 step 8.a) +# descObj.description = { value: 11 }; +15.2.3.7-5-b-248: FAIL +# Bug? Object.defineProperties - 'O' is an Array, test the length property of +# 'O' is own data property (15.4.5.1 step 1) +15.2.3.7-6-a-112: FAIL +# Bug? Object.defineProperties - 'O' is an Array, test the length property of +# 'O' is own data property that overrides an inherited data property +# (15.4.5.1 step 1) +15.2.3.7-6-a-113: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', test RangeError is thrown when setting the [[Value]] field of 'desc' +# to undefined (15.4.5.1 step 3.c) +15.2.3.7-6-a-121: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', test setting the [[Value]] field of 'desc' to null actuall is set to +# 0 (15.4.5.1 step 3.c) +15.2.3.7-6-a-122: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a boolean with value false +# (15.4.5.1 step 3.c) +15.2.3.7-6-a-123: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a boolean with value true +# (15.4.5.1 step 3.c) +15.2.3.7-6-a-124: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c) +15.2.3.7-6-a-125: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c) +15.2.3.7-6-a-126: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c) +15.2.3.7-6-a-127: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is positive number (15.4.5.1 +# step 3.c) +15.2.3.7-6-a-128: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is negative number (15.4.5.1 +# step 3.c) +15.2.3.7-6-a-129: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step +# 3.c) +15.2.3.7-6-a-130: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step +# 3.c) +15.2.3.7-6-a-131: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c) +15.2.3.7-6-a-132: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing a +# positive number (15.4.5.1 step 3.c) +15.2.3.7-6-a-133: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing a +# negative number (15.4.5.1 step 3.c) +15.2.3.7-6-a-134: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing a +# decimal number (15.4.5.1 step 3.c) +15.2.3.7-6-a-135: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing +# +Infinity (15.4.5.1 step 3.c) +15.2.3.7-6-a-136: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing +# -Infinity (15.4.5.1 step 3.c) +15.2.3.7-6-a-137: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing an +# exponential number (15.4.5.1 step 3.c) +15.2.3.7-6-a-138: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing an hex +# number (15.4.5.1 step 3.c) +15.2.3.7-6-a-139: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is a string containing an +# leading zero number (15.4.5.1 step 3.c) +15.2.3.7-6-a-140: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', test the [[Value]] field of 'desc' is a string which doesn't convert +# to a number (15.4.5.1 step 3.c) +15.2.3.7-6-a-141: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', test the [[Value]] field of 'desc' is an Object which has an own +# toString method (15.4.5.1 step 3.c) +15.2.3.7-6-a-142: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is an Object which has an own +# valueOf method (15.4.5.1 step 3.c) +15.2.3.7-6-a-143: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is an Object which has an own +# valueOf method that returns an object and toString method that returns a +# string (15.4.5.1 step 3.c) +15.2.3.7-6-a-144: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is an Object which has an own +# toString and valueOf method (15.4.5.1 step 3.c) +15.2.3.7-6-a-145: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an +# Object that both toString and valueOf wouldn't return primitive value +# (15.4.5.1 step 3.c) +15.2.3.7-6-a-146: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test using inherited valueOf method when the [[Value]] field of +# 'desc' is an Objec with an own toString and inherited valueOf methods +# (15.4.5.1 step 3.c) +15.2.3.7-6-a-147: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is +# positive non-integer values (15.4.5.1 step 3.c) +15.2.3.7-6-a-148: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is +# negative non-integer values (15.4.5.1 step 3.c) +15.2.3.7-6-a-149: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 +# (15.4.5.1 step 3.c) +15.2.3.7-6-a-150: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 +# (15.4.5.1 step 3.c) +15.2.3.7-6-a-151: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is +# boundary value 2^32 (15.4.5.1 step 3.c) +15.2.3.7-6-a-152: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'name' is the length property +# of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is +# boundary value 2^32 + 1 (15.4.5.1 step 3.c) +15.2.3.7-6-a-153: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', test the [[Value]] field of 'desc' which is greater than value of +# the length property is defined into 'O' without deleting any property +# with large index named (15.4.5.1 step 3.f) +15.2.3.7-6-a-155: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', test the [[Value]] field of 'desc' which is less than value of the +# length property is defined into 'O' with deleting properties with large +# index named (15.4.5.1 step 3.f) +15.2.3.7-6-a-157: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to true at last after deleting properties with large index named if the +# [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h) +15.2.3.7-6-a-161: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to true at last after deleting properties with large index named if the +# [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h) +15.2.3.7-6-a-162: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to false at last after deleting properties with large index named if the +# [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii) +15.2.3.7-6-a-163: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property in 'O' +# is set as true before deleting properties with large index named +# (15.4.5.1 step 3.i.iii) +15.2.3.7-6-a-164: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the length property is decreased by 1 (15.4.5.1 step +# 3.l.i) +15.2.3.7-6-a-165: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own data property with +# large index named in 'O' can stop deleting index named properties +# (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-166: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of inherited data property +# with large index named in 'O' can't stop deleting index named properties +# (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-167: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own data property with +# large index named in 'O' that overrides inherited data property can stop +# deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-168: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own data property with +# large index named in 'O' that overrides inherited accessor property can +# stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-169: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own accessor property +# with large index named in 'O' can stop deleting index named properties +# (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-170: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of inherited accessor +# property with large index named in 'O' can't stop deleting index named +# properties (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-171: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own accessor property +# with large index named in 'O' that overrides inherited data property can +# stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-172: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Configurable]] attribute of own accessor property +# with large index named in 'O' that overrides inherited accessor property +# can stop deleting index named properties (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-173: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the configurable large index named property of 'O' can be +# deleted (15.4.5.1 step 3.l.ii) +15.2.3.7-6-a-174: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test value of the length property is set to the last +# non-configurable index named property of 'O' plus 1 (15.4.5.1 step +# 3.l.iii.1) +15.2.3.7-6-a-175: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to false at last when the [[Writable]] field of 'desc' is false and 'O' +# contains non-configurable large index named property (15.4.5.1 step +# 3.l.iii.2) +15.2.3.7-6-a-176: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is the length property of +# 'O', the [[Value]] field of 'desc' is less than value of the length +# property, test the [[Writable]] attribute of the length property is set +# to false at last when the [[Writable]] field of 'desc' is false and 'O' +# doesn't contain non-configurable large index named property (15.4.5.1 +# step 3.m) +15.2.3.7-6-a-177: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property, 'P' is boundary value 2^32 - 2 (15.4.5.1 step 4.a) +15.2.3.7-6-a-179: FAIL +# Bug? Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is +# an array index named property,[[Writable]] attribute of the length +# property in 'O' is false, value of 'P' is equal to value of the length +# property in 'O' (15.4.5.1 step 4.b) +15.2.3.7-6-a-184: FAIL +# Bug? Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is +# an array index named property,[[Writable]] attribute of the length +# property in 'O' is false, value of 'P' is bigger than value of the length +# property in 'O' (15.4.5.1 step 4.b) +15.2.3.7-6-a-185: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property, 'desc' is accessor descriptor, test updating all attribute +# values of 'P' (15.4.5.1 step 4.c) +15.2.3.7-6-a-205: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property that already exists on 'O' is accessor property and 'desc' is +# accessor descriptor, test updating the [[Enumerable]] attribute value of +# 'P' (15.4.5.1 step 4.c) +15.2.3.7-6-a-260: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property that already exists on 'O' is accessor property and 'desc' is +# accessor descriptor, test updating the [[Configurable]] attribute value +# of 'P' (15.4.5.1 step 4.c) +15.2.3.7-6-a-261: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property that already exists on 'O' is accessor property and 'desc' is +# accessor descriptor, test updating multiple attribute values of 'P' +# (15.4.5.1 step 4.c) +15.2.3.7-6-a-262: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property, test the length property of 'O' is set as ToUint32('P') + 1 if +# ToUint32('P') equals to value of the length property in 'O' (15.4.5.1 +# step 4.e.ii) +15.2.3.7-6-a-264: FAIL +# Bug? Object.defineProperties - 'O' is an Array, 'P' is an array index named +# property, test the length property of 'O' is set as ToUint32('P') + 1 if +# ToUint32('P') is greater than value of the length property in 'O' +# (15.4.5.1 step 4.e.ii) +15.2.3.7-6-a-265: FAIL +# Bug? Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor +# property of 'O' which is also defined in [[ParameterMap]] of 'O', and +# 'desc' is accessor descriptor, test updating multiple attribute values of +# 'P' (10.6 [[DefineOwnProperty]] step 3) +15.2.3.7-6-a-280: FAIL +# Bug? Object.defineProperties - 'O' is an Arguments object, 'P' is an array +# index named accessor property of 'O' but not defined in [[ParameterMap]] +# of 'O', and 'desc' is accessor descriptor, test updating multiple +# attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3) +15.2.3.7-6-a-292: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into the +# returned object +15.2.3.10-3-2: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into a +# Function object +15.2.3.10-3-3: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into an +# Array object +15.2.3.10-3-4: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into a +# String object +15.2.3.10-3-5-1: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into a +# Boolean object +15.2.3.10-3-6: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into a +# Number object +15.2.3.10-3-7: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into a Date +# object +15.2.3.10-3-8: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into a +# RegExp object +15.2.3.10-3-9: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into an +# Error object +15.2.3.10-3-10: FAIL +# Bug? Object.preventExtensions - indexed properties cannot be added into an +# Arguments object +15.2.3.10-3-11: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into the +# returned object +15.2.3.10-3-12: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into a +# Function object +15.2.3.10-3-13: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into an Array +# object +15.2.3.10-3-14: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into a String +# object +15.2.3.10-3-15: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into a +# Boolean object +15.2.3.10-3-16: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into a Number +# object +15.2.3.10-3-17: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into a Date +# object +15.2.3.10-3-18: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into a RegExp +# object +15.2.3.10-3-19: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into an Error +# object +15.2.3.10-3-20: FAIL +# Bug? Object.preventExtensions - named properties cannot be added into an +# Arguments object +15.2.3.10-3-21: FAIL +# Bug? Object.prototype.toString - '[object Undefined]' will be returned when +# 'this' value is undefined +15.2.4.2-1-1: FAIL +# Bug? Object.prototype.toString - '[object Undefined]' will be returned when +# 'this' value is undefined +15.2.4.2-1-2: FAIL +# Bug? Object.prototype.toString - '[object Null]' will be returned when 'this' +# value is null +15.2.4.2-2-1: FAIL +# Bug? Object.prototype.toString - '[object Null]' will be returned when 'this' +# value is null +15.2.4.2-2-2: FAIL +# Bug? Function.prototype.bind - [[Get]] attribute of 'caller' property in 'F' +# is thrower +15.3.4.5-20-2: FAIL +# Bug? Function.prototype.bind - [[Set]] attribute of 'caller' property in 'F' +# is thrower +15.3.4.5-20-3: FAIL +# Bug? Function.prototype.bind - [[Get]] attribute of 'arguments' property in +# 'F' is thrower +15.3.4.5-21-2: FAIL +# Bug? Function.prototype.bind - [[Set]] attribute of 'arguments' property in +# 'F' is thrower +15.3.4.5-21-3: FAIL +# Bug? Array.prototype.concat will concat an Array when index property +# (read-only) exists in Array.prototype (Step 5.c.i) +15.4.4.4-5-c-i-1: FAIL +# Bug? Array.prototype.indexOf applied to undefined throws a TypeError +15.4.4.14-1-1: FAIL +# Bug? Array.prototype.indexOf applied to null throws a TypeError +15.4.4.14-1-2: FAIL +# Bug? Array.prototype.indexOf - side effects produced by step 1 are visible +# when an exception occurs +15.4.4.14-5-28: FAIL +# Bug? Array.prototype.indexOf - decreasing length of array does not delete +# non-configurable properties +15.4.4.14-9-a-19: FAIL +# Bug? Array.prototype.indexOf - element to be retrieved is own accessor +# property that overrides an inherited data property on an Array +15.4.4.14-9-b-i-11: FAIL +# Bug? Array.prototype.indexOf - element to be retrieved is own accessor +# property that overrides an inherited accessor property on an Array +15.4.4.14-9-b-i-13: FAIL +# Bug? Array.prototype.indexOf - element to be retrieved is own accessor +# property without a get function on an Array +15.4.4.14-9-b-i-17: FAIL +# Bug? Array.prototype.indexOf - element to be retrieved is own accessor +# property without a get function that overrides an inherited accessor +# property on an Array +15.4.4.14-9-b-i-19: FAIL +# Bug? Array.prototype.indexOf - side-effects are visible in subsequent +# iterations on an Array +15.4.4.14-9-b-i-28: FAIL +# Bug? Array.prototype.indexOf - terminates iteration on unhandled exception on +# an Array +15.4.4.14-9-b-i-30: FAIL +# Bug? Array.prototype.lastIndexOf applied to undefined throws a TypeError +15.4.4.15-1-1: FAIL +# Bug? Array.prototype.lastIndexOf applied to null throws a TypeError +15.4.4.15-1-2: FAIL +# Bug? Array.prototype.lastIndexOf - side effects produced by step 1 are visible +# when an exception occurs +15.4.4.15-5-28: FAIL +# Bug? Array.prototype.lastIndexOf - deleting property of prototype causes +# prototype index property not to be visited on an Array +15.4.4.15-8-a-14: FAIL +# Bug? Array.prototype.lastIndexOf - decreasing length of array does not delete +# non-configurable properties +15.4.4.15-8-a-19: FAIL +# Bug? Array.prototype.lastIndexOf - element to be retrieved is own accessor +# property that overrides an inherited data property on an Array +15.4.4.15-8-b-i-11: FAIL +# Bug? Array.prototype.lastIndexOf - element to be retrieved is own accessor +# property that overrides an inherited accessor property on an Array +15.4.4.15-8-b-i-13: FAIL +# Bug? Array.prototype.lastIndexOf - element to be retrieved is own accessor +# property without a get function on an Array +15.4.4.15-8-b-i-17: FAIL +# Bug? Array.prototype.lastIndexOf - side-effects are visible in subsequent +# iterations on an Array +15.4.4.15-8-b-i-28: FAIL +# Bug? Array.prototype.lastIndexOf terminates iteration on unhandled exception +# on an Array +15.4.4.15-8-b-i-30: FAIL +# Bug? Array.prototype.every - side effects produced by step 2 are visible when +# an exception occurs +15.4.4.16-4-8: FAIL +# Bug? Array.prototype.every - side effects produced by step 3 are visible when +# an exception occurs +15.4.4.16-4-9: FAIL +# Bug? Array.prototype.every - the exception is not thrown if exception was +# thrown by step 2 +15.4.4.16-4-10: FAIL +# Bug? Array.prototype.every - the exception is not thrown if exception was +# thrown by step 3 +15.4.4.16-4-11: FAIL +# Bug? Array.prototype.every - calling with no callbackfn is the same as passing +# undefined for callbackfn +15.4.4.16-4-15: FAIL +# Bug? Array.prototype.every - decreasing length of array does not delete +# non-configurable properties +15.4.4.16-7-b-16: FAIL +# Bug? Array.prototype.every - element to be retrieved is own accessor property +# on an Array +15.4.4.16-7-c-i-10: FAIL +# Bug? Array.prototype.every - element to be retrieved is own accessor property +# that overrides an inherited data property on an Array +15.4.4.16-7-c-i-12: FAIL +# Bug? Array.prototype.every - element to be retrieved is own accessor property +# that overrides an inherited accessor property on an Array +15.4.4.16-7-c-i-14: FAIL +# Bug? Array.prototype.every - element to be retrieved is own accessor property +# without a get function on an Array +15.4.4.16-7-c-i-18: FAIL +# Bug? Array.prototype.every - element to be retrieved is own accessor property +# without a get function that overrides an inherited accessor property on +# an Array +15.4.4.16-7-c-i-20: FAIL +# Bug? Array.prototype.every - element changed by getter on previous iterations +# is observed on an Array +15.4.4.16-7-c-i-28: FAIL +# Bug? Array.prototype.some - side effects produced by step 2 are visible when +# an exception occurs +15.4.4.17-4-8: FAIL +# Bug? Array.prototype.some - side effects produced by step 3 are visible when +# an exception occurs +15.4.4.17-4-9: FAIL +# Bug? Array.prototype.some - the exception is not thrown if exception was +# thrown by step 2 +15.4.4.17-4-10: FAIL +# Bug? Array.prototype.some - the exception is not thrown if exception was +# thrown by step 3 +15.4.4.17-4-11: FAIL +# Bug? Array.prototype.some - calling with no callbackfn is the same as passing +# undefined for callbackfn +15.4.4.17-4-15: FAIL +# Bug? Array.prototype.some - decreasing length of array does not delete +# non-configurable properties +15.4.4.17-7-b-16: FAIL +# Bug? Array.prototype.some - element to be retrieved is own accessor property +# on an Array +15.4.4.17-7-c-i-10: FAIL +# Bug? Array.prototype.some - element to be retrieved is own accessor property +# that overrides an inherited data property on an Array +15.4.4.17-7-c-i-12: FAIL +# Bug? Array.prototype.some - element to be retrieved is own accessor property +# that overrides an inherited accessor property on an Array +15.4.4.17-7-c-i-14: FAIL +# Bug? Array.prototype.some - element to be retrieved is own accessor property +# without a get function on an Array +15.4.4.17-7-c-i-18: FAIL +# Bug? Array.prototype.some - element to be retrieved is own accessor property +# without a get function that overrides an inherited accessor property on +# an Array +15.4.4.17-7-c-i-20: FAIL +# Bug? Array.prototype.some - element changed by getter on previous iterations +# is observed on an Array +15.4.4.17-7-c-i-28: FAIL +# Bug? Array.prototype.forEach - side effects produced by step 2 are visible +# when an exception occurs +15.4.4.18-4-8: FAIL +# Bug? Array.prototype.forEach - side effects produced by step 3 are visible +# when an exception occurs +15.4.4.18-4-9: FAIL +# Bug? Array.prototype.forEach - the exception is not thrown if exception was +# thrown by step 2 +15.4.4.18-4-10: FAIL +# Bug? Array.prototype.forEach - the exception is not thrown if exception was +# thrown by step 3 +15.4.4.18-4-11: FAIL +# Bug? Array.prototype.forEach - calling with no callbackfn is the same as +# passing undefined for callbackfn +15.4.4.18-4-15: FAIL +# Bug? Array.prototype.forEach - decreasing length of array does not delete +# non-configurable properties +15.4.4.18-7-b-16: FAIL +# Bug? Array.prototype.forEach - element to be retrieved is own accessor +# property on an Array +15.4.4.18-7-c-i-10: FAIL +# Bug? Array.prototype.forEach - element to be retrieved is own accessor +# property that overrides an inherited data property on an Array +15.4.4.18-7-c-i-12: FAIL +# Bug? Array.prototype.forEach - element to be retrieved is own accessor +# property that overrides an inherited accessor property on an Array +15.4.4.18-7-c-i-14: FAIL +# Bug? Array.prototype.forEach - element to be retrieved is own accessor +# property without a get function on an Array +15.4.4.18-7-c-i-18: FAIL +# Bug? Array.prototype.forEach - element to be retrieved is own accessor +# property without a get function that overrides an inherited accessor +# property on an Array +15.4.4.18-7-c-i-20: FAIL +# Bug? Array.prototype.forEach - element changed by getter on previous +# iterations is observed on an Array +15.4.4.18-7-c-i-28: FAIL +# Bug? Array.prototype.map - applied to Array-like object, 'length' is an own +# data property that overrides an inherited accessor property +15.4.4.19-2-5: FAIL +# Bug? Array.prototype.map - Side effects produced by step 2 are visible when an +# exception occurs +15.4.4.19-4-8: FAIL +# Bug? Array.prototype.map - Side effects produced by step 3 are visible when an +# exception occurs +15.4.4.19-4-9: FAIL +# Bug? Array.prototype.map - the exception is not thrown if exception was thrown +# by step 2 +15.4.4.19-4-10: FAIL +# Bug? Array.prototype.map - the exception is not thrown if exception was thrown +# by step 3 +15.4.4.19-4-11: FAIL +# Bug? Array.prototype.map - calling with no callbackfn is the same as passing +# undefined for callbackfn +15.4.4.19-4-15: FAIL +# Bug? Array.prototype.map - decreasing length of array does not delete +# non-configurable properties +15.4.4.19-8-b-16: FAIL +# Bug? Array.prototype.map - element to be retrieved is own accessor property on +# an Array +15.4.4.19-8-c-i-10: FAIL +# Bug? Array.prototype.map - element to be retrieved is own accessor property +# that overrides an inherited data property on an Array +15.4.4.19-8-c-i-12: FAIL +# Bug? Array.prototype.map - element to be retrieved is own accessor property +# that overrides an inherited accessor property on an Array +15.4.4.19-8-c-i-14: FAIL +# Bug? Array.prototype.map - element to be retrieved is own accessor property +# without a get function on an Array +15.4.4.19-8-c-i-18: FAIL +# Bug? Array.prototype.map - element to be retrieved is own accessor property +# without a get function that overrides an inherited accessor property on +# an Array +15.4.4.19-8-c-i-19: FAIL +# Bug? Array.prototype.map - element changed by getter on previous iterations is +# observed on an Array +15.4.4.19-8-c-i-28: FAIL +# Bug? Array.prototype.filter - value of 'length' is a number (value is +# negative) +15.4.4.20-3-7: FAIL +# Bug? Array.prototype.filter - value of 'length' is a number (value is +# Infinity) +# V8 timeout +15.4.4.20-3-8: SKIP +# Bug? Array.prototype.filter - 'length' is a string containing a negative +# number +15.4.4.20-3-12: FAIL +# Bug? Array.prototype.filter - 'length' is a string containing a decimal number +15.4.4.20-3-13: FAIL +# Bug? Array.prototype.filter - 'length' is a string containing +/-Infinity +15.4.4.20-3-14: SKIP +# Bug? Array.prototype.filter - value of 'length' is a positive non-integer, +# ensure truncation occurs in the proper direction +# V8 timeout +15.4.4.20-3-24: FAIL +# Bug? Array.prototype.filter - value of 'length' is a negative non-integer, +# ensure truncation occurs in the proper direction +15.4.4.20-3-25: FAIL +# Bug? Array.prototype.filter - value of 'length' is boundary value (2^32) +# V8 timeout +15.4.4.20-3-28: SKIP +# Bug? Array.prototype.filter - value of 'length' is boundary value (2^32 + 1) +# V8 timeout +15.4.4.20-3-29: SKIP +# Bug? Array.prototype.filter - side effects produced by step 2 are visible when +# an exception occurs +15.4.4.20-4-8: FAIL +# Bug? Array.prototype.filter - side effects produced by step 3 are visible when +# an exception occurs +15.4.4.20-4-9: FAIL +# Bug? Array.prototype.filter - the exception is not thrown if exception was +# thrown by step 2 +15.4.4.20-4-10: FAIL +# Bug? Array.prototype.filter - the exception is not thrown if exception was +# thrown by step 3 +15.4.4.20-4-11: FAIL +# Bug? Array.prototype.filter - calling with no callbackfn is the same as +# passing undefined for callbackfn +15.4.4.20-4-15: FAIL +# Bug? Array.prototype.filter - properties can be added to prototype after +# current position are visited on an Array-like object +15.4.4.20-9-b-6: FAIL +# Bug? Array.prototype.filter - properties can be added to prototype after +# current position are visited on an Array +15.4.4.20-9-b-7: FAIL +# Bug? Array.prototype.filter - decreasing length of array does not delete +# non-configurable properties +15.4.4.20-9-b-16: FAIL +# Bug? Array.prototype.filter - element to be retrieved is own data property +# that overrides an inherited accessor property on an Array +15.4.4.20-9-c-i-6: FAIL +# Bug? Array.prototype.filter - element to be retrieved is own accessor property +# on an Array +15.4.4.20-9-c-i-10: FAIL +# Bug? Array.prototype.filter - element to be retrieved is own accessor property +# that overrides an inherited data property on an Array +15.4.4.20-9-c-i-12: FAIL +# Bug? Array.prototype.filter - element to be retrieved is own accessor property +# that overrides an inherited accessor property on an Array +15.4.4.20-9-c-i-14: FAIL +# Bug? Array.prototype.filter - element to be retrieved is inherited accessor +# property on an Array +15.4.4.20-9-c-i-16: FAIL +# Bug? Array.prototype.filter - element to be retrieved is own accessor property +# without a get function on an Array +15.4.4.20-9-c-i-18: FAIL +# Bug? Array.prototype.filter - element to be retrieved is own accessor property +# without a get function that overrides an inherited accessor property on +# an Array +15.4.4.20-9-c-i-20: FAIL +# Bug? Array.prototype.filter - element to be retrieved is inherited accessor +# property without a get function on an Array +15.4.4.20-9-c-i-22: FAIL +# Bug? Array.prototype.filter - element changed by getter on previous iterations +# is observed on an Array +15.4.4.20-9-c-i-28: FAIL +# Bug? Array.prototype.reduce - value of 'length' is a number (value is +# negative) +15.4.4.21-3-7: FAIL +# Bug? Array.prototype.reduce - value of 'length' is a number (value is +# Infinity) +# V8 timeout. +15.4.4.21-3-8: SKIP +# Bug? Array.prototype.reduce - 'length' is a string containing a negative +# number +15.4.4.21-3-12: FAIL +# Bug? Array.prototype.reduce - 'length' is a string containing a decimal number +15.4.4.21-3-13: FAIL +# Bug? Array.prototype.reduce - 'length' is a string containing +/-Infinity +# V8 timeout. +15.4.4.21-3-14: SKIP +# Bug? Array.prototype.reduce - value of 'length' is a positive non-integer, +# ensure truncation occurs in the proper direction +15.4.4.21-3-24: FAIL +# Bug? Array.prototype.reduce - value of 'length' is a negative non-integer, +# ensure truncation occurs in the proper direction +15.4.4.21-3-25: FAIL +# Bug? Array.prototype.reduce - value of 'length' is boundary value (2^32) +# V8 timeout. +15.4.4.21-3-28: SKIP +# Bug? Array.prototype.reduce - value of 'length' is boundary value (2^32 + 1) +# V8 timeout. +15.4.4.21-3-29: SKIP +# Bug? Array.prototype.reduce - side effects produced by step 2 are visible when +# an exception occurs +15.4.4.21-4-8: FAIL +# Bug? Array.prototype.reduce - side effects produced by step 3 are visible when +# an exception occurs +15.4.4.21-4-9: FAIL +# Bug? Array.prototype.reduce - the exception is not thrown if exception was +# thrown by step 2 +15.4.4.21-4-10: FAIL +# Bug? Array.prototype.reduce - the exception is not thrown if exception was +# thrown by step 3 +15.4.4.21-4-11: FAIL +# Bug? Array.prototype.reduce - calling with no callbackfn is the same as +# passing undefined for callbackfn +15.4.4.21-4-15: FAIL +# Bug? Array.prototype.reduce - decreasing length of array in step 8 does not +# delete non-configurable properties +15.4.4.21-9-b-16: FAIL +# Bug? Array.prototype.reduce - decreasing length of array does not delete +# non-configurable properties +15.4.4.21-9-b-29: FAIL +# Bug? Array.prototype.reduceRight - value of 'length' is a number (value is +# negative) +15.4.4.22-3-7: FAIL +# Bug? Array.prototype.reduceRight - value of 'length' is a number (value is +# Infinity) +# V8 timeout. +15.4.4.22-3-8: SKIP +# Bug? Array.prototype.reduceRight - value of 'length' is a string containing a +# negative number +15.4.4.22-3-12: FAIL +# Bug? Array.prototype.reduceRight - value of 'length' is a string containing a +# decimal number +15.4.4.22-3-13: FAIL +# Bug? Array.prototype.reduceRight - value of 'length' is a string containing +# +/-Infinity +# V8 timeout. +15.4.4.22-3-14: SKIP +# Bug? Array.prototype.reduceRight - value of 'length' is a positive +# non-integer, ensure truncation occurs in the proper direction +15.4.4.22-3-24: FAIL +# Bug? Array.prototype.reduceRight - value of 'length' is a negative +# non-integer, ensure truncation occurs in the proper direction +15.4.4.22-3-25: FAIL +# Bug? Array.prototype.reduceRight - value of 'length' is boundary value (2^32) +# V8 timeout. +15.4.4.22-3-28: SKIP +# Bug? Array.prototype.reduceRight - value of 'length' is boundary value (2^32 + +# 1) +# V8 timeout. +15.4.4.22-3-29: SKIP +# Bug? Array.prototype.reduceRight - side effects produced by step 2 are visible +# when an exception occurs +15.4.4.22-4-8: FAIL +# Bug? Array.prototype.reduceRight - side effects produced by step 3 are visible +# when an exception occurs +15.4.4.22-4-9: FAIL +# Bug? Array.prototype.reduceRight - the exception is not thrown if exception +# was thrown by step 2 +15.4.4.22-4-10: FAIL +# Bug? Array.prototype.reduceRight - the exception is not thrown if exception +# was thrown by step 3 +15.4.4.22-4-11: FAIL +# Bug? Array.prototype.reduceRight - calling with no callbackfn is the same as +# passing undefined for callbackfn +15.4.4.22-4-15: FAIL +# Bug? Array.prototype.reduceRight - element to be retrieved is own accessor +# property that overrides an inherited data property on an Array +15.4.4.22-8-b-iii-1-12: FAIL +# Bug? Array.prototype.reduceRight - element to be retrieved is own accessor +# property without a get function on an Array +15.4.4.22-8-b-iii-1-18: FAIL +# Bug? Array.prototype.reduceRight - element to be retrieved is own accessor +# property without a get function that overrides an inherited accessor +# property on an Array +15.4.4.22-8-b-iii-1-20: FAIL +# Bug? Array.prototype.reduceRight - element changed by getter on current +# iteration is observed in subsequent iterations on an Array +15.4.4.22-8-b-iii-1-30: FAIL +# Bug? Array.prototype.reduceRight - Exception in getter terminate iteration on +# an Array +15.4.4.22-8-b-iii-1-33: FAIL +# Bug? Array.prototype.reduceRight - modifications to length don't change number +# of iterations in step 9 +15.4.4.22-8-b-2: FAIL +# Bug? Array.prototype.reduceRight - deleting own property in step 8 causes +# deleted index property not to be visited on an Array +15.4.4.22-9-b-9: FAIL +# Bug? Array.prototype.reduceRight - deleting own property with prototype +# property in step 8 causes prototype index property to be visited on an +# Array +15.4.4.22-9-b-13: FAIL +# Bug? Array.prototype.reduceRight - decreasing length of array in step 8 does +# not delete non-configurable properties +15.4.4.22-9-b-16: FAIL +# Bug? Array.prototype.reduceRight - deleting property of prototype causes +# deleted index property not to be visited on an Array +15.4.4.22-9-b-24: FAIL +# Bug? Array.prototype.reduceRight - deleting own property with prototype +# property causes prototype index property to be visited on an Array +15.4.4.22-9-b-26: FAIL +# Bug? Array.prototype.reduceRight - decreasing length of array does not delete +# non-configurable properties +15.4.4.22-9-b-29: FAIL +# Bug? Array.prototype.reduceRight - element changed by getter on previous +# iterations is observed on an Array +15.4.4.22-9-c-i-30: FAIL +# Bug? Array.prototype.reduceRight - modifications to length will change number +# of iterations +15.4.4.22-9-9: FAIL +# Bug? String.prototype.trim throws TypeError when string is undefined +15.5.4.20-1-1: FAIL +# Bug? String.prototype.trim throws TypeError when string is null +15.5.4.20-1-2: FAIL +# Bug? String.prototype.trim - 'S' is a string with all WhiteSpace +15.5.4.20-3-2: FAIL +# Bug? String.prototype.trim - 'S' is a string with all union of WhiteSpace and +# LineTerminator +15.5.4.20-3-3: FAIL +# Bug? String.prototype.trim - 'S' is a string start with union of all +# LineTerminator and all WhiteSpace +15.5.4.20-3-4: FAIL +# Bug? String.prototype.trim - 'S' is a string end with union of all +# LineTerminator and all WhiteSpace +15.5.4.20-3-5: FAIL +# Bug? String.prototype.trim - 'S' is a string start with union of all +# LineTerminator and all WhiteSpace and end with union of all +# LineTerminator and all WhiteSpace +15.5.4.20-3-6: FAIL +# Bug? String.prototype.trim handles whitepace and lineterminators (\\uFEFFabc) +15.5.4.20-4-10: FAIL +# Bug? String.prototype.trim handles whitepace and lineterminators (abc\\uFEFF) +15.5.4.20-4-18: FAIL +# Bug? String.prototype.trim handles whitepace and lineterminators +# (\\uFEFF\\uFEFF) +15.5.4.20-4-34: FAIL +# Bug? Date Time String Format - specified default values will be set for all +# optional fields(MM, DD, mm, ss and time zone) when they are absent +15.9.1.15-1: FAIL +# Bug? Date.prototype.toISOString - RangeError is thrown when value of date is +# Date(1970, 0, -99999999, 0, 0, 0, -1), the time zone is UTC(0) +15.9.5.43-0-8: FAIL +# Bug? Date.prototype.toISOString - RangeError is not thrown when value of date +# is Date(1970, 0, 100000001, 0, 0, 0, -1), the time zone is UTC(0) +15.9.5.43-0-11: FAIL +# Bug? Date.prototype.toISOString - RangeError is not thrown when value of date +# is Date(1970, 0, 100000001, 0, 0, 0, 0), the time zone is UTC(0) +15.9.5.43-0-12: FAIL +# Bug? Date.prototype.toISOString - RangeError is thrown when value of date is +# Date(1970, 0, 100000001, 0, 0, 0, 1), the time zone is UTC(0) +15.9.5.43-0-13: FAIL +# Bug? Date.prototype.toISOString - when value of year is -Infinity +# Date.prototype.toISOString throw the RangeError +15.9.5.43-0-14: FAIL +# Bug? Date.prototype.toISOString - value of year is Infinity +# Date.prototype.toISOString throw the RangeError +15.9.5.43-0-15: FAIL +# Bug? RegExp - the thrown error is SyntaxError instead of RegExpError when 'F' +# contains any character other than 'g', 'i', or 'm' +15.10.4.1-3: FAIL +# Bug? RegExp.prototype is itself a RegExp +15.10.6: FAIL +# Bug? RegExp.prototype.source is of type String +15.10.7.1-1: FAIL +# Bug? RegExp.prototype.source is a data property with default attribute values +# (false) +15.10.7.1-2: FAIL +# Bug? RegExp.prototype.global is of type Boolean +15.10.7.2-1: FAIL +# Bug? RegExp.prototype.global is a data property with default attribute values +# (false) +15.10.7.2-2: FAIL +# Bug? RegExp.prototype.ignoreCase is of type Boolean +15.10.7.3-1: FAIL +# Bug? RegExp.prototype.ignoreCase is a data property with default attribute +# values (false) +15.10.7.3-2: FAIL +# Bug? RegExp.prototype.multiline is of type Boolean +15.10.7.4-1: FAIL +# Bug? RegExp.prototype.multiline is a data property with default attribute +# values (false) +15.10.7.4-2: FAIL +# Bug? RegExp.prototype.lastIndex is of type Number +15.10.7.5-1: FAIL +# Bug? RegExp.prototype.lastIndex is a data property with specified attribute +# values +15.10.7.5-2: FAIL +# Bug? Error.prototype.toString return the value of 'msg' when 'name' is empty +# string and 'msg' isn't undefined +15.11.4.4-8-1: FAIL diff --git a/test/test262/testcfg.py b/test/test262/testcfg.py new file mode 100644 index 00000000..aa1212e4 --- /dev/null +++ b/test/test262/testcfg.py @@ -0,0 +1,123 @@ +# Copyright 2011 the V8 project authors. All rights reserved. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import test +import os +from os.path import join, exists + + +TEST_262_HARNESS = ['sta.js'] + + +class Test262TestCase(test.TestCase): + + def __init__(self, filename, path, context, root, mode, framework): + super(Test262TestCase, self).__init__(context, path, mode) + self.filename = filename + self.framework = framework + self.root = root + + def IsNegative(self): + return self.filename.endswith('-n.js') + + def GetLabel(self): + return "%s test262 %s %s" % (self.mode, self.GetGroup(), self.GetName()) + + def IsFailureOutput(self, output): + if output.exit_code != 0: + return True + return 'FAILED!' in output.stdout + + def GetCommand(self): + result = self.context.GetVmCommand(self, self.mode) + result += ['-e', 'var window = this'] + result += self.framework + result.append(self.filename) + return result + + def GetName(self): + return self.path[-1] + + def GetGroup(self): + return self.path[0] + + def GetSource(self): + return open(self.filename).read() + + +class Test262TestConfiguration(test.TestConfiguration): + + def __init__(self, context, root): + super(Test262TestConfiguration, self).__init__(context, root) + + def AddIETestCenter(self, tests, current_path, path, mode): + current_root = join(self.root, 'data', 'test', 'suite', 'ietestcenter') + harness = [join(self.root, 'data', 'test', 'harness', f) + for f in TEST_262_HARNESS] + harness += [join(self.root, 'harness-adapt.js')] + for root, dirs, files in os.walk(current_root): + for dotted in [x for x in dirs if x.startswith('.')]: + dirs.remove(dotted) + dirs.sort() + root_path = root[len(self.root):].split(os.path.sep) + root_path = current_path + [x for x in root_path if x] + files.sort() + for file in files: + if file.endswith('.js'): + if self.Contains(path, root_path): + test_path = ['ietestcenter', file[:-3]] + test = Test262TestCase(join(root, file), test_path, self.context, + self.root, mode, harness) + tests.append(test) + + def AddSputnikConvertedTests(self, tests, current_path, path, mode): + # To be enabled + pass + + def AddSputnikTests(self, tests, current_path, path, mode): + # To be enabled + pass + + def ListTests(self, current_path, path, mode, variant_flags): + tests = [] + self.AddIETestCenter(tests, current_path, path, mode) + self.AddSputnikConvertedTests(tests, current_path, path, mode) + self.AddSputnikTests(tests, current_path, path, mode) + return tests + + def GetBuildRequirements(self): + return ['sample', 'sample=shell'] + + def GetTestStatus(self, sections, defs): + status_file = join(self.root, 'test262.status') + if exists(status_file): + test.ReadConfigurationInto(status_file, sections, defs) + + +def GetConfiguration(context, root): + return Test262TestConfiguration(context, root) |
