1 #![cfg(feature = "serde-1")]
3 extern crate serde_test
;
6 use arrayvec
::ArrayVec
;
8 use serde_test
::{Token, assert_tokens, assert_de_tokens_error}
;
11 fn test_ser_de_empty() {
12 let vec
= ArrayVec
::<[u32; 0]>::new();
14 assert_tokens(&vec
, &[
15 Token
::Seq { len: Some(0) }
,
23 let mut vec
= ArrayVec
::<[u32; 3]>::new();
28 assert_tokens(&vec
, &[
29 Token
::Seq { len: Some(3) }
,
38 fn test_de_too_large() {
39 assert_de_tokens_error
::<ArrayVec
<[u32; 2]>>(&[
40 Token
::Seq { len: Some(3) }
,
44 ], "invalid length 3, expected an array with no more than 2 items");
49 use arrayvec
::ArrayString
;
51 use serde_test
::{Token, assert_tokens, assert_de_tokens_error}
;
54 fn test_ser_de_empty() {
55 let string
= ArrayString
::<[u8; 0]>::new();
57 assert_tokens(&string
, &[
65 let string
= ArrayString
::<[u8; 9]>::from("1234 abcd")
66 .expect("expected exact specified capacity to be enough");
68 assert_tokens(&string
, &[
69 Token
::Str("1234 abcd"),
74 fn test_de_too_large() {
75 assert_de_tokens_error
::<ArrayString
<[u8; 2]>>(&[
77 ], "invalid length 3, expected a string no more than 2 bytes long");