lady_josephine 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,146 @@
1
+ module("serialize", { teardown: moduleTeardown });
2
+
3
+ test("jQuery.param()", function() {
4
+ expect(22);
5
+
6
+ equal( !( jQuery.ajaxSettings && jQuery.ajaxSettings.traditional ), true, "traditional flag, falsy by default" );
7
+
8
+ var params = {"foo":"bar", "baz":42, "quux":"All your base are belong to us"};
9
+ equal( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" );
10
+
11
+ params = {"string":"foo","null":null,"undefined":undefined};
12
+ equal( jQuery.param(params), "string=foo&null=&undefined=", "handle nulls and undefineds properly" );
13
+
14
+ params = {"someName": [1, 2, 3], "regularThing": "blah" };
15
+ equal( jQuery.param(params), "someName%5B%5D=1&someName%5B%5D=2&someName%5B%5D=3&regularThing=blah", "with array" );
16
+
17
+ params = {"foo": ["a", "b", "c"]};
18
+ equal( jQuery.param(params), "foo%5B%5D=a&foo%5B%5D=b&foo%5B%5D=c", "with array of strings" );
19
+
20
+ params = {"foo": ["baz", 42, "All your base are belong to us"] };
21
+ equal( jQuery.param(params), "foo%5B%5D=baz&foo%5B%5D=42&foo%5B%5D=All+your+base+are+belong+to+us", "more array" );
22
+
23
+ params = {"foo": { "bar": "baz", "beep": 42, "quux": "All your base are belong to us" } };
24
+ equal( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "even more arrays" );
25
+
26
+ params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
27
+ equal( decodeURIComponent( jQuery.param(params) ), "a[]=1&a[]=2&b[c]=3&b[d][]=4&b[d][]=5&b[e][x][]=6&b[e][y]=7&b[e][z][]=8&b[e][z][]=9&b[f]=true&b[g]=false&b[h]=&i[]=10&i[]=11&j=true&k=false&l[]=&l[]=0&m=cowboy+hat?", "huge structure" );
28
+
29
+ params = { "a": [ 0, [ 1, 2 ], [ 3, [ 4, 5 ], [ 6 ] ], { "b": [ 7, [ 8, 9 ], [ { "c": 10, "d": 11 } ], [ [ 12 ] ], [ [ [ 13 ] ] ], { "e": { "f": { "g": [ 14, [ 15 ] ] } } }, 16 ] }, 17 ] };
30
+ equal( decodeURIComponent( jQuery.param(params) ), "a[]=0&a[1][]=1&a[1][]=2&a[2][]=3&a[2][1][]=4&a[2][1][]=5&a[2][2][]=6&a[3][b][]=7&a[3][b][1][]=8&a[3][b][1][]=9&a[3][b][2][0][c]=10&a[3][b][2][0][d]=11&a[3][b][3][0][]=12&a[3][b][4][0][0][]=13&a[3][b][5][e][f][g][]=14&a[3][b][5][e][f][g][1][]=15&a[3][b][]=16&a[]=17", "nested arrays" );
31
+
32
+ params = { "a":[1,2], "b":{ "c":3, "d":[4,5], "e":{ "x":[6], "y":7, "z":[8,9] }, "f":true, "g":false, "h":undefined }, "i":[10,11], "j":true, "k":false, "l":[undefined,0], "m":"cowboy hat?" };
33
+ equal( jQuery.param(params,true), "a=1&a=2&b=%5Bobject+Object%5D&i=10&i=11&j=true&k=false&l=&l=0&m=cowboy+hat%3F", "huge structure, forced traditional" );
34
+
35
+ equal( decodeURIComponent( jQuery.param({ "a": [1,2,3], "b[]": [4,5,6], "c[d]": [7,8,9], "e": { "f": [10], "g": [11,12], "h": 13 } }) ), "a[]=1&a[]=2&a[]=3&b[]=4&b[]=5&b[]=6&c[d][]=7&c[d][]=8&c[d][]=9&e[f][]=10&e[g][]=11&e[g][]=12&e[h]=13", "Make sure params are not double-encoded." );
36
+
37
+ // #7945
38
+ equal( jQuery.param({"jquery": "1.4.2"}), "jquery=1.4.2", "Check that object with a jQuery property get serialized correctly" );
39
+
40
+ var settings = { traditional: true };
41
+
42
+ if ( jQuery.ajaxSettings ) {
43
+ jQuery.ajaxSetup( settings );
44
+ } else {
45
+ jQuery.ajaxSettings = settings;
46
+ }
47
+
48
+ params = {"foo":"bar", "baz":42, "quux":"All your base are belong to us"};
49
+ equal( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" );
50
+
51
+ params = {"someName": [1, 2, 3], "regularThing": "blah" };
52
+ equal( jQuery.param(params), "someName=1&someName=2&someName=3&regularThing=blah", "with array" );
53
+
54
+ params = {"foo": ["a", "b", "c"]};
55
+ equal( jQuery.param(params), "foo=a&foo=b&foo=c", "with array of strings" );
56
+
57
+ params = {"foo[]":["baz", 42, "All your base are belong to us"]};
58
+ equal( jQuery.param(params), "foo%5B%5D=baz&foo%5B%5D=42&foo%5B%5D=All+your+base+are+belong+to+us", "more array" );
59
+
60
+ params = {"foo[bar]":"baz", "foo[beep]":42, "foo[quux]":"All your base are belong to us"};
61
+ equal( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "even more arrays" );
62
+
63
+ params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
64
+ equal( jQuery.param(params), "a=1&a=2&b=%5Bobject+Object%5D&i=10&i=11&j=true&k=false&l=&l=0&m=cowboy+hat%3F", "huge structure" );
65
+
66
+ params = { "a": [ 0, [ 1, 2 ], [ 3, [ 4, 5 ], [ 6 ] ], { "b": [ 7, [ 8, 9 ], [ { "c": 10, d: 11 } ], [ [ 12 ] ], [ [ [ 13 ] ] ], { "e": { "f": { "g": [ 14, [ 15 ] ] } } }, 16 ] }, 17 ] };
67
+ equal( jQuery.param(params), "a=0&a=1%2C2&a=3%2C4%2C5%2C6&a=%5Bobject+Object%5D&a=17", "nested arrays (not possible when jQuery.param.traditional == true)" );
68
+
69
+ params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
70
+ equal( decodeURIComponent( jQuery.param(params,false) ), "a[]=1&a[]=2&b[c]=3&b[d][]=4&b[d][]=5&b[e][x][]=6&b[e][y]=7&b[e][z][]=8&b[e][z][]=9&b[f]=true&b[g]=false&b[h]=&i[]=10&i[]=11&j=true&k=false&l[]=&l[]=0&m=cowboy+hat?", "huge structure, forced not traditional" );
71
+
72
+ params = { "param1": null };
73
+ equal( jQuery.param(params,false), "param1=", "Make sure that null params aren't traversed." );
74
+
75
+ params = {"test": {"length": 3, "foo": "bar"} };
76
+ equal( jQuery.param( params, false ), "test%5Blength%5D=3&test%5Bfoo%5D=bar", "Sub-object with a length property" );
77
+
78
+ if ( jQuery.ajaxSettings === settings ) {
79
+ delete jQuery.ajaxSettings;
80
+ } else {
81
+ jQuery.ajaxSetup({ traditional: false });
82
+ }
83
+ });
84
+
85
+ test("jQuery.param() Constructed prop values", function() {
86
+ expect( 4 );
87
+
88
+ /** @constructor */
89
+ function Record() {
90
+ this["prop"] = "val";
91
+ }
92
+
93
+ var MyString = String,
94
+ MyNumber = Number,
95
+ params = { "test": new MyString("foo") };
96
+
97
+ equal( jQuery.param( params, false ), "test=foo", "Do not mistake new String() for a plain object" );
98
+
99
+ params = { "test": new MyNumber(5) };
100
+ equal( jQuery.param( params, false ), "test=5", "Do not mistake new Number() for a plain object" );
101
+
102
+ params = { "test": new Date() };
103
+ ok( jQuery.param( params, false ), "(Non empty string returned) Do not mistake new Date() for a plain object" );
104
+
105
+ // should allow non-native constructed objects
106
+ params = { "test": new Record() };
107
+ equal( jQuery.param( params, false ), jQuery.param({ "test": { "prop": "val" } }), "Allow non-native constructed objects" );
108
+ });
109
+
110
+ test("serialize()", function() {
111
+ expect(5);
112
+
113
+ // Add html5 elements only for serialize because selector can't yet find them on non-html5 browsers
114
+ jQuery("#search").after(
115
+ "<input type='email' id='html5email' name='email' value='dave@jquery.com' />" +
116
+ "<input type='number' id='html5number' name='number' value='43' />" +
117
+ "<input type='file' name='fileupload' />"
118
+ );
119
+
120
+ equal( jQuery("#form").serialize(),
121
+ "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3",
122
+ "Check form serialization as query string");
123
+
124
+ equal( jQuery("#form :input").serialize(),
125
+ "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3",
126
+ "Check input serialization as query string");
127
+
128
+ equal( jQuery("#testForm").serialize(),
129
+ "T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
130
+ "Check form serialization as query string");
131
+
132
+ equal( jQuery("#testForm :input").serialize(),
133
+ "T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
134
+ "Check input serialization as query string");
135
+
136
+ equal( jQuery("#form, #testForm").serialize(),
137
+ "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&select5=3&T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
138
+ "Multiple form serialization as query string");
139
+
140
+ /* Temporarily disabled. Opera 10 has problems with form serialization.
141
+ equal( jQuery("#form, #testForm :input").serialize(),
142
+ "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&email=dave%40jquery.com&number=43&select1=&select2=3&select3=1&select3=2&T3=%3F%0D%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
143
+ "Mixed form/input serialization as query string");
144
+ */
145
+ jQuery("#html5email, #html5number").remove();
146
+ });
@@ -0,0 +1,384 @@
1
+ module("support", { teardown: moduleTeardown });
2
+
3
+ test("boxModel", function() {
4
+ expect( 1 );
5
+
6
+ equal( jQuery.support.boxModel, document.compatMode === "CSS1Compat" , "jQuery.support.boxModel is sort of tied to quirks mode but unstable since 1.8" );
7
+ });
8
+
9
+ test( "zoom of doom (#13089)", function() {
10
+ expect( 1 );
11
+
12
+ if ( jQuery.support.inlineBlockNeedsLayout ) {
13
+ ok( document.body.style.zoom, "Added a zoom to the body (#11048, #12869)" );
14
+ } else {
15
+ ok( !document.body.style.zoom, "No zoom added to the body" );
16
+ }
17
+ });
18
+ if ( jQuery.css ) {
19
+ testIframeWithCallback( "body background is not lost if set prior to loading jQuery (#9239)", "support/bodyBackground.html", function( color, support ) {
20
+ expect( 2 );
21
+ var i,
22
+ passed = true,
23
+ okValue = {
24
+ "#000000": true,
25
+ "rgb(0, 0, 0)": true
26
+ };
27
+ ok( okValue[ color ], "color was not reset (" + color + ")" );
28
+
29
+ for ( i in jQuery.support ) {
30
+ if ( jQuery.support[ i ] !== support[ i ] ) {
31
+ passed = false;
32
+ strictEqual( jQuery.support[ i ], support[ i ], "Support property " + i + " is different" );
33
+ }
34
+ }
35
+ for ( i in support ) {
36
+ if ( !( i in jQuery.support ) ) {
37
+ passed = false;
38
+ strictEqual( jQuery.support[ i ], support[ i ], "Unexpected property: " + i );
39
+ }
40
+ }
41
+
42
+ ok( passed, "Same support properties" );
43
+ });
44
+ }
45
+
46
+ testIframeWithCallback( "A background on the testElement does not cause IE8 to crash (#9823)", "support/testElementCrash.html", function() {
47
+ expect(1);
48
+ ok( true, "IE8 does not crash" );
49
+ });
50
+
51
+ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlocks", "support/shrinkWrapBlocks.html", function( shrinkWrapBlocks ) {
52
+ expect( 1 );
53
+ strictEqual( shrinkWrapBlocks, jQuery.support.shrinkWrapBlocks, "jQuery.support.shrinkWrapBlocks properties are the same" );
54
+ });
55
+
56
+ (function() {
57
+ var expected,
58
+ userAgent = window.navigator.userAgent;
59
+
60
+ // These tests do not have to stay
61
+ // They are here to help with upcoming support changes for 1.8
62
+ if ( /chrome/i.test( userAgent ) ) {
63
+ expected = {
64
+ "leadingWhitespace":true,
65
+ "tbody":true,
66
+ "htmlSerialize":true,
67
+ "style":true,
68
+ "hrefNormalized":true,
69
+ "opacity":true,
70
+ "cssFloat":true,
71
+ "checkOn":true,
72
+ "optSelected":true,
73
+ "getSetAttribute":true,
74
+ "enctype":true,
75
+ "html5Clone":true,
76
+ "submitBubbles":true,
77
+ "changeBubbles":true,
78
+ "focusinBubbles":false,
79
+ "deleteExpando":true,
80
+ "noCloneEvent":true,
81
+ "inlineBlockNeedsLayout":false,
82
+ "shrinkWrapBlocks":false,
83
+ "reliableMarginRight":true,
84
+ "noCloneChecked":true,
85
+ "optDisabled":true,
86
+ "radioValue":true,
87
+ "checkClone":true,
88
+ "appendChecked":true,
89
+ "boxModel":true,
90
+ "reliableHiddenOffsets":true,
91
+ "ajax":true,
92
+ "cors":true,
93
+ "doesNotIncludeMarginInBodyOffset":true,
94
+ "clearCloneStyle": true
95
+ };
96
+ } else if ( /opera.*version\/12\.1/i.test( userAgent ) ) {
97
+ expected = {
98
+ "leadingWhitespace":true,
99
+ "tbody":true,
100
+ "htmlSerialize":true,
101
+ "style":true,
102
+ "hrefNormalized":true,
103
+ "opacity":true,
104
+ "cssFloat":true,
105
+ "checkOn":true,
106
+ "optSelected":true,
107
+ "getSetAttribute":true,
108
+ "enctype":true,
109
+ "html5Clone":true,
110
+ "submitBubbles":true,
111
+ "changeBubbles":true,
112
+ "focusinBubbles":false,
113
+ "deleteExpando":true,
114
+ "noCloneEvent":true,
115
+ "inlineBlockNeedsLayout":false,
116
+ "shrinkWrapBlocks":false,
117
+ "reliableMarginRight":true,
118
+ "noCloneChecked":true,
119
+ "optDisabled":true,
120
+ "radioValue":false,
121
+ "checkClone":true,
122
+ "appendChecked":true,
123
+ "boxModel":true,
124
+ "reliableHiddenOffsets":true,
125
+ "ajax":true,
126
+ "cors":true,
127
+ "doesNotIncludeMarginInBodyOffset":true,
128
+ "clearCloneStyle": true
129
+ };
130
+ } else if ( /msie 10\.0/i.test( userAgent ) ) {
131
+ expected = {
132
+ "leadingWhitespace":true,
133
+ "tbody":true,
134
+ "htmlSerialize":true,
135
+ "style":true,
136
+ "hrefNormalized":true,
137
+ "opacity":true,
138
+ "cssFloat":true,
139
+ "checkOn":true,
140
+ "optSelected":false,
141
+ "getSetAttribute":true,
142
+ "enctype":true,
143
+ "html5Clone":true,
144
+ "submitBubbles":true,
145
+ "changeBubbles":true,
146
+ "focusinBubbles":true,
147
+ "deleteExpando":true,
148
+ "noCloneEvent":true,
149
+ "inlineBlockNeedsLayout":false,
150
+ "shrinkWrapBlocks":false,
151
+ "reliableMarginRight":true,
152
+ "noCloneChecked":false,
153
+ "optDisabled":true,
154
+ "radioValue":false,
155
+ "checkClone":true,
156
+ "appendChecked":true,
157
+ "boxModel":true,
158
+ "reliableHiddenOffsets":true,
159
+ "ajax":true,
160
+ "cors":true,
161
+ "doesNotIncludeMarginInBodyOffset":true,
162
+ "clearCloneStyle": false
163
+ };
164
+ } else if ( /msie 9\.0/i.test( userAgent ) ) {
165
+ expected = {
166
+ "leadingWhitespace":true,
167
+ "tbody":true,
168
+ "htmlSerialize":true,
169
+ "style":true,
170
+ "hrefNormalized":true,
171
+ "opacity":true,
172
+ "cssFloat":true,
173
+ "checkOn":true,
174
+ "optSelected":false,
175
+ "getSetAttribute":true,
176
+ "enctype":true,
177
+ "html5Clone":true,
178
+ "submitBubbles":true,
179
+ "changeBubbles":true,
180
+ "focusinBubbles":true,
181
+ "deleteExpando":true,
182
+ "noCloneEvent":true,
183
+ "inlineBlockNeedsLayout":false,
184
+ "shrinkWrapBlocks":false,
185
+ "reliableMarginRight":true,
186
+ "noCloneChecked":false,
187
+ "optDisabled":true,
188
+ "radioValue":false,
189
+ "checkClone":true,
190
+ "appendChecked":true,
191
+ "boxModel":true,
192
+ "reliableHiddenOffsets":true,
193
+ "ajax":true,
194
+ "cors":false,
195
+ "doesNotIncludeMarginInBodyOffset":true,
196
+ "clearCloneStyle": false
197
+ };
198
+ } else if ( /msie 8\.0/i.test( userAgent ) ) {
199
+ expected = {
200
+ "leadingWhitespace":false,
201
+ "tbody":true,
202
+ "htmlSerialize":false,
203
+ "style":false,
204
+ "hrefNormalized":true,
205
+ "opacity":false,
206
+ "cssFloat":false,
207
+ "checkOn":true,
208
+ "optSelected":false,
209
+ "getSetAttribute":true,
210
+ "enctype":true,
211
+ "html5Clone":false,
212
+ "submitBubbles":false,
213
+ "changeBubbles":false,
214
+ "focusinBubbles":true,
215
+ "deleteExpando":false,
216
+ "noCloneEvent":false,
217
+ "inlineBlockNeedsLayout":false,
218
+ "shrinkWrapBlocks":false,
219
+ "reliableMarginRight":true,
220
+ "noCloneChecked":false,
221
+ "optDisabled":true,
222
+ "radioValue":false,
223
+ "checkClone":true,
224
+ "appendChecked":true,
225
+ "boxModel":true,
226
+ "reliableHiddenOffsets":false,
227
+ "ajax":true,
228
+ "cors":false,
229
+ "doesNotIncludeMarginInBodyOffset":true,
230
+ "clearCloneStyle": true
231
+ };
232
+ } else if ( /msie 7\.0/i.test( userAgent ) ) {
233
+ expected = {
234
+ "ajax": true,
235
+ "appendChecked": false,
236
+ "boxModel": true,
237
+ "changeBubbles": false,
238
+ "checkClone": false,
239
+ "checkOn": true,
240
+ "cors": false,
241
+ "cssFloat": false,
242
+ "deleteExpando": false,
243
+ "doesNotIncludeMarginInBodyOffset": true,
244
+ "enctype": true,
245
+ "focusinBubbles": true,
246
+ "getSetAttribute": false,
247
+ "hrefNormalized": false,
248
+ "html5Clone": false,
249
+ "htmlSerialize": false,
250
+ "inlineBlockNeedsLayout": true,
251
+ "leadingWhitespace": false,
252
+ "noCloneChecked": false,
253
+ "noCloneEvent": false,
254
+ "opacity": false,
255
+ "optDisabled": true,
256
+ "optSelected": false,
257
+ "radioValue": false,
258
+ "reliableHiddenOffsets": false,
259
+ "reliableMarginRight": true,
260
+ "shrinkWrapBlocks": false,
261
+ "submitBubbles": false,
262
+ "tbody": false,
263
+ "style": false,
264
+ "clearCloneStyle": true
265
+ };
266
+ } else if ( /msie 6\.0/i.test( userAgent ) ) {
267
+ expected = {
268
+ "leadingWhitespace":false,
269
+ "tbody":false,
270
+ "htmlSerialize":false,
271
+ "style":false,
272
+ "hrefNormalized":false,
273
+ "opacity":false,
274
+ "cssFloat":false,
275
+ "checkOn":true,
276
+ "optSelected":false,
277
+ "getSetAttribute":false,
278
+ "enctype":true,
279
+ "html5Clone":false,
280
+ "submitBubbles":false,
281
+ "changeBubbles":false,
282
+ "focusinBubbles":true,
283
+ "deleteExpando":false,
284
+ "noCloneEvent":false,
285
+ "inlineBlockNeedsLayout":true,
286
+ "shrinkWrapBlocks":true,
287
+ "reliableMarginRight":true,
288
+ "noCloneChecked":false,
289
+ "optDisabled":true,
290
+ "radioValue":false,
291
+ "checkClone":false,
292
+ "appendChecked":false,
293
+ "boxModel":true,
294
+ "reliableHiddenOffsets":false,
295
+ "ajax":true,
296
+ "cors":false,
297
+ "doesNotIncludeMarginInBodyOffset":true,
298
+ "clearCloneStyle": true
299
+ };
300
+ } else if ( /5\.1\.1 safari/i.test( userAgent ) ) {
301
+ expected = {
302
+ "leadingWhitespace":true,
303
+ "tbody":true,
304
+ "htmlSerialize":true,
305
+ "style":true,
306
+ "hrefNormalized":true,
307
+ "opacity":true,
308
+ "cssFloat":true,
309
+ "checkOn":false,
310
+ "optSelected":true,
311
+ "getSetAttribute":true,
312
+ "enctype":true,
313
+ "html5Clone":true,
314
+ "submitBubbles":true,
315
+ "changeBubbles":true,
316
+ "focusinBubbles":false,
317
+ "deleteExpando":true,
318
+ "noCloneEvent":true,
319
+ "inlineBlockNeedsLayout":false,
320
+ "shrinkWrapBlocks":false,
321
+ "reliableMarginRight":true,
322
+ "noCloneChecked":true,
323
+ "optDisabled":true,
324
+ "radioValue":true,
325
+ "checkClone":false,
326
+ "appendChecked":false,
327
+ "boxModel":true,
328
+ "reliableHiddenOffsets":true,
329
+ "ajax":true,
330
+ "cors":true,
331
+ "doesNotIncludeMarginInBodyOffset":true,
332
+ "clearCloneStyle": true
333
+ };
334
+ } else if ( /firefox/i.test( userAgent ) ) {
335
+ expected = {
336
+ "leadingWhitespace":true,
337
+ "tbody":true,
338
+ "htmlSerialize":true,
339
+ "style":true,
340
+ "hrefNormalized":true,
341
+ "opacity":true,
342
+ "cssFloat":true,
343
+ "checkOn":true,
344
+ "optSelected":true,
345
+ "getSetAttribute":true,
346
+ "enctype":true,
347
+ "html5Clone":true,
348
+ "submitBubbles":true,
349
+ "changeBubbles":true,
350
+ "focusinBubbles":false,
351
+ "deleteExpando":true,
352
+ "noCloneEvent":true,
353
+ "inlineBlockNeedsLayout":false,
354
+ "shrinkWrapBlocks":false,
355
+ "reliableMarginRight":true,
356
+ "noCloneChecked":true,
357
+ "optDisabled":true,
358
+ "radioValue":true,
359
+ "checkClone":true,
360
+ "appendChecked":true,
361
+ "boxModel":true,
362
+ "reliableHiddenOffsets":true,
363
+ "ajax":true,
364
+ "cors":true,
365
+ "doesNotIncludeMarginInBodyOffset":true,
366
+ "clearCloneStyle": true
367
+ };
368
+ }
369
+
370
+ if ( expected ) {
371
+ test("Verify that the support tests resolve as expected per browser", function() {
372
+ expect( 31 );
373
+
374
+ for ( var i in expected ) {
375
+ if ( jQuery.ajax || i !== "ajax" && i !== "cors" ) {
376
+ equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
377
+ } else {
378
+ ok( true, "no ajax; skipping jQuery.support['" + i + "']" );
379
+ }
380
+ }
381
+ });
382
+ }
383
+
384
+ })();