react / react-0.13.3 / examples / basic-commonjs / node_modules / reactify / node_modules / react-tools / src / browser / eventPlugins / __tests__ / EnterLeaveEventPlugin-test.js
81159 views/**1* Copyright 2013-2014, Facebook, Inc.2* All rights reserved.3*4* This source code is licensed under the BSD-style license found in the5* LICENSE file in the root directory of this source tree. An additional grant6* of patent rights can be found in the PATENTS file in the same directory.7*8* @emails react-core9*/1011/*jslint evil: true */1213"use strict";1415var EnterLeaveEventPlugin;16var EventConstants;17var React;18var ReactMount;1920var topLevelTypes;2122describe('EnterLeaveEventPlugin', function() {23beforeEach(function() {24require('mock-modules').dumpCache();2526EnterLeaveEventPlugin = require('EnterLeaveEventPlugin');27EventConstants = require('EventConstants');28React = require('React');29ReactMount = require('ReactMount');3031topLevelTypes = EventConstants.topLevelTypes;32});3334it('should set relatedTarget properly in iframe', function() {35var iframe = document.createElement('iframe');36document.body.appendChild(iframe);3738var iframeDocument = iframe.contentDocument;3940iframeDocument.write(41'<!DOCTYPE html><html><head></head><body></body></html>'42);43iframeDocument.close();4445var component = React.render(<div />, iframeDocument.body);46var div = component.getDOMNode();4748var extracted = EnterLeaveEventPlugin.extractEvents(49topLevelTypes.topMouseOver,50div,51ReactMount.getID(div),52{target: div}53);54expect(extracted.length).toBe(2);5556var leave = extracted[0];57var enter = extracted[1];5859expect(leave.target).toBe(iframe.contentWindow);60expect(leave.relatedTarget).toBe(div);61expect(enter.target).toBe(div);62expect(enter.relatedTarget).toBe(iframe.contentWindow);63});64});656667