X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcss.js;h=3e65b51315918e4230f66a121c6069e2bd620a3e;hb=9bd9d270f69582b119b1835da4419a900f975b6b;hp=2c2e9ed212a1af631e254eaba902c2cdf5ee976a;hpb=7e02cee5ff8b5e9117366d7b43af7b5794f0f258;p=jquery.git diff --git a/test/unit/css.js b/test/unit/css.js index 2c2e9ed..3e65b51 100644 --- a/test/unit/css.js +++ b/test/unit/css.js @@ -13,8 +13,10 @@ test("css(String|Hash)", function() { var div = jQuery( "
" ); - equals( div.css("width") || "auto", "auto", "Width on disconnected node." ); - equals( div.css("height") || "auto", "auto", "Height on disconnected node." ); + // These should be "auto" (or some better value) + // temporarily provide "0px" for backwards compat + equals( div.css("width"), "0px", "Width on disconnected node." ); + equals( div.css("height"), "0px", "Height on disconnected node." ); div.css({ width: 4, height: 4 }); @@ -156,44 +158,44 @@ test("css(String, Object)", function() { }); if ( !jQuery.support.opacity ) { - test("css(String, Object) for MSIE", function() { - // for #1438, IE throws JS error when filter exists but doesn't have opacity in it + test("css(String, Object) for MSIE", function() { + // for #1438, IE throws JS error when filter exists but doesn't have opacity in it jQuery('#foo').css("filter", "progid:DXImageTransform.Microsoft.Chroma(color='red');"); - equals( jQuery('#foo').css('opacity'), '1', "Assert opacity is 1 when a different filter is set in IE, #1438" ); - - var filterVal = "progid:DXImageTransform.Microsoft.Alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; - var filterVal2 = "progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; - var filterVal3 = "progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; - jQuery('#foo').css("filter", filterVal); - equals( jQuery('#foo').css("filter"), filterVal, "css('filter', val) works" ); - jQuery('#foo').css("opacity", 1); - equals( jQuery('#foo').css("filter"), filterVal2, "Setting opacity in IE doesn't duplicate opacity filter" ); - equals( jQuery('#foo').css("opacity"), 1, "Setting opacity in IE with other filters works" ); - jQuery('#foo').css("filter", filterVal3).css("opacity", 1); - ok( jQuery('#foo').css("filter").indexOf(filterVal3) !== -1, "Setting opacity in IE doesn't clobber other filters" ); - }); + equals( jQuery('#foo').css('opacity'), '1', "Assert opacity is 1 when a different filter is set in IE, #1438" ); + + var filterVal = "progid:DXImageTransform.Microsoft.Alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; + var filterVal2 = "progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; + var filterVal3 = "progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; + jQuery('#foo').css("filter", filterVal); + equals( jQuery('#foo').css("filter"), filterVal, "css('filter', val) works" ); + jQuery('#foo').css("opacity", 1); + equals( jQuery('#foo').css("filter"), filterVal2, "Setting opacity in IE doesn't duplicate opacity filter" ); + equals( jQuery('#foo').css("opacity"), 1, "Setting opacity in IE with other filters works" ); + jQuery('#foo').css("filter", filterVal3).css("opacity", 1); + ok( jQuery('#foo').css("filter").indexOf(filterVal3) !== -1, "Setting opacity in IE doesn't clobber other filters" ); + }); } test("css(String, Function)", function() { expect(3); - + var sizes = ["10px", "20px", "30px"]; - - jQuery("
" + - "
" + + + jQuery("
" + + "
" + "
") .appendTo("body"); - + var index = 0; - + jQuery("#cssFunctionTest div").css("font-size", function() { var size = sizes[index]; index++; return size; }); - + index = 0; - + jQuery("#cssFunctionTest div").each(function() { var computedSize = jQuery(this).css("font-size") var expectedSize = sizes[index] @@ -206,24 +208,24 @@ test("css(String, Function)", function() { test("css(String, Function) with incoming value", function() { expect(3); - + var sizes = ["10px", "20px", "30px"]; - - jQuery("
" + - "
" + + + jQuery("
" + + "
" + "
") .appendTo("body"); - + var index = 0; - + jQuery("#cssFunctionTest div").css("font-size", function() { var size = sizes[index]; index++; return size; }); - + index = 0; - + jQuery("#cssFunctionTest div").css("font-size", function(i, computedSize) { var expectedSize = sizes[index] equals( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize ); @@ -236,61 +238,61 @@ test("css(String, Function) with incoming value", function() { test("css(Object) where values are Functions", function() { expect(3); - + var sizes = ["10px", "20px", "30px"]; - - jQuery("
" + - "
" + + + jQuery("
" + + "
" + "
") .appendTo("body"); var index = 0; - + jQuery("#cssFunctionTest div").css({fontSize: function() { var size = sizes[index]; index++; return size; }}); - + index = 0; - + jQuery("#cssFunctionTest div").each(function() { var computedSize = jQuery(this).css("font-size") var expectedSize = sizes[index] equals( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize ); index++; }); - + jQuery("#cssFunctionTest").remove(); }); test("css(Object) where values are Functions with incoming values", function() { expect(3); - + var sizes = ["10px", "20px", "30px"]; - - jQuery("
" + - "
" + + + jQuery("
" + + "
" + "
") .appendTo("body"); var index = 0; - + jQuery("#cssFunctionTest div").css({fontSize: function() { var size = sizes[index]; index++; return size; }}); - + index = 0; - + jQuery("#cssFunctionTest div").css({"font-size": function(i, computedSize) { var expectedSize = sizes[index] equals( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize ); index++; return computedSize; }}); - + jQuery("#cssFunctionTest").remove(); }); @@ -318,3 +320,25 @@ test(":visible selector works properly on children with a hidden parent (bug #45 jQuery('#table').css('display', 'none').html('cellcell'); equals(jQuery('#table td:visible').length, 0, "hidden cell children not perceived as visible"); }); + +test("internal ref to elem.runtimeStyle (bug #7608)", function () { + expect(1); + + var result = true, + val = 10; + + jQuery('
' + + '
 
').appendTo("#main"); + + try { + // the bug is located within src/css.js + jQuery("#bug7608 #test").animate( { width: val }, 1000); + + } catch (e) { + result = false; + } + + ok( result, "elem.runtimeStyle does not throw exception" ); + + jQuery("#bug7608").remove(); +});