From 094a060d55db21c8c97e4e56d36b62f0501a1f61 Mon Sep 17 00:00:00 2001 From: Francisco Presencia Date: Sat, 1 Feb 2020 14:10:18 +0900 Subject: [PATCH] Returning an array. Added docs and fixed tests --- README.md | 39 +++++++++++++++++---------------------- src/index.js | 2 +- test/react-jsdom.js | 10 +++++----- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 4c1e4fa..303315d 100644 --- a/README.md +++ b/README.md @@ -20,31 +20,26 @@ npm install --save-dev react-jsdom const React = require('react'); const ReactJSDOM = require('react-jsdom'); -class Hi extends React.Component { - render() { - return ( -
- hi - {this.props.person} -
- ); - } - - componentDidMount() { - console.log('I mounted!'); - } -} - -const elem = ReactJSDOM.render(); -// console: 'I mounted!' - -elem.constructor.name +const Hi = function ({ person }) { + console.log('Hello there'); + return ( +
+ hi + {person} +
+ ); +}; + +const elems = ReactJSDOM.render(); +// console: 'Hello there' + +elems[0].constructor.name // 'HTMLDivElement' -elem.nodeName; +elems[0].nodeName; // 'DIV'); -elem.querySelector('span:last-child').textContent; +elems[0].querySelector('span:last-child').textContent; // 'mum' -elem.outerHTML; +elems[0].outerHTML; //
// hi // mum diff --git a/src/index.js b/src/index.js index 69bc311..ed61bee 100644 --- a/src/index.js +++ b/src/index.js @@ -26,7 +26,7 @@ const ReactJSDOM = { global[prop] = origGlobals[prop]; }); - return container.childNodes[0]; + return [...container.childNodes]; } }; diff --git a/test/react-jsdom.js b/test/react-jsdom.js index bfab14c..289e5c9 100644 --- a/test/react-jsdom.js +++ b/test/react-jsdom.js @@ -30,13 +30,13 @@ test('ReactJSDOM cleans up globals', t => { }); test('ReactJSDOM renders a React Component', t => { - const elem = ReactJSDOM.render(); + const [elem] = ReactJSDOM.render(); t.is(elem.nodeName, 'DIV'); t.is(elem.textContent, 'hi'); }); test('ReactJSDOM renders a React Fragment', t => { - const elem = ReactJSDOM.render(( + const [elem] = ReactJSDOM.render(( )); t.is(elem.nodeName, 'DIV'); @@ -44,20 +44,20 @@ test('ReactJSDOM renders a React Fragment', t => { }); test('ReactJSDOM renders a Text String', t => { - const elem = ReactJSDOM.render('Hello world'); + const [elem] = ReactJSDOM.render('Hello world'); t.is(elem.nodeName, '#text'); t.is(elem.textContent, 'Hello world'); }); test('ReactJSDOM renders a Fragment wrapping a text string', t => { - const elem = ReactJSDOM.render(Hello world); + const [elem] = ReactJSDOM.render(Hello world); t.is(elem.nodeName, '#text'); t.is(elem.textContent, 'Hello world'); }); test('ReactJSDOM allows window instance to be passed in', t => { const window = new Window(); - const elem = ReactJSDOM.render(, window); + const [elem] = ReactJSDOM.render(, window); t.is(elem, window.document.getElementById('root').children[0]); t.is(elem.nodeName, 'DIV'); t.is(elem.textContent, 'hi');