11import test from 'ava' ;
22import avaRuleTester from 'eslint-ava-rule-tester' ;
3+ import { outdent } from 'outdent' ;
34import rule from '../rules/prefer-node-append' ;
45
56const ruleTester = avaRuleTester ( test , {
@@ -8,11 +9,9 @@ const ruleTester = avaRuleTester(test, {
89 }
910} ) ;
1011
11- const errors = [
12- {
13- message : 'Prefer `Node#append()` over `Node#appendChild()`.'
14- }
15- ] ;
12+ const error = {
13+ message : 'Prefer `Node#append()` over `Node#appendChild()`.'
14+ } ;
1615
1716ruleTester . run ( 'prefer-node-append' , rule , {
1817 valid : [
@@ -25,22 +24,80 @@ ruleTester.run('prefer-node-append', rule, {
2524 {
2625 code : 'node.appendChild(child);' ,
2726 output : 'node.append(child);' ,
28- errors
27+ errors : [ error ]
2928 } ,
3029 {
3130 code : 'document.body.appendChild(child);' ,
3231 output : 'document.body.append(child);' ,
33- errors
32+ errors : [ error ]
3433 } ,
3534 {
3635 code : 'node.appendChild()' ,
3736 output : 'node.append()' ,
38- errors
37+ errors : [ error ]
3938 } ,
4039 {
4140 code : 'node.appendChild(null)' ,
4241 output : 'node.append(null)' ,
43- errors
42+ errors : [ error ]
43+ } ,
44+ {
45+ code : outdent `
46+ function foo() {
47+ node.appendChild(null);
48+ }
49+ ` ,
50+ output : outdent `
51+ function foo() {
52+ node.append(null);
53+ }
54+ ` ,
55+ errors : [ error ]
56+ } ,
57+ {
58+ code : 'const foo = node.appendChild(child);' ,
59+ output : 'const foo = node.appendChild(child);' ,
60+ errors : [ error ]
61+ } ,
62+ {
63+ code : 'console.log(node.appendChild(child));' ,
64+ output : 'console.log(node.appendChild(child));' ,
65+ errors : [ error ]
66+ } ,
67+ {
68+ code : 'node.appendChild(child).appendChild(grandchild);' ,
69+ output : 'node.appendChild(child).append(grandchild);' ,
70+ errors : [ error , error ]
71+ } ,
72+ {
73+ code : 'node.appendChild(child) || "foo";' ,
74+ output : 'node.appendChild(child) || "foo";' ,
75+ errors : [ error ]
76+ } ,
77+ {
78+ code : 'node.appendChild(child) + 0;' ,
79+ output : 'node.appendChild(child) + 0;' ,
80+ errors : [ error ]
81+ } ,
82+ {
83+ code : 'node.appendChild(child) + 0;' ,
84+ output : 'node.appendChild(child) + 0;' ,
85+ errors : [ error ]
86+ } ,
87+ {
88+ code : '+node.appendChild(child);' ,
89+ output : '+node.appendChild(child);' ,
90+ errors : [ error ]
91+ } ,
92+ {
93+ code : 'node.appendChild(child) ? "foo" : "bar";' ,
94+ output : 'node.appendChild(child) ? "foo" : "bar";' ,
95+ errors : [ error ]
96+ } ,
97+ {
98+ code : 'if (node.appendChild(child)) {}' ,
99+ output : 'if (node.appendChild(child)) {}' ,
100+ errors : [ error ]
44101 }
45102 ]
46103} ) ;
0 commit comments