lady_josephine 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +32 -0
  4. data/app/assets/fonts/lady_josephine/icons/icons.eot +0 -0
  5. data/app/assets/fonts/lady_josephine/icons/icons.svg +215 -0
  6. data/app/assets/fonts/lady_josephine/icons/icons.ttf +0 -0
  7. data/app/assets/fonts/lady_josephine/icons/icons.woff +0 -0
  8. data/app/assets/javascripts/lady_josephine/blocks/facebook.js +25 -0
  9. data/app/assets/javascripts/lady_josephine/blocks/instagram.js +22 -0
  10. data/app/assets/javascripts/lady_josephine/blocks/soundcloud.js +24 -0
  11. data/app/assets/javascripts/lady_josephine/blocks/twitter.js +25 -0
  12. data/app/assets/javascripts/lady_josephine/blocks/vimeo.js +55 -0
  13. data/app/assets/javascripts/lady_josephine/blocks/youtube.js +64 -0
  14. data/app/assets/javascripts/lady_josephine/editor.js +40 -0
  15. data/app/assets/javascripts/lady_josephine/lady_josephine.js +4 -0
  16. data/app/assets/javascripts/lady_josephine/lady_josephine_view.js +6 -0
  17. data/app/assets/stylesheets/lady_josephine/content.sass +33 -0
  18. data/app/assets/stylesheets/lady_josephine/icons.sass +175 -0
  19. data/app/assets/stylesheets/lady_josephine/lady_josephine.sass +6 -0
  20. data/app/assets/stylesheets/lady_josephine/sir_trevor.sass +619 -0
  21. data/app/assets/stylesheets/lady_josephine/vars.sass +36 -0
  22. data/app/controllers/lady_josephine/application_controller.rb +4 -0
  23. data/app/controllers/lady_josephine/editor_controller.rb +40 -0
  24. data/app/controllers/lady_josephine/images_controller.rb +26 -0
  25. data/app/helpers/lady_josephine/helper.rb +25 -0
  26. data/app/helpers/lady_josephine/sir_trevor_helper.rb +172 -0
  27. data/app/models/lady_josephine/concerns/model.rb +29 -0
  28. data/app/models/lady_josephine/concerns/pingable.rb +28 -0
  29. data/app/models/lady_josephine/concerns/server_uuid.rb +24 -0
  30. data/app/models/lady_josephine/concerns/sir_trevor_images.rb +38 -0
  31. data/app/models/lady_josephine/image.rb +41 -0
  32. data/app/uploader/lady_josephine/base_uploader.rb +47 -0
  33. data/app/uploader/lady_josephine/image_uploader.rb +149 -0
  34. data/app/views/lady_josephine/blocks/_audio_block.haml +2 -0
  35. data/app/views/lady_josephine/blocks/_definition_block.haml +4 -0
  36. data/app/views/lady_josephine/blocks/_divider_block.haml +2 -0
  37. data/app/views/lady_josephine/blocks/_extended_image_block.haml +63 -0
  38. data/app/views/lady_josephine/blocks/_extended_quote_block.haml +5 -0
  39. data/app/views/lady_josephine/blocks/_extended_tweet_block.haml +2 -0
  40. data/app/views/lady_josephine/blocks/_facebook_post_block.haml +2 -0
  41. data/app/views/lady_josephine/blocks/_heading_block.haml +2 -0
  42. data/app/views/lady_josephine/blocks/_html_block.haml +1 -0
  43. data/app/views/lady_josephine/blocks/_instagram_block.haml +2 -0
  44. data/app/views/lady_josephine/blocks/_list_block.haml +3 -0
  45. data/app/views/lady_josephine/blocks/_quote_block.haml +5 -0
  46. data/app/views/lady_josephine/blocks/_text_block.html.haml +2 -0
  47. data/app/views/lady_josephine/blocks/_video_block.haml +9 -0
  48. data/config/routes.rb +9 -0
  49. data/db/migrate/20160222151500_lady_josephine_image.rb +18 -0
  50. data/lib/generators/lady_josephine_migration/USAGE +9 -0
  51. data/lib/generators/lady_josephine_migration/lady_josephine_migration_generator.rb +17 -0
  52. data/lib/generators/lady_josephine_migration/templates/migration.rb +9 -0
  53. data/lib/lady_josephine.rb +18 -0
  54. data/lib/lady_josephine/engine.rb +18 -0
  55. data/lib/lady_josephine/redcarpet/custom_markdown_formatter.rb +63 -0
  56. data/lib/lady_josephine/renderer/sir_trevor_renderer.rb +16 -0
  57. data/lib/lady_josephine/version.rb +3 -0
  58. data/lib/lady_josephine/whitelist.rb +26 -0
  59. data/lib/tasks/lady_josephine_tasks.rake +4 -0
  60. data/spec/controllers/lady_josephine/editor_controller_spec.rb +58 -0
  61. data/spec/dummy/README.rdoc +28 -0
  62. data/spec/dummy/Rakefile +6 -0
  63. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  64. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  65. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  66. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  67. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  68. data/spec/dummy/bin/bundle +3 -0
  69. data/spec/dummy/bin/rails +4 -0
  70. data/spec/dummy/bin/rake +4 -0
  71. data/spec/dummy/bin/setup +29 -0
  72. data/spec/dummy/config.ru +4 -0
  73. data/spec/dummy/config/application.rb +26 -0
  74. data/spec/dummy/config/boot.rb +5 -0
  75. data/spec/dummy/config/database.yml +25 -0
  76. data/spec/dummy/config/environment.rb +5 -0
  77. data/spec/dummy/config/environments/development.rb +41 -0
  78. data/spec/dummy/config/environments/production.rb +79 -0
  79. data/spec/dummy/config/environments/test.rb +42 -0
  80. data/spec/dummy/config/initializers/assets.rb +11 -0
  81. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  82. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  83. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  84. data/spec/dummy/config/initializers/inflections.rb +16 -0
  85. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  86. data/spec/dummy/config/initializers/session_store.rb +3 -0
  87. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  88. data/spec/dummy/config/locales/en.yml +23 -0
  89. data/spec/dummy/config/routes.rb +4 -0
  90. data/spec/dummy/config/secrets.yml +22 -0
  91. data/spec/dummy/db/development.sqlite3 +0 -0
  92. data/spec/dummy/db/schema.rb +16 -0
  93. data/spec/dummy/db/test.sqlite3 +0 -0
  94. data/spec/dummy/log/bla +0 -0
  95. data/spec/dummy/public/404.html +67 -0
  96. data/spec/dummy/public/422.html +67 -0
  97. data/spec/dummy/public/500.html +66 -0
  98. data/spec/dummy/public/favicon.ico +0 -0
  99. data/spec/spec_helper.rb +17 -0
  100. data/vendor/assets/components/Eventable/README.md +12 -0
  101. data/vendor/assets/components/Eventable/bower.json +10 -0
  102. data/vendor/assets/components/Eventable/component.json +11 -0
  103. data/vendor/assets/components/Eventable/eventable.js +207 -0
  104. data/vendor/assets/components/Eventable/package.json +15 -0
  105. data/vendor/assets/components/jquery-autosize/bower.json +30 -0
  106. data/vendor/assets/components/jquery-autosize/demo.html +36 -0
  107. data/vendor/assets/components/jquery-autosize/jquery.autosize.js +273 -0
  108. data/vendor/assets/components/jquery-autosize/jquery.autosize.min.js +6 -0
  109. data/vendor/assets/components/jquery-autosize/package.json +32 -0
  110. data/vendor/assets/components/jquery-autosize/readme.md +216 -0
  111. data/vendor/assets/components/jquery/AUTHORS.txt +163 -0
  112. data/vendor/assets/components/jquery/CONTRIBUTING.md +216 -0
  113. data/vendor/assets/components/jquery/Gruntfile.js +496 -0
  114. data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
  115. data/vendor/assets/components/jquery/README.md +415 -0
  116. data/vendor/assets/components/jquery/build/release-notes.js +59 -0
  117. data/vendor/assets/components/jquery/build/release.js +246 -0
  118. data/vendor/assets/components/jquery/component.json +13 -0
  119. data/vendor/assets/components/jquery/composer.json +35 -0
  120. data/vendor/assets/components/jquery/jquery-migrate.js +496 -0
  121. data/vendor/assets/components/jquery/jquery-migrate.min.js +3 -0
  122. data/vendor/assets/components/jquery/jquery.js +9597 -0
  123. data/vendor/assets/components/jquery/jquery.min.js +5 -0
  124. data/vendor/assets/components/jquery/jquery.min.map +1 -0
  125. data/vendor/assets/components/jquery/package.json +39 -0
  126. data/vendor/assets/components/jquery/speed/benchmark.js +15 -0
  127. data/vendor/assets/components/jquery/speed/benchmarker.css +65 -0
  128. data/vendor/assets/components/jquery/speed/benchmarker.js +181 -0
  129. data/vendor/assets/components/jquery/speed/closest.html +39 -0
  130. data/vendor/assets/components/jquery/speed/css.html +82 -0
  131. data/vendor/assets/components/jquery/speed/event.html +58 -0
  132. data/vendor/assets/components/jquery/speed/filter.html +183 -0
  133. data/vendor/assets/components/jquery/speed/find.html +179 -0
  134. data/vendor/assets/components/jquery/speed/index.html +72 -0
  135. data/vendor/assets/components/jquery/speed/jquery-basis.js +6238 -0
  136. data/vendor/assets/components/jquery/speed/slice.vs.concat.html +47 -0
  137. data/vendor/assets/components/jquery/src/ajax.js +851 -0
  138. data/vendor/assets/components/jquery/src/ajax/jsonp.js +80 -0
  139. data/vendor/assets/components/jquery/src/ajax/script.js +86 -0
  140. data/vendor/assets/components/jquery/src/ajax/xhr.js +207 -0
  141. data/vendor/assets/components/jquery/src/attributes.js +661 -0
  142. data/vendor/assets/components/jquery/src/callbacks.js +196 -0
  143. data/vendor/assets/components/jquery/src/core.js +949 -0
  144. data/vendor/assets/components/jquery/src/css.js +679 -0
  145. data/vendor/assets/components/jquery/src/data.js +340 -0
  146. data/vendor/assets/components/jquery/src/deferred.js +141 -0
  147. data/vendor/assets/components/jquery/src/deprecated.js +4 -0
  148. data/vendor/assets/components/jquery/src/dimensions.js +41 -0
  149. data/vendor/assets/components/jquery/src/effects.js +730 -0
  150. data/vendor/assets/components/jquery/src/event-alias.js +15 -0
  151. data/vendor/assets/components/jquery/src/event.js +991 -0
  152. data/vendor/assets/components/jquery/src/exports.js +18 -0
  153. data/vendor/assets/components/jquery/src/intro.js +20 -0
  154. data/vendor/assets/components/jquery/src/manipulation.js +796 -0
  155. data/vendor/assets/components/jquery/src/offset.js +169 -0
  156. data/vendor/assets/components/jquery/src/outro.js +2 -0
  157. data/vendor/assets/components/jquery/src/queue.js +147 -0
  158. data/vendor/assets/components/jquery/src/serialize.js +99 -0
  159. data/vendor/assets/components/jquery/src/sizzle-jquery.js +9 -0
  160. data/vendor/assets/components/jquery/src/support.js +241 -0
  161. data/vendor/assets/components/jquery/src/traversing.js +275 -0
  162. data/vendor/assets/components/jquery/test/csp.php +16 -0
  163. data/vendor/assets/components/jquery/test/data/1x1.jpg +0 -0
  164. data/vendor/assets/components/jquery/test/data/ajax/unreleasedXHR.html +25 -0
  165. data/vendor/assets/components/jquery/test/data/atom+xml.php +4 -0
  166. data/vendor/assets/components/jquery/test/data/badcall.js +1 -0
  167. data/vendor/assets/components/jquery/test/data/badjson.js +1 -0
  168. data/vendor/assets/components/jquery/test/data/cleanScript.html +10 -0
  169. data/vendor/assets/components/jquery/test/data/core/cc_on.html +22 -0
  170. data/vendor/assets/components/jquery/test/data/dashboard.xml +11 -0
  171. data/vendor/assets/components/jquery/test/data/dimensions/documentLarge.html +17 -0
  172. data/vendor/assets/components/jquery/test/data/dimensions/documentSmall.html +21 -0
  173. data/vendor/assets/components/jquery/test/data/echoData.php +1 -0
  174. data/vendor/assets/components/jquery/test/data/echoQuery.php +1 -0
  175. data/vendor/assets/components/jquery/test/data/errorWithText.php +5 -0
  176. data/vendor/assets/components/jquery/test/data/etag.php +21 -0
  177. data/vendor/assets/components/jquery/test/data/evalScript.php +1 -0
  178. data/vendor/assets/components/jquery/test/data/event/longLoadScript.php +4 -0
  179. data/vendor/assets/components/jquery/test/data/event/promiseReady.html +17 -0
  180. data/vendor/assets/components/jquery/test/data/event/syncReady.html +23 -0
  181. data/vendor/assets/components/jquery/test/data/headers.php +18 -0
  182. data/vendor/assets/components/jquery/test/data/if_modified_since.php +20 -0
  183. data/vendor/assets/components/jquery/test/data/iframe.html +8 -0
  184. data/vendor/assets/components/jquery/test/data/jquery-1.8.2.ajax_xhr.min.js +2 -0
  185. data/vendor/assets/components/jquery/test/data/json.php +13 -0
  186. data/vendor/assets/components/jquery/test/data/json_obj.js +1 -0
  187. data/vendor/assets/components/jquery/test/data/jsonp.php +14 -0
  188. data/vendor/assets/components/jquery/test/data/manipulation/iframe-denied.html +36 -0
  189. data/vendor/assets/components/jquery/test/data/name.html +1 -0
  190. data/vendor/assets/components/jquery/test/data/name.php +24 -0
  191. data/vendor/assets/components/jquery/test/data/nocontent.php +5 -0
  192. data/vendor/assets/components/jquery/test/data/offset/absolute.html +41 -0
  193. data/vendor/assets/components/jquery/test/data/offset/body.html +26 -0
  194. data/vendor/assets/components/jquery/test/data/offset/fixed.html +34 -0
  195. data/vendor/assets/components/jquery/test/data/offset/relative.html +31 -0
  196. data/vendor/assets/components/jquery/test/data/offset/scroll.html +39 -0
  197. data/vendor/assets/components/jquery/test/data/offset/static.html +31 -0
  198. data/vendor/assets/components/jquery/test/data/offset/table.html +43 -0
  199. data/vendor/assets/components/jquery/test/data/params_html.php +12 -0
  200. data/vendor/assets/components/jquery/test/data/readywaitasset.js +1 -0
  201. data/vendor/assets/components/jquery/test/data/readywaitloader.js +25 -0
  202. data/vendor/assets/components/jquery/test/data/script.php +11 -0
  203. data/vendor/assets/components/jquery/test/data/selector/html5_selector.html +114 -0
  204. data/vendor/assets/components/jquery/test/data/selector/sizzle_cache.html +21 -0
  205. data/vendor/assets/components/jquery/test/data/statusText.php +5 -0
  206. data/vendor/assets/components/jquery/test/data/support/bodyBackground.html +28 -0
  207. data/vendor/assets/components/jquery/test/data/support/shrinkWrapBlocks.html +23 -0
  208. data/vendor/assets/components/jquery/test/data/support/testElementCrash.html +17 -0
  209. data/vendor/assets/components/jquery/test/data/test.html +7 -0
  210. data/vendor/assets/components/jquery/test/data/test.js +3 -0
  211. data/vendor/assets/components/jquery/test/data/test.php +7 -0
  212. data/vendor/assets/components/jquery/test/data/test2.html +5 -0
  213. data/vendor/assets/components/jquery/test/data/test3.html +3 -0
  214. data/vendor/assets/components/jquery/test/data/testinit.js +269 -0
  215. data/vendor/assets/components/jquery/test/data/testrunner.js +368 -0
  216. data/vendor/assets/components/jquery/test/data/testsuite.css +155 -0
  217. data/vendor/assets/components/jquery/test/data/text.php +12 -0
  218. data/vendor/assets/components/jquery/test/data/ua.txt +272 -0
  219. data/vendor/assets/components/jquery/test/data/with_fries.xml +25 -0
  220. data/vendor/assets/components/jquery/test/data/with_fries_over_jsonp.php +7 -0
  221. data/vendor/assets/components/jquery/test/delegatetest.html +228 -0
  222. data/vendor/assets/components/jquery/test/hovertest.html +158 -0
  223. data/vendor/assets/components/jquery/test/index.html +330 -0
  224. data/vendor/assets/components/jquery/test/localfile.html +75 -0
  225. data/vendor/assets/components/jquery/test/networkerror.html +84 -0
  226. data/vendor/assets/components/jquery/test/polluted.php +110 -0
  227. data/vendor/assets/components/jquery/test/readywait.html +70 -0
  228. data/vendor/assets/components/jquery/test/unit/ajax.js +1971 -0
  229. data/vendor/assets/components/jquery/test/unit/attributes.js +1332 -0
  230. data/vendor/assets/components/jquery/test/unit/callbacks.js +326 -0
  231. data/vendor/assets/components/jquery/test/unit/core.js +1332 -0
  232. data/vendor/assets/components/jquery/test/unit/css.js +1036 -0
  233. data/vendor/assets/components/jquery/test/unit/data.js +636 -0
  234. data/vendor/assets/components/jquery/test/unit/deferred.js +440 -0
  235. data/vendor/assets/components/jquery/test/unit/deprecated.js +1 -0
  236. data/vendor/assets/components/jquery/test/unit/dimensions.js +461 -0
  237. data/vendor/assets/components/jquery/test/unit/effects.js +2050 -0
  238. data/vendor/assets/components/jquery/test/unit/event.js +2690 -0
  239. data/vendor/assets/components/jquery/test/unit/exports.js +7 -0
  240. data/vendor/assets/components/jquery/test/unit/manipulation.js +2242 -0
  241. data/vendor/assets/components/jquery/test/unit/offset.js +549 -0
  242. data/vendor/assets/components/jquery/test/unit/queue.js +316 -0
  243. data/vendor/assets/components/jquery/test/unit/selector.js +185 -0
  244. data/vendor/assets/components/jquery/test/unit/serialize.js +146 -0
  245. data/vendor/assets/components/jquery/test/unit/support.js +384 -0
  246. data/vendor/assets/components/jquery/test/unit/traversing.js +667 -0
  247. data/vendor/assets/components/jquery/test/xhtml.php +5 -0
  248. data/vendor/assets/components/sir-trevor-js/CHANGELOG.md +44 -0
  249. data/vendor/assets/components/sir-trevor-js/Gemfile +3 -0
  250. data/vendor/assets/components/sir-trevor-js/Gemfile.lock +10 -0
  251. data/vendor/assets/components/sir-trevor-js/Gruntfile.js +109 -0
  252. data/vendor/assets/components/sir-trevor-js/MIT-LICENCE +20 -0
  253. data/vendor/assets/components/sir-trevor-js/Readme.md +84 -0
  254. data/vendor/assets/components/sir-trevor-js/bower.json +21 -0
  255. data/vendor/assets/components/sir-trevor-js/component.json +42 -0
  256. data/vendor/assets/components/sir-trevor-js/contributing.md +74 -0
  257. data/vendor/assets/components/sir-trevor-js/examples-component/component.json +14 -0
  258. data/vendor/assets/components/sir-trevor-js/examples-component/index.html +33 -0
  259. data/vendor/assets/components/sir-trevor-js/examples-component/index.js +29 -0
  260. data/vendor/assets/components/sir-trevor-js/examples-component/javascript/example_block.js +203 -0
  261. data/vendor/assets/components/sir-trevor-js/examples-component/javascript/limit_chars.js +46 -0
  262. data/vendor/assets/components/sir-trevor-js/examples-component/sir-trevor.gif +0 -0
  263. data/vendor/assets/components/sir-trevor-js/locales/cn.js +51 -0
  264. data/vendor/assets/components/sir-trevor-js/locales/de.js +51 -0
  265. data/vendor/assets/components/sir-trevor-js/locales/es.js +51 -0
  266. data/vendor/assets/components/sir-trevor-js/locales/fi.js +51 -0
  267. data/vendor/assets/components/sir-trevor-js/locales/fr.js +51 -0
  268. data/vendor/assets/components/sir-trevor-js/locales/pt.js +52 -0
  269. data/vendor/assets/components/sir-trevor-js/package.json +23 -0
  270. data/vendor/assets/components/sir-trevor-js/sir-trevor-icons.css +6 -0
  271. data/vendor/assets/components/sir-trevor-js/sir-trevor.css +393 -0
  272. data/vendor/assets/components/sir-trevor-js/sir-trevor.css.map +7 -0
  273. data/vendor/assets/components/sir-trevor-js/sir-trevor.js +5481 -0
  274. data/vendor/assets/components/sir-trevor-js/sir-trevor.min.js +13 -0
  275. data/vendor/assets/components/underscore/CNAME +1 -0
  276. data/vendor/assets/components/underscore/CONTRIBUTING.md +9 -0
  277. data/vendor/assets/components/underscore/LICENSE +22 -0
  278. data/vendor/assets/components/underscore/README.md +19 -0
  279. data/vendor/assets/components/underscore/Rakefile +10 -0
  280. data/vendor/assets/components/underscore/docs/docco.css +192 -0
  281. data/vendor/assets/components/underscore/docs/favicon.ico +0 -0
  282. data/vendor/assets/components/underscore/docs/images/background.png +0 -0
  283. data/vendor/assets/components/underscore/docs/images/underscore.png +0 -0
  284. data/vendor/assets/components/underscore/docs/underscore.html +823 -0
  285. data/vendor/assets/components/underscore/favicon.ico +0 -0
  286. data/vendor/assets/components/underscore/index.html +2467 -0
  287. data/vendor/assets/components/underscore/index.js +1 -0
  288. data/vendor/assets/components/underscore/package.json +16 -0
  289. data/vendor/assets/components/underscore/test/arrays.js +200 -0
  290. data/vendor/assets/components/underscore/test/chaining.js +59 -0
  291. data/vendor/assets/components/underscore/test/collections.js +453 -0
  292. data/vendor/assets/components/underscore/test/functions.js +265 -0
  293. data/vendor/assets/components/underscore/test/index.html +44 -0
  294. data/vendor/assets/components/underscore/test/objects.js +570 -0
  295. data/vendor/assets/components/underscore/test/speed.js +75 -0
  296. data/vendor/assets/components/underscore/test/utility.js +266 -0
  297. data/vendor/assets/components/underscore/test/vendor/jquery.js +9404 -0
  298. data/vendor/assets/components/underscore/test/vendor/jslitmus.js +670 -0
  299. data/vendor/assets/components/underscore/test/vendor/qunit.css +235 -0
  300. data/vendor/assets/components/underscore/test/vendor/qunit.js +1977 -0
  301. data/vendor/assets/components/underscore/test/vendor/runner.js +98 -0
  302. data/vendor/assets/components/underscore/underscore-min.js +1 -0
  303. data/vendor/assets/components/underscore/underscore.js +1226 -0
  304. metadata +473 -0
@@ -0,0 +1,1036 @@
1
+ if ( jQuery.css ) {
2
+
3
+ module("css", { teardown: moduleTeardown });
4
+
5
+ test("css(String|Hash)", function() {
6
+ expect( 41 );
7
+
8
+ equal( jQuery("#qunit-fixture").css("display"), "block", "Check for css property \"display\"" );
9
+
10
+ var $child = jQuery("#nothiddendivchild").css({ "width": "20%", "height": "20%" });
11
+ notEqual( $child.css("width"), "20px", "Retrieving a width percentage on the child of a hidden div returns percentage" );
12
+ notEqual( $child.css("height"), "20px", "Retrieving a height percentage on the child of a hidden div returns percentage" );
13
+
14
+ var div = jQuery( "<div>" );
15
+
16
+ // These should be "auto" (or some better value)
17
+ // temporarily provide "0px" for backwards compat
18
+ equal( div.css("width"), "0px", "Width on disconnected node." );
19
+ equal( div.css("height"), "0px", "Height on disconnected node." );
20
+
21
+ div.css({ "width": 4, "height": 4 });
22
+
23
+ equal( div.css("width"), "4px", "Width on disconnected node." );
24
+ equal( div.css("height"), "4px", "Height on disconnected node." );
25
+
26
+ 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");
27
+
28
+ equal( div2.find("input").css("height"), "20px", "Height on hidden input." );
29
+ equal( div2.find("textarea").css("height"), "20px", "Height on hidden textarea." );
30
+ equal( div2.find("div").css("height"), "20px", "Height on hidden textarea." );
31
+
32
+ div2.remove();
33
+
34
+ // handle negative numbers by setting to zero #11604
35
+ jQuery("#nothiddendiv").css( {"width": 1, "height": 1} );
36
+
37
+ var width = parseFloat(jQuery("#nothiddendiv").css("width")), height = parseFloat(jQuery("#nothiddendiv").css("height"));
38
+ jQuery("#nothiddendiv").css({ "overflow":"hidden", "width": -1, "height": -1 });
39
+ equal( parseFloat(jQuery("#nothiddendiv").css("width")), 0, "Test negative width set to 0");
40
+ equal( parseFloat(jQuery("#nothiddendiv").css("height")), 0, "Test negative height set to 0");
41
+
42
+ equal( jQuery("<div style='display: none;'>").css("display"), "none", "Styles on disconnected nodes");
43
+
44
+ jQuery("#floatTest").css({"float": "right"});
45
+ equal( jQuery("#floatTest").css("float"), "right", "Modified CSS float using \"float\": Assert float is right");
46
+ jQuery("#floatTest").css({"font-size": "30px"});
47
+ equal( jQuery("#floatTest").css("font-size"), "30px", "Modified CSS font-size: Assert font-size is 30px");
48
+ jQuery.each("0,0.25,0.5,0.75,1".split(","), function(i, n) {
49
+ jQuery("#foo").css({"opacity": n});
50
+
51
+ equal( jQuery("#foo").css("opacity"), parseFloat(n), "Assert opacity is " + parseFloat(n) + " as a String" );
52
+ jQuery("#foo").css({"opacity": parseFloat(n)});
53
+ equal( jQuery("#foo").css("opacity"), parseFloat(n), "Assert opacity is " + parseFloat(n) + " as a Number" );
54
+ });
55
+ jQuery("#foo").css({"opacity": ""});
56
+ equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when set to an empty String" );
57
+
58
+ equal( jQuery("#empty").css("opacity"), "0", "Assert opacity is accessible via filter property set in stylesheet in IE" );
59
+ jQuery("#empty").css({ "opacity": "1" });
60
+ equal( jQuery("#empty").css("opacity"), "1", "Assert opacity is taken from style attribute when set vs stylesheet in IE with filters" );
61
+ jQuery.support.opacity ?
62
+ ok(true, "Requires the same number of tests"):
63
+ ok( ~jQuery("#empty")[0].currentStyle.filter.indexOf("gradient"), "Assert setting opacity doesn't overwrite other filters of the stylesheet in IE" );
64
+
65
+ div = jQuery("#nothiddendiv");
66
+ var child = jQuery("#nothiddendivchild");
67
+
68
+ equal( parseInt(div.css("fontSize"), 10), 16, "Verify fontSize px set." );
69
+ equal( parseInt(div.css("font-size"), 10), 16, "Verify fontSize px set." );
70
+ equal( parseInt(child.css("fontSize"), 10), 16, "Verify fontSize px set." );
71
+ equal( parseInt(child.css("font-size"), 10), 16, "Verify fontSize px set." );
72
+
73
+ child.css("height", "100%");
74
+ equal( child[0].style.height, "100%", "Make sure the height is being set correctly." );
75
+
76
+ child.attr("class", "em");
77
+ equal( parseInt(child.css("fontSize"), 10), 32, "Verify fontSize em set." );
78
+
79
+ // Have to verify this as the result depends upon the browser's CSS
80
+ // support for font-size percentages
81
+ child.attr("class", "prct");
82
+ var prctval = parseInt(child.css("fontSize"), 10), checkval = 0;
83
+ if ( prctval === 16 || prctval === 24 ) {
84
+ checkval = prctval;
85
+ }
86
+
87
+ equal( prctval, checkval, "Verify fontSize % set." );
88
+
89
+ equal( typeof child.css("width"), "string", "Make sure that a string width is returned from css('width')." );
90
+
91
+ var old = child[0].style.height;
92
+
93
+ // Test NaN
94
+ child.css("height", parseFloat("zoo"));
95
+ equal( child[0].style.height, old, "Make sure height isn't changed on NaN." );
96
+
97
+ // Test null
98
+ child.css("height", null);
99
+ equal( child[0].style.height, old, "Make sure height isn't changed on null." );
100
+
101
+ old = child[0].style.fontSize;
102
+
103
+ // Test NaN
104
+ child.css("font-size", parseFloat("zoo"));
105
+ equal( child[0].style.fontSize, old, "Make sure font-size isn't changed on NaN." );
106
+
107
+ // Test null
108
+ child.css("font-size", null);
109
+ equal( child[0].style.fontSize, old, "Make sure font-size isn't changed on null." );
110
+ });
111
+
112
+ test("css() explicit and relative values", function() {
113
+ expect(29);
114
+ var $elem = jQuery("#nothiddendiv");
115
+
116
+ $elem.css({ "width": 1, "height": 1, "paddingLeft": "1px", "opacity": 1 });
117
+ equal( $elem.css("width"), "1px", "Initial css set or width/height works (hash)" );
118
+ equal( $elem.css("paddingLeft"), "1px", "Initial css set of paddingLeft works (hash)" );
119
+ equal( $elem.css("opacity"), "1", "Initial css set of opacity works (hash)" );
120
+
121
+ $elem.css({ width: "+=9" });
122
+ equal( $elem.css("width"), "10px", "'+=9' on width (hash)" );
123
+
124
+ $elem.css({ "width": "-=9" });
125
+ equal( $elem.css("width"), "1px", "'-=9' on width (hash)" );
126
+
127
+ $elem.css({ "width": "+=9px" });
128
+ equal( $elem.css("width"), "10px", "'+=9px' on width (hash)" );
129
+
130
+ $elem.css({ "width": "-=9px" });
131
+ equal( $elem.css("width"), "1px", "'-=9px' on width (hash)" );
132
+
133
+ $elem.css( "width", "+=9" );
134
+ equal( $elem.css("width"), "10px", "'+=9' on width (params)" );
135
+
136
+ $elem.css( "width", "-=9" ) ;
137
+ equal( $elem.css("width"), "1px", "'-=9' on width (params)" );
138
+
139
+ $elem.css( "width", "+=9px" );
140
+ equal( $elem.css("width"), "10px", "'+=9px' on width (params)" );
141
+
142
+ $elem.css( "width", "-=9px" );
143
+ equal( $elem.css("width"), "1px", "'-=9px' on width (params)" );
144
+
145
+ $elem.css( "width", "-=-9px" );
146
+ equal( $elem.css("width"), "10px", "'-=-9px' on width (params)" );
147
+
148
+ $elem.css( "width", "+=-9px" );
149
+ equal( $elem.css("width"), "1px", "'+=-9px' on width (params)" );
150
+
151
+ $elem.css({ "paddingLeft": "+=4" });
152
+ equal( $elem.css("paddingLeft"), "5px", "'+=4' on paddingLeft (hash)" );
153
+
154
+ $elem.css({ "paddingLeft": "-=4" });
155
+ equal( $elem.css("paddingLeft"), "1px", "'-=4' on paddingLeft (hash)" );
156
+
157
+ $elem.css({ "paddingLeft": "+=4px" });
158
+ equal( $elem.css("paddingLeft"), "5px", "'+=4px' on paddingLeft (hash)" );
159
+
160
+ $elem.css({ "paddingLeft": "-=4px" });
161
+ equal( $elem.css("paddingLeft"), "1px", "'-=4px' on paddingLeft (hash)" );
162
+
163
+ $elem.css({ "padding-left": "+=4" });
164
+ equal( $elem.css("paddingLeft"), "5px", "'+=4' on padding-left (hash)" );
165
+
166
+ $elem.css({ "padding-left": "-=4" });
167
+ equal( $elem.css("paddingLeft"), "1px", "'-=4' on padding-left (hash)" );
168
+
169
+ $elem.css({ "padding-left": "+=4px" });
170
+ equal( $elem.css("paddingLeft"), "5px", "'+=4px' on padding-left (hash)" );
171
+
172
+ $elem.css({ "padding-left": "-=4px" });
173
+ equal( $elem.css("paddingLeft"), "1px", "'-=4px' on padding-left (hash)" );
174
+
175
+ $elem.css( "paddingLeft", "+=4" );
176
+ equal( $elem.css("paddingLeft"), "5px", "'+=4' on paddingLeft (params)" );
177
+
178
+ $elem.css( "paddingLeft", "-=4" );
179
+ equal( $elem.css("paddingLeft"), "1px", "'-=4' on paddingLeft (params)" );
180
+
181
+ $elem.css( "padding-left", "+=4px" );
182
+ equal( $elem.css("paddingLeft"), "5px", "'+=4px' on padding-left (params)" );
183
+
184
+ $elem.css( "padding-left", "-=4px" );
185
+ equal( $elem.css("paddingLeft"), "1px", "'-=4px' on padding-left (params)" );
186
+
187
+ $elem.css({ "opacity": "-=0.5" });
188
+ equal( $elem.css("opacity"), "0.5", "'-=0.5' on opacity (hash)" );
189
+
190
+ $elem.css({ "opacity": "+=0.5" });
191
+ equal( $elem.css("opacity"), "1", "'+=0.5' on opacity (hash)" );
192
+
193
+ $elem.css( "opacity", "-=0.5" );
194
+ equal( $elem.css("opacity"), "0.5", "'-=0.5' on opacity (params)" );
195
+
196
+ $elem.css( "opacity", "+=0.5" );
197
+ equal( $elem.css("opacity"), "1", "'+=0.5' on opacity (params)" );
198
+ });
199
+
200
+ test("css(String, Object)", function() {
201
+ expect( 19 );
202
+
203
+ jQuery("#nothiddendiv").css("top", "-1em");
204
+ ok( jQuery("#nothiddendiv").css("top"), -16, "Check negative number in EMs." );
205
+
206
+ jQuery("#floatTest").css("float", "left");
207
+ equal( jQuery("#floatTest").css("float"), "left", "Modified CSS float using \"float\": Assert float is left");
208
+ jQuery("#floatTest").css("font-size", "20px");
209
+ equal( jQuery("#floatTest").css("font-size"), "20px", "Modified CSS font-size: Assert font-size is 20px");
210
+
211
+ jQuery.each("0,0.25,0.5,0.75,1".split(","), function(i, n) {
212
+ jQuery("#foo").css("opacity", n);
213
+ equal( jQuery("#foo").css("opacity"), parseFloat(n), "Assert opacity is " + parseFloat(n) + " as a String" );
214
+ jQuery("#foo").css("opacity", parseFloat(n));
215
+ equal( jQuery("#foo").css("opacity"), parseFloat(n), "Assert opacity is " + parseFloat(n) + " as a Number" );
216
+ });
217
+ jQuery("#foo").css("opacity", "");
218
+ equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when set to an empty String" );
219
+
220
+ // using contents will get comments regular, text, and comment nodes
221
+ var j = jQuery("#nonnodes").contents();
222
+ j.css("overflow", "visible");
223
+ equal( j.css("overflow"), "visible", "Check node,textnode,comment css works" );
224
+ // opera sometimes doesn't update 'display' correctly, see #2037
225
+ jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML;
226
+ equal( jQuery("#t2037 .hidden").css("display"), "none", "Make sure browser thinks it is hidden" );
227
+
228
+ var div = jQuery("#nothiddendiv"),
229
+ display = div.css("display"),
230
+ ret = div.css("display", undefined);
231
+
232
+ equal( ret, div, "Make sure setting undefined returns the original set." );
233
+ equal( div.css("display"), display, "Make sure that the display wasn't changed." );
234
+
235
+ // Test for Bug #5509
236
+ var success = true;
237
+ try {
238
+ jQuery("#foo").css("backgroundColor", "rgba(0, 0, 0, 0.1)");
239
+ }
240
+ catch (e) {
241
+ success = false;
242
+ }
243
+ ok( success, "Setting RGBA values does not throw Error" );
244
+ });
245
+
246
+ test( "css(Array)", function() {
247
+ expect( 2 );
248
+
249
+ var expectedMany = {
250
+ "overflow": "visible",
251
+ "width": "16px"
252
+ },
253
+ expectedSingle = {
254
+ "width": "16px"
255
+ },
256
+ elem = jQuery("<div></div>").appendTo("#qunit-fixture");
257
+
258
+ deepEqual( elem.css( expectedMany ).css([ "overflow", "width" ]), expectedMany, "Getting multiple element array" );
259
+ deepEqual( elem.css( expectedSingle ).css([ "width" ]), expectedSingle, "Getting single element array" );
260
+ });
261
+
262
+ if ( !jQuery.support.opacity ) {
263
+ test("css(String, Object) for MSIE", function() {
264
+ expect( 5 );
265
+ // for #1438, IE throws JS error when filter exists but doesn't have opacity in it
266
+ jQuery("#foo").css("filter", "progid:DXImageTransform.Microsoft.Chroma(color='red');");
267
+ equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when a different filter is set in IE, #1438" );
268
+
269
+ var filterVal = "progid:DXImageTransform.Microsoft.Alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
270
+ var filterVal2 = "progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
271
+ var filterVal3 = "progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
272
+ jQuery("#foo").css("filter", filterVal);
273
+ equal( jQuery("#foo").css("filter"), filterVal, "css('filter', val) works" );
274
+ jQuery("#foo").css("opacity", 1);
275
+ equal( jQuery("#foo").css("filter"), filterVal2, "Setting opacity in IE doesn't duplicate opacity filter" );
276
+ equal( jQuery("#foo").css("opacity"), 1, "Setting opacity in IE with other filters works" );
277
+ jQuery("#foo").css("filter", filterVal3).css("opacity", 1);
278
+ ok( jQuery("#foo").css("filter").indexOf(filterVal3) !== -1, "Setting opacity in IE doesn't clobber other filters" );
279
+ });
280
+
281
+ test( "Setting opacity to 1 properly removes filter: style (#6652)", function() {
282
+ var rfilter = /filter:[^;]*/i,
283
+ test = jQuery( "#t6652" ).css( "opacity", 1 ),
284
+ test2 = test.find( "div" ).css( "opacity", 1 );
285
+
286
+ function hasFilter( elem ) {
287
+ var match = rfilter.exec( elem[0].style.cssText );
288
+ if ( match ) {
289
+ return true;
290
+ }
291
+ return false;
292
+ }
293
+ expect( 2 );
294
+ ok( !hasFilter( test ), "Removed filter attribute on element without filter in stylesheet" );
295
+ ok( hasFilter( test2 ), "Filter attribute remains on element that had filter in stylesheet" );
296
+ });
297
+ }
298
+
299
+ test("css(String, Function)", function() {
300
+ expect(3);
301
+
302
+ var sizes = ["10px", "20px", "30px"];
303
+
304
+ jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
305
+ "<div class='cssFunction'></div>" +
306
+ "<div class='cssFunction'></div></div>")
307
+ .appendTo("body");
308
+
309
+ var index = 0;
310
+
311
+ jQuery("#cssFunctionTest div").css("font-size", function() {
312
+ var size = sizes[index];
313
+ index++;
314
+ return size;
315
+ });
316
+
317
+ index = 0;
318
+
319
+ jQuery("#cssFunctionTest div").each(function() {
320
+ var computedSize = jQuery(this).css("font-size");
321
+ var expectedSize = sizes[index];
322
+ equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
323
+ index++;
324
+ });
325
+
326
+ jQuery("#cssFunctionTest").remove();
327
+ });
328
+
329
+ test("css(String, Function) with incoming value", function() {
330
+ expect(3);
331
+
332
+ var sizes = ["10px", "20px", "30px"];
333
+
334
+ jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
335
+ "<div class='cssFunction'></div>" +
336
+ "<div class='cssFunction'></div></div>")
337
+ .appendTo("body");
338
+
339
+ var index = 0;
340
+
341
+ jQuery("#cssFunctionTest div").css("font-size", function() {
342
+ var size = sizes[index];
343
+ index++;
344
+ return size;
345
+ });
346
+
347
+ index = 0;
348
+
349
+ jQuery("#cssFunctionTest div").css("font-size", function(i, computedSize) {
350
+ var expectedSize = sizes[index];
351
+ equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
352
+ index++;
353
+ return computedSize;
354
+ });
355
+
356
+ jQuery("#cssFunctionTest").remove();
357
+ });
358
+
359
+ test("css(Object) where values are Functions", function() {
360
+ expect(3);
361
+
362
+ var sizes = ["10px", "20px", "30px"];
363
+
364
+ jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
365
+ "<div class='cssFunction'></div>" +
366
+ "<div class='cssFunction'></div></div>")
367
+ .appendTo("body");
368
+
369
+ var index = 0;
370
+
371
+ jQuery("#cssFunctionTest div").css({"fontSize": function() {
372
+ var size = sizes[index];
373
+ index++;
374
+ return size;
375
+ }});
376
+
377
+ index = 0;
378
+
379
+ jQuery("#cssFunctionTest div").each(function() {
380
+ var computedSize = jQuery(this).css("font-size");
381
+ var expectedSize = sizes[index];
382
+ equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
383
+ index++;
384
+ });
385
+
386
+ jQuery("#cssFunctionTest").remove();
387
+ });
388
+
389
+ test("css(Object) where values are Functions with incoming values", function() {
390
+ expect(3);
391
+
392
+ var sizes = ["10px", "20px", "30px"];
393
+
394
+ jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
395
+ "<div class='cssFunction'></div>" +
396
+ "<div class='cssFunction'></div></div>")
397
+ .appendTo("body");
398
+
399
+ var index = 0;
400
+
401
+ jQuery("#cssFunctionTest div").css({"fontSize": function() {
402
+ var size = sizes[index];
403
+ index++;
404
+ return size;
405
+ }});
406
+
407
+ index = 0;
408
+
409
+ jQuery("#cssFunctionTest div").css({"font-size": function(i, computedSize) {
410
+ var expectedSize = sizes[index];
411
+ equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
412
+ index++;
413
+ return computedSize;
414
+ }});
415
+
416
+ jQuery("#cssFunctionTest").remove();
417
+ });
418
+
419
+ test("show(); hide()", function() {
420
+ expect(22);
421
+
422
+ var hiddendiv = jQuery("div.hidden");
423
+ hiddendiv.hide();
424
+ equal( hiddendiv.css("display"), "none", "Non-detached div hidden" );
425
+ hiddendiv.show();
426
+ equal( hiddendiv.css("display"), "block", "Pre-hidden div shown" );
427
+
428
+ var div = jQuery("<div>").hide();
429
+ equal( div.css("display"), "none", "Detached div hidden" );
430
+ div.appendTo("#qunit-fixture").show();
431
+ equal( div.css("display"), "block", "Pre-hidden div shown" );
432
+
433
+ QUnit.reset();
434
+
435
+ hiddendiv = jQuery("div.hidden");
436
+
437
+ equal(jQuery.css( hiddendiv[0], "display"), "none", "hiddendiv is display: none");
438
+
439
+ hiddendiv.css("display", "block");
440
+ equal(jQuery.css( hiddendiv[0], "display"), "block", "hiddendiv is display: block");
441
+
442
+ hiddendiv.show();
443
+ equal(jQuery.css( hiddendiv[0], "display"), "block", "hiddendiv is display: block");
444
+
445
+ hiddendiv.css("display","");
446
+
447
+ var pass = true;
448
+ div = jQuery("#qunit-fixture div");
449
+ div.show().each(function(){
450
+ if ( this.style.display == "none" ) {
451
+ pass = false;
452
+ }
453
+ });
454
+ ok( pass, "Show" );
455
+
456
+ // #show-tests * is set display: none in CSS
457
+ 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>");
458
+
459
+ var old = jQuery("#test-table").show().css("display") !== "table";
460
+ jQuery("#test-table").remove();
461
+
462
+ var test = {
463
+ "div" : "block",
464
+ "p" : "block",
465
+ "a" : "inline",
466
+ "code" : "inline",
467
+ "pre" : "block",
468
+ "span" : "inline",
469
+ "table" : old ? "block" : "table",
470
+ "thead" : old ? "block" : "table-header-group",
471
+ "tbody" : old ? "block" : "table-row-group",
472
+ "tr" : old ? "block" : "table-row",
473
+ "th" : old ? "block" : "table-cell",
474
+ "td" : old ? "block" : "table-cell",
475
+ "ul" : "block",
476
+ "li" : old ? "block" : "list-item"
477
+ };
478
+
479
+ jQuery.each(test, function(selector, expected) {
480
+ var elem = jQuery(selector, "#show-tests").show();
481
+ equal( elem.css("display"), expected, "Show using correct display type for " + selector );
482
+ });
483
+
484
+ // Make sure that showing or hiding a text node doesn't cause an error
485
+ jQuery("<div>test</div> text <span>test</span>").show().remove();
486
+ jQuery("<div>test</div> text <span>test</span>").hide().remove();
487
+ });
488
+
489
+ test("show() resolves correct default display #8099", function() {
490
+ expect(7);
491
+ var tt8099 = jQuery("<tt/>").appendTo("body"),
492
+ dfn8099 = jQuery("<dfn/>", { "html": "foo"}).appendTo("body");
493
+
494
+ equal( tt8099.css("display"), "none", "default display override for all tt" );
495
+ equal( tt8099.show().css("display"), "inline", "Correctly resolves display:inline" );
496
+
497
+ equal( jQuery("#foo").hide().show().css("display"), "block", "Correctly resolves display:block after hide/show" );
498
+
499
+ equal( tt8099.hide().css("display"), "none", "default display override for all tt" );
500
+ equal( tt8099.show().css("display"), "inline", "Correctly resolves display:inline" );
501
+
502
+ equal( dfn8099.css("display"), "none", "default display override for all dfn" );
503
+ equal( dfn8099.show().css("display"), "inline", "Correctly resolves display:inline" );
504
+
505
+ tt8099.remove();
506
+ dfn8099.remove();
507
+ });
508
+
509
+ test( "show() resolves correct default display for detached nodes", function(){
510
+ expect( 13 );
511
+
512
+ var div, span, tr, trDisplay;
513
+
514
+ div = jQuery("<div class='hidden'>");
515
+ div.show().appendTo("#qunit-fixture");
516
+ equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through stylesheets ) div is visible." );
517
+
518
+ div = jQuery("<div style='display: none'>");
519
+ div.show().appendTo("#qunit-fixture");
520
+ equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through inline style ) div is visible." );
521
+
522
+ span = jQuery("<span class='hidden'/>");
523
+ span.show().appendTo("#qunit-fixture");
524
+ equal( span.css("display"), "inline", "Make sure a detached, pre-hidden( through stylesheets ) span has default display." );
525
+
526
+ span = jQuery("<span style='display: inline'/>");
527
+ span.show().appendTo("#qunit-fixture");
528
+ equal( span.css("display"), "inline", "Make sure a detached, pre-hidden( through inline style ) span has default display." );
529
+
530
+ div = jQuery("<div><div class='hidden'></div></div>").children("div");
531
+ div.show().appendTo("#qunit-fixture");
532
+ equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through stylesheets ) div inside another visible div is visible." );
533
+
534
+ div = jQuery("<div><div style='display: none'></div></div>").children("div");
535
+ div.show().appendTo("#qunit-fixture");
536
+ equal( div.css("display"), "block", "Make sure a detached, pre-hidden( through inline style ) div inside another visible div is visible." );
537
+
538
+ div = jQuery("div.hidden");
539
+ div.detach().show();
540
+ equal( div.css("display"), "block", "Make sure a detached( through detach() ), pre-hidden div is visible." );
541
+ div.remove();
542
+
543
+ span = jQuery("<span>");
544
+ span.appendTo("#qunit-fixture").detach().show().appendTo("#qunit-fixture" );
545
+ equal( span.css("display"), "inline", "Make sure a detached( through detach() ), pre-hidden span has default display." );
546
+ span.remove();
547
+
548
+ div = jQuery("<div>");
549
+ div.show().appendTo("#qunit-fixture");
550
+ ok( !!div.get( 0 ).style.display, "Make sure not hidden div has a inline style." );
551
+ div.remove();
552
+
553
+ div = jQuery( document.createElement("div") );
554
+ div.show().appendTo("#qunit-fixture");
555
+ equal( div.css("display"), "block", "Make sure a pre-created element has default display." );
556
+ div.remove();
557
+
558
+ div = jQuery("<div style='display: inline'/>");
559
+ div.show().appendTo("#qunit-fixture");
560
+ equal( div.css("display"), "inline", "Make sure that element has same display when it was created." );
561
+ div.remove();
562
+
563
+ tr = jQuery("<tr/>");
564
+ jQuery("#table").append( tr );
565
+ trDisplay = tr.css( "display" );
566
+ tr.detach().hide().show();
567
+
568
+ equal( tr[ 0 ].style.display, trDisplay, "For detached tr elements, display should always be like for attached trs" );
569
+ tr.remove();
570
+
571
+ span = span = jQuery("<span/>").hide().show();
572
+ equal( span[ 0 ].style.display, "inline", "For detached span elements, display should always be inline" );
573
+ span.remove();
574
+ });
575
+
576
+ test("show() resolves correct default display #10227", function() {
577
+ expect(2);
578
+
579
+ var body = jQuery("body");
580
+ body.append(
581
+ "<p id='ddisplay'>a<style>body{display:none}</style></p>"
582
+ );
583
+
584
+ equal( body.css("display"), "none", "Initial display: none" );
585
+
586
+ body.show();
587
+ equal( body.css("display"), "block", "Correct display: block" );
588
+
589
+ jQuery("#ddisplay").remove();
590
+ QUnit.expectJqData( body[0], "olddisplay" );
591
+ });
592
+
593
+ test("show() resolves correct default display when iframe display:none #12904", function() {
594
+ expect(2);
595
+
596
+ var ddisplay = jQuery(
597
+ "<p id='ddisplay'>a<style>p{display:none}iframe{display:none !important}</style></p>"
598
+ ).appendTo("body");
599
+
600
+ equal( ddisplay.css("display"), "none", "Initial display: none" );
601
+
602
+ ddisplay.show();
603
+ equal( ddisplay.css("display"), "block", "Correct display: block" );
604
+
605
+ ddisplay.remove();
606
+ });
607
+
608
+ test("toggle()", function() {
609
+ expect(9);
610
+ var div,
611
+ x = jQuery("#foo");
612
+
613
+ ok( x.is(":visible"), "is visible" );
614
+ x.toggle();
615
+ ok( x.is(":hidden"), "is hidden" );
616
+ x.toggle();
617
+ ok( x.is(":visible"), "is visible again" );
618
+
619
+ x.toggle(true);
620
+ ok( x.is(":visible"), "is visible" );
621
+ x.toggle(false);
622
+ ok( x.is(":hidden"), "is hidden" );
623
+ x.toggle(true);
624
+ ok( x.is(":visible"), "is visible again" );
625
+
626
+ div = jQuery("<div style='display:none'><div></div></div>").appendTo("#qunit-fixture");
627
+ x = div.find("div");
628
+ strictEqual( x.toggle().css( "display" ), "none", "is hidden" );
629
+ strictEqual( x.toggle().css( "display" ), "block", "is visible" );
630
+
631
+ // Ensure hide() is called when toggled (#12148)
632
+ var oldHide = jQuery.fn.hide;
633
+ jQuery.fn.hide = function() {
634
+ ok( true, name + " method called on toggle" );
635
+ return oldHide.apply( this, arguments );
636
+ };
637
+ x.toggle( name === "show" );
638
+ jQuery.fn.hide = oldHide;
639
+ });
640
+
641
+ test("hide hidden elements (bug #7141)", function() {
642
+ expect(3);
643
+ QUnit.reset();
644
+
645
+ var div = jQuery("<div style='display:none'></div>").appendTo("#qunit-fixture");
646
+ equal( div.css("display"), "none", "Element is hidden by default" );
647
+ div.hide();
648
+ ok( !jQuery._data(div, "olddisplay"), "olddisplay is undefined after hiding an already-hidden element" );
649
+ div.show();
650
+ equal( div.css("display"), "block", "Show a double-hidden element" );
651
+
652
+ div.remove();
653
+ });
654
+
655
+ test("jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095)", function () {
656
+ expect(4);
657
+
658
+ var $checkedtest = jQuery("#checkedtest");
659
+ // IE6 was clearing "checked" in jQuery.css(elem, "height");
660
+ jQuery.css($checkedtest[0], "height");
661
+ ok( !! jQuery(":radio:first", $checkedtest).attr("checked"), "Check first radio still checked." );
662
+ ok( ! jQuery(":radio:last", $checkedtest).attr("checked"), "Check last radio still NOT checked." );
663
+ ok( !! jQuery(":checkbox:first", $checkedtest).attr("checked"), "Check first checkbox still checked." );
664
+ ok( ! jQuery(":checkbox:last", $checkedtest).attr("checked"), "Check last checkbox still NOT checked." );
665
+ });
666
+
667
+ test("internal ref to elem.runtimeStyle (bug #7608)", function () {
668
+ expect(1);
669
+ var result = true;
670
+
671
+ try {
672
+ jQuery("#foo").css( { "width": "0%" } ).css("width");
673
+ } catch (e) {
674
+ result = false;
675
+ }
676
+
677
+ ok( result, "elem.runtimeStyle does not throw exception" );
678
+ });
679
+
680
+ test("marginRight computed style (bug #3333)", function() {
681
+ expect(1);
682
+
683
+ var $div = jQuery("#foo");
684
+ $div.css({
685
+ "width": "1px",
686
+ "marginRight": 0
687
+ });
688
+
689
+ equal($div.css("marginRight"), "0px", "marginRight correctly calculated with a width and display block");
690
+ });
691
+
692
+ test("box model properties incorrectly returning % instead of px, see #10639 and #12088", function() {
693
+ expect( 2 );
694
+
695
+ var container = jQuery("<div/>").width( 400 ).appendTo("#qunit-fixture"),
696
+ el = jQuery("<div/>").css({ "width": "50%", "marginRight": "50%" }).appendTo( container ),
697
+ el2 = jQuery("<div/>").css({ "width": "50%", "minWidth": "300px", "marginLeft": "25%" }).appendTo( container );
698
+
699
+ equal( el.css("marginRight"), "200px", "css('marginRight') returning % instead of px, see #10639" );
700
+ equal( el2.css("marginLeft"), "100px", "css('marginLeft') returning incorrect pixel value, see #12088" );
701
+ });
702
+
703
+ test("jQuery.cssProps behavior, (bug #8402)", function() {
704
+ expect( 2 );
705
+
706
+ var div = jQuery( "<div>" ).appendTo(document.body).css({
707
+ "position": "absolute",
708
+ "top": 0,
709
+ "left": 10
710
+ });
711
+ jQuery.cssProps.top = "left";
712
+ equal( div.css("top"), "10px", "the fixed property is used when accessing the computed style");
713
+ div.css("top", "100px");
714
+ equal( div[0].style.left, "100px", "the fixed property is used when setting the style");
715
+ // cleanup jQuery.cssProps
716
+ jQuery.cssProps.top = undefined;
717
+ });
718
+
719
+ test("widows & orphans #8936", function () {
720
+
721
+ var $p = jQuery("<p>").appendTo("#qunit-fixture");
722
+
723
+ if ( "widows" in $p[0].style ) {
724
+ expect(4);
725
+ $p.css({
726
+ "widows": 0,
727
+ "orphans": 0
728
+ });
729
+
730
+ equal( $p.css("widows") || jQuery.style( $p[0], "widows" ), 0, "widows correctly start with value 0");
731
+ equal( $p.css("orphans") || jQuery.style( $p[0], "orphans" ), 0, "orphans correctly start with value 0");
732
+
733
+ $p.css({
734
+ "widows": 3,
735
+ "orphans": 3
736
+ });
737
+
738
+ equal( $p.css("widows") || jQuery.style( $p[0], "widows" ), 3, "widows correctly set to 3");
739
+ equal( $p.css("orphans") || jQuery.style( $p[0], "orphans" ), 3, "orphans correctly set to 3");
740
+ } else {
741
+
742
+ expect(1);
743
+ ok( true, "jQuery does not attempt to test for style props that definitely don't exist in older versions of IE");
744
+ }
745
+
746
+
747
+ $p.remove();
748
+ });
749
+
750
+ test("can't get css for disconnected in IE<9, see #10254 and #8388", function() {
751
+ expect( 2 );
752
+ var span = jQuery( "<span/>" ).css( "background-image", "url(data/1x1.jpg)" );
753
+ notEqual( span.css( "background-image" ), null, "can't get background-image in IE<9, see #10254" );
754
+
755
+ var div = jQuery( "<div/>" ).css( "top", 10 );
756
+ equal( div.css( "top" ), "10px", "can't get top in IE<9, see #8388" );
757
+ });
758
+
759
+ test("can't get background-position in IE<9, see #10796", function() {
760
+ var div = jQuery( "<div/>" ).appendTo( "#qunit-fixture" ),
761
+ units = [
762
+ "0 0",
763
+ "12px 12px",
764
+ "13px 12em",
765
+ "12em 13px",
766
+ "12em center",
767
+ "+12em center",
768
+ "12.2em center",
769
+ "center center"
770
+ ],
771
+ l = units.length,
772
+ i = 0;
773
+
774
+ expect( l );
775
+
776
+ for( ; i < l; i++ ) {
777
+ div.css( "background-position", units [ i ] );
778
+ ok( div.css( "background-position" ), "can't get background-position in IE<9, see #10796" );
779
+ }
780
+ });
781
+
782
+ test("percentage properties for bottom and right in IE<9 should not be incorrectly transformed to pixels, see #11311", function() {
783
+ expect( 1 );
784
+ var div = jQuery("<div style='position: absolute; width: 1px; height: 20px; bottom:50%;'></div>").appendTo( "#qunit-fixture" );
785
+ ok( window.getComputedStyle || div.css( "bottom" ) === "50%", "position properties get incorrectly transformed in IE<8, see #11311" );
786
+ });
787
+
788
+ if ( jQuery.fn.offset ) {
789
+ test("percentage properties for left and top should be transformed to pixels, see #9505", function() {
790
+ expect( 2 );
791
+ var parent = jQuery("<div style='position:relative;width:200px;height:200px;margin:0;padding:0;border-width:0'></div>").appendTo( "#qunit-fixture" ),
792
+ div = jQuery("<div style='position: absolute; width: 20px; height: 20px; top:50%; left:50%'></div>").appendTo( parent );
793
+
794
+ equal( div.css("top"), "100px", "position properties not transformed to pixels, see #9505" );
795
+ equal( div.css("left"), "100px", "position properties not transformed to pixels, see #9505" );
796
+ });
797
+ }
798
+
799
+ test("Do not append px (#9548, #12990)", function() {
800
+ expect( 2 );
801
+
802
+ var $div = jQuery("<div>").appendTo("#qunit-fixture");
803
+
804
+ $div.css( "fill-opacity", 1 );
805
+ equal( $div.css("fill-opacity"), 1, "Do not append px to 'fill-opacity'" );
806
+
807
+ $div.css( "column-count", 1 );
808
+ if ( $div.css("column-count") ) {
809
+ equal( $div.css("column-count"), 1, "Do not append px to 'column-count'" );
810
+ } else {
811
+ ok( true, "No support for column-count CSS property" );
812
+ }
813
+ });
814
+
815
+ test("css('width') and css('height') should respect box-sizing, see #11004", function() {
816
+ expect( 4 );
817
+
818
+ 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>"),
819
+ el = el_dis.clone().appendTo("#qunit-fixture");
820
+
821
+ equal( el.css("width"), el.css("width", el.css("width")).css("width"), "css('width') is not respecting box-sizing, see #11004");
822
+ 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");
823
+ equal( el.css("height"), el.css("height", el.css("height")).css("height"), "css('height') is not respecting box-sizing, see #11004");
824
+ 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");
825
+ });
826
+
827
+ test("certain css values of 'normal' should be convertable to a number, see #8627", function() {
828
+ expect ( 2 );
829
+
830
+ var el = jQuery("<div style='letter-spacing:normal;font-weight:normal;'>test</div>").appendTo("#qunit-fixture");
831
+
832
+ ok( jQuery.isNumeric( parseFloat( el.css("letterSpacing") ) ), "css('letterSpacing') not convertable to number, see #8627" );
833
+ ok( jQuery.isNumeric( parseFloat( el.css("fontWeight") ) ), "css('fontWeight') not convertable to number, see #8627" );
834
+ });
835
+
836
+ // only run this test in IE9
837
+ if ( document.documentMode === 9 ) {
838
+ test( ".css('filter') returns a string in IE9, see #12537", 1, function() {
839
+ equal( jQuery("<div style='-ms-filter:\"progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFF, endColorstr=#ECECEC)\";'></div>").css("filter"), "progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFF, endColorstr=#ECECEC)", "IE9 returns the correct value from css('filter')." );
840
+ });
841
+ }
842
+
843
+ test( "cssHooks - expand", function() {
844
+ expect( 15 );
845
+ var result,
846
+ properties = {
847
+ margin: [ "marginTop", "marginRight", "marginBottom", "marginLeft" ],
848
+ borderWidth: [ "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"],
849
+ padding: [ "paddingTop", "paddingRight", "paddingBottom", "paddingLeft" ]
850
+ };
851
+
852
+ jQuery.each( properties, function( property, keys ) {
853
+ var hook = jQuery.cssHooks[ property ],
854
+ expected = {};
855
+ jQuery.each( keys, function( _, key ) {
856
+ expected[ key ] = 10;
857
+ });
858
+ result = hook.expand( 10 );
859
+ deepEqual( result, expected, property + " expands properly with a number" );
860
+
861
+ jQuery.each( keys, function( _, key ) {
862
+ expected[ key ] = "10px";
863
+ });
864
+ result = hook.expand( "10px" );
865
+ deepEqual( result, expected, property + " expands properly with '10px'" );
866
+
867
+ expected[ keys[1] ] = expected[ keys[3] ] = "20px";
868
+ result = hook.expand( "10px 20px" );
869
+ deepEqual( result, expected, property + " expands properly with '10px 20px'" );
870
+
871
+ expected[ keys[2] ] = "30px";
872
+ result = hook.expand( "10px 20px 30px" );
873
+ deepEqual( result, expected, property + " expands properly with '10px 20px 30px'" );
874
+
875
+ expected[ keys[3] ] = "40px";
876
+ result = hook.expand( "10px 20px 30px 40px" );
877
+ deepEqual( result, expected, property + " expands properly with '10px 20px 30px 40px'" );
878
+
879
+ });
880
+
881
+ });
882
+
883
+ test( "css opacity consistency across browsers (#12685)", function() {
884
+ expect( 4 );
885
+
886
+ var fixture = jQuery("#qunit-fixture"),
887
+ style = jQuery("<style>.opacityWithSpaces_t12685 { opacity: 0.1; filter: alpha(opacity = 10); } .opacityNoSpaces_t12685 { opacity: 0.2; filter: alpha(opacity=20); }</style>").appendTo(fixture),
888
+ el = jQuery("<div class='opacityWithSpaces_t12685'></div>").appendTo(fixture);
889
+
890
+ equal( Math.round( el.css("opacity") * 100 ), 10, "opacity from style sheet (filter:alpha with spaces)" );
891
+ el.removeClass("opacityWithSpaces_t12685").addClass("opacityNoSpaces_t12685");
892
+ equal( Math.round( el.css("opacity") * 100 ), 20, "opacity from style sheet (filter:alpha without spaces)" );
893
+ el.css( "opacity", 0.3 );
894
+ equal( Math.round( el.css("opacity") * 100 ), 30, "override opacity" );
895
+ el.css( "opacity", "" );
896
+ equal( Math.round( el.css("opacity") * 100 ), 20, "remove opacity override" );
897
+ });
898
+
899
+ test( ":visible/:hidden selectors", function() {
900
+ expect( 13 );
901
+
902
+ ok( jQuery("#nothiddendiv").is(":visible"), "Modifying CSS display: Assert element is visible" );
903
+ jQuery("#nothiddendiv").css({ display: "none" });
904
+ ok( !jQuery("#nothiddendiv").is(":visible"), "Modified CSS display: Assert element is hidden" );
905
+ jQuery("#nothiddendiv").css({"display": "block"});
906
+ ok( jQuery("#nothiddendiv").is(":visible"), "Modified CSS display: Assert element is visible");
907
+ ok( jQuery(window).is(":visible"), "Calling is(':visible') on window does not throw an error in IE.");
908
+ ok( jQuery(document).is(":visible"), "Calling is(':visible') on document does not throw an error in IE.");
909
+
910
+ ok( jQuery("#nothiddendiv").is(":visible"), "Modifying CSS display: Assert element is visible");
911
+ jQuery("#nothiddendiv").css("display", "none");
912
+ ok( !jQuery("#nothiddendiv").is(":visible"), "Modified CSS display: Assert element is hidden");
913
+ jQuery("#nothiddendiv").css("display", "block");
914
+ ok( jQuery("#nothiddendiv").is(":visible"), "Modified CSS display: Assert element is visible");
915
+
916
+ // ok( !jQuery("#siblingspan").is(":visible"), "Span with no content not visible (#13132)" );
917
+ // var $newDiv = jQuery("<div><span></span></div>").appendTo("#qunit-fixture");
918
+ // equal( $newDiv.find(":visible").length, 0, "Span with no content not visible (#13132)" );
919
+ // var $br = jQuery("<br/>").appendTo("#qunit-fixture");
920
+ // ok( !$br.is(":visible"), "br element not visible (#10406)");
921
+
922
+ var $table = jQuery("#table");
923
+ $table.html("<tr><td style='display:none'>cell</td><td>cell</td></tr>");
924
+ equal(jQuery("#table td:visible").length, 1, "hidden cell is not perceived as visible (#4512). Works on table elements");
925
+ $table.css("display", "none").html("<tr><td>cell</td><td>cell</td></tr>");
926
+ equal(jQuery("#table td:visible").length, 0, "hidden cell children not perceived as visible (#4512)");
927
+
928
+ t( "Is Visible", "#qunit-fixture div:visible:lt(2)", ["foo", "nothiddendiv"] );
929
+ t( "Is Not Hidden", "#qunit-fixture:hidden", [] );
930
+ t( "Is Hidden", "#form input:hidden", ["hidden1","hidden2"] );
931
+ });
932
+
933
+ asyncTest( "Clearing a Cloned Element's Style Shouldn't Clear the Original Element's Style (#8908)", 24, function() {
934
+ var baseUrl = document.location.href.replace( /([^\/]*)$/, "" ),
935
+ styles = [{
936
+ name: "backgroundAttachment",
937
+ value: ["fixed"],
938
+ expected: [ "scroll" ]
939
+ },{
940
+ name: "backgroundColor",
941
+ value: [ "rgb(255, 0, 0)", "rgb(255,0,0)", "#ff0000" ],
942
+ expected: ["transparent"]
943
+ }, {
944
+ // Firefox returns auto's value
945
+ name: "backgroundImage",
946
+ value: [ "url('test.png')", "url(" + baseUrl + "test.png)", "url(\"" + baseUrl + "test.png\")" ],
947
+ expected: [ "none", "url(\"http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif\")" ]
948
+ }, {
949
+ name: "backgroundPosition",
950
+ value: ["5% 5%"],
951
+ expected: [ "0% 0%", "-1000px 0px", "-1000px 0%" ]
952
+ }, {
953
+ // Firefox returns no-repeat
954
+ name: "backgroundRepeat",
955
+ value: ["repeat-y"],
956
+ expected: [ "repeat", "no-repeat" ]
957
+ }, {
958
+ name: "backgroundClip",
959
+ value: ["padding-box"],
960
+ expected: ["border-box"]
961
+ }, {
962
+ name: "backgroundOrigin",
963
+ value: ["content-box"],
964
+ expected: ["padding-box"]
965
+ }, {
966
+ name: "backgroundSize",
967
+ value: ["80px 60px"],
968
+ expected: [ "auto auto" ]
969
+ }];
970
+
971
+ jQuery.each(styles, function( index, style ) {
972
+ var $clone, $clonedChildren,
973
+ $source = jQuery( "#firstp" ),
974
+ source = $source[ 0 ],
975
+ $children = $source.children();
976
+
977
+ style.expected = style.expected.concat( [ "", "auto" ] );
978
+
979
+ if ( source.style[ style.name ] === undefined ) {
980
+ ok( true, style.name + ": style isn't supported and therefore not an issue" );
981
+ ok( true );
982
+ ok( true );
983
+ return true;
984
+ }
985
+
986
+ $source.css( style.name, style.value[ 0 ] );
987
+ $children.css( style.name, style.value[ 0 ] );
988
+
989
+ $clone = $source.clone();
990
+ $clonedChildren = $clone.children();
991
+
992
+ $clone.css( style.name, "" );
993
+ $clonedChildren.css( style.name, "" );
994
+
995
+ window.setTimeout(function() {
996
+ notEqual( $clone.css( style.name ), style.value[ 0 ], "Cloned css was changed" );
997
+
998
+ ok( jQuery.inArray( $source.css( style.name ) !== -1, style.value ),
999
+ "Clearing clone.css() doesn't affect source.css(): " + style.name +
1000
+ "; result: " + $source.css( style.name ) +
1001
+ "; expected: " + style.value.join( "," ) );
1002
+
1003
+ ok( jQuery.inArray( $children.css( style.name ) !== -1, style.value ),
1004
+ "Clearing clonedChildren.css() doesn't affect children.css(): " + style.name +
1005
+ "; result: " + $children.css( style.name ) +
1006
+ "; expected: " + style.value.join( "," ) );
1007
+ }, 100 );
1008
+ });
1009
+
1010
+ window.setTimeout( start, 1000 );
1011
+ });
1012
+
1013
+ asyncTest( "Make sure initialized display value for disconnected nodes is correct (#13310)", 4, function() {
1014
+ var display = jQuery("#display").css("display"),
1015
+ div = jQuery("<div/>");
1016
+
1017
+ equal( div.css( "display", "inline" ).hide().show().appendTo("body").css( "display" ), "inline", "Initialized display value has returned" );
1018
+ div.remove();
1019
+
1020
+ div.css( "display", "none" ).hide();
1021
+ equal( jQuery._data( div[ 0 ], "olddisplay" ), undefined, "olddisplay is undefined after hiding a detached and hidden element" );
1022
+ div.remove();
1023
+
1024
+ div.css( "display", "inline-block" ).hide().appendTo("body").fadeIn(function() {
1025
+ equal( div.css( "display" ), "inline-block", "Initialized display value has returned" );
1026
+ div.remove();
1027
+
1028
+ start();
1029
+ });
1030
+
1031
+ equal( jQuery._data( jQuery("#display").css( "display", "inline" ).hide()[ 0 ], "olddisplay" ), display,
1032
+ "display: * !Important value should used as initialized display" );
1033
+ jQuery._removeData( jQuery("#display")[ 0 ] );
1034
+ });
1035
+
1036
+ }