OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/developer_private/developer_private_api.
h" | 5 #include "chrome/browser/extensions/api/developer_private/developer_private_api.
h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 | 399 |
400 path = data_dir().AppendASCII("empty_manifest"); | 400 path = data_dir().AppendASCII("empty_manifest"); |
401 api::EntryPicker::SkipPickerAndAlwaysSelectPathForTest(&path); | 401 api::EntryPicker::SkipPickerAndAlwaysSelectPathForTest(&path); |
402 | 402 |
403 // Try loading a bad extension (it should fail, and we should get an error). | 403 // Try loading a bad extension (it should fail, and we should get an error). |
404 function = new api::DeveloperPrivateLoadUnpackedFunction(); | 404 function = new api::DeveloperPrivateLoadUnpackedFunction(); |
405 function->SetRenderFrameHost(web_contents->GetMainFrame()); | 405 function->SetRenderFrameHost(web_contents->GetMainFrame()); |
406 base::ListValue unpacked_args; | 406 base::ListValue unpacked_args; |
407 std::unique_ptr<base::DictionaryValue> options(new base::DictionaryValue()); | 407 std::unique_ptr<base::DictionaryValue> options(new base::DictionaryValue()); |
408 options->SetBoolean("failQuietly", true); | 408 options->SetBoolean("failQuietly", true); |
409 unpacked_args.Append(options.release()); | 409 unpacked_args.Append(std::move(options)); |
410 current_ids = registry()->enabled_extensions().GetIDs(); | 410 current_ids = registry()->enabled_extensions().GetIDs(); |
411 EXPECT_FALSE(RunFunction(function, unpacked_args)); | 411 EXPECT_FALSE(RunFunction(function, unpacked_args)); |
412 EXPECT_EQ(manifest_errors::kManifestUnreadable, function->GetError()); | 412 EXPECT_EQ(manifest_errors::kManifestUnreadable, function->GetError()); |
413 // We should have no new extensions installed. | 413 // We should have no new extensions installed. |
414 EXPECT_EQ(0u, base::STLSetDifference<ExtensionIdSet>( | 414 EXPECT_EQ(0u, base::STLSetDifference<ExtensionIdSet>( |
415 registry()->enabled_extensions().GetIDs(), | 415 registry()->enabled_extensions().GetIDs(), |
416 current_ids).size()); | 416 current_ids).size()); |
417 } | 417 } |
418 | 418 |
419 // Test developerPrivate.requestFileSource. | 419 // Test developerPrivate.requestFileSource. |
420 TEST_F(DeveloperPrivateApiUnitTest, DeveloperPrivateRequestFileSource) { | 420 TEST_F(DeveloperPrivateApiUnitTest, DeveloperPrivateRequestFileSource) { |
421 // Testing of this function seems light, but that's because it basically just | 421 // Testing of this function seems light, but that's because it basically just |
422 // forwards to reading a file to a string, and highlighting it - both of which | 422 // forwards to reading a file to a string, and highlighting it - both of which |
423 // are already tested separately. | 423 // are already tested separately. |
424 const Extension* extension = LoadUnpackedExtension(); | 424 const Extension* extension = LoadUnpackedExtension(); |
425 const char kErrorMessage[] = "Something went wrong"; | 425 const char kErrorMessage[] = "Something went wrong"; |
426 api::developer_private::RequestFileSourceProperties properties; | 426 api::developer_private::RequestFileSourceProperties properties; |
427 properties.extension_id = extension->id(); | 427 properties.extension_id = extension->id(); |
428 properties.path_suffix = "manifest.json"; | 428 properties.path_suffix = "manifest.json"; |
429 properties.message = kErrorMessage; | 429 properties.message = kErrorMessage; |
430 properties.manifest_key.reset(new std::string("name")); | 430 properties.manifest_key.reset(new std::string("name")); |
431 | 431 |
432 scoped_refptr<UIThreadExtensionFunction> function( | 432 scoped_refptr<UIThreadExtensionFunction> function( |
433 new api::DeveloperPrivateRequestFileSourceFunction()); | 433 new api::DeveloperPrivateRequestFileSourceFunction()); |
434 base::ListValue file_source_args; | 434 base::ListValue file_source_args; |
435 file_source_args.Append(properties.ToValue().release()); | 435 file_source_args.Append(properties.ToValue()); |
436 EXPECT_TRUE(RunFunction(function, file_source_args)) << function->GetError(); | 436 EXPECT_TRUE(RunFunction(function, file_source_args)) << function->GetError(); |
437 | 437 |
438 const base::Value* response_value = nullptr; | 438 const base::Value* response_value = nullptr; |
439 ASSERT_TRUE(function->GetResultList()->Get(0u, &response_value)); | 439 ASSERT_TRUE(function->GetResultList()->Get(0u, &response_value)); |
440 std::unique_ptr<api::developer_private::RequestFileSourceResponse> response = | 440 std::unique_ptr<api::developer_private::RequestFileSourceResponse> response = |
441 api::developer_private::RequestFileSourceResponse::FromValue( | 441 api::developer_private::RequestFileSourceResponse::FromValue( |
442 *response_value); | 442 *response_value); |
443 EXPECT_FALSE(response->before_highlight.empty()); | 443 EXPECT_FALSE(response->before_highlight.empty()); |
444 EXPECT_EQ("\"name\": \"foo\"", response->highlight); | 444 EXPECT_EQ("\"name\": \"foo\"", response->highlight); |
445 EXPECT_FALSE(response->after_highlight.empty()); | 445 EXPECT_FALSE(response->after_highlight.empty()); |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
542 .Append( | 542 .Append( |
543 DictionaryBuilder().Set("extensionId", extension->id()).Build()) | 543 DictionaryBuilder().Set("extensionId", extension->id()).Build()) |
544 .Build(); | 544 .Build(); |
545 function = new api::DeveloperPrivateDeleteExtensionErrorsFunction(); | 545 function = new api::DeveloperPrivateDeleteExtensionErrorsFunction(); |
546 EXPECT_TRUE(RunFunction(function, *args)) << function->GetError(); | 546 EXPECT_TRUE(RunFunction(function, *args)) << function->GetError(); |
547 // No more errors! | 547 // No more errors! |
548 EXPECT_TRUE(error_console->GetErrorsForExtension(extension->id()).empty()); | 548 EXPECT_TRUE(error_console->GetErrorsForExtension(extension->id()).empty()); |
549 } | 549 } |
550 | 550 |
551 } // namespace extensions | 551 } // namespace extensions |
OLD | NEW |