mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-16 02:31:13 +00:00
60 lines
1.6 KiB
Rust
60 lines
1.6 KiB
Rust
#![cfg(feature = "serde-1")]
|
|
|
|
#[macro_use]
|
|
extern crate indexmap;
|
|
extern crate serde_test;
|
|
extern crate fnv;
|
|
|
|
use serde_test::{Token, assert_tokens};
|
|
|
|
#[test]
|
|
fn test_serde() {
|
|
let map = indexmap! { 1 => 2, 3 => 4 };
|
|
assert_tokens(&map,
|
|
&[Token::Map { len: Some(2) },
|
|
Token::I32(1),
|
|
Token::I32(2),
|
|
Token::I32(3),
|
|
Token::I32(4),
|
|
Token::MapEnd]);
|
|
}
|
|
|
|
#[test]
|
|
fn test_serde_set() {
|
|
let set = indexset! { 1, 2, 3, 4 };
|
|
assert_tokens(&set,
|
|
&[Token::Seq { len: Some(4) },
|
|
Token::I32(1),
|
|
Token::I32(2),
|
|
Token::I32(3),
|
|
Token::I32(4),
|
|
Token::SeqEnd]);
|
|
}
|
|
|
|
#[test]
|
|
fn test_serde_fnv_hasher() {
|
|
let mut map: ::indexmap::IndexMap<i32, i32, ::fnv::FnvBuildHasher> = Default::default();
|
|
map.insert(1, 2);
|
|
map.insert(3, 4);
|
|
assert_tokens(&map,
|
|
&[Token::Map { len: Some(2) },
|
|
Token::I32(1),
|
|
Token::I32(2),
|
|
Token::I32(3),
|
|
Token::I32(4),
|
|
Token::MapEnd]);
|
|
}
|
|
|
|
#[test]
|
|
fn test_serde_map_fnv_hasher() {
|
|
let mut set: ::indexmap::IndexSet<i32, ::fnv::FnvBuildHasher> = Default::default();
|
|
set.extend(1..5);
|
|
assert_tokens(&set,
|
|
&[Token::Seq { len: Some(4) },
|
|
Token::I32(1),
|
|
Token::I32(2),
|
|
Token::I32(3),
|
|
Token::I32(4),
|
|
Token::SeqEnd]);
|
|
}
|