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

Unified Diff: chrome/test/base/v8_unit_test.cc

Issue 16690003: Update tests to not use to-be-removed V8 handle operations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/base/v8_unit_test.h ('k') | content/renderer/v8_value_converter_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/base/v8_unit_test.cc
diff --git a/chrome/test/base/v8_unit_test.cc b/chrome/test/base/v8_unit_test.cc
index 86753eca082f68f02b0df78b0d7fc5f268e5378b..087e98ef2c397338657b2fffbc9a2fd20031f764 100644
--- a/chrome/test/base/v8_unit_test.cc
+++ b/chrome/test/base/v8_unit_test.cc
@@ -45,7 +45,9 @@ base::FilePath gen_test_data_directory;
} // namespace
-V8UnitTest::V8UnitTest() {
+V8UnitTest::V8UnitTest()
+ : isolate_(v8::Isolate::GetCurrent()),
+ handle_scope_(isolate_) {
InitPathsAndLibraries();
}
@@ -88,11 +90,13 @@ bool V8UnitTest::RunJavascriptTestF(
if (!ExecuteJavascriptLibraries())
return false;
- v8::Context::Scope context_scope(context_);
- v8::HandleScope handle_scope;
+ v8::Context::Scope context_scope(isolate_, context_);
+ v8::HandleScope handle_scope(isolate_);
+ v8::Local<v8::Context> context =
+ v8::Local<v8::Context>::New(isolate_, context_);
v8::Handle<v8::Value> functionProperty =
- context_->Global()->Get(v8::String::New("runTest"));
+ context->Global()->Get(v8::String::New("runTest"));
EXPECT_FALSE(functionProperty.IsEmpty());
if (::testing::Test::HasNonfatalFailure())
return false;
@@ -112,7 +116,7 @@ bool V8UnitTest::RunJavascriptTestF(
};
v8::TryCatch try_catch;
- v8::Handle<v8::Value> result = function->Call(context_->Global(), 3, args);
+ v8::Handle<v8::Value> result = function->Call(context->Global(), 3, args);
// The test fails if an exception was thrown.
EXPECT_FALSE(result.IsEmpty());
if (::testing::Test::HasNonfatalFailure())
@@ -174,23 +178,21 @@ void V8UnitTest::SetUp() {
console->Set(v8::String::New("error"),
v8::FunctionTemplate::New(&V8UnitTest::Error));
- v8::Isolate* isolate = v8::Isolate::GetCurrent();
- // TODO(marja): Use v8::Persistent::Reset here.
- context_ = v8::Persistent<v8::Context>(
- isolate, v8::Context::New(isolate, NULL, global));
+ context_.Reset(isolate_, v8::Context::New(isolate_, NULL, global));
}
void V8UnitTest::SetGlobalStringVar(const std::string& var_name,
const std::string& value) {
- v8::Context::Scope context_scope(context_);
- context_->Global()->Set(v8::String::New(var_name.c_str(), var_name.length()),
- v8::String::New(value.c_str(), value.length()));
+ v8::Context::Scope context_scope(isolate_, context_);
+ v8::Local<v8::Context>::New(isolate_, context_)->Global()
+ ->Set(v8::String::New(var_name.c_str(), var_name.length()),
+ v8::String::New(value.c_str(), value.length()));
}
void V8UnitTest::ExecuteScriptInContext(const base::StringPiece& script_source,
const base::StringPiece& script_name) {
- v8::Context::Scope context_scope(context_);
- v8::HandleScope handle_scope;
+ v8::Context::Scope context_scope(isolate_, context_);
+ v8::HandleScope handle_scope(isolate_);
v8::Handle<v8::String> source = v8::String::New(script_source.data(),
script_source.size());
v8::Handle<v8::String> name = v8::String::New(script_name.data(),
@@ -228,18 +230,20 @@ std::string V8UnitTest::ExceptionToString(const v8::TryCatch& try_catch) {
}
void V8UnitTest::TestFunction(const std::string& function_name) {
- v8::Context::Scope context_scope(context_);
- v8::HandleScope handle_scope;
+ v8::Context::Scope context_scope(isolate_, context_);
+ v8::HandleScope handle_scope(isolate_);
+ v8::Local<v8::Context> context =
+ v8::Local<v8::Context>::New(isolate_, context_);
v8::Handle<v8::Value> functionProperty =
- context_->Global()->Get(v8::String::New(function_name.c_str()));
+ context->Global()->Get(v8::String::New(function_name.c_str()));
ASSERT_FALSE(functionProperty.IsEmpty());
ASSERT_TRUE(functionProperty->IsFunction());
v8::Handle<v8::Function> function =
v8::Handle<v8::Function>::Cast(functionProperty);
v8::TryCatch try_catch;
- v8::Handle<v8::Value> result = function->Call(context_->Global(), 0, NULL);
+ v8::Handle<v8::Value> result = function->Call(context->Global(), 0, NULL);
// The test fails if an exception was thrown.
if (result.IsEmpty())
FAIL() << ExceptionToString(try_catch);
« no previous file with comments | « chrome/test/base/v8_unit_test.h ('k') | content/renderer/v8_value_converter_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698