-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathno-delegate.js
More file actions
36 lines (32 loc) · 960 Bytes
/
no-delegate.js
File metadata and controls
36 lines (32 loc) · 960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';
const rule = require( '../../src/rules/no-delegate' );
const RuleTester = require( '../../tools/rule-tester' );
const delegateError = 'Prefer .on/EventTarget#addEventListener to .delegate';
const undelegateError = 'Prefer .off/EventTarget#removeEventListener to .undelegate';
const ruleTester = new RuleTester();
ruleTester.run( 'no-delegate', rule, {
valid: [
'delegate()',
'[].delegate()',
'div.delegate()',
'div.delegate',
'undelegate()',
'[].undelegate()',
'div.undelegate()',
'div.undelegate'
],
invalid: [
...[
'$("div").delegate()',
'$div.delegate()',
'$("div").first().delegate()',
'$("div").append($("input").delegate())'
].map( ( code ) => ( { code, errors: [ delegateError ] } ) ),
...[
'$("div").undelegate()',
'$div.undelegate()',
'$("div").first().undelegate()',
'$("div").append($("input").undelegate())'
].map( ( code ) => ( { code, errors: [ undelegateError ] } ) )
]
} );