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

Side by Side Diff: chrome/browser/safe_browsing/preference_validation_delegate_unittest.cc

Issue 332053005: Unit test for NULL values in preference validation delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/safe_browsing/preference_validation_delegate.h" 5 #include "chrome/browser/safe_browsing/preference_validation_delegate.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 value->SetInteger("forty-seven", 47); 116 value->SetInteger("forty-seven", 47);
117 return value.PassAs<Value>(); 117 return value.PassAs<Value>();
118 } 118 }
119 case Value::TYPE_LIST: { 119 case Value::TYPE_LIST: {
120 scoped_ptr<base::ListValue> value(new base::ListValue()); 120 scoped_ptr<base::ListValue> value(new base::ListValue());
121 value->AppendInteger(22); 121 value->AppendInteger(22);
122 value->AppendInteger(47); 122 value->AppendInteger(47);
123 return value.PassAs<Value>(); 123 return value.PassAs<Value>();
124 } 124 }
125 default: 125 default:
126 ADD_FAILURE() << "unsupported value type " << value_type; 126 // An unknown type means a NULL value.
gab 2014/06/16 15:51:41 Specifically put -1 in a constant and handle it ab
127 return scoped_ptr<Value>();
127 } 128 }
128 return scoped_ptr<Value>();
129 } 129 }
130 130
131 base::Value::Type value_type_; 131 base::Value::Type value_type_;
132 const char* expected_value_; 132 const char* expected_value_;
133 }; 133 };
134 134
135 TEST_P(PreferenceValidationDelegateValues, Value) { 135 TEST_P(PreferenceValidationDelegateValues, Value) {
136 instance_->OnAtomicPreferenceValidation(kPrefPath_, 136 instance_->OnAtomicPreferenceValidation(kPrefPath_,
137 MakeValue(value_type_).get(), 137 MakeValue(value_type_).get(),
138 PrefHashStoreTransaction::CLEARED, 138 PrefHashStoreTransaction::CLEARED,
139 TrackedPreferenceHelper::DONT_RESET); 139 TrackedPreferenceHelper::DONT_RESET);
140 safe_browsing::ClientIncidentReport_IncidentData* incident = 140 safe_browsing::ClientIncidentReport_IncidentData* incident =
141 incidents_.back(); 141 incidents_.back();
142 EXPECT_EQ(std::string(expected_value_), 142 if (!*expected_value_) {
gab 2014/06/16 15:51:41 This is a fairly obscure way to do "check that the
143 incident->tracked_preference().atomic_value()); 143 EXPECT_FALSE(incident->tracked_preference().has_atomic_value());
144 } else {
145 EXPECT_EQ(std::string(expected_value_),
146 incident->tracked_preference().atomic_value());
147 }
144 } 148 }
145 149
146 INSTANTIATE_TEST_CASE_P( 150 INSTANTIATE_TEST_CASE_P(
147 Values, 151 Values,
148 PreferenceValidationDelegateValues, 152 PreferenceValidationDelegateValues,
149 testing::Values( 153 testing::Values(
154 std::tr1::make_tuple(static_cast<base::Value::Type>(-1), ""),
gab 2014/06/16 15:51:41 "" and NULL value is not the same; I guess this is
150 std::tr1::make_tuple(base::Value::TYPE_NULL, "null"), 155 std::tr1::make_tuple(base::Value::TYPE_NULL, "null"),
151 std::tr1::make_tuple(base::Value::TYPE_BOOLEAN, "false"), 156 std::tr1::make_tuple(base::Value::TYPE_BOOLEAN, "false"),
152 std::tr1::make_tuple(base::Value::TYPE_INTEGER, "47"), 157 std::tr1::make_tuple(base::Value::TYPE_INTEGER, "47"),
153 std::tr1::make_tuple(base::Value::TYPE_DOUBLE, "0.47"), 158 std::tr1::make_tuple(base::Value::TYPE_DOUBLE, "0.47"),
154 std::tr1::make_tuple(base::Value::TYPE_STRING, "i have a spleen"), 159 std::tr1::make_tuple(base::Value::TYPE_STRING, "i have a spleen"),
155 std::tr1::make_tuple(base::Value::TYPE_DICTIONARY, 160 std::tr1::make_tuple(base::Value::TYPE_DICTIONARY,
156 "{\"forty-seven\":47,\"twenty-two\":22}"), 161 "{\"forty-seven\":47,\"twenty-two\":22}"),
157 std::tr1::make_tuple(base::Value::TYPE_LIST, "[22,47]"))); 162 std::tr1::make_tuple(base::Value::TYPE_LIST, "[22,47]")));
158 163
159 // Tests that no incidents are reported for relevant combinations of ValueState. 164 // Tests that no incidents are reported for relevant combinations of ValueState.
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 INSTANTIATE_TEST_CASE_P( 254 INSTANTIATE_TEST_CASE_P(
250 WithIncident, 255 WithIncident,
251 PreferenceValidationDelegateWithIncident, 256 PreferenceValidationDelegateWithIncident,
252 testing::Combine( 257 testing::Combine(
253 testing::Values(PrefHashStoreTransaction::CLEARED, 258 testing::Values(PrefHashStoreTransaction::CLEARED,
254 PrefHashStoreTransaction::WEAK_LEGACY, 259 PrefHashStoreTransaction::WEAK_LEGACY,
255 PrefHashStoreTransaction::CHANGED, 260 PrefHashStoreTransaction::CHANGED,
256 PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE), 261 PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE),
257 testing::Values(TrackedPreferenceHelper::WANTED_RESET, 262 testing::Values(TrackedPreferenceHelper::WANTED_RESET,
258 TrackedPreferenceHelper::DO_RESET))); 263 TrackedPreferenceHelper::DO_RESET)));
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698