eslint-plugin-lit-a11y
Version:
linting plugin for lit-a11y
78 lines (71 loc) โข 2.5 kB
JavaScript
/**
* @fileoverview accessible-emoji
* @author open-wc
*/
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const { RuleTester } = require('eslint');
const rule = require('../../../lib/rules/accessible-emoji.js');
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
const ruleTester = new RuleTester({
settings: { litHtmlSources: false },
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' }],
},
{
code: 'html`<span role="img" alt="Panda face">๐ผ</span>`',
errors: [{ messageId: 'wrapEmoji' }],
},
],
});