|  | // Copyright 2020 The Fuchsia Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "tools/symbol-index/reader.h" | 
|  |  | 
|  | #include <sstream> | 
|  |  | 
|  | #include <gtest/gtest.h> | 
|  |  | 
|  | #include "src/lib/fxl/strings/split_string.h" | 
|  |  | 
|  | namespace symbol_index { | 
|  |  | 
|  | namespace { | 
|  |  | 
|  | const char* test_content = R"( | 
|  | # This is a comment and should be ignored | 
|  | # Empty lines should also be ignored | 
|  |  | 
|  | abc | 
|  |  | 
|  | # This is an intermediate comment that should also be ignored. | 
|  | abcd   efgh | 
|  | )"; | 
|  |  | 
|  | TEST(ReaderTest, Read) { | 
|  | Reader reader(' '); | 
|  | std::vector<std::vector<std::string>> output; | 
|  | std::stringstream file(test_content); | 
|  |  | 
|  | ASSERT_TRUE(reader.Read(file, "", &output).empty()); | 
|  | ASSERT_EQ(output.size(), 2UL); | 
|  | ASSERT_EQ(output[0].size(), 1UL); | 
|  | ASSERT_EQ(output[0][0], "abc"); | 
|  | ASSERT_EQ(output[1].size(), 2UL); | 
|  | ASSERT_EQ(output[1][0], "abcd"); | 
|  | ASSERT_EQ(output[1][1], "efgh"); | 
|  | } | 
|  |  | 
|  | }  // namespace | 
|  |  | 
|  | }  // namespace symbol_index |