diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:09:23 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:09:23 +0000 |
commit | f73363f1dd94996356cefbf24388f561891acf0b (patch) | |
tree | e3c31248bdb36eaec5fd833490d4278162dba2a0 /unittests/Utility/AnsiTerminalTest.cpp | |
parent | 160ee69dd7ae18978f4068116777639ea98dc951 (diff) |
Notes
Diffstat (limited to 'unittests/Utility/AnsiTerminalTest.cpp')
-rw-r--r-- | unittests/Utility/AnsiTerminalTest.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/unittests/Utility/AnsiTerminalTest.cpp b/unittests/Utility/AnsiTerminalTest.cpp new file mode 100644 index 000000000000..f2d755db1beb --- /dev/null +++ b/unittests/Utility/AnsiTerminalTest.cpp @@ -0,0 +1,55 @@ +//===-- AnsiTerminalTest.cpp ------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "gtest/gtest.h" + +#include "lldb/Utility/AnsiTerminal.h" + +using namespace lldb_utility; + +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")); +} |