File tree Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -77,6 +77,9 @@ type bookmarkManager struct {
77
77
}
78
78
79
79
func (b * bookmarkManager ) UpdateBookmarks (database string , previousBookmarks , newBookmarks Bookmarks ) {
80
+ if len (newBookmarks ) == 0 {
81
+ return
82
+ }
80
83
var bookmarksToNotify Bookmarks
81
84
storedNewBookmarks := collection .NewSet (newBookmarks )
82
85
if rawCurrentBookmarks , loaded := b .bookmarks .LoadOrStore (database , storedNewBookmarks ); ! loaded {
@@ -98,7 +101,7 @@ func (b *bookmarkManager) GetAllBookmarks() Bookmarks {
98
101
allBookmarks .AddAll (b .supplier .GetAllBookmarks ())
99
102
}
100
103
b .bookmarks .Range (func (db , rawBookmarks any ) bool {
101
- bookmarks := rawBookmarks .(collection.Set [string ]). Copy ()
104
+ bookmarks := rawBookmarks .(collection.Set [string ])
102
105
allBookmarks .Union (bookmarks )
103
106
return true
104
107
})
Original file line number Diff line number Diff line change @@ -152,6 +152,21 @@ func TestBookmarkManager(outer *testing.T) {
152
152
}
153
153
})
154
154
155
+ outer .Run ("does not notify updated bookmarks when empty" , func (t * testing.T ) {
156
+ initialBookmarks := []string {"a" , "b" }
157
+ bookmarkManager := neo4j .NewBookmarkManager (neo4j.BookmarkManagerConfig {
158
+ InitialBookmarks : map [string ]neo4j.Bookmarks {"db1" : initialBookmarks },
159
+ BookmarkUpdateNotifier : func (db string , bookmarks neo4j.Bookmarks ) {
160
+ t .Error ("I must not be called" )
161
+ },
162
+ })
163
+
164
+ bookmarkManager .UpdateBookmarks ("db1" , initialBookmarks , nil )
165
+
166
+ actualBookmarks := bookmarkManager .GetBookmarks ("db1" )
167
+ AssertEqualsInAnyOrder (t , actualBookmarks , initialBookmarks )
168
+ })
169
+
155
170
outer .Run ("notifies updated bookmarks for existing DB without bookmarks" , func (t * testing.T ) {
156
171
notifyHookCalled := false
157
172
expectedBookmarks := []string {"a" , "d" }
Original file line number Diff line number Diff line change @@ -59,7 +59,7 @@ func (set Set[T]) Values() []T {
59
59
}
60
60
result := make ([]T , len (set ), len (set ))
61
61
i := 0
62
- for value , _ := range set {
62
+ for value := range set {
63
63
result [i ] = value
64
64
i ++
65
65
}
You can’t perform that action at this time.
0 commit comments