1b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// Copyright 2014 the V8 project authors. All rights reserved.
2b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// found in the LICENSE file.
4b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
5b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#include "src/test/test-utils.h"
6b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
7b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#include "src/isolate-inl.h"
8b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
9b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochnamespace v8 {
10b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
11b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// static
12b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochIsolate* TestWithIsolate::isolate_ = NULL;
13b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
14b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
15b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochTestWithIsolate::TestWithIsolate()
16b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch    : isolate_scope_(isolate()), handle_scope_(isolate()) {}
17b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
18b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
19b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochTestWithIsolate::~TestWithIsolate() {}
20b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
21b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
22b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// static
23b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochvoid TestWithIsolate::SetUpTestCase() {
24b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  Test::SetUpTestCase();
25b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  EXPECT_EQ(NULL, isolate_);
26b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  isolate_ = v8::Isolate::New();
27b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  EXPECT_TRUE(isolate_ != NULL);
28b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch}
29b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
30b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
31b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// static
32b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochvoid TestWithIsolate::TearDownTestCase() {
33b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  ASSERT_TRUE(isolate_ != NULL);
34b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  isolate_->Dispose();
35b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  isolate_ = NULL;
36b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch  Test::TearDownTestCase();
37b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch}
38b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
39b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
40b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochTestWithContext::TestWithContext()
41b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch    : context_(Context::New(isolate())), context_scope_(context_) {}
42b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
43b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
44b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochTestWithContext::~TestWithContext() {}
45b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
46b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
47b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochnamespace internal {
48b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
49b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochTestWithIsolate::~TestWithIsolate() {}
50b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
51b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
52b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochFactory* TestWithIsolate::factory() const { return isolate()->factory(); }
53b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
54b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
55b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochTestWithZone::~TestWithZone() {}
56b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
57b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch}  // namespace internal
58b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch}  // namespace v8
59