OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "chrome/test/base/javascript_browser_test.h" | 5 #include "chrome/test/base/javascript_browser_test.h" |
6 | 6 |
7 #include "base/logging.h" | |
7 #include "base/path_service.h" | 8 #include "base/path_service.h" |
8 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/common/chrome_paths.h" | 10 #include "chrome/common/chrome_paths.h" |
10 #include "content/public/browser/web_ui.h" | 11 #include "content/public/browser/web_ui.h" |
11 #include "ui/base/resource/resource_bundle.h" | 12 #include "ui/base/resource/resource_bundle.h" |
12 | 13 |
14 namespace { | |
15 | |
16 bool g_has_console_errors = false; | |
17 bool g_has_console_info = false; | |
mmenke
2016/06/03 16:05:51
Can we not use globals here, and get rid of set_ha
Dan Beam
2016/06/03 18:58:27
i can move the booleans wherever you'd like, PostT
| |
18 | |
19 bool LogHandler(int severity, | |
20 const char* file, | |
21 int line, | |
22 size_t message_start, | |
23 const std::string& str) { | |
24 if (std::string("CONSOLE") == file) { | |
25 g_has_console_info = true; | |
26 if (severity == logging::LOG_ERROR) | |
27 g_has_console_errors = true; | |
28 } | |
29 return false; | |
30 } | |
31 | |
32 } // namespace | |
33 | |
13 // static | 34 // static |
14 const base::FilePath::CharType | 35 const base::FilePath::CharType |
15 JavaScriptBrowserTest::kA11yAuditLibraryJSPath[] = | 36 JavaScriptBrowserTest::kA11yAuditLibraryJSPath[] = |
16 FILE_PATH_LITERAL("third_party/accessibility-audit/axs_testing.js"); | 37 FILE_PATH_LITERAL("third_party/accessibility-audit/axs_testing.js"); |
17 | 38 |
18 // static | 39 // static |
19 const base::FilePath::CharType JavaScriptBrowserTest::kChaiJSPath[] = | 40 const base::FilePath::CharType JavaScriptBrowserTest::kChaiJSPath[] = |
20 FILE_PATH_LITERAL("third_party/chaijs/chai.js"); | 41 FILE_PATH_LITERAL("third_party/chaijs/chai.js"); |
21 | 42 |
22 // static | 43 // static |
(...skipping 12 matching lines...) Expand all Loading... | |
35 user_libraries_.push_back(library_path); | 56 user_libraries_.push_back(library_path); |
36 } | 57 } |
37 | 58 |
38 JavaScriptBrowserTest::JavaScriptBrowserTest() { | 59 JavaScriptBrowserTest::JavaScriptBrowserTest() { |
39 } | 60 } |
40 | 61 |
41 JavaScriptBrowserTest::~JavaScriptBrowserTest() { | 62 JavaScriptBrowserTest::~JavaScriptBrowserTest() { |
42 } | 63 } |
43 | 64 |
44 void JavaScriptBrowserTest::SetUpOnMainThread() { | 65 void JavaScriptBrowserTest::SetUpOnMainThread() { |
66 InProcessBrowserTest::SetUpOnMainThread(); | |
67 | |
68 logging::SetLogMessageHandler(&LogHandler); | |
69 | |
45 base::FilePath test_data_directory; | 70 base::FilePath test_data_directory; |
46 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_directory)); | 71 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_directory)); |
47 test_data_directory = test_data_directory.Append(kWebUITestFolder); | 72 test_data_directory = test_data_directory.Append(kWebUITestFolder); |
48 library_search_paths_.push_back(test_data_directory); | 73 library_search_paths_.push_back(test_data_directory); |
49 | 74 |
50 base::FilePath gen_test_data_directory; | 75 base::FilePath gen_test_data_directory; |
51 ASSERT_TRUE( | 76 ASSERT_TRUE( |
52 PathService::Get(chrome::DIR_GEN_TEST_DATA, &gen_test_data_directory)); | 77 PathService::Get(chrome::DIR_GEN_TEST_DATA, &gen_test_data_directory)); |
53 library_search_paths_.push_back(gen_test_data_directory); | 78 library_search_paths_.push_back(gen_test_data_directory); |
54 | 79 |
55 base::FilePath source_root_directory; | 80 base::FilePath source_root_directory; |
56 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &source_root_directory)); | 81 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &source_root_directory)); |
57 library_search_paths_.push_back(source_root_directory); | 82 library_search_paths_.push_back(source_root_directory); |
58 | 83 |
59 AddLibrary(base::FilePath(kMockJSPath)); | 84 AddLibrary(base::FilePath(kMockJSPath)); |
60 AddLibrary(base::FilePath(kChaiJSPath)); | 85 AddLibrary(base::FilePath(kChaiJSPath)); |
61 AddLibrary(base::FilePath(kWebUILibraryJS)); | 86 AddLibrary(base::FilePath(kWebUILibraryJS)); |
62 } | 87 } |
63 | 88 |
89 void JavaScriptBrowserTest::TearDownOnMainThread() { | |
90 logging::SetLogMessageHandler(nullptr); | |
91 InProcessBrowserTest::TearDownOnMainThread(); | |
92 } | |
93 | |
64 // TODO(dtseng): Make this return bool (success/failure) and remove ASSERt_TRUE | 94 // TODO(dtseng): Make this return bool (success/failure) and remove ASSERt_TRUE |
65 // calls. | 95 // calls. |
66 void JavaScriptBrowserTest::BuildJavascriptLibraries( | 96 void JavaScriptBrowserTest::BuildJavascriptLibraries( |
67 std::vector<base::string16>* libraries) { | 97 std::vector<base::string16>* libraries) { |
68 ASSERT_TRUE(libraries != NULL); | 98 ASSERT_TRUE(libraries != NULL); |
69 std::vector<base::FilePath>::iterator user_libraries_iterator; | 99 std::vector<base::FilePath>::iterator user_libraries_iterator; |
70 for (user_libraries_iterator = user_libraries_.begin(); | 100 for (user_libraries_iterator = user_libraries_.begin(); |
71 user_libraries_iterator != user_libraries_.end(); | 101 user_libraries_iterator != user_libraries_.end(); |
72 ++user_libraries_iterator) { | 102 ++user_libraries_iterator) { |
73 std::string library_content; | 103 std::string library_content; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
114 ConstValueVector::const_iterator arguments_iterator; | 144 ConstValueVector::const_iterator arguments_iterator; |
115 for (arguments_iterator = test_func_args.begin(); | 145 for (arguments_iterator = test_func_args.begin(); |
116 arguments_iterator != test_func_args.end(); | 146 arguments_iterator != test_func_args.end(); |
117 ++arguments_iterator) { | 147 ++arguments_iterator) { |
118 baked_argument_list->Append((*arguments_iterator)->DeepCopy()); | 148 baked_argument_list->Append((*arguments_iterator)->DeepCopy()); |
119 } | 149 } |
120 arguments.push_back(baked_argument_list); | 150 arguments.push_back(baked_argument_list); |
121 return content::WebUI::GetJavascriptCall(std::string("runTest"), | 151 return content::WebUI::GetJavascriptCall(std::string("runTest"), |
122 arguments.get()); | 152 arguments.get()); |
123 } | 153 } |
154 | |
155 bool JavaScriptBrowserTest::has_console_errors() const { | |
156 return g_has_console_errors; | |
157 } | |
158 | |
159 void JavaScriptBrowserTest::set_has_console_errors(bool has_console_errors) { | |
160 g_has_console_errors = has_console_errors; | |
161 } | |
162 | |
163 bool JavaScriptBrowserTest::has_console_info() const { | |
164 return g_has_console_info; | |
165 } | |
166 | |
167 void JavaScriptBrowserTest::set_has_console_info(bool has_console_info) { | |
168 g_has_console_info = has_console_info; | |
169 } | |
OLD | NEW |