@@ -105,14 +105,10 @@ def test_colorize_code
105
105
106
106
tests . each do |code , result |
107
107
if colorize_code_supported?
108
- actual = with_term { IRB ::Color . colorize_code ( code , complete : true ) }
109
- assert_equal ( result , actual , "Case: IRB::Color.colorize_code(#{ code . dump } , complete: true)\n Result: #{ humanized_literal ( actual ) } " )
110
-
111
- actual = with_term { IRB ::Color . colorize_code ( code , complete : false ) }
112
- assert_equal ( result , actual , "Case: IRB::Color.colorize_code(#{ code . dump } , complete: false)\n Result: #{ humanized_literal ( actual ) } " )
108
+ assert_equal_with_term ( result , code , complete : true )
109
+ assert_equal_with_term ( result , code , complete : false )
113
110
else
114
- actual = with_term { IRB ::Color . colorize_code ( code ) }
115
- assert_equal ( code , actual )
111
+ assert_equal_with_term ( code , code )
116
112
end
117
113
end
118
114
end
@@ -127,8 +123,7 @@ def test_colorize_code_complete_true
127
123
"'foo' + 'bar" => "#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } foo#{ CLEAR } #{ RED } #{ BOLD } '#{ CLEAR } + #{ RED } #{ BOLD } '#{ CLEAR } #{ RED } #{ REVERSE } bar#{ CLEAR } " ,
128
124
"('foo" => "(#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } #{ REVERSE } foo#{ CLEAR } " ,
129
125
} . each do |code , result |
130
- actual = with_term { IRB ::Color . colorize_code ( code , complete : true ) }
131
- assert_equal ( result , actual , "Case: colorize_code(#{ code . dump } , complete: true)\n Result: #{ humanized_literal ( actual ) } " )
126
+ assert_equal_with_term ( result , code , complete : true )
132
127
end
133
128
end
134
129
@@ -139,16 +134,13 @@ def test_colorize_code_complete_false
139
134
"('foo" => "(#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } foo#{ CLEAR } " ,
140
135
} . each do |code , result |
141
136
if colorize_code_supported?
142
- actual = with_term { IRB ::Color . colorize_code ( code , complete : false ) }
143
- assert_equal ( result , actual , "Case: colorize_code(#{ code . dump } , complete: false)\n Result: #{ humanized_literal ( actual ) } " )
137
+ assert_equal_with_term ( result , code , complete : false )
144
138
145
139
unless complete_option_supported?
146
- actual = with_term { IRB ::Color . colorize_code ( code , complete : true ) }
147
- assert_equal ( result , actual , "Case: colorize_code(#{ code . dump } , complete: false)\n Result: #{ humanized_literal ( actual ) } " )
140
+ assert_equal_with_term ( result , code , complete : true )
148
141
end
149
142
else
150
- actual = with_term { IRB ::Color . colorize_code ( code ) }
151
- assert_equal ( code , actual )
143
+ assert_equal_with_term ( code , code )
152
144
end
153
145
end
154
146
end
@@ -200,6 +192,16 @@ def io.tty?; true; end
200
192
ENV . replace ( env ) if env
201
193
end
202
194
195
+ def assert_equal_with_term ( result , code , **opts )
196
+ actual = with_term { IRB ::Color . colorize_code ( code , **opts ) }
197
+ message = -> {
198
+ args = [ code . dump ]
199
+ opts . each { |kwd , val | args << "#{ kwd } : #{ val } " }
200
+ "Case: colorize_code(#{ args . join ( ', ' ) } )\n Result: #{ humanized_literal ( actual ) } "
201
+ }
202
+ assert_equal ( result , actual , message )
203
+ end
204
+
203
205
def humanized_literal ( str )
204
206
str
205
207
. gsub ( CLEAR , '@@@{CLEAR}' )
0 commit comments