summaryrefslogtreecommitdiff
path: root/rust/tests/line_formatter.rs
blob: 7e86d83513492f51d44a66fa5fd2dd2e3ee5ad5d (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.
}