Skip to content

Commit d81e03c

Browse files
committed
Started adding tests
Need to create more for the variety of literal usages
1 parent d80c1ca commit d81e03c

File tree

1 file changed

+157
-0
lines changed

1 file changed

+157
-0
lines changed

tests/lib/rules/no-literals.js

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
/**
2+
* @fileoverview Prevent using unwrapped literals in a React component definition
3+
* @author Caleb morris
4+
*/
5+
'use strict';
6+
7+
// ------------------------------------------------------------------------------
8+
// Requirements
9+
// ------------------------------------------------------------------------------
10+
11+
var eslint = require('eslint').linter;
12+
var ESLintTester = require('eslint').ESLintTester;
13+
14+
// ------------------------------------------------------------------------------
15+
// Tests
16+
// ------------------------------------------------------------------------------
17+
18+
var eslintTester = new ESLintTester(eslint);
19+
eslintTester.addRuleTest('lib/rules/no-literals', {
20+
21+
valid: [
22+
{
23+
code: [
24+
'class Comp1 extends Component {',
25+
' render() {',
26+
' return (',
27+
' <div>',
28+
' {\'asdjfl\'}',
29+
' </div>',
30+
' );',
31+
' }',
32+
'}'
33+
].join('\n'),
34+
args: [1],
35+
parser: 'babel-eslint'
36+
}, {
37+
code: [
38+
'class Comp1 extends Component {',
39+
' render() {',
40+
' return (<div>{\'test\'}</div>);',
41+
' }',
42+
'}'
43+
].join('\n'),
44+
args: [1],
45+
parser: 'babel-eslint'
46+
}, {
47+
code: [
48+
'class Comp1 extends Component {',
49+
' render() {',
50+
' const bar = (<div>{\'hello\'}</div>);',
51+
' return bar;',
52+
' }',
53+
'}'
54+
].join('\n'),
55+
args: [1],
56+
parser: 'babel-eslint'
57+
}, {
58+
code: [
59+
'var Hello = React.createClass({',
60+
' foo: (<div>{\'hello\'}</div>),',
61+
' render() {',
62+
' return this.foo;',
63+
' },',
64+
'});'
65+
].join('\n'),
66+
args: [1],
67+
parser: 'babel-eslint'
68+
}
69+
],
70+
71+
invalid: [
72+
{
73+
code: [
74+
'class Comp1 extends Component {',
75+
' render() {',
76+
' return (<div>test</div>);',
77+
' }',
78+
'}'
79+
].join('\n'),
80+
args: [1],
81+
parser: 'babel-eslint',
82+
errors: [{message: 'Missing JSX expression container around literal string'}]
83+
}, {
84+
code: [
85+
'class Comp1 extends Component {',
86+
' render() {',
87+
' const foo = (<div>test</div>);',
88+
' return foo;',
89+
' }',
90+
'}'
91+
].join('\n'),
92+
args: [1],
93+
parser: 'babel-eslint',
94+
errors: [{message: 'Missing JSX expression container around literal string'}]
95+
}, {
96+
code: [
97+
'class Comp1 extends Component {',
98+
' render() {',
99+
' const varObjectTest = { testKey : (<div>test</div>) };',
100+
' return varObjectTest.testKey;',
101+
' }',
102+
'}'
103+
].join('\n'),
104+
args: [1],
105+
parser: 'babel-eslint',
106+
errors: [{message: 'Missing JSX expression container around literal string'}]
107+
}, {
108+
code: [
109+
'var Hello = React.createClass({',
110+
' foo: (<div>hello</div>),',
111+
' render() {',
112+
' return this.foo;',
113+
' },',
114+
'});'
115+
].join('\n'),
116+
args: [1],
117+
parser: 'babel-eslint',
118+
errors: [{message: 'Missing JSX expression container around literal string'}]
119+
}, {
120+
code: [
121+
'class Comp1 extends Component {',
122+
' render() {',
123+
' return (',
124+
' <div>',
125+
' asdjfl',
126+
' </div>',
127+
' );',
128+
' }',
129+
'}'
130+
].join('\n'),
131+
args: [1],
132+
parser: 'babel-eslint',
133+
errors: [{message: 'Missing JSX expression container around literal string'}]
134+
}, {
135+
code: [
136+
'class Comp1 extends Component {',
137+
' render() {',
138+
' return (',
139+
' <div>',
140+
' asdjfl',
141+
' test',
142+
' foo',
143+
' </div>',
144+
' );',
145+
' }',
146+
'}'
147+
].join('\n'),
148+
args: [1],
149+
parser: 'babel-eslint',
150+
errors: [
151+
{message: 'Missing JSX expression container around literal string'},
152+
{message: 'Missing JSX expression container around literal string'},
153+
{message: 'Missing JSX expression container around literal string'}
154+
]
155+
}
156+
]
157+
});

0 commit comments

Comments
 (0)