diff --git a/src/DOMElementFilter.ts b/src/DOMElementFilter.ts index 743c4e3b..0c8b0f4f 100644 --- a/src/DOMElementFilter.ts +++ b/src/DOMElementFilter.ts @@ -253,7 +253,7 @@ export default function createDOMElementFilter( printChildren( Array.prototype.slice .call(node.childNodes || node.children) - .filter(filterNode), + .filter(child => filterNode(child)), config, indentation + config.indent, depth, diff --git a/src/__tests__/pretty-dom.js b/src/__tests__/pretty-dom.js index 2b6ae6b4..0b4095b4 100644 --- a/src/__tests__/pretty-dom.js +++ b/src/__tests__/pretty-dom.js @@ -117,6 +117,22 @@ test('prettyDOM can include all elements with a custom filter', () => { `) }) +test('prettyDOM calls filterNode with only the node argument', () => { + const {container} = renderIntoDocument( + '

Hello, Dave

Second', + ) + + const filterNode = jest.fn(() => true) + + prettyDOM(container, Number.POSITIVE_INFINITY, {filterNode}) + + expect(filterNode).toHaveBeenCalledWith(expect.any(Node)) + filterNode.mock.calls.forEach(callArgs => { + expect(callArgs).toHaveLength(1) + expect(callArgs[0]).toBeInstanceOf(Node) + }) +}) + test('prettyDOM supports named custom elements', () => { window.customElements.define( 'my-element-1',