Skip to content

Commit

Permalink
tests: Add better tests for serde feature
Browse files Browse the repository at this point in the history
  • Loading branch information
GrayJack committed Jan 21, 2025
1 parent b5dd463 commit 96a4430
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 27 deletions.
11 changes: 11 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 33 additions & 26 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,37 +15,13 @@ exclude = ["/tests", "/.github"]
[dependencies]
bitflags-attr-macros = { version = "=0.9.0", path = "bitflags-attr-macros" }

[[test]]
name = "tests"
path = "tests/progress.rs"

[[test]]
name = "generated_api_tests"
path = "tests/api.rs"

[[test]]
name = "bitflags_imported_tests"
path = "tests/bitflags.rs"

[[test]]
name = "arbitrary_tests"
path = "tests/arbitrary.rs"
required-features = ["arbitrary"]

[[test]]
name = "bytemuck_tests"
path = "tests/bytemuck.rs"
required-features = ["bytemuck"]

[[example]]
name = "serde"
required-features = ["serde"]

[dev-dependencies]
trybuild = "1.0"
serde = "1.0"
arbitrary = "1.0"
bytemuck = "1.0"
serde_json = "1.0"
serde_test = "1.0.19"

[features]
default = []
Expand All @@ -69,3 +45,34 @@ const-mut-ref = ["bitflags-attr-macros/const-mut-ref"]

[workspace]
members = ["bitflags-attr-macros"]

[[test]]
name = "tests"
path = "tests/progress.rs"

[[test]]
name = "generated_api_tests"
path = "tests/api.rs"

[[test]]
name = "bitflags_imported_tests"
path = "tests/bitflags.rs"

[[test]]
name = "serde_tests"
path = "tests/serde.rs"
required-features = ["serde"]

[[test]]
name = "arbitrary_tests"
path = "tests/arbitrary.rs"
required-features = ["arbitrary"]

[[test]]
name = "bytemuck_tests"
path = "tests/bytemuck.rs"
required-features = ["bytemuck"]

[[example]]
name = "serde"
required-features = ["serde"]
1 change: 0 additions & 1 deletion examples/serde.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use bitflag_attr::bitflag;
use serde::{Deserialize, Serialize};

#[bitflag(u32)]
#[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Hash, Deserialize, Serialize)]
Expand Down
23 changes: 23 additions & 0 deletions tests/serde.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
use bitflag_attr::bitflag;

use serde_test::{assert_tokens, Configure, Token::*};

#[bitflag(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
enum SerdeFlags {
A = 1,
B = 2,
C = 4,
D = 8,
}

#[test]
fn bytemuck_works() {
assert_tokens(&SerdeFlags::empty().readable(), &[Str("")]);

assert_tokens(&SerdeFlags::empty().compact(), &[U32(0)]);

assert_tokens(&(SerdeFlags::A | SerdeFlags::B).readable(), &[Str("A | B")]);

assert_tokens(&(SerdeFlags::A | SerdeFlags::B).compact(), &[U32(1 | 2)]);
}

0 comments on commit 96a4430

Please sign in to comment.