@@ -31,6 +31,8 @@ def test_colorize
31
31
[ :CYAN ] => "#{ CYAN } #{ text } #{ CLEAR } " ,
32
32
} . each do |seq , result |
33
33
assert_equal_with_term ( result , text , seq : seq )
34
+
35
+ assert_equal_with_term ( text , text , seq : seq , tty : false )
34
36
end
35
37
end
36
38
@@ -124,6 +126,9 @@ def test_colorize_code
124
126
if colorize_code_supported?
125
127
assert_equal_with_term ( result , code , complete : true )
126
128
assert_equal_with_term ( result , code , complete : false )
129
+
130
+ assert_equal_with_term ( code , code , complete : true , tty : false )
131
+ assert_equal_with_term ( code , code , complete : false , tty : false )
127
132
else
128
133
assert_equal_with_term ( code , code )
129
134
end
@@ -141,6 +146,8 @@ def test_colorize_code_complete_true
141
146
"('foo" => "(#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } #{ REVERSE } foo#{ CLEAR } " ,
142
147
} . each do |code , result |
143
148
assert_equal_with_term ( result , code , complete : true )
149
+
150
+ assert_equal_with_term ( code , code , complete : true , tty : false )
144
151
end
145
152
end
146
153
@@ -153,8 +160,12 @@ def test_colorize_code_complete_false
153
160
if colorize_code_supported?
154
161
assert_equal_with_term ( result , code , complete : false )
155
162
163
+ assert_equal_with_term ( code , code , complete : false , tty : false )
164
+
156
165
unless complete_option_supported?
157
166
assert_equal_with_term ( result , code , complete : true )
167
+
168
+ assert_equal_with_term ( code , code , complete : true , tty : false )
158
169
end
159
170
else
160
171
assert_equal_with_term ( code , code )
@@ -194,10 +205,10 @@ def complete_option_supported?
194
205
Gem ::Version . new ( RUBY_VERSION ) >= Gem ::Version . new ( '2.7.0' )
195
206
end
196
207
197
- def with_term
208
+ def with_term ( tty : true )
198
209
stdout = $stdout
199
210
io = StringIO . new
200
- def io . tty? ; true ; end
211
+ def io . tty? ; true ; end if tty
201
212
$stdout = io
202
213
203
214
env = ENV . to_h . dup
@@ -209,8 +220,8 @@ def io.tty?; true; end
209
220
ENV . replace ( env ) if env
210
221
end
211
222
212
- def assert_equal_with_term ( result , code , seq : nil , **opts )
213
- actual = with_term do
223
+ def assert_equal_with_term ( result , code , seq : nil , tty : true , **opts )
224
+ actual = with_term ( tty : tty ) do
214
225
if seq
215
226
IRB ::Color . colorize ( code , seq , **opts )
216
227
else
0 commit comments