1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "gin/test/v8_test.h" 6 7#include "gin/public/isolate_holder.h" 8 9using v8::Context; 10using v8::Local; 11using v8::HandleScope; 12 13namespace gin { 14 15V8Test::V8Test() { 16} 17 18V8Test::~V8Test() { 19} 20 21void V8Test::SetUp() { 22 instance_.reset(new gin::IsolateHolder(gin::IsolateHolder::kStrictMode)); 23 instance_->isolate()->Enter(); 24 HandleScope handle_scope(instance_->isolate()); 25 context_.Reset(instance_->isolate(), Context::New(instance_->isolate())); 26 Local<Context>::New(instance_->isolate(), context_)->Enter(); 27} 28 29void V8Test::TearDown() { 30 { 31 HandleScope handle_scope(instance_->isolate()); 32 Local<Context>::New(instance_->isolate(), context_)->Exit(); 33 context_.Reset(); 34 } 35 instance_->isolate()->Exit(); 36 instance_.reset(); 37} 38 39} // namespace gin 40