feat(serde): Add hooks for fixed-sized arrays

Closes #244
This commit is contained in:
Erick Tryzelaar
2016-02-23 05:15:44 -08:00
parent d24b2c86f2
commit 76b3dead9b
8 changed files with 335 additions and 59 deletions
+52 -8
View File
@@ -186,27 +186,27 @@ declare_tests! {
],
TupleStruct(1, 2, 3) => vec![
Token::TupleStructStart("TupleStruct", Some(3)),
Token::TupleSeqSep,
Token::TupleStructSep,
Token::I32(1),
Token::TupleSeqSep,
Token::TupleStructSep,
Token::I32(2),
Token::TupleSeqSep,
Token::TupleStructSep,
Token::I32(3),
Token::TupleSeqEnd,
Token::TupleStructEnd,
],
TupleStruct(1, 2, 3) => vec![
Token::TupleStructStart("TupleStruct", None),
Token::TupleSeqSep,
Token::TupleStructSep,
Token::I32(1),
Token::TupleSeqSep,
Token::TupleStructSep,
Token::I32(2),
Token::TupleSeqSep,
Token::TupleStructSep,
Token::I32(3),
Token::TupleSeqEnd,
Token::TupleStructEnd,
],
}
test_btreeset {
@@ -321,6 +321,10 @@ declare_tests! {
Token::SeqStart(Some(0)),
Token::SeqEnd,
],
[0; 0] => vec![
Token::SeqArrayStart(0),
Token::SeqEnd,
],
([0; 0], [1], [2, 3]) => vec![
Token::SeqStart(Some(3)),
Token::SeqSep,
@@ -343,6 +347,28 @@ declare_tests! {
Token::SeqEnd,
Token::SeqEnd,
],
([0; 0], [1], [2, 3]) => vec![
Token::SeqArrayStart(3),
Token::SeqSep,
Token::SeqArrayStart(0),
Token::SeqEnd,
Token::SeqSep,
Token::SeqArrayStart(1),
Token::SeqSep,
Token::I32(1),
Token::SeqEnd,
Token::SeqSep,
Token::SeqArrayStart(2),
Token::SeqSep,
Token::I32(2),
Token::SeqSep,
Token::I32(3),
Token::SeqEnd,
Token::SeqEnd,
],
[0; 0] => vec![
Token::UnitStruct("Anything"),
],
@@ -370,6 +396,24 @@ declare_tests! {
Token::I32(3),
Token::SeqEnd,
],
(1,) => vec![
Token::TupleStart(1),
Token::TupleSep,
Token::I32(1),
Token::TupleEnd,
],
(1, 2, 3) => vec![
Token::TupleStart(3),
Token::TupleSep,
Token::I32(1),
Token::TupleSep,
Token::I32(2),
Token::TupleSep,
Token::I32(3),
Token::TupleEnd,
],
}
test_btreemap {
BTreeMap::<isize, isize>::new() => vec![