blob: 2cdf37d8907ef803a64ad73fe93cf8af014bf3fd [file] [log] [blame] [edit]
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![cfg(feature = "serde")]
use serde_test::Token;
use uguid::{guid, Guid};
#[test]
fn test_serde() {
let guid = guid!("01234567-89ab-cdef-0123-456789abcdef");
serde_test::assert_tokens(
&guid,
&[Token::Str("01234567-89ab-cdef-0123-456789abcdef")],
);
serde_test::assert_de_tokens_error::<Guid>(
&[Token::Str("1234")],
"GUID string has wrong length (expected 36 bytes)",
);
serde_test::assert_de_tokens_error::<Guid>(
&[Token::U64(1234)],
"invalid type: integer `1234`, expected a string in the format \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"");
}