aboutsummaryrefslogtreecommitdiffstats
path: root/test/jqLiteSpec.js
diff options
context:
space:
mode:
authorMisko Hevery2012-02-10 21:16:50 -0800
committerMisko Hevery2012-02-21 22:45:59 -0800
commitc8ee631c1999fc87c0002bb27bd411fb953a726f (patch)
tree7a0ffbb36db38a5c6f7c5fe9102c8b99d5ac8338 /test/jqLiteSpec.js
parentcae9ad4ba9c31dfa9e1aa2acc945dfc8242d1c72 (diff)
downloadangular.js-c8ee631c1999fc87c0002bb27bd411fb953a726f.tar.bz2
feat(mouseenter/mouseleave): emulating ie events
Diffstat (limited to 'test/jqLiteSpec.js')
-rw-r--r--test/jqLiteSpec.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index 8b49502f..358b8c4a 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -603,6 +603,50 @@ describe('jqLite', function() {
browserTrigger(a, 'click');
});
+
+ describe('mouseenter-mouseleave', function() {
+ var root, parent, sibling, child, log;
+
+ beforeEach(function() {
+ log = '';
+ root = jqLite('<div>root<p>parent<span>child</span></p><ul></ul></div>');
+ parent = root.find('p');
+ sibling = root.find('ul');
+ child = parent.find('span');
+
+ parent.bind('mouseenter', function() { log += 'parentEnter;'; });
+ parent.bind('mouseleave', function() { log += 'parentLeave;'; });
+ parent.mouseover = function(event) { parent.data('bind').mouseover(event || {}); };
+ parent.mouseout = function(event) { parent.data('bind').mouseout(event || {}); };
+
+ child.bind('mouseenter', function() { log += 'childEnter;'; });
+ child.bind('mouseleave', function() { log += 'childLeave;'; });
+ child.mouseover = function(event) { child.data('bind').mouseover(event || {}); };
+ child.mouseout = function(event) { child.data('bind').mouseout(event || {}); };
+ });
+
+ afterEach(function() {
+ dealoc(root);
+ });
+
+ it('should fire mouseenter when coming from outside the browser window', function() {
+ if (window.jQuery) return;
+ parent.mouseover();
+ expect(log).toEqual('parentEnter;');
+
+ child.mouseover();
+ expect(log).toEqual('parentEnter;childEnter;');
+ child.mouseover();
+ expect(log).toEqual('parentEnter;childEnter;');
+
+ child.mouseout();
+ expect(log).toEqual('parentEnter;childEnter;');
+ child.mouseout();
+ expect(log).toEqual('parentEnter;childEnter;childLeave;');
+ parent.mouseout();
+ expect(log).toEqual('parentEnter;childEnter;childLeave;parentLeave;');
+ });
+ });
});