hyperform
Version:
Capture form validation back from the browser
39 lines (29 loc) • 1.05 kB
JavaScript
import test from 'ava';
import Wrapper from '../../../src/components/wrapper';
import { add_behavior } from '../../../src/components/setup';
test('wrapper', t => {
var form = document.createElement('form');
var input = document.createElement('input');
input.type = 'submit';
form.appendChild(input);
var wr = new Wrapper(form, {
revalidate: 'oninput',
});
add_behavior(wr);
t.is(wr.settings.revalidate, 'oninput');
t.is(wr.form, form);
new Wrapper(form, {
revalidate: 'onblur',
});
/* when a new wrapper for the same form is created, make sure the old
* wrapper is updated instead. */
t.is(wr.settings.revalidate, 'onblur');
/* make sure the form.elements get the poylfills installed */
let polyfill = Object.getOwnPropertyDescriptor(input, 'checkValidity');
t.true(polyfill.value.__hyperform);
wr.destroy();
/* make sure the form.elements get the poylfills uninstalled */
polyfill = Object.getOwnPropertyDescriptor(input, 'checkValidity');
t.true(polyfill === undefined);
});
;