diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/rust/serde_bytes/tests | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/serde_bytes/tests')
-rw-r--r-- | third_party/rust/serde_bytes/tests/test_derive.rs | 36 | ||||
-rw-r--r-- | third_party/rust/serde_bytes/tests/test_partialeq.rs | 13 | ||||
-rw-r--r-- | third_party/rust/serde_bytes/tests/test_serde.rs | 59 |
3 files changed, 108 insertions, 0 deletions
diff --git a/third_party/rust/serde_bytes/tests/test_derive.rs b/third_party/rust/serde_bytes/tests/test_derive.rs new file mode 100644 index 0000000000..af0bbd89de --- /dev/null +++ b/third_party/rust/serde_bytes/tests/test_derive.rs @@ -0,0 +1,36 @@ +use serde_bytes::{ByteBuf, Bytes}; +use serde_derive::{Deserialize, Serialize}; +use std::borrow::Cow; + +#[derive(Serialize, Deserialize, PartialEq, Debug)] +struct Test<'a> { + #[serde(with = "serde_bytes")] + slice: &'a [u8], + + #[serde(with = "serde_bytes")] + vec: Vec<u8>, + + #[serde(with = "serde_bytes")] + bytes: &'a Bytes, + + #[serde(with = "serde_bytes")] + byte_buf: ByteBuf, + + #[serde(with = "serde_bytes")] + cow_slice: Cow<'a, [u8]>, + + #[serde(with = "serde_bytes")] + cow_bytes: Cow<'a, Bytes>, + + #[serde(with = "serde_bytes")] + boxed_slice: Box<[u8]>, + + #[serde(with = "serde_bytes")] + boxed_bytes: Box<Bytes>, +} + +#[derive(Serialize)] +struct Dst { + #[serde(with = "serde_bytes")] + bytes: [u8], +} diff --git a/third_party/rust/serde_bytes/tests/test_partialeq.rs b/third_party/rust/serde_bytes/tests/test_partialeq.rs new file mode 100644 index 0000000000..549764135e --- /dev/null +++ b/third_party/rust/serde_bytes/tests/test_partialeq.rs @@ -0,0 +1,13 @@ +use serde_bytes::{Bytes, ByteBuf}; + +fn _bytes_eq_slice(bytes: &Bytes, slice: &[u8]) -> bool { + bytes == slice +} + +fn _bytebuf_eq_vec(bytebuf: ByteBuf, vec: Vec<u8>) -> bool { + bytebuf == vec +} + +fn _bytes_eq_bytestring(bytes: &Bytes) -> bool { + bytes == b"..." +} diff --git a/third_party/rust/serde_bytes/tests/test_serde.rs b/third_party/rust/serde_bytes/tests/test_serde.rs new file mode 100644 index 0000000000..d48e3fd434 --- /dev/null +++ b/third_party/rust/serde_bytes/tests/test_serde.rs @@ -0,0 +1,59 @@ +use serde_bytes::{ByteBuf, Bytes}; +use serde_test::{assert_de_tokens, assert_ser_tokens, assert_tokens, Token}; + +#[test] +fn test_bytes() { + let empty = Bytes::new(&[]); + assert_tokens(&empty, &[Token::BorrowedBytes(b"")]); + assert_ser_tokens(&empty, &[Token::Bytes(b"")]); + assert_ser_tokens(&empty, &[Token::ByteBuf(b"")]); + assert_de_tokens(&empty, &[Token::BorrowedStr("")]); + + let buf = vec![65, 66, 67]; + let bytes = Bytes::new(&buf); + assert_tokens(&bytes, &[Token::BorrowedBytes(b"ABC")]); + assert_ser_tokens(&bytes, &[Token::Bytes(b"ABC")]); + assert_ser_tokens(&bytes, &[Token::ByteBuf(b"ABC")]); + assert_de_tokens(&bytes, &[Token::BorrowedStr("ABC")]); +} + +#[test] +fn test_byte_buf() { + let empty = ByteBuf::new(); + assert_tokens(&empty, &[Token::BorrowedBytes(b"")]); + assert_tokens(&empty, &[Token::Bytes(b"")]); + assert_tokens(&empty, &[Token::ByteBuf(b"")]); + assert_de_tokens(&empty, &[Token::BorrowedStr("")]); + assert_de_tokens(&empty, &[Token::Str("")]); + assert_de_tokens(&empty, &[Token::String("")]); + assert_de_tokens(&empty, &[Token::Seq { len: None }, Token::SeqEnd]); + assert_de_tokens(&empty, &[Token::Seq { len: Some(0) }, Token::SeqEnd]); + + let buf = ByteBuf::from(vec![65, 66, 67]); + assert_tokens(&buf, &[Token::BorrowedBytes(b"ABC")]); + assert_tokens(&buf, &[Token::Bytes(b"ABC")]); + assert_tokens(&buf, &[Token::ByteBuf(b"ABC")]); + assert_de_tokens(&buf, &[Token::BorrowedStr("ABC")]); + assert_de_tokens(&buf, &[Token::Str("ABC")]); + assert_de_tokens(&buf, &[Token::String("ABC")]); + assert_de_tokens( + &buf, + &[ + Token::Seq { len: None }, + Token::U8(65), + Token::U8(66), + Token::U8(67), + Token::SeqEnd, + ], + ); + assert_de_tokens( + &buf, + &[ + Token::Seq { len: Some(3) }, + Token::U8(65), + Token::U8(66), + Token::U8(67), + Token::SeqEnd, + ], + ); +} |