update mutation observer handler

1. deep delete from adds set when node was dropped
2. remove node from dropped set when node was added again
This commit is contained in:
Yanzhen Yu
2019-02-03 23:07:35 +08:00
parent a69bf87f7f
commit 406e7a8d39
5 changed files with 348 additions and 29 deletions

View File

@@ -154,4 +154,22 @@ describe('record integration tests', () => {
const snapshots = await page.evaluate('window.snapshots');
assertSnapshot(snapshots, __filename, 'block');
});
it('should record DOM node movement', async () => {
const page: puppeteer.Page = await this.browser.newPage();
await page.goto('about:blank');
await page.setContent(getHtml.call(this, 'move-node.html'));
await page.evaluate(() => {
const div = document.querySelector('div')!;
const p = document.querySelector('p')!;
const span = document.querySelector('span')!;
document.body.removeChild(span);
p.appendChild(span);
p.removeChild(span);
div.appendChild(span);
});
const snapshots = await page.evaluate('window.snapshots');
assertSnapshot(snapshots, __filename, 'move-node');
});
});