File tree Expand file tree Collapse file tree 4 files changed +31
-21
lines changed Expand file tree Collapse file tree 4 files changed +31
-21
lines changed Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+ import assert from "assert" ;
3
+ import MyLinter from "./MyLinter" ;
4
+ import noConsole from "./noConsole" ;
5
+ let linter = new MyLinter ( ) ;
6
+ linter . loadPlugin ( noConsole ) ;
7
+ var results = linter . lint ( `console.log("test")` ) ;
8
+ assert ( results . length > 0 ) ;
9
+ assert . equal ( results [ 0 ] , "Unexpected console statement." ) ;
Original file line number Diff line number Diff line change 1
- // LICENSE : MIT
2
1
"use strict" ;
3
2
import { parse } from "esprima" ;
4
3
import { traverse } from "estraverse" ;
@@ -8,14 +7,10 @@ class RuleContext extends EventEmitter {
8
7
this . emit ( "report" , message ) ;
9
8
}
10
9
}
11
- export default class MyLint extends EventEmitter {
10
+ export default class MyLint {
12
11
constructor ( ) {
13
- super ( ) ;
14
12
this . _emitter = new EventEmitter ( ) ;
15
13
this . _ruleContext = new RuleContext ( ) ;
16
- this . _ruleContext . on ( "report" , ( message ) => {
17
- this . emit ( "report" , message ) ;
18
- } ) ;
19
14
}
20
15
21
16
loadPlugin ( plugin ) {
@@ -28,6 +23,11 @@ export default class MyLint extends EventEmitter {
28
23
29
24
30
25
lint ( code ) {
26
+ var messages = [ ] ;
27
+ var addMessage = ( message ) => {
28
+ messages . push ( message ) ;
29
+ } ;
30
+ this . _ruleContext . on ( "report" , addMessage ) ;
31
31
var ast = parse ( code ) ;
32
32
traverse ( ast , {
33
33
enter : ( node ) => {
@@ -37,5 +37,7 @@ export default class MyLint extends EventEmitter {
37
37
this . _emitter . emit ( `${ node . type } :exit` , node ) ;
38
38
}
39
39
} ) ;
40
+ this . _ruleContext . removeListener ( "report" , addMessage ) ;
41
+ return messages ;
40
42
}
41
43
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ // LICENSE : MIT
2
+ "use strict" ;
3
+ import assert from "power-assert" ;
4
+ import MyLinter from "../../src/ESLint/MyLinter" ;
5
+ import noConsole from "../../src/ESLint/no-console" ;
6
+ describe ( "MyLint" , function ( ) {
7
+ it ( "should load and lint" , function ( ) {
8
+ let linter = new MyLinter ( ) ;
9
+ linter . loadPlugin ( noConsole ) ;
10
+ var results = linter . lint ( `console.log("test")` ) ;
11
+ assert ( results . length > 0 ) ;
12
+ assert . equal ( results [ 0 ] , "Unexpected console statement." ) ;
13
+ } ) ;
14
+ } ) ;
You can’t perform that action at this time.
0 commit comments