2012-06-11 01:54:16 +00:00
if ( jQuery . css ) {
2011-01-09 21:58:47 +00:00
module ( "css" , { teardown : moduleTeardown } ) ;
2009-04-20 17:05:18 +00:00
2009-03-22 23:25:03 +00:00
test ( "css(String|Hash)" , function ( ) {
2011-12-12 15:22:38 +00:00
expect ( 46 ) ;
2009-03-22 23:25:03 +00:00
2011-12-12 15:22:38 +00:00
equal ( jQuery ( "#qunit-fixture" ) . css ( "display" ) , "block" , "Check for css property \"display\"" ) ;
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" ) ;
2012-07-05 19:52:13 +00:00
var $child = jQuery ( "#nothiddendivchild" ) . css ( { "width" : "20%" , "height" : "20%" } ) ;
2011-12-12 15:22:38 +00:00
notEqual ( $child . css ( "width" ) , "20px" , "Retrieving a width percentage on the child of a hidden div returns percentage" ) ;
notEqual ( $child . css ( "height" ) , "20px" , "Retrieving a height percentage on the child of a hidden div returns percentage" ) ;
2009-03-22 23:25:03 +00:00
2012-07-05 19:52:13 +00:00
jQuery ( "#nothiddendiv" ) . css ( { "display" : "block" } ) ;
2011-04-11 20:33:29 +00:00
ok ( jQuery ( "#nothiddendiv" ) . is ( ":visible" ) , "Modified CSS display: Assert element is visible" ) ;
2011-09-15 13:27:36 +00:00
ok ( jQuery ( window ) . is ( ":visible" ) , "Calling is(':visible') on window does not throw an error in IE." ) ;
ok ( jQuery ( document ) . is ( ":visible" ) , "Calling is(':visible') on document does not throw an error in IE." ) ;
2009-03-22 23:25:03 +00:00
2010-10-22 04:28:33 +00:00
var div = jQuery ( "<div>" ) ;
2010-11-10 04:29:26 +00:00
// These should be "auto" (or some better value)
// temporarily provide "0px" for backwards compat
2011-11-06 20:27:42 +00:00
equal ( div . css ( "width" ) , "0px" , "Width on disconnected node." ) ;
equal ( div . css ( "height" ) , "0px" , "Height on disconnected node." ) ;
2010-10-22 04:28:33 +00:00
2012-07-05 19:52:13 +00:00
div . css ( { "width" : 4 , "height" : 4 } ) ;
2010-10-22 04:28:33 +00:00
2011-11-06 20:27:42 +00:00
equal ( div . css ( "width" ) , "4px" , "Width on disconnected node." ) ;
equal ( div . css ( "height" ) , "4px" , "Height on disconnected node." ) ;
2010-10-22 04:28:33 +00:00
2010-10-22 06:16:14 +00:00
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" ) ;
2010-10-22 04:28:33 +00:00
2011-11-06 20:27:42 +00:00
equal ( div2 . find ( "input" ) . css ( "height" ) , "20px" , "Height on hidden input." ) ;
equal ( div2 . find ( "textarea" ) . css ( "height" ) , "20px" , "Height on hidden textarea." ) ;
equal ( div2 . find ( "div" ) . css ( "height" ) , "20px" , "Height on hidden textarea." ) ;
2010-10-22 04:28:33 +00:00
2010-10-22 04:29:52 +00:00
div2 . remove ( ) ;
2012-04-23 19:05:12 +00:00
// handle negative numbers by setting to zero #11604
2012-07-05 19:52:13 +00:00
jQuery ( "#nothiddendiv" ) . css ( { "width" : 1 , "height" : 1 } ) ;
2009-12-16 22:08:10 +00:00
2011-04-11 20:33:29 +00:00
var width = parseFloat ( jQuery ( "#nothiddendiv" ) . css ( "width" ) ) , height = parseFloat ( jQuery ( "#nothiddendiv" ) . css ( "height" ) ) ;
2012-07-05 19:52:13 +00:00
jQuery ( "#nothiddendiv" ) . css ( { "overflow" : "hidden" , "width" : - 1 , "height" : - 1 } ) ;
2012-04-23 19:05:12 +00:00
equal ( parseFloat ( jQuery ( "#nothiddendiv" ) . css ( "width" ) ) , 0 , "Test negative width set to 0" ) ;
equal ( parseFloat ( jQuery ( "#nothiddendiv" ) . css ( "height" ) ) , 0 , "Test negative height set to 0" ) ;
2009-04-22 05:23:53 +00:00
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "<div style='display: none;'>" ) . css ( "display" ) , "none" , "Styles on disconnected nodes" ) ;
2010-10-11 19:11:03 +00:00
2011-04-11 20:33:29 +00:00
jQuery ( "#floatTest" ) . css ( { "float" : "right" } ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#floatTest" ) . css ( "float" ) , "right" , "Modified CSS float using \"float\": Assert float is right" ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#floatTest" ) . css ( { "font-size" : "30px" } ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#floatTest" ) . css ( "font-size" ) , "30px" , "Modified CSS font-size: Assert font-size is 30px" ) ;
2011-04-11 20:33:29 +00:00
jQuery . each ( "0,0.25,0.5,0.75,1" . split ( "," ) , function ( i , n ) {
2012-07-05 19:52:13 +00:00
jQuery ( "#foo" ) . css ( { "opacity" : n } ) ;
2011-04-22 04:02:08 +00:00
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , parseFloat ( n ) , "Assert opacity is " + parseFloat ( n ) + " as a String" ) ;
2012-07-05 19:52:13 +00:00
jQuery ( "#foo" ) . css ( { "opacity" : parseFloat ( n ) } ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , parseFloat ( n ) , "Assert opacity is " + parseFloat ( n ) + " as a Number" ) ;
2009-03-22 23:25:03 +00:00
} ) ;
2012-07-05 19:52:13 +00:00
jQuery ( "#foo" ) . css ( { "opacity" : "" } ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , "1" , "Assert opacity is 1 when set to an empty String" ) ;
2009-05-14 14:44:31 +00:00
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#empty" ) . css ( "opacity" ) , "0" , "Assert opacity is accessible via filter property set in stylesheet in IE" ) ;
2012-07-05 19:52:13 +00:00
jQuery ( "#empty" ) . css ( { "opacity" : "1" } ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#empty" ) . css ( "opacity" ) , "1" , "Assert opacity is taken from style attribute when set vs stylesheet in IE with filters" ) ;
2011-04-11 19:14:41 +00:00
jQuery . support . opacity ?
ok ( true , "Requires the same number of tests" ) :
2011-04-11 19:33:15 +00:00
ok ( ~ jQuery ( "#empty" ) [ 0 ] . currentStyle . filter . indexOf ( "gradient" ) , "Assert setting opacity doesn't overwrite other filters of the stylesheet in IE" ) ;
2009-11-11 19:17:16 +00:00
2011-09-15 13:27:36 +00:00
div = jQuery ( "#nothiddendiv" ) ;
var child = jQuery ( "#nothiddendivchild" ) ;
2009-11-11 19:17:16 +00:00
2012-06-21 19:30:24 +00:00
equal ( parseInt ( div . css ( "fontSize" ) , 10 ) , 16 , "Verify fontSize px set." ) ;
equal ( parseInt ( div . css ( "font-size" ) , 10 ) , 16 , "Verify fontSize px set." ) ;
equal ( parseInt ( child . css ( "fontSize" ) , 10 ) , 16 , "Verify fontSize px set." ) ;
equal ( parseInt ( child . css ( "font-size" ) , 10 ) , 16 , "Verify fontSize px set." ) ;
2009-11-11 19:17:16 +00:00
2010-09-21 21:12:42 +00:00
child . css ( "height" , "100%" ) ;
2011-11-06 20:27:42 +00:00
equal ( child [ 0 ] . style . height , "100%" , "Make sure the height is being set correctly." ) ;
2010-09-21 21:12:42 +00:00
2009-11-11 19:17:16 +00:00
child . attr ( "class" , "em" ) ;
2012-06-21 19:30:24 +00:00
equal ( parseInt ( child . css ( "fontSize" ) , 10 ) , 32 , "Verify fontSize em set." ) ;
2009-11-11 19:17:16 +00:00
2009-12-03 17:34:27 +00:00
// Have to verify this as the result depends upon the browser's CSS
// support for font-size percentages
2009-11-11 19:17:16 +00:00
child . attr ( "class" , "prct" ) ;
2012-06-21 19:30:24 +00:00
var prctval = parseInt ( child . css ( "fontSize" ) , 10 ) , checkval = 0 ;
2009-12-03 17:34:27 +00:00
if ( prctval === 16 || prctval === 24 ) {
checkval = prctval ;
}
2011-11-06 20:27:42 +00:00
equal ( prctval , checkval , "Verify fontSize % set." ) ;
2009-12-10 04:51:58 +00:00
2011-11-06 20:27:42 +00:00
equal ( typeof child . css ( "width" ) , "string" , "Make sure that a string width is returned from css('width')." ) ;
2010-10-09 14:52:53 +00:00
var old = child [ 0 ] . style . height ;
// Test NaN
child . css ( "height" , parseFloat ( "zoo" ) ) ;
2011-11-06 20:27:42 +00:00
equal ( child [ 0 ] . style . height , old , "Make sure height isn't changed on NaN." ) ;
2010-10-09 14:52:53 +00:00
// Test null
child . css ( "height" , null ) ;
2011-11-06 20:27:42 +00:00
equal ( child [ 0 ] . style . height , old , "Make sure height isn't changed on null." ) ;
2010-10-09 14:52:53 +00:00
old = child [ 0 ] . style . fontSize ;
// Test NaN
child . css ( "font-size" , parseFloat ( "zoo" ) ) ;
2011-11-06 20:27:42 +00:00
equal ( child [ 0 ] . style . fontSize , old , "Make sure font-size isn't changed on NaN." ) ;
2010-10-09 14:52:53 +00:00
// Test null
child . css ( "font-size" , null ) ;
2011-11-06 20:27:42 +00:00
equal ( child [ 0 ] . style . fontSize , old , "Make sure font-size isn't changed on null." ) ;
2009-03-22 23:25:03 +00:00
} ) ;
2011-04-04 18:21:15 +00:00
test ( "css() explicit and relative values" , function ( ) {
2011-08-16 22:00:44 +00:00
expect ( 29 ) ;
2011-04-11 20:33:29 +00:00
var $elem = jQuery ( "#nothiddendiv" ) ;
2011-04-04 23:48:24 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "width" : 1 , "height" : 1 , "paddingLeft" : "1px" , "opacity" : 1 } ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "1px" , "Initial css set or width/height works (hash)" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "Initial css set of paddingLeft works (hash)" ) ;
equal ( $elem . css ( "opacity" ) , "1" , "Initial css set of opacity works (hash)" ) ;
2011-04-04 23:48:24 +00:00
$elem . css ( { width : "+=9" } ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "10px" , "'+=9' on width (hash)" ) ;
2011-04-04 23:48:24 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "width" : "-=9" } ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "1px" , "'-=9' on width (hash)" ) ;
2011-04-04 23:48:24 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "width" : "+=9px" } ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "10px" , "'+=9px' on width (hash)" ) ;
2011-04-04 23:48:24 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "width" : "-=9px" } ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "1px" , "'-=9px' on width (hash)" ) ;
2011-04-04 23:48:24 +00:00
$elem . css ( "width" , "+=9" ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "10px" , "'+=9' on width (params)" ) ;
2011-04-04 23:48:24 +00:00
$elem . css ( "width" , "-=9" ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "1px" , "'-=9' on width (params)" ) ;
2011-04-04 23:48:24 +00:00
$elem . css ( "width" , "+=9px" ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "10px" , "'+=9px' on width (params)" ) ;
2011-04-04 23:48:24 +00:00
$elem . css ( "width" , "-=9px" ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "1px" , "'-=9px' on width (params)" ) ;
2011-08-16 22:00:44 +00:00
$elem . css ( "width" , "-=-9px" ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "10px" , "'-=-9px' on width (params)" ) ;
2011-08-16 22:00:44 +00:00
$elem . css ( "width" , "+=-9px" ) ;
2012-06-05 19:29:46 +00:00
equal ( $elem . css ( "width" ) , "1px" , "'+=-9px' on width (params)" ) ;
2011-05-13 16:09:49 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "paddingLeft" : "+=4" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "5px" , "'+=4' on paddingLeft (hash)" ) ;
2011-05-13 16:09:49 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "paddingLeft" : "-=4" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "'-=4' on paddingLeft (hash)" ) ;
2011-05-13 16:09:49 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "paddingLeft" : "+=4px" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "5px" , "'+=4px' on paddingLeft (hash)" ) ;
2011-05-13 16:09:49 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "paddingLeft" : "-=4px" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "'-=4px' on paddingLeft (hash)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( { "padding-left" : "+=4" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "5px" , "'+=4' on padding-left (hash)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( { "padding-left" : "-=4" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "'-=4' on padding-left (hash)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( { "padding-left" : "+=4px" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "5px" , "'+=4px' on padding-left (hash)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( { "padding-left" : "-=4px" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "'-=4px' on padding-left (hash)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( "paddingLeft" , "+=4" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "5px" , "'+=4' on paddingLeft (params)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( "paddingLeft" , "-=4" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "'-=4' on paddingLeft (params)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( "padding-left" , "+=4px" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "5px" , "'+=4px' on padding-left (params)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( "padding-left" , "-=4px" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "paddingLeft" ) , "1px" , "'-=4px' on padding-left (params)" ) ;
2011-05-13 16:09:49 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "opacity" : "-=0.5" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "opacity" ) , "0.5" , "'-=0.5' on opacity (hash)" ) ;
2011-05-13 16:09:49 +00:00
2012-07-05 19:52:13 +00:00
$elem . css ( { "opacity" : "+=0.5" } ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "opacity" ) , "1" , "'+=0.5' on opacity (hash)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( "opacity" , "-=0.5" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "opacity" ) , "0.5" , "'-=0.5' on opacity (params)" ) ;
2011-05-13 16:09:49 +00:00
$elem . css ( "opacity" , "+=0.5" ) ;
2011-11-06 20:27:42 +00:00
equal ( $elem . css ( "opacity" ) , "1" , "'+=0.5' on opacity (params)" ) ;
2011-04-04 18:21:15 +00:00
} ) ;
2009-03-22 23:25:03 +00:00
test ( "css(String, Object)" , function ( ) {
2010-10-09 14:42:01 +00:00
expect ( 22 ) ;
2010-09-28 15:53:09 +00:00
2011-04-11 20:33:29 +00:00
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" ) ;
2009-03-22 23:25:03 +00:00
2009-12-05 20:12:02 +00:00
jQuery ( "#nothiddendiv" ) . css ( "top" , "-1em" ) ;
ok ( jQuery ( "#nothiddendiv" ) . css ( "top" ) , - 16 , "Check negative number in EMs." ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#floatTest" ) . css ( "float" , "left" ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#floatTest" ) . css ( "float" ) , "left" , "Modified CSS float using \"float\": Assert float is left" ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#floatTest" ) . css ( "font-size" , "20px" ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#floatTest" ) . css ( "font-size" ) , "20px" , "Modified CSS font-size: Assert font-size is 20px" ) ;
2009-03-22 23:25:03 +00:00
2011-04-11 20:33:29 +00:00
jQuery . each ( "0,0.25,0.5,0.75,1" . split ( "," ) , function ( i , n ) {
jQuery ( "#foo" ) . css ( "opacity" , n ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , parseFloat ( n ) , "Assert opacity is " + parseFloat ( n ) + " as a String" ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#foo" ) . css ( "opacity" , parseFloat ( n ) ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , parseFloat ( n ) , "Assert opacity is " + parseFloat ( n ) + " as a Number" ) ;
2009-03-22 23:25:03 +00:00
} ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#foo" ) . css ( "opacity" , "" ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , "1" , "Assert opacity is 1 when set to an empty String" ) ;
2009-03-22 23:25:03 +00:00
// using contents will get comments regular, text, and comment nodes
var j = jQuery ( "#nonnodes" ) . contents ( ) ;
2010-10-15 01:31:36 +00:00
j . css ( "overflow" , "visible" ) ;
2011-11-06 20:27:42 +00:00
equal ( j . css ( "overflow" ) , "visible" , "Check node,textnode,comment css works" ) ;
2009-03-22 23:25:03 +00:00
// opera sometimes doesn't update 'display' correctly, see #2037
2011-09-15 13:27:36 +00:00
jQuery ( "#t2037" ) [ 0 ] . innerHTML = jQuery ( "#t2037" ) [ 0 ] . innerHTML ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#t2037 .hidden" ) . css ( "display" ) , "none" , "Make sure browser thinks it is hidden" ) ;
2010-09-28 15:53:09 +00:00
var div = jQuery ( "#nothiddendiv" ) ,
display = div . css ( "display" ) ,
ret = div . css ( "display" , undefined ) ;
2011-11-06 20:27:42 +00:00
equal ( ret , div , "Make sure setting undefined returns the original set." ) ;
equal ( div . css ( "display" ) , display , "Make sure that the display wasn't changed." ) ;
2010-10-09 14:42:01 +00:00
// Test for Bug #5509
var success = true ;
try {
2011-04-11 20:33:29 +00:00
jQuery ( "#foo" ) . css ( "backgroundColor" , "rgba(0, 0, 0, 0.1)" ) ;
2010-10-09 14:42:01 +00:00
}
catch ( e ) {
success = false ;
}
ok ( success , "Setting RGBA values does not throw Error" ) ;
2009-03-22 23:25:03 +00:00
} ) ;
2010-10-13 04:42:05 +00:00
if ( ! jQuery . support . opacity ) {
2010-10-28 16:58:03 +00:00
test ( "css(String, Object) for MSIE" , function ( ) {
// for #1438, IE throws JS error when filter exists but doesn't have opacity in it
2011-04-11 20:33:29 +00:00
jQuery ( "#foo" ) . css ( "filter" , "progid:DXImageTransform.Microsoft.Chroma(color='red');" ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , "1" , "Assert opacity is 1 when a different filter is set in IE, #1438" ) ;
2010-10-28 16:58:03 +00:00
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)" ;
2011-04-11 20:33:29 +00:00
jQuery ( "#foo" ) . css ( "filter" , filterVal ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "filter" ) , filterVal , "css('filter', val) works" ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#foo" ) . css ( "opacity" , 1 ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#foo" ) . css ( "filter" ) , filterVal2 , "Setting opacity in IE doesn't duplicate opacity filter" ) ;
equal ( jQuery ( "#foo" ) . css ( "opacity" ) , 1 , "Setting opacity in IE with other filters works" ) ;
2011-04-11 20:33:29 +00:00
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" ) ;
2010-10-28 16:58:03 +00:00
} ) ;
2011-07-14 03:54:25 +00:00
test ( "Setting opacity to 1 properly removes filter: style (#6652)" , function ( ) {
var rfilter = /filter:[^;]*/i ,
test = jQuery ( "#t6652" ) . css ( "opacity" , 1 ) ,
test2 = test . find ( "div" ) . css ( "opacity" , 1 ) ;
function hasFilter ( elem ) {
var match = rfilter . exec ( elem [ 0 ] . style . cssText ) ;
if ( match ) {
return true ;
}
return false ;
}
expect ( 2 ) ;
ok ( ! hasFilter ( test ) , "Removed filter attribute on element without filter in stylesheet" ) ;
ok ( hasFilter ( test2 ) , "Filter attribute remains on element that had filter in stylesheet" ) ;
} ) ;
2009-12-01 19:40:28 +00:00
}
2009-07-12 18:31:26 +00:00
test ( "css(String, Function)" , function ( ) {
2010-01-07 18:44:53 +00:00
expect ( 3 ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
var sizes = [ "10px" , "20px" , "30px" ] ;
2010-12-30 06:34:48 +00:00
jQuery ( "<div id='cssFunctionTest'><div class='cssFunction'></div>" +
"<div class='cssFunction'></div>" +
2010-01-07 18:44:53 +00:00
"<div class='cssFunction'></div></div>" )
. appendTo ( "body" ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
var index = 0 ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
jQuery ( "#cssFunctionTest div" ) . css ( "font-size" , function ( ) {
var size = sizes [ index ] ;
index ++ ;
return size ;
} ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
index = 0 ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
jQuery ( "#cssFunctionTest div" ) . each ( function ( ) {
2012-06-21 19:30:24 +00:00
var computedSize = jQuery ( this ) . css ( "font-size" ) ;
var expectedSize = sizes [ index ] ;
2011-11-06 20:27:42 +00:00
equal ( computedSize , expectedSize , "Div #" + index + " should be " + expectedSize ) ;
2010-01-07 18:44:53 +00:00
index ++ ;
} ) ;
jQuery ( "#cssFunctionTest" ) . remove ( ) ;
2009-07-12 18:31:26 +00:00
} ) ;
2010-01-07 18:52:20 +00:00
test ( "css(String, Function) with incoming value" , function ( ) {
expect ( 3 ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
var sizes = [ "10px" , "20px" , "30px" ] ;
2010-12-30 06:34:48 +00:00
jQuery ( "<div id='cssFunctionTest'><div class='cssFunction'></div>" +
"<div class='cssFunction'></div>" +
2010-01-07 18:52:20 +00:00
"<div class='cssFunction'></div></div>" )
. appendTo ( "body" ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
var index = 0 ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
jQuery ( "#cssFunctionTest div" ) . css ( "font-size" , function ( ) {
var size = sizes [ index ] ;
index ++ ;
return size ;
} ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
index = 0 ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
jQuery ( "#cssFunctionTest div" ) . css ( "font-size" , function ( i , computedSize ) {
2012-06-21 19:30:24 +00:00
var expectedSize = sizes [ index ] ;
2011-11-06 20:27:42 +00:00
equal ( computedSize , expectedSize , "Div #" + index + " should be " + expectedSize ) ;
2010-01-07 18:52:20 +00:00
index ++ ;
return computedSize ;
} ) ;
jQuery ( "#cssFunctionTest" ) . remove ( ) ;
} ) ;
2009-07-12 18:31:26 +00:00
test ( "css(Object) where values are Functions" , function ( ) {
2010-01-07 18:44:53 +00:00
expect ( 3 ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
var sizes = [ "10px" , "20px" , "30px" ] ;
2010-12-30 06:34:48 +00:00
jQuery ( "<div id='cssFunctionTest'><div class='cssFunction'></div>" +
"<div class='cssFunction'></div>" +
2010-01-07 18:44:53 +00:00
"<div class='cssFunction'></div></div>" )
. appendTo ( "body" ) ;
var index = 0 ;
2010-12-30 06:34:48 +00:00
2012-07-05 19:52:13 +00:00
jQuery ( "#cssFunctionTest div" ) . css ( { "fontSize" : function ( ) {
2010-01-07 18:44:53 +00:00
var size = sizes [ index ] ;
index ++ ;
return size ;
} } ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
index = 0 ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
jQuery ( "#cssFunctionTest div" ) . each ( function ( ) {
2012-06-21 19:30:24 +00:00
var computedSize = jQuery ( this ) . css ( "font-size" ) ;
var expectedSize = sizes [ index ] ;
2011-11-06 20:27:42 +00:00
equal ( computedSize , expectedSize , "Div #" + index + " should be " + expectedSize ) ;
2010-01-07 18:44:53 +00:00
index ++ ;
} ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:44:53 +00:00
jQuery ( "#cssFunctionTest" ) . remove ( ) ;
2009-07-12 18:31:26 +00:00
} ) ;
2010-01-07 18:52:20 +00:00
test ( "css(Object) where values are Functions with incoming values" , function ( ) {
expect ( 3 ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
var sizes = [ "10px" , "20px" , "30px" ] ;
2010-12-30 06:34:48 +00:00
jQuery ( "<div id='cssFunctionTest'><div class='cssFunction'></div>" +
"<div class='cssFunction'></div>" +
2010-01-07 18:52:20 +00:00
"<div class='cssFunction'></div></div>" )
. appendTo ( "body" ) ;
var index = 0 ;
2010-12-30 06:34:48 +00:00
2012-07-05 19:52:13 +00:00
jQuery ( "#cssFunctionTest div" ) . css ( { "fontSize" : function ( ) {
2010-01-07 18:52:20 +00:00
var size = sizes [ index ] ;
index ++ ;
return size ;
} } ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
index = 0 ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
jQuery ( "#cssFunctionTest div" ) . css ( { "font-size" : function ( i , computedSize ) {
2012-06-21 19:30:24 +00:00
var expectedSize = sizes [ index ] ;
2011-11-06 20:27:42 +00:00
equal ( computedSize , expectedSize , "Div #" + index + " should be " + expectedSize ) ;
2010-01-07 18:52:20 +00:00
index ++ ;
return computedSize ;
} } ) ;
2010-12-30 06:34:48 +00:00
2010-01-07 18:52:20 +00:00
jQuery ( "#cssFunctionTest" ) . remove ( ) ;
} ) ;
2012-05-29 02:25:04 +00:00
test ( "show(); hide()" , function ( ) {
expect ( 22 ) ;
var hiddendiv = jQuery ( "div.hidden" ) ;
hiddendiv . hide ( ) ;
equal ( hiddendiv . css ( "display" ) , "none" , "Non-detached div hidden" ) ;
hiddendiv . show ( ) ;
equal ( hiddendiv . css ( "display" ) , "block" , "Pre-hidden div shown" ) ;
var div = jQuery ( "<div>" ) . hide ( ) ;
equal ( div . css ( "display" ) , "none" , "Detached div hidden" ) ;
div . appendTo ( "#qunit-fixture" ) . show ( ) ;
equal ( div . css ( "display" ) , "block" , "Pre-hidden div shown" ) ;
QUnit . reset ( ) ;
hiddendiv = jQuery ( "div.hidden" ) ;
equal ( jQuery . css ( hiddendiv [ 0 ] , "display" ) , "none" , "hiddendiv is display: none" ) ;
hiddendiv . css ( "display" , "block" ) ;
equal ( jQuery . css ( hiddendiv [ 0 ] , "display" ) , "block" , "hiddendiv is display: block" ) ;
hiddendiv . show ( ) ;
equal ( jQuery . css ( hiddendiv [ 0 ] , "display" ) , "block" , "hiddendiv is display: block" ) ;
hiddendiv . css ( "display" , "" ) ;
var pass = true ;
div = jQuery ( "#qunit-fixture div" ) ;
div . show ( ) . each ( function ( ) {
2012-06-21 19:30:24 +00:00
if ( this . style . display == "none" ) {
pass = false ;
}
2012-05-29 02:25:04 +00:00
} ) ;
ok ( pass , "Show" ) ;
// #show-tests * is set display: none in CSS
jQuery ( "#qunit-fixture" ) . append ( "<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>" ) ;
var old = jQuery ( "#test-table" ) . show ( ) . css ( "display" ) !== "table" ;
jQuery ( "#test-table" ) . remove ( ) ;
var test = {
"div" : "block" ,
"p" : "block" ,
"a" : "inline" ,
"code" : "inline" ,
"pre" : "block" ,
"span" : "inline" ,
"table" : old ? "block" : "table" ,
"thead" : old ? "block" : "table-header-group" ,
"tbody" : old ? "block" : "table-row-group" ,
"tr" : old ? "block" : "table-row" ,
"th" : old ? "block" : "table-cell" ,
"td" : old ? "block" : "table-cell" ,
"ul" : "block" ,
"li" : old ? "block" : "list-item"
} ;
jQuery . each ( test , function ( selector , expected ) {
var elem = jQuery ( selector , "#show-tests" ) . show ( ) ;
equal ( elem . css ( "display" ) , expected , "Show using correct display type for " + selector ) ;
} ) ;
// Make sure that showing or hiding a text node doesn't cause an error
jQuery ( "<div>test</div> text <span>test</span>" ) . show ( ) . remove ( ) ;
jQuery ( "<div>test</div> text <span>test</span>" ) . hide ( ) . remove ( ) ;
} ) ;
test ( "show() resolves correct default display #8099" , function ( ) {
expect ( 7 ) ;
var tt8099 = jQuery ( "<tt/>" ) . appendTo ( "body" ) ,
2012-07-05 19:52:13 +00:00
dfn8099 = jQuery ( "<dfn/>" , { "html" : "foo" } ) . appendTo ( "body" ) ;
2012-05-29 02:25:04 +00:00
equal ( tt8099 . css ( "display" ) , "none" , "default display override for all tt" ) ;
equal ( tt8099 . show ( ) . css ( "display" ) , "inline" , "Correctly resolves display:inline" ) ;
equal ( jQuery ( "#foo" ) . hide ( ) . show ( ) . css ( "display" ) , "block" , "Correctly resolves display:block after hide/show" ) ;
equal ( tt8099 . hide ( ) . css ( "display" ) , "none" , "default display override for all tt" ) ;
equal ( tt8099 . show ( ) . css ( "display" ) , "inline" , "Correctly resolves display:inline" ) ;
equal ( dfn8099 . css ( "display" ) , "none" , "default display override for all dfn" ) ;
equal ( dfn8099 . show ( ) . css ( "display" ) , "inline" , "Correctly resolves display:inline" ) ;
tt8099 . remove ( ) ;
dfn8099 . remove ( ) ;
} ) ;
test ( "show() resolves correct default display, detached nodes (#10006)" , function ( ) {
// Tests originally contributed by Orkel in
// https://github.com/jquery/jquery/pull/458
expect ( 11 ) ;
var div , span ;
div = jQuery ( "<div class='hidden'>" ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "block" , "Make sure a detached, pre-hidden( through stylesheets ) div is visible." ) ;
div = jQuery ( "<div style='display: none'>" ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "block" , "Make sure a detached, pre-hidden( through inline style ) div is visible." ) ;
span = jQuery ( "<span class='hidden'/>" ) ;
span . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( span . css ( "display" ) , "inline" , "Make sure a detached, pre-hidden( through stylesheets ) span has default display." ) ;
span = jQuery ( "<span style='display: inline'/>" ) ;
span . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( span . css ( "display" ) , "inline" , "Make sure a detached, pre-hidden( through inline style ) span has default display." ) ;
div = jQuery ( "<div><div class='hidden'></div></div>" ) . children ( "div" ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "block" , "Make sure a detached, pre-hidden( through stylesheets ) div inside another visible div is visible." ) ;
div = jQuery ( "<div><div style='display: none'></div></div>" ) . children ( "div" ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "block" , "Make sure a detached, pre-hidden( through inline style ) div inside another visible div is visible." ) ;
div = jQuery ( "div.hidden" ) ;
div . detach ( ) . show ( ) ;
equal ( div . css ( "display" ) , "block" , "Make sure a detached( through detach() ), pre-hidden div is visible." ) ;
div . remove ( ) ;
span = jQuery ( "<span>" ) ;
span . appendTo ( "#qunit-fixture" ) . detach ( ) . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( span . css ( "display" ) , "inline" , "Make sure a detached( through detach() ), pre-hidden span has default display." ) ;
span . remove ( ) ;
div = jQuery ( "<div>" ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
ok ( ! ! div . get ( 0 ) . style . display , "Make sure not hidden div has a inline style." ) ;
2012-07-02 15:30:22 +00:00
div . remove ( ) ;
2012-05-29 02:25:04 +00:00
div = jQuery ( document . createElement ( "div" ) ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "block" , "Make sure a pre-created element has default display." ) ;
2012-07-02 15:30:22 +00:00
div . remove ( ) ;
2012-05-29 02:25:04 +00:00
div = jQuery ( "<div style='display: inline'/>" ) ;
div . show ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "inline" , "Make sure that element has same display when it was created." ) ;
2012-07-02 15:30:22 +00:00
div . remove ( ) ;
2012-05-29 02:25:04 +00:00
} ) ;
test ( "toggle()" , function ( ) {
expect ( 6 ) ;
var x = jQuery ( "#foo" ) ;
ok ( x . is ( ":visible" ) , "is visible" ) ;
x . toggle ( ) ;
ok ( x . is ( ":hidden" ) , "is hidden" ) ;
x . toggle ( ) ;
ok ( x . is ( ":visible" ) , "is visible again" ) ;
x . toggle ( true ) ;
ok ( x . is ( ":visible" ) , "is visible" ) ;
x . toggle ( false ) ;
ok ( x . is ( ":hidden" ) , "is hidden" ) ;
x . toggle ( true ) ;
ok ( x . is ( ":visible" ) , "is visible again" ) ;
} ) ;
test ( "hide hidden elements (bug #7141)" , function ( ) {
expect ( 3 ) ;
QUnit . reset ( ) ;
var div = jQuery ( "<div style='display:none'></div>" ) . appendTo ( "#qunit-fixture" ) ;
equal ( div . css ( "display" ) , "none" , "Element is hidden by default" ) ;
div . hide ( ) ;
ok ( ! jQuery . _data ( div , "olddisplay" ) , "olddisplay is undefined after hiding an already-hidden element" ) ;
div . show ( ) ;
equal ( div . css ( "display" ) , "block" , "Show a double-hidden element" ) ;
div . remove ( ) ;
} ) ;
2009-03-22 23:25:03 +00:00
test ( "jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095)" , function ( ) {
expect ( 4 ) ;
var $checkedtest = jQuery ( "#checkedtest" ) ;
// IE6 was clearing "checked" in jQuery.css(elem, "height");
jQuery . css ( $checkedtest [ 0 ] , "height" ) ;
ok ( ! ! jQuery ( ":radio:first" , $checkedtest ) . attr ( "checked" ) , "Check first radio still checked." ) ;
ok ( ! jQuery ( ":radio:last" , $checkedtest ) . attr ( "checked" ) , "Check last radio still NOT checked." ) ;
ok ( ! ! jQuery ( ":checkbox:first" , $checkedtest ) . attr ( "checked" ) , "Check first checkbox still checked." ) ;
ok ( ! jQuery ( ":checkbox:last" , $checkedtest ) . attr ( "checked" ) , "Check last checkbox still NOT checked." ) ;
2009-04-20 17:05:18 +00:00
} ) ;
2010-10-05 18:23:10 +00:00
test ( ":visible selector works properly on table elements (bug #4512)" , function ( ) {
expect ( 1 ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#table" ) . html ( "<tr><td style='display:none'>cell</td><td>cell</td></tr>" ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#table td:visible" ) . length , 1 , "hidden cell is not perceived as visible" ) ;
2010-10-05 18:23:10 +00:00
} ) ;
test ( ":visible selector works properly on children with a hidden parent (bug #4512)" , function ( ) {
expect ( 1 ) ;
2011-04-11 20:33:29 +00:00
jQuery ( "#table" ) . css ( "display" , "none" ) . html ( "<tr><td>cell</td><td>cell</td></tr>" ) ;
2011-11-06 20:27:42 +00:00
equal ( jQuery ( "#table td:visible" ) . length , 0 , "hidden cell children not perceived as visible" ) ;
2010-10-13 04:10:32 +00:00
} ) ;
2011-01-05 18:32:59 +00:00
test ( "internal ref to elem.runtimeStyle (bug #7608)" , function ( ) {
2011-01-10 18:17:08 +00:00
expect ( 1 ) ;
2011-01-18 00:55:40 +00:00
var result = true ;
2011-10-22 20:08:14 +00:00
2011-01-10 18:17:08 +00:00
try {
2012-07-05 19:52:13 +00:00
jQuery ( "#foo" ) . css ( { "width" : "0%" } ) . css ( "width" ) ;
2011-01-10 18:17:08 +00:00
} catch ( e ) {
result = false ;
}
ok ( result , "elem.runtimeStyle does not throw exception" ) ;
2011-01-05 18:32:59 +00:00
} ) ;
2011-03-24 19:41:46 +00:00
test ( "marginRight computed style (bug #3333)" , function ( ) {
expect ( 1 ) ;
var $div = jQuery ( "#foo" ) ;
$div . css ( {
2012-07-05 19:52:13 +00:00
"width" : "1px" ,
"marginRight" : 0
2011-03-24 19:41:46 +00:00
} ) ;
2011-11-06 20:27:42 +00:00
equal ( $div . css ( "marginRight" ) , "0px" , "marginRight correctly calculated with a width and display block" ) ;
2011-03-24 19:41:46 +00:00
} ) ;
2011-04-12 04:17:07 +00:00
2011-04-11 18:33:52 +00:00
test ( "jQuery.cssProps behavior, (bug #8402)" , function ( ) {
var div = jQuery ( "<div>" ) . appendTo ( document . body ) . css ( {
2012-07-05 19:52:13 +00:00
"position" : "absolute" ,
"top" : 0 ,
"left" : 10
2011-04-11 18:33:52 +00:00
} ) ;
jQuery . cssProps . top = "left" ;
equal ( div . css ( "top" ) , "10px" , "the fixed property is used when accessing the computed style" ) ;
div . css ( "top" , "100px" ) ;
equal ( div [ 0 ] . style . left , "100px" , "the fixed property is used when setting the style" ) ;
// cleanup jQuery.cssProps
jQuery . cssProps . top = undefined ;
2011-03-24 19:41:46 +00:00
} ) ;
2011-04-22 04:02:08 +00:00
test ( "widows & orphans #8936" , function ( ) {
2011-04-27 20:33:12 +00:00
var $p = jQuery ( "<p>" ) . appendTo ( "#qunit-fixture" ) ;
2011-04-22 04:02:08 +00:00
2011-04-25 17:10:23 +00:00
if ( "widows" in $p [ 0 ] . style ) {
2011-10-22 20:08:14 +00:00
expect ( 4 ) ;
2011-04-25 17:10:23 +00:00
$p . css ( {
2012-07-05 19:52:13 +00:00
"widows" : 0 ,
"orphans" : 0
2011-04-25 17:10:23 +00:00
} ) ;
2011-04-22 04:02:08 +00:00
2011-04-28 19:56:02 +00:00
equal ( $p . css ( "widows" ) || jQuery . style ( $p [ 0 ] , "widows" ) , 0 , "widows correctly start with value 0" ) ;
equal ( $p . css ( "orphans" ) || jQuery . style ( $p [ 0 ] , "orphans" ) , 0 , "orphans correctly start with value 0" ) ;
2011-04-22 04:02:08 +00:00
2011-04-25 17:10:23 +00:00
$p . css ( {
2012-07-05 19:52:13 +00:00
"widows" : 3 ,
"orphans" : 3
2011-04-25 17:10:23 +00:00
} ) ;
2011-04-28 19:56:02 +00:00
equal ( $p . css ( "widows" ) || jQuery . style ( $p [ 0 ] , "widows" ) , 3 , "widows correctly set to 3" ) ;
equal ( $p . css ( "orphans" ) || jQuery . style ( $p [ 0 ] , "orphans" ) , 3 , "orphans correctly set to 3" ) ;
2011-04-25 17:10:23 +00:00
} else {
expect ( 1 ) ;
ok ( true , "jQuery does not attempt to test for style props that definitely don't exist in older versions of IE" ) ;
}
2011-04-22 04:02:08 +00:00
$p . remove ( ) ;
} ) ;
2011-06-14 19:59:22 +00:00
2011-10-22 20:08:14 +00:00
test ( "can't get css for disconnected in IE<9, see #10254 and #8388" , function ( ) {
expect ( 2 ) ;
var span = jQuery ( "<span/>" ) . css ( "background-image" , "url(http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif)" ) ;
2011-10-23 19:31:50 +00:00
notEqual ( span . css ( "background-image" ) , null , "can't get background-image in IE<9, see #10254" ) ;
2011-10-22 20:08:14 +00:00
var div = jQuery ( "<div/>" ) . css ( "top" , 10 ) ;
equal ( div . css ( "top" ) , "10px" , "can't get top in IE<9, see #8388" ) ;
} ) ;
2011-12-06 21:44:32 +00:00
test ( "can't get background-position in IE<9, see #10796" , function ( ) {
var div = jQuery ( "<div/>" ) . appendTo ( "#qunit-fixture" ) ,
units = [
"0 0" ,
"12px 12px" ,
"13px 12em" ,
"12em 13px" ,
"12em center" ,
"+12em center" ,
"12.2em center" ,
2012-06-21 19:30:24 +00:00
"center center"
2011-12-06 21:44:32 +00:00
] ,
l = units . length ,
i = 0 ;
expect ( l ) ;
for ( ; i < l ; i ++ ) {
div . css ( "background-position" , units [ i ] ) ;
ok ( div . css ( "background-position" ) , "can't get background-position in IE<9, see #10796" ) ;
}
} ) ;
2012-06-16 01:20:41 +00:00
test ( "percentage properties for bottom and right in IE<9 should not be incorrectly transformed to pixels, see #11311" , function ( ) {
2012-05-25 01:39:31 +00:00
expect ( 1 ) ;
var div = jQuery ( "<div style='position: absolute; width: 1px; height: 20px; bottom:50%;'></div>" ) . appendTo ( "#qunit-fixture" ) ;
ok ( window . getComputedStyle || div . css ( "bottom" ) === "50%" , "position properties get incorrectly transformed in IE<8, see #11311" ) ;
} ) ;
2012-06-16 01:20:41 +00:00
if ( jQuery . fn . offset ) {
test ( "percentage properties for left and top should be transformed to pixels, see #9505" , function ( ) {
expect ( 2 ) ;
var parent = jQuery ( "<div style='position:relative;width:200px;height:200px;margin:0;padding:0;border-width:0'></div>" ) . appendTo ( "#qunit-fixture" ) ,
div = jQuery ( "<div style='position: absolute; width: 20px; height: 20px; top:50%; left:50%'></div>" ) . appendTo ( parent ) ;
equal ( div . css ( "top" ) , "100px" , "position properties not transformed to pixels, see #9505" ) ;
equal ( div . css ( "left" ) , "100px" , "position properties not transformed to pixels, see #9505" ) ;
} ) ;
}
2011-06-14 19:59:22 +00:00
test ( "Do not append px to 'fill-opacity' #9548" , 1 , function ( ) {
2012-05-29 02:25:04 +00:00
var $div = jQuery ( "<div>" ) . appendTo ( "#qunit-fixture" ) . css ( "fill-opacity" , 1 ) ;
equal ( $div . css ( "fill-opacity" ) , 1 , "Do not append px to 'fill-opacity'" ) ;
2011-12-07 01:32:26 +00:00
} ) ;
2012-05-21 17:44:19 +00:00
test ( "css('width') and css('height') should respect box-sizing, see #11004" , function ( ) {
var el _dis = jQuery ( "<div style='width:300px;height:300px;margin:2px;padding:2px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;'>test</div>" ) ,
el = el _dis . clone ( ) . appendTo ( "#qunit-fixture" ) ;
equal ( el . css ( "width" ) , el . css ( "width" , el . css ( "width" ) ) . css ( "width" ) , "css('width') is not respecting box-sizing, see #11004" ) ;
equal ( el _dis . css ( "width" ) , el _dis . css ( "width" , el _dis . css ( "width" ) ) . css ( "width" ) , "css('width') is not respecting box-sizing for disconnected element, see #11004" ) ;
equal ( el . css ( "height" ) , el . css ( "height" , el . css ( "height" ) ) . css ( "height" ) , "css('height') is not respecting box-sizing, see #11004" ) ;
equal ( el _dis . css ( "height" ) , el _dis . css ( "height" , el _dis . css ( "height" ) ) . css ( "height" ) , "css('height') is not respecting box-sizing for disconnected element, see #11004" ) ;
2012-04-10 21:18:00 +00:00
} ) ;
2012-06-06 23:03:10 +00:00
test ( "certain css values of 'normal' should be convertable to a number, see #8627" , function ( ) {
var el = jQuery ( "<div style='letter-spacing:normal;font-weight:normal;line-height:normal;'>test</div>" ) . appendTo ( "#qunit-fixture" ) ;
ok ( jQuery . isNumeric ( parseFloat ( el . css ( "letterSpacing" ) ) ) , "css('letterSpacing') not convertable to number, see #8627" ) ;
ok ( jQuery . isNumeric ( parseFloat ( el . css ( "fontWeight" ) ) ) , "css('fontWeight') not convertable to number, see #8627" ) ;
ok ( jQuery . isNumeric ( parseFloat ( el . css ( "lineHeight" ) ) ) , "css('lineHeight') not convertable to number, see #8627" ) ;
} ) ;
2011-12-09 01:01:23 +00:00
test ( "cssHooks - expand" , function ( ) {
expect ( 15 ) ;
var result ,
properties = {
margin : [ "marginTop" , "marginRight" , "marginBottom" , "marginLeft" ] ,
borderWidth : [ "borderTopWidth" , "borderRightWidth" , "borderBottomWidth" , "borderLeftWidth" ] ,
padding : [ "paddingTop" , "paddingRight" , "paddingBottom" , "paddingLeft" ]
} ;
jQuery . each ( properties , function ( property , keys ) {
var hook = jQuery . cssHooks [ property ] ,
expected = { } ;
jQuery . each ( keys , function ( _ , key ) {
expected [ key ] = 10 ;
} ) ;
result = hook . expand ( 10 ) ;
deepEqual ( result , expected , property + " expands properly with a number" ) ;
jQuery . each ( keys , function ( _ , key ) {
expected [ key ] = "10px" ;
} ) ;
result = hook . expand ( "10px" ) ;
deepEqual ( result , expected , property + " expands properly with '10px'" ) ;
expected [ keys [ 1 ] ] = expected [ keys [ 3 ] ] = "20px" ;
result = hook . expand ( "10px 20px" ) ;
deepEqual ( result , expected , property + " expands properly with '10px 20px'" ) ;
expected [ keys [ 2 ] ] = "30px" ;
result = hook . expand ( "10px 20px 30px" ) ;
deepEqual ( result , expected , property + " expands properly with '10px 20px 30px'" ) ;
expected [ keys [ 3 ] ] = "40px" ;
result = hook . expand ( "10px 20px 30px 40px" ) ;
deepEqual ( result , expected , property + " expands properly with '10px 20px 30px 40px'" ) ;
} ) ;
2012-05-29 02:25:04 +00:00
} ) ;
2012-06-11 01:54:16 +00:00
}