mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-03-29 00:18:20 +08:00
React TestUtils SyntheticEventData extends browser Event (#9000)
* SyntheticEventData extends browser Event From https://facebook.github.io/react/docs/events.html Your event handlers will be passed instances of SyntheticEvent, a cross-browser wrapper around the browser's native event. It has the same interface as the browser's native event, including stopPropagation() and preventDefault(), except the events work identically across all browsers. * make react synthetic event properties optional
This commit is contained in:
committed by
Horiuchi_H
parent
768a395270
commit
08ed4e9f18
20
react/react-addons-test-utils.d.ts
vendored
20
react/react-addons-test-utils.d.ts
vendored
@@ -6,7 +6,22 @@
|
||||
/// <reference path="react.d.ts" />
|
||||
|
||||
declare namespace __React {
|
||||
interface SyntheticEventData {
|
||||
interface OptionalEventProperties {
|
||||
bubbles?: boolean;
|
||||
cancelable?: boolean;
|
||||
currentTarget?: EventTarget;
|
||||
defaultPrevented?: boolean;
|
||||
eventPhase?: number;
|
||||
isTrusted?: boolean;
|
||||
nativeEvent?: Event;
|
||||
preventDefault?(): void;
|
||||
stopPropagation?(): void;
|
||||
target?: EventTarget;
|
||||
timeStamp?: Date;
|
||||
type?: string;
|
||||
}
|
||||
|
||||
interface SyntheticEventData extends OptionalEventProperties {
|
||||
altKey?: boolean;
|
||||
button?: number;
|
||||
buttons?: number;
|
||||
@@ -41,8 +56,7 @@ declare namespace __React {
|
||||
}
|
||||
|
||||
interface EventSimulator {
|
||||
(element: Element, eventData?: SyntheticEventData): void;
|
||||
(component: Component<any, any>, eventData?: SyntheticEventData): void;
|
||||
(element: Element | Component<any, any>, eventData?: SyntheticEventData): void;
|
||||
}
|
||||
|
||||
interface MockedComponentClass {
|
||||
|
||||
@@ -418,9 +418,10 @@ React.createClass({
|
||||
// TestUtils addon
|
||||
// --------------------------------------------------------------------------
|
||||
var node: Element;
|
||||
|
||||
React.addons.TestUtils.Simulate.click(node);
|
||||
React.addons.TestUtils.Simulate.change(node);
|
||||
React.addons.TestUtils.Simulate.keyDown(node, { key: "Enter" });
|
||||
React.addons.TestUtils.Simulate.keyDown(node, { key: "Enter", cancelable: false });
|
||||
|
||||
var renderer: React.ShallowRenderer =
|
||||
React.addons.TestUtils.createRenderer();
|
||||
|
||||
@@ -553,7 +553,7 @@ var node: Element = TestUtils.renderIntoDocument(React.DOM.div());
|
||||
|
||||
TestUtils.Simulate.click(node);
|
||||
TestUtils.Simulate.change(node);
|
||||
TestUtils.Simulate.keyDown(node, { key: "Enter" });
|
||||
TestUtils.Simulate.keyDown(node, { key: "Enter", cancelable: false });
|
||||
|
||||
var renderer: React.ShallowRenderer =
|
||||
TestUtils.createRenderer();
|
||||
|
||||
Reference in New Issue
Block a user