@@ -33,9 +33,15 @@ fn write_whole_file(path: &Path, data: &str) {
33
33
34
34
fn almost_equals ( a : & json:: Json , b : & json:: Json ) -> bool {
35
35
match ( a, b) {
36
- ( & json:: Number ( a) , & json:: Number ( b) ) => ( a - b) . abs ( ) < 1e-6 ,
37
- ( & json:: String ( ref a) , & json:: String ( ref b) ) => a == b,
36
+ ( & json:: I64 ( a) , _) => almost_equals ( & json:: F64 ( a as f64 ) , b) ,
37
+ ( & json:: U64 ( a) , _) => almost_equals ( & json:: F64 ( a as f64 ) , b) ,
38
+ ( _, & json:: I64 ( b) ) => almost_equals ( a, & json:: F64 ( b as f64 ) ) ,
39
+ ( _, & json:: U64 ( b) ) => almost_equals ( a, & json:: F64 ( b as f64 ) ) ,
40
+
41
+ ( & json:: F64 ( a) , & json:: F64 ( b) ) => ( a - b) . abs ( ) < 1e-6 ,
42
+
38
43
( & json:: Boolean ( a) , & json:: Boolean ( b) ) => a == b,
44
+ ( & json:: String ( ref a) , & json:: String ( ref b) ) => a == b,
39
45
( & json:: List ( ref a) , & json:: List ( ref b) )
40
46
=> a. iter ( ) . zip ( b. iter ( ) ) . all ( |( ref a, ref b) | almost_equals ( * a, * b) ) ,
41
47
( & json:: Object ( _) , & json:: Object ( _) ) => fail ! ( "Not implemented" ) ,
@@ -82,7 +88,7 @@ fn run_raw_json_tests(json_data: &str, run: |json::Json, json::Json|) {
82
88
match ( & input, item) {
83
89
( & None , json_obj) => input = Some ( json_obj) ,
84
90
( & Some ( _) , expected) => {
85
- let input = input. take_unwrap ( ) ;
91
+ let input = input. take ( ) . unwrap ( ) ;
86
92
run ( input, expected)
87
93
} ,
88
94
} ;
@@ -417,8 +423,8 @@ impl ToJson for ComponentValue {
417
423
418
424
Number ( ref value) => json:: List ( vec ! ( JString !( "number" ) ) + numeric ( value) ) ,
419
425
Percentage ( ref value) => json:: List ( vec ! ( JString !( "percentage" ) ) + numeric ( value) ) ,
420
- Dimension ( ref value, ref unit)
421
- => json :: List ( vec ! ( JString !( "dimension" ) ) + numeric ( value) + & [ unit. to_json ( ) ] ) ,
426
+ Dimension ( ref value, ref unit) => json :: List (
427
+ vec ! ( JString !( "dimension" ) ) + numeric ( value) + [ unit. to_json ( ) ] . as_slice ( ) ) ,
422
428
423
429
UnicodeRange ( start, end)
424
430
=> JList ! ( JString !( "unicode-range" ) , start. to_json( ) , end. to_json( ) ) ,
0 commit comments