@@ -1165,6 +1165,14 @@ mod tests {
11651165
11661166 use std::serialize::Decodable;
11671167
1168+ #[auto_encode]
1169+ #[auto_decode]
1170+ #[deriving(Eq)]
1171+ enum Animal {
1172+ Dog,
1173+ Frog(~str, int)
1174+ }
1175+
11681176 fn mk_object(items: &[(~str, Json)]) -> Json {
11691177 let mut d = ~LinearMap::new();
11701178
@@ -1180,49 +1188,62 @@ mod tests {
11801188 #[test]
11811189 fn test_write_null() {
11821190 assert_eq!(to_str(&Null), ~" null");
1191+ assert_eq!(to_pretty_str(&Null), ~" null");
11831192 }
11841193
1194+
11851195 #[test]
11861196 fn test_write_number() {
11871197 assert_eq!(to_str(&Number(3f)), ~" 3 ");
1198+ assert_eq!(to_pretty_str(&Number(3f)), ~" 3 ");
1199+
11881200 assert_eq!(to_str(&Number(3.1f)), ~" 3.1 ");
1201+ assert_eq!(to_pretty_str(&Number(3.1f)), ~" 3.1 ");
1202+
11891203 assert_eq!(to_str(&Number(-1.5f)), ~" -1.5 ");
1204+ assert_eq!(to_pretty_str(&Number(-1.5f)), ~" -1.5 ");
1205+
11901206 assert_eq!(to_str(&Number(0.5f)), ~" 0.5 ");
1207+ assert_eq!(to_pretty_str(&Number(0.5f)), ~" 0.5 ");
11911208 }
11921209
11931210 #[test]
11941211 fn test_write_str() {
11951212 assert_eq!(to_str(&String(~" ")), ~"\" \" " ) ;
1213+ assert_eq ! ( to_pretty_str( & String ( ~"") ) , ~"\" \" ") ;
1214+
11961215 assert_eq!( to_str( & String ( ~"foo")), ~"\" foo\" " ) ;
1216+ assert_eq!( to_pretty_str( & String ( ~"foo")), ~"\" foo\" " ) ;
11971217 }
11981218
11991219 #[ test]
12001220 fn test_write_bool( ) {
12011221 assert_eq!( to_str( & Boolean ( true ) ) , ~"true ");
1222+ assert_eq!(to_pretty_str(&Boolean(true)), ~" true ");
1223+
12021224 assert_eq!(to_str(&Boolean(false)), ~" false ");
1225+ assert_eq!(to_pretty_str(&Boolean(false)), ~" false ");
12031226 }
12041227
12051228 #[test]
12061229 fn test_write_list() {
12071230 assert_eq!(to_str(&List(~[])), ~" [ ] ");
1208- assert_eq!(to_str(&List(~[Boolean(true)])), ~" [ true ] ");
1209- assert_eq!(to_str(&List(~[
1210- Boolean(false),
1211- Null,
1212- List(~[String(~" foo\n bar"), Number(3.5f)])
1213- ])), ~" [ false , null, [ \" foo\\ nbar\" , 3.5 ] ] ");
1214- }
1215-
1216- #[test]
1217- fn test_write_list_pretty() {
12181231 assert_eq!(to_pretty_str(&List(~[])), ~" [ ] ");
1232+
1233+ assert_eq!(to_str(&List(~[Boolean(true)])), ~" [ true ] ");
12191234 assert_eq!(
12201235 to_pretty_str(&List(~[Boolean(true)])),
12211236 ~"\
12221237 [\n \
12231238 true\n \
12241239 ]"
12251240 ) ;
1241+
1242+ assert_eq!( to_str( & List ( ~[
1243+ Boolean ( false ) ,
1244+ Null ,
1245+ List ( ~[ String ( ~"foo\n bar"), Number(3.5f)])
1246+ ])), ~" [ false , null, [ \" foo\\ nbar\" , 3.5 ] ] ");
12261247 assert_eq!(
12271248 to_pretty_str(&List(~[
12281249 Boolean(false),
@@ -1244,10 +1265,20 @@ mod tests {
12441265 #[ test]
12451266 fn test_write_object( ) {
12461267 assert_eq!( to_str( & mk_object( ~[ ] ) ) , ~"{ } ");
1268+ assert_eq!(to_pretty_str(&mk_object(~[])), ~" { } ");
1269+
12471270 assert_eq!(
12481271 to_str(&mk_object(~[(~" a", Boolean(true))])),
12491272 ~" { \" a\" : true } "
12501273 );
1274+ assert_eq!(
1275+ to_pretty_str(&mk_object(~[(~" a", Boolean(true))])),
1276+ ~"\
1277+ {\n \
1278+ \" a\" : true\n \
1279+ }"
1280+ ) ;
1281+
12511282 assert_eq!(
12521283 to_str( & mk_object( ~[
12531284 ( ~"b", List(~[
@@ -1262,29 +1293,6 @@ mod tests {
12621293 ] \
12631294 } "
12641295 );
1265- let a = mk_object(~[
1266- (~" a", Boolean(true)),
1267- (~" b", List(~[
1268- mk_object(~[(~" c", String(~"\x0c \r " ) ) ] ) ,
1269- mk_object( ~[ ( ~"d", String(~" "))])
1270- ]))
1271- ]);
1272- // We can't compare the strings directly because the object fields be
1273- // printed in a different order.
1274- let b = from_str(to_str(&a)).unwrap();
1275- assert_eq!(a, b);
1276- }
1277-
1278- #[test]
1279- fn test_write_object_pretty() {
1280- assert_eq!(to_pretty_str(&mk_object(~[])), ~" { } ");
1281- assert_eq!(
1282- to_pretty_str(&mk_object(~[(~" a", Boolean(true))])),
1283- ~"\
1284- {\n \
1285- \" a\" : true\n \
1286- }"
1287- ) ;
12881296 assert_eq!(
12891297 to_pretty_str(&mk_object(~[
12901298 (~" b", List(~[
@@ -1304,70 +1312,52 @@ mod tests {
13041312 ]\n \
13051313 }"
13061314 ) ;
1315+
13071316 let a = mk_object( ~[
13081317 ( ~"a", Boolean(true)),
13091318 (~" b", List(~[
13101319 mk_object(~[(~" c", String(~"\x0c \r " ) ) ] ) ,
13111320 mk_object( ~[ ( ~"d", String(~" "))])
13121321 ]))
13131322 ]);
1323+
13141324 // We can't compare the strings directly because the object fields be
13151325 // printed in a different order.
1316- let b = from_str(to_str(&a)).unwrap();
1317- assert_eq!(a, b);
1318- }
1319-
1320- #[auto_encode]
1321- #[auto_decode]
1322- #[deriving(Eq)]
1323- enum Animal {
1324- Dog,
1325- Frog(~str, int)
1326- }
1327-
1328- #[test]
1329- fn test_write_enum_no_args() {
1330- let animal = Dog;
1331-
1332- let s = do io::with_str_writer |wr| {
1333- let encoder = Encoder(wr);
1334- animal.encode(&encoder);
1335- };
1336- assert_eq!(s, ~"\" Dog\" " ) ;
1326+ assert_eq!(copy a, from_str(to_str(&a)).unwrap());
1327+ assert_eq!(copy a, from_str(to_pretty_str(&a)).unwrap());
13371328 }
13381329
13391330 #[test]
1340- fn test_write_enum_no_args_pretty ( ) {
1331+ fn test_write_enum () {
13411332 let animal = Dog;
1333+ assert_eq!(
1334+ do io::with_str_writer |wr| {
1335+ let encoder = Encoder(wr);
1336+ animal.encode(&encoder);
1337+ },
1338+ ~"\" Dog\" "
1339+ ) ;
1340+ assert_eq!(
1341+ do io:: with_str_writer |wr| {
1342+ let encoder = PrettyEncoder ( wr) ;
1343+ animal. encode( & encoder) ;
1344+ } ,
1345+ ~"\" Dog \" "
1346+ ) ;
13421347
1343- let s = do io:: with_str_writer |wr| {
1344- let encoder = PrettyEncoder ( wr) ;
1345- animal. encode( & encoder) ;
1346- } ;
1347- assert_eq!( s, ~"\" Dog \" ") ;
1348- }
1349-
1350- #[ test]
1351- fn test_write_enum_multiple_args( ) {
1352- let animal = Frog ( ~"Henry ", 349);
1353-
1354- let s = do io::with_str_writer |wr| {
1355- let encoder = Encoder(wr);
1356- animal.encode(&encoder);
1357- };
1358- assert_eq!(s, ~" [ \" Frog \" , \" Henry \" , 349 ] ");
1359- }
1360-
1361- #[test]
1362- fn test_write_enum_multiple_args_pretty() {
13631348 let animal = Frog ( ~"Henry ", 349);
1364-
1365- let s = do io::with_str_writer |wr| {
1366- let encoder = PrettyEncoder(wr);
1367- animal.encode(&encoder);
1368- };
13691349 assert_eq!(
1370- s,
1350+ do io::with_str_writer |wr| {
1351+ let encoder = Encoder(wr);
1352+ animal.encode(&encoder);
1353+ },
1354+ ~" [ \" Frog \" , \" Henry \" , 349 ] "
1355+ );
1356+ assert_eq!(
1357+ do io::with_str_writer |wr| {
1358+ let encoder = PrettyEncoder(wr);
1359+ animal.encode(&encoder);
1360+ },
13711361 ~"\
13721362 [\n \
13731363 \" Frog\" ,\n \
@@ -1385,10 +1375,7 @@ mod tests {
13851375 value.encode(&encoder);
13861376 };
13871377 assert_eq!(s, ~"\" jodhpurs\" " ) ;
1388- }
13891378
1390- #[ test]
1391- fn test_write_some_pretty( ) {
13921379 let value = Some ( ~"jodhpurs");
13931380 let s = do io::with_str_writer |wr| {
13941381 let encoder = PrettyEncoder(wr);
@@ -1405,11 +1392,7 @@ mod tests {
14051392 value. encode( & encoder) ;
14061393 } ;
14071394 assert_eq!( s, ~"null");
1408- }
14091395
1410- #[test]
1411- fn test_write_none_pretty() {
1412- let value: Option<~str> = None;
14131396 let s = do io::with_str_writer |wr| {
14141397 let encoder = Encoder(wr);
14151398 value.encode(&encoder);
0 commit comments