Commit 956bd6f7 authored by mmaly@chromium.org's avatar mmaly@chromium.org

Enable V8 test bindings for test262 ietestcenter.

Review URL: http://codereview.chromium.org/6711063

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 363ef7f7
......@@ -23,6 +23,7 @@ shell_g
/test/es5conform/data/
/test/mozilla/data/
/test/sputnik/sputniktests/
/test/test262/data/
/tools/oom_dump/oom_dump
/tools/oom_dump/oom_dump.o
/tools/visual_studio/Debug
......
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.
// 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
}
})();
# 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
# 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)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment