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

Side by Side Diff: base/json/json_parser_unittest.cc

Issue 2285933003: Remove more usage of the base::ListValue::Append(Value*) overload. (Closed)
Patch Set: rebase Created 4 years, 3 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 | « base/json/json_parser.cc ('k') | base/test/gtest_util.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 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 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 "base/json/json_parser.h" 5 #include "base/json/json_parser.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 TestLastThree(parser.get()); 98 TestLastThree(parser.get());
99 99
100 ASSERT_TRUE(value.get()); 100 ASSERT_TRUE(value.get());
101 bool bool_value = false; 101 bool bool_value = false;
102 EXPECT_TRUE(value->GetAsBoolean(&bool_value)); 102 EXPECT_TRUE(value->GetAsBoolean(&bool_value));
103 EXPECT_TRUE(bool_value); 103 EXPECT_TRUE(bool_value);
104 104
105 // Literal |false|. 105 // Literal |false|.
106 input = "false,|"; 106 input = "false,|";
107 parser.reset(NewTestParser(input)); 107 parser.reset(NewTestParser(input));
108 value.reset(parser->ConsumeLiteral()); 108 value = parser->ConsumeLiteral();
109 EXPECT_EQ('e', *parser->pos_); 109 EXPECT_EQ('e', *parser->pos_);
110 110
111 TestLastThree(parser.get()); 111 TestLastThree(parser.get());
112 112
113 ASSERT_TRUE(value.get()); 113 ASSERT_TRUE(value.get());
114 EXPECT_TRUE(value->GetAsBoolean(&bool_value)); 114 EXPECT_TRUE(value->GetAsBoolean(&bool_value));
115 EXPECT_FALSE(bool_value); 115 EXPECT_FALSE(bool_value);
116 116
117 // Literal |null|. 117 // Literal |null|.
118 input = "null,|"; 118 input = "null,|";
119 parser.reset(NewTestParser(input)); 119 parser.reset(NewTestParser(input));
120 value.reset(parser->ConsumeLiteral()); 120 value = parser->ConsumeLiteral();
121 EXPECT_EQ('l', *parser->pos_); 121 EXPECT_EQ('l', *parser->pos_);
122 122
123 TestLastThree(parser.get()); 123 TestLastThree(parser.get());
124 124
125 ASSERT_TRUE(value.get()); 125 ASSERT_TRUE(value.get());
126 EXPECT_TRUE(value->IsType(Value::TYPE_NULL)); 126 EXPECT_TRUE(value->IsType(Value::TYPE_NULL));
127 } 127 }
128 128
129 TEST_F(JSONParserTest, ConsumeNumbers) { 129 TEST_F(JSONParserTest, ConsumeNumbers) {
130 // Integer. 130 // Integer.
131 std::string input("1234,|"); 131 std::string input("1234,|");
132 std::unique_ptr<JSONParser> parser(NewTestParser(input)); 132 std::unique_ptr<JSONParser> parser(NewTestParser(input));
133 std::unique_ptr<Value> value(parser->ConsumeNumber()); 133 std::unique_ptr<Value> value(parser->ConsumeNumber());
134 EXPECT_EQ('4', *parser->pos_); 134 EXPECT_EQ('4', *parser->pos_);
135 135
136 TestLastThree(parser.get()); 136 TestLastThree(parser.get());
137 137
138 ASSERT_TRUE(value.get()); 138 ASSERT_TRUE(value.get());
139 int number_i; 139 int number_i;
140 EXPECT_TRUE(value->GetAsInteger(&number_i)); 140 EXPECT_TRUE(value->GetAsInteger(&number_i));
141 EXPECT_EQ(1234, number_i); 141 EXPECT_EQ(1234, number_i);
142 142
143 // Negative integer. 143 // Negative integer.
144 input = "-1234,|"; 144 input = "-1234,|";
145 parser.reset(NewTestParser(input)); 145 parser.reset(NewTestParser(input));
146 value.reset(parser->ConsumeNumber()); 146 value = parser->ConsumeNumber();
147 EXPECT_EQ('4', *parser->pos_); 147 EXPECT_EQ('4', *parser->pos_);
148 148
149 TestLastThree(parser.get()); 149 TestLastThree(parser.get());
150 150
151 ASSERT_TRUE(value.get()); 151 ASSERT_TRUE(value.get());
152 EXPECT_TRUE(value->GetAsInteger(&number_i)); 152 EXPECT_TRUE(value->GetAsInteger(&number_i));
153 EXPECT_EQ(-1234, number_i); 153 EXPECT_EQ(-1234, number_i);
154 154
155 // Double. 155 // Double.
156 input = "12.34,|"; 156 input = "12.34,|";
157 parser.reset(NewTestParser(input)); 157 parser.reset(NewTestParser(input));
158 value.reset(parser->ConsumeNumber()); 158 value = parser->ConsumeNumber();
159 EXPECT_EQ('4', *parser->pos_); 159 EXPECT_EQ('4', *parser->pos_);
160 160
161 TestLastThree(parser.get()); 161 TestLastThree(parser.get());
162 162
163 ASSERT_TRUE(value.get()); 163 ASSERT_TRUE(value.get());
164 double number_d; 164 double number_d;
165 EXPECT_TRUE(value->GetAsDouble(&number_d)); 165 EXPECT_TRUE(value->GetAsDouble(&number_d));
166 EXPECT_EQ(12.34, number_d); 166 EXPECT_EQ(12.34, number_d);
167 167
168 // Scientific. 168 // Scientific.
169 input = "42e3,|"; 169 input = "42e3,|";
170 parser.reset(NewTestParser(input)); 170 parser.reset(NewTestParser(input));
171 value.reset(parser->ConsumeNumber()); 171 value = parser->ConsumeNumber();
172 EXPECT_EQ('3', *parser->pos_); 172 EXPECT_EQ('3', *parser->pos_);
173 173
174 TestLastThree(parser.get()); 174 TestLastThree(parser.get());
175 175
176 ASSERT_TRUE(value.get()); 176 ASSERT_TRUE(value.get());
177 EXPECT_TRUE(value->GetAsDouble(&number_d)); 177 EXPECT_TRUE(value->GetAsDouble(&number_d));
178 EXPECT_EQ(42000, number_d); 178 EXPECT_EQ(42000, number_d);
179 179
180 // Negative scientific. 180 // Negative scientific.
181 input = "314159e-5,|"; 181 input = "314159e-5,|";
182 parser.reset(NewTestParser(input)); 182 parser.reset(NewTestParser(input));
183 value.reset(parser->ConsumeNumber()); 183 value = parser->ConsumeNumber();
184 EXPECT_EQ('5', *parser->pos_); 184 EXPECT_EQ('5', *parser->pos_);
185 185
186 TestLastThree(parser.get()); 186 TestLastThree(parser.get());
187 187
188 ASSERT_TRUE(value.get()); 188 ASSERT_TRUE(value.get());
189 EXPECT_TRUE(value->GetAsDouble(&number_d)); 189 EXPECT_TRUE(value->GetAsDouble(&number_d));
190 EXPECT_EQ(3.14159, number_d); 190 EXPECT_EQ(3.14159, number_d);
191 191
192 // Positive scientific. 192 // Positive scientific.
193 input = "0.42e+3,|"; 193 input = "0.42e+3,|";
194 parser.reset(NewTestParser(input)); 194 parser.reset(NewTestParser(input));
195 value.reset(parser->ConsumeNumber()); 195 value = parser->ConsumeNumber();
196 EXPECT_EQ('3', *parser->pos_); 196 EXPECT_EQ('3', *parser->pos_);
197 197
198 TestLastThree(parser.get()); 198 TestLastThree(parser.get());
199 199
200 ASSERT_TRUE(value.get()); 200 ASSERT_TRUE(value.get());
201 EXPECT_TRUE(value->GetAsDouble(&number_d)); 201 EXPECT_TRUE(value->GetAsDouble(&number_d));
202 EXPECT_EQ(420, number_d); 202 EXPECT_EQ(420, number_d);
203 } 203 }
204 204
205 TEST_F(JSONParserTest, ErrorMessages) { 205 TEST_F(JSONParserTest, ErrorMessages) {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 TEST_F(JSONParserTest, DecodeUnicodeNonCharacter) { 318 TEST_F(JSONParserTest, DecodeUnicodeNonCharacter) {
319 // Tests Unicode code points (encoded as escaped UTF-16) that are not valid 319 // Tests Unicode code points (encoded as escaped UTF-16) that are not valid
320 // characters. 320 // characters.
321 EXPECT_FALSE(JSONReader::Read("[\"\\ufdd0\"]")); 321 EXPECT_FALSE(JSONReader::Read("[\"\\ufdd0\"]"));
322 EXPECT_FALSE(JSONReader::Read("[\"\\ufffe\"]")); 322 EXPECT_FALSE(JSONReader::Read("[\"\\ufffe\"]"));
323 EXPECT_FALSE(JSONReader::Read("[\"\\ud83f\\udffe\"]")); 323 EXPECT_FALSE(JSONReader::Read("[\"\\ud83f\\udffe\"]"));
324 } 324 }
325 325
326 } // namespace internal 326 } // namespace internal
327 } // namespace base 327 } // namespace base
OLDNEW
« no previous file with comments | « base/json/json_parser.cc ('k') | base/test/gtest_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698