1- use super :: super :: sorted_json :: * ;
1+ use super :: super :: ordered_json :: * ;
22
3- fn check ( json : SortedJson , serialized : & str ) {
3+ fn check ( json : OrderedJson , serialized : & str ) {
44 assert_eq ! ( json. to_string( ) , serialized) ;
55 assert_eq ! ( serde_json:: to_string( & json) . unwrap( ) , serialized) ;
66
77 let json = json. to_string ( ) ;
8- let json: SortedJson = serde_json:: from_str ( & json) . unwrap ( ) ;
8+ let json: OrderedJson = serde_json:: from_str ( & json) . unwrap ( ) ;
99
1010 assert_eq ! ( json. to_string( ) , serialized) ;
1111 assert_eq ! ( serde_json:: to_string( & json) . unwrap( ) , serialized) ;
1212
1313 let json = serde_json:: to_string ( & json) . unwrap ( ) ;
14- let json: SortedJson = serde_json:: from_str ( & json) . unwrap ( ) ;
14+ let json: OrderedJson = serde_json:: from_str ( & json) . unwrap ( ) ;
1515
1616 assert_eq ! ( json. to_string( ) , serialized) ;
1717 assert_eq ! ( serde_json:: to_string( & json) . unwrap( ) , serialized) ;
1818}
1919
20- // Test this basic are needed because we are testing that our Display impl + serialize impl don't
21- // nest everything in extra level of string. We also are testing round trip.
20+ // Make sure there is no extra level of string, plus number of escapes.
2221#[ test]
2322fn escape_json_number ( ) {
24- let json = SortedJson :: serialize ( 3 ) ;
23+ let json = OrderedJson :: serialize ( 3 ) . unwrap ( ) ;
2524 let json = EscapedJson :: from ( json) ;
2625 assert_eq ! ( format!( "{json}" ) , "3" ) ;
2726}
2827
2928#[ test]
3029fn escape_json_single_quote ( ) {
31- let json = SortedJson :: serialize ( "he's" ) ;
30+ let json = OrderedJson :: serialize ( "he's" ) . unwrap ( ) ;
3231 let json = EscapedJson :: from ( json) ;
3332 assert_eq ! ( format!( "{json}" ) , r#""he\'s""# ) ;
3433}
3534
3635#[ test]
3736fn escape_json_array ( ) {
38- let json = SortedJson :: serialize ( [ 1 , 2 , 3 ] ) ;
37+ let json = OrderedJson :: serialize ( [ 1 , 2 , 3 ] ) . unwrap ( ) ;
3938 let json = EscapedJson :: from ( json) ;
4039 assert_eq ! ( format!( "{json}" ) , r#"[1,2,3]"# ) ;
4140}
4241
4342#[ test]
4443fn escape_json_string ( ) {
45- let json = SortedJson :: serialize ( r#"he"llo"# ) ;
44+ let json = OrderedJson :: serialize ( r#"he"llo"# ) . unwrap ( ) ;
4645 let json = EscapedJson :: from ( json) ;
4746 assert_eq ! ( format!( "{json}" ) , r#""he\\\"llo""# ) ;
4847}
4948
5049#[ test]
5150fn escape_json_string_escaped ( ) {
52- let json = SortedJson :: serialize ( r#"he\"llo"# ) ;
51+ let json = OrderedJson :: serialize ( r#"he\"llo"# ) . unwrap ( ) ;
5352 let json = EscapedJson :: from ( json) ;
5453 assert_eq ! ( format!( "{json}" ) , r#""he\\\\\\\"llo""# ) ;
5554}
5655
5756#[ test]
5857fn escape_json_string_escaped_escaped ( ) {
59- let json = SortedJson :: serialize ( r#"he\\"llo"# ) ;
58+ let json = OrderedJson :: serialize ( r#"he\\"llo"# ) . unwrap ( ) ;
6059 let json = EscapedJson :: from ( json) ;
6160 assert_eq ! ( format!( "{json}" ) , r#""he\\\\\\\\\\\"llo""# ) ;
6261}
6362
63+ // Testing round trip + making sure there is no extra level of string
6464#[ test]
6565fn number ( ) {
66- let json = SortedJson :: serialize ( 3 ) ;
66+ let json = OrderedJson :: serialize ( 3 ) . unwrap ( ) ;
6767 let serialized = "3" ;
6868 check ( json, serialized) ;
6969}
7070
7171#[ test]
7272fn boolean ( ) {
73- let json = SortedJson :: serialize ( true ) ;
73+ let json = OrderedJson :: serialize ( true ) . unwrap ( ) ;
7474 let serialized = "true" ;
7575 check ( json, serialized) ;
7676}
7777
7878#[ test]
7979fn string ( ) {
80- let json = SortedJson :: serialize ( "he\" llo" ) ;
80+ let json = OrderedJson :: serialize ( "he\" llo" ) . unwrap ( ) ;
8181 let serialized = r#""he\"llo""# ;
8282 check ( json, serialized) ;
8383}
8484
8585#[ test]
8686fn serialize_array ( ) {
87- let json = SortedJson :: serialize ( [ 3 , 1 , 2 ] ) ;
87+ let json = OrderedJson :: serialize ( [ 3 , 1 , 2 ] ) . unwrap ( ) ;
8888 let serialized = "[3,1,2]" ;
8989 check ( json, serialized) ;
9090}
@@ -93,18 +93,19 @@ fn serialize_array() {
9393fn sorted_array ( ) {
9494 let items = [ "c" , "a" , "b" ] ;
9595 let serialized = r#"["a","b","c"]"# ;
96- let items: Vec < SortedJson > = items. into_iter ( ) . map ( SortedJson :: serialize) . collect ( ) ;
97- let json = SortedJson :: array ( items) ;
96+ let items: Vec < OrderedJson > =
97+ items. into_iter ( ) . map ( OrderedJson :: serialize) . collect :: < Result < Vec < _ > , _ > > ( ) . unwrap ( ) ;
98+ let json = OrderedJson :: array_sorted ( items) ;
9899 check ( json, serialized) ;
99100}
100101
101102#[ test]
102103fn nested_array ( ) {
103- let a = SortedJson :: serialize ( 3 ) ;
104- let b = SortedJson :: serialize ( 2 ) ;
105- let c = SortedJson :: serialize ( 1 ) ;
106- let d = SortedJson :: serialize ( [ 1 , 3 , 2 ] ) ;
107- let json = SortedJson :: array ( [ a, b, c, d] ) ;
104+ let a = OrderedJson :: serialize ( 3 ) . unwrap ( ) ;
105+ let b = OrderedJson :: serialize ( 2 ) . unwrap ( ) ;
106+ let c = OrderedJson :: serialize ( 1 ) . unwrap ( ) ;
107+ let d = OrderedJson :: serialize ( [ 1 , 3 , 2 ] ) . unwrap ( ) ;
108+ let json = OrderedJson :: array_sorted ( [ a, b, c, d] ) ;
108109 let serialized = r#"[1,2,3,[1,3,2]]"# ;
109110 check ( json, serialized) ;
110111}
@@ -113,7 +114,8 @@ fn nested_array() {
113114fn array_unsorted ( ) {
114115 let items = [ "c" , "a" , "b" ] ;
115116 let serialized = r#"["c","a","b"]"# ;
116- let items: Vec < SortedJson > = items. into_iter ( ) . map ( SortedJson :: serialize) . collect ( ) ;
117- let json = SortedJson :: array_unsorted ( items) ;
117+ let items: Vec < OrderedJson > =
118+ items. into_iter ( ) . map ( OrderedJson :: serialize) . collect :: < Result < Vec < _ > , _ > > ( ) . unwrap ( ) ;
119+ let json = OrderedJson :: array_unsorted ( items) ;
118120 check ( json, serialized) ;
119121}
0 commit comments