From c8fbd0f11d7a83e72f76f8cef254152807e34d13 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Thu, 6 Feb 2025 11:19:44 -0500 Subject: Add simple type to view test for Rust API --- rust/tests/types.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'rust') 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::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()); +} -- cgit v1.3.1