diff options
Diffstat (limited to 'rust/vendor/enum_primitive/tests')
-rw-r--r-- | rust/vendor/enum_primitive/tests/image.rs | 109 | ||||
-rw-r--r-- | rust/vendor/enum_primitive/tests/omitted-discriminants.rs | 63 | ||||
-rw-r--r-- | rust/vendor/enum_primitive/tests/tests.rs | 235 |
3 files changed, 407 insertions, 0 deletions
diff --git a/rust/vendor/enum_primitive/tests/image.rs b/rust/vendor/enum_primitive/tests/image.rs new file mode 100644 index 0000000..8a31228 --- /dev/null +++ b/rust/vendor/enum_primitive/tests/image.rs @@ -0,0 +1,109 @@ +#[macro_use] extern crate enum_primitive; + +mod gif { + enum_from_primitive! { + /// Known block types + enum Block { + Image = 0x2C, + Extension = 0x21, + Trailer = 0x3B + } + } + + enum_from_primitive! { + /// Known GIF extensions + enum Extension { + Text = 0x01, + Control = 0xF9, + Comment = 0xFE, + Application = 0xFF + } + } + + enum_from_primitive! { + /// Method to dispose the image + enum DisposalMethod { + Undefined = 0, + None = 1, + Previous = 2, + Background = 3 + } + } +} + +mod png { + enum_from_primitive! { + #[derive(Clone, Copy, Debug, PartialEq)] + enum InterlaceMethod { + None = 0, + Adam7 = 1 + } + } + + enum_from_primitive! { + #[derive(Debug)] + pub enum FilterType { + NoFilter = 0, + Sub = 1, + Up = 2, + Avg = 3, + Paeth = 4 + } + } +} + +mod tiff { + enum_from_primitive! { + #[derive(Clone, Copy, Debug, PartialEq)] + enum PhotometricInterpretation { + WhiteIsZero = 0, + BlackIsZero = 1, + RGB = 2, + RGBPalette = 3, + TransparencyMask = 4, + CMYK = 5, + YCbCr = 6, + CIELab = 8, + } + } + + enum_from_primitive! { + #[derive(Clone, Copy, Debug)] + enum CompressionMethod { + None = 1, + Huffman = 2, + Fax3 = 3, + Fax4 = 4, + LZW = 5, + JPEG = 6, + PackBits = 32773 + } + } + + enum_from_primitive! { + #[derive(Clone, Copy, Debug)] + enum PlanarConfiguration { + Chunky = 1, + Planar = 2 + } + } + + enum_from_primitive! { + #[derive(Clone, Copy, Debug)] + enum Predictor { + None = 1, + Horizontal = 2 + } + } + + enum_from_primitive! { + #[derive(Clone, Copy, Debug)] + pub enum Type { + BYTE = 1, + ASCII = 2, + SHORT = 3, + LONG = 4, + RATIONAL = 5, + } + } +} diff --git a/rust/vendor/enum_primitive/tests/omitted-discriminants.rs b/rust/vendor/enum_primitive/tests/omitted-discriminants.rs new file mode 100644 index 0000000..307faa6 --- /dev/null +++ b/rust/vendor/enum_primitive/tests/omitted-discriminants.rs @@ -0,0 +1,63 @@ +#[macro_use] extern crate enum_primitive; + +enum_from_primitive! { enum E { } } +enum_from_primitive! { enum E0 { V0 } } +enum_from_primitive! { enum E0C { V0, } } +enum_from_primitive! { enum E1 { V0 = 0 } } +enum_from_primitive! { enum E1C { V0 = 0, } } +enum_from_primitive! { enum E00 { V0, V1 } } +enum_from_primitive! { enum E00C { V0, V1, } } +enum_from_primitive! { enum E01 { V0, V1 = 1 } } +enum_from_primitive! { enum E01C { V0, V1 = 1, } } +enum_from_primitive! { enum E10 { V0 = 0, V1 } } +enum_from_primitive! { enum E10C { V0 = 0, V1, } } +enum_from_primitive! { enum E11 { V0 = 0, V1 = 1 } } +enum_from_primitive! { enum E11C { V0 = 0, V1 = 1, } } +enum_from_primitive! { enum E000 { V0, V1, V2 } } +enum_from_primitive! { enum E000C { V0, V1, V2, } } +enum_from_primitive! { enum E001 { V0, V1, V2 = 2 } } +enum_from_primitive! { enum E001C { V0, V1, V2 = 2, } } +enum_from_primitive! { enum E010 { V0, V1 = 1, V2 } } +enum_from_primitive! { enum E010C { V0, V1 = 1, V2, } } +enum_from_primitive! { enum E011 { V0, V1 = 1, V2 = 2 } } +enum_from_primitive! { enum E011C { V0, V1 = 1, V2 = 2, } } +enum_from_primitive! { enum E100 { V0 = 0, V1, V2 } } +enum_from_primitive! { enum E100C { V0 = 0, V1, V2, } } +enum_from_primitive! { enum E101 { V0 = 0, V1, V2 = 2 } } +enum_from_primitive! { enum E101C { V0 = 0, V1, V2 = 2, } } +enum_from_primitive! { enum E110 { V0 = 0, V1 = 1, V2 } } +enum_from_primitive! { enum E110C { V0 = 0, V1 = 1, V2, } } +enum_from_primitive! { enum E111 { V0 = 0, V1 = 1, V2 = 2 } } +enum_from_primitive! { enum E111C { V0 = 0, V1 = 1, V2 = 2, } } +enum_from_primitive! { enum E0000 { V0, V1, V2, V3 } } +enum_from_primitive! { enum E0000C { V0, V1, V2, V3, } } +enum_from_primitive! { enum E0001 { V0, V1, V2, V3 = 3 } } +enum_from_primitive! { enum E0001C { V0, V1, V2, V3 = 3, } } +enum_from_primitive! { enum E0010 { V0, V1, V2 = 2, V3 } } +enum_from_primitive! { enum E0010C { V0, V1, V2 = 2, V3, } } +enum_from_primitive! { enum E0011 { V0, V1, V2 = 2, V3 = 3 } } +enum_from_primitive! { enum E0011C { V0, V1, V2 = 2, V3 = 3, } } +enum_from_primitive! { enum E0100 { V0, V1 = 1, V2, V3 } } +enum_from_primitive! { enum E0100C { V0, V1 = 1, V2, V3, } } +enum_from_primitive! { enum E0101 { V0, V1 = 1, V2, V3 = 3 } } +enum_from_primitive! { enum E0101C { V0, V1 = 1, V2, V3 = 3, } } +enum_from_primitive! { enum E0110 { V0, V1 = 1, V2 = 2, V3 } } +enum_from_primitive! { enum E0110C { V0, V1 = 1, V2 = 2, V3, } } +enum_from_primitive! { enum E0111 { V0, V1 = 1, V2 = 2, V3 = 3 } } +enum_from_primitive! { enum E0111C { V0, V1 = 1, V2 = 2, V3 = 3, } } +enum_from_primitive! { enum E1000 { V0 = 0, V1, V2, V3 } } +enum_from_primitive! { enum E1000C { V0 = 0, V1, V2, V3, } } +enum_from_primitive! { enum E1001 { V0 = 0, V1, V2, V3 = 3 } } +enum_from_primitive! { enum E1001C { V0 = 0, V1, V2, V3 = 3, } } +enum_from_primitive! { enum E1010 { V0 = 0, V1, V2 = 2, V3 } } +enum_from_primitive! { enum E1010C { V0 = 0, V1, V2 = 2, V3, } } +enum_from_primitive! { enum E1011 { V0 = 0, V1, V2 = 2, V3 = 3 } } +enum_from_primitive! { enum E1011C { V0 = 0, V1, V2 = 2, V3 = 3, } } +enum_from_primitive! { enum E1100 { V0 = 0, V1 = 1, V2, V3 } } +enum_from_primitive! { enum E1100C { V0 = 0, V1 = 1, V2, V3, } } +enum_from_primitive! { enum E1101 { V0 = 0, V1 = 1, V2, V3 = 3 } } +enum_from_primitive! { enum E1101C { V0 = 0, V1 = 1, V2, V3 = 3, } } +enum_from_primitive! { enum E1110 { V0 = 0, V1 = 1, V2 = 2, V3 } } +enum_from_primitive! { enum E1110C { V0 = 0, V1 = 1, V2 = 2, V3, } } +enum_from_primitive! { enum E1111 { V0 = 0, V1 = 1, V2 = 2, V3 = 3 } } +enum_from_primitive! { enum E1111C { V0 = 0, V1 = 1, V2 = 2, V3 = 3, } } diff --git a/rust/vendor/enum_primitive/tests/tests.rs b/rust/vendor/enum_primitive/tests/tests.rs new file mode 100644 index 0000000..4cdc3b4 --- /dev/null +++ b/rust/vendor/enum_primitive/tests/tests.rs @@ -0,0 +1,235 @@ +#[macro_use] extern crate enum_primitive as ep; + +enum_from_primitive! { +enum Unused { + A = 17, + B = 42 +} +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +enum Empty { +} +} + +#[test] +fn empty() { + use ep::FromPrimitive; + assert_eq!(Empty::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +enum One { + A = 17 +} +} + +#[test] +fn one() { + use ep::FromPrimitive; + assert_eq!(One::from_isize(17), Some(One::A)); + assert_eq!(One::from_isize(91), None); + assert_eq!(One::from_i8(17), Some(One::A)); + assert_eq!(One::from_i8(91), None); + assert_eq!(One::from_i16(17), Some(One::A)); + assert_eq!(One::from_i16(91), None); + assert_eq!(One::from_i32(17), Some(One::A)); + assert_eq!(One::from_i32(91), None); + assert_eq!(One::from_i64(17), Some(One::A)); + assert_eq!(One::from_i64(91), None); + assert_eq!(One::from_usize(17), Some(One::A)); + assert_eq!(One::from_usize(91), None); + assert_eq!(One::from_u8(17), Some(One::A)); + assert_eq!(One::from_u8(91), None); + assert_eq!(One::from_u16(17), Some(One::A)); + assert_eq!(One::from_u16(91), None); + assert_eq!(One::from_u32(17), Some(One::A)); + assert_eq!(One::from_u32(91), None); + assert_eq!(One::from_u64(17), Some(One::A)); + assert_eq!(One::from_u64(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +enum OneComma { + A = 17, +} +} + +#[test] +fn one_comma() { + use ep::FromPrimitive; + assert_eq!(OneComma::from_i32(17), Some(OneComma::A)); + assert_eq!(OneComma::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +enum Two { + A = 17, + B = 42 +} +} + +#[test] +fn two() { + use ep::FromPrimitive; + assert_eq!(PubTwo::from_i32(17), Some(PubTwo::A)); + assert_eq!(PubTwo::from_i32(42), Some(PubTwo::B)); + assert_eq!(PubTwo::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +enum TwoComma { + A = 17, + B = 42, +} +} + +#[test] +fn two_comma() { + use ep::FromPrimitive; + assert_eq!(TwoComma::from_i32(17), Some(TwoComma::A)); + assert_eq!(TwoComma::from_i32(42), Some(TwoComma::B)); + assert_eq!(TwoComma::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +pub enum PubEmpty { +} +} + +#[test] +fn pub_empty() { + use ep::FromPrimitive; + assert_eq!(PubEmpty::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +pub enum PubOne { + A = 17 +} +} + +#[test] +fn pub_one() { + use ep::FromPrimitive; + assert_eq!(PubOne::from_i32(17), Some(PubOne::A)); + assert_eq!(PubOne::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +pub enum PubOneComma { + A = 17, +} +} + +#[test] +fn pub_one_comma() { + use ep::FromPrimitive; + assert_eq!(PubOneComma::from_i32(17), Some(PubOneComma::A)); + assert_eq!(PubOneComma::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +pub enum PubTwo { + A = 17, + B = 42 +} +} + +#[test] +fn pub_two() { + use ep::FromPrimitive; + assert_eq!(PubTwo::from_i32(17), Some(PubTwo::A)); + assert_eq!(PubTwo::from_i32(42), Some(PubTwo::B)); + assert_eq!(PubTwo::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +pub enum PubTwoComma { + A = 17, + B = 42, +} +} + +#[test] +fn pub_two_comma() { + use ep::FromPrimitive; + assert_eq!(PubTwoComma::from_i32(17), Some(PubTwoComma::A)); + assert_eq!(PubTwoComma::from_i32(42), Some(PubTwoComma::B)); + assert_eq!(PubTwoComma::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +enum Negative { + A = -17 +} +} + +#[test] +fn negative() { + use ep::FromPrimitive; + assert_eq!(Negative::from_isize(-17), Some(Negative::A)); + assert_eq!(Negative::from_isize(-91), None); + assert_eq!(Negative::from_i8(-17), Some(Negative::A)); + assert_eq!(Negative::from_i8(-91), None); + assert_eq!(Negative::from_i16(-17), Some(Negative::A)); + assert_eq!(Negative::from_i16(-91), None); + assert_eq!(Negative::from_i32(-17), Some(Negative::A)); + assert_eq!(Negative::from_i32(-91), None); + assert_eq!(Negative::from_i64(-17), Some(Negative::A)); + assert_eq!(Negative::from_i64(-91), None); + assert_eq!(Negative::from_usize(!16), Some(Negative::A)); + assert_eq!(Negative::from_usize(!90), None); + assert_eq!(Negative::from_u8(!16), None); + assert_eq!(Negative::from_u8(!90), None); + assert_eq!(Negative::from_u16(!16), None); + assert_eq!(Negative::from_u16(!90), None); + assert_eq!(Negative::from_u32(!16), None); + assert_eq!(Negative::from_u32(!90), None); + assert_eq!(Negative::from_u64(!16), Some(Negative::A)); + assert_eq!(Negative::from_u64(!90), None); +} + +#[test] +fn in_local_mod() { + mod local_mod { + enum_from_primitive! { + #[derive(Debug, PartialEq)] + pub enum InLocalMod { + A = 17, + B = 42, + } + } + } + + use ep::FromPrimitive; + assert_eq!(local_mod::InLocalMod::from_i32(17), Some(local_mod::InLocalMod::A)); + assert_eq!(local_mod::InLocalMod::from_i32(42), Some(local_mod::InLocalMod::B)); + assert_eq!(local_mod::InLocalMod::from_i32(91), None); +} + +enum_from_primitive! { +#[derive(Debug, PartialEq)] +#[doc = "Documented"] +pub enum Documented { + A = 17 +} +} + +#[test] +fn documented() { + use ep::FromPrimitive; + assert_eq!(Documented::from_i32(17), Some(Documented::A)); + assert_eq!(Documented::from_i32(91), None); +} |