@@ -19,17 +19,42 @@ fn test_display_literal() {
1919 "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0" ,
2020 ) ;
2121
22- assert_eq ! ( Literal :: string( "a \t ❤ ' \" \u{1} " ) . to_string( ) , "\" a \\ t ❤ ' \\ \" \\ u{1}\" " , ) ;
23- assert_eq ! ( Literal :: c_string( c"\' \" \x7f \u{7fff} " ) . to_string( ) , r#"c"\'\"\x7f\xe7\xbf\xbf""# ) ;
24- assert_eq ! ( Literal :: character( 'a' ) . to_string( ) , "'a'" ) ;
25- assert_eq ! ( Literal :: character( '\t' ) . to_string( ) , "'\\ t'" ) ;
26- assert_eq ! ( Literal :: character( '❤' ) . to_string( ) , "'❤'" ) ;
27- assert_eq ! ( Literal :: character( '\'' ) . to_string( ) , "'\\ ''" ) ;
28- assert_eq ! ( Literal :: character( '"' ) . to_string( ) , "'\" '" ) ;
29- assert_eq ! ( Literal :: character( '\u{1}' ) . to_string( ) , "'\\ u{1}'" ) ;
30-
31- assert_eq ! ( Literal :: byte_character( b'a' ) . to_string( ) , "b'a'" ) ;
32- assert_eq ! ( Literal :: byte_character( 0 ) . to_string( ) , "b'\\ x00'" ) ;
22+ assert_eq ! ( Literal :: string( "aA" ) . to_string( ) , r#" "aA" "# . trim( ) ) ;
23+ assert_eq ! ( Literal :: string( "\t " ) . to_string( ) , r#" "\t" "# . trim( ) ) ;
24+ assert_eq ! ( Literal :: string( "❤" ) . to_string( ) , r#" "❤" "# . trim( ) ) ;
25+ assert_eq ! ( Literal :: string( "'" ) . to_string( ) , r#" "'" "# . trim( ) ) ;
26+ assert_eq ! ( Literal :: string( "\" " ) . to_string( ) , r#" "\"" "# . trim( ) ) ;
27+ assert_eq ! ( Literal :: string( "\0 " ) . to_string( ) , r#" "\0" "# . trim( ) ) ;
28+ assert_eq ! ( Literal :: string( "\u{1} " ) . to_string( ) , r#" "\u{1}" "# . trim( ) ) ;
29+
30+ assert_eq ! ( Literal :: byte_string( b"aA" ) . to_string( ) , r#" b"aA" "# . trim( ) ) ;
31+ assert_eq ! ( Literal :: byte_string( b"\t " ) . to_string( ) , r#" b"\t" "# . trim( ) ) ;
32+ assert_eq ! ( Literal :: byte_string( b"'" ) . to_string( ) , r#" b"\'" "# . trim( ) ) ;
33+ assert_eq ! ( Literal :: byte_string( b"\" " ) . to_string( ) , r#" b"\"" "# . trim( ) ) ;
34+ assert_eq ! ( Literal :: byte_string( b"\0 " ) . to_string( ) , r#" b"\x00" "# . trim( ) ) ;
35+ assert_eq ! ( Literal :: byte_string( b"\x01 " ) . to_string( ) , r#" b"\x01" "# . trim( ) ) ;
36+
37+ assert_eq ! ( Literal :: c_string( c"aA" ) . to_string( ) , r#" c"aA" "# . trim( ) ) ;
38+ assert_eq ! ( Literal :: c_string( c"\t " ) . to_string( ) , r#" c"\t" "# . trim( ) ) ;
39+ assert_eq ! ( Literal :: c_string( c"❤" ) . to_string( ) , r#" c"\xe2\x9d\xa4" "# . trim( ) ) ;
40+ assert_eq ! ( Literal :: c_string( c"\' " ) . to_string( ) , r#" c"\'" "# . trim( ) ) ;
41+ assert_eq ! ( Literal :: c_string( c"\" " ) . to_string( ) , r#" c"\"" "# . trim( ) ) ;
42+ assert_eq ! ( Literal :: c_string( c"\x7f \xff \xfe \u{333} " ) . to_string( ) , r#" c"\x7f\xff\xfe\xcc\xb3" "# . trim( ) ) ;
43+
44+ assert_eq ! ( Literal :: character( 'a' ) . to_string( ) , r#" 'a' "# . trim( ) ) ;
45+ assert_eq ! ( Literal :: character( '\t' ) . to_string( ) , r#" '\t' "# . trim( ) ) ;
46+ assert_eq ! ( Literal :: character( '❤' ) . to_string( ) , r#" '❤' "# . trim( ) ) ;
47+ assert_eq ! ( Literal :: character( '\'' ) . to_string( ) , r#" '\'' "# . trim( ) ) ;
48+ assert_eq ! ( Literal :: character( '"' ) . to_string( ) , r#" '"' "# . trim( ) ) ;
49+ assert_eq ! ( Literal :: character( '\0' ) . to_string( ) , r#" '\0' "# . trim( ) ) ;
50+ assert_eq ! ( Literal :: character( '\u{1}' ) . to_string( ) , r#" '\u{1}' "# . trim( ) ) ;
51+
52+ assert_eq ! ( Literal :: byte_character( b'a' ) . to_string( ) , r#" b'a' "# . trim( ) ) ;
53+ assert_eq ! ( Literal :: byte_character( b'\t' ) . to_string( ) , r#" b'\t' "# . trim( ) ) ;
54+ assert_eq ! ( Literal :: byte_character( b'\'' ) . to_string( ) , r#" b'\'' "# . trim( ) ) ;
55+ assert_eq ! ( Literal :: byte_character( b'"' ) . to_string( ) , r#" b'\"' "# . trim( ) ) ;
56+ assert_eq ! ( Literal :: byte_character( 0 ) . to_string( ) , r#" b'\x00' "# . trim( ) ) ;
57+ assert_eq ! ( Literal :: byte_character( 1 ) . to_string( ) , r#" b'\x01' "# . trim( ) ) ;
3358}
3459
3560fn test_parse_literal ( ) {
0 commit comments