12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- use flowy_test::editor::{EditorScript::*, *};
- use lib_ot::revision::RevState;
- #[tokio::test]
- async fn doc_rev_state_test1() {
- let scripts = vec![
- InsertText("123", 0),
- AssertCurrentRevId(1),
- AssertRevisionState(1, RevState::StateLocal),
- SimulateAckedMessage(1),
- AssertRevisionState(1, RevState::Acked),
- AssertNextRevId(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),
- AssertRevisionState(1, RevState::StateLocal),
- AssertRevisionState(2, RevState::StateLocal),
- AssertRevisionState(3, RevState::StateLocal),
- SimulateAckedMessage(1),
- AssertRevisionState(1, RevState::Acked),
- AssertNextRevId(Some(2)),
- SimulateAckedMessage(2),
- AssertRevisionState(2, RevState::Acked),
- //
- AssertNextRevId(Some(3)),
- AssertRevisionState(3, RevState::StateLocal),
- AssertJson(r#"[{"insert":"123\n"}]"#),
- ];
- EditorTest::new().await.run_scripts(scripts).await;
- }
- #[tokio::test]
- async fn doc_push_test() {
- // let delta = RichTextDeltaBuilder::new().insert("abc\n").build();
- 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"}]"#),
- AssertNextRevId(None),
- ];
- EditorTest::new().await.run_scripts(scripts).await;
- }
- #[tokio::test]
- async fn doc_sync_lost_ws_conn() {
- let scripts = vec![
- InsertText("1", 0),
- StopWs,
- InsertText("2", 1),
- AssertNextRevId(Some(2)),
- InsertText("3", 2),
- AssertJson(r#"[{"insert":"123\n"}]"#),
- ];
- EditorTest::new().await.run_scripts(scripts).await;
- }
- #[tokio::test]
- async fn doc_sync_retry_ws_conn() {
- let scripts = vec![
- InsertText("1", 0),
- StopWs,
- InsertText("2", 1),
- InsertText("3", 2),
- StartWs,
- WaitSyncFinished,
- AssertNextRevId(None),
- AssertJson(r#"[{"insert":"123\n"}]"#),
- ];
- EditorTest::new().await.run_scripts(scripts).await;
- }
|