OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ui/passwords/password_bubble_experiment.h" | 5 #include "chrome/browser/ui/passwords/password_bubble_experiment.h" |
6 | 6 |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/metrics/field_trial.h" | 8 #include "base/metrics/field_trial.h" |
9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
11 #include "chrome/common/pref_names.h" | 11 #include "chrome/common/pref_names.h" |
12 #include "chrome/test/base/testing_profile.h" | 12 #include "chrome/test/base/testing_profile.h" |
13 #include "components/variations/entropy_provider.h" | 13 #include "components/variations/entropy_provider.h" |
14 #include "components/variations/variations_associated_data.h" | 14 #include "components/variations/variations_associated_data.h" |
| 15 #include "content/public/test/test_browser_thread_bundle.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
16 | 17 |
17 namespace { | 18 namespace { |
18 | 19 |
19 const char kGroupName[] = "SomeGroupName"; | 20 const char kGroupName[] = "SomeGroupName"; |
20 const int kNopeThreshold = 10; | 21 const int kNopeThreshold = 10; |
21 | 22 |
22 void SetupExperiment() { | 23 void SetupExperiment() { |
23 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 24 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
24 password_bubble_experiment::kExperimentName, | 25 password_bubble_experiment::kExperimentName, |
(...skipping 19 matching lines...) Expand all Loading... |
44 new metrics::SHA1EntropyProvider("foo"))); | 45 new metrics::SHA1EntropyProvider("foo"))); |
45 } | 46 } |
46 | 47 |
47 void TearDown() override { | 48 void TearDown() override { |
48 variations::testing::ClearAllVariationParams(); | 49 variations::testing::ClearAllVariationParams(); |
49 } | 50 } |
50 | 51 |
51 PrefService* prefs() { return profile_->GetPrefs(); } | 52 PrefService* prefs() { return profile_->GetPrefs(); } |
52 | 53 |
53 private: | 54 private: |
| 55 content::TestBrowserThreadBundle thread_bundle_; |
54 base::ScopedTempDir temp_dir_; | 56 base::ScopedTempDir temp_dir_; |
55 scoped_ptr<TestingProfile> profile_; | 57 scoped_ptr<TestingProfile> profile_; |
56 scoped_ptr<base::FieldTrialList> field_trial_list_; | 58 scoped_ptr<base::FieldTrialList> field_trial_list_; |
57 }; | 59 }; |
58 | 60 |
59 TEST_F(PasswordBubbleExperimentTest, NoExperiment) { | 61 TEST_F(PasswordBubbleExperimentTest, NoExperiment) { |
60 EXPECT_FALSE( | 62 EXPECT_FALSE( |
61 password_bubble_experiment::ShouldShowNeverForThisSiteDefault(prefs())); | 63 password_bubble_experiment::ShouldShowNeverForThisSiteDefault(prefs())); |
62 for (int i = 0; i <= kNopeThreshold; ++i) { | 64 for (int i = 0; i <= kNopeThreshold; ++i) { |
63 password_bubble_experiment::RecordBubbleClosed( | 65 password_bubble_experiment::RecordBubbleClosed( |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 password_bubble_experiment::ShouldShowNeverForThisSiteDefault(prefs())); | 109 password_bubble_experiment::ShouldShowNeverForThisSiteDefault(prefs())); |
108 // Repeatedly click "Never". It shouldn't affect the state. | 110 // Repeatedly click "Never". It shouldn't affect the state. |
109 for (int i = 0; i < kNopeThreshold; ++i) { | 111 for (int i = 0; i < kNopeThreshold; ++i) { |
110 password_manager::metrics_util::UIDismissalReason reason = | 112 password_manager::metrics_util::UIDismissalReason reason = |
111 password_manager::metrics_util::CLICKED_NEVER; | 113 password_manager::metrics_util::CLICKED_NEVER; |
112 password_bubble_experiment::RecordBubbleClosed(prefs(), reason); | 114 password_bubble_experiment::RecordBubbleClosed(prefs(), reason); |
113 } | 115 } |
114 EXPECT_TRUE( | 116 EXPECT_TRUE( |
115 password_bubble_experiment::ShouldShowNeverForThisSiteDefault(prefs())); | 117 password_bubble_experiment::ShouldShowNeverForThisSiteDefault(prefs())); |
116 } | 118 } |
OLD | NEW |