forked from OSchip/llvm-project
55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
//===-- AnsiTerminalTest.cpp ------------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
#include "lldb/Utility/AnsiTerminal.h"
|
|
|
|
using namespace lldb_private;
|
|
|
|
TEST(AnsiTerminal, Empty) { EXPECT_EQ("", ansi::FormatAnsiTerminalCodes("")); }
|
|
|
|
TEST(AnsiTerminal, WhiteSpace) {
|
|
EXPECT_EQ(" ", ansi::FormatAnsiTerminalCodes(" "));
|
|
}
|
|
|
|
TEST(AnsiTerminal, AtEnd) {
|
|
EXPECT_EQ("abc\x1B[30m",
|
|
ansi::FormatAnsiTerminalCodes("abc${ansi.fg.black}"));
|
|
}
|
|
|
|
TEST(AnsiTerminal, AtStart) {
|
|
EXPECT_EQ("\x1B[30mabc",
|
|
ansi::FormatAnsiTerminalCodes("${ansi.fg.black}abc"));
|
|
}
|
|
|
|
TEST(AnsiTerminal, KnownPrefix) {
|
|
EXPECT_EQ("${ansi.fg.redish}abc",
|
|
ansi::FormatAnsiTerminalCodes("${ansi.fg.redish}abc"));
|
|
}
|
|
|
|
TEST(AnsiTerminal, Unknown) {
|
|
EXPECT_EQ("${ansi.fg.foo}abc",
|
|
ansi::FormatAnsiTerminalCodes("${ansi.fg.foo}abc"));
|
|
}
|
|
|
|
TEST(AnsiTerminal, Incomplete) {
|
|
EXPECT_EQ("abc${ansi.", ansi::FormatAnsiTerminalCodes("abc${ansi."));
|
|
}
|
|
|
|
TEST(AnsiTerminal, Twice) {
|
|
EXPECT_EQ("\x1B[30m\x1B[31mabc",
|
|
ansi::FormatAnsiTerminalCodes("${ansi.fg.black}${ansi.fg.red}abc"));
|
|
}
|
|
|
|
TEST(AnsiTerminal, Basic) {
|
|
EXPECT_EQ(
|
|
"abc\x1B[31mabc\x1B[0mabc",
|
|
ansi::FormatAnsiTerminalCodes("abc${ansi.fg.red}abc${ansi.normal}abc"));
|
|
}
|