mirror of
https://github.com/bendtherules/eslint-plugin-undef-init.git
synced 2026-08-18 22:02:50 +00:00
Add undef-init rule (with yo eslint:rule) and tests for it
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
* @fileoverview Always initialize variables during declaration. Set it explicitly to undefined, if required.
|
||||
* @author Abhas Bhattacharya
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Requirements
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
var rule = require("../../../lib/rules/undef-init"),
|
||||
RuleTester = require("eslint").RuleTester,
|
||||
ruleMessage = require("../../../lib/ruleNameMessageMap")['undef-init'];
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Tests
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
var ruleTester = new RuleTester({
|
||||
parserOptions: { ecmaVersion: 7 }
|
||||
});
|
||||
ruleTester.run("undef-init", rule, {
|
||||
|
||||
valid: [
|
||||
"var a = undefined;",
|
||||
"var a = 123;",
|
||||
"let a = [];",
|
||||
"var a = 1; var b = a;",
|
||||
"for (var a of {}) {a;}",
|
||||
"for (var a in []) {a;}",
|
||||
],
|
||||
|
||||
invalid: [
|
||||
{
|
||||
code: "var a;",
|
||||
errors: [{
|
||||
message: ruleMessage,
|
||||
}],
|
||||
output: "var a = undefined;",
|
||||
},
|
||||
{
|
||||
code: "let abc; something_else()",
|
||||
errors: [{
|
||||
message: ruleMessage,
|
||||
}],
|
||||
output: "let abc = undefined; something_else()"
|
||||
},
|
||||
{
|
||||
code: "let a1, a2, a3;",
|
||||
errors: [
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
{
|
||||
message: ruleMessage,
|
||||
}
|
||||
],
|
||||
output: "let a1 = undefined, a2 = undefined, a3 = undefined;",
|
||||
},
|
||||
{
|
||||
code: "var a1, a2= 123, a3;",
|
||||
errors: [
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
],
|
||||
output: "var a1 = undefined, a2= 123, a3 = undefined;",
|
||||
},
|
||||
{
|
||||
code: "for (a of {}){var c;}",
|
||||
errors: [
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
],
|
||||
output: "for (a of {}){var c = undefined;}",
|
||||
},
|
||||
{
|
||||
code: "for (var a of {}){var c;}",
|
||||
errors: [
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
],
|
||||
output: "for (var a of {}){var c = undefined;}",
|
||||
},
|
||||
{
|
||||
code: "for (var a in []){var c;}",
|
||||
errors: [
|
||||
{
|
||||
message: ruleMessage,
|
||||
},
|
||||
],
|
||||
output: "for (var a in []){var c = undefined;}",
|
||||
},
|
||||
]
|
||||
});
|
||||
Reference in New Issue
Block a user