diff options
Diffstat (limited to 'rust')
| -rw-r--r-- | rust/tests/types.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/rust/tests/types.rs b/rust/tests/types.rs index 98530dc6..bb748e49 100644 --- a/rust/tests/types.rs +++ b/rust/tests/types.rs @@ -1,6 +1,9 @@ +use binaryninja::binary_view::{BinaryView, BinaryViewExt}; use binaryninja::confidence::Conf; +use binaryninja::file_metadata::FileMetadata; use binaryninja::headless::Session; use binaryninja::platform::Platform; +use binaryninja::rc::Ref; use binaryninja::types::{MemberAccess, MemberScope, StructureBuilder, StructureMember, Type}; use rstest::*; @@ -10,6 +13,12 @@ fn session() -> Session { Session::new().expect("Failed to initialize session") } +#[fixture] +#[once] +fn empty_view() -> Ref<BinaryView> { + BinaryView::from_data(&FileMetadata::new(), &[]).expect("Failed to create view") +} + #[rstest] fn test_type_to_string(_session: &Session) { let test_type = Type::int(4, true); @@ -58,3 +67,11 @@ fn test_structure_builder(_session: &Session) { } ); } + +#[rstest] +fn add_type_to_view(_session: &Session, empty_view: &BinaryView) { + let test_type = Type::int(4, true); + empty_view.define_auto_type("test", "me", &test_type); + assert!(empty_view.type_by_name("test").is_some()); + assert!(empty_view.type_by_id("me").is_some()); +} |
