diff options
Diffstat (limited to 'tests/test_enum.rs')
-rw-r--r-- | tests/test_enum.rs | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/tests/test_enum.rs b/tests/test_enum.rs deleted file mode 100644 index 0a8a2bb8..00000000 --- a/tests/test_enum.rs +++ /dev/null @@ -1,132 +0,0 @@ -use bindgen::BindgenOptions; -use support::assert_bind_eq; - -fn default_without_rust_enums() -> BindgenOptions { - BindgenOptions { rust_enums: false, .. Default::default() } -} - -#[test] -fn with_simple_enum() { - assert_bind_eq(Default::default(), "headers/enum.h", " - #[repr(u32)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Foo { Bar = 0, Qux = 1, } - #[repr(i32)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Neg { MinusOne = -1, One = 1, } - "); - assert_bind_eq(default_without_rust_enums(), "headers/enum.h", " - type Enum_Foo = u32; - const Bar: Enum_Foo = 0; - const Qux: Enum_Foo = 1; - type Enum_Neg = i32; - const MinusOne: Enum_Neg = -1; - const One: Enum_Neg = 1; - "); -} - -#[test] -fn with_packed_enums() { - assert_bind_eq(Default::default(), "headers/enum_packed.h", " - #[repr(u8)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Foo { Bar = 0, Qux = 1, } - #[repr(i8)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Neg { MinusOne = -1, One = 1, } - #[repr(u16)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Bigger { Much = 255, Larger = 256, } - "); - assert_bind_eq(default_without_rust_enums(), "headers/enum_packed.h", " - type Enum_Foo = u8; - const Bar: Enum_Foo = 0; - const Qux: Enum_Foo = 1; - type Enum_Neg = i8; - const MinusOne: Enum_Neg = -1; - const One: Enum_Neg = 1; - type Enum_Bigger = u16; - const Much: Enum_Bigger = 255; - const Larger: Enum_Bigger = 256; - "); -} - -#[test] -fn with_duplicate_enum_value() { - assert_bind_eq(Default::default(), "headers/enum_dupe.h", " - pub const Dupe: Enum_Foo = Enum_Foo::Bar; - #[repr(u32)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Foo { Bar = 1, } - "); - assert_bind_eq(default_without_rust_enums(), "headers/enum_dupe.h", " - type Enum_Foo = u32; - const Bar: Enum_Foo = 1; - const Dupe: Enum_Foo = 1; - "); -} - -#[test] -fn with_explicitly_typed_cxx_enum() { - assert_bind_eq(Default::default(), "headers/enum_explicit_type.hpp", " - #[repr(u8)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Foo { Bar = 0, Qux = 1, } - - #[repr(i8)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Neg { MinusOne = -1, One = 1, } - - #[repr(u16)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Bigger { Much = 255, Larger = 256, } - - #[repr(i64)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_MuchLong { MuchLow = -4294967296, } - - #[repr(u64)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_MuchLongLong { MuchHigh = 4294967296, } - "); - assert_bind_eq(default_without_rust_enums(), "headers/enum_explicit_type.hpp", " - type Enum_Foo = u8; - const Bar: Enum_Foo = 0; - const Qux: Enum_Foo = 1; - type Enum_Neg = i8; - const MinusOne: Enum_Neg = -1; - const One: Enum_Neg = 1; - type Enum_Bigger = u16; - const Much: Enum_Bigger = 255; - const Larger: Enum_Bigger = 256; - type Enum_MuchLong = i64; - const MuchLow: Enum_MuchLong = -4294967296; - type Enum_MuchLongLong = u64; - const MuchHigh: Enum_MuchLongLong = 4294967296; - "); -} - -#[test] -fn with_overflowed_enum_value() { - assert_bind_eq(Default::default(), "headers/overflowed_enum.hpp", " - #[repr(u32)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Foo { - BAP_ARM = 9698489, - BAP_X86 = 11960045, - BAP_X86_64 = 3128633167, - } - #[repr(u16)] - #[derive(Copy, Clone, Debug)] - pub enum Enum_Bar { One = 1, Big = 2, } - "); - assert_bind_eq(default_without_rust_enums(), "headers/overflowed_enum.hpp", " - type Enum_Foo = u32; - const BAP_ARM: Enum_Foo = 9698489; - const BAP_X86: Enum_Foo = 11960045; - const BAP_X86_64: Enum_Foo = 3128633167; - type Enum_Bar = u16; - const One: Enum_Bar = 1; - const Big: Enum_Bar = 2; - "); -} |