From 1a80cb7572f312dd49520bc536f8ed27647c5863 Mon Sep 17 00:00:00 2001 From: Zixuan Chen Date: Tue, 27 Aug 2024 00:17:22 +0800 Subject: [PATCH] fix: one tricky case --- crates/loro-internal/src/oplog/loro_dag.rs | 4 ---- crates/loro/tests/loro_rust_test.rs | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/crates/loro-internal/src/oplog/loro_dag.rs b/crates/loro-internal/src/oplog/loro_dag.rs index 565ebdd6..748c22b1 100644 --- a/crates/loro-internal/src/oplog/loro_dag.rs +++ b/crates/loro-internal/src/oplog/loro_dag.rs @@ -536,10 +536,6 @@ impl AppDag { return true; } - if deps == &self.trimmed_frontiers { - return false; - } - deps.iter().any(|x| self.trimmed_vv.includes_id(*x)) } } diff --git a/crates/loro/tests/loro_rust_test.rs b/crates/loro/tests/loro_rust_test.rs index a2049fd2..a0c6b361 100644 --- a/crates/loro/tests/loro_rust_test.rs +++ b/crates/loro/tests/loro_rust_test.rs @@ -1178,4 +1178,21 @@ fn test_map_checkout_on_trimmed_doc() { } }) ); + new_doc.checkout_to_latest(); + assert_eq!( + new_doc.get_deep_value(), + loro_value!({ + "map": { + "0": 0, + "1": 1, + "2": 4, + "3": 3, + } + }) + ); + + let err = new_doc + .checkout(&ID::new(doc.peer_id(), 0).into()) + .unwrap_err(); + assert_eq!(err, LoroError::SwitchToTrimmedVersion); }