UNPKG

6.96 kBTypeScriptView Raw
1// Type definitions for React (react-addons-test-utils) 15.6
2// Project: http://facebook.github.io/react/
3// Definitions by: Asana <https://asana.com>, AssureSign <http://www.assuresign.com>, Microsoft <https://microsoft.com>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5// TypeScript Version: 2.8
6
7import { AbstractView, Component, ComponentClass,
8 ReactElement, ReactInstance, ClassType,
9 DOMElement, SFCElement, CElement,
10 ReactHTMLElement, DOMAttributes, SFC } from 'react';
11
12export = TestUtils;
13
14declare namespace TestUtils {
15 export interface OptionalEventProperties {
16 bubbles?: boolean | undefined;
17 cancelable?: boolean | undefined;
18 currentTarget?: EventTarget | undefined;
19 defaultPrevented?: boolean | undefined;
20 eventPhase?: number | undefined;
21 isTrusted?: boolean | undefined;
22 nativeEvent?: Event | undefined;
23 preventDefault?(): void;
24 stopPropagation?(): void;
25 target?: EventTarget | undefined;
26 timeStamp?: Date | undefined;
27 type?: string | undefined;
28 }
29
30 export interface SyntheticEventData extends OptionalEventProperties {
31 altKey?: boolean | undefined;
32 button?: number | undefined;
33 buttons?: number | undefined;
34 clientX?: number | undefined;
35 clientY?: number | undefined;
36 changedTouches?: TouchList | undefined;
37 charCode?: boolean | undefined;
38 clipboardData?: DataTransfer | undefined;
39 ctrlKey?: boolean | undefined;
40 deltaMode?: number | undefined;
41 deltaX?: number | undefined;
42 deltaY?: number | undefined;
43 deltaZ?: number | undefined;
44 detail?: number | undefined;
45 getModifierState?(key: string): boolean;
46 key?: string | undefined;
47 keyCode?: number | undefined;
48 locale?: string | undefined;
49 location?: number | undefined;
50 metaKey?: boolean | undefined;
51 pageX?: number | undefined;
52 pageY?: number | undefined;
53 relatedTarget?: EventTarget | undefined;
54 repeat?: boolean | undefined;
55 screenX?: number | undefined;
56 screenY?: number | undefined;
57 shiftKey?: boolean | undefined;
58 targetTouches?: TouchList | undefined;
59 touches?: TouchList | undefined;
60 view?: AbstractView | undefined;
61 which?: number | undefined;
62 }
63
64 export interface EventSimulator {
65 (element: Element | Component<any>, eventData?: SyntheticEventData): void;
66 }
67
68 export interface MockedComponentClass {
69 new(): any;
70 }
71
72 export interface ShallowRenderer {
73 getRenderOutput<E extends ReactElement>(): E;
74 render(element: ReactElement, context?: any): void;
75 unmount(): void;
76 }
77
78 export namespace Simulate {
79 export var blur: EventSimulator;
80 export var change: EventSimulator;
81 export var click: EventSimulator;
82 export var contextMenu: EventSimulator;
83 export var copy: EventSimulator;
84 export var cut: EventSimulator;
85 export var doubleClick: EventSimulator;
86 export var drag: EventSimulator;
87 export var dragEnd: EventSimulator;
88 export var dragEnter: EventSimulator;
89 export var dragExit: EventSimulator;
90 export var dragLeave: EventSimulator;
91 export var dragOver: EventSimulator;
92 export var dragStart: EventSimulator;
93 export var drop: EventSimulator;
94 export var error: EventSimulator;
95 export var focus: EventSimulator;
96 export var input: EventSimulator;
97 export var keyDown: EventSimulator;
98 export var keyPress: EventSimulator;
99 export var keyUp: EventSimulator;
100 export var load: EventSimulator;
101 export var mouseDown: EventSimulator;
102 export var mouseEnter: EventSimulator;
103 export var mouseLeave: EventSimulator;
104 export var mouseMove: EventSimulator;
105 export var mouseOut: EventSimulator;
106 export var mouseOver: EventSimulator;
107 export var mouseUp: EventSimulator;
108 export var paste: EventSimulator;
109 export var scroll: EventSimulator;
110 export var submit: EventSimulator;
111 export var touchCancel: EventSimulator;
112 export var touchEnd: EventSimulator;
113 export var touchMove: EventSimulator;
114 export var touchStart: EventSimulator;
115 export var wheel: EventSimulator;
116 }
117
118 export function renderIntoDocument<T extends Element>(
119 element: DOMElement<any, T>): T;
120 export function renderIntoDocument(
121 element: SFCElement<any>): void;
122 export function renderIntoDocument<T extends Component<any>>(
123 element: CElement<any, T>): T;
124 export function renderIntoDocument<P>(
125 element: ReactElement<P>): Component<P> | Element | void;
126
127 export function mockComponent(
128 mocked: MockedComponentClass, mockTagName?: string): typeof TestUtils;
129
130 export function isElementOfType<T extends HTMLElement>(
131 element: ReactElement, type: string): element is ReactHTMLElement<T>;
132 export function isElementOfType<P extends DOMAttributes<{}>, T extends Element>(
133 element: ReactElement, type: string): element is DOMElement<P, T>;
134 export function isElementOfType<P>(
135 element: ReactElement, type: SFC<P>): element is SFCElement<P>;
136 export function isElementOfType<P, T extends Component<P>, C extends ComponentClass<P>>(
137 element: ReactElement, type: ClassType<P, T, C>): element is CElement<P, T>;
138
139 export function isDOMComponent(instance: ReactInstance): instance is Element;
140 export function isCompositeComponent(instance: ReactInstance): instance is Component<any>;
141 export function isCompositeComponentWithType<T extends Component<any>, C extends ComponentClass<any>>(
142 instance: ReactInstance, type: ClassType<any, T, C>): T;
143
144 export function findAllInRenderedTree(
145 root: Component<any>,
146 fn: (i: ReactInstance) => boolean): ReactInstance[];
147
148 export function scryRenderedDOMComponentsWithClass(
149 root: Component<any>,
150 className: string): Element[];
151 export function findRenderedDOMComponentWithClass(
152 root: Component<any>,
153 className: string): Element;
154
155 export function scryRenderedDOMComponentsWithTag(
156 root: Component<any>,
157 tagName: string): Element[];
158 export function findRenderedDOMComponentWithTag(
159 root: Component<any>,
160 tagName: string): Element;
161
162 export function scryRenderedComponentsWithType<T extends Component<any>, C extends ComponentClass<any>>(
163 root: Component<any>,
164 type: ClassType<any, T, C>): T[];
165
166 export function findRenderedComponentWithType<T extends Component<any>, C extends ComponentClass<any>>(
167 root: Component<any>,
168 type: ClassType<any, T, C>): T;
169
170 export function createRenderer(): ShallowRenderer;
171}