diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index d3ac09b..23b15a4 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2015 PDFium Authors. All rights reserved.
+// Copyright 2015 PDFium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/testing/embedder_test.h b/testing/embedder_test.h
index f68cb9d..df2e40a 100644
--- a/testing/embedder_test.h
+++ b/testing/embedder_test.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2015 PDFium Authors. All rights reserved.
+// Copyright 2015 PDFium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/testing/js_embedder_test.cpp b/testing/js_embedder_test.cpp
new file mode 100644
index 0000000..ffa647d
--- /dev/null
+++ b/testing/js_embedder_test.cpp
@@ -0,0 +1,45 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "testing/js_embedder_test.h"
+
+JSEmbedderTest::JSEmbedderTest()
+    : m_pArrayBufferAllocator(new FXJS_ArrayBufferAllocator) {
+  v8::Isolate::CreateParams params;
+  params.array_buffer_allocator = m_pArrayBufferAllocator.get();
+  m_pIsolate = v8::Isolate::New(params);
+}
+
+JSEmbedderTest::~JSEmbedderTest() {
+  m_pIsolate->Dispose();
+}
+
+void JSEmbedderTest::SetUp() {
+  EmbedderTest::SetExternalIsolate(m_pIsolate);
+  EmbedderTest::SetUp();
+
+  v8::Isolate::Scope isolate_scope(m_pIsolate);
+#ifdef PDF_ENABLE_XFA
+  v8::Locker locker(m_pIsolate);
+#endif  // PDF_ENABLE_XFA
+  v8::HandleScope handle_scope(m_pIsolate);
+  FXJS_PerIsolateData::SetUp(m_pIsolate);
+  FXJS_InitializeRuntime(m_pIsolate, nullptr, &m_pPersistentContext,
+                         &m_StaticObjects);
+}
+
+void JSEmbedderTest::TearDown() {
+  FXJS_ReleaseRuntime(m_pIsolate, &m_pPersistentContext, &m_StaticObjects);
+  m_pPersistentContext.Reset();
+  FXJS_Release();
+  EmbedderTest::TearDown();
+}
+
+v8::Isolate* JSEmbedderTest::isolate() {
+  return m_pIsolate;
+}
+
+v8::Local<v8::Context> JSEmbedderTest::GetV8Context() {
+  return m_pPersistentContext.Get(m_pIsolate);
+}
diff --git a/testing/js_embedder_test.h b/testing/js_embedder_test.h
new file mode 100644
index 0000000..167aea7
--- /dev/null
+++ b/testing/js_embedder_test.h
@@ -0,0 +1,32 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef TESTING_JS_EMBEDDER_TEST_H_
+#define TESTING_JS_EMBEDDER_TEST_H_
+
+#include <vector>
+
+#include "fpdfsdk/include/jsapi/fxjs_v8.h"
+#include "testing/embedder_test.h"
+#include "third_party/base/nonstd_unique_ptr.h"
+
+class JSEmbedderTest : public EmbedderTest {
+ public:
+  JSEmbedderTest();
+  ~JSEmbedderTest() override;
+
+  void SetUp() override;
+  void TearDown() override;
+
+  v8::Isolate* isolate();
+  v8::Local<v8::Context> GetV8Context();
+
+ private:
+  nonstd::unique_ptr<FXJS_ArrayBufferAllocator> m_pArrayBufferAllocator;
+  v8::Isolate* m_pIsolate;
+  v8::Global<v8::Context> m_pPersistentContext;
+  std::vector<v8::Global<v8::Object>*> m_StaticObjects;
+};
+
+#endif  // TESTING_JS_EMBEDDER_TEST_H_
