63 lines
1.8 KiB
Rust
Raw Normal View History

2021-12-09 11:00:05 +08:00
use flowy_test::editor::{EditorScript::*, *};
2021-12-13 22:46:35 +08:00
use lib_ot::revision::RevState;
2021-12-08 17:33:22 +08:00
#[tokio::test]
2021-12-09 19:01:58 +08:00
async fn doc_rev_state_test1() {
2021-12-09 11:00:05 +08:00
let scripts = vec![
InsertText("123", 0),
2021-12-09 19:01:58 +08:00
AssertCurrentRevId(1),
2021-12-14 15:31:44 +08:00
AssertRevisionState(1, RevState::StateLocal),
2021-12-09 19:01:58 +08:00
SimulateAckedMessage(1),
AssertRevisionState(1, RevState::Acked),
AssertNextSendingRevision(None),
AssertJson(r#"[{"insert":"123\n"}]"#),
];
EditorTest::new().await.run_scripts(scripts).await;
}
#[tokio::test]
async fn doc_rev_state_test2() {
let scripts = vec![
InsertText("1", 0),
InsertText("2", 1),
InsertText("3", 2),
AssertCurrentRevId(3),
2021-12-14 15:31:44 +08:00
AssertRevisionState(1, RevState::StateLocal),
AssertRevisionState(2, RevState::StateLocal),
AssertRevisionState(3, RevState::StateLocal),
2021-12-09 19:01:58 +08:00
SimulateAckedMessage(1),
AssertRevisionState(1, RevState::Acked),
AssertNextSendingRevision(Some(2)),
SimulateAckedMessage(2),
AssertRevisionState(2, RevState::Acked),
//
AssertNextSendingRevision(Some(3)),
2021-12-14 15:31:44 +08:00
AssertRevisionState(3, RevState::StateLocal),
2021-12-09 19:01:58 +08:00
AssertJson(r#"[{"insert":"123\n"}]"#),
2021-12-09 11:00:05 +08:00
];
EditorTest::new().await.run_scripts(scripts).await;
2021-12-08 17:33:22 +08:00
}
2021-12-09 21:39:53 +08:00
#[tokio::test]
async fn doc_push_test() {
2021-12-13 22:46:35 +08:00
// let delta = RichTextDeltaBuilder::new().insert("abc\n").build();
2021-12-09 21:39:53 +08:00
let scripts = vec![
InsertText("1", 0),
InsertText("2", 1),
InsertText("3", 2),
AssertJson(r#"[{"insert":"123\nabc\n"}]"#),
];
EditorTest::new().await.run_scripts(scripts).await;
}
#[tokio::test]
async fn doc_sync_test() {
let scripts = vec![
InsertText("1", 0),
InsertText("2", 1),
InsertText("3", 2),
AssertJson(r#"[{"insert":"123\n"}]"#),
];
EditorTest::new().await.run_scripts(scripts).await;
}