diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-04-08 00:20:10 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2021-04-26 21:14:44 +0900 |
commit | 687ab5dcad7bb8069776330ca6a62640290d14f5 (patch) | |
tree | ea46190b41267d9bc7542671328b37975adc2d2f | |
parent | 75f1ad8cb33171662e3248a1fe8ded2eda0a9cef (diff) |
[ruby/irb] Assertions on non-tty
https://github.com/ruby/irb/commit/ede12890d2
-rw-r--r-- | test/irb/test_color.rb | 19 |
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 |