| 1234567891011121314151617181920212223242526272829303132333435363738394041 | use crate::node::script::NodeScript::{AssertNodeDelta, InsertNode, UpdateBody};use crate::node::script::{edit_node_delta, NodeTest};use lib_ot::core::NodeDataBuilder;use lib_ot::text_delta::DeltaTextOperationBuilder;#[test]fn operation_update_delta_test() {    let mut test = NodeTest::new();    let initial_delta = DeltaTextOperationBuilder::new().build();    let new_delta = DeltaTextOperationBuilder::new()        .retain(initial_delta.utf16_base_len)        .insert("Hello, world")        .build();    let (changeset, expected) = edit_node_delta(&initial_delta, new_delta);    let node = NodeDataBuilder::new("text").insert_delta(initial_delta.clone()).build();    let scripts = vec![        InsertNode {            path: 0.into(),            node_data: node,            rev_id: 1,        },        UpdateBody {            path: 0.into(),            changeset: changeset.clone(),        },        AssertNodeDelta {            path: 0.into(),            expected,        },        UpdateBody {            path: 0.into(),            changeset: changeset.inverted(),        },        AssertNodeDelta {            path: 0.into(),            expected: initial_delta,        },    ];    test.run_scripts(scripts);}
 |