OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/extensions/extension_apitest.h" | 5 #include "chrome/browser/extensions/extension_apitest.h" |
6 | 6 |
7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
9 #include "chrome/browser/extensions/api/test/test_api.h" | 9 #include "chrome/browser/extensions/api/test/test_api.h" |
10 #include "chrome/browser/extensions/extension_service.h" | 10 #include "chrome/browser/extensions/extension_service.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 const content::NotificationDetails& details) { | 73 const content::NotificationDetails& details) { |
74 if (profile_restriction_ && | 74 if (profile_restriction_ && |
75 content::Source<Profile>(source).ptr() != profile_restriction_) { | 75 content::Source<Profile>(source).ptr() != profile_restriction_) { |
76 return; | 76 return; |
77 } | 77 } |
78 | 78 |
79 switch (type) { | 79 switch (type) { |
80 case chrome::NOTIFICATION_EXTENSION_TEST_PASSED: | 80 case chrome::NOTIFICATION_EXTENSION_TEST_PASSED: |
81 VLOG(1) << "Got EXTENSION_TEST_PASSED notification."; | 81 VLOG(1) << "Got EXTENSION_TEST_PASSED notification."; |
82 results_.push_back(true); | 82 results_.push_back(true); |
83 messages_.push_back(""); | 83 messages_.push_back(std::string()); |
84 if (waiting_) | 84 if (waiting_) |
85 MessageLoopForUI::current()->Quit(); | 85 MessageLoopForUI::current()->Quit(); |
86 break; | 86 break; |
87 | 87 |
88 case chrome::NOTIFICATION_EXTENSION_TEST_FAILED: | 88 case chrome::NOTIFICATION_EXTENSION_TEST_FAILED: |
89 VLOG(1) << "Got EXTENSION_TEST_FAILED notification."; | 89 VLOG(1) << "Got EXTENSION_TEST_FAILED notification."; |
90 results_.push_back(false); | 90 results_.push_back(false); |
91 messages_.push_back(*(content::Details<std::string>(details).ptr())); | 91 messages_.push_back(*(content::Details<std::string>(details).ptr())); |
92 if (waiting_) | 92 if (waiting_) |
93 MessageLoopForUI::current()->Quit(); | 93 MessageLoopForUI::current()->Quit(); |
(...skipping 13 matching lines...) Expand all Loading... |
107 extensions::TestGetConfigFunction::set_test_config_state( | 107 extensions::TestGetConfigFunction::set_test_config_state( |
108 test_config_.get()); | 108 test_config_.get()); |
109 } | 109 } |
110 | 110 |
111 void ExtensionApiTest::TearDownInProcessBrowserTestFixture() { | 111 void ExtensionApiTest::TearDownInProcessBrowserTestFixture() { |
112 extensions::TestGetConfigFunction::set_test_config_state(NULL); | 112 extensions::TestGetConfigFunction::set_test_config_state(NULL); |
113 test_config_.reset(NULL); | 113 test_config_.reset(NULL); |
114 } | 114 } |
115 | 115 |
116 bool ExtensionApiTest::RunExtensionTest(const char* extension_name) { | 116 bool ExtensionApiTest::RunExtensionTest(const char* extension_name) { |
117 return RunExtensionTestImpl(extension_name, "", kFlagEnableFileAccess); | 117 return RunExtensionTestImpl( |
| 118 extension_name, std::string(), kFlagEnableFileAccess); |
118 } | 119 } |
119 | 120 |
120 bool ExtensionApiTest::RunExtensionTestIncognito(const char* extension_name) { | 121 bool ExtensionApiTest::RunExtensionTestIncognito(const char* extension_name) { |
121 return RunExtensionTestImpl( | 122 return RunExtensionTestImpl(extension_name, |
122 extension_name, "", kFlagEnableIncognito | kFlagEnableFileAccess); | 123 std::string(), |
| 124 kFlagEnableIncognito | kFlagEnableFileAccess); |
123 } | 125 } |
124 | 126 |
125 bool ExtensionApiTest::RunExtensionTestIgnoreManifestWarnings( | 127 bool ExtensionApiTest::RunExtensionTestIgnoreManifestWarnings( |
126 const char* extension_name) { | 128 const char* extension_name) { |
127 return RunExtensionTestImpl( | 129 return RunExtensionTestImpl( |
128 extension_name, "", kFlagIgnoreManifestWarnings); | 130 extension_name, std::string(), kFlagIgnoreManifestWarnings); |
129 } | 131 } |
130 | 132 |
131 bool ExtensionApiTest::RunExtensionTestAllowOldManifestVersion( | 133 bool ExtensionApiTest::RunExtensionTestAllowOldManifestVersion( |
132 const char* extension_name) { | 134 const char* extension_name) { |
133 return RunExtensionTestImpl( | 135 return RunExtensionTestImpl( |
134 extension_name, | 136 extension_name, |
135 "", | 137 std::string(), |
136 kFlagEnableFileAccess | kFlagAllowOldManifestVersions); | 138 kFlagEnableFileAccess | kFlagAllowOldManifestVersions); |
137 } | 139 } |
138 | 140 |
139 bool ExtensionApiTest::RunComponentExtensionTest(const char* extension_name) { | 141 bool ExtensionApiTest::RunComponentExtensionTest(const char* extension_name) { |
140 return RunExtensionTestImpl( | 142 return RunExtensionTestImpl(extension_name, |
141 extension_name, "", kFlagEnableFileAccess | kFlagLoadAsComponent); | 143 std::string(), |
| 144 kFlagEnableFileAccess | kFlagLoadAsComponent); |
142 } | 145 } |
143 | 146 |
144 bool ExtensionApiTest::RunExtensionTestNoFileAccess( | 147 bool ExtensionApiTest::RunExtensionTestNoFileAccess( |
145 const char* extension_name) { | 148 const char* extension_name) { |
146 return RunExtensionTestImpl(extension_name, "", kFlagNone); | 149 return RunExtensionTestImpl(extension_name, std::string(), kFlagNone); |
147 } | 150 } |
148 | 151 |
149 bool ExtensionApiTest::RunExtensionTestIncognitoNoFileAccess( | 152 bool ExtensionApiTest::RunExtensionTestIncognitoNoFileAccess( |
150 const char* extension_name) { | 153 const char* extension_name) { |
151 return RunExtensionTestImpl(extension_name, "", kFlagEnableIncognito); | 154 return RunExtensionTestImpl( |
| 155 extension_name, std::string(), kFlagEnableIncognito); |
152 } | 156 } |
153 | 157 |
154 bool ExtensionApiTest::RunExtensionSubtest(const char* extension_name, | 158 bool ExtensionApiTest::RunExtensionSubtest(const char* extension_name, |
155 const std::string& page_url) { | 159 const std::string& page_url) { |
156 return RunExtensionSubtest(extension_name, page_url, kFlagEnableFileAccess); | 160 return RunExtensionSubtest(extension_name, page_url, kFlagEnableFileAccess); |
157 } | 161 } |
158 | 162 |
159 bool ExtensionApiTest::RunExtensionSubtest(const char* extension_name, | 163 bool ExtensionApiTest::RunExtensionSubtest(const char* extension_name, |
160 const std::string& page_url, | 164 const std::string& page_url, |
161 int flags) { | 165 int flags) { |
162 DCHECK(!page_url.empty()) << "Argument page_url is required."; | 166 DCHECK(!page_url.empty()) << "Argument page_url is required."; |
163 return RunExtensionTestImpl(extension_name, page_url, flags); | 167 return RunExtensionTestImpl(extension_name, page_url, flags); |
164 } | 168 } |
165 | 169 |
166 | 170 |
167 bool ExtensionApiTest::RunPageTest(const std::string& page_url) { | 171 bool ExtensionApiTest::RunPageTest(const std::string& page_url) { |
168 return RunExtensionSubtest("", page_url); | 172 return RunExtensionSubtest("", page_url); |
169 } | 173 } |
170 | 174 |
171 bool ExtensionApiTest::RunPageTest(const std::string& page_url, | 175 bool ExtensionApiTest::RunPageTest(const std::string& page_url, |
172 int flags) { | 176 int flags) { |
173 return RunExtensionSubtest("", page_url, flags); | 177 return RunExtensionSubtest("", page_url, flags); |
174 } | 178 } |
175 | 179 |
176 bool ExtensionApiTest::RunPlatformAppTest(const char* extension_name) { | 180 bool ExtensionApiTest::RunPlatformAppTest(const char* extension_name) { |
177 return RunExtensionTestImpl(extension_name, "", kFlagLaunchPlatformApp); | 181 return RunExtensionTestImpl( |
| 182 extension_name, std::string(), kFlagLaunchPlatformApp); |
178 } | 183 } |
179 | 184 |
180 // Load |extension_name| extension and/or |page_url| and wait for | 185 // Load |extension_name| extension and/or |page_url| and wait for |
181 // PASSED or FAILED notification. | 186 // PASSED or FAILED notification. |
182 bool ExtensionApiTest::RunExtensionTestImpl(const char* extension_name, | 187 bool ExtensionApiTest::RunExtensionTestImpl(const char* extension_name, |
183 const std::string& page_url, | 188 const std::string& page_url, |
184 int flags) { | 189 int flags) { |
185 bool load_as_component = (flags & kFlagLoadAsComponent) != 0; | 190 bool load_as_component = (flags & kFlagLoadAsComponent) != 0; |
186 bool launch_platform_app = (flags & kFlagLaunchPlatformApp) != 0; | 191 bool launch_platform_app = (flags & kFlagLaunchPlatformApp) != 0; |
187 bool use_incognito = (flags & kFlagUseIncognito) != 0; | 192 bool use_incognito = (flags & kFlagUseIncognito) != 0; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 test_config_->SetInteger(kTestWebSocketPort, | 312 test_config_->SetInteger(kTestWebSocketPort, |
308 websocket_server_->host_port_pair().port()); | 313 websocket_server_->host_port_pair().port()); |
309 | 314 |
310 return true; | 315 return true; |
311 } | 316 } |
312 | 317 |
313 void ExtensionApiTest::SetUpCommandLine(CommandLine* command_line) { | 318 void ExtensionApiTest::SetUpCommandLine(CommandLine* command_line) { |
314 ExtensionBrowserTest::SetUpCommandLine(command_line); | 319 ExtensionBrowserTest::SetUpCommandLine(command_line); |
315 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); | 320 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); |
316 } | 321 } |
OLD | NEW |