| Index: extensions/browser/warning_service_unittest.cc
|
| diff --git a/extensions/browser/warning_service_unittest.cc b/extensions/browser/warning_service_unittest.cc
|
| index a7f132ecc3fb1f0cdb99867988631c8cba862e96..be5f8bccef864821a469dac0e20bd374ed5168ff 100644
|
| --- a/extensions/browser/warning_service_unittest.cc
|
| +++ b/extensions/browser/warning_service_unittest.cc
|
| @@ -30,17 +30,15 @@ class TestWarningService : public WarningService {
|
| class MockObserver : public WarningService::Observer {
|
| public:
|
| virtual ~MockObserver() {}
|
| - MOCK_METHOD0(ExtensionWarningsChanged, void());
|
| + MOCK_METHOD1(ExtensionWarningsChanged, void(const std::set<std::string>&));
|
| };
|
|
|
| typedef ExtensionsTest WarningServiceTest;
|
|
|
| const char* ext1_id = "extension1";
|
| const char* ext2_id = "extension2";
|
| -const Warning::WarningType warning_1 =
|
| - Warning::kNetworkDelay;
|
| -const Warning::WarningType warning_2 =
|
| - Warning::kNetworkConflict;
|
| +const Warning::WarningType warning_1 = Warning::kNetworkDelay;
|
| +const Warning::WarningType warning_2 = Warning::kNetworkConflict;
|
|
|
| } // namespace
|
|
|
| @@ -52,15 +50,16 @@ TEST_F(WarningServiceTest, SetWarning) {
|
| MockObserver observer;
|
| warning_service.AddObserver(&observer);
|
|
|
| + std::set<std::string> affected_extensions;
|
| + affected_extensions.insert(ext1_id);
|
| // Insert warning for the first time.
|
| - EXPECT_CALL(observer, ExtensionWarningsChanged());
|
| + EXPECT_CALL(observer, ExtensionWarningsChanged(affected_extensions));
|
| warning_service.AddWarning(
|
| Warning::CreateNetworkDelayWarning(ext1_id));
|
| testing::Mock::VerifyAndClearExpectations(&warning_service);
|
|
|
| // Second insertion of same warning does not trigger anything.
|
| - warning_service.AddWarning(
|
| - Warning::CreateNetworkDelayWarning(ext1_id));
|
| + warning_service.AddWarning(Warning::CreateNetworkDelayWarning(ext1_id));
|
| testing::Mock::VerifyAndClearExpectations(&warning_service);
|
|
|
| warning_service.RemoveObserver(&observer);
|
| @@ -75,7 +74,10 @@ TEST_F(WarningServiceTest, ClearWarnings) {
|
| warning_service.AddObserver(&observer);
|
|
|
| // Insert two unique warnings in one batch.
|
| - EXPECT_CALL(observer, ExtensionWarningsChanged());
|
| + std::set<std::string> affected_extensions;
|
| + affected_extensions.insert(ext1_id);
|
| + affected_extensions.insert(ext2_id);
|
| + EXPECT_CALL(observer, ExtensionWarningsChanged(affected_extensions));
|
| WarningSet warning_set;
|
| warning_set.insert(Warning::CreateNetworkDelayWarning(ext1_id));
|
| warning_set.insert(Warning::CreateNetworkConflictWarning(ext2_id));
|
| @@ -83,7 +85,9 @@ TEST_F(WarningServiceTest, ClearWarnings) {
|
| testing::Mock::VerifyAndClearExpectations(&warning_service);
|
|
|
| // Remove one warning and check that the badge remains.
|
| - EXPECT_CALL(observer, ExtensionWarningsChanged());
|
| + affected_extensions.clear();
|
| + affected_extensions.insert(ext2_id);
|
| + EXPECT_CALL(observer, ExtensionWarningsChanged(affected_extensions));
|
| std::set<Warning::WarningType> to_clear;
|
| to_clear.insert(warning_2);
|
| warning_service.ClearWarnings(to_clear);
|
| @@ -98,12 +102,14 @@ TEST_F(WarningServiceTest, ClearWarnings) {
|
| EXPECT_EQ(0u, existing_warnings.size());
|
|
|
| // Remove the other one warning.
|
| - EXPECT_CALL(observer, ExtensionWarningsChanged());
|
| + affected_extensions.clear();
|
| + affected_extensions.insert(ext1_id);
|
| + EXPECT_CALL(observer, ExtensionWarningsChanged(affected_extensions));
|
| to_clear.insert(warning_1);
|
| warning_service.ClearWarnings(to_clear);
|
| testing::Mock::VerifyAndClearExpectations(&warning_service);
|
|
|
| - // Check that not warnings remain.
|
| + // Check that no warnings remain.
|
| existing_warnings =
|
| warning_service.GetWarningTypesAffectingExtension(ext1_id);
|
| EXPECT_EQ(0u, existing_warnings.size());
|
|
|