@@ -104,6 +104,20 @@ ruleTester.run('no-did-mount-set-state', rule, {
104104 errors : [ {
105105 message : 'Do not use setState in componentDidMount'
106106 } ]
107+ } , {
108+ code : [
109+ 'class Hello extends React.Component {' ,
110+ ' componentDidMount() {' ,
111+ ' this.setState({' ,
112+ ' data: data' ,
113+ ' });' ,
114+ ' }' ,
115+ '}'
116+ ] . join ( '\n' ) ,
117+ parser : 'babel-eslint' ,
118+ errors : [ {
119+ message : 'Do not use setState in componentDidMount'
120+ } ]
107121 } , {
108122 code : [
109123 'var Hello = React.createClass({' ,
@@ -121,6 +135,21 @@ ruleTester.run('no-did-mount-set-state', rule, {
121135 errors : [ {
122136 message : 'Do not use setState in componentDidMount'
123137 } ]
138+ } , {
139+ code : [
140+ 'class Hello extends React.Component {' ,
141+ ' componentDidMount() {' ,
142+ ' this.setState({' ,
143+ ' data: data' ,
144+ ' });' ,
145+ ' }' ,
146+ '}'
147+ ] . join ( '\n' ) ,
148+ parser : 'babel-eslint' ,
149+ options : [ 'allow-in-func' ] ,
150+ errors : [ {
151+ message : 'Do not use setState in componentDidMount'
152+ } ]
124153 } , {
125154 code : [
126155 'var Hello = React.createClass({' ,
@@ -139,6 +168,22 @@ ruleTester.run('no-did-mount-set-state', rule, {
139168 errors : [ {
140169 message : 'Do not use setState in componentDidMount'
141170 } ]
171+ } , {
172+ code : [
173+ 'class Hello extends React.Component {' ,
174+ ' componentDidMount() {' ,
175+ ' someClass.onSomeEvent(function(data) {' ,
176+ ' this.setState({' ,
177+ ' data: data' ,
178+ ' });' ,
179+ ' })' ,
180+ ' }' ,
181+ '}'
182+ ] . join ( '\n' ) ,
183+ parser : 'babel-eslint' ,
184+ errors : [ {
185+ message : 'Do not use setState in componentDidMount'
186+ } ]
142187 } , {
143188 code : [
144189 'var Hello = React.createClass({' ,
@@ -157,6 +202,22 @@ ruleTester.run('no-did-mount-set-state', rule, {
157202 errors : [ {
158203 message : 'Do not use setState in componentDidMount'
159204 } ]
205+ } , {
206+ code : [
207+ 'class Hello extends React.Component {' ,
208+ ' componentDidMount() {' ,
209+ ' if (true) {' ,
210+ ' this.setState({' ,
211+ ' data: data' ,
212+ ' });' ,
213+ ' }' ,
214+ ' }' ,
215+ '}'
216+ ] . join ( '\n' ) ,
217+ parser : 'babel-eslint' ,
218+ errors : [ {
219+ message : 'Do not use setState in componentDidMount'
220+ } ]
160221 } , {
161222 code : [
162223 'var Hello = React.createClass({' ,
@@ -172,5 +233,17 @@ ruleTester.run('no-did-mount-set-state', rule, {
172233 errors : [ {
173234 message : 'Do not use setState in componentDidMount'
174235 } ]
236+ } , {
237+ code : [
238+ 'class Hello extends React.Component {' ,
239+ ' componentDidMount() {' ,
240+ ' someClass.onSomeEvent((data) => this.setState({data: data}));' ,
241+ ' }' ,
242+ '}'
243+ ] . join ( '\n' ) ,
244+ parser : 'babel-eslint' ,
245+ errors : [ {
246+ message : 'Do not use setState in componentDidMount'
247+ } ]
175248 } ]
176249} ) ;
0 commit comments