import { RuleTester } from "./support/RuleTester" ; import rule = require ( "../rules/no-double-space" ) ; const ruleTester = new RuleTester ( { parser : require . resolve ( "@typescript-eslint/parser" ) , parserOptions : { warnOnUnsupportedTypeScriptVersion : false , } , } ) ; ruleTester . run ( "no-double-space" , rule , { valid : [ { code : `const a = {};` , } , { code : `function fn() {}` , } , { code : `const a = "  ";` , } , { code : `// ^                                ^` , } , { code : `class Cl {}` , } , { code : `// comment ` , } , { code : `/* comment */` , } , { code : `"  string  ";` , } , { code : `/  regexp  /g;` , } , { code : `const rgx = /  regexp  /g;` , } , { code : "const str = ` string template`;" , } , { code : `  // comment` , } , { code : `   /* comment */` , } , { code : `//  ` , } , { code : `
const a =
  1;
            ` , } , { code : `
/**
 * comment
 */
            ` , } , { code : `
// comment
//  - comment
//  - comment
            ` , } , { code : `
interface Props {
  prop: string[];  // comment prop
  propB: string[]; // comment propB
}
            ` , } , { code : `
/**
 * Returns a JSON-encoded value of the type: string[]
 *
 * @param exclude A JSON encoded string[] containing the paths to exclude
 *  when enumerating the directory.
 */
            ` , } , { code : `
const obj = {
  content: "function f() {  1; }",
};
            ` , } , ] , invalid : [ { code : `const  a  = {};` , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 6 } , ] , } , { code : `function  fn() {}` , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 9 } , ] , } , { code : `class  Cl {}` , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 6 } ] , } , { code : "const str =  ` string template`;" , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 12 } , ] , } , { code : `/** comment  */` , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 12 } , ] , } , { code : `/** comment  with  many spaces   */` , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 12 } , ] , } , { code : `// comment  with  many spaces` , errors : [ { messageId : "noDoubleSpaceError" , line : 1 , column : 11 } , ] , } , { code : `
const a = 1;
const b = 2;
const c =  3;
            ` , errors : [ { messageId : "noDoubleSpaceError" , line : 4 , column : 10 } , ] , } , ] , } ) ;