Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions packages/openslides-motion-diff/src/diff/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -822,6 +822,29 @@
expect(diff).toBe(expected);
});

it(`handles inserted text within nested lists`, () => {
const before =
`<ul><li><span class="os-line-number line-number-1" data-line-number="1" contenteditable="false">&nbsp;</span>Ebene 1` +
`<ul><li><span class="os-line-number line-number-2" data-line-number="2" contenteditable="false">&nbsp;</span>Ebene 2` +
`</li><li><span class="os-line-number line-number-3" data-line-number="3" contenteditable="false">&nbsp;</span>Ebene 3` +
`</li></ul></li></ul>`,
after =
`<ul><li>Ebene 1` +
`<ul><li>Ebene 2a` +
`</li><li>Ebene 3` +
`</li></ul></li></ul>`,
expected =
`<ul><li><span class="line-number-1 os-line-number" contenteditable="false" data-line-number="1">&nbsp;</span>Ebene 1` +
`<ul><li><span class="line-number-2 os-line-number" contenteditable="false" data-line-number="2">&nbsp;</span>` +
`Ebene 2<ins>a</ins>` +
`</li><li><span class="line-number-3 os-line-number" contenteditable="false" data-line-number="3">&nbsp;</span>` +
`Ebene 3` +
`</li></ul></li></ul>`;

const diff = HtmlDiff.diff(before, after);
expect(diff).toBe(expected);

Check failure on line 845 in packages/openslides-motion-diff/src/diff/index.spec.ts

View workflow job for this annotation

GitHub Actions / build-and-test-package-motion-diff

src/diff/index.spec.ts > MotionDiffService > the core diff algorithm > handles inserted text within nested lists

AssertionError: expected '<ul><li><span class="line-number-1 os…' to be '<ul><li><span class="line-number-1 os…' // Object.is equality Expected: "<ul><li><span class="line-number-1 os-line-number" contenteditable="false" data-line-number="1">&nbsp;</span>Ebene 1<ul><li><span class="line-number-2 os-line-number" contenteditable="false" data-line-number="2">&nbsp;</span>Ebene 2<ins>a</ins></li><li><span class="line-number-3 os-line-number" contenteditable="false" data-line-number="3">&nbsp;</span>Ebene 3</li></ul></li></ul>" Received: "<ul><li><span class="line-number-1 os-line-number" contenteditable="false" data-line-number="1">&nbsp;</span>Ebene 1<ul><li><span class="line-number-2 os-line-number" contenteditable="false" data-line-number="2">&nbsp;</span><del>Ebene 2</del></li><li><span class="line-number-3 os-line-number" contenteditable="false" data-line-number="3">&nbsp;</span><ins>Ebene 2a</ins></li><li>Ebene 3</li></ul></li></ul>" ❯ src/diff/index.spec.ts:845:26
});

it(`handles replaced text at the end of nested lists`, () => {
// Hint: line number should be moved into first element
const before =
Expand Down
Loading