Skip to content

Commit e9075de

Browse files
authored
Check whether marker is removed in searchForMarker (#24771)
Update implementation of searchForMarker to not return removed markers. This matches what getMarkerFromId does. The unit test was passing because the removed marker is at the beginning of the string, so starting the search at index 0 is after it.
1 parent c964635 commit e9075de

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

packages/dds/merge-tree/src/mergeTree.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1270,7 +1270,7 @@ export class MergeTree {
12701270
segment,
12711271
(node) => {
12721272
if (node.isLeaf()) {
1273-
if (Marker.is(node) && refHasTileLabel(node, markerLabel)) {
1273+
if (!isRemoved(node) && Marker.is(node) && refHasTileLabel(node, markerLabel)) {
12741274
foundMarker = node;
12751275
}
12761276
} else {

packages/dds/merge-tree/src/test/client.searchForMarker.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -596,14 +596,14 @@ describe("TestClient", () => {
596596

597597
it("Should return undefined when trying to find a removed marker", () => {
598598
client.insertTextLocal(0, "abc");
599-
client.insertMarkerLocal(0, ReferenceType.Tile, {
599+
client.insertMarkerLocal(1, ReferenceType.Tile, {
600600
[reservedMarkerIdKey]: "marker",
601601
[reservedTileLabelsKey]: ["Eop"],
602602
});
603603

604604
assert.equal(client.getLength(), 4, "length not expected");
605605

606-
client.removeRangeLocal(0, 1);
606+
client.removeRangeLocal(1, 2);
607607

608608
assert.equal(client.getLength(), 3, "length not expected");
609609

0 commit comments

Comments
 (0)