]>
Commit | Line | Data |
---|---|---|
eb39fafa DC |
1 | /** |
2 | * @fileoverview Tests for for-direction rule. | |
3 | * @author Aladdin-ADD <hh_2013@foxmail.com> | |
4 | */ | |
5 | ||
6 | "use strict"; | |
7 | ||
8 | //------------------------------------------------------------------------------ | |
9 | // Requirements | |
10 | //------------------------------------------------------------------------------ | |
11 | ||
12 | const rule = require("../../../lib/rules/for-direction"); | |
13 | const { RuleTester } = require("../../../lib/rule-tester"); | |
14 | ||
15 | //------------------------------------------------------------------------------ | |
609c276f | 16 | // Tests |
eb39fafa DC |
17 | //------------------------------------------------------------------------------ |
18 | ||
19 | const ruleTester = new RuleTester(); | |
20 | const incorrectDirection = { messageId: "incorrectDirection" }; | |
21 | ||
22 | ruleTester.run("for-direction", rule, { | |
23 | valid: [ | |
24 | ||
25 | // test if '++', '--' | |
26 | "for(var i = 0; i < 10; i++){}", | |
27 | "for(var i = 0; i <= 10; i++){}", | |
28 | "for(var i = 10; i > 0; i--){}", | |
29 | "for(var i = 10; i >= 0; i--){}", | |
30 | ||
31 | // test if '+=', '-=', | |
32 | "for(var i = 0; i < 10; i+=1){}", | |
33 | "for(var i = 0; i <= 10; i+=1){}", | |
34 | "for(var i = 0; i < 10; i-=-1){}", | |
35 | "for(var i = 0; i <= 10; i-=-1){}", | |
36 | "for(var i = 10; i > 0; i-=1){}", | |
37 | "for(var i = 10; i >= 0; i-=1){}", | |
38 | "for(var i = 10; i > 0; i+=-1){}", | |
39 | "for(var i = 10; i >= 0; i+=-1){}", | |
40 | ||
41 | // test if no update. | |
42 | "for(var i = 10; i > 0;){}", | |
43 | "for(var i = 10; i >= 0;){}", | |
44 | "for(var i = 10; i < 0;){}", | |
45 | "for(var i = 10; i <= 0;){}", | |
46 | "for(var i = 10; i <= 0; j++){}", | |
47 | "for(var i = 10; i <= 0; j--){}", | |
48 | "for(var i = 10; i >= 0; j++){}", | |
49 | "for(var i = 10; i >= 0; j--){}", | |
50 | "for(var i = 10; i >= 0; j += 2){}", | |
51 | "for(var i = 10; i >= 0; j -= 2){}", | |
52 | "for(var i = 10; i >= 0; i |= 2){}", | |
53 | "for(var i = 10; i >= 0; i %= 2){}", | |
54 | "for(var i = 0; i < MAX; i += STEP_SIZE);", | |
55 | "for(var i = 0; i < MAX; i -= STEP_SIZE);", | |
56 | "for(var i = 10; i > 0; i += STEP_SIZE);", | |
57 | ||
58 | // other cond-expressions. | |
59 | "for(var i = 0; i !== 10; i+=1){}", | |
60 | "for(var i = 0; i === 10; i+=1){}", | |
61 | "for(var i = 0; i == 10; i+=1){}", | |
62 | "for(var i = 0; i != 10; i+=1){}" | |
63 | ], | |
64 | invalid: [ | |
65 | ||
66 | // test if '++', '--' | |
67 | { code: "for(var i = 0; i < 10; i--){}", errors: [incorrectDirection] }, | |
68 | { code: "for(var i = 0; i <= 10; i--){}", errors: [incorrectDirection] }, | |
69 | { code: "for(var i = 10; i > 10; i++){}", errors: [incorrectDirection] }, | |
70 | { code: "for(var i = 10; i >= 0; i++){}", errors: [incorrectDirection] }, | |
71 | ||
72 | // test if '+=', '-=' | |
73 | { code: "for(var i = 0; i < 10; i-=1){}", errors: [incorrectDirection] }, | |
74 | { code: "for(var i = 0; i <= 10; i-=1){}", errors: [incorrectDirection] }, | |
75 | { code: "for(var i = 10; i > 10; i+=1){}", errors: [incorrectDirection] }, | |
76 | { code: "for(var i = 10; i >= 0; i+=1){}", errors: [incorrectDirection] }, | |
77 | { code: "for(var i = 0; i < 10; i+=-1){}", errors: [incorrectDirection] }, | |
78 | { code: "for(var i = 0; i <= 10; i+=-1){}", errors: [incorrectDirection] }, | |
79 | { code: "for(var i = 10; i > 10; i-=-1){}", errors: [incorrectDirection] }, | |
80 | { code: "for(var i = 10; i >= 0; i-=-1){}", errors: [incorrectDirection] } | |
81 | ] | |
82 | }); |