summaryrefslogtreecommitdiffhomepage
path: root/test/components/Switch.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/components/Switch.spec.js')
-rw-r--r--test/components/Switch.spec.js49
1 files changed, 32 insertions, 17 deletions
diff --git a/test/components/Switch.spec.js b/test/components/Switch.spec.js
index db7fe8d8c4..eaac6dc08c 100644
--- a/test/components/Switch.spec.js
+++ b/test/components/Switch.spec.js
@@ -1,7 +1,7 @@
// @flow
import { expect } from 'chai';
-import React from 'react';
+import * as React from 'react';
import ReactDOM from 'react-dom';
import ReactTestUtils, { Simulate } from 'react-dom/test-utils';
import Switch from '../../app/components/Switch';
@@ -10,7 +10,7 @@ describe('components/Switch', () => {
let container: ?HTMLElement;
- function renderIntoDocument(instance: React.Element<*>): React.Component<*, *, *> {
+ function renderIntoDocument(instance: React.Element<*>): React.Component<*, *> {
if(container) {
throw new Error('Unmount previously rendered component first.');
}
@@ -42,10 +42,12 @@ describe('components/Switch', () => {
<Switch isOn={ false } onChange={ onChange } />
);
const domNode = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'input');
-
- Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
- Simulate.mouseUp(domNode, { clientX: 100, clientY: 0 });
- Simulate.change(domNode, { target: { checked: true } });
+ // See: https://github.com/facebook/flow/pull/5841
+ if(domNode) {
+ Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
+ Simulate.mouseUp(domNode, { clientX: 100, clientY: 0 });
+ Simulate.change(domNode, { target: { checked: true } });
+ }
});
it('should switch off', (done) => {
@@ -57,10 +59,12 @@ describe('components/Switch', () => {
<Switch isOn={ true } onChange={ onChange } />
);
const domNode = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'input');
-
- Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
- Simulate.mouseUp(domNode, { clientX: 100, clientY: 0 });
- Simulate.change(domNode, { target: { checked: false } });
+ // See: https://github.com/facebook/flow/pull/5841
+ if(domNode) {
+ Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
+ Simulate.mouseUp(domNode, { clientX: 100, clientY: 0 });
+ Simulate.change(domNode, { target: { checked: false } });
+ }
});
it('should handle left to right swipe', (done) => {
@@ -72,8 +76,10 @@ describe('components/Switch', () => {
<Switch isOn={ false } onChange={ onChange } />
);
const domNode = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'input');
-
- Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
+ // See: https://github.com/facebook/flow/pull/5841
+ if(domNode) {
+ Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
+ }
// Switch listens to events on document
document.dispatchEvent(new MouseEvent('mousemove', { clientX: 150, clientY: 0 }));
@@ -90,7 +96,10 @@ describe('components/Switch', () => {
);
const domNode = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'input');
- Simulate.mouseDown(domNode, { clientX: 150, clientY: 0 });
+ // See: https://github.com/facebook/flow/pull/5841
+ if(domNode) {
+ Simulate.mouseDown(domNode, { clientX: 150, clientY: 0 });
+ }
// Switch listens to events on document
document.dispatchEvent(new MouseEvent('mousemove', { clientX: 100, clientY: 0 }));
@@ -105,17 +114,23 @@ describe('components/Switch', () => {
const component = renderIntoDocument(
<Switch isOn={ false } onChange={ onChange } />
);
- const domNode = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'input');
- Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
+ const domNode = ReactTestUtils.findRenderedDOMComponentWithTag(component, 'input');
+ // See: https://github.com/facebook/flow/pull/5841
+ if(domNode) {
+ Simulate.mouseDown(domNode, { clientX: 100, clientY: 0 });
+ }
setTimeout(() => {
// Switch listens to events on document
document.dispatchEvent(new MouseEvent('mouseup', { clientX: 100, clientY: 0 }));
try {
- // should not trigger onChange()
- Simulate.change(domNode);
+ // See: https://github.com/facebook/flow/pull/5841
+ if(domNode) {
+ // should not trigger onChange()
+ Simulate.change(domNode);
+ }
done();
} catch(e) {
done(e);