|
12 | 12 | var rule = require('../../../lib/rules/jsx-quotes');
|
13 | 13 | var RuleTester = require('eslint').RuleTester;
|
14 | 14 |
|
15 |
| -var DEPRECATION_WARNING = 'The react/jsx-quotes rule is deprecated. Please use the jsx-quotes rule instead.'; |
16 |
| -var SINGLEQUOTE_WARNING = 'JSX attributes must use singlequote.'; |
17 |
| -var DOUBLEQUOTE_WARNING = 'JSX attributes must use doublequote.'; |
18 |
| - |
19 | 15 | // -----------------------------------------------------------------------------
|
20 | 16 | // Tests
|
21 | 17 | // -----------------------------------------------------------------------------
|
22 | 18 |
|
23 | 19 | var ruleTester = new RuleTester();
|
24 | 20 | ruleTester.run('jsx-quotes', rule, {
|
25 | 21 | valid: [
|
26 |
| - // None, should always trigger at least the deprecation warning |
| 22 | + {code: '<App foo=\'bar\' />;', options: ['single'], ecmaFeatures: {jsx: true}}, |
| 23 | + {code: '<App foo="bar" />;', options: ['double'], ecmaFeatures: {jsx: true}}, |
| 24 | + {code: '<App foo="ba\'r" />;', options: ['single', 'avoid-escape'], ecmaFeatures: {jsx: true}}, |
| 25 | + {code: '<App foo=\'ba"r\' />;', options: ['double', 'avoid-escape'], ecmaFeatures: {jsx: true}}, |
| 26 | + {code: '<App>foo</App>;', options: ['single'], ecmaFeatures: {jsx: true}} |
27 | 27 | ],
|
28 | 28 | invalid: [
|
29 |
| - {code: '<App />;', |
30 |
| - errors: [{message: DEPRECATION_WARNING}], ecmaFeatures: {jsx: true}}, |
31 |
| - {code: '<App foo=\'bar\' />;', |
32 |
| - errors: [{message: DEPRECATION_WARNING}], options: ['single'], ecmaFeatures: {jsx: true}}, |
33 |
| - {code: '<App foo="bar" />;', |
34 |
| - errors: [{message: DEPRECATION_WARNING}], options: ['double'], ecmaFeatures: {jsx: true}}, |
35 |
| - {code: '<App foo="ba\'r" />;', |
36 |
| - errors: [{message: DEPRECATION_WARNING}], options: ['single', 'avoid-escape'], ecmaFeatures: {jsx: true}}, |
37 |
| - {code: '<App foo=\'ba"r\' />;', |
38 |
| - errors: [{message: DEPRECATION_WARNING}], options: ['double', 'avoid-escape'], ecmaFeatures: {jsx: true}}, |
39 |
| - {code: '<App>foo</App>;', |
40 |
| - errors: [{message: DEPRECATION_WARNING}], options: ['single'], ecmaFeatures: {jsx: true}}, |
41 | 29 | {code: '<App foo="bar" />;',
|
42 |
| - errors: [ |
43 |
| - {message: DEPRECATION_WARNING}, |
44 |
| - {message: SINGLEQUOTE_WARNING} |
45 |
| - ], options: ['single'], ecmaFeatures: {jsx: true}}, |
| 30 | + errors: [{message: 'JSX attributes must use singlequote.'}], options: ['single'], ecmaFeatures: {jsx: true}}, |
46 | 31 | {code: '<App foo=\'bar\' />;',
|
47 |
| - errors: [ |
48 |
| - {message: DEPRECATION_WARNING}, |
49 |
| - {message: DOUBLEQUOTE_WARNING} |
50 |
| - ], options: ['double'], ecmaFeatures: {jsx: true}} |
| 32 | + errors: [{message: 'JSX attributes must use doublequote.'}], options: ['double'], ecmaFeatures: {jsx: true}} |
51 | 33 | ]
|
52 | 34 | });
|
0 commit comments