diff options
Diffstat (limited to 'rust/tests/line_formatter.rs')
| -rw-r--r-- | rust/tests/line_formatter.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/rust/tests/line_formatter.rs b/rust/tests/line_formatter.rs new file mode 100644 index 00000000..72968238 --- /dev/null +++ b/rust/tests/line_formatter.rs @@ -0,0 +1,24 @@ +use binaryninja::disassembly::DisassemblyTextLine; +use binaryninja::headless::Session; +use binaryninja::line_formatter::{register_line_formatter, LineFormatter, LineFormatterSettings}; +use std::path::PathBuf; + +struct MyLineFormatter; + +impl LineFormatter for MyLineFormatter { + fn format_lines( + &self, + lines: &[DisassemblyTextLine], + _settings: &LineFormatterSettings, + ) -> Vec<DisassemblyTextLine> { + lines.to_vec() + } +} + +#[test] +fn test_custom_line_formatter() { + let _session = Session::new().expect("Failed to initialize session"); + let out_dir = env!("OUT_DIR").parse::<PathBuf>().unwrap(); + let line_formatter = register_line_formatter("my_line_formatter", MyLineFormatter {}); + assert_eq!(line_formatter.name().as_str(), "my_line_formatter"); +} |
