diff options
author | Dave Methvin <dave.methvin@gmail.com> | 2011-08-01 22:30:11 -0400 |
---|---|---|
committer | timmywil <timmywillisn@gmail.com> | 2011-09-19 15:42:31 -0400 |
commit | d74c6bd0f40f315ee12b411a8a5766596095d439 (patch) | |
tree | 602dd2d9e54df40605d7304cda94fee6306dde64 /test | |
parent | 03f99ff995ff2c55f995f08cde93b08e25f19f4c (diff) | |
download | jquery-d74c6bd0f40f315ee12b411a8a5766596095d439.tar.gz jquery-d74c6bd0f40f315ee12b411a8a5766596095d439.zip |
Add unit tests for quickIs cases and fix the regexp as a result.
Diffstat (limited to 'test')
-rw-r--r-- | test/unit/event.js | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/test/unit/event.js b/test/unit/event.js index db6013e4e..235ab4bcb 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -2306,12 +2306,44 @@ test(".on and .off", function() { }); test("delegated events quickIs", function() { - expect(1); - ok( false, "write a unit test you lazy slob!" ); -//TODO: specific unit tests for quickIs selector cases -//TODO: make a test to ensure == matches the null returned by getAttribute for [name] -//ALSO: will quick[5] return undefined in all regexp impls? If not fix it + expect(23); + var markup = jQuery( '<div#quickis><p class="D">dead<b devo="cool">beat</b>club</p><quote id="famous">worked<em>or</em>borked?<em></em></quote></div>' ), + str, + check = function(el, expect){ + str = ""; + markup.find( el ).trigger( "blink" ); + equals( str, expect, "On " + el ); + }, + func = function(e){ + var tag = this.nodeName.toLowerCase(); + str += (str && " ") + tag + "|" + e.handleObj.selector; + ok( e.handleObj.quick, "Selector "+ e.handleObj.selector + " on " + tag + " is a quickIs case" ); + }; + + // tag#id.class[name=value] + markup + .appendTo( "body " ) + .on( "blink", "em", func ) + .on( "blink", ".D", func ) + .on( "blink", ".d", func ) + .on( "blink", "p.d", func ) + .on( "blink", "[devo=cool]", func ) + .on( "blink", "[devo='NO']", func ) + .on( "blink", "#famous", func ) + .on( "blink", "em:empty", func ) + .on( "blink", ":first-child", func ) + .on( "blink", "em:last-child", func ); + + check( "[devo=cool]", "b|[devo=cool] p|.D p|:first-child" ); + check( "[devo='']", "" ); + check( "p", "p|.D p|:first-child" ); + check( "b", "b|[devo=cool] p|.D p|:first-child" ); + check( "em", "em|em quote|#famous em|em em|em:empty em|em:last-child quote|#famous" ); + + markup.find( "b" ).attr( "devo", "NO" ); + check( "b", "b|[devo='NO'] p|.D p|:first-child" ); + markup.remove(); }); |