summaryrefslogtreecommitdiff
path: root/rust/tests/line_formatter.rs
blob: eeb5f0e1091e5e4031d3e14430fd0cb22abc9225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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(), "my_line_formatter".into());
    // TODO: Finish this test.
}