Home | History | Annotate | Download | only in test
      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 
      9 using v8::Context;
     10 using v8::Local;
     11 using v8::HandleScope;
     12 
     13 namespace gin {
     14 
     15 V8Test::V8Test() {
     16 }
     17 
     18 V8Test::~V8Test() {
     19 }
     20 
     21 void 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 
     29 void 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