summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2013-03-11 17:52:13 +0000
committerzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2013-03-11 17:52:13 +0000
commit4036e7d55c332d45cfb3f22ed682acce2b8390fd (patch)
treed46a4c9275cebcbc53bc090075b7e527f80488e4
parent74de57c951aedebc5dfe26a27604353432392b98 (diff)
downloadgtest-4036e7d55c332d45cfb3f22ed682acce2b8390fd.tar.gz
gtest-4036e7d55c332d45cfb3f22ed682acce2b8390fd.tar.bz2
gtest-4036e7d55c332d45cfb3f22ed682acce2b8390fd.tar.xz
Supports colored output on term type screen-256color.
Proposed as a one-line patch by Tom Jakubowski (tom@crystae.net); finished by Zhanyong Wan. git-svn-id: http://googletest.googlecode.com/svn/trunk@644 861a406c-534a-0410-8894-cb66d6ee9925
-rw-r--r--src/gtest.cc3
-rw-r--r--test/gtest_unittest.cc3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/gtest.cc b/src/gtest.cc
index 62b6929..911919d 100644
--- a/src/gtest.cc
+++ b/src/gtest.cc
@@ -204,7 +204,7 @@ GTEST_DEFINE_string_(
"Whether to use colors in the output. Valid values: yes, no, "
"and auto. 'auto' means to use colors if the output is "
"being sent to a terminal and the TERM environment variable "
- "is set to xterm, xterm-color, xterm-256color, linux or cygwin.");
+ "is set to a terminal type that supports colors.");
GTEST_DEFINE_string_(
filter,
@@ -2497,6 +2497,7 @@ bool ShouldUseColor(bool stdout_is_tty) {
String::CStringEquals(term, "xterm-color") ||
String::CStringEquals(term, "xterm-256color") ||
String::CStringEquals(term, "screen") ||
+ String::CStringEquals(term, "screen-256color") ||
String::CStringEquals(term, "linux") ||
String::CStringEquals(term, "cygwin");
return stdout_is_tty && term_supports_color;
diff --git a/test/gtest_unittest.cc b/test/gtest_unittest.cc
index f594a44..769b75c 100644
--- a/test/gtest_unittest.cc
+++ b/test/gtest_unittest.cc
@@ -6429,6 +6429,9 @@ TEST(ColoredOutputTest, UsesColorsWhenTermSupportsColors) {
SetEnv("TERM", "screen"); // TERM supports colors.
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
+ SetEnv("TERM", "screen-256color"); // TERM supports colors.
+ EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
+
SetEnv("TERM", "linux"); // TERM supports colors.
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.