Changeset 53638 in webkit for trunk/JavaScriptCore/API/tests/testapi.js
- Timestamp:
- Jan 21, 2010, 12:46:03 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/API/tests/testapi.js
r43603 r53638 114 114 fail("MyObject.regularType was not enumerated"); 115 115 116 var alwaysOneDescriptor = Object.getOwnPropertyDescriptor(MyObject, "alwaysOne"); 117 shouldBe('typeof alwaysOneDescriptor', "object"); 118 shouldBe('alwaysOneDescriptor.value', MyObject.alwaysOne); 119 shouldBe('alwaysOneDescriptor.configurable', true); 120 shouldBe('alwaysOneDescriptor.enumerable', false); // Actually it is. 121 var cantFindDescriptor = Object.getOwnPropertyDescriptor(MyObject, "cantFind"); 122 shouldBe('typeof cantFindDescriptor', "object"); 123 shouldBe('cantFindDescriptor.value', MyObject.cantFind); 124 shouldBe('cantFindDescriptor.configurable', true); 125 shouldBe('cantFindDescriptor.enumerable', false); 126 try { 127 // If getOwnPropertyDescriptor() returned an access descriptor, this wouldn't throw. 128 Object.getOwnPropertyDescriptor(MyObject, "throwOnGet"); 129 } catch (e) { 130 pass("getting property descriptor of throwOnGet threw exception"); 131 } 132 var myPropertyNameDescriptor = Object.getOwnPropertyDescriptor(MyObject, "myPropertyName"); 133 shouldBe('typeof myPropertyNameDescriptor', "object"); 134 shouldBe('myPropertyNameDescriptor.value', MyObject.myPropertyName); 135 shouldBe('myPropertyNameDescriptor.configurable', true); 136 shouldBe('myPropertyNameDescriptor.enumerable', false); // Actually it is. 137 try { 138 // if getOwnPropertyDescriptor() returned an access descriptor, this wouldn't throw. 139 Object.getOwnPropertyDescriptor(MyObject, "hasPropertyLie"); 140 } catch (e) { 141 pass("getting property descriptor of hasPropertyLie threw exception"); 142 } 143 shouldBe('Object.getOwnPropertyDescriptor(MyObject, "doesNotExist")', undefined); 144 116 145 myObject = new MyObject(); 117 146 … … 156 185 shouldBe("derived.protoDup = 0", 2); 157 186 187 shouldBe('Object.getOwnPropertyDescriptor(derived, "baseProto")', undefined); 188 shouldBe('Object.getOwnPropertyDescriptor(derived, "baseProtoDup")', undefined); 189 var baseDupDescriptor = Object.getOwnPropertyDescriptor(derived, "baseDup"); 190 shouldBe('typeof baseDupDescriptor', "object"); 191 shouldBe('baseDupDescriptor.value', derived.baseDup); 192 shouldBe('baseDupDescriptor.configurable', true); 193 shouldBe('baseDupDescriptor.enumerable', false); 194 var baseOnlyDescriptor = Object.getOwnPropertyDescriptor(derived, "baseOnly"); 195 shouldBe('typeof baseOnlyDescriptor', "object"); 196 shouldBe('baseOnlyDescriptor.value', derived.baseOnly); 197 shouldBe('baseOnlyDescriptor.configurable', true); 198 shouldBe('baseOnlyDescriptor.enumerable', false); 199 shouldBe('Object.getOwnPropertyDescriptor(derived, "protoOnly")', undefined); 200 var protoDupDescriptor = Object.getOwnPropertyDescriptor(derived, "protoDup"); 201 shouldBe('typeof protoDupDescriptor', "object"); 202 shouldBe('protoDupDescriptor.value', derived.protoDup); 203 shouldBe('protoDupDescriptor.configurable', true); 204 shouldBe('protoDupDescriptor.enumerable', false); 205 var derivedOnlyDescriptor = Object.getOwnPropertyDescriptor(derived, "derivedOnly"); 206 shouldBe('typeof derivedOnlyDescriptor', "object"); 207 shouldBe('derivedOnlyDescriptor.value', derived.derivedOnly); 208 shouldBe('derivedOnlyDescriptor.configurable', true); 209 shouldBe('derivedOnlyDescriptor.enumerable', false); 210 158 211 shouldBe("undefined instanceof MyObject", false); 159 212 EvilExceptionObject.hasInstance = function f() { return f(); };
Note:
See TracChangeset
for help on using the changeset viewer.