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

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

Issue 617263003: Introduce v8::Object::GetIsolate(). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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
« src/api.cc ('K') | « src/api.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 2806 matching lines...) Expand 10 before | Expand all | Expand 10 after
2817 CheckEmbedderData( 2817 CheckEmbedderData(
2818 &env, 3, 2818 &env, 3,
2819 v8::String::NewFromUtf8(isolate, "The quick brown fox jumps")); 2819 v8::String::NewFromUtf8(isolate, "The quick brown fox jumps"));
2820 CheckEmbedderData(&env, 2, v8::String::NewFromUtf8(isolate, 2820 CheckEmbedderData(&env, 2, v8::String::NewFromUtf8(isolate,
2821 "over the lazy dog.")); 2821 "over the lazy dog."));
2822 CheckEmbedderData(&env, 1, v8::Number::New(isolate, 1.2345)); 2822 CheckEmbedderData(&env, 1, v8::Number::New(isolate, 1.2345));
2823 CheckEmbedderData(&env, 0, v8::Boolean::New(isolate, true)); 2823 CheckEmbedderData(&env, 0, v8::Boolean::New(isolate, true));
2824 } 2824 }
2825 2825
2826 2826
2827 THREADED_TEST(GetIsolate) {
2828 LocalContext env;
2829 v8::Isolate* isolate = env->GetIsolate();
2830 v8::HandleScope scope(isolate);
2831 Local<v8::Object> obj = v8::Object::New(isolate);
2832 CHECK_EQ(isolate, obj->GetIsolate());
2833 CHECK_EQ(isolate, CcTest::global()->GetIsolate());
2834 }
2835
2836
2827 THREADED_TEST(IdentityHash) { 2837 THREADED_TEST(IdentityHash) {
2828 LocalContext env; 2838 LocalContext env;
2829 v8::Isolate* isolate = env->GetIsolate(); 2839 v8::Isolate* isolate = env->GetIsolate();
2830 v8::HandleScope scope(isolate); 2840 v8::HandleScope scope(isolate);
2831 2841
2832 // Ensure that the test starts with an fresh heap to test whether the hash 2842 // Ensure that the test starts with an fresh heap to test whether the hash
2833 // code is based on the address. 2843 // code is based on the address.
2834 CcTest::heap()->CollectAllGarbage(i::Heap::kNoGCFlags); 2844 CcTest::heap()->CollectAllGarbage(i::Heap::kNoGCFlags);
2835 Local<v8::Object> obj = v8::Object::New(isolate); 2845 Local<v8::Object> obj = v8::Object::New(isolate);
2836 int hash = obj->GetIdentityHash(); 2846 int hash = obj->GetIdentityHash();
(...skipping 20104 matching lines...) Expand 10 before | Expand all | Expand 10 after
22941 LocalContext context; 22951 LocalContext context;
22942 v8::Isolate* isolate = context->GetIsolate(); 22952 v8::Isolate* isolate = context->GetIsolate();
22943 v8::HandleScope scope(isolate); 22953 v8::HandleScope scope(isolate);
22944 Handle<Object> global = context->Global(); 22954 Handle<Object> global = context->Global();
22945 22955
22946 // Creation. 22956 // Creation.
22947 Handle<v8::Promise::Resolver> pr = v8::Promise::Resolver::New(isolate); 22957 Handle<v8::Promise::Resolver> pr = v8::Promise::Resolver::New(isolate);
22948 Handle<v8::Promise::Resolver> rr = v8::Promise::Resolver::New(isolate); 22958 Handle<v8::Promise::Resolver> rr = v8::Promise::Resolver::New(isolate);
22949 Handle<v8::Promise> p = pr->GetPromise(); 22959 Handle<v8::Promise> p = pr->GetPromise();
22950 Handle<v8::Promise> r = rr->GetPromise(); 22960 Handle<v8::Promise> r = rr->GetPromise();
22961 CHECK_EQ(isolate, p->GetIsolate());
22951 22962
22952 // IsPromise predicate. 22963 // IsPromise predicate.
22953 CHECK(p->IsPromise()); 22964 CHECK(p->IsPromise());
22954 CHECK(r->IsPromise()); 22965 CHECK(r->IsPromise());
22955 Handle<Value> o = v8::Object::New(isolate); 22966 Handle<Value> o = v8::Object::New(isolate);
22956 CHECK(!o->IsPromise()); 22967 CHECK(!o->IsPromise());
22957 22968
22958 // Resolution and rejection. 22969 // Resolution and rejection.
22959 pr->Resolve(v8::Integer::New(isolate, 1)); 22970 pr->Resolve(v8::Integer::New(isolate, 1));
22960 CHECK(p->IsPromise()); 22971 CHECK(p->IsPromise());
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after
23689 " var foobXXXXX"; // Too many bytes which look like incomplete chars! 23700 " var foobXXXXX"; // Too many bytes which look like incomplete chars!
23690 char chunk2[] = 23701 char chunk2[] =
23691 "r = 13;\n" 23702 "r = 13;\n"
23692 " return foob\xeb\x91\x80\x80\x80r;\n" 23703 " return foob\xeb\x91\x80\x80\x80r;\n"
23693 "}\n"; 23704 "}\n";
23694 for (int i = 0; i < 5; ++i) chunk1[strlen(chunk1) - 5 + i] = reference[i]; 23705 for (int i = 0; i < 5; ++i) chunk1[strlen(chunk1) - 5 + i] = reference[i];
23695 23706
23696 const char* chunks[] = {chunk1, chunk2, "foo();", NULL}; 23707 const char* chunks[] = {chunk1, chunk2, "foo();", NULL};
23697 RunStreamingTest(chunks, v8::ScriptCompiler::StreamedSource::UTF8, false); 23708 RunStreamingTest(chunks, v8::ScriptCompiler::StreamedSource::UTF8, false);
23698 } 23709 }
OLDNEW
« src/api.cc ('K') | « src/api.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698