Made sure that css('width') and height returned string values, not numerical values...
[jquery.git] / test / unit / css.js
index 270638e..5e88254 100644 (file)
@@ -1,7 +1,7 @@
 module("css");
 
 test("css(String|Hash)", function() {
-       expect(27);
+       expect(28);
 
        equals( jQuery('#main').css("display"), 'none', 'Check for css property "display"');
 
@@ -47,18 +47,30 @@ test("css(String|Hash)", function() {
        child.attr("class", "em");
        equals( parseInt(child.css("fontSize")), 32, "Verify fontSize em set." );
 
+       // Have to verify this as the result depends upon the browser's CSS
+       // support for font-size percentages
        child.attr("class", "prct");
-       equals( parseInt(child.css("fontSize")), 24, "Verify fontSize % set." );
+       var prctval = parseInt(child.css("fontSize")), checkval = 0;
+       if ( prctval === 16 || prctval === 24 ) {
+               checkval = prctval;
+       }
+
+       equals( prctval, checkval, "Verify fontSize % set." );
+
+       equals( typeof child.css("width"), "string", "Make sure that a string width is returned from css('width')." );
 });
 
 test("css(String, Object)", function() {
-       expect(20);
+       expect(21);
        ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible');
        jQuery('#nothiddendiv').css("display", 'none');
        ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden');
        jQuery('#nothiddendiv').css("display", 'block');
        ok( jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is visible');
 
+       jQuery("#nothiddendiv").css("top", "-1em");
+       ok( jQuery("#nothiddendiv").css("top"), -16, "Check negative number in EMs." );
+
        jQuery('#floatTest').css('styleFloat', 'left');
        equals( jQuery('#floatTest').css('styleFloat'), 'left', 'Modified CSS float using "styleFloat": Assert float is left');
        jQuery('#floatTest').css('cssFloat', 'right');