eslint-plugin-lit-a11y
Version:
linting plugin for lit-a11y
76 lines (69 loc) โข 2.4 kB
JavaScript
/**
* @fileoverview accessible-emoji
* @author open-wc
*/
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
import { RuleTester } from 'eslint';
import rule from '../../../lib/rules/accessible-emoji.js';
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
const ruleTester = new RuleTester({
settings: { litHtmlSources: false },
languageOptions: {
parserOptions: {
sourceType: 'module',
ecmaVersion: 2015,
},
},
});
ruleTester.run('accessible-emoji', rule, {
valid: [
{ code: 'html`<div></div>`' },
{ code: 'html`<div>asdf</div>`' },
{ code: 'html`<span></span>`' },
{ code: 'html`<span>No emoji here!</span>`' },
{ code: 'html`<span role="img" aria-label="Panda face">๐ผ</span>`' },
{ code: 'html`<span role="img" aria-label="Snowman">☃</span>`' },
{ code: 'html`<span role="img" aria-labelledby="id1">๐ผ</span>`' },
{ code: 'html`<span role="img" aria-labelledby="id1">☃</span>`' },
{ code: 'html`<span role="img" aria-labelledby="id1" aria-label="Snowman">☃</span>`' },
{ code: 'html`<span>${foo}</span>`' },
{ code: 'html`<span aria-hidden>${foo}</span>`' },
{ code: 'html`<span aria-hidden="true">๐ผ</span>`' },
{ code: 'html`<span aria-hidden>๐ผ</span>`' },
{ code: 'html`<div aria-hidden="true">๐ผ</div>`' },
],
invalid: [
{
code: 'html`<span>๐ผ</span>`',
errors: [{ messageId: 'wrapEmoji' }],
},
{
code: 'html`<span>foo๐ผbar</span>`',
errors: [{ messageId: 'wrapEmoji' }],
},
{
code: 'html`<span>foo ๐ผ bar</span>`',
errors: [{ messageId: 'wrapEmoji' }],
},
{
code: 'html`<i role="img" aria-label="Panda face">๐ผ</i>`',
errors: [{ messageId: 'wrapEmoji' }],
},
{
code: 'html`<i role="img" aria-labelledby="id1">๐ผ</i>`',
errors: [{ messageId: 'wrapEmoji' }],
},
{
code: 'html`<span aria-hidden="false">๐ผ</span>`',
errors: [{ messageId: 'wrapEmoji' }],
},
{
code: 'html`<span role="img" alt="Panda face">๐ผ</span>`',
errors: [{ messageId: 'wrapEmoji' }],
},
],
});