Skip to content

Commit c8fbd0f

Browse files
committed
Add simple type to view test for Rust API
1 parent 63bda3b commit c8fbd0f

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

rust/tests/types.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
use binaryninja::binary_view::{BinaryView, BinaryViewExt};
12
use binaryninja::confidence::Conf;
3+
use binaryninja::file_metadata::FileMetadata;
24
use binaryninja::headless::Session;
35
use binaryninja::platform::Platform;
6+
use binaryninja::rc::Ref;
47
use binaryninja::types::{MemberAccess, MemberScope, StructureBuilder, StructureMember, Type};
58
use rstest::*;
69

@@ -10,6 +13,12 @@ fn session() -> Session {
1013
Session::new().expect("Failed to initialize session")
1114
}
1215

16+
#[fixture]
17+
#[once]
18+
fn empty_view() -> Ref<BinaryView> {
19+
BinaryView::from_data(&FileMetadata::new(), &[]).expect("Failed to create view")
20+
}
21+
1322
#[rstest]
1423
fn test_type_to_string(_session: &Session) {
1524
let test_type = Type::int(4, true);
@@ -58,3 +67,11 @@ fn test_structure_builder(_session: &Session) {
5867
}
5968
);
6069
}
70+
71+
#[rstest]
72+
fn add_type_to_view(_session: &Session, empty_view: &BinaryView) {
73+
let test_type = Type::int(4, true);
74+
empty_view.define_auto_type("test", "me", &test_type);
75+
assert!(empty_view.type_by_name("test").is_some());
76+
assert!(empty_view.type_by_id("me").is_some());
77+
}

0 commit comments

Comments
 (0)