|
| 1 | +package japgolly.scalajs.react.testing_library.dom |
| 2 | + |
| 3 | +import japgolly.scalajs.react.React |
| 4 | +import japgolly.scalajs.react.test.{ReactEventType, ReactTestUtils} |
| 5 | +import org.scalajs.dom.Node |
| 6 | +import scala.scalajs.js |
| 7 | + |
| 8 | +object Simulate { |
| 9 | + import ReactEventType._ |
| 10 | + |
| 11 | + val raw = facade.TestingLibraryDom.fireEvent |
| 12 | + |
| 13 | + private def mod(e: js.Object, eventType: ReactEventType): js.Object = |
| 14 | + js.Object.assign( |
| 15 | + js.Object(), |
| 16 | + eventType.defaultEventData, |
| 17 | + e) |
| 18 | + |
| 19 | + private def mod(e: js.Object, eventType: ReactEventType, detail: Int): js.Object = |
| 20 | + js.Object.assign( |
| 21 | + js.Object(), |
| 22 | + eventType.defaultEventData, |
| 23 | + js.Dynamic.literal(detail = detail), |
| 24 | + e) |
| 25 | + |
| 26 | + private def wrap(f: => Unit): Unit = |
| 27 | + if (React.majorVersion >= 18 && ReactTestUtils.IsReactActEnvironment()) |
| 28 | + ReactTestUtils.actSync(f) |
| 29 | + else |
| 30 | + f |
| 31 | + |
| 32 | +//def auxClick (t: Node, eventData: js.Object = null): Unit = wrap(raw.auxClick (t, mod(eventData, Mouse, 1))) |
| 33 | +//def beforeInput (t: Node, eventData: js.Object = null): Unit = wrap(raw.beforeInput (t, mod(eventData, Basic))) |
| 34 | +//def blur (t: Node, eventData: js.Object = null): Unit = wrap(raw.blur (t, mod(eventData, Focus))) |
| 35 | +//def change (t: Node, eventData: js.Object = null): Unit = wrap(raw.change (t, mod(eventData, Form))) |
| 36 | + def click (t: Node, eventData: js.Object = null): Unit = wrap(raw.click (t, mod(eventData, Mouse, 1))) |
| 37 | + def compositionEnd (t: Node, eventData: js.Object = null): Unit = wrap(raw.compositionEnd (t, mod(eventData, Composition))) |
| 38 | + def compositionStart (t: Node, eventData: js.Object = null): Unit = wrap(raw.compositionStart (t, mod(eventData, Composition))) |
| 39 | + def compositionUpdate (t: Node, eventData: js.Object = null): Unit = wrap(raw.compositionUpdate (t, mod(eventData, Composition))) |
| 40 | + def contextMenu (t: Node, eventData: js.Object = null): Unit = wrap(raw.contextMenu (t, mod(eventData, Mouse))) |
| 41 | + def copy (t: Node, eventData: js.Object = null): Unit = wrap(raw.copy (t, mod(eventData, Clipboard))) |
| 42 | + def cut (t: Node, eventData: js.Object = null): Unit = wrap(raw.cut (t, mod(eventData, Clipboard))) |
| 43 | + def doubleClick (t: Node, eventData: js.Object = null): Unit = wrap(raw.doubleClick (t, mod(eventData, Mouse, 2))) |
| 44 | + def dragEnd (t: Node, eventData: js.Object = null): Unit = wrap(raw.dragEnd (t, mod(eventData, Drag))) |
| 45 | + def dragEnter (t: Node, eventData: js.Object = null): Unit = wrap(raw.dragEnter (t, mod(eventData, Drag))) |
| 46 | + def dragExit (t: Node, eventData: js.Object = null): Unit = wrap(raw.dragExit (t, mod(eventData, Drag))) |
| 47 | + def dragLeave (t: Node, eventData: js.Object = null): Unit = wrap(raw.dragLeave (t, mod(eventData, Drag))) |
| 48 | + def dragOver (t: Node, eventData: js.Object = null): Unit = wrap(raw.dragOver (t, mod(eventData, Drag))) |
| 49 | + def dragStart (t: Node, eventData: js.Object = null): Unit = wrap(raw.dragStart (t, mod(eventData, Drag))) |
| 50 | + def drag (t: Node, eventData: js.Object = null): Unit = wrap(raw.drag (t, mod(eventData, Drag))) |
| 51 | + def drop (t: Node, eventData: js.Object = null): Unit = wrap(raw.drop (t, mod(eventData, Drag))) |
| 52 | +//def error (t: Node, eventData: js.Object = null): Unit = wrap(raw.error (t, mod(eventData, Basic))) |
| 53 | +//def focus (t: Node, eventData: js.Object = null): Unit = wrap(raw.focus (t, mod(eventData, Focus))) |
| 54 | + def gotPointerCapture (t: Node, eventData: js.Object = null): Unit = wrap(raw.gotPointerCapture (t, mod(eventData, Pointer))) |
| 55 | + def input (t: Node, eventData: js.Object = null): Unit = wrap(raw.input (t, mod(eventData, Form))) |
| 56 | + def keyDown (t: Node, eventData: js.Object = null): Unit = wrap(raw.keyDown (t, mod(eventData, Keyboard))) |
| 57 | +//def keyPress (t: Node, eventData: js.Object = null): Unit = wrap(raw.keyPress (t, mod(eventData, Keyboard))) |
| 58 | + def keyUp (t: Node, eventData: js.Object = null): Unit = wrap(raw.keyUp (t, mod(eventData, Keyboard))) |
| 59 | +//def load (t: Node, eventData: js.Object = null): Unit = wrap(raw.load (t, mod(eventData, Basic))) |
| 60 | + def lostPointerCapture(t: Node, eventData: js.Object = null): Unit = wrap(raw.lostPointerCapture(t, mod(eventData, Pointer))) |
| 61 | + def mouseDown (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseDown (t, mod(eventData, Mouse, 1))) |
| 62 | +//def mouseEnter (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseEnter (t, mod(eventData, Mouse))) |
| 63 | +//def mouseLeave (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseLeave (t, mod(eventData, Mouse))) |
| 64 | + def mouseMove (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseMove (t, mod(eventData, Mouse))) |
| 65 | + def mouseOut (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseOut (t, mod(eventData, Mouse))) |
| 66 | + def mouseOver (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseOver (t, mod(eventData, Mouse))) |
| 67 | + def mouseUp (t: Node, eventData: js.Object = null): Unit = wrap(raw.mouseUp (t, mod(eventData, Mouse, 1))) |
| 68 | + def paste (t: Node, eventData: js.Object = null): Unit = wrap(raw.paste (t, mod(eventData, Clipboard))) |
| 69 | + def pointerCancel (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerCancel (t, mod(eventData, Pointer))) |
| 70 | + def pointerDown (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerDown (t, mod(eventData, Pointer))) |
| 71 | +//def pointerEnter (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerEnter (t, mod(eventData, Pointer))) |
| 72 | +//def pointerLeave (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerLeave (t, mod(eventData, Pointer))) |
| 73 | + def pointerMove (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerMove (t, mod(eventData, Pointer))) |
| 74 | + def pointerOut (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerOut (t, mod(eventData, Pointer))) |
| 75 | + def pointerOver (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerOver (t, mod(eventData, Pointer))) |
| 76 | + def pointerUp (t: Node, eventData: js.Object = null): Unit = wrap(raw.pointerUp (t, mod(eventData, Pointer))) |
| 77 | + def reset (t: Node, eventData: js.Object = null): Unit = wrap(raw.reset (t, mod(eventData, Form))) |
| 78 | + def scroll (t: Node, eventData: js.Object = null): Unit = wrap(raw.scroll (t, mod(eventData, UI))) |
| 79 | +//def select (t: Node, eventData: js.Object = null): Unit = wrap(raw.select (t, mod(eventData, Basic))) |
| 80 | + def submit (t: Node, eventData: js.Object = null): Unit = wrap(raw.submit (t, mod(eventData, Form))) |
| 81 | + def touchCancel (t: Node, eventData: js.Object = null): Unit = wrap(raw.touchCancel (t, mod(eventData, Touch))) |
| 82 | + def touchEnd (t: Node, eventData: js.Object = null): Unit = wrap(raw.touchEnd (t, mod(eventData, Touch))) |
| 83 | + def touchMove (t: Node, eventData: js.Object = null): Unit = wrap(raw.touchMove (t, mod(eventData, Touch))) |
| 84 | + def touchStart (t: Node, eventData: js.Object = null): Unit = wrap(raw.touchStart (t, mod(eventData, Touch))) |
| 85 | + def wheel (t: Node, eventData: js.Object = null): Unit = wrap(raw.wheel (t, mod(eventData, Wheel))) |
| 86 | +} |
0 commit comments