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

Side by Side Diff: chrome/test/base/v8_unit_test.h

Issue 2852373004: Use ScopedTaskEnvironment instead of MessageLoop in tests that use v8. (Closed)
Patch Set: Reset-RenderViewTest Created 3 years, 7 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/test/base/v8_unit_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_TEST_BASE_V8_UNIT_TEST_H_ 5 #ifndef CHROME_TEST_BASE_V8_UNIT_TEST_H_
6 #define CHROME_TEST_BASE_V8_UNIT_TEST_H_ 6 #define CHROME_TEST_BASE_V8_UNIT_TEST_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/strings/string_piece.h" 12 #include "base/strings/string_piece.h"
13 #include "base/test/scoped_task_environment.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 #include "v8/include/v8.h" 15 #include "v8/include/v8.h"
15 16
16 namespace base {
17 class MessageLoop;
18 } // namespace base
19
20 // A superclass for unit tests that involve running JavaScript. This class 17 // A superclass for unit tests that involve running JavaScript. This class
21 // sets up V8 context and has methods that make it easy to execute scripts in 18 // sets up V8 context and has methods that make it easy to execute scripts in
22 // this context as well as call functions in the context. 19 // this context as well as call functions in the context.
23 class V8UnitTest : public testing::Test { 20 class V8UnitTest : public testing::Test {
24 public: 21 public:
25 V8UnitTest(); 22 V8UnitTest();
26 ~V8UnitTest() override; 23 ~V8UnitTest() override;
27 24
28 // Methods from testing::Test. 25 // Methods from testing::Test.
29 void SetUp() override; 26 void SetUp() override;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 // capture and hold the results for analysis by |RunJavascriptF|. 68 // capture and hold the results for analysis by |RunJavascriptF|.
72 static void ChromeSend(const v8::FunctionCallbackInfo<v8::Value>& args); 69 static void ChromeSend(const v8::FunctionCallbackInfo<v8::Value>& args);
73 70
74 private: 71 private:
75 // Executes all added javascript libraries. Returns true if no errors. 72 // Executes all added javascript libraries. Returns true if no errors.
76 bool ExecuteJavascriptLibraries(); 73 bool ExecuteJavascriptLibraries();
77 74
78 // Initializes paths and libraries. 75 // Initializes paths and libraries.
79 void InitPathsAndLibraries(); 76 void InitPathsAndLibraries();
80 77
78 base::test::ScopedTaskEnvironment scoped_task_environment_;
79
81 // Handle scope that is used throughout the life of this class. 80 // Handle scope that is used throughout the life of this class.
82 v8::HandleScope handle_scope_; 81 v8::HandleScope handle_scope_;
83 82
84 // Context for the JavaScript in the test. 83 // Context for the JavaScript in the test.
85 v8::Persistent<v8::Context> context_; 84 v8::Persistent<v8::Context> context_;
86 85
87 // User added libraries. 86 // User added libraries.
88 std::vector<base::FilePath> user_libraries_; 87 std::vector<base::FilePath> user_libraries_;
89
90 std::unique_ptr<base::MessageLoop> loop_;
91 }; 88 };
92 89
93 #endif // CHROME_TEST_BASE_V8_UNIT_TEST_H_ 90 #endif // CHROME_TEST_BASE_V8_UNIT_TEST_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/test/base/v8_unit_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698