unpoly-rails 0.61.1 → 2.0.0.pre.rc4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of unpoly-rails might be problematic. Click here for more details.

Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/CHANGELOG.md +85 -2
  4. data/README.md +3 -11
  5. data/README_RAILS.md +295 -14
  6. data/dist/unpoly-bootstrap3.css +9 -14
  7. data/dist/unpoly-bootstrap3.js +4 -18
  8. data/dist/unpoly-bootstrap3.min.css +1 -1
  9. data/dist/unpoly-bootstrap3.min.js +1 -1
  10. data/dist/unpoly-bootstrap4.css +9 -0
  11. data/dist/unpoly-bootstrap4.js +16 -0
  12. data/dist/unpoly-bootstrap4.min.css +1 -0
  13. data/dist/unpoly-bootstrap4.min.js +1 -0
  14. data/dist/unpoly-bootstrap5.css +9 -0
  15. data/dist/unpoly-bootstrap5.js +14 -0
  16. data/dist/unpoly-bootstrap5.min.css +1 -0
  17. data/dist/unpoly-bootstrap5.min.js +1 -0
  18. data/dist/unpoly-migrate.js +1213 -0
  19. data/dist/unpoly-migrate.min.js +1 -0
  20. data/dist/unpoly.css +109 -140
  21. data/dist/unpoly.js +15368 -10444
  22. data/dist/unpoly.min.css +1 -1
  23. data/dist/unpoly.min.js +6 -4
  24. data/lib/unpoly-rails.rb +9 -3
  25. data/lib/unpoly/rails/change.rb +372 -0
  26. data/lib/unpoly/rails/change/cache.rb +26 -0
  27. data/lib/unpoly/rails/change/context.rb +80 -0
  28. data/lib/unpoly/rails/change/field.rb +117 -0
  29. data/lib/unpoly/rails/change/field_definition.rb +74 -0
  30. data/lib/unpoly/rails/change/layer.rb +60 -0
  31. data/lib/unpoly/rails/controller.rb +47 -0
  32. data/lib/unpoly/rails/error.rb +5 -0
  33. data/lib/unpoly/rails/request_echo_headers.rb +2 -2
  34. data/lib/unpoly/rails/version.rb +1 -1
  35. data/lib/unpoly/tasks.rb +45 -0
  36. metadata +43 -313
  37. data/.gitignore +0 -10
  38. data/.ruby-version +0 -1
  39. data/Gemfile +0 -8
  40. data/Gemfile.lock +0 -45
  41. data/Rakefile +0 -145
  42. data/bower.json +0 -27
  43. data/design/animation-ghosting.txt +0 -72
  44. data/design/design.txt +0 -34
  45. data/design/draft.html.erb +0 -48
  46. data/design/draft.rb +0 -9
  47. data/design/es6.js +0 -32
  48. data/design/ghost-debugging.txt +0 -118
  49. data/design/homepage.txt +0 -236
  50. data/design/ie11.txt +0 -9
  51. data/design/measure_import_node.js +0 -330
  52. data/design/measure_jquery/element_list.js +0 -41
  53. data/design/measure_jquery/up.on_vs_addEventListener.js +0 -56
  54. data/design/positioning.txt +0 -28
  55. data/design/query-params-in-form-actions/cases.html +0 -125
  56. data/design/rename.txt +0 -0
  57. data/design/test_rejected_promise.txt +0 -5
  58. data/design/unpoly errors.txt +0 -19
  59. data/lib/assets/javascripts/unpoly-bootstrap3.coffee +0 -2
  60. data/lib/assets/javascripts/unpoly-bootstrap3/feedback-ext.coffee +0 -5
  61. data/lib/assets/javascripts/unpoly-bootstrap3/form-ext.coffee +0 -1
  62. data/lib/assets/javascripts/unpoly-bootstrap3/modal-ext.coffee +0 -14
  63. data/lib/assets/javascripts/unpoly-bootstrap3/viewport-ext.coffee +0 -5
  64. data/lib/assets/javascripts/unpoly.coffee +0 -28
  65. data/lib/assets/javascripts/unpoly/browser.coffee.erb +0 -240
  66. data/lib/assets/javascripts/unpoly/classes/body_shifter.coffee +0 -36
  67. data/lib/assets/javascripts/unpoly/classes/cache.coffee +0 -127
  68. data/lib/assets/javascripts/unpoly/classes/compile_pass.coffee +0 -93
  69. data/lib/assets/javascripts/unpoly/classes/config.coffee +0 -9
  70. data/lib/assets/javascripts/unpoly/classes/css_transition.coffee +0 -118
  71. data/lib/assets/javascripts/unpoly/classes/divertible_chain.coffee +0 -39
  72. data/lib/assets/javascripts/unpoly/classes/event_listener.coffee +0 -116
  73. data/lib/assets/javascripts/unpoly/classes/extract_cascade.coffee +0 -86
  74. data/lib/assets/javascripts/unpoly/classes/extract_plan.coffee +0 -111
  75. data/lib/assets/javascripts/unpoly/classes/field_observer.coffee +0 -80
  76. data/lib/assets/javascripts/unpoly/classes/focus_follower.coffee +0 -29
  77. data/lib/assets/javascripts/unpoly/classes/follow_variant.coffee +0 -56
  78. data/lib/assets/javascripts/unpoly/classes/html_parser.coffee +0 -46
  79. data/lib/assets/javascripts/unpoly/classes/motion_controller.coffee +0 -157
  80. data/lib/assets/javascripts/unpoly/classes/params.coffee.erb +0 -543
  81. data/lib/assets/javascripts/unpoly/classes/record.coffee +0 -22
  82. data/lib/assets/javascripts/unpoly/classes/rect.js +0 -21
  83. data/lib/assets/javascripts/unpoly/classes/request.coffee +0 -246
  84. data/lib/assets/javascripts/unpoly/classes/response.coffee +0 -157
  85. data/lib/assets/javascripts/unpoly/classes/reveal_motion.coffee +0 -102
  86. data/lib/assets/javascripts/unpoly/classes/scroll_motion.coffee +0 -67
  87. data/lib/assets/javascripts/unpoly/classes/selector.coffee +0 -60
  88. data/lib/assets/javascripts/unpoly/classes/store/memory.coffee +0 -26
  89. data/lib/assets/javascripts/unpoly/classes/store/session.coffee +0 -59
  90. data/lib/assets/javascripts/unpoly/classes/tether.coffee +0 -105
  91. data/lib/assets/javascripts/unpoly/classes/url_set.coffee +0 -32
  92. data/lib/assets/javascripts/unpoly/cookie.coffee +0 -56
  93. data/lib/assets/javascripts/unpoly/element.coffee.erb +0 -1126
  94. data/lib/assets/javascripts/unpoly/event.coffee.erb +0 -445
  95. data/lib/assets/javascripts/unpoly/feedback.coffee +0 -353
  96. data/lib/assets/javascripts/unpoly/form.coffee.erb +0 -1069
  97. data/lib/assets/javascripts/unpoly/fragment.coffee.erb +0 -927
  98. data/lib/assets/javascripts/unpoly/framework.coffee +0 -67
  99. data/lib/assets/javascripts/unpoly/history.coffee +0 -268
  100. data/lib/assets/javascripts/unpoly/legacy.coffee +0 -60
  101. data/lib/assets/javascripts/unpoly/link.coffee.erb +0 -622
  102. data/lib/assets/javascripts/unpoly/log.coffee +0 -248
  103. data/lib/assets/javascripts/unpoly/modal.coffee.erb +0 -825
  104. data/lib/assets/javascripts/unpoly/motion.coffee.erb +0 -668
  105. data/lib/assets/javascripts/unpoly/namespace.coffee.erb +0 -5
  106. data/lib/assets/javascripts/unpoly/popup.coffee.erb +0 -515
  107. data/lib/assets/javascripts/unpoly/protocol.coffee +0 -298
  108. data/lib/assets/javascripts/unpoly/proxy.coffee +0 -672
  109. data/lib/assets/javascripts/unpoly/radio.coffee +0 -60
  110. data/lib/assets/javascripts/unpoly/rails.coffee +0 -24
  111. data/lib/assets/javascripts/unpoly/syntax.coffee.erb +0 -477
  112. data/lib/assets/javascripts/unpoly/toast.coffee +0 -67
  113. data/lib/assets/javascripts/unpoly/tooltip.coffee +0 -276
  114. data/lib/assets/javascripts/unpoly/util.coffee.erb +0 -1676
  115. data/lib/assets/javascripts/unpoly/viewport.coffee.erb +0 -830
  116. data/lib/assets/stylesheets/unpoly-bootstrap3.sass +0 -1
  117. data/lib/assets/stylesheets/unpoly-bootstrap3/modal-ext.sass +0 -27
  118. data/lib/assets/stylesheets/unpoly.sass +0 -1
  119. data/lib/assets/stylesheets/unpoly/close.sass +0 -2
  120. data/lib/assets/stylesheets/unpoly/dom.sass +0 -5
  121. data/lib/assets/stylesheets/unpoly/layout.sass +0 -2
  122. data/lib/assets/stylesheets/unpoly/link.sass +0 -2
  123. data/lib/assets/stylesheets/unpoly/modal.sass +0 -116
  124. data/lib/assets/stylesheets/unpoly/popup.sass +0 -7
  125. data/lib/assets/stylesheets/unpoly/toast.sass +0 -33
  126. data/lib/assets/stylesheets/unpoly/tooltip.sass +0 -62
  127. data/lib/unpoly/rails/inspector.rb +0 -149
  128. data/lib/unpoly/rails/inspector_accessor.rb +0 -30
  129. data/package.json +0 -38
  130. data/spec_app/.firefox-version +0 -1
  131. data/spec_app/.gitignore +0 -17
  132. data/spec_app/.rspec +0 -2
  133. data/spec_app/Gemfile +0 -30
  134. data/spec_app/Gemfile.lock +0 -229
  135. data/spec_app/README.rdoc +0 -28
  136. data/spec_app/Rakefile +0 -6
  137. data/spec_app/app/assets/images/.keep +0 -0
  138. data/spec_app/app/assets/images/favicon.png +0 -0
  139. data/spec_app/app/assets/images/grid.png +0 -0
  140. data/spec_app/app/assets/javascripts/bootstrap_manifest.coffee +0 -6
  141. data/spec_app/app/assets/javascripts/integration_test.coffee +0 -6
  142. data/spec_app/app/assets/javascripts/jasmine_specs.coffee +0 -6
  143. data/spec_app/app/assets/stylesheets/_helpers.sass +0 -5
  144. data/spec_app/app/assets/stylesheets/bootstrap_manifest.sass +0 -2
  145. data/spec_app/app/assets/stylesheets/integration_test.sass +0 -88
  146. data/spec_app/app/assets/stylesheets/jasmine_specs.sass +0 -20
  147. data/spec_app/app/controllers/application_controller.rb +0 -14
  148. data/spec_app/app/controllers/binding_test_controller.rb +0 -51
  149. data/spec_app/app/controllers/compiler_test_controller.rb +0 -5
  150. data/spec_app/app/controllers/css_test_controller.rb +0 -5
  151. data/spec_app/app/controllers/error_test_controller.rb +0 -5
  152. data/spec_app/app/controllers/form_test/basics_controller.rb +0 -14
  153. data/spec_app/app/controllers/form_test/redirects_controller.rb +0 -17
  154. data/spec_app/app/controllers/form_test/uploads_controller.rb +0 -15
  155. data/spec_app/app/controllers/hash_test_controller.rb +0 -5
  156. data/spec_app/app/controllers/method_test_controller.rb +0 -16
  157. data/spec_app/app/controllers/motion_test_controller.rb +0 -5
  158. data/spec_app/app/controllers/pages_controller.rb +0 -9
  159. data/spec_app/app/controllers/replace_test_controller.rb +0 -5
  160. data/spec_app/app/controllers/reveal_test_controller.rb +0 -5
  161. data/spec_app/app/controllers/scroll_test_controller.rb +0 -5
  162. data/spec_app/app/helpers/application_helper.rb +0 -2
  163. data/spec_app/app/mailers/.keep +0 -0
  164. data/spec_app/app/models/concerns/.keep +0 -0
  165. data/spec_app/app/views/compiler_test/timestamp.erb +0 -9
  166. data/spec_app/app/views/css_test/modal.erb +0 -47
  167. data/spec_app/app/views/css_test/modal_contents.erb +0 -5
  168. data/spec_app/app/views/css_test/modal_contents_wide.erb +0 -5
  169. data/spec_app/app/views/css_test/popup.erb +0 -81
  170. data/spec_app/app/views/css_test/popup_contents.erb +0 -5
  171. data/spec_app/app/views/css_test/tooltip.erb +0 -48
  172. data/spec_app/app/views/error_test/trigger.erb +0 -80
  173. data/spec_app/app/views/error_test/unexpected_response.erb +0 -3
  174. data/spec_app/app/views/form_test/basics/new.erb +0 -60
  175. data/spec_app/app/views/form_test/redirects/new.erb +0 -27
  176. data/spec_app/app/views/form_test/redirects/target.erb +0 -4
  177. data/spec_app/app/views/form_test/submission_result.erb +0 -30
  178. data/spec_app/app/views/form_test/uploads/new.erb +0 -44
  179. data/spec_app/app/views/hash_test/unpoly.erb +0 -30
  180. data/spec_app/app/views/hash_test/vanilla.erb +0 -13
  181. data/spec_app/app/views/layouts/integration_test.erb +0 -22
  182. data/spec_app/app/views/layouts/jasmine_rails/spec_runner.html.erb +0 -20
  183. data/spec_app/app/views/method_test/form_target.erb +0 -17
  184. data/spec_app/app/views/method_test/page1.erb +0 -11
  185. data/spec_app/app/views/method_test/page2.erb +0 -6
  186. data/spec_app/app/views/motion_test/animations.erb +0 -16
  187. data/spec_app/app/views/motion_test/transitions.erb +0 -13
  188. data/spec_app/app/views/pages/start.erb +0 -79
  189. data/spec_app/app/views/replace_test/_nav.erb +0 -6
  190. data/spec_app/app/views/replace_test/page1.erb +0 -14
  191. data/spec_app/app/views/replace_test/page2.erb +0 -14
  192. data/spec_app/app/views/replace_test/table.erb +0 -16
  193. data/spec_app/app/views/reveal_test/long1.erb +0 -17
  194. data/spec_app/app/views/reveal_test/long2.erb +0 -17
  195. data/spec_app/app/views/reveal_test/within_document_viewport.erb +0 -24
  196. data/spec_app/app/views/reveal_test/within_overflowing_div_viewport.erb +0 -28
  197. data/spec_app/app/views/scroll_test/long1.erb +0 -30
  198. data/spec_app/bin/bundle +0 -3
  199. data/spec_app/bin/rails +0 -8
  200. data/spec_app/bin/rake +0 -8
  201. data/spec_app/bin/setup +0 -29
  202. data/spec_app/bin/spring +0 -18
  203. data/spec_app/config.ru +0 -4
  204. data/spec_app/config/application.rb +0 -28
  205. data/spec_app/config/boot.rb +0 -3
  206. data/spec_app/config/database.yml +0 -25
  207. data/spec_app/config/environment.rb +0 -5
  208. data/spec_app/config/environments/development.rb +0 -41
  209. data/spec_app/config/environments/production.rb +0 -79
  210. data/spec_app/config/environments/test.rb +0 -42
  211. data/spec_app/config/initializers/assets.rb +0 -19
  212. data/spec_app/config/initializers/backtrace_silencers.rb +0 -7
  213. data/spec_app/config/initializers/bower_rails.rb +0 -16
  214. data/spec_app/config/initializers/cookies_serializer.rb +0 -3
  215. data/spec_app/config/initializers/filter_parameter_logging.rb +0 -4
  216. data/spec_app/config/initializers/inflections.rb +0 -16
  217. data/spec_app/config/initializers/mime_types.rb +0 -4
  218. data/spec_app/config/initializers/session_store.rb +0 -3
  219. data/spec_app/config/initializers/wrap_parameters.rb +0 -14
  220. data/spec_app/config/locales/en.yml +0 -23
  221. data/spec_app/config/routes.rb +0 -30
  222. data/spec_app/config/secrets.yml +0 -22
  223. data/spec_app/db/schema.rb +0 -23
  224. data/spec_app/db/seeds.rb +0 -7
  225. data/spec_app/lib/assets/.keep +0 -0
  226. data/spec_app/lib/tasks/.keep +0 -0
  227. data/spec_app/lib/tasks/cucumber.rake +0 -65
  228. data/spec_app/log/.keep +0 -0
  229. data/spec_app/public/404.html +0 -67
  230. data/spec_app/public/422.html +0 -67
  231. data/spec_app/public/500.html +0 -66
  232. data/spec_app/public/favicon.ico +0 -0
  233. data/spec_app/public/robots.txt +0 -5
  234. data/spec_app/script/cucumber +0 -10
  235. data/spec_app/spec/controllers/binding_test_controller_spec.rb +0 -248
  236. data/spec_app/spec/javascripts/helpers/agent_detector.coffee +0 -20
  237. data/spec_app/spec/javascripts/helpers/async_sequence.js.coffee +0 -103
  238. data/spec_app/spec/javascripts/helpers/browser_switches.js.coffee +0 -21
  239. data/spec_app/spec/javascripts/helpers/enable_logging.js.coffee +0 -2
  240. data/spec_app/spec/javascripts/helpers/fixture.js.coffee +0 -25
  241. data/spec_app/spec/javascripts/helpers/index.js.coffee +0 -1
  242. data/spec_app/spec/javascripts/helpers/jquery_no_conflict.js +0 -1
  243. data/spec_app/spec/javascripts/helpers/knife.js.coffee +0 -69
  244. data/spec_app/spec/javascripts/helpers/last_request.js.coffee +0 -25
  245. data/spec_app/spec/javascripts/helpers/mock_ajax.js.coffee +0 -8
  246. data/spec_app/spec/javascripts/helpers/mock_clock.js.coffee +0 -2
  247. data/spec_app/spec/javascripts/helpers/parse_form_data.js.coffee +0 -24
  248. data/spec_app/spec/javascripts/helpers/promise_state.js +0 -18
  249. data/spec_app/spec/javascripts/helpers/protect_jasmine_runner.coffee +0 -12
  250. data/spec_app/spec/javascripts/helpers/remove_body_margin.js.coffee +0 -8
  251. data/spec_app/spec/javascripts/helpers/reset_history.js.coffee +0 -23
  252. data/spec_app/spec/javascripts/helpers/reset_knife.js.coffee +0 -2
  253. data/spec_app/spec/javascripts/helpers/reset_up.js.coffee +0 -25
  254. data/spec_app/spec/javascripts/helpers/restore_body_scroll.js.coffee +0 -5
  255. data/spec_app/spec/javascripts/helpers/show_lib_versions.coffee +0 -12
  256. data/spec_app/spec/javascripts/helpers/spec_util.coffee +0 -47
  257. data/spec_app/spec/javascripts/helpers/to_be_around.js.coffee +0 -8
  258. data/spec_app/spec/javascripts/helpers/to_be_array.coffee +0 -5
  259. data/spec_app/spec/javascripts/helpers/to_be_attached.coffee +0 -9
  260. data/spec_app/spec/javascripts/helpers/to_be_blank.js.coffee +0 -8
  261. data/spec_app/spec/javascripts/helpers/to_be_detached.coffee +0 -9
  262. data/spec_app/spec/javascripts/helpers/to_be_element.js.coffee +0 -8
  263. data/spec_app/spec/javascripts/helpers/to_be_error.coffee +0 -8
  264. data/spec_app/spec/javascripts/helpers/to_be_given.js.coffee +0 -8
  265. data/spec_app/spec/javascripts/helpers/to_be_hidden.js.coffee +0 -8
  266. data/spec_app/spec/javascripts/helpers/to_be_jquery.js.coffee +0 -5
  267. data/spec_app/spec/javascripts/helpers/to_be_missing.js.coffee +0 -8
  268. data/spec_app/spec/javascripts/helpers/to_be_present.js.coffee +0 -8
  269. data/spec_app/spec/javascripts/helpers/to_be_scrolled_to.coffee +0 -11
  270. data/spec_app/spec/javascripts/helpers/to_be_visible.js.coffee +0 -9
  271. data/spec_app/spec/javascripts/helpers/to_contain.js.coffee +0 -8
  272. data/spec_app/spec/javascripts/helpers/to_end_with.js.coffee +0 -11
  273. data/spec_app/spec/javascripts/helpers/to_equal_jquery.js.coffee +0 -8
  274. data/spec_app/spec/javascripts/helpers/to_equal_node_list.coffee +0 -7
  275. data/spec_app/spec/javascripts/helpers/to_equal_via_is_equal.js.coffee +0 -7
  276. data/spec_app/spec/javascripts/helpers/to_have_class.js.coffee +0 -10
  277. data/spec_app/spec/javascripts/helpers/to_have_descendant.js.coffee +0 -10
  278. data/spec_app/spec/javascripts/helpers/to_have_length.js.coffee +0 -8
  279. data/spec_app/spec/javascripts/helpers/to_have_opacity.coffee +0 -15
  280. data/spec_app/spec/javascripts/helpers/to_have_own_property.js.coffee +0 -8
  281. data/spec_app/spec/javascripts/helpers/to_have_request_method.js.coffee +0 -16
  282. data/spec_app/spec/javascripts/helpers/to_have_text.js.coffee +0 -9
  283. data/spec_app/spec/javascripts/helpers/to_have_unhandled_rejections.coffee +0 -18
  284. data/spec_app/spec/javascripts/helpers/to_match_list.coffee +0 -14
  285. data/spec_app/spec/javascripts/helpers/to_match_selector.coffee +0 -8
  286. data/spec_app/spec/javascripts/helpers/to_match_text.js.coffee +0 -13
  287. data/spec_app/spec/javascripts/helpers/to_match_url.coffee +0 -14
  288. data/spec_app/spec/javascripts/helpers/trigger.js.coffee +0 -200
  289. data/spec_app/spec/javascripts/helpers/wait_until_dom_ready.js.coffee +0 -5
  290. data/spec_app/spec/javascripts/support/jasmine.yml +0 -51
  291. data/spec_app/spec/javascripts/up/browser_spec.js.coffee +0 -150
  292. data/spec_app/spec/javascripts/up/classes/cache_spec.js.coffee +0 -82
  293. data/spec_app/spec/javascripts/up/classes/config_spec.coffee +0 -24
  294. data/spec_app/spec/javascripts/up/classes/divertible_chain_spec.coffee +0 -45
  295. data/spec_app/spec/javascripts/up/classes/focus_tracker_spec.coffee +0 -34
  296. data/spec_app/spec/javascripts/up/classes/params_spec.coffee +0 -557
  297. data/spec_app/spec/javascripts/up/classes/request_spec.coffee +0 -50
  298. data/spec_app/spec/javascripts/up/classes/scroll_motion_spec.js.coffee +0 -51
  299. data/spec_app/spec/javascripts/up/classes/store/memory_spec.js.coffee +0 -70
  300. data/spec_app/spec/javascripts/up/classes/store/session_spec.js.coffee +0 -114
  301. data/spec_app/spec/javascripts/up/element_spec.coffee +0 -897
  302. data/spec_app/spec/javascripts/up/event_spec.js.coffee +0 -530
  303. data/spec_app/spec/javascripts/up/feedback_spec.js.coffee +0 -401
  304. data/spec_app/spec/javascripts/up/form_spec.js.coffee +0 -1527
  305. data/spec_app/spec/javascripts/up/fragment_spec.js.coffee +0 -2598
  306. data/spec_app/spec/javascripts/up/history_spec.js.coffee +0 -340
  307. data/spec_app/spec/javascripts/up/jquery_spec.js.coffee +0 -4
  308. data/spec_app/spec/javascripts/up/legacy_spec.js.coffee +0 -27
  309. data/spec_app/spec/javascripts/up/link_spec.js.coffee +0 -1093
  310. data/spec_app/spec/javascripts/up/log_spec.js.coffee +0 -119
  311. data/spec_app/spec/javascripts/up/modal_spec.js.coffee +0 -917
  312. data/spec_app/spec/javascripts/up/motion_spec.js.coffee +0 -582
  313. data/spec_app/spec/javascripts/up/popup_spec.js.coffee +0 -507
  314. data/spec_app/spec/javascripts/up/protocol_spec.js.coffee +0 -39
  315. data/spec_app/spec/javascripts/up/proxy_spec.js.coffee +0 -1137
  316. data/spec_app/spec/javascripts/up/radio_spec.js.coffee +0 -212
  317. data/spec_app/spec/javascripts/up/rails_spec.js.coffee +0 -118
  318. data/spec_app/spec/javascripts/up/spec_spec.js.coffee +0 -9
  319. data/spec_app/spec/javascripts/up/syntax_spec.js.coffee +0 -304
  320. data/spec_app/spec/javascripts/up/toast_spec.js.coffee +0 -37
  321. data/spec_app/spec/javascripts/up/tooltip_spec.js.coffee +0 -163
  322. data/spec_app/spec/javascripts/up/util_spec.js.coffee +0 -1420
  323. data/spec_app/spec/javascripts/up/viewport_spec.js.coffee +0 -655
  324. data/spec_app/spec/spec_helper.rb +0 -62
  325. data/spec_app/test/controllers/.keep +0 -0
  326. data/spec_app/test/fixtures/.keep +0 -0
  327. data/spec_app/test/helpers/.keep +0 -0
  328. data/spec_app/test/integration/.keep +0 -0
  329. data/spec_app/test/mailers/.keep +0 -0
  330. data/spec_app/test/models/.keep +0 -0
  331. data/spec_app/test/test_helper.rb +0 -10
  332. data/spec_app/vendor/asset-libs/es6-promise-4.1.6/es6-promise.auto.js +0 -1159
  333. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.bower.json +0 -43
  334. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.gitignore +0 -6
  335. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.npmignore +0 -10
  336. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.pairs +0 -6
  337. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.travis.yml +0 -56
  338. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/jasmine-ajax.js +0 -790
  339. data/spec_app/vendor/assets/.keep +0 -0
  340. data/unpoly-rails.gemspec +0 -24
@@ -1,21 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- window.describeCapability = (capabilities, examples) ->
5
- capabilities = u.wrapList(capabilities)
6
- allSupported = u.every capabilities, (c) ->
7
- if fn = up.browser[c]
8
- fn()
9
- else
10
- u.fail("Unknown capability: up.browser.#{c}()")
11
- up.browser[c]()
12
- if allSupported
13
- examples()
14
-
15
- window.describeFallback = (capabilities, examples) ->
16
- capabilities = u.wrapList(capabilities)
17
- describe "(in a browser without #{capabilities.join(', ')})", ->
18
- beforeEach ->
19
- u.each capabilities, (c) ->
20
- spyOn(up.browser, c).and.returnValue(false)
21
- examples()
@@ -1,2 +0,0 @@
1
- beforeEach ->
2
- up.log.disable()
@@ -1,25 +0,0 @@
1
- e = up.element
2
- $ = jQuery
3
-
4
- fixturesContainer = undefined
5
-
6
- ensureContainerExists = ->
7
- fixturesContainer ||= e.affix(document.body, '.fixtures')
8
-
9
- afterEach ->
10
- if fixturesContainer
11
- e.remove(fixturesContainer)
12
- fixturesContainer = undefined
13
-
14
- appendFixture = (args...) ->
15
- container = ensureContainerExists()
16
- e.affix(container, args...)
17
-
18
- $appendFixture = (args...) ->
19
- $(appendFixture(args...))
20
-
21
- window.fixture = appendFixture
22
- window.$fixture = $appendFixture
23
-
24
- # A lot of legacy tests require this jQuery function
25
- $.fn.affix = (args...) -> $(e.affix(this[0], args...))
@@ -1 +0,0 @@
1
- #= require_tree .
@@ -1 +0,0 @@
1
- jQuery.noConflict();
@@ -1,69 +0,0 @@
1
- ##
2
- # Knife: Get, set or mock inaccessible variables in a JavaScript closure
3
- # ======================================================================
4
- #
5
- # Requires [Jasmine](http://jasmine.github.io/) 2+.
6
- #
7
- # Usage:
8
- #
9
- # klass = (->
10
- #
11
- # privateVariable = 0
12
- #
13
- # privateMethod = ->
14
- # privateVariable += 1
15
- #
16
- # publicMethod = ->
17
- # privateMethod()
18
- #
19
- # add: add
20
- # knife: eval(Knife.point)
21
- #
22
- # )()
23
- #
24
- # klass.knife.get('privateVariable') => 0
25
- # klass.knife.set('privateCounter', 5)
26
- # klass.knife.get('privateCounter') => 5
27
- # spy = klass.knife.mock('privateMethod').and.returnValue("mocked!")
28
- # klass.publicMethod() # => 'mocked!'
29
- # expect(spy).toHaveBeenCalled()
30
- #
31
- @Knife = (->
32
-
33
- contextBleeder = ->
34
-
35
- get = (symbol) ->
36
- eval(symbol)
37
-
38
- set = (symbol, value) ->
39
- eval("#{symbol} = value")
40
-
41
- mock = (symbol) ->
42
- oldImpl = get(symbol)
43
- spy = jasmine.createSpy(symbol, oldImpl)
44
- set(symbol, spy)
45
- cleaner = -> set(symbol, oldImpl)
46
- Knife.cleaners.push(cleaner)
47
- spy
48
-
49
- get: get
50
- set: set
51
- mock: mock
52
-
53
- reset = ->
54
- cleaner() while cleaner = Knife.cleaners.pop()
55
-
56
- me = {}
57
- me.reset = reset
58
- me.cleaners = []
59
-
60
- if jasmine?
61
- me.point = "(#{contextBleeder.toString()})()"
62
- # Jasmine defines afterEach on window
63
- afterEach reset
64
- else
65
- me.point = "undefined"
66
-
67
- me
68
-
69
- )()
@@ -1,25 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- @lastRequest = ->
6
- jasmine.Ajax.requests.mostRecent() or u.fail('There is no last request')
7
-
8
- @respondWith = (args...) ->
9
- firstArg = args.shift()
10
- responseText = undefined
11
- options = undefined
12
- if u.isString(firstArg)
13
- responseText = firstArg
14
- options = args[0] || {}
15
- else
16
- options = firstArg
17
- responseText = options.responseText || 'response-text'
18
- request = options.request || @lastRequest()
19
- request.respondWith
20
- status: options.status || 200
21
- contentType: options.contentType || 'text/html'
22
- responseHeaders: options.responseHeaders
23
- responseText: responseText
24
- responseURL: options.responseURL
25
-
@@ -1,8 +0,0 @@
1
- beforeEach ->
2
- jasmine.Ajax.install()
3
-
4
- afterEach (done) ->
5
- up.util.task ->
6
- jasmine.Ajax.uninstall()
7
- done()
8
-
@@ -1,2 +0,0 @@
1
- afterEach ->
2
- jasmine.clock().uninstall()
@@ -1,24 +0,0 @@
1
- beforeEach ->
2
-
3
- jasmine.Ajax.addCustomParamParser
4
- test: (xhr) ->
5
- up.util.isFormData(xhr.params)
6
-
7
- parse: (params) ->
8
- if up.browser.canInspectFormData()
9
- array = new up.Params(params).toArray()
10
- else if params.originalArray
11
- # In browser that don't support FormData#entries(),
12
- # up.Params#toArray() stores the original array with the generated
13
- # FormData object.
14
- array = params.originalArray
15
- else
16
- throw "Cannot parse FormData for inspection in tests"
17
-
18
- obj = {}
19
-
20
- for entry in array
21
- obj[entry.name] ||= []
22
- obj[entry.name].push(entry.value)
23
-
24
- obj
@@ -1,18 +0,0 @@
1
- function promiseState(promise) {
2
- var uniqueValue = window['Symbol'] ? Symbol('unique') : Math.random().toString(36)
3
-
4
- function notifyPendingOrResolved(value) {
5
- if (value === uniqueValue) {
6
- return Promise.resolve({ state: 'pending' })
7
- } else {
8
- return Promise.resolve({ state: 'fulfilled', value: value })
9
- }
10
- }
11
-
12
- function notifyRejected(reason) {
13
- return Promise.resolve({ state: 'rejected', value: reason })
14
- }
15
-
16
- var race = [promise, Promise.resolve(uniqueValue)]
17
- return Promise.race(race).then(notifyPendingOrResolved, notifyRejected)
18
- }
@@ -1,12 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- up.fragment.config.fallbacks = ['.default-fallback']
6
- up.history.config.popTargets = ['.default-fallback']
7
- $element = $('<div class="default-fallback"></div>')
8
- $element.appendTo(document.body)
9
-
10
- afterEach ->
11
- up.destroy('.default-fallback', log: false)
12
-
@@ -1,8 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- # We have a lot of specs that measure the distance of elements
5
- # from the screen edge, so we can't have the Jasmine runner to have
6
- # any margins on the body.
7
- beforeEach ->
8
- $('body').css('margin-top': 0)
@@ -1,23 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- replaceStateHelperCount = 0
5
-
6
- beforeAll ->
7
- @hrefBeforeSuite = location.href
8
- @titleBeforeSuite = document.title
9
-
10
- afterAll (done) ->
11
- up.util.task =>
12
- history.replaceState?({ fromResetPathHelper: true }, '', @hrefBeforeSuite)
13
- document.title = @titleBeforeSuite
14
- done()
15
-
16
- beforeEach ->
17
- # Webkit ignores replaceState() calls after 100 calls / 30 sec.
18
- # So specs need to explicitely activate history handling.
19
- up.history.config.enabled = false
20
-
21
- # Store original URL and title so we can restore it in afterEach.
22
- @hrefBeforeExample = location.href
23
- @titleBeforeExample = document.title
@@ -1,2 +0,0 @@
1
- afterEach ->
2
- Knife.reset()
@@ -1,25 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- afterEach (done) ->
5
- # If the spec has installed the Jasmine clock, uninstall it so
6
- # the timeout below will actually happen.
7
- jasmine.clock().uninstall()
8
-
9
- # Most pending promises will wait for an animation to finish.
10
- promise = up.motion.finish()
11
-
12
- u.always promise, ->
13
-
14
- # Wait one more frame so pending callbacks have a chance to run.
15
- # Pending callbacks might change the URL or cause errors that bleed into
16
- # the next example.
17
- up.util.task =>
18
- up.framework.reset()
19
- up.browser.popCookie(up.protocol.config.methodCookie)
20
-
21
- # Give async reset behavior another frame to play out,
22
- # then start the next example.
23
- up.util.task ->
24
- $('.up-toast').remove()
25
- done()
@@ -1,5 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- afterEach ->
5
- $('body').scrollTop(0)
@@ -1,12 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- showVersions = ->
5
- $('.jasmine-version').text """
6
- jQuery #{$.fn.jquery}
7
- Jasmine #{jasmine.version}
8
- """
9
-
10
- $ ->
11
- # Give Jasmine time to initialize
12
- setTimeout(showVersions, 0)
@@ -1,47 +0,0 @@
1
- u = up.util
2
- e = up.element
3
- $ = jQuery
4
-
5
- up.specUtil = do ->
6
-
7
- ###**
8
- Returns whether the given element has been detached from the DOM
9
- (or whether it was never attached).
10
-
11
- @function up.util.isDetached
12
- @internal
13
- ###
14
- isDetached = (element) ->
15
- element = e.get(element)
16
- # This is by far the fastest way to do this
17
- not $.contains(document.documentElement, element)
18
-
19
- isAttached = (element) ->
20
- !isDetached(element)
21
-
22
- isVisible = (element) ->
23
- $(element).is(':visible')
24
-
25
- isHidden = (element) ->
26
- $(element).is(':hidden')
27
-
28
- ###**
29
- @function up.util.promiseTimer
30
- @internal
31
- ###
32
- promiseTimer = (ms) ->
33
- timeout = undefined
34
- promise = new Promise (resolve, reject) ->
35
- timeout = u.timer(ms, resolve)
36
- promise.cancel = -> clearTimeout(timeout)
37
- promise
38
-
39
-
40
- isDetached: isDetached
41
- isAttached: isAttached
42
- isVisible: isVisible
43
- isHidden: isHidden
44
- promiseTimer: promiseTimer
45
-
46
-
47
-
@@ -1,8 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeAround: (util, customEqualityTesters) ->
7
- compare: (actual, expected, tolerance) ->
8
- pass: Math.abs(expected - actual) <= tolerance
@@ -1,5 +0,0 @@
1
- beforeEach ->
2
- jasmine.addMatchers
3
- toBeArray: (util, customEqualityTesters) ->
4
- compare: (actual) ->
5
- pass: up.util.isArray(actual)
@@ -1,9 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeAttached: (util, customEqualityTesters) ->
7
- compare: (element) ->
8
- element = up.element.get(element)
9
- pass: element && up.specUtil.isAttached(element)
@@ -1,8 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeBlank: (util, customEqualityTesters) ->
7
- compare: (actual) ->
8
- pass: up.util.isBlank(actual)
@@ -1,9 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeDetached: (util, customEqualityTesters) ->
7
- compare: (element) ->
8
- element = up.element.get(element)
9
- pass: element && up.specUtil.isDetached(element)
@@ -1,8 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeElement: (util, customEqualityTesters) ->
7
- compare: (actual) ->
8
- pass: up.util.isElement(actual)
@@ -1,8 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeError: (util, customEqualityTesters) ->
7
- compare: (actual, message) ->
8
- pass: (actual instanceof Error) && (!message || (message instanceof RegExp && message.test(actual.message)) || actual.message == message)
@@ -1,8 +0,0 @@
1
- u = up.util
2
- $ = jQuery
3
-
4
- beforeEach ->
5
- jasmine.addMatchers
6
- toBeGiven: (util, customEqualityTesters) ->
7
- compare: (actual) ->
8
- pass: up.util.isGiven(actual)