kiteditor 1.0.12 → 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (289) hide show
  1. data/{lib/generators/mercury/install/images/templates → app/controllers/mercury}/images_controller.rb +0 -0
  2. data/{lib/generators/mercury/install/images/templates/ar_paperclip_image.rb → app/models/mercury/image.rb} +0 -7
  3. data/app/views/layouts/mercury.html.erb +20 -10
  4. data/app/views/mercury/modals/character.html +1 -1
  5. data/app/views/mercury/modals/htmleditor.html +7 -3
  6. data/app/views/mercury/modals/link.html +51 -37
  7. data/app/views/mercury/modals/media.html +0 -102
  8. data/app/views/mercury/modals/table.html +73 -79
  9. data/app/views/mercury/panels/snippets.html +1 -6
  10. data/app/views/mercury/snippets/example/options.html.erb +27 -23
  11. data/{lib/generators/mercury/install/images/templates/ar_paperclip_image_migration.rb → db/migrate/20110526035601_create_mercury_images.rb} +0 -0
  12. data/features/loading/loading.feature +2 -5
  13. data/features/loading/user_interface.feature +7 -9
  14. data/features/regions/{full → editable}/advanced_editing.feature +0 -0
  15. data/features/regions/editable/basic_editing.feature +195 -0
  16. data/features/regions/{full → editable}/inserting_links.feature +19 -20
  17. data/features/regions/{full → editable}/inserting_media.feature +18 -36
  18. data/features/regions/{full → editable}/inserting_snippets.feature +18 -28
  19. data/features/regions/{full → editable}/inserting_special_characters.feature +2 -2
  20. data/features/regions/editable/inserting_tables.feature +109 -0
  21. data/features/regions/{full → editable}/pasting.feature +0 -0
  22. data/features/regions/{full → editable}/uploading_images.feature +0 -0
  23. data/features/regions/{markdown → markupable}/advanced_editing.feature +0 -0
  24. data/features/regions/{markdown → markupable}/basic_editing.feature +0 -0
  25. data/features/regions/{markdown → markupable}/inserting_links.feature +0 -0
  26. data/features/regions/{markdown → markupable}/inserting_media.feature +0 -0
  27. data/features/regions/{markdown → markupable}/inserting_snippets.feature +0 -0
  28. data/features/regions/{markdown → markupable}/inserting_special_characters.feature +0 -0
  29. data/features/regions/{markdown → markupable}/inserting_tables.feature +0 -0
  30. data/features/regions/{image → markupable}/uploading_images.feature +0 -0
  31. data/features/regions/{snippets → snippetable}/advanced_editing.feature +0 -0
  32. data/features/regions/{snippets → snippetable}/basic_editing.feature +0 -0
  33. data/features/regions/{snippets → snippetable}/inserting_snippets.feature +0 -0
  34. data/features/saving/saving.feature +8 -8
  35. data/features/step_definitions/mercury_steps.rb +438 -1
  36. data/features/support/env.rb +1 -11
  37. data/{lib/mercury/cucumber → features}/support/mercury_contents.rb +3 -3
  38. data/{lib/mercury/cucumber → features}/support/mercury_selectors.rb +20 -0
  39. data/features/support/selectors.rb +0 -23
  40. data/lib/generators/mercury/install/install_generator.rb +23 -12
  41. data/lib/generators/mercury/install/{images/templates → templates}/mongoid_paperclip_image.rb +0 -0
  42. data/lib/mercury/authentication.rb +0 -1
  43. data/lib/mercury-rails.rb +2 -1
  44. data/spec/javascripts/mercury/{dialog_spec.coffee → dialog_spec.js.coffee} +12 -11
  45. data/spec/javascripts/mercury/dialogs/backcolor_spec.js.coffee +3 -2
  46. data/spec/javascripts/mercury/dialogs/forecolor_spec.js.coffee +4 -3
  47. data/spec/javascripts/mercury/dialogs/formatblock_spec.js.coffee +3 -2
  48. data/spec/javascripts/mercury/dialogs/snippetpanel_spec.js.coffee +3 -2
  49. data/spec/javascripts/mercury/dialogs/style_spec.js.coffee +3 -2
  50. data/spec/javascripts/mercury/lightview_spec.js.coffee +142 -180
  51. data/spec/javascripts/mercury/mercury_spec.js.coffee +13 -19
  52. data/spec/javascripts/mercury/modal_spec.js.coffee +148 -192
  53. data/spec/javascripts/mercury/modals/htmleditor_spec.js.coffee +5 -4
  54. data/spec/javascripts/mercury/modals/insertcharacter_spec.js.coffee +3 -2
  55. data/spec/javascripts/mercury/modals/insertlink_spec.js.coffee +34 -107
  56. data/spec/javascripts/mercury/modals/insertmedia_spec.js.coffee +26 -106
  57. data/spec/javascripts/mercury/modals/insertsnippet_spec.js.coffee +3 -2
  58. data/spec/javascripts/mercury/modals/inserttable_spec.js.coffee +40 -50
  59. data/spec/javascripts/mercury/page_editor_spec.js.coffee +80 -124
  60. data/spec/javascripts/mercury/palette_spec.js.coffee +5 -4
  61. data/spec/javascripts/mercury/panel_spec.js.coffee +12 -9
  62. data/spec/javascripts/mercury/region_spec.js.coffee +17 -22
  63. data/spec/javascripts/mercury/regions/{full_spec.js.coffee → editable_spec.js.coffee} +28 -26
  64. data/spec/javascripts/mercury/regions/{markdown_spec.js.coffee → markupable_spec.js.coffee} +34 -32
  65. data/spec/javascripts/mercury/regions/{snippets_spec.js.coffee → snippetable_spec.js.coffee} +55 -54
  66. data/spec/javascripts/mercury/select_spec.js.coffee +5 -4
  67. data/spec/javascripts/mercury/snippet_spec.js.coffee +16 -92
  68. data/spec/javascripts/mercury/snippet_toolbar_spec.js.coffee +16 -31
  69. data/spec/javascripts/mercury/statusbar_spec.js.coffee +10 -9
  70. data/spec/javascripts/mercury/table_editor_spec.js.coffee +2 -1
  71. data/spec/javascripts/mercury/toolbar.button_group_spec.js.coffee +9 -7
  72. data/spec/javascripts/mercury/toolbar.button_spec.js.coffee +26 -55
  73. data/spec/javascripts/mercury/toolbar.expander_spec.js.coffee +13 -13
  74. data/spec/javascripts/mercury/toolbar_spec.js.coffee +14 -43
  75. data/spec/javascripts/mercury/tooltip_spec.js.coffee +2 -1
  76. data/spec/javascripts/mercury/uploader_spec.js.coffee +33 -47
  77. data/spec/javascripts/{support/event_simulation.js → spec_helper.js} +2 -0
  78. data/spec/javascripts/{fixtures → templates}/mercury/dialog.html +0 -0
  79. data/spec/javascripts/{fixtures → templates}/mercury/dialogs/backcolor.html +0 -0
  80. data/spec/javascripts/{fixtures → templates}/mercury/dialogs/forecolor.html +0 -0
  81. data/spec/javascripts/{fixtures → templates}/mercury/dialogs/formatblock.html +0 -0
  82. data/spec/javascripts/{fixtures → templates}/mercury/dialogs/snippetpanel.html +0 -0
  83. data/spec/javascripts/{fixtures → templates}/mercury/dialogs/style.html +0 -0
  84. data/spec/javascripts/{fixtures → templates}/mercury/lightview.html +0 -0
  85. data/spec/javascripts/{fixtures → templates}/mercury/modal.html +0 -0
  86. data/spec/javascripts/{fixtures → templates}/mercury/modals/htmleditor.html +0 -0
  87. data/spec/javascripts/{fixtures → templates}/mercury/modals/insertcharacter.html +0 -0
  88. data/spec/javascripts/templates/mercury/modals/insertlink.html +30 -0
  89. data/spec/javascripts/templates/mercury/modals/insertmedia.html +35 -0
  90. data/spec/javascripts/{fixtures → templates}/mercury/modals/insertsnippet.html +0 -0
  91. data/spec/javascripts/templates/mercury/modals/inserttable.html +27 -0
  92. data/spec/javascripts/{fixtures → templates}/mercury/page_editor.html +4 -4
  93. data/spec/javascripts/{fixtures → templates}/mercury/palette.html +0 -0
  94. data/spec/javascripts/{fixtures → templates}/mercury/panel.html +0 -0
  95. data/spec/javascripts/templates/mercury/region.html +2 -0
  96. data/spec/javascripts/templates/mercury/regions/editable.html +3 -0
  97. data/spec/javascripts/templates/mercury/regions/snippetable.html +4 -0
  98. data/spec/javascripts/{fixtures → templates}/mercury/select.html +0 -0
  99. data/spec/javascripts/{fixtures → templates}/mercury/snippet.html +0 -0
  100. data/spec/javascripts/{fixtures → templates}/mercury/snippet_toolbar.html +0 -0
  101. data/spec/javascripts/{fixtures → templates}/mercury/statusbar.html +0 -0
  102. data/spec/javascripts/{fixtures → templates}/mercury/table_editor.html +0 -0
  103. data/spec/javascripts/{fixtures → templates}/mercury/toolbar.button.html +0 -0
  104. data/spec/javascripts/{fixtures → templates}/mercury/toolbar.button_group.html +0 -0
  105. data/spec/javascripts/{fixtures → templates}/mercury/toolbar.expander.html +0 -0
  106. data/spec/javascripts/{fixtures → templates}/mercury/toolbar.html +0 -0
  107. data/spec/javascripts/{fixtures → templates}/mercury/tooltip.html +0 -0
  108. data/spec/javascripts/{fixtures → templates}/mercury/uploader.html +0 -0
  109. data/{app → vendor}/assets/images/mercury/button.png +0 -0
  110. data/{app → vendor}/assets/images/mercury/close.png +0 -0
  111. data/{app → vendor}/assets/images/mercury/loading-dark.gif +0 -0
  112. data/{app → vendor}/assets/images/mercury/loading-light.gif +0 -0
  113. data/{app → vendor}/assets/images/mercury/missing-image.png +0 -0
  114. data/{app → vendor}/assets/images/mercury/search-icon.png +0 -0
  115. data/{app → vendor}/assets/images/mercury/temp-logo.png +0 -0
  116. data/{app/assets/javascripts → vendor/assets/javascripts/mercury/dependencies}/jquery-1.7.js +0 -0
  117. data/{app → vendor}/assets/javascripts/mercury/dependencies/jquery-ui-1.8.13.custom.js +0 -0
  118. data/{app → vendor}/assets/javascripts/mercury/dependencies/jquery.additions.js +13 -103
  119. data/{app → vendor}/assets/javascripts/mercury/dependencies/jquery.htmlClean.js +0 -0
  120. data/{app → vendor}/assets/javascripts/mercury/dependencies/liquidmetal.js +0 -0
  121. data/{app → vendor}/assets/javascripts/mercury/dependencies/showdown.js +0 -0
  122. data/{app → vendor}/assets/javascripts/mercury/dialog.js.coffee +0 -0
  123. data/{app → vendor}/assets/javascripts/mercury/dialogs/backcolor.js.coffee +0 -0
  124. data/{app → vendor}/assets/javascripts/mercury/dialogs/forecolor.js.coffee +1 -1
  125. data/{app → vendor}/assets/javascripts/mercury/dialogs/formatblock.js.coffee +0 -0
  126. data/{app → vendor}/assets/javascripts/mercury/dialogs/snippetpanel.js.coffee +1 -1
  127. data/{app → vendor}/assets/javascripts/mercury/dialogs/style.js.coffee +0 -0
  128. data/{app → vendor}/assets/javascripts/mercury/finalize.js.coffee +0 -0
  129. data/{app → vendor}/assets/javascripts/mercury/history_buffer.js.coffee +0 -0
  130. data/{app → vendor}/assets/javascripts/mercury/lightview.js.coffee +17 -38
  131. data/{features/regions/markdown/uploading_images.feature → vendor/assets/javascripts/mercury/locales/da.locale.js.coffee} +0 -0
  132. data/{app → vendor}/assets/javascripts/mercury/locales/de.locale.js.coffee +10 -4
  133. data/{app → vendor}/assets/javascripts/mercury/locales/es.locale.js.coffee +9 -3
  134. data/{app → vendor}/assets/javascripts/mercury/locales/example.local.js.coffee +5 -3
  135. data/{app → vendor}/assets/javascripts/mercury/locales/fr.locale.js.coffee +9 -3
  136. data/{app → vendor}/assets/javascripts/mercury/locales/it.locale.js.coffee +9 -3
  137. data/{app → vendor}/assets/javascripts/mercury/locales/ko.local.js.coffee +10 -4
  138. data/{app → vendor}/assets/javascripts/mercury/locales/nl.locale.js.coffee +9 -3
  139. data/{app → vendor}/assets/javascripts/mercury/locales/pt.locale.js.coffee +9 -3
  140. data/{app → vendor}/assets/javascripts/mercury/locales/sv.local.js.coffee +9 -3
  141. data/{app → vendor}/assets/javascripts/mercury/locales/swedish_chef.locale.js.coffee +9 -3
  142. data/{app → vendor}/assets/javascripts/mercury/mercury.js.coffee +1 -10
  143. data/{app → vendor}/assets/javascripts/mercury/modal.js.coffee +40 -62
  144. data/{app → vendor}/assets/javascripts/mercury/modals/htmleditor.js.coffee +2 -3
  145. data/{app → vendor}/assets/javascripts/mercury/modals/insertcharacter.js.coffee +0 -1
  146. data/{app → vendor}/assets/javascripts/mercury/modals/insertsnippet.js.coffee +0 -2
  147. data/vendor/assets/javascripts/mercury/modals/inserttable.js.coffee +54 -0
  148. data/{app → vendor}/assets/javascripts/mercury/native_extensions.js.coffee +6 -0
  149. data/{app → vendor}/assets/javascripts/mercury/page_editor.js.coffee +50 -84
  150. data/{app → vendor}/assets/javascripts/mercury/palette.js.coffee +1 -1
  151. data/{app → vendor}/assets/javascripts/mercury/panel.js.coffee +2 -3
  152. data/{app → vendor}/assets/javascripts/mercury/plugins/save_as_xml/mercury/page_editor.js.coffee +2 -2
  153. data/{app → vendor}/assets/javascripts/mercury/plugins/save_as_xml/plugin.js +0 -0
  154. data/{app → vendor}/assets/javascripts/mercury/region.js.coffee +17 -18
  155. data/{app/assets/javascripts/mercury/regions/full.js.coffee → vendor/assets/javascripts/mercury/regions/editable.js.coffee} +31 -41
  156. data/{app/assets/javascripts/mercury/regions/markdown.js.coffee → vendor/assets/javascripts/mercury/regions/markupable.js.coffee} +24 -29
  157. data/{app → vendor}/assets/javascripts/mercury/regions/simple.js.coffee +54 -11
  158. data/{app/assets/javascripts/mercury/regions/snippets.js.coffee → vendor/assets/javascripts/mercury/regions/snippetable.js.coffee} +9 -10
  159. data/{app → vendor}/assets/javascripts/mercury/select.js.coffee +1 -1
  160. data/{app → vendor}/assets/javascripts/mercury/snippet_toolbar.js.coffee +6 -19
  161. data/{app → vendor}/assets/javascripts/mercury/statusbar.js.coffee +0 -0
  162. data/{app → vendor}/assets/javascripts/mercury/support/history.js +0 -0
  163. data/{app → vendor}/assets/javascripts/mercury/table_editor.js.coffee +0 -16
  164. data/{app → vendor}/assets/javascripts/mercury/toolbar.button.js.coffee +30 -45
  165. data/{app → vendor}/assets/javascripts/mercury/toolbar.button_group.js.coffee +2 -2
  166. data/{app → vendor}/assets/javascripts/mercury/toolbar.expander.js.coffee +4 -4
  167. data/{app → vendor}/assets/javascripts/mercury/toolbar.js.coffee +6 -10
  168. data/{app → vendor}/assets/javascripts/mercury/tooltip.js.coffee +0 -0
  169. data/{app → vendor}/assets/javascripts/mercury/uploader.js.coffee +19 -37
  170. data/{app → vendor}/assets/javascripts/mercury.js +87 -60
  171. data/vendor/assets/javascripts/mercury_loader.js +193 -0
  172. data/vendor/assets/javascripts/mercury_overrides.js +6 -0
  173. data/{app → vendor}/assets/stylesheets/mercury/all_images.css.erb +2 -6
  174. data/{app → vendor}/assets/stylesheets/mercury/dialog.css +8 -21
  175. data/{app → vendor}/assets/stylesheets/mercury/lightview.css +56 -6
  176. data/vendor/assets/stylesheets/mercury/mercury.css +151 -0
  177. data/{app → vendor}/assets/stylesheets/mercury/modal.css +32 -15
  178. data/{app → vendor}/assets/stylesheets/mercury/statusbar.css +0 -0
  179. data/{app → vendor}/assets/stylesheets/mercury/toolbar.css +1 -4
  180. data/{app → vendor}/assets/stylesheets/mercury/tooltip.css +0 -0
  181. data/{app → vendor}/assets/stylesheets/mercury/uploader.css +4 -4
  182. data/{app → vendor}/assets/stylesheets/mercury.css +5 -1
  183. data/vendor/assets/stylesheets/mercury_overrides.css +17 -0
  184. metadata +197 -367
  185. data/POST_INSTALL +0 -21
  186. data/app/assets/images/mercury/default-snippet.png +0 -0
  187. data/app/assets/images/mercury/toolbar/editable/buttons.png +0 -0
  188. data/app/assets/images/mercury/toolbar/primary/_expander.png +0 -0
  189. data/app/assets/images/mercury/toolbar/primary/_pressed.png +0 -0
  190. data/app/assets/images/mercury/toolbar/primary/action.png +0 -0
  191. data/app/assets/images/mercury/toolbar/primary/historypanel.png +0 -0
  192. data/app/assets/images/mercury/toolbar/primary/insertcharacter.png +0 -0
  193. data/app/assets/images/mercury/toolbar/primary/insertlink.png +0 -0
  194. data/app/assets/images/mercury/toolbar/primary/insertmedia.png +0 -0
  195. data/app/assets/images/mercury/toolbar/primary/inserttable.png +0 -0
  196. data/app/assets/images/mercury/toolbar/primary/inspectorpanel.png +0 -0
  197. data/app/assets/images/mercury/toolbar/primary/notespanel.png +0 -0
  198. data/app/assets/images/mercury/toolbar/primary/preview.png +0 -0
  199. data/app/assets/images/mercury/toolbar/primary/redo.png +0 -0
  200. data/app/assets/images/mercury/toolbar/primary/save.png +0 -0
  201. data/app/assets/images/mercury/toolbar/primary/snippetpanel.png +0 -0
  202. data/app/assets/images/mercury/toolbar/primary/tools.png +0 -0
  203. data/app/assets/images/mercury/toolbar/primary/undo.png +0 -0
  204. data/app/assets/images/mercury/toolbar/primary/user.png +0 -0
  205. data/app/assets/images/mercury/toolbar/snippets/buttons.png +0 -0
  206. data/app/assets/javascripts/mercury/locales/ar.locale.js.coffee +0 -201
  207. data/app/assets/javascripts/mercury/locales/da.locale.js.coffee +0 -208
  208. data/app/assets/javascripts/mercury/locales/hu.locale.js.coffee +0 -209
  209. data/app/assets/javascripts/mercury/locales/pl.locale.js.coffee +0 -213
  210. data/app/assets/javascripts/mercury/locales/ru.locale.js.coffee +0 -200
  211. data/app/assets/javascripts/mercury/locales/uk.locale.js.coffee +0 -200
  212. data/app/assets/javascripts/mercury/locales/zh.local.js.coffee +0 -203
  213. data/app/assets/javascripts/mercury/mercury-compiled.js +0 -10720
  214. data/app/assets/javascripts/mercury/modals/insertlink.js.coffee +0 -152
  215. data/app/assets/javascripts/mercury/modals/insertmedia.js.coffee +0 -132
  216. data/app/assets/javascripts/mercury/modals/inserttable.js.coffee +0 -68
  217. data/app/assets/javascripts/mercury/regions/image.js.coffee +0 -93
  218. data/app/assets/javascripts/mercury/snippet.js.coffee +0 -136
  219. data/app/assets/stylesheets/_mercury-bootstrap-overrides.scss +0 -61
  220. data/app/assets/stylesheets/_mercury-sass.scss +0 -33
  221. data/app/assets/stylesheets/mercury/bootstrap-ish.css +0 -1367
  222. data/app/assets/stylesheets/mercury/bootstrap-overrides.css +0 -61
  223. data/app/assets/stylesheets/mercury/mercury.css +0 -43
  224. data/app/helpers/mercury_helper.rb +0 -7
  225. data/app/views/layouts/mercury.html.haml +0 -19
  226. data/app/views/layouts/mercury.html.slim +0 -19
  227. data/app/views/mercury/snippets/no_options/preview.html.erb +0 -1
  228. data/config/routes.rb +0 -9
  229. data/features/generators/authentication.feature +0 -10
  230. data/features/generators/images.feature +0 -41
  231. data/features/generators/install.feature +0 -21
  232. data/features/regions/full/basic_editing.feature +0 -198
  233. data/features/regions/full/inserting_tables.feature +0 -109
  234. data/features/regions/simple/basic_editing.feature +0 -5
  235. data/features/step_definitions/custom_web_steps.rb +0 -22
  236. data/features/step_definitions/generator_steps.rb +0 -23
  237. data/features/support/aruba.rb +0 -28
  238. data/lib/generators/mercury/install/authentication/authentication_generator.rb +0 -17
  239. data/lib/generators/mercury/install/images/images_generator.rb +0 -47
  240. data/lib/mercury/cucumber/step_definitions/mercury_steps.rb +0 -408
  241. data/lib/mercury/cucumber/step_definitions.rb +0 -13
  242. data/lib/mercury/engine.rb +0 -19
  243. data/lib/mercury/rails.rb +0 -5
  244. data/lib/mercury/version.rb +0 -3
  245. data/spec/dummy/Rakefile +0 -7
  246. data/spec/dummy/app/assets/javascripts/application.js +0 -0
  247. data/spec/dummy/app/assets/javascripts/prototype.js +0 -6082
  248. data/spec/dummy/app/assets/stylesheets/application.css.scss +0 -110
  249. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  250. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  251. data/spec/dummy/app/views/layouts/mercury.html.erb +0 -28
  252. data/spec/dummy/config/application.rb +0 -58
  253. data/spec/dummy/config/boot.rb +0 -10
  254. data/spec/dummy/config/database.yml +0 -10
  255. data/spec/dummy/config/environment.rb +0 -5
  256. data/spec/dummy/config/environments/development.rb +0 -37
  257. data/spec/dummy/config/environments/production.rb +0 -67
  258. data/spec/dummy/config/environments/test.rb +0 -37
  259. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  260. data/spec/dummy/config/initializers/inflections.rb +0 -15
  261. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  262. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  263. data/spec/dummy/config/initializers/session_store.rb +0 -8
  264. data/spec/dummy/config/initializers/teabag.rb +0 -9
  265. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  266. data/spec/dummy/config/locales/en.yml +0 -5
  267. data/spec/dummy/config/routes.rb +0 -5
  268. data/spec/dummy/config.ru +0 -4
  269. data/spec/dummy/db/.gitkeep +0 -0
  270. data/spec/dummy/public/500.html +0 -25
  271. data/spec/dummy/public/blank.html +0 -1
  272. data/spec/dummy/public/favicon.ico +0 -0
  273. data/spec/dummy/public/images/bunny.gif +0 -0
  274. data/spec/dummy/public/images/bunny2.jpg +0 -0
  275. data/spec/dummy/public/index.html +0 -279
  276. data/spec/dummy/script/rails +0 -6
  277. data/spec/javascripts/fixtures/mercury/modals/insertlink.html +0 -67
  278. data/spec/javascripts/fixtures/mercury/modals/insertmedia.html +0 -87
  279. data/spec/javascripts/fixtures/mercury/modals/inserttable.html +0 -73
  280. data/spec/javascripts/fixtures/mercury/region.html +0 -6
  281. data/spec/javascripts/fixtures/mercury/regions/full.html +0 -1
  282. data/spec/javascripts/fixtures/mercury/regions/image.html +0 -1
  283. data/spec/javascripts/fixtures/mercury/regions/markdown.html +0 -1
  284. data/spec/javascripts/fixtures/mercury/regions/simple.html +0 -1
  285. data/spec/javascripts/fixtures/mercury/regions/snippets.html +0 -4
  286. data/spec/javascripts/mercury/regions/image_spec.js.coffee +0 -33
  287. data/spec/javascripts/mercury/regions/simple_spec.js.coffee +0 -32
  288. data/spec/javascripts/spec_helper.coffee +0 -4
  289. data/spec/teabag_env.rb +0 -32
@@ -1,47 +0,0 @@
1
- require 'rails/generators/active_record'
2
- module Mercury
3
- module Generators
4
- module Install
5
- class ImagesGenerator < Rails::Generators::Base
6
- include Rails::Generators::Migration
7
- source_root File.expand_path("../templates", __FILE__)
8
-
9
- desc "Installs image processing migrations and model."
10
-
11
- class_option :orm, :default => 'active_record', :banner => 'mongoid',
12
- :desc => 'ORM for required models -- active_record, or mongoid'
13
-
14
- def copy_models
15
- if options[:orm] == 'mongoid'
16
- copy_file 'mongoid_paperclip_image.rb', 'app/models/mercury/image.rb'
17
- else
18
- copy_file 'ar_paperclip_image.rb', 'app/models/mercury/image.rb'
19
- migration_template 'ar_paperclip_image_migration.rb', 'db/migrate/create_mercury_images.rb'
20
- end
21
- end
22
-
23
- def copy_controller
24
- copy_file 'images_controller.rb', 'app/controllers/mercury/images_controller.rb'
25
- end
26
-
27
- def add_routes
28
- route %Q{ namespace :mercury do
29
- resources :images
30
- end}
31
- end
32
-
33
- def add_gemfile_dependencies
34
- append_to_file "Gemfile", %Q{gem 'paperclip'}
35
- if options[:orm] == 'mongoid'
36
- append_to_file "Gemfile", %Q{gem 'mongoid-paperclip', :require => 'mongoid_paperclip'}
37
- end
38
- end
39
-
40
- # Implement the required interface for Rails::Generators::Migration.
41
- def self.next_migration_number(dirname) #:nodoc:
42
- ActiveRecord::Generators::Base.next_migration_number(dirname)
43
- end
44
- end
45
- end
46
- end
47
- end
@@ -1,408 +0,0 @@
1
- ## Mercury general steps
2
- #------------------------------------------------------------------------------
3
- Given /^(?:|I )adjust the configuration to have: \{([^\}]*)\}$/ do |javascript|
4
- Rails.application.config.mercury_config = JSON.parse("{#{javascript}}")
5
- end
6
-
7
- # scoping step for the mercury content frame
8
- When /^(.*) in the content frame$/ do |s|
9
- page.driver.within_frame('mercury_iframe') do
10
- step(s)
11
- end
12
- end
13
-
14
- # silence mercury's onbeforeunload confirmation
15
- Given /^the editor won't prompt when leaving the page$/ do
16
- page.driver.execute_script('Mercury.silent = true;')
17
- end
18
-
19
-
20
- ## Toolbar specific steps
21
- #------------------------------------------------------------------------------
22
- # for the select dropdowns
23
- When /^(?:|I )select (.*?) from the dropdown$/ do |locator|
24
- selector = selector_for(locator)
25
- find(selector, :message => "Unable to locate the element '#{selector}' to click on").click
26
- end
27
-
28
-
29
- ## Panel specific steps
30
- #------------------------------------------------------------------------------
31
- When /^(?:I )(?:open|close|toggle) the (.*?) panel$/ do |panel_locator|
32
- step(%Q{I click on the "#{panel_locator}" button})
33
- end
34
-
35
-
36
- ## Modal specific steps
37
- #------------------------------------------------------------------------------
38
- When /^(?:I )close the modal(?: window)?$/ do
39
- step(%Q{I click on the modal close button})
40
- end
41
-
42
-
43
- ## Region specific steps
44
- #------------------------------------------------------------------------------
45
- # setting content
46
- Given /^the content of (.*?) (?:is|are|has|includes) (.*?)$/ do |region_locator, contents|
47
- step(%Q{I set the contents of #{region_locator} to #{contents}})
48
- end
49
-
50
- When /^(?:|I )(?:change|set) the contents? of (.*?) to (.*?)$/ do |region_locator, contents|
51
- region_id = region_selector_for(region_locator).gsub('#', '')
52
- content = contents[0] == '"' ? contents : "\"#{contents_for(contents)}\""
53
- page.driver.within_frame('mercury_iframe') do
54
- find("##{region_id}", :message => "Unable to locate a region matching '##{region_id}'")
55
- page.driver.execute_script <<-JAVASCRIPT
56
- var element = top.jQuery(document).find('##{region_id}');
57
- if (element.data('type') == 'markdown') {
58
- element.find('textarea').val(#{content});
59
- } else {
60
- var region = top.mercuryInstance.getRegionByName('#{region_id}');
61
- region.content(#{content});
62
- }
63
- JAVASCRIPT
64
- end
65
- end
66
-
67
- When /^(?:|I )focus on (.*?)$/ do |region_locator|
68
- step(%Q{I can simulate complex javascript events})
69
- region_selector = region_selector_for(region_locator)
70
- page.driver.within_frame('mercury_iframe') do
71
- page.driver.execute_script <<-JAVASCRIPT
72
- top.jQuery(document).find('#{region_selector}').simulate('mouseup')
73
- JAVASCRIPT
74
- end
75
- end
76
-
77
- # setting/making selections
78
- When /^(?:|I )(?:make|have) a selection$/ do
79
- step(%Q{I have a selection for "span"})
80
- end
81
-
82
- When /^(?:|I )(?:make|have) a selection (?:in (.*?) )?for "([^"]*)"$/ do |region_locator, selector|
83
- step(%Q{I can simulate complex javascript events})
84
- # assume the first full region if one wasn't provided'
85
- region_selector = region_selector_for(region_locator)
86
- page.driver.within_frame('mercury_iframe') do
87
- find("#{region_selector}", :message => "Unable to locate a region matching '#{region_selector}'")
88
- find("#{region_selector} #{selector}", :message => "Unable to locate a match for '#{selector}' inside '#{region_locator}'")
89
- page.driver.execute_script <<-JAVASCRIPT
90
- var element = top.jQuery(document).find('#{region_selector}');
91
- if (element.data('type') == 'markdown') {
92
- alert('unimplemented');
93
- throw('unimplemented');
94
- } else {
95
- var selectedElement = element.find('#{selector}');
96
- var selection = new top.Mercury.Regions.Full.Selection(window.getSelection(), document);
97
- selection.selectNode(selectedElement.get(0));
98
- selectedElement.simulate('mouseup');
99
- }
100
- JAVASCRIPT
101
- end
102
- end
103
-
104
- # other events
105
- When /^(?:|I )double click on (.*?) in (.*?)$/ do |locator, region_locator|
106
- step(%Q{I can simulate complex javascript events})
107
- selector = selector_for(locator)
108
- # assume the first full region if one wasn't provided'
109
- region_selector = region_selector_for(region_locator)
110
- page.driver.within_frame('mercury_iframe') do
111
- find("#{region_selector}", :message => "Unable to locate a region matching '#{region_selector}'")
112
- find("#{region_selector} #{selector}", :message => "Unable to locate a match for '#{selector}' inside '#{region_selector}'")
113
- page.driver.execute_script <<-JAVASCRIPT
114
- top.jQuery(document).find('#{region_selector} #{selector}').simulate('dblclick');
115
- JAVASCRIPT
116
- end
117
- end
118
-
119
- # getting contents
120
- Then /^the contents? of (.*?) should be "([^"]*)"$/ do |region_locator, content|
121
- region_selector = region_selector_for(region_locator)
122
- page.driver.within_frame('mercury_iframe') do
123
- find("#{region_selector}", :message => "Unable to locate a region matching '#{region_selector}'")
124
- results = page.driver.execute_script <<-JAVASCRIPT
125
- var element = top.jQuery(document).find('#{region_selector}');
126
- if (element.data('type') == 'markdown') {
127
- return element.find('textarea').val();
128
- } else {
129
- return element.html();
130
- }
131
- JAVASCRIPT
132
- assert_equal content, results.gsub('"', "'").gsub("\n", '')
133
- end
134
- end
135
-
136
-
137
- ## Saving specific steps
138
- #------------------------------------------------------------------------------
139
- # caching for the last save -- a request will still be made
140
- Given /^save results will be cached$/ do
141
- page.driver.execute_script <<-JAVASCRIPT
142
- Mercury.PageEditor.prototype.save = function() {
143
- window.cachedResults = this.serialize();
144
- Mercury.changes = false;
145
- }
146
- JAVASCRIPT
147
- end
148
-
149
- # check for the last save cached results
150
- Then /^the save should have (.*?) for (.*?)$/ do |contents, region_locator|
151
- region_id = region_selector_for(region_locator).gsub('#', '')
152
- content = contents[0] == '"' ? contents : "\"#{contents_for(contents)}\""
153
- results = page.driver.execute_script <<-JAVASCRIPT
154
- return (window.cachedResults['#{region_id}']) ?
155
- window.cachedResults['#{region_id}']['value'] : null;
156
- JAVASCRIPT
157
- assert_equal content, "\"#{results}\""
158
- end
159
-
160
-
161
- ## Table editing specific steps
162
- #------------------------------------------------------------------------------
163
- # in the modal window
164
- When /^(?:|I )(?:add|insert) a (row|column) (before|after)(?: it)?$/ do |row_or_column, before_or_after|
165
- name = "add_#{row_or_column}_#{before_or_after}".camelcase(:lower)
166
- step(%Q{I click on ".mercury-modal-content button[data-action='#{name}']"})
167
- end
168
-
169
- When /^(?:|I )delete the(?: current)? (row|column)$/ do |row_or_column|
170
- name = "remove_#{row_or_column}".camelcase(:lower)
171
- step(%Q{I click on ".mercury-modal-content button[data-action='#{name}']"})
172
- end
173
-
174
- When /^(?:|I )(increase|decrease) the (rowspan|colspan)$/ do |increase_or_decrease, rowspan_or_colspan|
175
- name = "#{increase_or_decrease}_#{rowspan_or_colspan}".camelcase(:lower)
176
- step(%Q{I click on ".mercury-modal-content button[data-action=#{name}]"})
177
- end
178
-
179
- Then /^the selected cell should be (.*?)$/ do |locator|
180
- selector = selector_for(locator).gsub('td:', 'td.selected:')
181
- find("#{selector}", :message => "Unable to locate the selected cell for '#{selector}'")
182
- end
183
-
184
- # in general
185
- Then /^the(?: table)? (row|column) count should be (\d+)$/ do |row_or_column, expected_count|
186
- method = "get_#{row_or_column}_count".camelcase(:lower)
187
- actual_count = page.driver.execute_script("return Mercury.tableEditor.#{method}()")
188
- assert_equal expected_count.to_i, actual_count.to_i
189
- end
190
-
191
-
192
- ## Snippet specific steps
193
- #------------------------------------------------------------------------------
194
- # setting snippet options
195
- Given /^the options for the (.*?) snippet "([^"]*)" are (.*?)$/ do |snippet_name, snippet_id, options|
196
- @snippet_id = snippet_id
197
- options_json = parse_snippet_options_from(options)
198
- page.driver.execute_script <<-JAVASCRIPT
199
- Mercury.Snippet.load({#{snippet_id}: {name: '#{snippet_name}', options: #{options_json}}});
200
- JAVASCRIPT
201
- end
202
-
203
- # dragging/dropping
204
- When /^(?:|I )(?:drag|drop) (.*?) (?:into|on) (.*?)$/ do |snippet_locator, region_locator|
205
- snippet_name = snippet_name_for(snippet_locator)
206
- region_id = region_selector_for(region_locator).gsub('#', '')
207
- page.driver.within_frame('mercury_iframe') do
208
- find("##{region_id}", :message => "Unable to locate a region matching '##{region_id}'")
209
- data = " data-snippet=\"#{snippet_name}\""
210
- data << ' data-options="false"' if snippet_name == 'no_options'
211
-
212
- page.driver.execute_script <<-JAVASCRIPT
213
- var element = top.jQuery(document).find('##{region_id}');
214
- if (element.data('type') == 'markdown') {
215
- alert('unimplemented');
216
- throw('unimplemented');
217
- } else {
218
- var region = top.mercuryInstance.getRegionByName('#{region_id}');
219
- region.selection().range.collapse(true);
220
- document.execCommand('insertHTML', false, '<img #{data} src="/assets/mercury/default-snippet.png">');
221
- element.trigger('possible:drop');
222
- }
223
- JAVASCRIPT
224
- end
225
- end
226
-
227
- When /^(?:|I )hover over (.*?)(?: in (.*?))?$/ do |locator, region_locator|
228
- step(%Q{I can simulate complex javascript events})
229
- selector = selector_for(locator)
230
- region_selector = region_selector_for(region_locator)
231
- page.driver.within_frame('mercury_iframe') do
232
- find("#{region_selector}", :message => "Unable to locate a region matching '#{region_selector}'")
233
- page.driver.execute_script <<-JAVASCRIPT
234
- var element = top.jQuery(document).find('#{region_selector}');
235
- if (element.data('type') == 'markdown') {
236
- alert('unimplemented');
237
- throw('unimplemented');
238
- } else {
239
- element.find('#{selector}').simulate('mousemove');
240
- }
241
- JAVASCRIPT
242
- end
243
- end
244
-
245
- When /^(?:|I )edit the snippet$/ do
246
- step(%{I hover over the snippet})
247
- step(%{I click on the edit snippet settings toolbar button})
248
- end
249
-
250
-
251
- ## Javascript event simulation steps
252
- #------------------------------------------------------------------------------
253
- Given /^(?:|I )can simulate complex javascript events$/ do
254
- page.driver.execute_script(JQUERY_EVENT_SIMULATION_JAVASCRIPT)
255
- end
256
-
257
- #------------------------------------------------------------------------------
258
-
259
- JQUERY_EVENT_SIMULATION_JAVASCRIPT = <<-JAVASCRIPT
260
- /*
261
- * jquery.simulate - simulate browser mouse and keyboard events
262
- *
263
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
264
- * Dual licensed under the MIT or GPL Version 2 licenses.
265
- * http://jquery.org/license
266
- *
267
- */
268
- ;(function($) {
269
-
270
- $.fn.extend({
271
- simulate: function(type, options) {
272
- return this.each(function() {
273
- var opt = $.extend({}, $.simulate.defaults, options || {});
274
- new $.simulate(this, type, opt);
275
- });
276
- }
277
- });
278
-
279
- $.simulate = function(el, type, options) {
280
- this.target = el;
281
- this.options = options;
282
-
283
- if (/^drag$/.test(type)) {
284
- this[type].apply(this, [this.target, options]);
285
- } else {
286
- this.simulateEvent(el, type, options);
287
- }
288
- }
289
-
290
- $.extend($.simulate.prototype, {
291
- simulateEvent: function(el, type, options) {
292
- var evt = this.createEvent(type, options);
293
- this.dispatchEvent(el, type, evt, options);
294
- return evt;
295
- },
296
- createEvent: function(type, options) {
297
- if (/^mouse(over|out|down|up|move)|(dbl)?click$/.test(type)) {
298
- return this.mouseEvent(type, options);
299
- } else if (/^key(up|down|press)$/.test(type)) {
300
- return this.keyboardEvent(type, options);
301
- }
302
- },
303
- mouseEvent: function(type, options) {
304
- var evt;
305
- var e = $.extend({
306
- bubbles: true, cancelable: (type != "mousemove"), view: window, detail: 0,
307
- screenX: 0, screenY: 0, clientX: 0, clientY: 0,
308
- ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
309
- button: 0, relatedTarget: undefined
310
- }, options);
311
-
312
- var relatedTarget = $(e.relatedTarget)[0];
313
-
314
- if ($.isFunction(document.createEvent)) {
315
- evt = document.createEvent("MouseEvents");
316
- evt.initMouseEvent(type, e.bubbles, e.cancelable, e.view, e.detail,
317
- e.screenX, e.screenY, e.clientX, e.clientY,
318
- e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
319
- e.button, e.relatedTarget || document.body.parentNode);
320
- } else if (document.createEventObject) {
321
- evt = document.createEventObject();
322
- $.extend(evt, e);
323
- evt.button = { 0:1, 1:4, 2:2 }[evt.button] || evt.button;
324
- }
325
- return evt;
326
- },
327
- keyboardEvent: function(type, options) {
328
- var evt;
329
-
330
- var e = $.extend({ bubbles: true, cancelable: true, view: window,
331
- ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
332
- keyCode: 0, charCode: 0
333
- }, options);
334
-
335
- if ($.isFunction(document.createEvent)) {
336
- try {
337
- evt = document.createEvent("KeyEvents");
338
- evt.initKeyEvent(type, e.bubbles, e.cancelable, e.view,
339
- e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
340
- e.keyCode, e.charCode);
341
- } catch(err) {
342
- evt = document.createEvent("Events");
343
- evt.initEvent(type, e.bubbles, e.cancelable);
344
- $.extend(evt, { view: e.view,
345
- ctrlKey: e.ctrlKey, altKey: e.altKey, shiftKey: e.shiftKey, metaKey: e.metaKey,
346
- keyCode: e.keyCode, charCode: e.charCode
347
- });
348
- }
349
- } else if (document.createEventObject) {
350
- evt = document.createEventObject();
351
- $.extend(evt, e);
352
- }
353
- if ($.browser.msie || $.browser.opera) {
354
- evt.keyCode = (e.charCode > 0) ? e.charCode : e.keyCode;
355
- evt.charCode = undefined;
356
- }
357
- return evt;
358
- },
359
- dispatchEvent: function(el, type, evt) {
360
- if (el.dispatchEvent) {
361
- el.dispatchEvent(evt);
362
- } else if (el.fireEvent) {
363
- el.fireEvent('on' + type, evt);
364
- }
365
- return evt;
366
- },
367
- drag: function(el) {
368
- var self = this, center = this.findCenter(this.target),
369
- options = this.options, x = Math.floor(center.x), y = Math.floor(center.y),
370
- dx = options.dx || 0, dy = options.dy || 0, target = this.target;
371
- var coord = { clientX: x, clientY: y };
372
- this.simulateEvent(target, "mousedown", coord);
373
- coord = { clientX: x + 1, clientY: y + 1 };
374
- this.simulateEvent(document, "mousemove", coord);
375
- coord = { clientX: x + dx, clientY: y + dy };
376
- this.simulateEvent(document, "mousemove", coord);
377
- this.simulateEvent(document, "mousemove", coord);
378
- this.simulateEvent(target, "mouseup", coord);
379
- this.simulateEvent(target, "click", coord);
380
- },
381
- findCenter: function(el) {
382
- var el = $(this.target), o = el.offset(), d = $(document);
383
- return {
384
- x: o.left + el.outerWidth() / 2 - d.scrollLeft(),
385
- y: o.top + el.outerHeight() / 2 - d.scrollTop()
386
- };
387
- }
388
- });
389
-
390
- $.extend($.simulate, {
391
- defaults: {
392
- speed: 'sync'
393
- },
394
- VK_TAB: 9,
395
- VK_ENTER: 13,
396
- VK_ESC: 27,
397
- VK_PGUP: 33,
398
- VK_PGDN: 34,
399
- VK_END: 35,
400
- VK_HOME: 36,
401
- VK_LEFT: 37,
402
- VK_UP: 38,
403
- VK_RIGHT: 39,
404
- VK_DOWN: 40
405
- });
406
-
407
- })(jQuery);
408
- JAVASCRIPT
@@ -1,13 +0,0 @@
1
- require 'xpath'
2
-
3
- World(ActionController::RecordIdentifier)
4
-
5
- # require support files
6
- Dir[File.join(File.dirname(__FILE__), 'support', '*')].each do |file|
7
- require file
8
- end
9
-
10
- # require the common step defintions
11
- Dir[File.join(File.dirname(__FILE__), 'step_definitions', '*')].each do |file|
12
- require file
13
- end
@@ -1,19 +0,0 @@
1
- require 'rails'
2
-
3
- module Mercury
4
- class Engine < ::Rails::Engine
5
-
6
- paths['app/helpers']
7
-
8
- # Additional application configuration to include precompiled assets.
9
- initializer :assets, :group => :all do |app|
10
- app.config.assets.precompile += %w( mercury.js mercury.css mercury_overrides.css mercury_overrides.js )
11
- end
12
-
13
- # Require mercury authentication module and potentially other aspects later (so they can be overridden).
14
- initializer 'mercury.add_lib' do |app|
15
- require 'mercury/authentication'
16
- end
17
-
18
- end
19
- end
data/lib/mercury/rails.rb DELETED
@@ -1,5 +0,0 @@
1
- module Mercury
2
- require 'coffee_script'
3
- require 'mercury/version'
4
- require 'mercury/engine'
5
- end
@@ -1,3 +0,0 @@
1
- module Mercury
2
- VERSION = '0.9.0'
3
- end
data/spec/dummy/Rakefile DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env rake
2
- # Add your own tasks in files placed in lib/tasks ending in .rake,
3
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
-
5
- require File.expand_path('../config/application', __FILE__)
6
-
7
- Dummy::Application.load_tasks
File without changes