summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-04-08 00:20:10 +0900
committergit <svn-admin@ruby-lang.org>2021-04-26 21:14:44 +0900
commit687ab5dcad7bb8069776330ca6a62640290d14f5 (patch)
treeea46190b41267d9bc7542671328b37975adc2d2f
parent75f1ad8cb33171662e3248a1fe8ded2eda0a9cef (diff)
[ruby/irb] Assertions on non-tty
https://github.com/ruby/irb/commit/ede12890d2
-rw-r--r--test/irb/test_color.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/test/irb/test_color.rb b/test/irb/test_color.rb
index ada207da73..29725c530e 100644
--- a/test/irb/test_color.rb
+++ b/test/irb/test_color.rb
@@ -31,6 +31,8 @@ module TestIRB
[:CYAN] => "#{CYAN}#{text}#{CLEAR}",
}.each do |seq, result|
assert_equal_with_term(result, text, seq: seq)
+
+ assert_equal_with_term(text, text, seq: seq, tty: false)
end
end
@@ -124,6 +126,9 @@ module TestIRB
if colorize_code_supported?
assert_equal_with_term(result, code, complete: true)
assert_equal_with_term(result, code, complete: false)
+
+ assert_equal_with_term(code, code, complete: true, tty: false)
+ assert_equal_with_term(code, code, complete: false, tty: false)
else
assert_equal_with_term(code, code)
end
@@ -141,6 +146,8 @@ module TestIRB
"('foo" => "(#{RED}#{BOLD}'#{CLEAR}#{RED}#{REVERSE}foo#{CLEAR}",
}.each do |code, result|
assert_equal_with_term(result, code, complete: true)
+
+ assert_equal_with_term(code, code, complete: true, tty: false)
end
end
@@ -153,8 +160,12 @@ module TestIRB
if colorize_code_supported?
assert_equal_with_term(result, code, complete: false)
+ assert_equal_with_term(code, code, complete: false, tty: false)
+
unless complete_option_supported?
assert_equal_with_term(result, code, complete: true)
+
+ assert_equal_with_term(code, code, complete: true, tty: false)
end
else
assert_equal_with_term(code, code)
@@ -194,10 +205,10 @@ module TestIRB
Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7.0')
end
- def with_term
+ def with_term(tty: true)
stdout = $stdout
io = StringIO.new
- def io.tty?; true; end
+ def io.tty?; true; end if tty
$stdout = io
env = ENV.to_h.dup
@@ -209,8 +220,8 @@ module TestIRB
ENV.replace(env) if env
end
- def assert_equal_with_term(result, code, seq: nil, **opts)
- actual = with_term do
+ def assert_equal_with_term(result, code, seq: nil, tty: true, **opts)
+ actual = with_term(tty: tty) do
if seq
IRB::Color.colorize(code, seq, **opts)
else