Skip to content

Commit 9bbf384

Browse files
committed
std: clean up the json pretty printer tests
1 parent 909d8f0 commit 9bbf384

File tree

1 file changed

+71
-88
lines changed

1 file changed

+71
-88
lines changed

src/libstd/json.rs

+71-88
Original file line numberDiff line numberDiff line change
@@ -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\nbar"), 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\nbar"), 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

Comments
 (0)