| 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/api/record/record_api.h" | 5 #include "chrome/browser/extensions/api/record/record_api.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/memory/ref_counted.h" | |
| 10 #include "base/file_path.h" | 9 #include "base/file_path.h" |
| 11 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| 11 #include "base/memory/ref_counted.h" |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/path_service.h" | 13 #include "base/path_service.h" |
| 14 #include "base/string_split.h" | 14 #include "base/string_split.h" |
| 15 #include "base/string_util.h" |
| 15 #include "base/stringprintf.h" | 16 #include "base/stringprintf.h" |
| 16 #include "base/string_util.h" | |
| 17 #include "base/threading/sequenced_worker_pool.h" | 17 #include "base/threading/sequenced_worker_pool.h" |
| 18 #include "base/values.h" | 18 #include "base/values.h" |
| 19 #include "chrome/browser/extensions/extension_function_test_utils.h" | 19 #include "chrome/browser/extensions/extension_function_test_utils.h" |
| 20 #include "chrome/browser/ui/browser.h" | 20 #include "chrome/browser/ui/browser.h" |
| 21 #include "chrome/browser/ui/browser_window.h" | 21 #include "chrome/browser/ui/browser_window.h" |
| 22 #include "chrome/common/chrome_paths.h" | 22 #include "chrome/common/chrome_paths.h" |
| 23 #include "chrome/common/chrome_switches.h" | 23 #include "chrome/common/chrome_switches.h" |
| 24 #include "chrome/common/extensions/api/experimental_record.h" | 24 #include "chrome/common/extensions/api/experimental_record.h" |
| 25 #include "chrome/test/base/in_process_browser_test.h" | 25 #include "chrome/test/base/in_process_browser_test.h" |
| 26 #include "chrome/test/base/ui_test_utils.h" | 26 #include "chrome/test/base/ui_test_utils.h" |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 && strategy.GetVisitedURLs()[1].compare(goodURL3) == 0); | 263 && strategy.GetVisitedURLs()[1].compare(goodURL3) == 0); |
| 264 */ | 264 */ |
| 265 | 265 |
| 266 return true; | 266 return true; |
| 267 } | 267 } |
| 268 | 268 |
| 269 protected: | 269 protected: |
| 270 std::vector<FilePath> temp_files_; | 270 std::vector<FilePath> temp_files_; |
| 271 | 271 |
| 272 private: | 272 private: |
| 273 ScopedTempDir scoped_temp_user_data_dir_; | 273 base::ScopedTempDir scoped_temp_user_data_dir_; |
| 274 | 274 |
| 275 DISALLOW_COPY_AND_ASSIGN(RecordApiTest); | 275 DISALLOW_COPY_AND_ASSIGN(RecordApiTest); |
| 276 }; | 276 }; |
| 277 | 277 |
| 278 | 278 |
| 279 IN_PROC_BROWSER_TEST_F(RecordApiTest, CheckCapture) { | 279 IN_PROC_BROWSER_TEST_F(RecordApiTest, CheckCapture) { |
| 280 ScopedTempDir user_data_dir; | 280 base::ScopedTempDir user_data_dir; |
| 281 scoped_ptr<base::ListValue> result; | 281 scoped_ptr<base::ListValue> result; |
| 282 | 282 |
| 283 EXPECT_TRUE(user_data_dir.CreateUniqueTempDir()); | 283 EXPECT_TRUE(user_data_dir.CreateUniqueTempDir()); |
| 284 scoped_refptr<CaptureURLsFunction> capture_URLs_function = | 284 scoped_refptr<CaptureURLsFunction> capture_URLs_function = |
| 285 RunCapture(user_data_dir.path(), &result); | 285 RunCapture(user_data_dir.path(), &result); |
| 286 | 286 |
| 287 // Check that user-data-dir switch has been properly overridden. | 287 // Check that user-data-dir switch has been properly overridden. |
| 288 const TestProcessStrategy &strategy = | 288 const TestProcessStrategy &strategy = |
| 289 static_cast<const TestProcessStrategy &>( | 289 static_cast<const TestProcessStrategy &>( |
| 290 capture_URLs_function->GetProcessStrategy()); | 290 capture_URLs_function->GetProcessStrategy()); |
| 291 const CommandLine& command_line = strategy.GetCommandLine(); | 291 const CommandLine& command_line = strategy.GetCommandLine(); |
| 292 | 292 |
| 293 EXPECT_TRUE(command_line.HasSwitch(switches::kUserDataDir)); | 293 EXPECT_TRUE(command_line.HasSwitch(switches::kUserDataDir)); |
| 294 EXPECT_TRUE(command_line.GetSwitchValuePath(switches::kUserDataDir) != | 294 EXPECT_TRUE(command_line.GetSwitchValuePath(switches::kUserDataDir) != |
| 295 FilePath(kDummyDirName)); | 295 FilePath(kDummyDirName)); |
| 296 | 296 |
| 297 EXPECT_TRUE(VerifyURLHandling(result.get(), strategy)); | 297 EXPECT_TRUE(VerifyURLHandling(result.get(), strategy)); |
| 298 } | 298 } |
| 299 | 299 |
| 300 #if defined(ADDRESS_SANITIZER) | 300 #if defined(ADDRESS_SANITIZER) |
| 301 // Times out under ASan, see http://crbug.com/130267. | 301 // Times out under ASan, see http://crbug.com/130267. |
| 302 #define MAYBE_CheckPlayback DISABLED_CheckPlayback | 302 #define MAYBE_CheckPlayback DISABLED_CheckPlayback |
| 303 #else | 303 #else |
| 304 #define MAYBE_CheckPlayback CheckPlayback | 304 #define MAYBE_CheckPlayback CheckPlayback |
| 305 #endif | 305 #endif |
| 306 IN_PROC_BROWSER_TEST_F(RecordApiTest, MAYBE_CheckPlayback) { | 306 IN_PROC_BROWSER_TEST_F(RecordApiTest, MAYBE_CheckPlayback) { |
| 307 ScopedTempDir user_data_dir; | 307 base::ScopedTempDir user_data_dir; |
| 308 | 308 |
| 309 EXPECT_TRUE(user_data_dir.CreateUniqueTempDir()); | 309 EXPECT_TRUE(user_data_dir.CreateUniqueTempDir()); |
| 310 | 310 |
| 311 // Assume this RunCapture operates w/o error, since it's tested | 311 // Assume this RunCapture operates w/o error, since it's tested |
| 312 // elsewhere. | 312 // elsewhere. |
| 313 scoped_ptr<base::ListValue> capture_result; | 313 scoped_ptr<base::ListValue> capture_result; |
| 314 RunCapture(user_data_dir.path(), &capture_result); | 314 RunCapture(user_data_dir.path(), &capture_result); |
| 315 | 315 |
| 316 std::string escaped_user_data_dir; | 316 std::string escaped_user_data_dir; |
| 317 ReplaceChars(user_data_dir.path().AsUTF8Unsafe(), "\\", "\\\\", | 317 ReplaceChars(user_data_dir.path().AsUTF8Unsafe(), "\\", "\\\\", |
| (...skipping 25 matching lines...) Expand all Loading... |
| 343 | 343 |
| 344 // Check for return value with proper stats. | 344 // Check for return value with proper stats. |
| 345 EXPECT_EQ(kTestStatistics, utils::GetString(result.get(), kStatsKey)); | 345 EXPECT_EQ(kTestStatistics, utils::GetString(result.get(), kStatsKey)); |
| 346 | 346 |
| 347 ListValue* errors = NULL; | 347 ListValue* errors = NULL; |
| 348 EXPECT_TRUE(result->GetList(kErrorsKey, &errors)); | 348 EXPECT_TRUE(result->GetList(kErrorsKey, &errors)); |
| 349 EXPECT_TRUE(VerifyURLHandling(errors, strategy)); | 349 EXPECT_TRUE(VerifyURLHandling(errors, strategy)); |
| 350 } | 350 } |
| 351 | 351 |
| 352 } // namespace extensions | 352 } // namespace extensions |
| OLD | NEW |