| <!doctype html> |
| <meta charset=utf-8> |
| <link rel='help' href='https://screen-share.github.io/captured-mouse-events/#capture-controller-extensions'> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| test(() => { |
| const controller = new CaptureController(); |
| assert_equals(controller.oncapturedmousechange, null); |
| }, "oncapturedmousechange is initially unset"); |
| |
| test(() => { |
| const controller = new CaptureController(); |
| let result = undefined; |
| controller.oncapturedmousechange = (e) => { |
| result = { |
| target: e.currentTarget, |
| surfaceX: e.surfaceX, |
| surfaceY: e.surfaceY, |
| }; |
| }; |
| const init = {surfaceX: 5, surfaceY: 7}; |
| controller.dispatchEvent( |
| new CapturedMouseEvent("capturedmousechange", init) |
| ); |
| assert_equals(result.target, controller); |
| assert_equals(result.surfaceX, init.surfaceX); |
| assert_equals(result.surfaceY, init.surfaceY); |
| }, "dispatching a CapturedMouseEvent on CaptureController should trigger oncapturedmousechange"); |
| </script> |