В моих угловых тестах у меня есть эти два элемента, где график расположен внутри оболочки:
const wrapper = fixture.debugElement.query(By.css('#canvas-wrapper'));
const graph = fixture.debugElement.query(By.css('#inner-canvas'));
Приложение использует mousemove
привязку внутри элемента графика, и для целей тестирования ятакже поместил один на обертку.
wrapperMouseHandler(event) {
console.log('wrapper offsets', event.offsetX, event.offsetY);
console.log('wrapper clients', event.clientX, event.clientY);
}
didMoveOnGraph({ offsetX: x, offsetY: y }) {
console.log('didMoveOnGraph', x, y);
... the rest of the method ...
}
Когда я перемещаю мышь в приложении, перемещаюсь по графику и печатает все 3 оператора журнала.
Я хочу проверитьактивность мыши во всем компоненте (который имеет некоторые другие области, связанные с мышью), и поэтому я хочу проверить, что движения в определенных местах оболочки запускают обработчики в своих дочерних элементах (например, в графике).
Когда я использую dispatchEvent
на графике, я могу заставить его всплывать до оболочки. Но мне нужно противоположное поведение, как описано выше - «пузыриться» от оболочки до графика.
Могу ли я сделать это без прямого перемещения мышью на ребенка? Как?