]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/radix.js
2 * @fileoverview Tests for radix rule.
3 * @author James Allardice
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/radix"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 const ruleTester
= new RuleTester();
17 ruleTester
.run("radix", rule
, {
20 "parseInt(\"10\", 10);",
21 "parseInt(\"10\", 2);",
22 "parseInt(\"10\", 36);",
23 "parseInt(\"10\", 0x10);",
24 "parseInt(\"10\", 1.6e1);",
25 "parseInt(\"10\", 10.0);",
26 "parseInt(\"10\", foo);",
27 "Number.parseInt(\"10\", foo);",
29 code
: "parseInt(\"10\", 10);",
33 code
: "parseInt(\"10\");",
34 options
: ["as-needed"]
37 code
: "parseInt(\"10\", 8);",
38 options
: ["as-needed"]
41 code
: "parseInt(\"10\", foo);",
42 options
: ["as-needed"]
46 "Number[parseInt]();",
48 // Ignores if it's shadowed or disabled.
49 "var parseInt; parseInt();",
50 { code
: "var parseInt; parseInt(foo);", options
: ["always"] },
51 { code
: "var parseInt; parseInt(foo, 10);", options
: ["as-needed"] },
52 "var Number; Number.parseInt();",
53 { code
: "var Number; Number.parseInt(foo);", options
: ["always"] },
54 { code
: "var Number; Number.parseInt(foo, 10);", options
: ["as-needed"] },
55 { code
: "/* globals parseInt:off */ parseInt(foo);", options
: ["always"] },
56 { code
: "Number.parseInt(foo, 10);", options
: ["as-needed"], globals
: { Number
: "off" } }
62 options
: ["as-needed"],
64 messageId
: "missingParameters",
65 type
: "CallExpression"
71 messageId
: "missingParameters",
72 type
: "CallExpression"
76 code
: "parseInt(\"10\");",
78 messageId
: "missingRadix",
79 type
: "CallExpression"
83 code
: "parseInt(\"10\", null);",
85 messageId
: "invalidRadix",
86 type
: "CallExpression"
90 code
: "parseInt(\"10\", undefined);",
92 messageId
: "invalidRadix",
93 type
: "CallExpression"
97 code
: "parseInt(\"10\", true);",
99 messageId
: "invalidRadix",
100 type
: "CallExpression"
104 code
: "parseInt(\"10\", \"foo\");",
106 messageId
: "invalidRadix",
107 type
: "CallExpression"
111 code
: "parseInt(\"10\", \"123\");",
113 messageId
: "invalidRadix",
114 type
: "CallExpression"
118 code
: "parseInt(\"10\", 1);",
120 messageId
: "invalidRadix",
121 type
: "CallExpression"
125 code
: "parseInt(\"10\", 37);",
127 messageId
: "invalidRadix",
128 type
: "CallExpression"
132 code
: "parseInt(\"10\", 10.5);",
134 messageId
: "invalidRadix",
135 type
: "CallExpression"
139 code
: "Number.parseInt();",
141 messageId
: "missingParameters",
142 type
: "CallExpression"
146 code
: "Number.parseInt();",
147 options
: ["as-needed"],
149 messageId
: "missingParameters",
150 type
: "CallExpression"
154 code
: "Number.parseInt(\"10\");",
156 messageId
: "missingRadix",
157 type
: "CallExpression"
161 code
: "Number.parseInt(\"10\", 1);",
163 messageId
: "invalidRadix",
164 type
: "CallExpression"
168 code
: "Number.parseInt(\"10\", 37);",
170 messageId
: "invalidRadix",
171 type
: "CallExpression"
175 code
: "Number.parseInt(\"10\", 10.5);",
177 messageId
: "invalidRadix",
178 type
: "CallExpression"
182 code
: "parseInt(\"10\", 10);",
183 options
: ["as-needed"],
185 messageId
: "redundantRadix",
186 type
: "CallExpression"
192 code
: "parseInt?.(\"10\");",
193 parserOptions
: { ecmaVersion
: 2020 },
194 errors
: [{ messageId
: "missingRadix" }]
197 code
: "Number.parseInt?.(\"10\");",
198 parserOptions
: { ecmaVersion
: 2020 },
199 errors
: [{ messageId
: "missingRadix" }]
202 code
: "Number?.parseInt(\"10\");",
203 parserOptions
: { ecmaVersion
: 2020 },
204 errors
: [{ messageId
: "missingRadix" }]
207 code
: "(Number?.parseInt)(\"10\");",
208 parserOptions
: { ecmaVersion
: 2020 },
209 errors
: [{ messageId
: "missingRadix" }]