Files
TerminalBasic/tests/terminalfrei/src/main.rs

30 lines
968 B
Rust

use tb_runtime::host::{CaptureHost, Ereignis, MausArt, MausEreignis};
use tb_vm::interp::{RunEvent, Vm};
fn main() {
let form = tb_ui::frm::read_text(
"eingabe-taste-maus.frm",
include_str!("../../compat/eingabe-taste-maus.frm"),
)
.unwrap();
let module = tb_vm::compile_source_with_forms("FORM1", &form.code, &form.catalog()).unwrap();
let mut vm = Vm::new(module);
form.apply(&mut vm.forms).unwrap();
vm.forms.show(0, false).unwrap();
let mut host = CaptureHost::default();
host.ereignis_nach(2, Ereignis::Taste("K".into(), 0));
host.ereignis_nach(
2,
Ereignis::Maus(MausEreignis {
art: MausArt::Druck,
taste: 1,
shift: 0,
zeile: 2,
spalte: 2,
}),
);
assert_eq!(vm.run(&mut host), RunEvent::Ended);
assert_eq!(tb_runtime::snapshot::text(&vm.rt.screen), "KM\n");
println!("Terminalfreier FRM-/VM-Lauf: KM");
}