Make sure that the correct height/width of the elements is retreived. Fixes #7225.
[jquery.git] / test / unit / css.js
index 4921391..2c2e9ed 100644 (file)
@@ -1,7 +1,7 @@
 module("css");
 
 test("css(String|Hash)", function() {
-       expect(34);
+       expect(41);
 
        equals( jQuery('#main').css("display"), 'block', 'Check for css property "display"');
 
@@ -11,6 +11,24 @@ test("css(String|Hash)", function() {
        jQuery('#nothiddendiv').css({display: 'block'});
        ok( jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is visible');
 
+       var div = jQuery( "<div>" );
+
+       equals( div.css("width") || "auto", "auto", "Width on disconnected node." );
+       equals( div.css("height") || "auto", "auto", "Height on disconnected node." );
+
+       div.css({ width: 4, height: 4 });
+
+       equals( div.css("width"), "4px", "Width on disconnected node." );
+       equals( div.css("height"), "4px", "Height on disconnected node." );
+
+       var div2 = jQuery( "<div style='display:none;'><input type='text' style='height:20px;'/><textarea style='height:20px;'/><div style='height:20px;'></div></div>").appendTo("body");
+
+       equals( div2.find("input").css("height"), "20px", "Height on hidden input." );
+       equals( div2.find("textarea").css("height"), "20px", "Height on hidden textarea." );
+       equals( div2.find("div").css("height"), "20px", "Height on hidden textarea." );
+
+       div2.remove();
+
        // handle negative numbers by ignoring #1599, #4216
        jQuery('#nothiddendiv').css({ 'width': 1, 'height': 1 });
 
@@ -113,9 +131,8 @@ test("css(String, Object)", function() {
 
        // using contents will get comments regular, text, and comment nodes
        var j = jQuery("#nonnodes").contents();
-       j.css("fontSize", "15px");
-       equals( j.css("fontSize"), "15px", "Check node,textnode,comment css works" );
-
+       j.css("overflow", "visible");
+       equals( j.css("overflow"), "visible", "Check node,textnode,comment css works" );
        // opera sometimes doesn't update 'display' correctly, see #2037
        jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML
        equals( jQuery("#t2037 .hidden").css("display"), "none", "Make sure browser thinks it is hidden" );