Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function ({ app, host, container }: TestContext) {
const scheduler = container.get(IScheduler);
const controller = app.controller;
const controllerSpy = app.controllerSpy;
const target: HTMLInputElement = (host as Element).querySelector("#target");
assertControllerBinding(controller, 'person.name', target);
assert.equal(app.trigger, ValidationTrigger.change);
target.value = 'foo';
await assertEventHandler(target, 'change', 1, scheduler, controllerSpy);
await assertEventHandler(target, 'blur', 0, scheduler, controllerSpy);
app.trigger = ValidationTrigger.blur;
await assertEventHandler(target, 'blur', 1, scheduler, controllerSpy);
target.value = 'bar';
await assertEventHandler(target, 'change', 0, scheduler, controllerSpy);
app.trigger = ValidationTrigger.changeOrBlur;
await assertEventHandler(target, 'blur', 1, scheduler, controllerSpy);
target.value = 'foo';
await assertEventHandler(target, 'change', 1, scheduler, controllerSpy);
app.trigger = ValidationTrigger.manual;
await assertEventHandler(target, 'blur', 0, scheduler, controllerSpy);
target.value = 'bar';
await assertEventHandler(target, 'change', 0, scheduler, controllerSpy);
},
{ template: `<input type="text">` }