[Windmill-dev] mouseover and mouseout

Robert Leftwich windmill at rtl.fmailbox.com
Fri Dec 14 16:15:12 PST 2007


I had a need for these commands, so I've added them. Following is the
svn diff - hopefully I made all the required changes, including adding
some unit tests.

I note that some of the unit tests in test_unit.py are failing - but
that was before I changed anything :-)

Robert


Index: test/test_live/test_unit.py
===================================================================
--- test/test_live/test_unit.py (revision 614)
+++ test/test_live/test_unit.py (working copy)
@@ -70,6 +70,10 @@
     assert client.asserts.assertText(validator=u'mouse downed',
     id=u'mousedownme')['result']
     assert client.mouseup(id=u'mouseupme')['result']
     assert client.asserts.assertText(validator=u'mouse upped',
     id=u'mouseupme')['result']
+    assert client.mouseover(id=u'mouseoverme')['result']
+    assert client.asserts.assertText(validator=u'mouse overred',
id=u'mouseoverme')['result']
+    assert client.mouseout(id=u'mouseoverme')['result']
+    assert client.asserts.assertText(validator=u'mouse outed',
id=u'mouseoverme')['result']
     assert client.asserts.assertNode(id=u'amIhere')['result']
     assert
     client.asserts.assertProperty(validator=u'style.height|50px',
     id=u'amIhere')['result']
     assert not client.asserts.assertNode(id=u'doesntExist')['result']
Index: test/test_live/unit_tester.html
===================================================================
--- test/test_live/unit_tester.html     (revision 614)
+++ test/test_live/unit_tester.html     (working copy)
@@ -70,8 +70,10 @@
 
 <div id="mousedownme"
 style="position:relative;width:200px;height:50px;border:1px solid red;"
 onmousedown="document.getElementById('mousedownme').innerHTML = 'mouse
 downed';"></div><br>
 
-<div id="mouseupme"
style="position:relative;width:200px;height:50px;border:1px solid
purple;" onmouseup="document.getElementById('mouseupme').innerHTML =
'mouse upped';"></div><br>
+<div id="mouseupme"
style="position:relative;width:200px;height:50px;border:1px solid
purple;" onmouseup="document.getElementById('mouseupme').innerHTML =
'mouse upped';"></div><br><br>
 
+<div id="mouseoverme"
style="position:relative;width:200px;height:50px;border:1px solid
purple;" onmouseover="document.getElementById('mouseoverme').innerHTML =
'mouse overred';"
onmouseout="document.getElementById('mouseoverme').innerHTML = 'mouse
outed';"></div><br>
+
 <div id="amIhere" style="width:200px;height:50px;border:1px solid
 black;"></div><br>
 
 <div id="jsidTeset" style="width:200px;height:50px;border:1px solid
 orange;"></div>
Index: windmill/html/js/controller/controller.js
===================================================================
--- windmill/html/js/controller/controller.js   (revision 614)
+++ windmill/html/js/controller/controller.js   (working copy)
@@ -327,7 +327,21 @@
     return true;
   };
   
+  this.mouseover = function (param_object){
+    var mdnElement = this._lookupDispatch(param_object);
+    windmill.events.triggerMouseEvent(mdnElement, 'mouseover', true);
+    
+    return true;
+  };
   
+  this.mouseout = function (param_object){
+    var mdnElement = this._lookupDispatch(param_object);
+    windmill.events.triggerMouseEvent(mdnElement, 'mouseout', true);
+    
+    return true;
+  };
+  
+  
   //Browser navigation functions
   this.goBack = function(param_object){
     windmill.testWindow.history.back();
Index: windmill/html/js/wm/registry.js
===================================================================
--- windmill/html/js/wm/registry.js     (revision 614)
+++ windmill/html/js/wm/registry.js     (working copy)
@@ -32,6 +32,8 @@
 windmill.registry.methods['doubleClick']         = {'locator': true,
 'option': false};
 windmill.registry.methods['mousedown']           = {'locator': true,
 'option': false};
 windmill.registry.methods['mouseup']             = {'locator': true,
 'option': false};
+windmill.registry.methods['mouseout']             = {'locator': true,
'option': false};
+windmill.registry.methods['mouseover']             = {'locator': true,
'option': false};
 windmill.registry.methods['type']                = {'locator': true,
 'option': 'text'};
 windmill.registry.methods['radio']               = {'locator': true,
 'option': false };
 windmill.registry.methods['check']               = {'locator': true,
 'option': false };




More information about the Windmill-dev mailing list