@@ -1165,6 +1165,14 @@ mod tests {
1165
1165
1166
1166
use std::serialize::Decodable;
1167
1167
1168
+ #[auto_encode]
1169
+ #[auto_decode]
1170
+ #[deriving(Eq)]
1171
+ enum Animal {
1172
+ Dog,
1173
+ Frog(~str, int)
1174
+ }
1175
+
1168
1176
fn mk_object(items: &[(~str, Json)]) -> Json {
1169
1177
let mut d = ~LinearMap::new();
1170
1178
@@ -1180,49 +1188,62 @@ mod tests {
1180
1188
#[test]
1181
1189
fn test_write_null() {
1182
1190
assert_eq!(to_str(&Null), ~" null");
1191
+ assert_eq!(to_pretty_str(&Null), ~" null");
1183
1192
}
1184
1193
1194
+
1185
1195
#[test]
1186
1196
fn test_write_number() {
1187
1197
assert_eq!(to_str(&Number(3f)), ~" 3 ");
1198
+ assert_eq!(to_pretty_str(&Number(3f)), ~" 3 ");
1199
+
1188
1200
assert_eq!(to_str(&Number(3.1f)), ~" 3.1 ");
1201
+ assert_eq!(to_pretty_str(&Number(3.1f)), ~" 3.1 ");
1202
+
1189
1203
assert_eq!(to_str(&Number(-1.5f)), ~" -1.5 ");
1204
+ assert_eq!(to_pretty_str(&Number(-1.5f)), ~" -1.5 ");
1205
+
1190
1206
assert_eq!(to_str(&Number(0.5f)), ~" 0.5 ");
1207
+ assert_eq!(to_pretty_str(&Number(0.5f)), ~" 0.5 ");
1191
1208
}
1192
1209
1193
1210
#[test]
1194
1211
fn test_write_str() {
1195
1212
assert_eq!(to_str(&String(~" ")), ~"\" \" " ) ;
1213
+ assert_eq ! ( to_pretty_str( & String ( ~"") ) , ~"\" \" ") ;
1214
+
1196
1215
assert_eq!( to_str( & String ( ~"foo")), ~"\" foo\" " ) ;
1216
+ assert_eq!( to_pretty_str( & String ( ~"foo")), ~"\" foo\" " ) ;
1197
1217
}
1198
1218
1199
1219
#[ test]
1200
1220
fn test_write_bool( ) {
1201
1221
assert_eq!( to_str( & Boolean ( true ) ) , ~"true ");
1222
+ assert_eq!(to_pretty_str(&Boolean(true)), ~" true ");
1223
+
1202
1224
assert_eq!(to_str(&Boolean(false)), ~" false ");
1225
+ assert_eq!(to_pretty_str(&Boolean(false)), ~" false ");
1203
1226
}
1204
1227
1205
1228
#[test]
1206
1229
fn test_write_list() {
1207
1230
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() {
1218
1231
assert_eq!(to_pretty_str(&List(~[])), ~" [ ] ");
1232
+
1233
+ assert_eq!(to_str(&List(~[Boolean(true)])), ~" [ true ] ");
1219
1234
assert_eq!(
1220
1235
to_pretty_str(&List(~[Boolean(true)])),
1221
1236
~"\
1222
1237
[\n \
1223
1238
true\n \
1224
1239
]"
1225
1240
) ;
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 ] ] ");
1226
1247
assert_eq!(
1227
1248
to_pretty_str(&List(~[
1228
1249
Boolean(false),
@@ -1244,10 +1265,20 @@ mod tests {
1244
1265
#[ test]
1245
1266
fn test_write_object( ) {
1246
1267
assert_eq!( to_str( & mk_object( ~[ ] ) ) , ~"{ } ");
1268
+ assert_eq!(to_pretty_str(&mk_object(~[])), ~" { } ");
1269
+
1247
1270
assert_eq!(
1248
1271
to_str(&mk_object(~[(~" a", Boolean(true))])),
1249
1272
~" { \" a\" : true } "
1250
1273
);
1274
+ assert_eq!(
1275
+ to_pretty_str(&mk_object(~[(~" a", Boolean(true))])),
1276
+ ~"\
1277
+ {\n \
1278
+ \" a\" : true\n \
1279
+ }"
1280
+ ) ;
1281
+
1251
1282
assert_eq!(
1252
1283
to_str( & mk_object( ~[
1253
1284
( ~"b", List(~[
@@ -1262,29 +1293,6 @@ mod tests {
1262
1293
] \
1263
1294
} "
1264
1295
);
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
- ) ;
1288
1296
assert_eq!(
1289
1297
to_pretty_str(&mk_object(~[
1290
1298
(~" b", List(~[
@@ -1304,70 +1312,52 @@ mod tests {
1304
1312
]\n \
1305
1313
}"
1306
1314
) ;
1315
+
1307
1316
let a = mk_object( ~[
1308
1317
( ~"a", Boolean(true)),
1309
1318
(~" b", List(~[
1310
1319
mk_object(~[(~" c", String(~"\x0c \r " ) ) ] ) ,
1311
1320
mk_object( ~[ ( ~"d", String(~" "))])
1312
1321
]))
1313
1322
]);
1323
+
1314
1324
// We can't compare the strings directly because the object fields be
1315
1325
// 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());
1337
1328
}
1338
1329
1339
1330
#[test]
1340
- fn test_write_enum_no_args_pretty ( ) {
1331
+ fn test_write_enum () {
1341
1332
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
+ ) ;
1342
1347
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() {
1363
1348
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
- };
1369
1349
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
+ },
1371
1361
~"\
1372
1362
[\n \
1373
1363
\" Frog\" ,\n \
@@ -1385,10 +1375,7 @@ mod tests {
1385
1375
value.encode(&encoder);
1386
1376
};
1387
1377
assert_eq!(s, ~"\" jodhpurs\" " ) ;
1388
- }
1389
1378
1390
- #[ test]
1391
- fn test_write_some_pretty( ) {
1392
1379
let value = Some ( ~"jodhpurs");
1393
1380
let s = do io::with_str_writer |wr| {
1394
1381
let encoder = PrettyEncoder(wr);
@@ -1405,11 +1392,7 @@ mod tests {
1405
1392
value. encode( & encoder) ;
1406
1393
} ;
1407
1394
assert_eq!( s, ~"null");
1408
- }
1409
1395
1410
- #[test]
1411
- fn test_write_none_pretty() {
1412
- let value: Option<~str> = None;
1413
1396
let s = do io::with_str_writer |wr| {
1414
1397
let encoder = Encoder(wr);
1415
1398
value.encode(&encoder);
0 commit comments