X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fattributes.js;h=9b5411f08c7667ec92afaf1c7d1de5e521f8bc08;hb=8356871a5522ad59cac80af2ca4695079059b97e;hp=63e587a410dd48a63702799db1f3270f59d6743e;hpb=e45b41602ff483ebed67b5b73008aff5ceb1fe6f;p=jquery.git diff --git a/test/unit/attributes.js b/test/unit/attributes.js index 63e587a..9b5411f 100644 --- a/test/unit/attributes.js +++ b/test/unit/attributes.js @@ -2,7 +2,10 @@ module("attributes"); test("attr(String)", function() { expect(27); + + // This one sometimes fails randomally ?! equals( jQuery('#text1').attr('value'), "Test", 'Check for value attribute' ); + equals( jQuery('#text1').attr('value', "Test2").attr('defaultValue'), "Test", 'Check for defaultValue attribute' ); equals( jQuery('#text1').attr('type'), "text", 'Check for type attribute' ); equals( jQuery('#radio1').attr('type'), "radio", 'Check for type attribute' ); @@ -68,16 +71,19 @@ test("attr(String, Function)", function() { }); test("attr(Hash)", function() { - expect(1); + expect(3); var pass = true; jQuery("div").attr({foo: 'baz', zoo: 'ping'}).each(function(){ if ( this.getAttribute('foo') != "baz" && this.getAttribute('zoo') != "ping" ) pass = false; }); ok( pass, "Set Multiple Attributes" ); + equals( jQuery('#text1').attr({'value': function() { return this.id; }})[0].value, "text1", "Set attribute to computed value #1" ); + equals( jQuery('#text1').attr({'title': function(i) { return i; }}).attr('title'), "0", "Set attribute to computed value #2"); + }); test("attr(String, Object)", function() { - expect(21); + expect(24); var div = jQuery("div").attr("foo", "bar"), fail = false; for ( var i = 0; i < div.size(); i++ ) { @@ -105,6 +111,15 @@ test("attr(String, Object)", function() { jQuery("#name").attr('maxLength', '10'); equals( document.getElementById('name').maxLength, '10', 'Set maxlength attribute' ); + var table = jQuery('#table').append("cellcellcellcellcell"), + td = table.find('td:first'); + td.attr("rowspan", "2"); + equals( td[0].rowSpan, 2, "Check rowspan is correctly set" ); + td.attr("colspan", "2"); + equals( td[0].colSpan, 2, "Check colspan is correctly set" ); + table.attr("cellspacing", "2"); + equals( table[0].cellSpacing, 2, "Check cellspacing is correctly set" ); + // for #1070 jQuery("#name").attr('someAttr', '0'); equals( jQuery("#name").attr('someAttr'), '0', 'Set attribute to a string of "0"' ); @@ -260,6 +275,7 @@ test("removeClass(String) - simple", function() { ok( !$divs.is('.test'), "Remove Class" ); reset(); + $divs = jQuery('div'); $divs.addClass("test").addClass("foo").addClass("bar"); $divs.removeClass("test").removeClass("bar").removeClass("foo"); @@ -267,6 +283,7 @@ test("removeClass(String) - simple", function() { ok( !$divs.is('.test,.bar,.foo'), "Remove multiple classes" ); reset(); + $divs = jQuery('div'); // Make sure that a null value doesn't cause problems $divs.eq(0).addClass("test").removeClass(null); @@ -325,8 +342,8 @@ test("toggleClass(String|boolean|undefined[, boolean])", function() { e.toggleClass(false); e.toggleClass(); ok( e.is(".testD.testE"), "Assert class present (restored from data)" ); - - + + // Cleanup e.removeClass("testD"); @@ -338,19 +355,24 @@ test("removeAttr(String", function() { equals( jQuery('#mark').removeAttr("class")[0].className, "", "remove class" ); }); -test("jQuery.className", function() { +test("addClass, removeClass, hasClass", function() { expect(6); - var x = jQuery("

Hi

")[0]; - var c = jQuery.className; - c.add(x, "hi"); + + var jq = jQuery("

Hi

"), x = jq[0]; + + jq.addClass("hi"); equals( x.className, "hi", "Check single added class" ); - c.add(x, "foo bar"); + + jq.addClass("foo bar"); equals( x.className, "hi foo bar", "Check more added classes" ); - c.remove(x); + + jq.removeClass(); equals( x.className, "", "Remove all classes" ); - c.add(x, "hi foo bar"); - c.remove(x, "foo"); + + jq.addClass("hi foo bar"); + jq.removeClass("foo"); equals( x.className, "hi bar", "Check removal of one class" ); - ok( c.has(x, "hi"), "Check has1" ); - ok( c.has(x, "bar"), "Check has2" ); + + ok( jq.hasClass("hi"), "Check has1" ); + ok( jq.hasClass("bar"), "Check has2" ); });