Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81159 views
1
/**
2
* Copyright 2013-2014, Facebook, Inc.
3
* All rights reserved.
4
*
5
* This source code is licensed under the BSD-style license found in the
6
* LICENSE file in the root directory of this source tree. An additional grant
7
* of patent rights can be found in the PATENTS file in the same directory.
8
*
9
* @emails react-core
10
*/
11
12
/*jslint evil: true */
13
14
"use strict";
15
16
var EnterLeaveEventPlugin;
17
var EventConstants;
18
var React;
19
var ReactMount;
20
21
var topLevelTypes;
22
23
describe('EnterLeaveEventPlugin', function() {
24
beforeEach(function() {
25
require('mock-modules').dumpCache();
26
27
EnterLeaveEventPlugin = require('EnterLeaveEventPlugin');
28
EventConstants = require('EventConstants');
29
React = require('React');
30
ReactMount = require('ReactMount');
31
32
topLevelTypes = EventConstants.topLevelTypes;
33
});
34
35
it('should set relatedTarget properly in iframe', function() {
36
var iframe = document.createElement('iframe');
37
document.body.appendChild(iframe);
38
39
var iframeDocument = iframe.contentDocument;
40
41
iframeDocument.write(
42
'<!DOCTYPE html><html><head></head><body></body></html>'
43
);
44
iframeDocument.close();
45
46
var component = React.render(<div />, iframeDocument.body);
47
var div = component.getDOMNode();
48
49
var extracted = EnterLeaveEventPlugin.extractEvents(
50
topLevelTypes.topMouseOver,
51
div,
52
ReactMount.getID(div),
53
{target: div}
54
);
55
expect(extracted.length).toBe(2);
56
57
var leave = extracted[0];
58
var enter = extracted[1];
59
60
expect(leave.target).toBe(iframe.contentWindow);
61
expect(leave.relatedTarget).toBe(div);
62
expect(enter.target).toBe(div);
63
expect(enter.relatedTarget).toBe(iframe.contentWindow);
64
});
65
});
66
67