| Index: chrome/browser/search/one_google_bar/one_google_bar_service_unittest.cc
|
| diff --git a/chrome/browser/search/one_google_bar/one_google_bar_service_unittest.cc b/chrome/browser/search/one_google_bar/one_google_bar_service_unittest.cc
|
| index a4cfe20003fdac2fca1e7ad180cabe818efc5fe2..dbaa0c32eed0c8a0e8a14f80e55fb449f2f75dd2 100644
|
| --- a/chrome/browser/search/one_google_bar/one_google_bar_service_unittest.cc
|
| +++ b/chrome/browser/search/one_google_bar/one_google_bar_service_unittest.cc
|
| @@ -22,6 +22,7 @@
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| using testing::Eq;
|
| +using testing::InSequence;
|
| using testing::StrictMock;
|
|
|
| class FakeOneGoogleBarFetcher : public OneGoogleBarFetcher {
|
| @@ -46,6 +47,7 @@ class FakeOneGoogleBarFetcher : public OneGoogleBarFetcher {
|
| class MockOneGoogleBarServiceObserver : public OneGoogleBarServiceObserver {
|
| public:
|
| MOCK_METHOD0(OnOneGoogleBarDataChanged, void());
|
| + MOCK_METHOD0(OnOneGoogleBarFetchFailed, void());
|
| };
|
|
|
| class OneGoogleBarServiceTest : public testing::Test {
|
| @@ -105,14 +107,18 @@ TEST_F(OneGoogleBarServiceTest, RefreshesOnRequest) {
|
| }
|
|
|
| TEST_F(OneGoogleBarServiceTest, NotifiesObserverOnChanges) {
|
| + InSequence s;
|
| +
|
| ASSERT_THAT(service()->one_google_bar_data(), Eq(base::nullopt));
|
|
|
| StrictMock<MockOneGoogleBarServiceObserver> observer;
|
| service()->AddObserver(&observer);
|
|
|
| - // Empty result from a fetch doesn't change anything (it's already empty), so
|
| - // should not result in a notification.
|
| + // Empty result from a fetch should result in a "fetch failed" notification.
|
| + // However, the actual data doesn't change anything (it's already empty), so
|
| + // it should not result in a "data changed".
|
| service()->Refresh();
|
| + EXPECT_CALL(observer, OnOneGoogleBarFetchFailed());
|
| fetcher()->RespondToAllCallbacks(base::nullopt);
|
|
|
| // Non-empty response should result in a notification.
|
| @@ -139,6 +145,7 @@ TEST_F(OneGoogleBarServiceTest, NotifiesObserverOnChanges) {
|
| // Finally, an empty response should result in a notification now.
|
| service()->Refresh();
|
| EXPECT_CALL(observer, OnOneGoogleBarDataChanged());
|
| + EXPECT_CALL(observer, OnOneGoogleBarFetchFailed());
|
| fetcher()->RespondToAllCallbacks(base::nullopt);
|
| EXPECT_THAT(service()->one_google_bar_data(), Eq(base::nullopt));
|
|
|
|
|