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

Side by Side Diff: test/cctest/test-object-observe.cc

Issue 854493004: Remove ForceDelete (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 11 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
« no previous file with comments | « test/cctest/test-heap.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 obj->Set(String::NewFromUtf8(v8_isolate, "foo"), 321 obj->Set(String::NewFromUtf8(v8_isolate, "foo"),
322 Number::New(v8_isolate, 7)); 322 Number::New(v8_isolate, 7));
323 obj->Set(1, Number::New(v8_isolate, 2)); 323 obj->Set(1, Number::New(v8_isolate, 2));
324 // ForceSet should work just as well as Set 324 // ForceSet should work just as well as Set
325 obj->ForceSet(String::NewFromUtf8(v8_isolate, "foo"), 325 obj->ForceSet(String::NewFromUtf8(v8_isolate, "foo"),
326 Number::New(v8_isolate, 3)); 326 Number::New(v8_isolate, 3));
327 obj->ForceSet(Number::New(v8_isolate, 1), Number::New(v8_isolate, 4)); 327 obj->ForceSet(Number::New(v8_isolate, 1), Number::New(v8_isolate, 4));
328 // Setting an indexed element via the property setting method 328 // Setting an indexed element via the property setting method
329 obj->Set(Number::New(v8_isolate, 1), Number::New(v8_isolate, 5)); 329 obj->Set(Number::New(v8_isolate, 1), Number::New(v8_isolate, 5));
330 // Setting with a non-String, non-uint32 key 330 // Setting with a non-String, non-uint32 key
331 obj->ForceSet(Number::New(v8_isolate, 1.1), Number::New(v8_isolate, 6), 331 obj->Set(Number::New(v8_isolate, 1.1), Number::New(v8_isolate, 6));
332 DontDelete);
333 obj->Delete(String::NewFromUtf8(v8_isolate, "foo")); 332 obj->Delete(String::NewFromUtf8(v8_isolate, "foo"));
334 obj->Delete(1); 333 obj->Delete(1);
335 obj->ForceDelete(Number::New(v8_isolate, 1.1)); 334 obj->Delete(Number::New(v8_isolate, 1.1));
336 335
337 // Force delivery 336 // Force delivery
338 // TODO(adamk): Should the above set methods trigger delivery themselves? 337 // TODO(adamk): Should the above set methods trigger delivery themselves?
339 CompileRun("void 0"); 338 CompileRun("void 0");
340 CHECK_EQ(9, CompileRun("records.length")->Int32Value()); 339 CHECK_EQ(9, CompileRun("records.length")->Int32Value());
341 const RecordExpectation expected_records[] = { 340 const RecordExpectation expected_records[] = {
342 { obj, "add", "foo", Handle<Value>() }, 341 { obj, "add", "foo", Handle<Value>() },
343 { obj, "add", "1", Handle<Value>() }, 342 { obj, "add", "1", Handle<Value>() },
344 // Note: use 7 not 1 below, as the latter triggers a nifty VS10 compiler bug 343 // Note: use 7 not 1 below, as the latter triggers a nifty VS10 compiler bug
345 // where instead of 1.0, a garbage value would be passed into Number::New. 344 // where instead of 1.0, a garbage value would be passed into Number::New.
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 &AccessorSetter); 827 &AccessorSetter);
829 context->Global()->Set(String::NewFromUtf8(isolate, "obj"), object); 828 context->Global()->Set(String::NewFromUtf8(isolate, "obj"), object);
830 CompileRun( 829 CompileRun(
831 "var records = null;" 830 "var records = null;"
832 "Object.observe(obj, function(r) { records = r });" 831 "Object.observe(obj, function(r) { records = r });"
833 "obj.accessor = 43;"); 832 "obj.accessor = 43;");
834 CHECK(CompileRun("records")->IsNull()); 833 CHECK(CompileRun("records")->IsNull());
835 CompileRun("Object.defineProperty(obj, 'accessor', { value: 44 });"); 834 CompileRun("Object.defineProperty(obj, 'accessor', { value: 44 });");
836 CHECK(CompileRun("records")->IsNull()); 835 CHECK(CompileRun("records")->IsNull());
837 } 836 }
OLDNEW
« no previous file with comments | « test/cctest/test-heap.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698