| 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 |