blob: cb3b643de7b037be804ebb4a6b64356d465a4dc9 [file] [log] [blame]
*** Running test #1 (0): Test Object.prototype.__proto__ attributes
get: function() {
[native code]
}
set: function() {
[native code]
}
enumerable: false
configurable: true
PASSED
*** Running test #2 (1): Read built-in __proto__
PASSED
*** Running test #3 (2): Change built-in's __proto__ chain
Number.prototype -> Array.prototype -> Object.prototype
Boolean.prototype -> "abc" -> String.prototype -> Object.prototype
PASSED
*** Running test #4 (3): Change __proto__ to null/undefined
PASSED
*** Running test #5 (4): Change __proto__ to neither Object nor null, should throw
PASSED
*** Running test #6 (5): Change object.__proto__ to an object
b: 200
c: 200
a (inherited): 100
-- delete b.b --
c: 200
a (inherited): 100
b (inherited): 100
PASSED
*** Running test #7 (6): Change object.__proto__ to an array
b: 200
0 (inherited): 8
1 (inherited): 3
2 (inherited): 9
3 (inherited): 5
-- a.sort --
b: 200
0 (inherited): 3
1 (inherited): 5
2 (inherited): 8
3 (inherited): 9
-- b.sort --
0: 3
1: 5
2: 8
3: 9
b: 200
PASSED
*** Running test #8 (7): Change array.__proto__ to an object
0: 8
1: 3
2: 9
3: 5
a (inherited): 100
-- sort.apply --
0: 3
1: 5
2: 8
3: 9
a (inherited): 100
PASSED
*** Running test #9 (8): Attempt to change DOM object __proto__
PASSED
*** Running test #10 (9): __proto__ and instanceof/isPrototypeOf
PASSED
*** Running test #11 (10): Verify we reject simple __proto__ cycle
PASSED
*** Running test #12 (11): Verify proto cache is discarded
Before change
1, 2
After change
3, 4
PASSED
*** Running test #13 (12): Verify proto getter cache is discarded
Before change
1, 7
After change
3, 4
PASSED
*** Running test #14 (13): Verify the new proto object is marked as proto, so that changing the proto object invalidates related proto cache
Before change
undefined, undefined
After change
3, 4
After change proto property
9, 4
PASSED
*** Running test #15 (14): Verify changing __proto__ works safely with ObjTypeSpec
PASSED
*** Running test #16 (15): Verify PathTypeHandler successor Types continue to work, case 1
PASSED
*** Running test #17 (16): Verify PathTypeHandler successor Types continue to work, case 2
PASSED
*** Running test #18 (17): Verify that we can shadow __proto__ property
PASSED
*** Running test #19 (18): Test fast path o[i] with changed prototype
PASSED
*** Running test #20 (19): Test fast path o[i] when o.__proto__ == null
PASSED
*** Running test #21 (20): Test fast path o[i] when o.__proto__.__proto__ == null
PASSED
*** Running test #22 (21): Test Array methods with changed prototype
PASSED
*** Running test #23 (22): Test cross-site change prototype
PASSED
*** Running test #24 (23): Test change prototype of global object
PASSED
*** Running test #25 (24): Blue 62526: __proto__: ArrayElementEnumerator does not expect non-TypeIds_Object on prototype
PASSED
*** Running test #26 (25): Blue 114364: __proto__: Object.preventExtensions should make [[prototype]] immutable
PASSED
*** Running test #27 (26): Blue 245453: __proto__: Invalid has-only-writable-data-property cache
PASSED
*** Running test #28 (27): Blue 245453: __proto__: Invalid has-only-writable-data-property cache -- verify cross-context
PASSED
Summary of tests: total executed: 28; passed: 28; failed: 0