-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
/
for-direction.js
76 lines (65 loc) · 3.02 KB
/
for-direction.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
/**
* @fileoverview Tests for for-direction rule.
* @author Aladdin-ADD <hh_2013@foxmail.com>
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const rule = require("../../../lib/rules/for-direction");
const RuleTester = require("../../../lib/testers/rule-tester");
//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
const ruleTester = new RuleTester();
const incorrectDirection = { messageId: "incorrectDirection" };
ruleTester.run("for-direction", rule, {
valid: [
// test if '++', '--'
"for(var i = 0; i < 10; i++){}",
"for(var i = 0; i <= 10; i++){}",
"for(var i = 10; i > 0; i--){}",
"for(var i = 10; i >= 0; i--){}",
// test if '+=', '-=',
"for(var i = 0; i < 10; i+=1){}",
"for(var i = 0; i <= 10; i+=1){}",
"for(var i = 0; i < 10; i-=-1){}",
"for(var i = 0; i <= 10; i-=-1){}",
"for(var i = 10; i > 0; i-=1){}",
"for(var i = 10; i >= 0; i-=1){}",
"for(var i = 10; i > 0; i+=-1){}",
"for(var i = 10; i >= 0; i+=-1){}",
// test if no update.
"for(var i = 10; i > 0;){}",
"for(var i = 10; i >= 0;){}",
"for(var i = 10; i < 0;){}",
"for(var i = 10; i <= 0;){}",
"for(var i = 10; i <= 0; j++){}",
"for(var i = 10; i <= 0; j--){}",
"for(var i = 10; i >= 0; j++){}",
"for(var i = 10; i >= 0; j--){}",
"for(var i = 10; i >= 0; j += 2){}",
"for(var i = 10; i >= 0; j -= 2){}",
"for(var i = 10; i >= 0; i |= 2){}",
"for(var i = 10; i >= 0; i %= 2){}",
"for(var i = 0; i < MAX; i += STEP_SIZE);",
"for(var i = 0; i < MAX; i -= STEP_SIZE);",
"for(var i = 10; i > 0; i += STEP_SIZE);"
],
invalid: [
// test if '++', '--'
{ code: "for(var i = 0; i < 10; i--){}", errors: [incorrectDirection] },
{ code: "for(var i = 0; i <= 10; i--){}", errors: [incorrectDirection] },
{ code: "for(var i = 10; i > 10; i++){}", errors: [incorrectDirection] },
{ code: "for(var i = 10; i >= 0; i++){}", errors: [incorrectDirection] },
// test if '+=', '-='
{ code: "for(var i = 0; i < 10; i-=1){}", errors: [incorrectDirection] },
{ code: "for(var i = 0; i <= 10; i-=1){}", errors: [incorrectDirection] },
{ code: "for(var i = 10; i > 10; i+=1){}", errors: [incorrectDirection] },
{ code: "for(var i = 10; i >= 0; i+=1){}", errors: [incorrectDirection] },
{ code: "for(var i = 0; i < 10; i+=-1){}", errors: [incorrectDirection] },
{ code: "for(var i = 0; i <= 10; i+=-1){}", errors: [incorrectDirection] },
{ code: "for(var i = 10; i > 10; i-=-1){}", errors: [incorrectDirection] },
{ code: "for(var i = 10; i >= 0; i-=-1){}", errors: [incorrectDirection] }
]
});