/
no-mixed-requires.js
48 lines (43 loc) · 3.76 KB
/
no-mixed-requires.js
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
37
38
39
40
41
42
43
44
45
46
47
48
/**
* @fileoverview Tests for the no-mixed-requires rule.
* @author Raphael Pigulla
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
var rule = require("../../../lib/rules/no-mixed-requires"),
RuleTester = require("../../../lib/testers/rule-tester");
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
var ruleTester = new RuleTester();
ruleTester.run("no-mixed-requires", rule, {
valid: [
{ code: "var a, b = 42, c = doStuff()", options: [false] },
{ code: "var a = require(42), b = require(), c = require('y'), d = require(doStuff())", options: [false] },
{ code: "var fs = require('fs'), foo = require('foo')", options: [false] },
{ code: "var exec = require('child_process').exec, foo = require('foo')", options: [false] },
{ code: "var fs = require('fs'), foo = require('./foo')", options: [false] },
{ code: "var foo = require('foo'), foo2 = require('./foo')", options: [false] },
{ code: "var emitter = require('events').EventEmitter, fs = require('fs')", options: [false] },
{ code: "var foo = require(42), bar = require(getName())", options: [false] },
{ code: "var foo = require(42), bar = require(getName())", options: [true] },
{ code: "var fs = require('fs'), foo = require('./foo')", options: [{grouping: false}] },
{ code: "var foo = require('foo'), bar = require(getName())", options: [false] },
{ code: "var a;", options: [true] },
{ code: "var async = require('async'), debug = require('diagnostics')('my-module')", options: [{allowCall: true}]}
],
invalid: [
{ code: "var fs = require('fs'), foo = 42", options: [false], errors: [{ message: "Do not mix 'require' and other declarations.", type: "VariableDeclaration"}] },
{ code: "var fs = require('fs'), foo", options: [false], errors: [{ message: "Do not mix 'require' and other declarations.", type: "VariableDeclaration"}] },
{ code: "var a = require(42), b = require(), c = require('y'), d = require(doStuff())", options: [true], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var fs = require('fs'), foo = require('foo')", options: [true], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var fs = require('fs'), foo = require('foo')", options: [{grouping: true}], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var exec = require('child_process').exec, foo = require('foo')", options: [true], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var fs = require('fs'), foo = require('./foo')", options: [true], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var foo = require('foo'), foo2 = require('./foo')", options: [true], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var foo = require('foo'), bar = require(getName())", options: [true], errors: [{ message: "Do not mix core, module, file and computed requires.", type: "VariableDeclaration"}] },
{ code: "var async = require('async'), debug = require('diagnostics').someFun('my-module')", options: [{allowCall: true}], errors: [{ message: "Do not mix 'require' and other declarations.", type: "VariableDeclaration"}] }
]
});