import { RuleTester } from "./support/RuleTester" ; import rule = require ( "../rules/simple-indent" ) ; const ruleTester = new RuleTester ( { parserOptions : { warnOnUnsupportedTypeScriptVersion : false , } , parser : require . resolve ( "@typescript-eslint/parser" ) , } ) ; ruleTester . run ( "simple-indent" , rule , { valid : [ { code : `
/**
 *			Comment
 */
            ` } , { code : `
module TestModule {
    var func = () => {
        console.warn("hi");
    };
}
            ` , } , { code : `
class TestClass {
    private variable;

    testFunction() {
        this.variable = 3;
    }
}
            ` , } , { code : `
var obj = {
    a: 1,
    b: 2,
    c: 3
};
            ` , } , { code : `
export enum TestEnum {
    VALUE1,
    VALUE2
}
            ` , } , { code : `
switch (integerValue) {
    case 1:
        console.warn("1");
        break;
    default:
        console.warn("default");
        break;
}
            ` , } , { code : `
function loops() {
    for (var i = 0; i < 1; ++i) {
        console.warn(i);
    }

    while (i < 1) {
        console.warn(i);
    }

    do {
        console.warn(i);
    } while (i < 1);

    if (i < 1) {
        console.warn(i);
    } else {
        console.warn(i + 1);
    }
}
            ` , } , ] , invalid : [ { code : `
module TestModule {
\tvar testVariable = 123;
}
            ` , output : `
module TestModule {
    var testVariable = 123;
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] , } , { code : `
function a() {
\t\tvar test = 123;
}
            ` , output : `
function a() {
        var test = 123;
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 3 } , ] , } , { code : `
class TestClass {
\tprivate variable;

\ttestFunction() {
\t\tthis.variable = 3;
\t}
}
            ` , output : `
class TestClass {
    private variable;

    testFunction() {
        this.variable = 3;
    }
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , { messageId : "simpleIndentError" , line : 5 , column : 2 } , { messageId : "simpleIndentError" , line : 6 , column : 3 } , { messageId : "simpleIndentError" , line : 7 , column : 2 } , ] , } , { code : `
var obj = {
\ta: 1,
\tb: 2,
\tc: 3
};
            ` , output : `
var obj = {
    a: 1,
    b: 2,
    c: 3
};
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , { messageId : "simpleIndentError" , line : 4 , column : 2 } , { messageId : "simpleIndentError" , line : 5 , column : 2 } , ] } , { code : `
enum TestEnum {
\tVALUE1,
    VALUE2
}
            ` , output : `
enum TestEnum {
    VALUE1,
    VALUE2
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] , } , { code : `
switch (integerValue) {
\tcase 0:
\t\tconsole.warn("1");
\t\tbreak;
    case 1:
        console.warn("1");
        break;
\tdefault:
\t\tconsole.log("2");
\t\tbreak;
}
            ` , output : `
switch (integerValue) {
    case 0:
        console.warn("1");
        break;
    case 1:
        console.warn("1");
        break;
    default:
        console.log("2");
        break;
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , { messageId : "simpleIndentError" , line : 4 , column : 3 } , { messageId : "simpleIndentError" , line : 5 , column : 3 } , { messageId : "simpleIndentError" , line : 9 , column : 2 } , { messageId : "simpleIndentError" , line : 10 , column : 3 } , { messageId : "simpleIndentError" , line : 11 , column : 3 } , ] } , { code : `
for (var i = 0; i < 1; ++i) {
\tconsole.warn("123");
}
            ` , output : `
for (var i = 0; i < 1; ++i) {
    console.warn("123");
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] , } , { code : `
while (i < 1) {
\tconsole.warn("123");
}
            ` , output : `
while (i < 1) {
    console.warn("123");
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] } , { code : `
do {
\tconsole.warn("123");
} while (i < 1);
            ` , output : `
do {
    console.warn("123");
} while (i < 1);
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] } , { code : `
if (i < 1) {
\tconsole.warn("123");
}
            ` , output : `
if (i < 1) {
    console.warn("123");
}
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] } , { code : `
var arr = [
\t1,
    2
];
            ` , output : `
var arr = [
    1,
    2
];
            ` , errors : [ { messageId : "simpleIndentError" , line : 3 , column : 2 } , ] } , { code : `
var arr2 = [
    {
\t\ta: 1,
        b: 2
    },
    {
        a: 3,
\t\tb: 4
    }
];
            ` , output : `
var arr2 = [
    {
        a: 1,
        b: 2
    },
    {
        a: 3,
        b: 4
    }
];
            ` , errors : [ { messageId : "simpleIndentError" , line : 4 , column : 3 } , { messageId : "simpleIndentError" , line : 9 , column : 3 } , ] } ] , } ) ;