@@ -105,14 +105,10 @@ def test_colorize_code
105105
106106 tests . each do |code , result |
107107 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 )
113110 else
114- actual = with_term { IRB ::Color . colorize_code ( code ) }
115- assert_equal ( code , actual )
111+ assert_equal_with_term ( code , code )
116112 end
117113 end
118114 end
@@ -127,8 +123,7 @@ def test_colorize_code_complete_true
127123 "'foo' + 'bar" => "#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } foo#{ CLEAR } #{ RED } #{ BOLD } '#{ CLEAR } + #{ RED } #{ BOLD } '#{ CLEAR } #{ RED } #{ REVERSE } bar#{ CLEAR } " ,
128124 "('foo" => "(#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } #{ REVERSE } foo#{ CLEAR } " ,
129125 } . 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 )
132127 end
133128 end
134129
@@ -139,16 +134,13 @@ def test_colorize_code_complete_false
139134 "('foo" => "(#{ RED } #{ BOLD } '#{ CLEAR } #{ RED } foo#{ CLEAR } " ,
140135 } . each do |code , result |
141136 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 )
144138
145139 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 )
148141 end
149142 else
150- actual = with_term { IRB ::Color . colorize_code ( code ) }
151- assert_equal ( code , actual )
143+ assert_equal_with_term ( code , code )
152144 end
153145 end
154146 end
@@ -200,6 +192,16 @@ def io.tty?; true; end
200192 ENV . replace ( env ) if env
201193 end
202194
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+
203205 def humanized_literal ( str )
204206 str
205207 . gsub ( CLEAR , '@@@{CLEAR}' )
0 commit comments