blob: e0ef79ea1aaa70629142f3e177d5dccf66486a04 [file] [log] [blame]
/* eslint-env mocha */
import expect from 'expect';
import isDisabledElement from '../../../src/util/isDisabledElement';
import JSXAttributeMock from '../../../__mocks__/JSXAttributeMock';
describe('isDisabledElement', () => {
describe('HTML5', () => {
describe('disabled', () => {
it('should identify HTML5 disabled elements', () => {
const attributes = [
JSXAttributeMock('disabled', 'disabled'),
];
expect(isDisabledElement(attributes))
.toBe(true);
});
});
describe('not disabled', () => {
it('should identify HTML5 disabled elements with null as the value', () => {
const attributes = [
JSXAttributeMock('disabled', null),
];
expect(isDisabledElement(attributes))
.toBe(true);
});
it('should not identify HTML5 disabled elements with undefined as the value', () => {
const attributes = [
JSXAttributeMock('disabled', undefined),
];
expect(isDisabledElement(attributes))
.toBe(false);
});
});
});
describe('ARIA', () => {
describe('disabled', () => {
it('should not identify ARIA disabled elements', () => {
const attributes = [
JSXAttributeMock('aria-disabled', 'true'),
];
expect(isDisabledElement(attributes))
.toBe(true);
});
it('should not identify ARIA disabled elements', () => {
const attributes = [
JSXAttributeMock('aria-disabled', true),
];
expect(isDisabledElement(attributes))
.toBe(true);
});
});
describe('not disabled', () => {
it('should not identify ARIA disabled elements', () => {
const attributes = [
JSXAttributeMock('aria-disabled', 'false'),
];
expect(isDisabledElement(attributes))
.toBe(false);
});
it('should not identify ARIA disabled elements', () => {
const attributes = [
JSXAttributeMock('aria-disabled', false),
];
expect(isDisabledElement(attributes))
.toBe(false);
});
it('should not identify ARIA disabled elements with null as the value', () => {
const attributes = [
JSXAttributeMock('aria-disabled', null),
];
expect(isDisabledElement(attributes))
.toBe(false);
});
it('should not identify ARIA disabled elements with undefined as the value', () => {
const attributes = [
JSXAttributeMock('aria-disabled', undefined),
];
expect(isDisabledElement(attributes))
.toBe(false);
});
});
});
});