Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: chrome/common/origin_trials/chrome_origin_trial_policy_unittest.cc

Issue 1741783002: Add disabled origin trial feature list (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ef-finch
Patch Set: Rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/common/origin_trials/chrome_origin_trial_policy.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/common/origin_trials/chrome_origin_trial_policy.h" 5 #include "chrome/common/origin_trials/chrome_origin_trial_policy.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 10 matching lines...) Expand all
21 const char kTestPublicKeyString[] = 21 const char kTestPublicKeyString[] =
22 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNA="; 22 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNA=";
23 const char kBadEncodingPublicKeyString[] = "Not even base64!"; 23 const char kBadEncodingPublicKeyString[] = "Not even base64!";
24 // Base64-encoded, 31 bytes long 24 // Base64-encoded, 31 bytes long
25 const char kTooShortPublicKeyString[] = 25 const char kTooShortPublicKeyString[] =
26 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BN=="; 26 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BN==";
27 // Base64-encoded, 33 bytes long 27 // Base64-encoded, 33 bytes long
28 const char kTooLongPublicKeyString[] = 28 const char kTooLongPublicKeyString[] =
29 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNAA"; 29 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNAA";
30 30
31 const char kOneDisabledFeature[] = "A";
32 const char kTwoDisabledFeatures[] = "A|B";
33 const char kThreeDisabledFeatures[] = "A|B|C";
34 const char kSpacesInDisabledFeatures[] = "A|B C";
35
31 class ChromeOriginTrialPolicyTest : public testing::Test { 36 class ChromeOriginTrialPolicyTest : public testing::Test {
32 protected: 37 protected:
33 ChromeOriginTrialPolicyTest() 38 ChromeOriginTrialPolicyTest()
34 : manager_(base::WrapUnique(new ChromeOriginTrialPolicy())), 39 : manager_(base::WrapUnique(new ChromeOriginTrialPolicy())),
35 default_key_(manager_->GetPublicKey().as_string()), 40 default_key_(manager_->GetPublicKey().as_string()),
36 test_key_(std::string(reinterpret_cast<const char*>(kTestPublicKey), 41 test_key_(std::string(reinterpret_cast<const char*>(kTestPublicKey),
37 arraysize(kTestPublicKey))) {} 42 arraysize(kTestPublicKey))) {}
38 ChromeOriginTrialPolicy* manager() { return manager_.get(); } 43 ChromeOriginTrialPolicy* manager() { return manager_.get(); }
39 base::StringPiece default_key() { return default_key_; } 44 base::StringPiece default_key() { return default_key_; }
40 base::StringPiece test_key() { return test_key_; } 45 base::StringPiece test_key() { return test_key_; }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyTooShort) { 78 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyTooShort) {
74 EXPECT_FALSE( 79 EXPECT_FALSE(
75 manager()->SetPublicKeyFromASCIIString(kTooShortPublicKeyString)); 80 manager()->SetPublicKeyFromASCIIString(kTooShortPublicKeyString));
76 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 81 EXPECT_EQ(default_key(), manager()->GetPublicKey());
77 } 82 }
78 83
79 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyTooLong) { 84 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyTooLong) {
80 EXPECT_FALSE(manager()->SetPublicKeyFromASCIIString(kTooLongPublicKeyString)); 85 EXPECT_FALSE(manager()->SetPublicKeyFromASCIIString(kTooLongPublicKeyString));
81 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 86 EXPECT_EQ(default_key(), manager()->GetPublicKey());
82 } 87 }
88
89 TEST_F(ChromeOriginTrialPolicyTest, NoDisabledFeatures) {
90 EXPECT_FALSE(manager()->IsFeatureDisabled("A"));
91 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
92 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
93 }
94
95 TEST_F(ChromeOriginTrialPolicyTest, DisableOneFeature) {
96 EXPECT_TRUE(manager()->SetDisabledFeatures(kOneDisabledFeature));
97 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
98 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
99 }
100
101 TEST_F(ChromeOriginTrialPolicyTest, DisableTwoFeatures) {
102 EXPECT_TRUE(manager()->SetDisabledFeatures(kTwoDisabledFeatures));
103 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
104 EXPECT_TRUE(manager()->IsFeatureDisabled("B"));
105 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
106 }
107
108 TEST_F(ChromeOriginTrialPolicyTest, DisableThreeFeatures) {
109 EXPECT_TRUE(manager()->SetDisabledFeatures(kThreeDisabledFeatures));
110 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
111 EXPECT_TRUE(manager()->IsFeatureDisabled("B"));
112 EXPECT_TRUE(manager()->IsFeatureDisabled("C"));
113 }
114
115 TEST_F(ChromeOriginTrialPolicyTest, DisableFeatureWithSpace) {
116 EXPECT_TRUE(manager()->SetDisabledFeatures(kSpacesInDisabledFeatures));
117 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
118 EXPECT_TRUE(manager()->IsFeatureDisabled("B C"));
119 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
120 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
121 }
OLDNEW
« no previous file with comments | « chrome/common/origin_trials/chrome_origin_trial_policy.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698