luhn-generator
Version:
A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the 'modulus 10' or 'mod 10' algorithm
52 lines (45 loc) โข 2.22 kB
JavaScript
/* eslint-env jest */
/**
* @fileoverview Enforce <marquee> elements are not used.
* @author Ethan Cohen
*/
// -----------------------------------------------------------------------------
// Requirements
// -----------------------------------------------------------------------------
import { RuleTester } from 'eslint';
import parserOptionsMapper from '../../__util__/parserOptionsMapper';
import rule from '../../../src/rules/accessible-emoji';
// -----------------------------------------------------------------------------
// Tests
// -----------------------------------------------------------------------------
const ruleTester = new RuleTester();
const expectedError = {
message: 'Emojis should be wrapped in <span>, have role="img", and have an accessible description with aria-label or aria-labelledby.',
type: 'JSXOpeningElement',
};
ruleTester.run('accessible-emoji', rule, {
valid: [
{ code: '<div />;' },
{ code: '<span />' },
{ code: '<span>No emoji here!</span>' },
{ code: '<span role="img" aria-label="Panda face">๐ผ</span>' },
{ code: '<span role="img" aria-label="Snowman">☃</span>' },
{ code: '<span role="img" aria-labelledby="id1">๐ผ</span>' },
{ code: '<span role="img" aria-labelledby="id1">☃</span>' },
{ code: '<span role="img" aria-labelledby="id1" aria-label="Snowman">☃</span>' },
{ code: '<span>{props.emoji}</span>' },
{ code: '<span aria-hidden>{props.emoji}</span>' },
{ code: '<span aria-hidden="true">๐ผ</span>' },
{ code: '<span aria-hidden>๐ผ</span>' },
{ code: '<div aria-hidden="true">๐ผ</div>' },
].map(parserOptionsMapper),
invalid: [
{ code: '<span>๐ผ</span>', errors: [expectedError] },
{ code: '<span>foo๐ผbar</span>', errors: [expectedError] },
{ code: '<span>foo ๐ผ bar</span>', errors: [expectedError] },
{ code: '<i role="img" aria-label="Panda face">๐ผ</i>', errors: [expectedError] },
{ code: '<i role="img" aria-labelledby="id1">๐ผ</i>', errors: [expectedError] },
{ code: '<Foo>๐ผ</Foo>', errors: [expectedError] },
{ code: '<span aria-hidden="false">๐ผ</span>', errors: [expectedError] },
].map(parserOptionsMapper),
});