summaryrefslogtreecommitdiff
path: root/preact/test/browser/lifecycles/componentWillMount.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'preact/test/browser/lifecycles/componentWillMount.test.js')
-rw-r--r--preact/test/browser/lifecycles/componentWillMount.test.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/preact/test/browser/lifecycles/componentWillMount.test.js b/preact/test/browser/lifecycles/componentWillMount.test.js
new file mode 100644
index 0000000..880803e
--- /dev/null
+++ b/preact/test/browser/lifecycles/componentWillMount.test.js
@@ -0,0 +1,43 @@
+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('#componentWillMount', () => {
+ it('should update state when called setState in componentWillMount', () => {
+ let componentState;
+
+ class Foo extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ value: 0
+ };
+ }
+ componentWillMount() {
+ this.setState({ value: 1 });
+ }
+ render() {
+ componentState = this.state;
+ return <div />;
+ }
+ }
+
+ render(<Foo />, scratch);
+
+ expect(componentState).to.deep.equal({ value: 1 });
+ });
+ });
+});