OLD | NEW |
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 for (size_t i = 0; i < arraysize(kCompactedSourceCode) - 1; ++i) { | 82 for (size_t i = 0; i < arraysize(kCompactedSourceCode) - 1; ++i) { |
83 SCOPED_TRACE(testing::Message("Position ") << i); | 83 SCOPED_TRACE(testing::Message("Position ") << i); |
84 EXPECT_EQ(0u, parser->GetOriginalLineNumber(i)); | 84 EXPECT_EQ(0u, parser->GetOriginalLineNumber(i)); |
85 } | 85 } |
86 } | 86 } |
87 | 87 |
88 TEST(JtlParser, CompactingMultipleLines) { | 88 TEST(JtlParser, CompactingMultipleLines) { |
89 const char kSourceCode[] = "a\nbb\n \nccc \n\n d( \n e \n )"; | 89 const char kSourceCode[] = "a\nbb\n \nccc \n\n d( \n e \n )"; |
90 const char kCompactedSourceCode[] = "abbcccd(e)"; | 90 const char kCompactedSourceCode[] = "abbcccd(e)"; |
91 const size_t kLineNumbers[] = {0u, 1u, 1u, 3u, 3u, 3u, 5u, 5u, 6u, 7u}; | 91 const size_t kLineNumbers[] = {0u, 1u, 1u, 3u, 3u, 3u, 5u, 5u, 6u, 7u}; |
92 COMPILE_ASSERT(arraysize(kCompactedSourceCode) == arraysize(kLineNumbers) + 1, | 92 static_assert(arraysize(kCompactedSourceCode) == arraysize(kLineNumbers) + 1, |
93 mismatched_test_data); | 93 "mismatched test data"); |
94 | 94 |
95 scoped_ptr<JtlParser> parser(CreateParserFromVerboseText(kSourceCode)); | 95 scoped_ptr<JtlParser> parser(CreateParserFromVerboseText(kSourceCode)); |
96 EXPECT_EQ(kCompactedSourceCode, parser->compacted_source()); | 96 EXPECT_EQ(kCompactedSourceCode, parser->compacted_source()); |
97 for (size_t i = 0; i < arraysize(kLineNumbers); ++i) { | 97 for (size_t i = 0; i < arraysize(kLineNumbers); ++i) { |
98 SCOPED_TRACE(testing::Message("Position ") << i); | 98 SCOPED_TRACE(testing::Message("Position ") << i); |
99 EXPECT_EQ(kLineNumbers[i], parser->GetOriginalLineNumber(i)); | 99 EXPECT_EQ(kLineNumbers[i], parser->GetOriginalLineNumber(i)); |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 TEST(JtlParser, CompactingMultipleLinesWithComments) { | 103 TEST(JtlParser, CompactingMultipleLinesWithComments) { |
104 const char kSourceCode[] = | 104 const char kSourceCode[] = |
105 "a/ /b//Comment \n" | 105 "a/ /b//Comment \n" |
106 "//\n" | 106 "//\n" |
107 "// Full line comment\n" | 107 "// Full line comment\n" |
108 " cd //"; | 108 " cd //"; |
109 const char kCompactedSourceCode[] = "a//bcd"; | 109 const char kCompactedSourceCode[] = "a//bcd"; |
110 const size_t kLineNumbers[] = {0u, 0u, 0u, 0u, 3u, 3u}; | 110 const size_t kLineNumbers[] = {0u, 0u, 0u, 0u, 3u, 3u}; |
111 COMPILE_ASSERT(arraysize(kCompactedSourceCode) == arraysize(kLineNumbers) + 1, | 111 static_assert(arraysize(kCompactedSourceCode) == arraysize(kLineNumbers) + 1, |
112 mismatched_test_data); | 112 "mismatched test data"); |
113 | 113 |
114 scoped_ptr<JtlParser> parser(CreateParserFromVerboseText(kSourceCode)); | 114 scoped_ptr<JtlParser> parser(CreateParserFromVerboseText(kSourceCode)); |
115 EXPECT_EQ(kCompactedSourceCode, parser->compacted_source()); | 115 EXPECT_EQ(kCompactedSourceCode, parser->compacted_source()); |
116 for (size_t i = 0; i < arraysize(kLineNumbers); ++i) { | 116 for (size_t i = 0; i < arraysize(kLineNumbers); ++i) { |
117 SCOPED_TRACE(testing::Message("Position ") << i); | 117 SCOPED_TRACE(testing::Message("Position ") << i); |
118 EXPECT_EQ(kLineNumbers[i], parser->GetOriginalLineNumber(i)); | 118 EXPECT_EQ(kLineNumbers[i], parser->GetOriginalLineNumber(i)); |
119 } | 119 } |
120 } | 120 } |
121 | 121 |
122 TEST(JtlParser, HandlingCommentsAndStringLiterals) { | 122 TEST(JtlParser, HandlingCommentsAndStringLiterals) { |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 for (size_t i = 0; i < arraysize(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 |
OLD | NEW |