OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #import "ios/chrome/browser/ui/settings/privacy_collection_view_controller.h" | 5 #import "ios/chrome/browser/ui/settings/privacy_collection_view_controller.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/ios/ios_util.h" | 9 #include "base/ios/ios_util.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 #import "ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_med
iator.h" | 23 #import "ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_med
iator.h" |
24 #import "ios/chrome/browser/ui/settings/physical_web_collection_view_controller.
h" | 24 #import "ios/chrome/browser/ui/settings/physical_web_collection_view_controller.
h" |
25 #include "ios/chrome/grit/ios_chromium_strings.h" | 25 #include "ios/chrome/grit/ios_chromium_strings.h" |
26 #include "ios/chrome/grit/ios_strings.h" | 26 #include "ios/chrome/grit/ios_strings.h" |
27 #include "ios/chrome/test/ios_chrome_scoped_testing_local_state.h" | 27 #include "ios/chrome/test/ios_chrome_scoped_testing_local_state.h" |
28 #include "ios/web/public/test/test_web_thread_bundle.h" | 28 #include "ios/web/public/test/test_web_thread_bundle.h" |
29 #include "ios/web/public/web_capabilities.h" | 29 #include "ios/web/public/web_capabilities.h" |
30 #include "testing/gtest/include/gtest/gtest.h" | 30 #include "testing/gtest/include/gtest/gtest.h" |
31 #include "ui/base/l10n/l10n_util.h" | 31 #include "ui/base/l10n/l10n_util.h" |
32 | 32 |
| 33 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 34 #error "This file requires ARC support." |
| 35 #endif |
| 36 |
33 namespace { | 37 namespace { |
34 | 38 |
35 NSString* const kSpdyProxyEnabled = @"SpdyProxyEnabled"; | 39 NSString* const kSpdyProxyEnabled = @"SpdyProxyEnabled"; |
36 | 40 |
37 class PrivacyCollectionViewControllerTest | 41 class PrivacyCollectionViewControllerTest |
38 : public CollectionViewControllerTest { | 42 : public CollectionViewControllerTest { |
39 protected: | 43 protected: |
40 void SetUp() override { | 44 void SetUp() override { |
41 CollectionViewControllerTest::SetUp(); | 45 CollectionViewControllerTest::SetUp(); |
42 TestChromeBrowserState::Builder test_cbs_builder; | 46 TestChromeBrowserState::Builder test_cbs_builder; |
43 test_cbs_builder.SetPrefService(CreatePrefService()); | 47 test_cbs_builder.SetPrefService(CreatePrefService()); |
44 chrome_browser_state_ = test_cbs_builder.Build(); | 48 chrome_browser_state_ = test_cbs_builder.Build(); |
45 | 49 |
46 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; | 50 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; |
47 initialValueForSpdyProxyEnabled_.reset( | 51 initialValueForSpdyProxyEnabled_ = |
48 [[defaults valueForKey:kSpdyProxyEnabled] copy]); | 52 [[defaults valueForKey:kSpdyProxyEnabled] copy]; |
49 [defaults setValue:@"Disabled" forKey:kSpdyProxyEnabled]; | 53 [defaults setValue:@"Disabled" forKey:kSpdyProxyEnabled]; |
50 CreateController(); | 54 CreateController(); |
51 } | 55 } |
52 | 56 |
53 void TearDown() override { | 57 void TearDown() override { |
54 if (initialValueForSpdyProxyEnabled_) { | 58 if (initialValueForSpdyProxyEnabled_) { |
55 [[NSUserDefaults standardUserDefaults] | 59 [[NSUserDefaults standardUserDefaults] |
56 setObject:initialValueForSpdyProxyEnabled_.get() | 60 setObject:initialValueForSpdyProxyEnabled_ |
57 forKey:kSpdyProxyEnabled]; | 61 forKey:kSpdyProxyEnabled]; |
58 } else { | 62 } else { |
59 [[NSUserDefaults standardUserDefaults] | 63 [[NSUserDefaults standardUserDefaults] |
60 removeObjectForKey:kSpdyProxyEnabled]; | 64 removeObjectForKey:kSpdyProxyEnabled]; |
61 } | 65 } |
62 CollectionViewControllerTest::TearDown(); | 66 CollectionViewControllerTest::TearDown(); |
63 } | 67 } |
64 | 68 |
65 // Makes a PrefService to be used by the test. | 69 // Makes a PrefService to be used by the test. |
66 std::unique_ptr<sync_preferences::PrefServiceSyncable> CreatePrefService() { | 70 std::unique_ptr<sync_preferences::PrefServiceSyncable> CreatePrefService() { |
67 scoped_refptr<user_prefs::PrefRegistrySyncable> registry( | 71 scoped_refptr<user_prefs::PrefRegistrySyncable> registry( |
68 new user_prefs::PrefRegistrySyncable); | 72 new user_prefs::PrefRegistrySyncable); |
69 RegisterBrowserStatePrefs(registry.get()); | 73 RegisterBrowserStatePrefs(registry.get()); |
70 sync_preferences::PrefServiceMockFactory factory; | 74 sync_preferences::PrefServiceMockFactory factory; |
71 return factory.CreateSyncable(registry.get()); | 75 return factory.CreateSyncable(registry.get()); |
72 } | 76 } |
73 | 77 |
74 CollectionViewController* NewController() override { | 78 CollectionViewController* InstantiateController() override { |
75 return [[PrivacyCollectionViewController alloc] | 79 return [[PrivacyCollectionViewController alloc] |
76 initWithBrowserState:chrome_browser_state_.get()]; | 80 initWithBrowserState:chrome_browser_state_.get()]; |
77 } | 81 } |
78 | 82 |
79 web::TestWebThreadBundle thread_bundle_; | 83 web::TestWebThreadBundle thread_bundle_; |
80 IOSChromeScopedTestingLocalState local_state_; | 84 IOSChromeScopedTestingLocalState local_state_; |
81 std::unique_ptr<TestChromeBrowserState> chrome_browser_state_; | 85 std::unique_ptr<TestChromeBrowserState> chrome_browser_state_; |
82 base::scoped_nsobject<NSString> initialValueForSpdyProxyEnabled_; | 86 NSString* initialValueForSpdyProxyEnabled_; |
83 }; | 87 }; |
84 | 88 |
85 // Tests PrivacyCollectionViewController is set up with all appropriate items | 89 // Tests PrivacyCollectionViewController is set up with all appropriate items |
86 // and sections. | 90 // and sections. |
87 TEST_F(PrivacyCollectionViewControllerTest, TestModel) { | 91 TEST_F(PrivacyCollectionViewControllerTest, TestModel) { |
88 CheckController(); | 92 CheckController(); |
89 EXPECT_EQ(4, NumberOfSections()); | 93 EXPECT_EQ(4, NumberOfSections()); |
90 | 94 |
91 int sectionIndex = 0; | 95 int sectionIndex = 0; |
92 EXPECT_EQ(1, NumberOfItemsInSection(sectionIndex)); | 96 EXPECT_EQ(1, NumberOfItemsInSection(sectionIndex)); |
(...skipping 11 matching lines...) Expand all Loading... |
104 | 108 |
105 if ([TouchToSearchPermissionsMediator isTouchToSearchAvailableOnDevice]) | 109 if ([TouchToSearchPermissionsMediator isTouchToSearchAvailableOnDevice]) |
106 expectedRows++; | 110 expectedRows++; |
107 if (web::IsDoNotTrackSupported()) | 111 if (web::IsDoNotTrackSupported()) |
108 expectedRows++; | 112 expectedRows++; |
109 if (experimental_flags::IsPhysicalWebEnabled()) | 113 if (experimental_flags::IsPhysicalWebEnabled()) |
110 expectedRows++; | 114 expectedRows++; |
111 EXPECT_EQ(expectedRows, NumberOfItemsInSection(sectionIndex)); | 115 EXPECT_EQ(expectedRows, NumberOfItemsInSection(sectionIndex)); |
112 | 116 |
113 CheckSectionHeaderWithId(IDS_IOS_OPTIONS_WEB_SERVICES_LABEL, sectionIndex); | 117 CheckSectionHeaderWithId(IDS_IOS_OPTIONS_WEB_SERVICES_LABEL, sectionIndex); |
114 base::scoped_nsobject<TouchToSearchPermissionsMediator> | 118 TouchToSearchPermissionsMediator* touchToSearchPermissions = |
115 touchToSearchPermissions([[TouchToSearchPermissionsMediator alloc] | 119 [[TouchToSearchPermissionsMediator alloc] |
116 initWithBrowserState:chrome_browser_state_.get()]); | 120 initWithBrowserState:chrome_browser_state_.get()]; |
117 NSString* contextualSearchSubtitle = | 121 NSString* contextualSearchSubtitle = |
118 ([touchToSearchPermissions preferenceState] == TouchToSearch::DISABLED) | 122 ([touchToSearchPermissions preferenceState] == TouchToSearch::DISABLED) |
119 ? l10n_util::GetNSString(IDS_IOS_SETTING_ON) | 123 ? l10n_util::GetNSString(IDS_IOS_SETTING_ON) |
120 : l10n_util::GetNSString(IDS_IOS_SETTING_OFF); | 124 : l10n_util::GetNSString(IDS_IOS_SETTING_OFF); |
121 int row = 0; | 125 int row = 0; |
122 | 126 |
123 CheckSwitchCellStateAndTitleWithId( | 127 CheckSwitchCellStateAndTitleWithId( |
124 YES, IDS_IOS_OPTIONS_SEARCH_URL_SUGGESTIONS, sectionIndex, row++); | 128 YES, IDS_IOS_OPTIONS_SEARCH_URL_SUGGESTIONS, sectionIndex, row++); |
125 | 129 |
126 if ([TouchToSearchPermissionsMediator isTouchToSearchAvailableOnDevice]) { | 130 if ([TouchToSearchPermissionsMediator isTouchToSearchAvailableOnDevice]) { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 EXPECT_EQ(1, NumberOfItemsInSection(sectionIndex)); | 164 EXPECT_EQ(1, NumberOfItemsInSection(sectionIndex)); |
161 CheckSectionFooterWithId(IDS_IOS_OPTIONS_PRIVACY_FOOTER, sectionIndex); | 165 CheckSectionFooterWithId(IDS_IOS_OPTIONS_PRIVACY_FOOTER, sectionIndex); |
162 | 166 |
163 sectionIndex++; | 167 sectionIndex++; |
164 EXPECT_EQ(1, NumberOfItemsInSection(sectionIndex)); | 168 EXPECT_EQ(1, NumberOfItemsInSection(sectionIndex)); |
165 CheckTextCellTitle(l10n_util::GetNSString(IDS_IOS_CLEAR_BROWSING_DATA_TITLE), | 169 CheckTextCellTitle(l10n_util::GetNSString(IDS_IOS_CLEAR_BROWSING_DATA_TITLE), |
166 sectionIndex, 0); | 170 sectionIndex, 0); |
167 } | 171 } |
168 | 172 |
169 } // namespace | 173 } // namespace |
OLD | NEW |