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' );
});
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++ ) {
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"' );
ok( !$divs.is('.test'), "Remove Class" );
reset();
+ $divs = jQuery('div');
$divs.addClass("test").addClass("foo").addClass("bar");
$divs.removeClass("test").removeClass("bar").removeClass("foo");
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);
});
test("toggleClass(String|boolean|undefined[, boolean])", function() {
- expect(16);
+ expect(17);
var e = jQuery("#firstp");
ok( !e.is(".test"), "Assert class not present" );
// toggleClass storage
e.toggleClass(true);
ok( e.get(0).className === "", "Assert class is empty (data was empty)" );
- e.addClass("testD");
- ok( e.is(".testD"), "Assert class present" );
+ e.addClass("testD testE");
+ ok( e.is(".testD.testE"), "Assert class present" );
e.toggleClass();
- ok( !e.is(".testD"), "Assert class not present" );
- ok( e.data('__className__') === 'testD', "Assert data was stored" );
+ ok( !e.is(".testD.testE"), "Assert class not present" );
+ ok( e.data('__className__') === 'testD testE', "Assert data was stored" );
e.toggleClass();
- ok( e.is(".testD"), "Assert class present (restored from data)" );
+ ok( e.is(".testD.testE"), "Assert class present (restored from data)" );
e.toggleClass(false);
- ok( !e.is(".testD"), "Assert class not present" );
+ ok( !e.is(".testD.testE"), "Assert class not present" );
e.toggleClass(true);
- ok( e.is(".testD"), "Assert class present (restored from data)" );
+ ok( e.is(".testD.testE"), "Assert class present (restored from data)" );
+ e.toggleClass();
+ e.toggleClass(false);
+ e.toggleClass();
+ ok( e.is(".testD.testE"), "Assert class present (restored from data)" );
+
+
// Cleanup
e.removeClass("testD");
equals( jQuery('#mark').removeAttr("class")[0].className, "", "remove class" );
});
-test("jQuery.className", function() {
+test("addClass, removeClass, hasClass", function() {
expect(6);
- var x = jQuery("<p>Hi</p>")[0];
- var c = jQuery.className;
- c.add(x, "hi");
+
+ var jq = jQuery("<p>Hi</p>"), 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" );
});