diff options
Diffstat (limited to 'vendor/bitflags/src/tests/unknown.rs')
| -rw-r--r-- | vendor/bitflags/src/tests/unknown.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/bitflags/src/tests/unknown.rs b/vendor/bitflags/src/tests/unknown.rs new file mode 100644 index 00000000..020f7e92 --- /dev/null +++ b/vendor/bitflags/src/tests/unknown.rs @@ -0,0 +1,40 @@ +use super::*; + +use crate::Flags; + +#[test] +fn cases() { + case(false, TestFlags::empty(), TestFlags::contains_unknown_bits); + case(false, TestFlags::A, TestFlags::contains_unknown_bits); + + case( + true, + TestFlags::ABC | TestFlags::from_bits_retain(1 << 3), + TestFlags::contains_unknown_bits, + ); + + case( + true, + TestFlags::empty() | TestFlags::from_bits_retain(1 << 3), + TestFlags::contains_unknown_bits, + ); + + case(false, TestFlags::all(), TestFlags::contains_unknown_bits); + + case(false, TestZero::empty(), TestZero::contains_unknown_bits); +} +#[track_caller] +fn case<T: Flags + std::fmt::Debug>(expected: bool, value: T, inherent: impl FnOnce(&T) -> bool) { + assert_eq!( + expected, + inherent(&value), + "{:?}.contains_unknown_bits()", + value + ); + assert_eq!( + expected, + Flags::contains_unknown_bits(&value), + "Flags::contains_unknown_bits({:?})", + value + ); +} |
