Fixes regression in .attr(), patch by David Flanagan. Fixes #4884.
[jquery.git] / test / unit / attributes.js
index 63e587a..7887790 100644 (file)
@@ -68,16 +68,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 +108,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("<tr><td>cell</td></tr><tr><td>cell</td><td>cell</td></tr><tr><td>cell</td><td>cell</td></tr>"),
+               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"' );
@@ -325,8 +337,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");