Files
react-native-devtools-frontend/node_modules/eslint-plugin-lit-a11y/tests/lib/rules/scope.js
T
Tim van der Lippe 1fe7f95b0e Add eslint-plugin-lit-a11y to manage_node_deps
This also adds the MPL-2.0 license as valid license to our allowed
licenses list.

R=jacktfranklin@chromium.org
DISABLE_THIRD_PARTY_CHECK=NPM update

Change-Id: I2a3bee2ffc0b328a0579ab62ab27f938bdc876c8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2593130
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
2021-01-05 13:13:19 +00:00

72 lines
1.9 KiB
JavaScript

/**
* @fileoverview Enforce scope prop is only used on &lt;th&gt; elements.
* @author open-wc
*/
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const { RuleTester } = require('eslint');
const rule = require('../../../lib/rules/scope');
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
const ruleTester = new RuleTester({
settings: { litHtmlSources: false },
parserOptions: {
sourceType: 'module',
ecmaVersion: 2015,
},
});
ruleTester.run('scope', rule, {
valid: [
{ code: "html`<th scope='col'></th>`" },
{ code: "html`<th scope='row'></th>`" },
{ code: "html`<th scope='rowgroup'></th>`" },
{ code: "html`<th scope='colgroup'></th>`" },
{ code: "html`<foo-bar scope='col'></foo-bar>`" },
{ code: "html`<foo-bar scope='foo'></foo-bar>`" },
],
invalid: [
{
code: "html`<div scope='col'></div>`",
errors: [
{
message: 'The scope attribute may only be used on <th> elements.',
},
],
},
{
code: "html`<td scope='row'></td>`",
errors: [
{
message: 'The scope attribute may only be used on <th> elements.',
},
],
},
{
code: "html`<th scope='column'></th>`",
errors: [
{
message:
'"column" is not a valid value for the scope attribute. The valid values are: col, row, rowgroup, colgroup.',
},
],
},
{
code: "html`<th scope='foo'></th>`",
errors: [
{
message:
'"foo" is not a valid value for the scope attribute. The valid values are: col, row, rowgroup, colgroup.',
},
],
},
],
});