summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJethro Beekman <jethro@fortanix.com>2021-03-10 13:25:53 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2021-03-14 09:37:26 +0100
commitdedbea5bc0317be4e7fd47a49392a6b080f47ac8 (patch)
tree5c1f4175310fb2d5b4c3524b8e32e05aeb760a83 /tests
parentfb931bd6c1a91908fa34dab7bc76059f33131663 (diff)
Add option to translate enum integer types to native Rust integer types
Fixes #430
Diffstat (limited to 'tests')
-rw-r--r--tests/expectations/tests/enum-translate-type.rs15
-rw-r--r--tests/headers/enum-translate-type.hpp14
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/expectations/tests/enum-translate-type.rs b/tests/expectations/tests/enum-translate-type.rs
new file mode 100644
index 00000000..89e6003e
--- /dev/null
+++ b/tests/expectations/tests/enum-translate-type.rs
@@ -0,0 +1,15 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+pub const my_enum1_A: my_enum1 = 0;
+pub type my_enum1 = u32;
+pub const my_enum2_B: my_enum2 = -1;
+pub type my_enum2 = i32;
+pub const my_enum3_C: my_enum3 = 0;
+pub type my_enum3 = i16;
+pub const my_enum4_D: my_enum4 = 255;
+pub type my_enum4 = u8;
diff --git a/tests/headers/enum-translate-type.hpp b/tests/headers/enum-translate-type.hpp
new file mode 100644
index 00000000..8d856261
--- /dev/null
+++ b/tests/headers/enum-translate-type.hpp
@@ -0,0 +1,14 @@
+// bindgen-flags: --translate-enum-integer-types -- -std=c++11 -Wno-narrowing
+
+enum my_enum1 {
+ A = 0,
+};
+enum my_enum2 {
+ B = -1,
+};
+enum my_enum3: short {
+ C = 0,
+};
+enum my_enum4: unsigned char {
+ D = -1,
+};