device-navigation
Version:
Navigate HTML elements in two dimensions with non-pointer devices.
23 lines (22 loc) • 769 B
JavaScript
import { assert } from '@augment-vir/assert';
import { makeWritable } from '@augment-vir/common';
import { html } from 'element-vir';
import { NavController } from './nav-controller.js';
/**
* Creates a mock {@link NavController} instance and attaches the callback's output template to it.
*
* @category Util
*/
export async function createMockNavController(templateCallback) {
const { testWeb } = await import('@augment-vir/test');
const navController = new NavController(undefined);
const fixture = await testWeb.render(html `
<div>${templateCallback(navController)}</div>
`);
assert.instanceOf(fixture, HTMLElement);
makeWritable(navController).rootElement = fixture;
return {
fixture,
navController,
};
}