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;
|
|
|
|
}
|
2021-12-12 12:41:16 +08:00
|
|
|
|
|
|
|
#[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;
|
|
|
|
}
|