Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: test/cctest/test-api.cc

Issue 3970005: Make Failure inherit from MaybeObject instead of Object. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « test/cctest/test-alloc.cc ('k') | test/cctest/test-assembler-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2007-2009 the V8 project authors. All rights reserved. 1 // Copyright 2007-2009 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 9260 matching lines...) Expand 10 before | Expand all | Expand 10 after
9271 } 9271 }
9272 two_byte_content_[14] = 'b'; 9272 two_byte_content_[14] = 'b';
9273 9273
9274 // Create the input string for the regexp - the one we are going to change 9274 // Create the input string for the regexp - the one we are going to change
9275 // properties of. 9275 // properties of.
9276 input_ = i::Factory::NewExternalStringFromAscii(&ascii_resource_); 9276 input_ = i::Factory::NewExternalStringFromAscii(&ascii_resource_);
9277 9277
9278 // Inject the input as a global variable. 9278 // Inject the input as a global variable.
9279 i::Handle<i::String> input_name = 9279 i::Handle<i::String> input_name =
9280 i::Factory::NewStringFromAscii(i::Vector<const char>("input", 5)); 9280 i::Factory::NewStringFromAscii(i::Vector<const char>("input", 5));
9281 i::Top::global_context()->global()->SetProperty(*input_name, *input_, NONE); 9281 i::Top::global_context()->global()->SetProperty(*input_name,
9282 *input_,
9283 NONE)->ToObjectChecked();
9282 9284
9283 9285
9284 MorphThread morph_thread(this); 9286 MorphThread morph_thread(this);
9285 morph_thread.Start(); 9287 morph_thread.Start();
9286 v8::Locker::StartPreemption(1); 9288 v8::Locker::StartPreemption(1);
9287 LongRunningRegExp(); 9289 LongRunningRegExp();
9288 { 9290 {
9289 v8::Unlocker unlock; 9291 v8::Unlocker unlock;
9290 morph_thread.Join(); 9292 morph_thread.Join();
9291 } 9293 }
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
9743 for (int i = 0; i < kElementCount; i++) { 9745 for (int i = 0; i < kElementCount; i++) {
9744 CHECK_EQ(i % 256, pixels->get(i)); 9746 CHECK_EQ(i % 256, pixels->get(i));
9745 CHECK_EQ(i % 256, pixel_data[i]); 9747 CHECK_EQ(i % 256, pixel_data[i]);
9746 } 9748 }
9747 9749
9748 v8::Handle<v8::Object> obj = v8::Object::New(); 9750 v8::Handle<v8::Object> obj = v8::Object::New();
9749 i::Handle<i::JSObject> jsobj = v8::Utils::OpenHandle(*obj); 9751 i::Handle<i::JSObject> jsobj = v8::Utils::OpenHandle(*obj);
9750 // Set the elements to be the pixels. 9752 // Set the elements to be the pixels.
9751 // jsobj->set_elements(*pixels); 9753 // jsobj->set_elements(*pixels);
9752 obj->SetIndexedPropertiesToPixelData(pixel_data, kElementCount); 9754 obj->SetIndexedPropertiesToPixelData(pixel_data, kElementCount);
9753 CHECK_EQ(1, i::Smi::cast(jsobj->GetElement(1))->value()); 9755 CHECK_EQ(1, i::Smi::cast(jsobj->GetElement(1)->ToObjectChecked())->value());
9754 obj->Set(v8_str("field"), v8::Int32::New(1503)); 9756 obj->Set(v8_str("field"), v8::Int32::New(1503));
9755 context->Global()->Set(v8_str("pixels"), obj); 9757 context->Global()->Set(v8_str("pixels"), obj);
9756 v8::Handle<v8::Value> result = CompileRun("pixels.field"); 9758 v8::Handle<v8::Value> result = CompileRun("pixels.field");
9757 CHECK_EQ(1503, result->Int32Value()); 9759 CHECK_EQ(1503, result->Int32Value());
9758 result = CompileRun("pixels[1]"); 9760 result = CompileRun("pixels[1]");
9759 CHECK_EQ(1, result->Int32Value()); 9761 CHECK_EQ(1, result->Int32Value());
9760 9762
9761 result = CompileRun("var sum = 0;" 9763 result = CompileRun("var sum = 0;"
9762 "for (var i = 0; i < 8; i++) {" 9764 "for (var i = 0; i < 8; i++) {"
9763 " sum += pixels[i] = pixels[i] = -i;" 9765 " sum += pixels[i] = pixels[i] = -i;"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
9795 9797
9796 result = CompileRun("var sum = 0;" 9798 result = CompileRun("var sum = 0;"
9797 "for (var i = 0; i < 8; i++) {" 9799 "for (var i = 0; i < 8; i++) {"
9798 " sum += pixels[i];" 9800 " sum += pixels[i];"
9799 "}" 9801 "}"
9800 "sum;"); 9802 "sum;");
9801 CHECK_EQ(28, result->Int32Value()); 9803 CHECK_EQ(28, result->Int32Value());
9802 9804
9803 i::Handle<i::Smi> value(i::Smi::FromInt(2)); 9805 i::Handle<i::Smi> value(i::Smi::FromInt(2));
9804 i::SetElement(jsobj, 1, value); 9806 i::SetElement(jsobj, 1, value);
9805 CHECK_EQ(2, i::Smi::cast(jsobj->GetElement(1))->value()); 9807 CHECK_EQ(2, i::Smi::cast(jsobj->GetElement(1)->ToObjectChecked())->value());
9806 *value.location() = i::Smi::FromInt(256); 9808 *value.location() = i::Smi::FromInt(256);
9807 i::SetElement(jsobj, 1, value); 9809 i::SetElement(jsobj, 1, value);
9808 CHECK_EQ(255, i::Smi::cast(jsobj->GetElement(1))->value()); 9810 CHECK_EQ(255,
9811 i::Smi::cast(jsobj->GetElement(1)->ToObjectChecked())->value());
9809 *value.location() = i::Smi::FromInt(-1); 9812 *value.location() = i::Smi::FromInt(-1);
9810 i::SetElement(jsobj, 1, value); 9813 i::SetElement(jsobj, 1, value);
9811 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(1))->value()); 9814 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(1)->ToObjectChecked())->value());
9812 9815
9813 result = CompileRun("for (var i = 0; i < 8; i++) {" 9816 result = CompileRun("for (var i = 0; i < 8; i++) {"
9814 " pixels[i] = (i * 65) - 109;" 9817 " pixels[i] = (i * 65) - 109;"
9815 "}" 9818 "}"
9816 "pixels[1] + pixels[6];"); 9819 "pixels[1] + pixels[6];");
9817 CHECK_EQ(255, result->Int32Value()); 9820 CHECK_EQ(255, result->Int32Value());
9818 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(0))->value()); 9821 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(0)->ToObjectChecked())->value());
9819 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(1))->value()); 9822 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(1)->ToObjectChecked())->value());
9820 CHECK_EQ(21, i::Smi::cast(jsobj->GetElement(2))->value()); 9823 CHECK_EQ(21,
9821 CHECK_EQ(86, i::Smi::cast(jsobj->GetElement(3))->value()); 9824 i::Smi::cast(jsobj->GetElement(2)->ToObjectChecked())->value());
9822 CHECK_EQ(151, i::Smi::cast(jsobj->GetElement(4))->value()); 9825 CHECK_EQ(86,
9823 CHECK_EQ(216, i::Smi::cast(jsobj->GetElement(5))->value()); 9826 i::Smi::cast(jsobj->GetElement(3)->ToObjectChecked())->value());
9824 CHECK_EQ(255, i::Smi::cast(jsobj->GetElement(6))->value()); 9827 CHECK_EQ(151,
9825 CHECK_EQ(255, i::Smi::cast(jsobj->GetElement(7))->value()); 9828 i::Smi::cast(jsobj->GetElement(4)->ToObjectChecked())->value());
9829 CHECK_EQ(216,
9830 i::Smi::cast(jsobj->GetElement(5)->ToObjectChecked())->value());
9831 CHECK_EQ(255,
9832 i::Smi::cast(jsobj->GetElement(6)->ToObjectChecked())->value());
9833 CHECK_EQ(255,
9834 i::Smi::cast(jsobj->GetElement(7)->ToObjectChecked())->value());
9826 result = CompileRun("var sum = 0;" 9835 result = CompileRun("var sum = 0;"
9827 "for (var i = 0; i < 8; i++) {" 9836 "for (var i = 0; i < 8; i++) {"
9828 " sum += pixels[i];" 9837 " sum += pixels[i];"
9829 "}" 9838 "}"
9830 "sum;"); 9839 "sum;");
9831 CHECK_EQ(984, result->Int32Value()); 9840 CHECK_EQ(984, result->Int32Value());
9832 9841
9833 result = CompileRun("for (var i = 0; i < 8; i++) {" 9842 result = CompileRun("for (var i = 0; i < 8; i++) {"
9834 " pixels[i] = (i * 1.1);" 9843 " pixels[i] = (i * 1.1);"
9835 "}" 9844 "}"
9836 "pixels[1] + pixels[6];"); 9845 "pixels[1] + pixels[6];");
9837 CHECK_EQ(8, result->Int32Value()); 9846 CHECK_EQ(8, result->Int32Value());
9838 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(0))->value()); 9847 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(0)->ToObjectChecked())->value());
9839 CHECK_EQ(1, i::Smi::cast(jsobj->GetElement(1))->value()); 9848 CHECK_EQ(1, i::Smi::cast(jsobj->GetElement(1)->ToObjectChecked())->value());
9840 CHECK_EQ(2, i::Smi::cast(jsobj->GetElement(2))->value()); 9849 CHECK_EQ(2, i::Smi::cast(jsobj->GetElement(2)->ToObjectChecked())->value());
9841 CHECK_EQ(3, i::Smi::cast(jsobj->GetElement(3))->value()); 9850 CHECK_EQ(3, i::Smi::cast(jsobj->GetElement(3)->ToObjectChecked())->value());
9842 CHECK_EQ(4, i::Smi::cast(jsobj->GetElement(4))->value()); 9851 CHECK_EQ(4, i::Smi::cast(jsobj->GetElement(4)->ToObjectChecked())->value());
9843 CHECK_EQ(6, i::Smi::cast(jsobj->GetElement(5))->value()); 9852 CHECK_EQ(6, i::Smi::cast(jsobj->GetElement(5)->ToObjectChecked())->value());
9844 CHECK_EQ(7, i::Smi::cast(jsobj->GetElement(6))->value()); 9853 CHECK_EQ(7, i::Smi::cast(jsobj->GetElement(6)->ToObjectChecked())->value());
9845 CHECK_EQ(8, i::Smi::cast(jsobj->GetElement(7))->value()); 9854 CHECK_EQ(8, i::Smi::cast(jsobj->GetElement(7)->ToObjectChecked())->value());
9846 9855
9847 result = CompileRun("for (var i = 0; i < 8; i++) {" 9856 result = CompileRun("for (var i = 0; i < 8; i++) {"
9848 " pixels[7] = undefined;" 9857 " pixels[7] = undefined;"
9849 "}" 9858 "}"
9850 "pixels[7];"); 9859 "pixels[7];");
9851 CHECK_EQ(0, result->Int32Value()); 9860 CHECK_EQ(0, result->Int32Value());
9852 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(7))->value()); 9861 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(7)->ToObjectChecked())->value());
9853 9862
9854 result = CompileRun("for (var i = 0; i < 8; i++) {" 9863 result = CompileRun("for (var i = 0; i < 8; i++) {"
9855 " pixels[6] = '2.3';" 9864 " pixels[6] = '2.3';"
9856 "}" 9865 "}"
9857 "pixels[6];"); 9866 "pixels[6];");
9858 CHECK_EQ(2, result->Int32Value()); 9867 CHECK_EQ(2, result->Int32Value());
9859 CHECK_EQ(2, i::Smi::cast(jsobj->GetElement(6))->value()); 9868 CHECK_EQ(2, i::Smi::cast(jsobj->GetElement(6)->ToObjectChecked())->value());
9860 9869
9861 result = CompileRun("for (var i = 0; i < 8; i++) {" 9870 result = CompileRun("for (var i = 0; i < 8; i++) {"
9862 " pixels[5] = NaN;" 9871 " pixels[5] = NaN;"
9863 "}" 9872 "}"
9864 "pixels[5];"); 9873 "pixels[5];");
9865 CHECK_EQ(0, result->Int32Value()); 9874 CHECK_EQ(0, result->Int32Value());
9866 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(5))->value()); 9875 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(5)->ToObjectChecked())->value());
9867 9876
9868 result = CompileRun("for (var i = 0; i < 8; i++) {" 9877 result = CompileRun("for (var i = 0; i < 8; i++) {"
9869 " pixels[8] = Infinity;" 9878 " pixels[8] = Infinity;"
9870 "}" 9879 "}"
9871 "pixels[8];"); 9880 "pixels[8];");
9872 CHECK_EQ(255, result->Int32Value()); 9881 CHECK_EQ(255, result->Int32Value());
9873 CHECK_EQ(255, i::Smi::cast(jsobj->GetElement(8))->value()); 9882 CHECK_EQ(255,
9883 i::Smi::cast(jsobj->GetElement(8)->ToObjectChecked())->value());
9874 9884
9875 result = CompileRun("for (var i = 0; i < 8; i++) {" 9885 result = CompileRun("for (var i = 0; i < 8; i++) {"
9876 " pixels[9] = -Infinity;" 9886 " pixels[9] = -Infinity;"
9877 "}" 9887 "}"
9878 "pixels[9];"); 9888 "pixels[9];");
9879 CHECK_EQ(0, result->Int32Value()); 9889 CHECK_EQ(0, result->Int32Value());
9880 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(9))->value()); 9890 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(9)->ToObjectChecked())->value());
9881 9891
9882 result = CompileRun("pixels[3] = 33;" 9892 result = CompileRun("pixels[3] = 33;"
9883 "delete pixels[3];" 9893 "delete pixels[3];"
9884 "pixels[3];"); 9894 "pixels[3];");
9885 CHECK_EQ(33, result->Int32Value()); 9895 CHECK_EQ(33, result->Int32Value());
9886 9896
9887 result = CompileRun("pixels[0] = 10; pixels[1] = 11;" 9897 result = CompileRun("pixels[0] = 10; pixels[1] = 11;"
9888 "pixels[2] = 12; pixels[3] = 13;" 9898 "pixels[2] = 12; pixels[3] = 13;"
9889 "pixels.__defineGetter__('2'," 9899 "pixels.__defineGetter__('2',"
9890 "function() { return 120; });" 9900 "function() { return 120; });"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
9980 CHECK_EQ(static_cast<int64_t>(i), static_cast<int64_t>(array->get(i))); 9990 CHECK_EQ(static_cast<int64_t>(i), static_cast<int64_t>(array->get(i)));
9981 CHECK_EQ(static_cast<int64_t>(i), static_cast<int64_t>(array_data[i])); 9991 CHECK_EQ(static_cast<int64_t>(i), static_cast<int64_t>(array_data[i]));
9982 } 9992 }
9983 9993
9984 v8::Handle<v8::Object> obj = v8::Object::New(); 9994 v8::Handle<v8::Object> obj = v8::Object::New();
9985 i::Handle<i::JSObject> jsobj = v8::Utils::OpenHandle(*obj); 9995 i::Handle<i::JSObject> jsobj = v8::Utils::OpenHandle(*obj);
9986 // Set the elements to be the external array. 9996 // Set the elements to be the external array.
9987 obj->SetIndexedPropertiesToExternalArrayData(array_data, 9997 obj->SetIndexedPropertiesToExternalArrayData(array_data,
9988 array_type, 9998 array_type,
9989 kElementCount); 9999 kElementCount);
9990 CHECK_EQ(1, static_cast<int>(jsobj->GetElement(1)->Number())); 10000 CHECK_EQ(
10001 1, static_cast<int>(jsobj->GetElement(1)->ToObjectChecked()->Number()));
9991 obj->Set(v8_str("field"), v8::Int32::New(1503)); 10002 obj->Set(v8_str("field"), v8::Int32::New(1503));
9992 context->Global()->Set(v8_str("ext_array"), obj); 10003 context->Global()->Set(v8_str("ext_array"), obj);
9993 v8::Handle<v8::Value> result = CompileRun("ext_array.field"); 10004 v8::Handle<v8::Value> result = CompileRun("ext_array.field");
9994 CHECK_EQ(1503, result->Int32Value()); 10005 CHECK_EQ(1503, result->Int32Value());
9995 result = CompileRun("ext_array[1]"); 10006 result = CompileRun("ext_array[1]");
9996 CHECK_EQ(1, result->Int32Value()); 10007 CHECK_EQ(1, result->Int32Value());
9997 10008
9998 // Check pass through of assigned smis 10009 // Check pass through of assigned smis
9999 result = CompileRun("var sum = 0;" 10010 result = CompileRun("var sum = 0;"
10000 "for (var i = 0; i < 8; i++) {" 10011 "for (var i = 0; i < 8; i++) {"
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
10119 kElementCount); 10130 kElementCount);
10120 result = CompileRun(test_buf.start()); 10131 result = CompileRun(test_buf.start());
10121 CHECK_EQ(false, result->BooleanValue()); 10132 CHECK_EQ(false, result->BooleanValue());
10122 10133
10123 // Check other boundary conditions, values and operations. 10134 // Check other boundary conditions, values and operations.
10124 result = CompileRun("for (var i = 0; i < 8; i++) {" 10135 result = CompileRun("for (var i = 0; i < 8; i++) {"
10125 " ext_array[7] = undefined;" 10136 " ext_array[7] = undefined;"
10126 "}" 10137 "}"
10127 "ext_array[7];"); 10138 "ext_array[7];");
10128 CHECK_EQ(0, result->Int32Value()); 10139 CHECK_EQ(0, result->Int32Value());
10129 CHECK_EQ(0, static_cast<int>(jsobj->GetElement(7)->Number())); 10140 CHECK_EQ(
10141 0, static_cast<int>(jsobj->GetElement(7)->ToObjectChecked()->Number()));
10130 10142
10131 result = CompileRun("for (var i = 0; i < 8; i++) {" 10143 result = CompileRun("for (var i = 0; i < 8; i++) {"
10132 " ext_array[6] = '2.3';" 10144 " ext_array[6] = '2.3';"
10133 "}" 10145 "}"
10134 "ext_array[6];"); 10146 "ext_array[6];");
10135 CHECK_EQ(2, result->Int32Value()); 10147 CHECK_EQ(2, result->Int32Value());
10136 CHECK_EQ(2, static_cast<int>(jsobj->GetElement(6)->Number())); 10148 CHECK_EQ(
10149 2, static_cast<int>(jsobj->GetElement(6)->ToObjectChecked()->Number()));
10137 10150
10138 if (array_type != v8::kExternalFloatArray) { 10151 if (array_type != v8::kExternalFloatArray) {
10139 // Though the specification doesn't state it, be explicit about 10152 // Though the specification doesn't state it, be explicit about
10140 // converting NaNs and +/-Infinity to zero. 10153 // converting NaNs and +/-Infinity to zero.
10141 result = CompileRun("for (var i = 0; i < 8; i++) {" 10154 result = CompileRun("for (var i = 0; i < 8; i++) {"
10142 " ext_array[i] = 5;" 10155 " ext_array[i] = 5;"
10143 "}" 10156 "}"
10144 "for (var i = 0; i < 8; i++) {" 10157 "for (var i = 0; i < 8; i++) {"
10145 " ext_array[i] = NaN;" 10158 " ext_array[i] = NaN;"
10146 "}" 10159 "}"
10147 "ext_array[5];"); 10160 "ext_array[5];");
10148 CHECK_EQ(0, result->Int32Value()); 10161 CHECK_EQ(0, result->Int32Value());
10149 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(5))->value()); 10162 CHECK_EQ(0,
10163 i::Smi::cast(jsobj->GetElement(5)->ToObjectChecked())->value());
10150 10164
10151 result = CompileRun("for (var i = 0; i < 8; i++) {" 10165 result = CompileRun("for (var i = 0; i < 8; i++) {"
10152 " ext_array[i] = 5;" 10166 " ext_array[i] = 5;"
10153 "}" 10167 "}"
10154 "for (var i = 0; i < 8; i++) {" 10168 "for (var i = 0; i < 8; i++) {"
10155 " ext_array[i] = Infinity;" 10169 " ext_array[i] = Infinity;"
10156 "}" 10170 "}"
10157 "ext_array[5];"); 10171 "ext_array[5];");
10158 CHECK_EQ(0, result->Int32Value()); 10172 CHECK_EQ(0, result->Int32Value());
10159 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(5))->value()); 10173 CHECK_EQ(0,
10174 i::Smi::cast(jsobj->GetElement(5)->ToObjectChecked())->value());
10160 10175
10161 result = CompileRun("for (var i = 0; i < 8; i++) {" 10176 result = CompileRun("for (var i = 0; i < 8; i++) {"
10162 " ext_array[i] = 5;" 10177 " ext_array[i] = 5;"
10163 "}" 10178 "}"
10164 "for (var i = 0; i < 8; i++) {" 10179 "for (var i = 0; i < 8; i++) {"
10165 " ext_array[i] = -Infinity;" 10180 " ext_array[i] = -Infinity;"
10166 "}" 10181 "}"
10167 "ext_array[5];"); 10182 "ext_array[5];");
10168 CHECK_EQ(0, result->Int32Value()); 10183 CHECK_EQ(0, result->Int32Value());
10169 CHECK_EQ(0, i::Smi::cast(jsobj->GetElement(5))->value()); 10184 CHECK_EQ(0,
10185 i::Smi::cast(jsobj->GetElement(5)->ToObjectChecked())->value());
10170 } 10186 }
10171 10187
10172 result = CompileRun("ext_array[3] = 33;" 10188 result = CompileRun("ext_array[3] = 33;"
10173 "delete ext_array[3];" 10189 "delete ext_array[3];"
10174 "ext_array[3];"); 10190 "ext_array[3];");
10175 CHECK_EQ(33, result->Int32Value()); 10191 CHECK_EQ(33, result->Int32Value());
10176 10192
10177 result = CompileRun("ext_array[0] = 10; ext_array[1] = 11;" 10193 result = CompileRun("ext_array[0] = 10; ext_array[1] = 11;"
10178 "ext_array[2] = 12; ext_array[3] = 13;" 10194 "ext_array[2] = 12; ext_array[3] = 13;"
10179 "ext_array.__defineGetter__('2'," 10195 "ext_array.__defineGetter__('2',"
(...skipping 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after
11748 v8::Context::Scope context_scope(context.local()); 11764 v8::Context::Scope context_scope(context.local());
11749 11765
11750 v8::Handle<v8::ObjectTemplate> tmpl = v8::ObjectTemplate::New(); 11766 v8::Handle<v8::ObjectTemplate> tmpl = v8::ObjectTemplate::New();
11751 tmpl->SetNamedPropertyHandler(Getter, NULL, NULL, NULL, Enumerator); 11767 tmpl->SetNamedPropertyHandler(Getter, NULL, NULL, NULL, Enumerator);
11752 context->Global()->Set(v8_str("o"), tmpl->NewInstance()); 11768 context->Global()->Set(v8_str("o"), tmpl->NewInstance());
11753 v8::Handle<v8::Array> result = v8::Handle<v8::Array>::Cast(CompileRun( 11769 v8::Handle<v8::Array> result = v8::Handle<v8::Array>::Cast(CompileRun(
11754 "var result = []; for (var k in o) result.push(k); result")); 11770 "var result = []; for (var k in o) result.push(k); result"));
11755 CHECK_EQ(1, result->Length()); 11771 CHECK_EQ(1, result->Length());
11756 CHECK_EQ(v8_str("universalAnswer"), result->Get(0)); 11772 CHECK_EQ(v8_str("universalAnswer"), result->Get(0));
11757 } 11773 }
OLDNEW
« no previous file with comments | « test/cctest/test-alloc.cc ('k') | test/cctest/test-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698