summaryrefslogtreecommitdiffstats
path: root/third_party/rust/linked-hash-map/tests/serde.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/linked-hash-map/tests/serde.rs')
-rw-r--r--third_party/rust/linked-hash-map/tests/serde.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/third_party/rust/linked-hash-map/tests/serde.rs b/third_party/rust/linked-hash-map/tests/serde.rs
new file mode 100644
index 0000000000..e6d5c6ff85
--- /dev/null
+++ b/third_party/rust/linked-hash-map/tests/serde.rs
@@ -0,0 +1,38 @@
+#![cfg(feature = "serde_impl")]
+
+extern crate linked_hash_map;
+use linked_hash_map::LinkedHashMap;
+
+extern crate serde_test;
+use serde_test::{Token, assert_tokens};
+
+#[test]
+fn test_ser_de_empty() {
+ let map = LinkedHashMap::<char, u32>::new();
+
+ assert_tokens(&map, &[
+ Token::Map { len: Some(0) },
+ Token::MapEnd,
+ ]);
+}
+
+#[test]
+fn test_ser_de() {
+ let mut map = LinkedHashMap::new();
+ map.insert('b', 20);
+ map.insert('a', 10);
+ map.insert('c', 30);
+
+ assert_tokens(&map, &[
+ Token::Map { len: Some(3) },
+ Token::Char('b'),
+ Token::I32(20),
+
+ Token::Char('a'),
+ Token::I32(10),
+
+ Token::Char('c'),
+ Token::I32(30),
+ Token::MapEnd,
+ ]);
+}