/
no-tabs.js
104 lines (98 loc) · 2.59 KB
/
no-tabs.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/**
* @fileoverview Tests for no-tabs rule
* @author Gyandeep Singh
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const rule = require("../../../lib/rules/no-tabs");
const RuleTester = require("../../../lib/testers/rule-tester");
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
const ruleTester = new RuleTester();
const ERROR_MESSAGE = "Unexpected tab character.";
ruleTester.run("no-tabs", rule, {
valid: [
"function test(){\n}",
"function test(){\n" +
" // sdfdsf \n" +
"}",
{
code: "\tdoSomething();",
options: [{ allowIndentationTabs: true }]
},
{
code: "\t// comment",
options: [{ allowIndentationTabs: true }]
}
],
invalid: [
{
code: "function test(){\t}",
errors: [{
message: ERROR_MESSAGE,
line: 1,
column: 17
}]
},
{
code: "/** \t comment test */",
errors: [{
message: ERROR_MESSAGE,
line: 1,
column: 5
}]
},
{
code:
"function test(){\n" +
" //\tsdfdsf \n" +
"}",
errors: [{
message: ERROR_MESSAGE,
line: 2,
column: 5
}]
},
{
code:
"function\ttest(){\n" +
" //sdfdsf \n" +
"}",
errors: [{
message: ERROR_MESSAGE,
line: 1,
column: 9
}]
},
{
code:
"function test(){\n" +
" //\tsdfdsf \n" +
"\t}",
errors: [
{
message: ERROR_MESSAGE,
line: 2,
column: 5
},
{
message: ERROR_MESSAGE,
line: 3,
column: 1
}
]
},
{
code: "\t// Comment with leading tab \t and inline tab",
options: [{ allowIndentationTabs: true }],
errors: [{
message: ERROR_MESSAGE,
line: 1,
column: 30
}]
}
]
});