Add diff applying error & improve CI #32
3 changed files with 9 additions and 6 deletions
Fix tests
commit
20eb81a78d
|
|
@ -1,8 +1,10 @@
|
||||||
|
mod diff_error;
|
||||||
mod edited_text;
|
mod edited_text;
|
||||||
mod operation;
|
mod operation;
|
||||||
mod utils;
|
mod utils;
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
|
|
||||||
|
pub use diff_error::DiffError;
|
||||||
pub use edited_text::EditedText;
|
pub use edited_text::EditedText;
|
||||||
pub use operation::Operation;
|
pub use operation::Operation;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -105,16 +105,17 @@ pub fn diff(parent: &str, changed: &TextWithCursors, tokenizer: BuiltinTokenizer
|
||||||
pub fn undiff(parent: &str, diff: Vec<JsValue>, tokenizer: BuiltinTokenizer) -> String {
|
pub fn undiff(parent: &str, diff: Vec<JsValue>, tokenizer: BuiltinTokenizer) -> String {
|
||||||
set_panic_hook();
|
set_panic_hook();
|
||||||
|
|
||||||
EditedText::from_diff(
|
match EditedText::from_diff(
|
||||||
parent,
|
parent,
|
||||||
diff.into_iter()
|
diff.into_iter()
|
||||||
.map(std::convert::TryInto::try_into)
|
.map(std::convert::TryInto::try_into)
|
||||||
.collect::<Result<_, _>>()
|
.collect::<Result<_, _>>()
|
||||||
.expect("Invalid diff format"),
|
.expect("Invalid diff format"),
|
||||||
&*tokenizer,
|
&*tokenizer,
|
||||||
)
|
) {
|
||||||
.apply()
|
Ok(edited_text) => edited_text.apply().text(),
|
||||||
.text()
|
Err(e) => panic!("{}", e),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_panic_hook() {
|
fn set_panic_hook() {
|
||||||
|
|
|
||||||
|
|
@ -57,9 +57,9 @@ fn test_document_one_way_with_serialisation() {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let restored_left_operations =
|
let restored_left_operations =
|
||||||
EditedText::from_diff(&parent, serialised_left, &*BuiltinTokenizer::Word);
|
EditedText::from_diff(&parent, serialised_left, &*BuiltinTokenizer::Word).unwrap();
|
||||||
let restored_right_operations =
|
let restored_right_operations =
|
||||||
EditedText::from_diff(&parent, serialised_right, &*BuiltinTokenizer::Word);
|
EditedText::from_diff(&parent, serialised_right, &*BuiltinTokenizer::Word).unwrap();
|
||||||
|
|
||||||
doc.assert_eq_without_cursors(
|
doc.assert_eq_without_cursors(
|
||||||
&restored_left_operations
|
&restored_left_operations
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue