proto_basic.baseline 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. *** Running test #1 (0): Test Object.prototype.__proto__ attributes
  2. get: function() {
  3. [native code]
  4. }
  5. set: function() {
  6. [native code]
  7. }
  8. enumerable: false
  9. configurable: true
  10. PASSED
  11. *** Running test #2 (1): Read built-in __proto__
  12. PASSED
  13. *** Running test #3 (2): Change built-in's __proto__ chain
  14. Number.prototype -> Array.prototype -> Object.prototype
  15. Boolean.prototype -> "abc" -> String.prototype -> Object.prototype
  16. PASSED
  17. *** Running test #4 (3): Change __proto__ to null/undefined
  18. PASSED
  19. *** Running test #5 (4): Change __proto__ to neither Object nor null, should throw
  20. PASSED
  21. *** Running test #6 (5): Change object.__proto__ to an object
  22. b: 200
  23. c: 200
  24. a (inherited): 100
  25. -- delete b.b --
  26. c: 200
  27. a (inherited): 100
  28. b (inherited): 100
  29. PASSED
  30. *** Running test #7 (6): Change object.__proto__ to an array
  31. b: 200
  32. 0 (inherited): 8
  33. 1 (inherited): 3
  34. 2 (inherited): 9
  35. 3 (inherited): 5
  36. -- a.sort --
  37. b: 200
  38. 0 (inherited): 3
  39. 1 (inherited): 5
  40. 2 (inherited): 8
  41. 3 (inherited): 9
  42. -- b.sort --
  43. 0: 3
  44. 1: 5
  45. 2: 8
  46. 3: 9
  47. b: 200
  48. PASSED
  49. *** Running test #8 (7): Change array.__proto__ to an object
  50. 0: 8
  51. 1: 3
  52. 2: 9
  53. 3: 5
  54. a (inherited): 100
  55. -- sort.apply --
  56. 0: 3
  57. 1: 5
  58. 2: 8
  59. 3: 9
  60. a (inherited): 100
  61. PASSED
  62. *** Running test #9 (8): Attempt to change DOM object __proto__
  63. PASSED
  64. *** Running test #10 (9): __proto__ and instanceof/isPrototypeOf
  65. PASSED
  66. *** Running test #11 (10): Verify we reject simple __proto__ cycle
  67. PASSED
  68. *** Running test #12 (11): Verify proto cache is discarded
  69. Before change
  70. 1, 2
  71. After change
  72. 3, 4
  73. PASSED
  74. *** Running test #13 (12): Verify proto getter cache is discarded
  75. Before change
  76. 1, 7
  77. After change
  78. 3, 4
  79. PASSED
  80. *** Running test #14 (13): Verify the new proto object is marked as proto, so that changing the proto object invalidates related proto cache
  81. Before change
  82. undefined, undefined
  83. After change
  84. 3, 4
  85. After change proto property
  86. 9, 4
  87. PASSED
  88. *** Running test #15 (14): Verify changing __proto__ works safely with ObjTypeSpec
  89. PASSED
  90. *** Running test #16 (15): Verify PathTypeHandler successor Types continue to work, case 1
  91. PASSED
  92. *** Running test #17 (16): Verify PathTypeHandler successor Types continue to work, case 2
  93. PASSED
  94. *** Running test #18 (17): Verify that we can shadow __proto__ property
  95. PASSED
  96. *** Running test #19 (18): Test fast path o[i] with changed prototype
  97. PASSED
  98. *** Running test #20 (19): Test fast path o[i] when o.__proto__ == null
  99. PASSED
  100. *** Running test #21 (20): Test fast path o[i] when o.__proto__.__proto__ == null
  101. PASSED
  102. *** Running test #22 (21): Test Array methods with changed prototype
  103. PASSED
  104. *** Running test #23 (22): Test cross-site change prototype
  105. PASSED
  106. *** Running test #24 (23): Test change prototype of global object
  107. PASSED
  108. *** Running test #25 (24): Blue 62526: __proto__: ArrayElementEnumerator does not expect non-TypeIds_Object on prototype
  109. PASSED
  110. *** Running test #26 (25): Blue 114364: __proto__: Object.preventExtensions should make [[prototype]] immutable
  111. PASSED
  112. *** Running test #27 (26): Blue 245453: __proto__: Invalid has-only-writable-data-property cache
  113. PASSED
  114. *** Running test #28 (27): Blue 245453: __proto__: Invalid has-only-writable-data-property cache -- verify cross-context
  115. PASSED
  116. Summary of tests: total executed: 28; passed: 28; failed: 0