|
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