• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2013 the V8 project authors. All rights reserved.
2# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7# 1.  Redistributions of source code must retain the above copyright
8#     notice, this list of conditions and the following disclaimer.
9# 2.  Redistributions in binary form must reproduce the above copyright
10#     notice, this list of conditions and the following disclaimer in the
11#     documentation and/or other materials provided with the distribution.
12#
13# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24Test to ensure correct behaviour of Object.getOwnPropertyNames
25
26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
27
28
29PASS getSortedOwnPropertyNames({}) is []
30PASS getSortedOwnPropertyNames({a:null}) is ['a']
31PASS getSortedOwnPropertyNames({a:null, b:null}) is ['a', 'b']
32PASS getSortedOwnPropertyNames({b:null, a:null}) is ['a', 'b']
33PASS getSortedOwnPropertyNames({__proto__:{a:null}}) is []
34PASS getSortedOwnPropertyNames({__proto__:[1,2,3]}) is []
35PASS getSortedOwnPropertyNames(Object.create({}, { 'a': { 'value': 1, 'enumerable': false } })) is ['a']
36PASS getSortedOwnPropertyNames(Object.create([1,2,3], { 'a': { 'value': 1, 'enumerable': false } })) is ['a']
37PASS getSortedOwnPropertyNames(new Function()) is ['arguments', 'caller', 'length', 'name', 'prototype']
38PASS getSortedOwnPropertyNames((function(){var x=new Function();x.__proto__=[1,2,3];return x;})()) is ['arguments', 'caller', 'length', 'name', 'prototype']
39PASS getSortedOwnPropertyNames(new String('')) is ['length']
40PASS getSortedOwnPropertyNames(new String('a')) is ['0', 'length']
41PASS getSortedOwnPropertyNames(new String('abc')) is ['0', '1', '2', 'length']
42PASS getSortedOwnPropertyNames((function(){var x=new String('');x.__proto__=[1,2,3];return x;})()) is ['length']
43PASS getSortedOwnPropertyNames([]) is ['length']
44PASS getSortedOwnPropertyNames([null]) is ['0', 'length']
45PASS getSortedOwnPropertyNames([null,null]) is ['0','1', 'length']
46PASS getSortedOwnPropertyNames([null,null,,,,null]) is ['0','1','5', 'length']
47PASS getSortedOwnPropertyNames((function(){var x=[];x.__proto__=[1,2,3];return x;})()) is ['length']
48PASS getSortedOwnPropertyNames(new Date()) is []
49PASS getSortedOwnPropertyNames((function(){var x=new Date();x.__proto__=[1,2,3];return x;})()) is []
50PASS getSortedOwnPropertyNames(new RegExp('foo')) is ['global', 'ignoreCase', 'lastIndex', 'multiline', 'source']
51PASS getSortedOwnPropertyNames((function(){var x=new RegExp();x.__proto__=[1,2,3];return x;})()) is ['global', 'ignoreCase', 'lastIndex', 'multiline', 'source']
52PASS getSortedOwnPropertyNames(argumentsObject()) is ['callee', 'length']
53PASS getSortedOwnPropertyNames(argumentsObject(1)) is ['0', 'callee', 'length']
54PASS getSortedOwnPropertyNames(argumentsObject(1,2,3)) is ['0', '1', '2', 'callee', 'length']
55PASS getSortedOwnPropertyNames((function(){arguments.__proto__=[1,2,3];return arguments;})()) is ['callee', 'length']
56FAIL getSortedOwnPropertyNames(parseInt) should be length,name. Was arguments,caller,length,name.
57FAIL getSortedOwnPropertyNames(parseFloat) should be length,name. Was arguments,caller,length,name.
58FAIL getSortedOwnPropertyNames(isNaN) should be length,name. Was arguments,caller,length,name.
59FAIL getSortedOwnPropertyNames(isFinite) should be length,name. Was arguments,caller,length,name.
60FAIL getSortedOwnPropertyNames(escape) should be length,name. Was arguments,caller,length,name.
61FAIL getSortedOwnPropertyNames(unescape) should be length,name. Was arguments,caller,length,name.
62FAIL getSortedOwnPropertyNames(decodeURI) should be length,name. Was arguments,caller,length,name.
63FAIL getSortedOwnPropertyNames(decodeURIComponent) should be length,name. Was arguments,caller,length,name.
64FAIL getSortedOwnPropertyNames(encodeURI) should be length,name. Was arguments,caller,length,name.
65FAIL getSortedOwnPropertyNames(encodeURIComponent) should be length,name. Was arguments,caller,length,name.
66FAIL getSortedOwnPropertyNames(Object) should be create,defineProperties,defineProperty,freeze,getOwnPropertyDescriptor,getOwnPropertyNames,getPrototypeOf,isExtensible,isFrozen,isSealed,keys,length,name,preventExtensions,prototype,seal. Was arguments,caller,create,defineProperties,defineProperty,freeze,getOwnPropertyDescriptor,getOwnPropertyNames,getPrototypeOf,is,isExtensible,isFrozen,isSealed,keys,length,name,preventExtensions,prototype,seal.
67PASS getSortedOwnPropertyNames(Object.prototype) is ['__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', '__proto__', 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf']
68FAIL getSortedOwnPropertyNames(Function) should be length,name,prototype. Was arguments,caller,length,name,prototype.
69FAIL getSortedOwnPropertyNames(Function.prototype) should be apply,bind,call,constructor,length,name,toString. Was apply,arguments,bind,call,caller,constructor,length,name,toString.
70FAIL getSortedOwnPropertyNames(Array) should be isArray,length,name,prototype. Was arguments,caller,isArray,length,name,prototype.
71PASS getSortedOwnPropertyNames(Array.prototype) is ['concat', 'constructor', 'every', 'filter', 'forEach', 'indexOf', 'join', 'lastIndexOf', 'length', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift']
72FAIL getSortedOwnPropertyNames(String) should be fromCharCode,length,name,prototype. Was arguments,caller,fromCharCode,length,name,prototype.
73PASS getSortedOwnPropertyNames(String.prototype) is ['anchor', 'big', 'blink', 'bold', 'charAt', 'charCodeAt', 'concat', 'constructor', 'fixed', 'fontcolor', 'fontsize', 'indexOf', 'italics', 'lastIndexOf', 'length', 'link', 'localeCompare', 'match', 'replace', 'search', 'slice', 'small', 'split', 'strike', 'sub', 'substr', 'substring', 'sup', 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toString', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', 'valueOf']
74FAIL getSortedOwnPropertyNames(Boolean) should be length,name,prototype. Was arguments,caller,length,name,prototype.
75PASS getSortedOwnPropertyNames(Boolean.prototype) is ['constructor', 'toString', 'valueOf']
76FAIL getSortedOwnPropertyNames(Number) should be MAX_VALUE,MIN_VALUE,NEGATIVE_INFINITY,NaN,POSITIVE_INFINITY,length,name,prototype. Was MAX_VALUE,MIN_VALUE,NEGATIVE_INFINITY,NaN,POSITIVE_INFINITY,arguments,caller,isFinite,isNaN,length,name,prototype.
77PASS getSortedOwnPropertyNames(Number.prototype) is ['constructor', 'toExponential', 'toFixed', 'toLocaleString', 'toPrecision', 'toString', 'valueOf']
78FAIL getSortedOwnPropertyNames(Date) should be UTC,length,name,now,parse,prototype. Was UTC,arguments,caller,length,name,now,parse,prototype.
79PASS getSortedOwnPropertyNames(Date.prototype) is ['constructor', 'getDate', 'getDay', 'getFullYear', 'getHours', 'getMilliseconds', 'getMinutes', 'getMonth', 'getSeconds', 'getTime', 'getTimezoneOffset', 'getUTCDate', 'getUTCDay', 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', 'getYear', 'setDate', 'setFullYear', 'setHours', 'setMilliseconds', 'setMinutes', 'setMonth', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear', 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setYear', 'toDateString', 'toGMTString', 'toISOString', 'toJSON', 'toLocaleDateString', 'toLocaleString', 'toLocaleTimeString', 'toString', 'toTimeString', 'toUTCString', 'valueOf']
80FAIL getSortedOwnPropertyNames(RegExp) should be $&,$',$*,$+,$1,$2,$3,$4,$5,$6,$7,$8,$9,$_,$`,input,lastMatch,lastParen,leftContext,length,multiline,name,prototype,rightContext. Was $&,$',$*,$+,$1,$2,$3,$4,$5,$6,$7,$8,$9,$_,$`,$input,arguments,caller,input,lastMatch,lastParen,leftContext,length,multiline,name,prototype,rightContext.
81PASS getSortedOwnPropertyNames(RegExp.prototype) is ['compile', 'constructor', 'exec', 'global', 'ignoreCase', 'lastIndex', 'multiline', 'source', 'test', 'toString']
82FAIL getSortedOwnPropertyNames(Error) should be length,name,prototype. Was arguments,caller,captureStackTrace,length,name,prototype,stackTraceLimit.
83PASS getSortedOwnPropertyNames(Error.prototype) is ['constructor', 'message', 'name', 'toString']
84FAIL getSortedOwnPropertyNames(Math) should be E,LN10,LN2,LOG10E,LOG2E,PI,SQRT1_2,SQRT2,abs,acos,asin,atan,atan2,ceil,cos,exp,floor,log,max,min,pow,random,round,sin,sqrt,tan. Was E,LN10,LN2,LOG10E,LOG2E,PI,SQRT1_2,SQRT2,abs,acos,asin,atan,atan2,ceil,cos,exp,floor,imul,log,max,min,pow,random,round,sin,sqrt,tan.
85PASS getSortedOwnPropertyNames(JSON) is ['parse', 'stringify']
86PASS globalPropertyNames.indexOf('NaN') != -1 is true
87PASS globalPropertyNames.indexOf('Infinity') != -1 is true
88PASS globalPropertyNames.indexOf('undefined') != -1 is true
89PASS globalPropertyNames.indexOf('parseInt') != -1 is true
90PASS globalPropertyNames.indexOf('parseFloat') != -1 is true
91PASS globalPropertyNames.indexOf('isNaN') != -1 is true
92PASS globalPropertyNames.indexOf('isFinite') != -1 is true
93PASS globalPropertyNames.indexOf('escape') != -1 is true
94PASS globalPropertyNames.indexOf('unescape') != -1 is true
95PASS globalPropertyNames.indexOf('decodeURI') != -1 is true
96PASS globalPropertyNames.indexOf('decodeURIComponent') != -1 is true
97PASS globalPropertyNames.indexOf('encodeURI') != -1 is true
98PASS globalPropertyNames.indexOf('encodeURIComponent') != -1 is true
99PASS globalPropertyNames.indexOf('Object') != -1 is true
100PASS globalPropertyNames.indexOf('Function') != -1 is true
101PASS globalPropertyNames.indexOf('Array') != -1 is true
102PASS globalPropertyNames.indexOf('String') != -1 is true
103PASS globalPropertyNames.indexOf('Boolean') != -1 is true
104PASS globalPropertyNames.indexOf('Number') != -1 is true
105PASS globalPropertyNames.indexOf('Date') != -1 is true
106PASS globalPropertyNames.indexOf('RegExp') != -1 is true
107PASS globalPropertyNames.indexOf('Error') != -1 is true
108PASS globalPropertyNames.indexOf('Math') != -1 is true
109PASS globalPropertyNames.indexOf('JSON') != -1 is true
110PASS successfullyParsed is true
111
112TEST COMPLETE
113
114