summaryrefslogtreecommitdiffstats
path: root/rust/vendor/enum_primitive/tests
diff options
context:
space:
mode:
Diffstat (limited to 'rust/vendor/enum_primitive/tests')
-rw-r--r--rust/vendor/enum_primitive/tests/image.rs109
-rw-r--r--rust/vendor/enum_primitive/tests/omitted-discriminants.rs63
-rw-r--r--rust/vendor/enum_primitive/tests/tests.rs235
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);
+}