import rule from '../lib/rules/unescaped-html-literal.js' import {RuleTester} from 'eslint' const ruleTester = new RuleTester() ruleTester.run('unescaped-html-literal', rule, { valid: [ { code: '`Hello World!`;', parserOptions: {ecmaVersion: 2017}, }, { code: "'Hello World!'", parserOptions: {ecmaVersion: 2017}, }, { code: '"Hello World!"', parserOptions: {ecmaVersion: 2017}, }, { code: 'const helloTemplate = () => html`
Hello World!
`;', parserOptions: {ecmaVersion: 2017}, }, { code: 'const helloTemplate = (name) => html`
Hello ${name}!
`;', parserOptions: {ecmaVersion: 2017}, }, ], invalid: [ { code: "const helloHTML = '
Hello, World!
'", parserOptions: {ecmaVersion: 2017}, errors: [ { message: 'Unescaped HTML literal. Use html`` tag template literal for secure escaping.', type: 'Literal', }, ], }, { code: 'const helloHTML = "

Hello, World!

"', parserOptions: {ecmaVersion: 2017}, errors: [ { message: 'Unescaped HTML literal. Use html`` tag template literal for secure escaping.', type: 'Literal', }, ], }, { code: 'const helloHTML = `
Hello ${name}!
`', parserOptions: {ecmaVersion: 2017}, errors: [ { message: 'Unescaped HTML literal. Use html`` tag template literal for secure escaping.', type: 'TemplateLiteral', }, ], }, { code: 'const helloHTML = foo`
Hello ${name}!
`', parserOptions: {ecmaVersion: 2017}, errors: [ { message: 'Unescaped HTML literal. Use html`` tag template literal for secure escaping.', type: 'TemplateLiteral', }, ], }, ], })