Skip to content

Commit b53b722

Browse files
authored
Merge pull request #60 from dtolnay/test
Switch to serde_test and drop dependency on serde_json
2 parents 2f27c44 + 8e7389a commit b53b722

File tree

2 files changed

+29
-32
lines changed

2 files changed

+29
-32
lines changed

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ readme = "README.md"
1717

1818
[features]
1919
nightly = []
20-
serde_impl = ["serde", "serde_json"]
20+
serde_impl = ["serde", "serde_test"]
2121

2222
[dependencies]
2323
clippy = { version = "0.*", optional = true }
2424
serde = { version = "^0.7", optional = true }
25-
serde_json = { version = "^0.7", optional = true }
25+
serde_test = { version = "^0.7", optional = true }

tests/serde.rs

+27-30
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,41 @@
11
#![cfg(feature = "serde_impl")]
22

33
extern crate linked_hash_map;
4-
extern crate serde;
5-
extern crate serde_json;
6-
74
use linked_hash_map::LinkedHashMap;
85

6+
extern crate serde_test;
7+
use serde_test::{Token, assert_tokens};
8+
99
#[test]
10-
fn test_ser_empty() {
11-
let map = LinkedHashMap::<String, u32>::new();
12-
let j = serde_json::to_string(&map).unwrap();
13-
let expected = "{}";
14-
assert_eq!(j, expected);
10+
fn test_ser_de_empty() {
11+
let map = LinkedHashMap::<char, u32>::new();
12+
13+
assert_tokens(&map, &[
14+
Token::MapStart(Some(0)),
15+
Token::MapEnd,
16+
]);
1517
}
1618

1719
#[test]
18-
fn test_ser() {
20+
fn test_ser_de() {
1921
let mut map = LinkedHashMap::new();
20-
map.insert("b", 20);
21-
map.insert("a", 10);
22-
map.insert("c", 30);
22+
map.insert('b', 20);
23+
map.insert('a', 10);
24+
map.insert('c', 30);
2325

24-
let j = serde_json::to_string(&map).unwrap();
25-
let expected = r#"{"b":20,"a":10,"c":30}"#;
26-
assert_eq!(j, expected);
27-
}
26+
assert_tokens(&map, &[
27+
Token::MapStart(Some(3)),
28+
Token::MapSep,
29+
Token::Char('b'),
30+
Token::I32(20),
2831

29-
#[test]
30-
fn test_de_empty() {
31-
let j = "{}";
32-
let map: LinkedHashMap<String, u32> = serde_json::from_str(j).unwrap();
33-
assert_eq!(map.len(), 0);
34-
}
32+
Token::MapSep,
33+
Token::Char('a'),
34+
Token::I32(10),
3535

36-
#[test]
37-
fn test_de() {
38-
let j = r#"{"b":20,"a":10,"c":30}"#;
39-
let map: LinkedHashMap<String, u32> = serde_json::from_str(j).unwrap();
40-
let items: Vec<_> = map.iter().map(|(k, v)| (k.clone(), *v)).collect();
41-
assert_eq!(items, [("b".to_owned(), 20),
42-
("a".to_owned(), 10),
43-
("c".to_owned(), 30)]);
36+
Token::MapSep,
37+
Token::Char('c'),
38+
Token::I32(30),
39+
Token::MapEnd,
40+
]);
4441
}

0 commit comments

Comments
 (0)