vize_l2 0.587.0

L2 - the Davinci semantic IR (codename Disegno): the neutral op family every input dialect lowers into
Documentation
//! `ui.model name=` folio grammar pins.

use vize_l0::dump::{Dump, Mode as DumpMode};
use vize_l2::dump::Page as L2Page;

#[test]
fn model_names_round_trip_on_the_model_line() {
    let canonical = "\
[l2-dump-v2]
ops=2

[l2-dump-v2.ops]
ui.component Field @0:32
  ui.model name=js(\"field\" @16:21) read=js(\"msg\" @24:27) write=js(\"msg\" @24:27) @5:28

";
    let value = L2Page::parse(canonical).expect("named model parses");
    assert_eq!(value.print_to_string(DumpMode::Full).as_str(), canonical);
}