14
15
export function testApplyEditsWithSyncedModels(original: string[], edits: ISingleEditOperation[], expected: string[], inputEditsAreInvalid: boolean = false): void {
17
>
const expectedStr = expected.join('\n');
18
>
19
>
assertSyncedModels(originalStr, (model, assertMirrorModels) => {
20
>
// Apply edits & collect inverse edits
21
>
const inverseEdits = model.applyEdits(edits, true);
22
>
23
>
// Assert edits produced expected result
24
>
assert.deepStrictEqual(model.getValue(EndOfLinePreference.LF), expectedStr);
25
>
26
>
assertMirrorModels();
27
>
28
>
// Apply the inverse edits
29
>
const inverseInverseEdits = model.applyEdits(inverseEdits, true);
30
>
31
>
// Assert the inverse edits brought back model to original state
32
>
assert.deepStrictEqual(model.getValue(EndOfLinePreference.LF), originalStr);
33
>
34
>
if (!inputEditsAreInvalid) {
35
const simplifyEdit = (edit: ISingleEditOperation) => {
36
return {