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

Side by Side Diff: test/cctest/test-declarative-accessors.cc

Issue 108783007: Reland r18383: More API cleanup. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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-debug.cc ('k') | test/cctest/test-decls.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 value = CompileRun("accessible['y'];"); 140 value = CompileRun("accessible['y'];");
141 CHECK_EQ(expected_value, value); 141 CHECK_EQ(expected_value, value);
142 value = CompileRun("accessible[13];"); 142 value = CompileRun("accessible[13];");
143 CHECK_EQ(expected_value, value); 143 CHECK_EQ(expected_value, value);
144 value = CompileRun("accessible['13'];"); 144 value = CompileRun("accessible['13'];");
145 CHECK_EQ(expected_value, value); 145 CHECK_EQ(expected_value, value);
146 } 146 }
147 147
148 148
149 static v8::Handle<v8::Value> Convert(int32_t value, v8::Isolate* isolate) { 149 static v8::Handle<v8::Value> Convert(int32_t value, v8::Isolate* isolate) {
150 return v8::Integer::New(value, isolate); 150 return v8::Integer::New(isolate, value);
151 } 151 }
152 152
153 153
154 static v8::Handle<v8::Value> Convert(float value, v8::Isolate*) { 154 static v8::Handle<v8::Value> Convert(float value, v8::Isolate* isolate) {
155 return v8::Number::New(value); 155 return v8::Number::New(isolate, value);
156 } 156 }
157 157
158 158
159 static v8::Handle<v8::Value> Convert(double value, v8::Isolate*) { 159 static v8::Handle<v8::Value> Convert(double value, v8::Isolate* isolate) {
160 return v8::Number::New(value); 160 return v8::Number::New(isolate, value);
161 } 161 }
162 162
163 163
164 typedef v8::ObjectOperationDescriptor OOD; 164 typedef v8::ObjectOperationDescriptor OOD;
165 165
166 template<typename T> 166 template<typename T>
167 static void TestPrimitiveValue( 167 static void TestPrimitiveValue(
168 T value, 168 T value,
169 v8::DeclaredAccessorDescriptorDataType data_type, 169 v8::DeclaredAccessorDescriptorDataType data_type,
170 DescriptorTestHelper* helper) { 170 DescriptorTestHelper* helper) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 v8::Handle<v8::DeclaredAccessorDescriptor> descriptor = 270 v8::Handle<v8::DeclaredAccessorDescriptor> descriptor =
271 OOD::NewInternalFieldDereference(helper.isolate_, internal_field) 271 OOD::NewInternalFieldDereference(helper.isolate_, internal_field)
272 ->NewRawShift(helper.isolate_, first_index*kPointerSize) 272 ->NewRawShift(helper.isolate_, first_index*kPointerSize)
273 ->NewRawDereference(helper.isolate_) 273 ->NewRawDereference(helper.isolate_)
274 ->NewRawShift(helper.isolate_, 274 ->NewRawShift(helper.isolate_,
275 static_cast<uint16_t>(second_index*sizeof(int16_t))) 275 static_cast<uint16_t>(second_index*sizeof(int16_t)))
276 ->NewPrimitiveValue(helper.isolate_, v8::kDescriptorInt16Type, 0); 276 ->NewPrimitiveValue(helper.isolate_, v8::kDescriptorInt16Type, 0);
277 AlignedArray* array = helper.array_.get(); 277 AlignedArray* array = helper.array_.get();
278 array->As<uintptr_t**>()[first_index] = 278 array->As<uintptr_t**>()[first_index] =
279 &array->As<uintptr_t*>()[pointed_to_index]; 279 &array->As<uintptr_t*>()[pointed_to_index];
280 VerifyRead(descriptor, internal_field, array, v8::Integer::New(0)); 280 VerifyRead(descriptor, internal_field, array,
281 v8::Integer::New(helper.isolate_, 0));
281 second_index += pointed_to_index*sizeof(uintptr_t)/sizeof(uint16_t); 282 second_index += pointed_to_index*sizeof(uintptr_t)/sizeof(uint16_t);
282 array->As<uint16_t*>()[second_index] = expected; 283 array->As<uint16_t*>()[second_index] = expected;
283 VerifyRead(descriptor, internal_field, array, v8::Integer::New(expected)); 284 VerifyRead(descriptor, internal_field, array,
285 v8::Integer::New(helper.isolate_, expected));
284 } 286 }
285 287
286 288
287 TEST(HandleDereferenceRead) { 289 TEST(HandleDereferenceRead) {
288 DescriptorTestHelper helper; 290 DescriptorTestHelper helper;
289 v8::HandleScope handle_scope(helper.isolate_); 291 v8::HandleScope handle_scope(helper.isolate_);
290 int index = 13; 292 int index = 13;
291 int internal_field = 0; 293 int internal_field = 0;
292 v8::Handle<v8::DeclaredAccessorDescriptor> descriptor = 294 v8::Handle<v8::DeclaredAccessorDescriptor> descriptor =
293 OOD::NewInternalFieldDereference(helper.isolate_, internal_field) 295 OOD::NewInternalFieldDereference(helper.isolate_, internal_field)
294 ->NewRawShift(helper.isolate_, index*kPointerSize) 296 ->NewRawShift(helper.isolate_, index*kPointerSize)
295 ->NewHandleDereference(helper.isolate_); 297 ->NewHandleDereference(helper.isolate_);
296 HandleArray* array = helper.handle_array_.get(); 298 HandleArray* array = helper.handle_array_.get();
297 v8::Handle<v8::String> expected = v8_str("whatever"); 299 v8::Handle<v8::String> expected = v8_str("whatever");
298 array->handles_[index].Reset(helper.isolate_, expected); 300 array->handles_[index].Reset(helper.isolate_, expected);
299 VerifyRead(descriptor, internal_field, array, expected); 301 VerifyRead(descriptor, internal_field, array, expected);
300 } 302 }
OLDNEW
« no previous file with comments | « test/cctest/test-debug.cc ('k') | test/cctest/test-decls.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698