From 8f2d4d9d400e398b54cf1bad36057f3f8f4a69a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=97=E5=AE=87?= Date: Fri, 29 Dec 2023 18:23:42 +0800 Subject: [PATCH] test(chain): `LocalChain` test for update that is shorter than original --- crates/chain/tests/test_local_chain.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/crates/chain/tests/test_local_chain.rs b/crates/chain/tests/test_local_chain.rs index c190ae52..c1a1cd7f 100644 --- a/crates/chain/tests/test_local_chain.rs +++ b/crates/chain/tests/test_local_chain.rs @@ -292,6 +292,27 @@ fn update_local_chain() { ], }, }, + // Allow update that is shorter than original chain + // | 0 | 1 | 2 | 3 | 4 | 5 + // chain | A C D E F + // update | A C D' + TestLocalChain { + name: "allow update that is shorter than original chain", + chain: local_chain![(0, h!("_")), (2, h!("C")), (3, h!("D")), (4, h!("E")), (5, h!("F"))], + update: chain_update![(0, h!("_")), (2, h!("C")), (3, h!("D'"))], + exp: ExpectedResult::Ok { + changeset: &[ + (3, Some(h!("D'"))), + (4, None), + (5, None), + ], + init_changeset: &[ + (0, Some(h!("_"))), + (2, Some(h!("C"))), + (3, Some(h!("D'"))), + ], + }, + }, ] .into_iter() .for_each(TestLocalChain::run);