1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64

ash / system / diagnostics / log_test_helpers_unittest.cc [blame]

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ash/system/diagnostics/log_test_helpers.h"

#include <string>
#include <vector>

#include "testing/gtest/include/gtest/gtest.h"

namespace ash {
namespace diagnostics {

class LogHelpersTest : public testing::Test {
 public:
  LogHelpersTest() = default;

  ~LogHelpersTest() override = default;
};

TEST_F(LogHelpersTest, GetLogLineContents) {
  const std::string log_line = "02:26:18.766 - RoutineType::kMemory - Started";
  const std::vector<std::string> actual_log_lines =
      GetLogLineContents(log_line);
  ASSERT_EQ(3u, actual_log_lines.size());
  ASSERT_EQ("02:26:18.766", actual_log_lines[0]);
  ASSERT_EQ("RoutineType::kMemory", actual_log_lines[1]);
  ASSERT_EQ("Started", actual_log_lines[2]);

  const std::string log_line_no_separator =
      "02:26:18.766  RoutineType::kMemory  Started";
  const std::vector<std::string> actual_log_lines_no_separator =
      GetLogLineContents(log_line_no_separator);
  ASSERT_EQ(1u, actual_log_lines_no_separator.size());
  ASSERT_EQ("02:26:18.766  RoutineType::kMemory  Started",
            actual_log_lines_no_separator[0]);
}

TEST_F(LogHelpersTest, GetLogLines) {
  const std::string log_lines =
      "02:26:18.766 - RoutineType::kMemory - Started \n 02:26:18.766 - "
      "RoutineType::kMemory - Completed \n";
  const std::vector<std::string> actual_log_lines = GetLogLines(log_lines);
  ASSERT_EQ(2u, actual_log_lines.size());
  ASSERT_EQ("02:26:18.766 - RoutineType::kMemory - Started",
            actual_log_lines[0]);
  ASSERT_EQ("02:26:18.766 - RoutineType::kMemory - Completed",
            actual_log_lines[1]);

  const std::string log_lines_no_newline =
      "02:26:18.766 - RoutineType::kMemory - Started 02:26:18.766 - "
      "RoutineType::kMemory - Completed";
  const std::vector<std::string> actual_log_lines_no_newline =
      GetLogLines(log_lines_no_newline);
  ASSERT_EQ(1u, actual_log_lines_no_newline.size());
  ASSERT_EQ(
      "02:26:18.766 - RoutineType::kMemory - Started 02:26:18.766 - "
      "RoutineType::kMemory - Completed",
      actual_log_lines_no_newline[0]);
}

}  // namespace diagnostics
}  // namespace ash