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 3 // found in the LICENSE file. 4 5 #include "base/strings/utf_string_conversions.h" 6 #include "chrome/browser/profiles/profile.h" 7 #include "chrome/browser/sync/about_sync_util.h" 8 #include "chrome/browser/sync/profile_sync_service_mock.h" 9 #include "content/public/test/test_browser_thread.h" 10 #include "testing/gmock/include/gmock/gmock.h" 11 #include "testing/gtest/include/gtest/gtest.h" 12 13 using ::testing::NiceMock; 14 using ::testing::Return; 15 using ::testing::_; 16 using content::BrowserThread; 17 18 namespace sync_ui_util { 19 namespace { 20 TEST(SyncUIUtilTestAbout,ConstructAboutInformationWithUnrecoverableErrorTest)21TEST(SyncUIUtilTestAbout, ConstructAboutInformationWithUnrecoverableErrorTest) { 22 base::MessageLoopForUI message_loop; 23 content::TestBrowserThread ui_thread(BrowserThread::UI, &message_loop); 24 scoped_ptr<Profile> profile( 25 ProfileSyncServiceMock::MakeSignedInTestingProfile()); 26 NiceMock<ProfileSyncServiceMock> service(profile.get()); 27 28 // Will be released when the dictionary is destroyed 29 base::string16 str(ASCIIToUTF16("none")); 30 31 browser_sync::SyncBackendHost::Status status; 32 33 EXPECT_CALL(service, HasSyncSetupCompleted()) 34 .WillOnce(Return(true)); 35 EXPECT_CALL(service, QueryDetailedSyncStatus(_)) 36 .WillOnce(Return(false)); 37 38 EXPECT_CALL(service, HasUnrecoverableError()) 39 .WillRepeatedly(Return(true)); 40 41 EXPECT_CALL(service, GetLastSyncedTimeString()) 42 .WillOnce(Return(str)); 43 44 scoped_ptr<DictionaryValue> strings(ConstructAboutInformation(&service)); 45 46 EXPECT_TRUE(strings->HasKey("unrecoverable_error_detected")); 47 } 48 49 } // namespace 50 } // namespace sync_ui_util 51