Skip to content

Commit 3862229

Browse files
authored
Fixes PieceTreeBase.equal (microsoft#181125)
Fixes `PieceTreeBase.equal` (fixes microsoft/vscode-internalbacklog#4025)
1 parent e410e7c commit 3862229

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ export class PieceTreeBase {
374374
return false;
375375
}
376376

377-
const offset = 0;
377+
let offset = 0;
378378
const ret = this.iterate(this.root, node => {
379379
if (node === SENTINEL) {
380380
return true;
@@ -385,6 +385,7 @@ export class PieceTreeBase {
385385
const endPosition = other.nodeAt(offset + len);
386386
const val = other.getValueInRange2(startPosition, endPosition);
387387

388+
offset += len;
388389
return str === val;
389390
});
390391

src/vs/editor/test/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.test.ts

+6
Original file line numberDiff line numberDiff line change
@@ -1595,6 +1595,12 @@ suite('buffer api', () => {
15951595
assert(!a.equal(d));
15961596
});
15971597

1598+
test('equal with more chunks', () => {
1599+
const a = createTextBuffer(['ab', 'cd', 'e']);
1600+
const b = createTextBuffer(['ab', 'c', 'de']);
1601+
assert(a.equal(b));
1602+
});
1603+
15981604
test('equal 2, empty buffer', () => {
15991605
const a = createTextBuffer(['']);
16001606
const b = createTextBuffer(['']);

0 commit comments

Comments
 (0)