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

Side by Side Diff: chrome/tools/profile_reset/jtl_parser_unittest.cc

Issue 641363003: Convert ARRAYSIZE_UNSAFE -> arraysize in chrome/, outside of chrome/browser/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
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 #include "chrome/tools/profile_reset/jtl_parser.h" 5 #include "chrome/tools/profile_reset/jtl_parser.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 {"// \"//not a literal//\" // comment", ""}, 146 {"// \"//not a literal//\" // comment", ""},
147 {"\"literal\" // \"//not a literal//\" // comment", "\"literal\""}, 147 {"\"literal\" // \"//not a literal//\" // comment", "\"literal\""},
148 {"\"//not a comment//\" // \"//not a literal//\" // comment", 148 {"\"//not a comment//\" // \"//not a literal//\" // comment",
149 "\"//not a comment//\""}, 149 "\"//not a comment//\""},
150 {"\"literal // \"not a literal nor a comment", 150 {"\"literal // \"not a literal nor a comment",
151 "\"literal // \"notaliteralnoracomment"}, 151 "\"literal // \"notaliteralnoracomment"},
152 {"\"literal // \"not a literal nor a comment//\"", 152 {"\"literal // \"not a literal nor a comment//\"",
153 "\"literal // \"notaliteralnoracomment"} 153 "\"literal // \"notaliteralnoracomment"}
154 }; 154 };
155 155
156 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 156 for (size_t i = 0; i < arraysize(cases); ++i) {
157 SCOPED_TRACE(cases[i].source_code); 157 SCOPED_TRACE(cases[i].source_code);
158 scoped_ptr<JtlParser> parser( 158 scoped_ptr<JtlParser> parser(
159 CreateParserFromVerboseText(cases[i].source_code)); 159 CreateParserFromVerboseText(cases[i].source_code));
160 EXPECT_EQ(cases[i].compacted_source_code, parser->compacted_source()); 160 EXPECT_EQ(cases[i].compacted_source_code, parser->compacted_source());
161 } 161 }
162 } 162 }
163 163
164 TEST(JtlParser, MismatchedDoubleQuotesBeforeEndOfLine) { 164 TEST(JtlParser, MismatchedDoubleQuotesBeforeEndOfLine) {
165 struct TestCase { 165 struct TestCase {
166 const char* source_code; 166 const char* source_code;
(...skipping 12 matching lines...) Expand all
179 {"\"\"\" // not a comment\n\"", 0}, 179 {"\"\"\" // not a comment\n\"", 0},
180 {"\"\"\" // \" neither a literal nor a comment\"\n\"", 0}, 180 {"\"\"\" // \" neither a literal nor a comment\"\n\"", 0},
181 {"\"\" // comment\n\"// not a comment", 1}, 181 {"\"\" // comment\n\"// not a comment", 1},
182 {"\" // not a comment\"\n\"// not a comment", 1}, 182 {"\" // not a comment\"\n\"// not a comment", 1},
183 {"foo(\"bar\");\nfoo(\"mismatched);", 1}, 183 {"foo(\"bar\");\nfoo(\"mismatched);", 1},
184 {"foo(\n\"bar\", \"mismatched);", 1}, 184 {"foo(\n\"bar\", \"mismatched);", 1},
185 {"foo(\n\"bar\", \"mismatched); //comment", 1}, 185 {"foo(\n\"bar\", \"mismatched); //comment", 1},
186 {"foo(\n\"bar\", \"mismatched);\ngood(\"bar\")", 1} 186 {"foo(\n\"bar\", \"mismatched);\ngood(\"bar\")", 1}
187 }; 187 };
188 188
189 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 189 for (size_t i = 0; i < arraysize(cases); ++i) {
190 SCOPED_TRACE(cases[i].source_code); 190 SCOPED_TRACE(cases[i].source_code);
191 std::string compacted_source_code; 191 std::string compacted_source_code;
192 std::vector<size_t> newline_indices; 192 std::vector<size_t> newline_indices;
193 size_t error_line_number; 193 size_t error_line_number;
194 EXPECT_FALSE(JtlParser::RemoveCommentsAndAllWhitespace( 194 EXPECT_FALSE(JtlParser::RemoveCommentsAndAllWhitespace(
195 cases[i].source_code, 195 cases[i].source_code,
196 &compacted_source_code, 196 &compacted_source_code,
197 &newline_indices, 197 &newline_indices,
198 &error_line_number)); 198 &error_line_number));
199 EXPECT_EQ(cases[i].error_line_number, error_line_number); 199 EXPECT_EQ(cases[i].error_line_number, error_line_number);
(...skipping 18 matching lines...) Expand all
218 {"foo2().", "foo2", "[]", false}, 218 {"foo2().", "foo2", "[]", false},
219 {"foo3(true);", "foo3", "[true]", true}, 219 {"foo3(true);", "foo3", "[true]", true},
220 {"foo4(false).", "foo4", "[false]", false}, 220 {"foo4(false).", "foo4", "[false]", false},
221 {"foo5(\"bar\").", "foo5", "[\"bar\"]", false}, 221 {"foo5(\"bar\").", "foo5", "[\"bar\"]", false},
222 {"foo6(\" b a r \").", "foo6", "[\" b a r \"]", false}, 222 {"foo6(\" b a r \").", "foo6", "[\" b a r \"]", false},
223 {"foo7(true, \"bar\").", "foo7", "[true,\"bar\"]", false}, 223 {"foo7(true, \"bar\").", "foo7", "[true,\"bar\"]", false},
224 {"foo8(\"bar\", false, true);", "foo8", "[\"bar\",false,true]", true}, 224 {"foo8(\"bar\", false, true);", "foo8", "[\"bar\",false,true]", true},
225 {"foo9(\"bar\", \" b a r \");", "foo9", "[\"bar\",\" b a r \"]", true} 225 {"foo9(\"bar\", \" b a r \");", "foo9", "[\"bar\",\" b a r \"]", true}
226 }; 226 };
227 227
228 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 228 for (size_t i = 0; i < arraysize(cases); ++i) {
229 SCOPED_TRACE(cases[i].expected_name); 229 SCOPED_TRACE(cases[i].expected_name);
230 scoped_ptr<JtlParser> parser( 230 scoped_ptr<JtlParser> parser(
231 CreateParserFromVerboseText(cases[i].source_code)); 231 CreateParserFromVerboseText(cases[i].source_code));
232 ExpectNextOperation(parser.get(), 232 ExpectNextOperation(parser.get(),
233 cases[i].expected_name, 233 cases[i].expected_name,
234 cases[i].expected_args, 234 cases[i].expected_args,
235 cases[i].expected_ends_sentence); 235 cases[i].expected_ends_sentence);
236 EXPECT_TRUE(parser->HasFinished()); 236 EXPECT_TRUE(parser->HasFinished());
237 } 237 }
238 } 238 }
(...skipping 21 matching lines...) Expand all
260 {"prev().foo1(\"\");next(true);", "foo1", "[\"\"]", true}, 260 {"prev().foo1(\"\");next(true);", "foo1", "[\"\"]", true},
261 {"prev().foo2(\" \");next(true);", "foo2", "[\" \"]", true}, 261 {"prev().foo2(\" \");next(true);", "foo2", "[\" \"]", true},
262 {"prev().foo3(\",\",true);next(true);", "foo3", "[\",\",true]", true}, 262 {"prev().foo3(\",\",true);next(true);", "foo3", "[\",\",true]", true},
263 {"prev().foo4(\")\",true);next(true);", "foo4", "[\")\",true]", true}, 263 {"prev().foo4(\")\",true);next(true);", "foo4", "[\")\",true]", true},
264 {"prev().foo5(\";\",true);next(true);", "foo5", "[\";\",true]", true}, 264 {"prev().foo5(\";\",true);next(true);", "foo5", "[\";\",true]", true},
265 {"prev().foo6(\"/\",true).next(true);", "foo6", "[\"/\",true]", false}, 265 {"prev().foo6(\"/\",true).next(true);", "foo6", "[\"/\",true]", false},
266 {"prev().foo7(\"//\",true).next(true);", "foo7", "[\"//\",true]", false}, 266 {"prev().foo7(\"//\",true).next(true);", "foo7", "[\"//\",true]", false},
267 {"prev().foo8(\".\",true).next(true);", "foo8", "[\".\",true]", false}, 267 {"prev().foo8(\".\",true).next(true);", "foo8", "[\".\",true]", false},
268 }; 268 };
269 269
270 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 270 for (size_t i = 0; i < arraysize(cases); ++i) {
271 SCOPED_TRACE(cases[i].expected_name); 271 SCOPED_TRACE(cases[i].expected_name);
272 scoped_ptr<JtlParser> parser( 272 scoped_ptr<JtlParser> parser(
273 CreateParserFromVerboseText(cases[i].source_code)); 273 CreateParserFromVerboseText(cases[i].source_code));
274 ExpectNextOperation(parser.get(), "prev", "[]", false); 274 ExpectNextOperation(parser.get(), "prev", "[]", false);
275 ExpectNextOperation(parser.get(), 275 ExpectNextOperation(parser.get(),
276 cases[i].expected_name, 276 cases[i].expected_name,
277 cases[i].expected_args, 277 cases[i].expected_args,
278 cases[i].expected_ends_sentence); 278 cases[i].expected_ends_sentence);
279 ExpectNextOperation(parser.get(), "next", "[true]", true); 279 ExpectNextOperation(parser.get(), "next", "[true]", true);
280 EXPECT_TRUE(parser->HasFinished()); 280 EXPECT_TRUE(parser->HasFinished());
(...skipping 17 matching lines...) Expand all
298 {"bad_quotes1(missing both, true).good();", "bad_quotes1"}, 298 {"bad_quotes1(missing both, true).good();", "bad_quotes1"},
299 {"bad_quotes2(true, \"missing one).good(); //\"", "bad_quotes2"}, 299 {"bad_quotes2(true, \"missing one).good(); //\"", "bad_quotes2"},
300 {"bad_quotes3(\"too\" \"much\", true).good();", "bad_quotes3"}, 300 {"bad_quotes3(\"too\" \"much\", true).good();", "bad_quotes3"},
301 {"bad_missing_separator1", "bad_missing_separator1"}, 301 {"bad_missing_separator1", "bad_missing_separator1"},
302 {"bad_missing_separator2()good();", "bad_missing_separator2"}, 302 {"bad_missing_separator2()good();", "bad_missing_separator2"},
303 {"bad_parenthesis1(true.good();", "bad_parenthesis1"}, 303 {"bad_parenthesis1(true.good();", "bad_parenthesis1"},
304 {"bad_parenthesis2(true.good());", "bad_parenthesis2"}, 304 {"bad_parenthesis2(true.good());", "bad_parenthesis2"},
305 {"bad_parenthesis3).good();", "bad_parenthesis3"} 305 {"bad_parenthesis3).good();", "bad_parenthesis3"}
306 }; 306 };
307 307
308 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 308 for (size_t i = 0; i < arraysize(cases); ++i) {
309 SCOPED_TRACE(cases[i].operation_name); 309 SCOPED_TRACE(cases[i].operation_name);
310 scoped_ptr<JtlParser> parser( 310 scoped_ptr<JtlParser> parser(
311 CreateParserFromVerboseText(cases[i].source_code)); 311 CreateParserFromVerboseText(cases[i].source_code));
312 ExpectNextOperationToFail(parser.get(), 0, cases[i].operation_name); 312 ExpectNextOperationToFail(parser.get(), 0, cases[i].operation_name);
313 } 313 }
314 } 314 }
315 315
316 TEST(JtlParser, SecondOperationIsIllFormed) { 316 TEST(JtlParser, SecondOperationIsIllFormed) {
317 struct TestCase { 317 struct TestCase {
318 const char* source_code; 318 const char* source_code;
319 const char* bad_operation_name; 319 const char* bad_operation_name;
320 } cases[] = { 320 } cases[] = {
321 {"\ngood(true,false)\n.bad_args(,);", "bad_args"}, 321 {"\ngood(true,false)\n.bad_args(,);", "bad_args"},
322 {"\ngood(true,false)\n.bad_quotes1(missing both, true).good();", 322 {"\ngood(true,false)\n.bad_quotes1(missing both, true).good();",
323 "bad_quotes1"}, 323 "bad_quotes1"},
324 {"\ngood(true,false)\n.bad_quotes2(\"missing one, true).good(); //\"", 324 {"\ngood(true,false)\n.bad_quotes2(\"missing one, true).good(); //\"",
325 "bad_quotes2"}, 325 "bad_quotes2"},
326 {"\ngood(true,false)\n.bad_quotes3(\"too\" \"many\", true).good();", 326 {"\ngood(true,false)\n.bad_quotes3(\"too\" \"many\", true).good();",
327 "bad_quotes3"}, 327 "bad_quotes3"},
328 {"\ngood(true,false)\n.bad_separator1()/good();", "bad_separator1"}, 328 {"\ngood(true,false)\n.bad_separator1()/good();", "bad_separator1"},
329 {"\ngood(true,false)\n.missing_separator1", "missing_separator1"}, 329 {"\ngood(true,false)\n.missing_separator1", "missing_separator1"},
330 {"\ngood(true,false)\n.missing_separator2()good();", 330 {"\ngood(true,false)\n.missing_separator2()good();",
331 "missing_separator2"}, 331 "missing_separator2"},
332 {"\ngood(true,false)\n.bad_parens1(true.good();", "bad_parens1"}, 332 {"\ngood(true,false)\n.bad_parens1(true.good();", "bad_parens1"},
333 {"\ngood(true,false)\n.bad_parens2(true.good());", "bad_parens2"}, 333 {"\ngood(true,false)\n.bad_parens2(true.good());", "bad_parens2"},
334 {"\ngood(true,false)\n.bad_parens3).good();", "bad_parens3"} 334 {"\ngood(true,false)\n.bad_parens3).good();", "bad_parens3"}
335 }; 335 };
336 336
337 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 337 for (size_t i = 0; i < arraysize(cases); ++i) {
338 SCOPED_TRACE(cases[i].bad_operation_name); 338 SCOPED_TRACE(cases[i].bad_operation_name);
339 scoped_ptr<JtlParser> parser( 339 scoped_ptr<JtlParser> parser(
340 CreateParserFromVerboseText(cases[i].source_code)); 340 CreateParserFromVerboseText(cases[i].source_code));
341 ExpectNextOperation(parser.get(), "good", "[true,false]", false); 341 ExpectNextOperation(parser.get(), "good", "[true,false]", false);
342 ExpectNextOperationToFail(parser.get(), 2, cases[i].bad_operation_name); 342 ExpectNextOperationToFail(parser.get(), 2, cases[i].bad_operation_name);
343 } 343 }
344 } 344 }
345 345
346 } // namespace 346 } // namespace
OLDNEW
« no previous file with comments | « chrome/tools/profile_reset/jtl_compiler_unittest.cc ('k') | chrome/utility/importer/bookmarks_file_importer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698