5058db86c4
This fix adds support for retriving a property descriptor on elements. The new version supports both fast and slow case elements. In the fast case we always default configurable, writable, enumerable to true (we don't have PropertyDetails for fast elements). A few new tests are added to get-own-property-descriptor.js, I will add a lot more to object-define-property when I add support for indices in Object.defineProperty. Review URL: http://codereview.chromium.org/2278002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
270 lines
8.5 KiB
Plaintext
270 lines
8.5 KiB
Plaintext
# Copyright 2009 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.
|
|
|
|
prefix es5conform
|
|
def UNIMPLEMENTED = PASS || FAIL
|
|
def FAIL_OK = FAIL, OKAY
|
|
|
|
chapter07: UNIMPLEMENTED
|
|
chapter08: UNIMPLEMENTED
|
|
chapter10: UNIMPLEMENTED
|
|
chapter11: UNIMPLEMENTED
|
|
chapter12: UNIMPLEMENTED
|
|
chapter13: UNIMPLEMENTED
|
|
chapter14: UNIMPLEMENTED
|
|
chapter15/15.1: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.1: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.8: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.9: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.10: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.11: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.12: UNIMPLEMENTED
|
|
chapter15/15.2/15.2.3/15.2.3.13: UNIMPLEMENTED
|
|
|
|
# NOT IMPLEMENTED: seal
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: freeze
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: preventExtensions
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: isSealed
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: isFrozen
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: isExtensible
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: bind
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38: FAIL_OK
|
|
|
|
# NaN is writable
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178: FAIL_OK
|
|
# Infinity is writable
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179: FAIL_OK
|
|
# undefined is writable
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180: FAIL_OK
|
|
|
|
# Our Function object has a "arguments" property which is used as a non
|
|
# property in in the test
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183: FAIL_OK
|
|
|
|
# Our Function object has a "caller" property which is used as a non
|
|
# property in in the test
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184: FAIL_OK
|
|
|
|
# Our function object has a name property which is used as a non
|
|
# property in the test
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: RegExp.prototype.source
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: RegExp.prototype.global
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: RegExp.prototype.ignoreCase
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214: FAIL_OK
|
|
|
|
# NOT IMPLEMENTED: RegExp.prototype.multiline
|
|
chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215: FAIL_OK
|
|
|
|
# All of the tests below marked SUBSETFAIL (in 15.2.3.4) fail because
|
|
# the tests assumes that objects can not have more properties
|
|
# than those described in the spec - but according to spec they can
|
|
# have additional properties.
|
|
# All compareArray calls in these tests could be exchanged with a
|
|
# isSubsetOfArray call (I will upload a path to the es5conform site)
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1: FAIL_OK
|
|
|
|
# SUBSETFAIL + we do not implement all methods on Object
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-3: FAIL_OK
|
|
|
|
# SUBSETFAIL + we do not implement Function.prototype.bind
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-4: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-5: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-6: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-7: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-8: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-9: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-11: FAIL_OK
|
|
|
|
# We do not implement all methods on RegExp
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-13: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-14: FAIL_OK
|
|
|
|
# EvalError.prototype does not have message property
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-15: FAIL_OK
|
|
|
|
# Rangeerror.prototype does not have message property
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-16: FAIL_OK
|
|
|
|
# ReferenceError.prototype does not have message property
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-17: FAIL_OK
|
|
|
|
# SyntaxError.prototype does not have message property
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-18: FAIL_OK
|
|
|
|
# TypeError.prototype does not have message property
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-19: FAIL_OK
|
|
|
|
# URIError.prototype does not have message property
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-20: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-22: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-23: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-24: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-25: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-26: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-27: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-28: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-29: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-30: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-31: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-32: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-33: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-34: FAIL_OK
|
|
|
|
# SUBSETFAIL
|
|
chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-35: FAIL_OK
|
|
|
|
|
|
# We fail this because Object.keys returns numbers for element indices
|
|
# rather than strings.
|
|
#chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3: FAIL_OK
|
|
|
|
chapter15/15.3: UNIMPLEMENTED
|
|
|
|
chapter15/15.4/15.4.4/15.4.4.14: UNIMPLEMENTED
|
|
chapter15/15.4/15.4.4/15.4.4.15: UNIMPLEMENTED
|
|
chapter15/15.4/15.4.4/15.4.4.20: UNIMPLEMENTED
|
|
chapter15/15.4/15.4.4/15.4.4.21: UNIMPLEMENTED
|
|
chapter15/15.4/15.4.4/15.4.4.22: UNIMPLEMENTED
|
|
|
|
# Wrong test - because this is not given as argument to arr.every
|
|
# this._15_4_4_16_5_1 evaluates to undefined
|
|
chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1: FAIL_OK
|
|
|
|
# In test case the element is not appended - it is added in the middle of
|
|
# the array
|
|
chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1: FAIL_OK
|
|
|
|
# We fail because the test assumes that if the reference to array is deleted it
|
|
# is not longer traversed
|
|
chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7: FAIL_OK
|
|
|
|
# if (val>1) in test should be if (val>2)
|
|
chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10: FAIL_OK
|
|
|
|
# Wrong assumption - according to spec some returns a Boolean, not a number
|
|
chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-5-1
|
|
chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-7-1
|
|
chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-7-7
|
|
chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-7: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-10-8
|
|
chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-5-1
|
|
chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-7-7
|
|
chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-6: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-5-1
|
|
chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1: FAIL_OK
|
|
|
|
# Same as 15.4.4.16-7-7
|
|
chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7: FAIL_OK
|
|
|
|
|
|
chapter15/15.5: UNIMPLEMENTED
|
|
chapter15/15.6: UNIMPLEMENTED
|
|
chapter15/15.7: UNIMPLEMENTED
|
|
chapter15/15.9: UNIMPLEMENTED
|
|
chapter15/15.10: UNIMPLEMENTED
|
|
chapter15/15.12: UNIMPLEMENTED
|
|
|
|
[ $arch == mips ]
|
|
|
|
# Skip all tests on MIPS.
|
|
*: SKIP
|