From aa4222588ae45007dcfc44228d3d24296258cfd4 Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Mon, 4 Jul 2022 13:28:16 +0200 Subject: [PATCH] Further fixes including tests --- data/acltreebuilder.go | 2 -- data/documentstatebuilder_test.go | 4 ++-- data/plaintextdocstate.go | 2 +- data/tree.go | 1 + data/treebuilder.go | 2 -- 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/data/acltreebuilder.go b/data/acltreebuilder.go index 9b669671..f3e400a9 100644 --- a/data/acltreebuilder.go +++ b/data/acltreebuilder.go @@ -13,7 +13,6 @@ import ( type ACLTreeBuilder struct { cache map[string]*Change - logHeads map[string]*Change identityKeys map[string]threadmodels.SigningPubKey signingPubKeyDecoder threadmodels.SigningPubKeyDecoder tree *Tree @@ -23,7 +22,6 @@ type ACLTreeBuilder struct { func NewACLTreeBuilder(t threadmodels.Thread, decoder threadmodels.SigningPubKeyDecoder) *ACLTreeBuilder { return &ACLTreeBuilder{ cache: make(map[string]*Change), - logHeads: make(map[string]*Change), identityKeys: make(map[string]threadmodels.SigningPubKey), signingPubKeyDecoder: decoder, tree: &Tree{}, // TODO: add NewTree method diff --git a/data/documentstatebuilder_test.go b/data/documentstatebuilder_test.go index 9ca74602..b691b72e 100644 --- a/data/documentstatebuilder_test.go +++ b/data/documentstatebuilder_test.go @@ -24,7 +24,7 @@ func TestDocumentStateBuilder_UserJoinBuild(t *testing.T) { } st := ctx.DocState.(*PlainTextDocumentState) - assert.Equal(t, st.Text, "") + assert.Equal(t, st.Text, "some text|first") } func TestDocumentStateBuilder_UserRemoveBuild(t *testing.T) { @@ -44,5 +44,5 @@ func TestDocumentStateBuilder_UserRemoveBuild(t *testing.T) { } st := ctx.DocState.(*PlainTextDocumentState) - assert.Equal(t, st.Text, "") + assert.Equal(t, st.Text, "some text|first") } diff --git a/data/plaintextdocstate.go b/data/plaintextdocstate.go index 3913abc2..3357c02e 100644 --- a/data/plaintextdocstate.go +++ b/data/plaintextdocstate.go @@ -40,7 +40,7 @@ func (p *PlainTextDocumentState) applyChange(ch *pb.PlainTextChangeContent) erro switch { case ch.GetTextAppend() != nil: text := ch.GetTextAppend().GetText() - p.Text += text + p.Text += "|" + text } return nil } diff --git a/data/tree.go b/data/tree.go index 0e58823d..0c4bfb6f 100644 --- a/data/tree.go +++ b/data/tree.go @@ -130,6 +130,7 @@ func (t *Tree) RemoveInvalidChange(id string) { stack = append(stack, el.Id) } } + t.updateHeads() } func (t *Tree) add(c *Change) (attached bool) { diff --git a/data/treebuilder.go b/data/treebuilder.go index 62cae49c..3d7b7e3a 100644 --- a/data/treebuilder.go +++ b/data/treebuilder.go @@ -21,7 +21,6 @@ var ( type TreeBuilder struct { cache map[string]*Change - logHeads map[string]*Change identityKeys map[string]threadmodels.SigningPubKey signingPubKeyDecoder threadmodels.SigningPubKeyDecoder tree *Tree @@ -31,7 +30,6 @@ type TreeBuilder struct { func NewTreeBuilder(t threadmodels.Thread, decoder threadmodels.SigningPubKeyDecoder) *TreeBuilder { return &TreeBuilder{ cache: make(map[string]*Change), - logHeads: make(map[string]*Change), identityKeys: make(map[string]threadmodels.SigningPubKey), signingPubKeyDecoder: decoder, tree: &Tree{}, // TODO: add NewTree method