@@ -463,33 +463,36 @@ fn format_diff(
463463}
464464
465465fn format_column_diff ( expected : & str , actual : & str , colorize : bool ) -> String {
466- let ( expected, actual) = TextDiff :: from_chars ( expected, actual)
467- . iter_all_changes ( )
468- . fold (
469- ( "" . to_string ( ) , "" . to_string ( ) ) ,
470- |( expected, actual) , change| match change. tag ( ) {
471- ChangeTag :: Equal => (
472- format ! ( "{}{}" , expected, change. value( ) ) ,
473- format ! ( "{}{}" , actual, change. value( ) ) ,
474- ) ,
475- ChangeTag :: Delete => (
476- if colorize {
477- format ! ( "{}[{}]" , expected, change. value( ) . bright_red( ) )
478- } else {
479- format ! ( "{}[{}]" , expected, change. value( ) )
480- } ,
481- actual,
482- ) ,
483- ChangeTag :: Insert => (
484- expected,
485- if colorize {
486- format ! ( "{}[{}]" , actual, change. value( ) . bright_green( ) )
487- } else {
488- format ! ( "{}[{}]" , actual, change. value( ) )
489- } ,
490- ) ,
491- } ,
492- ) ;
466+ let ( expected, actual) = TextDiff :: from_slices (
467+ & expected. split ( "," ) . collect :: < Vec < _ > > ( ) [ ..] ,
468+ & actual. split ( "," ) . collect :: < Vec < _ > > ( ) [ ..] ,
469+ )
470+ . iter_all_changes ( )
471+ . fold (
472+ ( "" . to_string ( ) , "" . to_string ( ) ) ,
473+ |( expected, actual) , change| match change. tag ( ) {
474+ ChangeTag :: Equal => (
475+ format ! ( "{}{}" , expected, change. value( ) ) ,
476+ format ! ( "{}{}" , actual, change. value( ) ) ,
477+ ) ,
478+ ChangeTag :: Delete => (
479+ if colorize {
480+ format ! ( "{}[{}]" , expected, change. value( ) . bright_red( ) )
481+ } else {
482+ format ! ( "{}[{}]" , expected, change. value( ) )
483+ } ,
484+ actual,
485+ ) ,
486+ ChangeTag :: Insert => (
487+ expected,
488+ if colorize {
489+ format ! ( "{}[{}]" , actual, change. value( ) . bright_green( ) )
490+ } else {
491+ format ! ( "{}[{}]" , actual, change. value( ) )
492+ } ,
493+ ) ,
494+ } ,
495+ ) ;
493496 format ! ( "[Expected] {expected}\n [Actual ] {actual}" )
494497}
495498
0 commit comments