1 //===- WithColorTest.cpp --------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #include "llvm/Support/WithColor.h" 10 #include "llvm/Config/llvm-config.h" // for LLVM_ON_UNIX 11 #include "gtest/gtest.h" 12 13 using namespace llvm; 14 15 TEST(WithColorTest, ColorMode) { 16 { 17 std::string S; 18 llvm::raw_string_ostream OS(S); 19 OS.enable_colors(true); 20 21 WithColor(OS, HighlightColor::Error, ColorMode::Disable) << "test"; 22 EXPECT_EQ("test", S); 23 } 24 25 { 26 std::string S; 27 llvm::raw_string_ostream OS(S); 28 OS.enable_colors(true); 29 30 WithColor(OS, HighlightColor::Error, ColorMode::Auto) << "test"; 31 EXPECT_EQ("test", S); 32 } 33 34 #ifdef LLVM_ON_UNIX 35 { 36 std::string S; 37 llvm::raw_string_ostream OS(S); 38 OS.enable_colors(true); 39 40 WithColor(OS, HighlightColor::Error, ColorMode::Enable) << "test"; 41 EXPECT_EQ("\x1B[0;1;31mtest\x1B[0m", S); 42 } 43 #endif 44 } 45