Permalink
Browse files

Added more "fire" event tests

  • Loading branch information...
1 parent 380e90c commit 06ec7f39e29aee00bb869e922633703783415ea3 Michael Helgeson committed Feb 7, 2011
Showing with 109 additions and 5 deletions.
  1. +3 −3 fire/test/{dom.js → form.js}
  2. +4 −2 fire/test/index.html
  3. +52 −0 fire/test/mutation.js
  4. +50 −0 fire/test/object.js
@@ -1,9 +1,9 @@
-module("DOM Events");
+module("Form Events");
// test each of the following events
$.each([
- "focus","blur","change","scroll","resize",
- "error","load","unload","submit","select"
+ "focus","blur","change",
+ "submit","select","reset"
],function( i, type ){
// test each event type
test( '"'+ type +'"', function(){
View
@@ -9,9 +9,11 @@
<script src="../../fire/jquery.fire.js"></script>
<script src="./requirements.js"></script>
<script src="./mouse.js"></script>
- <script src="./key.js"></script>
- <script src="./dom.js"></script>
<script src="./touch.js"></script>
+ <script src="./key.js"></script>
+ <script src="./form.js"></script>
+ <script src="./object.js"></script>
+ <script src="./mutation.js"></script>
<script src="./custom.js"></script>
<title>ThreeDubMedia &middot; jQuery.fire.js</title>
</head>
View
@@ -0,0 +1,52 @@
+module("Mutation Events");
+
+// test each of the following events
+$.each([
+ "DOMSubtreeModified","DOMNodeInserted",
+ "DOMNodeRemoved","DOMNodeRemovedFromDocument",
+ "DOMNodeInsertedIntoDocument","DOMAttrModified",
+ "DOMCharacterDataModified"
+],function( i, type ){
+ // test each event type
+ test( '"'+ type +'"', function(){
+ expect( 0 );
+
+ // custom event properties
+ var props = {
+ //keyCode: Math.round( Math.random() * 256 ),
+ //charCode: Math.round( Math.random() * 256 ),
+ ctrlKey: Math.round( Math.random() ) ? true : false,
+ altKey: Math.round( Math.random() ) ? true : false,
+ shiftKey: Math.round( Math.random() ) ? true : false
+ },
+ // new test element
+ $div = $('<div/>').appendTo( document.body );
+ // test the document too for bubbling
+ $div.add( document ).bind( type, function( ev ){
+
+ equals( ev.currentTarget, this, "event.currentTarget");
+ equals( ev.target, $div[0], "event.target" );
+ equals( ev.type, type, "event.type" );
+
+ equals( ev.ctrlKey, props.ctrlKey, "event.ctrlKey" );
+ equals( ev.altKey, props.altKey, "event.altKey" );
+ equals( ev.shiftKey, props.shiftKey, "event.shiftKey" );
+ equals( ev.metaKey, props.metaKey, "event.metaKey" );
+ equals( ev.bubbles, props.bubbles, "event.bubbles" );
+ });
+
+ // make sure that metaKey and ctrlKey are equal
+ props.metaKey = props.ctrlKey;
+ // fire the event with bubbling
+ props.bubbles = true;
+ $div.fire( type, props );
+
+ // fire the event without bubbling
+ props.bubbles = false;
+ $div.fire( type, props );
+
+ // cleanup
+ $( document ).unbind( type );
+ $div.remove();
+ });
+});
View
@@ -0,0 +1,50 @@
+module("Object/Frame Events");
+
+// test each of the following events
+$.each([
+ "abort","scroll","resize",
+ "error","load","unload"
+],function( i, type ){
+ // test each event type
+ test( '"'+ type +'"', function(){
+ expect( 0 );
+
+ // custom event properties
+ var props = {
+ //keyCode: Math.round( Math.random() * 256 ),
+ //charCode: Math.round( Math.random() * 256 ),
+ ctrlKey: Math.round( Math.random() ) ? true : false,
+ altKey: Math.round( Math.random() ) ? true : false,
+ shiftKey: Math.round( Math.random() ) ? true : false
+ },
+ // new test element
+ $div = $('<div/>').appendTo( document.body );
+ // test the document too for bubbling
+ $div.add( document ).bind( type, function( ev ){
+
+ equals( ev.currentTarget, this, "event.currentTarget");
+ equals( ev.target, $div[0], "event.target" );
+ equals( ev.type, type, "event.type" );
+
+ equals( ev.ctrlKey, props.ctrlKey, "event.ctrlKey" );
+ equals( ev.altKey, props.altKey, "event.altKey" );
+ equals( ev.shiftKey, props.shiftKey, "event.shiftKey" );
+ equals( ev.metaKey, props.metaKey, "event.metaKey" );
+ equals( ev.bubbles, props.bubbles, "event.bubbles" );
+ });
+
+ // make sure that metaKey and ctrlKey are equal
+ props.metaKey = props.ctrlKey;
+ // fire the event with bubbling
+ props.bubbles = true;
+ $div.fire( type, props );
+
+ // fire the event without bubbling
+ props.bubbles = false;
+ $div.fire( type, props );
+
+ // cleanup
+ $( document ).unbind( type );
+ $div.remove();
+ });
+});

0 comments on commit 06ec7f3

Please sign in to comment.