UNPKG

@johngw/stream

Version:

Reactive programming tools using the WHATWG Streams API.

38 lines (28 loc) 830 B
import { timeout } from '@johngw/stream-common' import { fromDOMMutations } from '@johngw/stream/sources/fromDOMMutations' import { removedNodes } from '@johngw/stream/transformers/removedNodes' import { write } from '@johngw/stream/sinks/write' test('picks removed nodes from DOM mutations', async () => { const fn = jest.fn() fromDOMMutations(document.body, { childList: true }) .pipeThrough(removedNodes()) .pipeTo(write(fn)) const p = document.createElement('p') p.classList.add('test') document.body.appendChild(p) await timeout() const div = document.createElement('div') div.appendChild(p) await timeout() document.body.appendChild(div) await timeout() expect(fn.mock.calls).toMatchInlineSnapshot(` [ [ <p class="test" />, ], ] `) })