OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 10056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10067 Local<v8::Object> o4 = t4->GetFunction()->NewInstance(); | 10067 Local<v8::Object> o4 = t4->GetFunction()->NewInstance(); |
10068 | 10068 |
10069 // Create prototype chain of hidden prototypes. | 10069 // Create prototype chain of hidden prototypes. |
10070 CHECK(o4->SetPrototype(o3)); | 10070 CHECK(o4->SetPrototype(o3)); |
10071 CHECK(o3->SetPrototype(o2)); | 10071 CHECK(o3->SetPrototype(o2)); |
10072 CHECK(o2->SetPrototype(o1)); | 10072 CHECK(o2->SetPrototype(o1)); |
10073 | 10073 |
10074 // Call the runtime version of GetLocalPropertyNames() on the natively | 10074 // Call the runtime version of GetLocalPropertyNames() on the natively |
10075 // created object through JavaScript. | 10075 // created object through JavaScript. |
10076 context->Global()->Set(v8_str("obj"), o4); | 10076 context->Global()->Set(v8_str("obj"), o4); |
10077 CompileRun("var names = %GetLocalPropertyNames(obj, true);"); | 10077 // PROPERTY_ATTRIBUTES_NONE = 0 |
| 10078 CompileRun("var names = %GetLocalPropertyNames(obj, 0);"); |
10078 | 10079 |
10079 ExpectInt32("names.length", 1006); | 10080 ExpectInt32("names.length", 1006); |
10080 ExpectTrue("names.indexOf(\"baz\") >= 0"); | 10081 ExpectTrue("names.indexOf(\"baz\") >= 0"); |
10081 ExpectTrue("names.indexOf(\"boo\") >= 0"); | 10082 ExpectTrue("names.indexOf(\"boo\") >= 0"); |
10082 ExpectTrue("names.indexOf(\"foo\") >= 0"); | 10083 ExpectTrue("names.indexOf(\"foo\") >= 0"); |
10083 ExpectTrue("names.indexOf(\"fuz1\") >= 0"); | 10084 ExpectTrue("names.indexOf(\"fuz1\") >= 0"); |
10084 ExpectTrue("names.indexOf(\"fuz2\") >= 0"); | 10085 ExpectTrue("names.indexOf(\"fuz2\") >= 0"); |
10085 ExpectFalse("names[1005] == undefined"); | 10086 ExpectFalse("names[1005] == undefined"); |
10086 } | 10087 } |
10087 | 10088 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10121 | 10122 |
10122 v8::Local<v8::Symbol> sym = v8::Symbol::New(context->GetIsolate(), "s1"); | 10123 v8::Local<v8::Symbol> sym = v8::Symbol::New(context->GetIsolate(), "s1"); |
10123 o1->Set(sym, v8_num(3)); | 10124 o1->Set(sym, v8_num(3)); |
10124 o1->SetHiddenValue(v8_str("h1"), | 10125 o1->SetHiddenValue(v8_str("h1"), |
10125 v8::Integer::New(context->GetIsolate(), 2013)); | 10126 v8::Integer::New(context->GetIsolate(), 2013)); |
10126 | 10127 |
10127 // Call the runtime version of GetLocalPropertyNames() on | 10128 // Call the runtime version of GetLocalPropertyNames() on |
10128 // the natively created object through JavaScript. | 10129 // the natively created object through JavaScript. |
10129 context->Global()->Set(v8_str("obj"), o2); | 10130 context->Global()->Set(v8_str("obj"), o2); |
10130 context->Global()->Set(v8_str("sym"), sym); | 10131 context->Global()->Set(v8_str("sym"), sym); |
10131 CompileRun("var names = %GetLocalPropertyNames(obj, true);"); | 10132 // PROPERTY_ATTRIBUTES_NONE = 0 |
| 10133 CompileRun("var names = %GetLocalPropertyNames(obj, 0);"); |
10132 | 10134 |
10133 ExpectInt32("names.length", 7); | 10135 ExpectInt32("names.length", 7); |
10134 ExpectTrue("names.indexOf(\"foo\") >= 0"); | 10136 ExpectTrue("names.indexOf(\"foo\") >= 0"); |
10135 ExpectTrue("names.indexOf(\"bar\") >= 0"); | 10137 ExpectTrue("names.indexOf(\"bar\") >= 0"); |
10136 ExpectTrue("names.indexOf(\"baz\") >= 0"); | 10138 ExpectTrue("names.indexOf(\"baz\") >= 0"); |
10137 ExpectTrue("names.indexOf(\"n1\") >= 0"); | 10139 ExpectTrue("names.indexOf(\"n1\") >= 0"); |
10138 ExpectTrue("names.indexOf(\"n2\") >= 0"); | 10140 ExpectTrue("names.indexOf(\"n2\") >= 0"); |
10139 ExpectTrue("names.indexOf(sym) >= 0"); | 10141 ExpectTrue("names.indexOf(sym) >= 0"); |
10140 ExpectTrue("names.indexOf(\"mine\") >= 0"); | 10142 ExpectTrue("names.indexOf(\"mine\") >= 0"); |
10141 } | 10143 } |
(...skipping 10903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
21045 CheckCorrectThrow("%GetProperty(other, 'x')"); | 21047 CheckCorrectThrow("%GetProperty(other, 'x')"); |
21046 CheckCorrectThrow("%SetProperty(other, 'x', 'foo', 1, 0)"); | 21048 CheckCorrectThrow("%SetProperty(other, 'x', 'foo', 1, 0)"); |
21047 CheckCorrectThrow("%IgnoreAttributesAndSetProperty(other, 'x', 'foo')"); | 21049 CheckCorrectThrow("%IgnoreAttributesAndSetProperty(other, 'x', 'foo')"); |
21048 CheckCorrectThrow("%DeleteProperty(other, 'x', 0)"); | 21050 CheckCorrectThrow("%DeleteProperty(other, 'x', 0)"); |
21049 CheckCorrectThrow("%DeleteProperty(other, '1', 0)"); | 21051 CheckCorrectThrow("%DeleteProperty(other, '1', 0)"); |
21050 CheckCorrectThrow("%HasLocalProperty(other, 'x')"); | 21052 CheckCorrectThrow("%HasLocalProperty(other, 'x')"); |
21051 CheckCorrectThrow("%HasProperty(other, 'x')"); | 21053 CheckCorrectThrow("%HasProperty(other, 'x')"); |
21052 CheckCorrectThrow("%HasElement(other, 1)"); | 21054 CheckCorrectThrow("%HasElement(other, 1)"); |
21053 CheckCorrectThrow("%IsPropertyEnumerable(other, 'x')"); | 21055 CheckCorrectThrow("%IsPropertyEnumerable(other, 'x')"); |
21054 CheckCorrectThrow("%GetPropertyNames(other)"); | 21056 CheckCorrectThrow("%GetPropertyNames(other)"); |
21055 CheckCorrectThrow("%GetLocalPropertyNames(other, true)"); | 21057 // PROPERTY_ATTRIBUTES_NONE = 0 |
| 21058 CheckCorrectThrow("%GetLocalPropertyNames(other, 0)"); |
21056 CheckCorrectThrow("%DefineOrRedefineAccessorProperty(" | 21059 CheckCorrectThrow("%DefineOrRedefineAccessorProperty(" |
21057 "other, 'x', null, null, 1)"); | 21060 "other, 'x', null, null, 1)"); |
21058 | 21061 |
21059 // Reset the failed access check callback so it does not influence | 21062 // Reset the failed access check callback so it does not influence |
21060 // the other tests. | 21063 // the other tests. |
21061 v8::V8::SetFailedAccessCheckCallbackFunction(NULL); | 21064 v8::V8::SetFailedAccessCheckCallbackFunction(NULL); |
21062 } | 21065 } |
21063 | 21066 |
21064 | 21067 |
21065 THREADED_TEST(Regress256330) { | 21068 THREADED_TEST(Regress256330) { |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
21472 } | 21475 } |
21473 for (int i = 0; i < runs; i++) { | 21476 for (int i = 0; i < runs; i++) { |
21474 Local<String> expected; | 21477 Local<String> expected; |
21475 if (i != 0) { | 21478 if (i != 0) { |
21476 CHECK_EQ(v8_str("escape value"), values[i]); | 21479 CHECK_EQ(v8_str("escape value"), values[i]); |
21477 } else { | 21480 } else { |
21478 CHECK(values[i].IsEmpty()); | 21481 CHECK(values[i].IsEmpty()); |
21479 } | 21482 } |
21480 } | 21483 } |
21481 } | 21484 } |
OLD | NEW |