Skip to content

Commit

Permalink
Rewrite require-optimization tests with template literals
Browse files Browse the repository at this point in the history
  • Loading branch information
jseminck committed Oct 3, 2017
1 parent d5d5e34 commit 8681c92
Showing 1 changed file with 110 additions and 115 deletions.
225 changes: 110 additions & 115 deletions tests/lib/rules/require-optimization.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,168 +21,163 @@ const MESSAGE = 'Component is not optimized. Please add a shouldComponentUpdate
const ruleTester = new RuleTester({parserOptions});
ruleTester.run('react-require-optimization', rule, {
valid: [{
code: [
'class A {}'
].join('\n')
}, {
code: [
'import React from "react";' +
'class YourComponent extends React.Component {' +
'shouldComponentUpdate () {}' +
'}'
].join('\n')
}, {
code: [
'import React, {Component} from "react";' +
'class YourComponent extends Component {' +
'shouldComponentUpdate () {}' +
'}'
].join('\n')
}, {
code: [
'import React, {Component} from "react";',
'@reactMixin.decorate(PureRenderMixin)',
'class YourComponent extends Component {',
' componetnDidMount () {}',
' render() {}',
'}'
].join('\n'),
code: `
class A {}
`
}, {
code: `
import React from "react";
class YourComponent extends React.Component {
shouldComponentUpdate () {}
}
`
}, {
code: `
import React, {Component} from "react";
class YourComponent extends Component {
shouldComponentUpdate () {}
}
`
}, {
code: `
import React, {Component} from "react";
@reactMixin.decorate(PureRenderMixin)
class YourComponent extends Component {
componetnDidMount () {}
render() {}
}
`,
parser: 'babel-eslint'
}, {
code: [
'import React from "react";' +
'createReactClass({' +
'shouldComponentUpdate: function () {}' +
'})'
].join('\n')
}, {
code: [
'import React from "react";' +
'createReactClass({' +
'mixins: [PureRenderMixin]' +
'})'
].join('\n')
}, {
code: [
'@reactMixin.decorate(PureRenderMixin)',
'class DecoratedComponent extends Component {' +
'}'
].join('\n'),
code: `
import React from "react";
createReactClass({
shouldComponentUpdate: function () {}
})
`
}, {
code: `
import React from "react";
createReactClass({
mixins: [PureRenderMixin]
})
`
}, {
code: `
@reactMixin.decorate(PureRenderMixin)
class DecoratedComponent extends Component {}
`,
parser: 'babel-eslint'
}, {
code: [
'const FunctionalComponent = function (props) {' +
'return <div />;' +
'}'
].join('\n'),
code: `
const FunctionalComponent = function (props) {
return <div />;
}
`,
parser: 'babel-eslint'
}, {
code: [
'function FunctionalComponent(props) {' +
'return <div />;' +
'}'
].join('\n'),
code: `
function FunctionalComponent(props) {
return <div />;
}
`,
parser: 'babel-eslint'
}, {
code: [
'const FunctionalComponent = (props) => {' +
'return <div />;' +
'}'
].join('\n'),
code: `
const FunctionalComponent = (props) => {
return <div />;
}
`,
parser: 'babel-eslint'
}, {
code: [
'@bar',
'@pureRender',
'@foo',
'class DecoratedComponent extends Component {' +
'}'
].join('\n'),
code: `
@bar
@pureRender
@foo
class DecoratedComponent extends Component {}
`,
parser: 'babel-eslint',
options: [{allowDecorators: ['renderPure', 'pureRender']}]
}, {
code: [
'import React from "react";' +
'class YourComponent extends React.PureComponent {}'
].join('\n'),
code: `
import React from "react";
class YourComponent extends React.PureComponent {}
`,
parser: 'babel-eslint',
options: [{allowDecorators: ['renderPure', 'pureRender']}]
}, {
code: [
'import React, {PureComponent} from "react";' +
'class YourComponent extends PureComponent {}'
].join('\n'),
code: `
import React, {PureComponent} from "react";
class YourComponent extends PureComponent {}
`,
parser: 'babel-eslint',
options: [{allowDecorators: ['renderPure', 'pureRender']}]
}],

invalid: [{
code: [
'import React from "react";' +
'class YourComponent extends React.Component {}'
].join('\n'),
code: `
import React from "react";
class YourComponent extends React.Component {}
`,
errors: [{
message: MESSAGE
}]
}, {
code: [
'import React from "react";',
'class YourComponent extends React.Component {',
' handleClick() {}',
' render() {',
' return <div onClick={this.handleClick}>123</div>',
' }',
'}'
].join('\n'),
code: `
import React from "react";
class YourComponent extends React.Component {
handleClick() {}
render() {
return <div onClick={this.handleClick}>123</div>
}
}
`,
parser: 'babel-eslint',
errors: [{
message: MESSAGE
}]
}, {
code: [
'import React, {Component} from "react";' +
'class YourComponent extends Component {}'
].join('\n'),
code: `
import React, {Component} from "react";
class YourComponent extends Component {}
`,
errors: [{
message: MESSAGE
}]
}, {
code: [
'import React from "react";' +
'createReactClass({' +
'})'
].join('\n'),
code: `
import React from "react";
createReactClass({})
`,
errors: [{
message: MESSAGE
}]
}, {
code: [
'import React from "react";' +
'createReactClass({' +
'mixins: [RandomMixin]' +
'})'
].join('\n'),
code: `
import React from "react";
createReactClass({
mixins: [RandomMixin]
})
`,
errors: [{
message: MESSAGE
}]
}, {
code: [
'@reactMixin.decorate(SomeOtherMixin)',
'class DecoratedComponent extends Component {' +
'}'
].join('\n'),
code: `
@reactMixin.decorate(SomeOtherMixin)
class DecoratedComponent extends Component {}
`,
errors: [{
message: MESSAGE
}],
parser: 'babel-eslint'
}, {
code: [
'@bar',
'@pure',
'@foo',
'class DecoratedComponent extends Component {' +
'}'
].join('\n'),
code: `
@bar
@pure
@foo
class DecoratedComponent extends Component {}
`,
errors: [{
message: MESSAGE
}],
Expand Down

0 comments on commit 8681c92

Please sign in to comment.