diff options
Diffstat (limited to 'preact/test/browser/lifecycles/componentDidMount.test.js')
-rw-r--r-- | preact/test/browser/lifecycles/componentDidMount.test.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/preact/test/browser/lifecycles/componentDidMount.test.js b/preact/test/browser/lifecycles/componentDidMount.test.js new file mode 100644 index 0000000..086702b --- /dev/null +++ b/preact/test/browser/lifecycles/componentDidMount.test.js @@ -0,0 +1,36 @@ +import { createElement, render, Component } from 'preact'; +import { setupScratch, teardown } from '../../_util/helpers'; + +/** @jsx createElement */ + +describe('Lifecycle methods', () => { + /** @type {HTMLDivElement} */ + let scratch; + + beforeEach(() => { + scratch = setupScratch(); + }); + + afterEach(() => { + teardown(scratch); + }); + + describe('#componentDidMount', () => { + it('is invoked after refs are set', () => { + const spy = sinon.spy(); + + class App extends Component { + componentDidMount() { + expect(spy).to.have.been.calledOnceWith(scratch.firstChild); + } + + render() { + return <div ref={spy} />; + } + } + + render(<App />, scratch); + expect(spy).to.have.been.calledOnceWith(scratch.firstChild); + }); + }); +}); |