aboutsummaryrefslogtreecommitdiffstats
path: root/src/remake/kind.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 19:03:15 +0100
committertv <tv@krebsco.de>2026-10-31 19:03:15 +0100
commitc83604d8f82b6c67a64e3cee6f5c012ee4a10fc1 (patch)
tree556b834c79561e2090b06cf2477117083e05afc5 /src/remake/kind.rs
parent2cba03fa6af4aeca176d69514603bce26b9c934a (diff)
tests write through document::testing helpers
Diffstat (limited to 'src/remake/kind.rs')
-rw-r--r--src/remake/kind.rs34
1 files changed, 19 insertions, 15 deletions
diff --git a/src/remake/kind.rs b/src/remake/kind.rs
index ca16de0..1df03cb 100644
--- a/src/remake/kind.rs
+++ b/src/remake/kind.rs
@@ -591,17 +591,20 @@ mod tests {
#[test]
fn import_keeps_types_and_drops_protocol_data() {
+ use crate::document::testing::{change, try_change};
use automerge::{ObjType, ROOT, ReadDoc, transaction::Transactable};
use serde_json::json;
let mut source = AutoCommit::new();
- let text = source.put_object(ROOT, "notes", ObjType::Text).unwrap();
- source.splice_text(&text, 0, 0, "hello").unwrap();
- source
- .put(ROOT, "hits", automerge::ScalarValue::counter(3))
- .unwrap();
- let meta = source.put_object(ROOT, meta::ROOT, ObjType::Map).unwrap();
- source.put(&meta, "members", "elsewhere").unwrap();
+ change(&mut source, |source| {
+ let text = source.put_object(ROOT, "notes", ObjType::Text).unwrap();
+ source.splice_text(&text, 0, 0, "hello").unwrap();
+ source
+ .put(ROOT, "hits", automerge::ScalarValue::counter(3))
+ .unwrap();
+ let meta = source.put_object(ROOT, meta::ROOT, ObjType::Map).unwrap();
+ source.put(&meta, "members", "elsewhere").unwrap();
+ });
let encoded = BASE64.encode(source.save());
assert!(
@@ -620,10 +623,10 @@ mod tests {
.unwrap();
let build = || {
let mut target = AutoCommit::new().with_actor(automerge::ActorId::from(&b"fixed"[..]));
- Import
- .build(&AutoCommit::new(), prepared.content.as_deref(), &mut target)
- .unwrap();
- target.commit_with(automerge::transaction::CommitOptions::default().with_time(0));
+ try_change(&mut target, |target| {
+ Import.build(&AutoCommit::new(), prepared.content.as_deref(), target)
+ })
+ .unwrap();
target
};
let mut a = build();
@@ -648,14 +651,15 @@ mod tests {
#[test]
fn replace_builds_the_document_deterministically() {
+ use crate::document::testing::try_change;
use serde_json::json;
let build = |document: serde_json::Value| {
let prepared = replace(json!({ "document": document })).unwrap();
let mut target = AutoCommit::new().with_actor(automerge::ActorId::from(&b"fixed"[..]));
- Replace
- .build(&AutoCommit::new(), prepared.content.as_deref(), &mut target)
- .unwrap();
- target.commit_with(automerge::transaction::CommitOptions::default().with_time(0));
+ try_change(&mut target, |target| {
+ Replace.build(&AutoCommit::new(), prepared.content.as_deref(), target)
+ })
+ .unwrap();
(
target.get_heads(),
store::read_path(&target, &[]).unwrap().unwrap(),