refinerycms-core 2.1.5 → 3.0.0

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 (449) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/refinery/add.png +0 -0
  3. data/app/assets/images/refinery/admin_bg.png +0 -0
  4. data/app/assets/images/refinery/ajax-loader.gif +0 -0
  5. data/app/assets/images/refinery/branch-end.gif +0 -0
  6. data/app/assets/images/refinery/branch.gif +0 -0
  7. data/app/assets/images/refinery/cross.png +0 -0
  8. data/app/assets/images/refinery/dialogLoadingAnimation.gif +0 -0
  9. data/app/assets/images/refinery/header_background.png +0 -0
  10. data/app/assets/images/refinery/hover-gradient.jpg +0 -0
  11. data/app/assets/images/refinery/icons/accept.png +0 -0
  12. data/app/assets/images/refinery/icons/add.png +0 -0
  13. data/app/assets/images/refinery/icons/ajax-loader.gif +0 -0
  14. data/app/assets/images/refinery/icons/application_edit.png +0 -0
  15. data/app/assets/images/refinery/icons/application_go.png +0 -0
  16. data/app/assets/images/refinery/icons/arrow_left.png +0 -0
  17. data/app/assets/images/refinery/icons/arrow_left_right.png +0 -0
  18. data/app/assets/images/refinery/icons/arrow_switch.png +0 -0
  19. data/app/assets/images/refinery/icons/arrow_up.png +0 -0
  20. data/app/assets/images/refinery/icons/arrow_up_down.png +0 -0
  21. data/app/assets/images/refinery/icons/bin.png +0 -0
  22. data/app/assets/images/refinery/icons/bin_closed.png +0 -0
  23. data/app/assets/images/refinery/icons/cancel.png +0 -0
  24. data/app/assets/images/refinery/icons/cog_add.png +0 -0
  25. data/app/assets/images/refinery/icons/cog_edit.png +0 -0
  26. data/app/assets/images/refinery/icons/cross.png +0 -0
  27. data/app/assets/images/refinery/icons/delete.png +0 -0
  28. data/app/assets/images/refinery/icons/doc.png +0 -0
  29. data/app/assets/images/refinery/icons/down.gif +0 -0
  30. data/app/assets/images/refinery/icons/edit.png +0 -0
  31. data/app/assets/images/refinery/icons/email.png +0 -0
  32. data/app/assets/images/refinery/icons/email_edit.png +0 -0
  33. data/app/assets/images/refinery/icons/email_go.png +0 -0
  34. data/app/assets/images/refinery/icons/email_open.png +0 -0
  35. data/app/assets/images/refinery/icons/eye.png +0 -0
  36. data/app/assets/images/refinery/icons/folder.png +0 -0
  37. data/app/assets/images/refinery/icons/folder_open.png +0 -0
  38. data/app/assets/images/refinery/icons/folder_page_white.png +0 -0
  39. data/app/assets/images/refinery/icons/image_add.png +0 -0
  40. data/app/assets/images/refinery/icons/image_edit.png +0 -0
  41. data/app/assets/images/refinery/icons/img.png +0 -0
  42. data/app/assets/images/refinery/icons/information.png +0 -0
  43. data/app/assets/images/refinery/icons/layout_add.png +0 -0
  44. data/app/assets/images/refinery/icons/layout_edit.png +0 -0
  45. data/app/assets/images/refinery/icons/locale-blue.svg +15 -0
  46. data/app/assets/images/refinery/icons/locale.svg +11 -0
  47. data/app/assets/images/refinery/icons/music.png +0 -0
  48. data/app/assets/images/refinery/icons/page.png +0 -0
  49. data/app/assets/images/refinery/icons/page_add.png +0 -0
  50. data/app/assets/images/refinery/icons/page_edit.png +0 -0
  51. data/app/assets/images/refinery/icons/page_white_edit.png +0 -0
  52. data/app/assets/images/refinery/icons/page_white_gear.png +0 -0
  53. data/app/assets/images/refinery/icons/page_white_put.png +0 -0
  54. data/app/assets/images/refinery/icons/pdf.png +0 -0
  55. data/app/assets/images/refinery/icons/ppt.png +0 -0
  56. data/app/assets/images/refinery/icons/star.png +0 -0
  57. data/app/assets/images/refinery/icons/tick.png +0 -0
  58. data/app/assets/images/refinery/icons/up.gif +0 -0
  59. data/app/assets/images/refinery/icons/user_add.png +0 -0
  60. data/app/assets/images/refinery/icons/user_comment.png +0 -0
  61. data/app/assets/images/refinery/icons/user_edit.png +0 -0
  62. data/app/assets/images/refinery/icons/xls.png +0 -0
  63. data/app/assets/images/refinery/icons/zip.png +0 -0
  64. data/app/assets/images/refinery/icons/zoom.png +0 -0
  65. data/app/assets/images/refinery/logo-large.png +0 -0
  66. data/app/assets/images/refinery/logo-medium.png +0 -0
  67. data/app/assets/images/refinery/logo-site-bar.png +0 -0
  68. data/app/assets/images/refinery/logo-small-medium.png +0 -0
  69. data/app/assets/images/refinery/logo-small.png +0 -0
  70. data/app/assets/images/refinery/logo-tiny.png +0 -0
  71. data/app/assets/images/refinery/logo.png +0 -0
  72. data/app/assets/images/refinery/nav-3-background.gif +0 -0
  73. data/app/assets/images/refinery/nav_inactive_background.png +0 -0
  74. data/app/assets/images/refinery/orange_button.png +0 -0
  75. data/app/assets/images/refinery/page_bg.png +0 -0
  76. data/app/assets/images/refinery/text_field_background.png +0 -0
  77. data/app/assets/images/refinery/tooltip-nib.gif +0 -0
  78. data/app/assets/images/refinery/tooltip-nib.png +0 -0
  79. data/app/assets/javascripts/admin.js +7 -6
  80. data/app/assets/javascripts/refinery/admin.js.erb +99 -60
  81. data/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee +2 -5
  82. data/app/assets/javascripts/refinery/application.js +8 -0
  83. data/app/assets/javascripts/refinery/core.js +4 -18
  84. data/app/assets/javascripts/refinery/interface.js.coffee.erb +5 -29
  85. data/app/assets/javascripts/refinery/modal_dialogs.js.erb +0 -105
  86. data/app/assets/javascripts/refinery/nestedsortables.js +183 -110
  87. data/app/assets/javascripts/refinery/refinery.js.erb +3 -9
  88. data/app/assets/javascripts/refinery/serializelist.js +1 -1
  89. data/app/assets/javascripts/refinery/site_bar.js +0 -5
  90. data/app/assets/javascripts/refinery/sortable_list.js +10 -11
  91. data/app/assets/javascripts/refinery/submit_continue.js.coffee.erb +1 -1
  92. data/app/assets/stylesheets/application.scss +2 -0
  93. data/app/assets/stylesheets/refinery/_colours.scss +18 -0
  94. data/app/assets/stylesheets/refinery/_icons.scss +85 -0
  95. data/app/assets/stylesheets/refinery/{layout.css.scss → _layout.scss} +306 -338
  96. data/app/assets/stylesheets/refinery/_mixins.scss +84 -0
  97. data/app/assets/stylesheets/refinery/{submenu.css.scss → _submenu.scss} +2 -2
  98. data/app/assets/stylesheets/refinery/{tooltips.css.scss → _tooltips.scss} +0 -0
  99. data/app/assets/stylesheets/refinery/_ui.scss +252 -0
  100. data/app/assets/stylesheets/refinery/{formatting.css.scss → formatting.scss} +0 -0
  101. data/app/assets/stylesheets/refinery/refinery.scss +10 -0
  102. data/app/assets/stylesheets/refinery/site_bar.scss +126 -0
  103. data/app/assets/stylesheets/refinery/{theme.css.scss → theme.scss} +0 -0
  104. data/app/controllers/refinery/admin/core_controller.rb +2 -7
  105. data/app/controllers/refinery/admin/dialogs_controller.rb +4 -3
  106. data/app/controllers/refinery/admin_controller.rb +0 -1
  107. data/app/controllers/refinery/fast_controller.rb +0 -4
  108. data/app/helpers/refinery/admin/visual_editor_helper.rb +13 -0
  109. data/app/helpers/refinery/admin_helper.rb +4 -0
  110. data/app/helpers/refinery/custom_assets_helper.rb +2 -2
  111. data/app/helpers/refinery/image_helper.rb +9 -8
  112. data/app/helpers/refinery/meta_helper.rb +1 -1
  113. data/app/helpers/refinery/site_bar_helper.rb +16 -2
  114. data/app/helpers/refinery/tag_helper.rb +38 -5
  115. data/app/models/refinery/core/base_model.rb +3 -1
  116. data/app/views/layouts/refinery/admin.html.erb +12 -10
  117. data/app/views/layouts/refinery/admin_dialog.html.erb +1 -4
  118. data/app/views/refinery/_content_page.html.erb +1 -1
  119. data/app/views/refinery/_google_analytics.html.erb +8 -9
  120. data/app/views/refinery/_head.html.erb +1 -1
  121. data/app/views/refinery/_javascripts.html.erb +0 -15
  122. data/app/views/refinery/_message.html.erb +1 -1
  123. data/app/views/refinery/_site_bar.html.erb +9 -6
  124. data/app/views/refinery/admin/_error_messages.html.erb +4 -4
  125. data/app/views/refinery/admin/_form_actions.html.erb +1 -0
  126. data/app/views/refinery/admin/_form_advanced_options_menu.html.erb +3 -4
  127. data/app/views/refinery/admin/_head.html.erb +3 -0
  128. data/app/views/refinery/admin/_image_picker.html.erb +4 -5
  129. data/app/views/refinery/admin/_javascripts.html.erb +4 -9
  130. data/app/views/refinery/admin/_locale_picker.html.erb +9 -2
  131. data/app/views/refinery/admin/_make_sortable.html.erb +8 -6
  132. data/app/views/refinery/admin/_menu.html.erb +2 -15
  133. data/app/views/refinery/admin/_menu_item.html.erb +3 -0
  134. data/app/views/refinery/admin/_resource_picker.html.erb +12 -22
  135. data/app/views/refinery/admin/_search.html.erb +1 -1
  136. data/app/views/refinery/admin/_tabbed_fields.html.erb +2 -2
  137. data/app/views/refinery/admin/_wysiwyg.html.erb +1 -1
  138. data/{lib/generators/refinery/cms/templates/app/decorators/controllers/refinery/.gitkeep → app/views/refinery/admin/dialog_success.html.erb} +0 -0
  139. data/app/views/refinery/admin/dialogs/show.html.erb +1 -19
  140. data/config/initializers/assets.rb +6 -0
  141. data/config/locales/ca.yml +84 -0
  142. data/config/locales/cs.yml +12 -5
  143. data/config/locales/en.yml +6 -2
  144. data/config/locales/fr.yml +15 -11
  145. data/config/locales/hu.yml +3 -1
  146. data/config/locales/it.yml +5 -1
  147. data/config/locales/ja.yml +2 -2
  148. data/config/locales/pt.yml +5 -3
  149. data/config/locales/ru.yml +7 -0
  150. data/config/locales/sl.yml +0 -3
  151. data/config/locales/tr.yml +43 -41
  152. data/config/routes.rb +1 -4
  153. data/lib/generators/refinery/cms/cms_generator.rb +68 -26
  154. data/lib/generators/refinery/cms/templates/app/decorators/{models/refinery/.gitkeep → controllers/refinery/.keep} +0 -0
  155. data/lib/generators/refinery/{form/templates/.gitkeep → cms/templates/app/decorators/models/refinery/.keep} +0 -0
  156. data/lib/generators/refinery/cms/templates/config/database.yml.mysql +3 -3
  157. data/lib/generators/refinery/cms/templates/config/database.yml.postgresql +3 -3
  158. data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +18 -5
  159. data/lib/generators/refinery/dummy/dummy_generator.rb +3 -1
  160. data/lib/generators/refinery/dummy/templates/rails/application.js +3 -0
  161. data/lib/generators/refinery/dummy/templates/rails/application.rb.erb +0 -2
  162. data/lib/generators/refinery/dummy/templates/rails/blank.png +0 -0
  163. data/lib/generators/refinery/dummy/templates/rails/routes.rb +1 -1
  164. data/lib/generators/refinery/engine/engine_generator.rb +3 -2
  165. data/lib/generators/refinery/engine/templates/Gemfile +9 -4
  166. data/lib/generators/refinery/engine/templates/Rakefile +3 -4
  167. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb.erb +11 -2
  168. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/plural_name_controller.rb.erb +2 -2
  169. data/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb.erb +5 -5
  170. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_actions.html.erb +7 -12
  171. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_form.html.erb +8 -8
  172. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +3 -3
  173. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +6 -11
  174. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +1 -1
  175. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/show.html.erb +4 -4
  176. data/lib/generators/refinery/engine/templates/db/migrate/1_create_namespace_plural_name.rb.erb +2 -9
  177. data/lib/generators/refinery/engine/templates/db/seeds.rb.erb +13 -19
  178. data/lib/generators/refinery/engine/templates/lib/refinery/plural_name/engine.rb.erb +0 -4
  179. data/lib/generators/refinery/engine/templates/readme.md +3 -3
  180. data/lib/generators/refinery/engine/templates/refinerycms-extension_plural_name.gemspec +1 -0
  181. data/lib/generators/refinery/engine/templates/spec/features/refinery/namespace/admin/plural_name_spec.rb.erb +25 -28
  182. data/lib/generators/refinery/engine/templates/spec/models/refinery/namespace/singular_name_spec.rb.erb +1 -1
  183. data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +1 -1
  184. data/lib/refinery.rb +7 -9
  185. data/lib/refinery/admin/base_controller.rb +42 -32
  186. data/lib/refinery/application_controller.rb +25 -17
  187. data/lib/refinery/cli.rb +54 -19
  188. data/lib/refinery/core.rb +5 -0
  189. data/lib/refinery/core/authorisation_adapter.rb +11 -0
  190. data/lib/refinery/core/authorisation_manager.rb +14 -0
  191. data/lib/refinery/core/configuration.rb +25 -4
  192. data/lib/refinery/core/default_route.rb +16 -0
  193. data/lib/refinery/core/engine.rb +44 -25
  194. data/lib/refinery/core/nil_user.rb +42 -0
  195. data/lib/refinery/crud.rb +40 -29
  196. data/lib/refinery/extension_generation.rb +11 -22
  197. data/lib/refinery/generators/generated_attribute.rb +54 -0
  198. data/lib/refinery/generators/named_base.rb +16 -0
  199. data/lib/refinery/menu.rb +3 -2
  200. data/lib/refinery/menu_item.rb +1 -1
  201. data/lib/refinery/plugin.rb +27 -43
  202. data/lib/refinery/plugins.rb +22 -26
  203. data/lib/refinery/users_manager.rb +8 -0
  204. data/lib/refinery/version.rb +7 -3
  205. data/lib/tasks/refinery.rake +7 -0
  206. data/license.md +1 -1
  207. data/refinerycms-core.gemspec +11 -8
  208. data/spec/controllers/refinery/admin/dummy_controller_spec.rb +23 -11
  209. data/spec/controllers/refinery/sitemap_controller_spec.rb +2 -2
  210. data/spec/features/refinery/admin/custom_assets_spec.rb +12 -10
  211. data/spec/features/refinery/admin/dialogs_spec.rb +5 -5
  212. data/spec/features/refinery/admin/xhr_paging_spec.rb +24 -38
  213. data/spec/features/refinery/application_layout_spec.rb +3 -3
  214. data/spec/features/refinery/core_spec.rb +1 -1
  215. data/spec/features/refinery/site_bar_spec.rb +44 -23
  216. data/spec/helpers/refinery/admin_helper_spec.rb +15 -0
  217. data/spec/helpers/refinery/custom_assets_helper_spec.rb +15 -23
  218. data/spec/helpers/refinery/html_truncation_helper_spec.rb +10 -5
  219. data/spec/helpers/refinery/meta_helper_spec.rb +3 -3
  220. data/spec/helpers/refinery/pagination_helper_spec.rb +7 -7
  221. data/spec/helpers/refinery/tag_helper_spec.rb +4 -4
  222. data/spec/helpers/refinery/translation_helper_spec.rb +3 -3
  223. data/spec/lib/generators/refinery/cms/cms_generator_spec.rb +30 -25
  224. data/spec/lib/generators/refinery/core/core_generator_spec.rb +1 -1
  225. data/spec/lib/generators/refinery/engine/engine_generator_multiple_resources_spec.rb +7 -8
  226. data/spec/lib/generators/refinery/engine/engine_generator_sanity_check_spec.rb +15 -15
  227. data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +9 -9
  228. data/spec/lib/generators/refinery/engine/engine_generator_with_i18n_spec.rb +1 -1
  229. data/spec/lib/generators/refinery/engine/engine_generator_without_frontend_spec.rb +1 -1
  230. data/spec/lib/refinery/application_controller_spec.rb +16 -16
  231. data/spec/lib/refinery/authorisation_manager_spec.rb +10 -0
  232. data/spec/lib/refinery/cli_spec.rb +83 -21
  233. data/spec/lib/refinery/core/configuration_spec.rb +5 -5
  234. data/spec/lib/refinery/core/nil_user_spec.rb +39 -0
  235. data/spec/lib/refinery/core_spec.rb +39 -30
  236. data/spec/lib/refinery/crud_spec.rb +70 -59
  237. data/spec/lib/refinery/menu_spec.rb +4 -4
  238. data/spec/lib/refinery/plugin_spec.rb +56 -45
  239. data/spec/lib/refinery/plugins_spec.rb +39 -87
  240. data/spec/lib/refinery/users_manager_spec.rb +9 -0
  241. data/spec/support/refinery.rb +3 -8
  242. data/vendor/assets/fonts/font-awesome/FontAwesome.otf +0 -0
  243. data/vendor/assets/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  244. data/vendor/assets/fonts/font-awesome/fontawesome-webfont.svg +565 -0
  245. data/vendor/assets/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  246. data/vendor/assets/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  247. data/vendor/assets/fonts/font-awesome/fontawesome-webfont.woff2 +0 -0
  248. data/vendor/assets/stylesheets/_font-awesome-compass.scss +5 -0
  249. data/vendor/assets/stylesheets/_font-awesome-sprockets.scss +5 -0
  250. data/vendor/assets/stylesheets/_font-awesome.scss +17 -0
  251. data/vendor/assets/stylesheets/font-awesome/_animated.scss +34 -0
  252. data/vendor/assets/stylesheets/font-awesome/_bordered-pulled.scss +16 -0
  253. data/vendor/assets/stylesheets/font-awesome/_core.scss +12 -0
  254. data/vendor/assets/stylesheets/font-awesome/_extras.scss +44 -0
  255. data/vendor/assets/stylesheets/font-awesome/_fixed-width.scss +6 -0
  256. data/vendor/assets/stylesheets/font-awesome/_icons.scss +596 -0
  257. data/vendor/assets/stylesheets/font-awesome/_larger.scss +13 -0
  258. data/vendor/assets/stylesheets/font-awesome/_list.scss +19 -0
  259. data/vendor/assets/stylesheets/font-awesome/_mixins.scss +26 -0
  260. data/vendor/assets/stylesheets/font-awesome/_path.scss +14 -0
  261. data/vendor/assets/stylesheets/font-awesome/_rotated-flipped.scss +20 -0
  262. data/vendor/assets/stylesheets/font-awesome/_stacked.scss +20 -0
  263. data/vendor/assets/stylesheets/font-awesome/_variables.scss +606 -0
  264. metadata +144 -441
  265. data/app/assets/images/refinery/carousel-left.png +0 -0
  266. data/app/assets/images/refinery/carousel-right.png +0 -0
  267. data/app/assets/images/wymeditor/skins/refinery/arrow_redo.png +0 -0
  268. data/app/assets/images/wymeditor/skins/refinery/arrow_undo.png +0 -0
  269. data/app/assets/images/wymeditor/skins/refinery/eye.png +0 -0
  270. data/app/assets/images/wymeditor/skins/refinery/html5/article.png +0 -0
  271. data/app/assets/images/wymeditor/skins/refinery/html5/aside.png +0 -0
  272. data/app/assets/images/wymeditor/skins/refinery/html5/blockquote.png +0 -0
  273. data/app/assets/images/wymeditor/skins/refinery/html5/command.png +0 -0
  274. data/app/assets/images/wymeditor/skins/refinery/html5/details.png +0 -0
  275. data/app/assets/images/wymeditor/skins/refinery/html5/figcaption.png +0 -0
  276. data/app/assets/images/wymeditor/skins/refinery/html5/figure.png +0 -0
  277. data/app/assets/images/wymeditor/skins/refinery/html5/footer.png +0 -0
  278. data/app/assets/images/wymeditor/skins/refinery/html5/h1.png +0 -0
  279. data/app/assets/images/wymeditor/skins/refinery/html5/h2.png +0 -0
  280. data/app/assets/images/wymeditor/skins/refinery/html5/h3.png +0 -0
  281. data/app/assets/images/wymeditor/skins/refinery/html5/h4.png +0 -0
  282. data/app/assets/images/wymeditor/skins/refinery/html5/h5.png +0 -0
  283. data/app/assets/images/wymeditor/skins/refinery/html5/h6.png +0 -0
  284. data/app/assets/images/wymeditor/skins/refinery/html5/header.png +0 -0
  285. data/app/assets/images/wymeditor/skins/refinery/html5/hgroup.png +0 -0
  286. data/app/assets/images/wymeditor/skins/refinery/html5/mark.png +0 -0
  287. data/app/assets/images/wymeditor/skins/refinery/html5/meter.png +0 -0
  288. data/app/assets/images/wymeditor/skins/refinery/html5/nav.png +0 -0
  289. data/app/assets/images/wymeditor/skins/refinery/html5/p.png +0 -0
  290. data/app/assets/images/wymeditor/skins/refinery/html5/pre.png +0 -0
  291. data/app/assets/images/wymeditor/skins/refinery/html5/progress.png +0 -0
  292. data/app/assets/images/wymeditor/skins/refinery/html5/readme.md +0 -1
  293. data/app/assets/images/wymeditor/skins/refinery/html5/rp.png +0 -0
  294. data/app/assets/images/wymeditor/skins/refinery/html5/rt.png +0 -0
  295. data/app/assets/images/wymeditor/skins/refinery/html5/ruby.png +0 -0
  296. data/app/assets/images/wymeditor/skins/refinery/html5/section.png +0 -0
  297. data/app/assets/images/wymeditor/skins/refinery/html5/summary.png +0 -0
  298. data/app/assets/images/wymeditor/skins/refinery/html5/time.png +0 -0
  299. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-blockquote.png +0 -0
  300. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-h1.png +0 -0
  301. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-h2.png +0 -0
  302. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-h3.png +0 -0
  303. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-h4.png +0 -0
  304. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-h5.png +0 -0
  305. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-h6.png +0 -0
  306. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-p.png +0 -0
  307. data/app/assets/images/wymeditor/skins/refinery/iframe/lbl-pre.png +0 -0
  308. data/app/assets/images/wymeditor/skins/refinery/link_add.png +0 -0
  309. data/app/assets/images/wymeditor/skins/refinery/link_break.png +0 -0
  310. data/app/assets/images/wymeditor/skins/refinery/page_code.png +0 -0
  311. data/app/assets/images/wymeditor/skins/refinery/page_paste.png +0 -0
  312. data/app/assets/images/wymeditor/skins/refinery/photo_add.png +0 -0
  313. data/app/assets/images/wymeditor/skins/refinery/right.png +0 -0
  314. data/app/assets/images/wymeditor/skins/refinery/style.png +0 -0
  315. data/app/assets/images/wymeditor/skins/refinery/table_add.png +0 -0
  316. data/app/assets/images/wymeditor/skins/refinery/text_align_center.png +0 -0
  317. data/app/assets/images/wymeditor/skins/refinery/text_align_justify.png +0 -0
  318. data/app/assets/images/wymeditor/skins/refinery/text_align_left.png +0 -0
  319. data/app/assets/images/wymeditor/skins/refinery/text_align_right.png +0 -0
  320. data/app/assets/images/wymeditor/skins/refinery/text_bold.png +0 -0
  321. data/app/assets/images/wymeditor/skins/refinery/text_heading_1.png +0 -0
  322. data/app/assets/images/wymeditor/skins/refinery/text_heading_2.png +0 -0
  323. data/app/assets/images/wymeditor/skins/refinery/text_heading_3.png +0 -0
  324. data/app/assets/images/wymeditor/skins/refinery/text_heading_4.png +0 -0
  325. data/app/assets/images/wymeditor/skins/refinery/text_heading_5.png +0 -0
  326. data/app/assets/images/wymeditor/skins/refinery/text_heading_6.png +0 -0
  327. data/app/assets/images/wymeditor/skins/refinery/text_indent.png +0 -0
  328. data/app/assets/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
  329. data/app/assets/images/wymeditor/skins/refinery/text_italic.png +0 -0
  330. data/app/assets/images/wymeditor/skins/refinery/text_list_bullets.png +0 -0
  331. data/app/assets/images/wymeditor/skins/refinery/text_list_numbers.png +0 -0
  332. data/app/assets/images/wymeditor/skins/refinery/text_paragraph.png +0 -0
  333. data/app/assets/images/wymeditor/skins/refinery/text_strikethrough.png +0 -0
  334. data/app/assets/images/wymeditor/skins/refinery/text_subscript.png +0 -0
  335. data/app/assets/images/wymeditor/skins/refinery/text_superscript.png +0 -0
  336. data/app/assets/images/wymeditor/skins/refinery/text_underline.png +0 -0
  337. data/app/assets/images/wymeditor/skins/wymeditor_icon.png +0 -0
  338. data/app/assets/javascripts/refinery/boot_wym.js.erb +0 -285
  339. data/app/assets/javascripts/refinery/sortable_menu.js.coffee.erb +0 -20
  340. data/app/assets/javascripts/refinery/wymeditor.js +0 -37
  341. data/app/assets/javascripts/wymeditor/GPL-license.txt +0 -278
  342. data/app/assets/javascripts/wymeditor/MIT-license.txt +0 -20
  343. data/app/assets/javascripts/wymeditor/README +0 -35
  344. data/app/assets/javascripts/wymeditor/browsers/ie.js.erb +0 -224
  345. data/app/assets/javascripts/wymeditor/browsers/mozilla.js.erb +0 -292
  346. data/app/assets/javascripts/wymeditor/browsers/opera.js.erb +0 -123
  347. data/app/assets/javascripts/wymeditor/browsers/webkit.js.erb +0 -283
  348. data/app/assets/javascripts/wymeditor/classes.js.erb +0 -1575
  349. data/app/assets/javascripts/wymeditor/functions.js.erb +0 -222
  350. data/app/assets/javascripts/wymeditor/lang/bg.js +0 -57
  351. data/app/assets/javascripts/wymeditor/lang/ca.js +0 -45
  352. data/app/assets/javascripts/wymeditor/lang/cs.js +0 -58
  353. data/app/assets/javascripts/wymeditor/lang/da.js +0 -48
  354. data/app/assets/javascripts/wymeditor/lang/de.js +0 -45
  355. data/app/assets/javascripts/wymeditor/lang/en.js +0 -57
  356. data/app/assets/javascripts/wymeditor/lang/es.js +0 -58
  357. data/app/assets/javascripts/wymeditor/lang/fa.js +0 -46
  358. data/app/assets/javascripts/wymeditor/lang/fi.js +0 -57
  359. data/app/assets/javascripts/wymeditor/lang/fr.js +0 -58
  360. data/app/assets/javascripts/wymeditor/lang/he.js +0 -45
  361. data/app/assets/javascripts/wymeditor/lang/hu.js +0 -45
  362. data/app/assets/javascripts/wymeditor/lang/it.js +0 -48
  363. data/app/assets/javascripts/wymeditor/lang/ja.js +0 -47
  364. data/app/assets/javascripts/wymeditor/lang/lv.js +0 -47
  365. data/app/assets/javascripts/wymeditor/lang/nb.js +0 -48
  366. data/app/assets/javascripts/wymeditor/lang/nl.js +0 -57
  367. data/app/assets/javascripts/wymeditor/lang/nn.js +0 -45
  368. data/app/assets/javascripts/wymeditor/lang/pl.js +0 -56
  369. data/app/assets/javascripts/wymeditor/lang/pt-BR.js +0 -58
  370. data/app/assets/javascripts/wymeditor/lang/pt.js +0 -45
  371. data/app/assets/javascripts/wymeditor/lang/rs.js +0 -47
  372. data/app/assets/javascripts/wymeditor/lang/ru.js +0 -57
  373. data/app/assets/javascripts/wymeditor/lang/sk.js +0 -56
  374. data/app/assets/javascripts/wymeditor/lang/sl.js +0 -47
  375. data/app/assets/javascripts/wymeditor/lang/sv.js +0 -45
  376. data/app/assets/javascripts/wymeditor/lang/tr.js +0 -45
  377. data/app/assets/javascripts/wymeditor/lang/vi.js +0 -47
  378. data/app/assets/javascripts/wymeditor/lang/zh-CN.js +0 -47
  379. data/app/assets/javascripts/wymeditor/prototypes.js.erb +0 -1103
  380. data/app/assets/javascripts/wymeditor/setup.js.erb +0 -622
  381. data/app/assets/javascripts/wymeditor/skins/refinery/skin.js +0 -45
  382. data/app/assets/javascripts/wymeditor/validators.js.erb +0 -777
  383. data/app/assets/stylesheets/refinery/refinery.css +0 -15
  384. data/app/assets/stylesheets/refinery/site_bar.css.scss +0 -92
  385. data/app/assets/stylesheets/refinery/ui.css.scss +0 -103
  386. data/app/assets/stylesheets/wymeditor/skins/refinery/skin.css.scss +0 -530
  387. data/app/assets/stylesheets/wymeditor/skins/refinery/wymiframe.css.scss +0 -156
  388. data/app/helpers/refinery/admin/core_helper.rb +0 -6
  389. data/app/helpers/refinery/admin/dialogs_helper.rb +0 -6
  390. data/app/helpers/refinery/fast_helper.rb +0 -4
  391. data/app/helpers/refinery/sitemap_helper.rb +0 -4
  392. data/app/views/refinery/wymiframe.html.erb +0 -14
  393. data/lib/generators/refinery/form/USAGE +0 -20
  394. data/lib/generators/refinery/form/form_generator.rb +0 -25
  395. data/lib/generators/refinery/form/templates/.gitignore +0 -2
  396. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb.erb +0 -54
  397. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/settings_controller.rb.erb +0 -45
  398. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/plural_name_controller.rb.erb +0 -53
  399. data/lib/generators/refinery/form/templates/app/mailers/refinery/namespace/mailer.rb.erb +0 -22
  400. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/setting.rb.erb +0 -34
  401. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb.erb +0 -49
  402. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +0 -23
  403. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +0 -25
  404. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_submenu.html.erb +0 -29
  405. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +0 -4
  406. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/show.html.erb +0 -52
  407. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/spam.html.erb +0 -27
  408. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_confirmation_email_form.html.erb +0 -51
  409. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_notification_recipients_form.html.erb +0 -21
  410. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/edit.html.erb +0 -5
  411. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/confirmation.html.erb +0 -1
  412. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/notification.html.erb +0 -17
  413. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/new.html.erb +0 -43
  414. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/thank_you.html.erb +0 -1
  415. data/lib/generators/refinery/form/templates/config/locales/cs.yml +0 -78
  416. data/lib/generators/refinery/form/templates/config/locales/da.yml +0 -66
  417. data/lib/generators/refinery/form/templates/config/locales/de.yml +0 -78
  418. data/lib/generators/refinery/form/templates/config/locales/en.yml +0 -78
  419. data/lib/generators/refinery/form/templates/config/locales/es.yml +0 -66
  420. data/lib/generators/refinery/form/templates/config/locales/fr.yml +0 -78
  421. data/lib/generators/refinery/form/templates/config/locales/it.yml +0 -66
  422. data/lib/generators/refinery/form/templates/config/locales/lv.yml +0 -77
  423. data/lib/generators/refinery/form/templates/config/locales/nb.yml +0 -75
  424. data/lib/generators/refinery/form/templates/config/locales/nl.yml +0 -78
  425. data/lib/generators/refinery/form/templates/config/locales/pt-BR.yml +0 -78
  426. data/lib/generators/refinery/form/templates/config/locales/ru.yml +0 -77
  427. data/lib/generators/refinery/form/templates/config/locales/sk.yml +0 -78
  428. data/lib/generators/refinery/form/templates/config/locales/sl.yml +0 -67
  429. data/lib/generators/refinery/form/templates/config/locales/tr.yml +0 -78
  430. data/lib/generators/refinery/form/templates/config/locales/zh-CN.yml +0 -78
  431. data/lib/generators/refinery/form/templates/config/routes.rb.erb +0 -26
  432. data/lib/generators/refinery/form/templates/db/migrate/1_create_plural_name.rb.erb +0 -39
  433. data/lib/generators/refinery/form/templates/db/seeds.rb.erb +0 -31
  434. data/lib/generators/refinery/form/templates/lib/generators/refinery/plural_name_generator.rb.erb +0 -20
  435. data/lib/generators/refinery/form/templates/lib/refinery/plural_name.rb.erb +0 -18
  436. data/lib/generators/refinery/form/templates/lib/refinery/plural_name/engine.rb.erb +0 -27
  437. data/lib/generators/refinery/form/templates/lib/refinerycms-plural_name.rb.erb +0 -1
  438. data/lib/generators/refinery/form/templates/refinerycms-plural_name.gemspec +0 -16
  439. data/lib/generators/refinery/form/templates/script/rails +0 -10
  440. data/lib/refinery/activity.rb +0 -113
  441. data/lib/refinery/ext/action_view/helpers/form_builder.rb +0 -9
  442. data/lib/refinery/ext/action_view/helpers/form_helper.rb +0 -20
  443. data/lib/refinery/ext/action_view/helpers/form_tag_helper.rb +0 -10
  444. data/spec/controllers/refinery/admin/refinery_core_controller_spec.rb +0 -19
  445. data/spec/controllers/refinery/fast_controller_spec.rb +0 -12
  446. data/spec/lib/generators/refinery/form/form_generator_spec.rb +0 -99
  447. data/spec/lib/refinery/activity_spec.rb +0 -46
  448. data/spec/support/background_selenium_firefox_driver.rb +0 -14
  449. data/vendor/assets/javascripts/jquery/jquery.jcarousel.js +0 -900
@@ -2,7 +2,7 @@
2
2
  require File.expand_path('../../core/lib/refinery/version', __FILE__)
3
3
 
4
4
  version = Refinery::Version.to_s
5
- rails_version = ['>= 3.1.11', '< 3.3'] | 0.upto(11).map{|i| "!= 3.2.#{i}"}
5
+ rails_version = ['>= 4.2.3', '< 5.0']
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.platform = Gem::Platform::RUBY
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.version = version
11
11
  s.summary = %q{Core extension for Refinery CMS}
12
12
  s.description = %q{The core of Refinery CMS. This handles the common functionality and is required by most extensions}
13
- s.email = %q{info@refinerycms.com}
13
+ s.email = %q{refinerycms@p.arndt.io}
14
14
  s.homepage = %q{http://refinerycms.com}
15
15
  s.rubyforge_project = %q{refinerycms}
16
16
  s.authors = ['Philip Arndt', 'Uģis Ozols', 'Rob Yurkowski']
@@ -20,16 +20,19 @@ Gem::Specification.new do |s|
20
20
  s.files = `git ls-files`.split("\n")
21
21
  s.test_files = `git ls-files -- spec/*`.split("\n")
22
22
 
23
- s.required_ruby_version = '>= 1.9.3'
23
+ s.required_ruby_version = Refinery::Version.required_ruby_version
24
24
 
25
- s.add_dependency 'refinerycms-i18n', '~> 2.1.0'
26
- s.add_dependency 'awesome_nested_set', '~> 2.1.3'
25
+ s.add_dependency 'refinerycms-i18n', '~> 3.0.0'
26
+ s.add_dependency 'awesome_nested_set', '~> 3.0.0'
27
27
  s.add_dependency 'railties', rails_version
28
28
  s.add_dependency 'activerecord', rails_version
29
29
  s.add_dependency 'actionpack', rails_version
30
30
  s.add_dependency 'truncate_html', '~> 0.9'
31
31
  s.add_dependency 'will_paginate', '~> 3.0.2'
32
- s.add_dependency 'sass-rails', '~> 3.2.3'
33
- s.add_dependency 'jquery-rails', '~> 2.3.0'
34
- s.add_dependency 'decorators', '~> 1.0.0'
32
+ s.add_dependency 'sass-rails', '>= 4.0', '< 5.1'
33
+ s.add_dependency 'coffee-rails', ['~> 4.0', '>= 4.0.0']
34
+ s.add_dependency 'jquery-rails', '>= 2.3.0'
35
+ s.add_dependency 'jquery-ui-rails', '~> 5.0.0'
36
+ s.add_dependency 'decorators', '~> 2.0.0'
37
+ s.add_dependency 'zilch-authorisation'
35
38
  end
@@ -12,41 +12,53 @@ end
12
12
 
13
13
  module Refinery
14
14
  module Admin
15
- describe DummyController do
15
+ describe DummyController, :type => :controller do
16
+ before do
17
+ @routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
18
+ r.draw do
19
+ namespace :refinery do
20
+ namespace :admin do
21
+ resources :dummy
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+
16
28
  context "as refinery user" do
17
- refinery_login_with :refinery
29
+ refinery_login
18
30
 
19
31
  context "with permission" do
20
- let(:controller_permission) { true }
21
32
  it "allows access" do
22
- controller.should_not_receive :error_404
33
+ allow(controller).to receive(:allow_controller?).and_return(true)
34
+ expect(controller).not_to receive :error_404
23
35
  get :index
24
36
  end
25
37
  end
26
38
 
27
39
  context "without permission" do
28
- let(:controller_permission) { false }
29
40
  it "denies access" do
30
- controller.should_receive :error_404
41
+ allow(controller).to receive(:allow_controller?).and_return(false)
42
+ expect(controller).to receive :error_404
31
43
  get :index
32
44
  end
33
45
  end
34
46
 
35
47
  describe "force_ssl!" do
36
48
  before do
37
- controller.stub(:require_refinery_users!).and_return(false)
49
+ allow(controller).to receive(:require_refinery_users!).and_return(false)
38
50
  end
39
51
 
40
52
  it "is false so standard HTTP is used" do
41
- Refinery::Core.stub(:force_ssl).and_return(false)
42
- controller.should_not_receive(:redirect_to).with(:protocol => 'https')
53
+ allow(Refinery::Core).to receive(:force_ssl).and_return(false)
54
+ expect(controller).not_to receive(:redirect_to).with(:protocol => 'https')
43
55
 
44
56
  get :index
45
57
  end
46
58
 
47
59
  it "is true so HTTPS is used" do
48
- Refinery::Core.stub(:force_ssl).and_return(true)
49
- controller.should_receive(:redirect_to).with(:protocol => 'https')
60
+ allow(Refinery::Core).to receive(:force_ssl).and_return(true)
61
+ expect(controller).to receive(:redirect_to).with(:protocol => 'https')
50
62
 
51
63
  get :index
52
64
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Refinery
4
- describe SitemapController do
4
+ describe SitemapController, :type => :controller do
5
5
  before (:each) do
6
6
  @request.env['HTTP_ACCEPT'] = 'application/xml'
7
7
  end
@@ -9,7 +9,7 @@ module Refinery
9
9
  it "shows a valid xml response" do
10
10
  get :index
11
11
 
12
- response.should be_success
12
+ expect(response).to be_success
13
13
  end
14
14
  end
15
15
  end
@@ -1,30 +1,32 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Refinery
4
- describe "custom" do
5
- refinery_login_with :refinery_user
4
+ describe "custom", :type => :feature do
5
+ refinery_login
6
+ after do
7
+ Refinery::Core.javascripts.reject! { |j| %w[custom_js].include?(j) }
8
+ Refinery::Core.stylesheets.reject! { |s| %w[custom_css].include?(s.path) }
9
+ end
6
10
 
7
11
  context "javascripts" do
8
12
  before do
9
- ::Refinery::Core.clear_javascripts!
13
+ ::Refinery::Core.config.register_javascript('custom_js')
10
14
  end
11
15
 
12
16
  it "should be rendered when specified" do
13
- ::Refinery::Core.config.register_javascript('custom_js')
14
- visit refinery.admin_dashboard_path
15
- page.body.include?('custom_js.js').should be
17
+ visit Refinery::Core.backend_path
18
+ expect(page.body.include?('custom_js.js')).to be
16
19
  end
17
20
  end
18
21
 
19
22
  context "stylesheets" do
20
23
  before do
21
- ::Refinery::Core.clear_stylesheets!
24
+ ::Refinery::Core.config.register_stylesheet('custom_css')
22
25
  end
23
26
 
24
27
  it "should be rendered when specified" do
25
- ::Refinery::Core.config.register_stylesheet('custom_css')
26
- visit refinery.admin_dashboard_path
27
- page.body.include?('custom_css.css').should be
28
+ visit Refinery::Core.backend_path
29
+ expect(page.body).to include('custom_css.css')
28
30
  end
29
31
  end
30
32
 
@@ -1,26 +1,26 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Refinery
4
- describe "dialog" do
5
- refinery_login_with :refinery_user
4
+ describe "dialog", :type => :feature do
5
+ refinery_login
6
6
 
7
7
  context "links" do
8
8
  it "have iframe src" do
9
9
  visit refinery.admin_dialog_path('Link')
10
- page.should have_selector("iframe[src='/refinery/pages_dialogs/link_to']")
10
+ expect(page).to have_selector("iframe[src='/refinery/pages_dialogs/link_to']")
11
11
  end
12
12
  end
13
13
 
14
14
  context "images" do
15
15
  it "have iframe src" do
16
16
  visit refinery.admin_dialog_path('Image')
17
- page.should have_selector("iframe[src='/refinery/images/insert?modal=true']")
17
+ expect(page).to have_selector("iframe[src='/refinery/images/insert?modal=true']")
18
18
  end
19
19
  end
20
20
 
21
21
  context "a" do
22
22
  it "404s" do
23
- Admin::DialogsController.any_instance.should_receive(:error_404).once
23
+ expect_any_instance_of(Admin::DialogsController).to receive(:error_404).once
24
24
 
25
25
  visit refinery.admin_dialog_path('a')
26
26
  end
@@ -1,53 +1,39 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Refinery
4
- describe "Crudify" do
5
- refinery_login_with :refinery_superuser
4
+ describe "Crudify", type: :feature do
5
+ refinery_login
6
+
7
+ describe "xhr_paging", :js do
8
+ # Refinery::Admin::ImagesController specifies :order => 'created_at DESC' in crudify
9
+ let(:first_image) { Image.order('created_at DESC').first }
10
+ let(:last_image) { Image.order('created_at DESC').last }
11
+ let!(:image_1) { FactoryGirl.create :image }
12
+ let!(:image_2) { FactoryGirl.create :image }
6
13
 
7
- describe "xhr_paging", :js => true do
8
- # Refinery::Admin::UsersController specifies :order => 'username ASC' in crudify
9
- let(:first_user) { User.order('username ASC').first }
10
- let(:last_user) { User.order('username ASC').last }
11
14
  before do
12
- FactoryGirl.create :user
13
- Admin::UsersController.should_receive(:xhr_pageable?).
14
- at_least(1).times.and_return(xhr_pageable)
15
- User.stub(:per_page).and_return(1)
15
+ allow(Image).to receive(:per_page).and_return(1)
16
16
  end
17
17
 
18
- describe 'when set to true' do
19
- let(:xhr_pageable) { true }
20
- it 'should perform ajax paging of index' do
21
- visit refinery.admin_users_path
18
+ it 'performs ajax paging of index' do
19
+ visit refinery.admin_images_path
22
20
 
23
- expect(page).to have_selector('li.record', :count => 1)
24
- expect(page).to have_content(first_user.email)
21
+ expect(page).to have_selector('ul#image_grid li > img', count: 1)
22
+ expect(page).to have_css(%Q{img[alt="#{first_image.title}"]})
25
23
 
26
- within '.pagination' do
27
- click_link '2'
28
- end
24
+ # placeholder which would disappear in a full page refresh.
25
+ page.evaluate_script(
26
+ %{$('body').append('<i id="has_not_refreshed_entire_page"/>')}
27
+ )
29
28
 
30
- expect(page.evaluate_script('jQuery.active')).to eq(1)
31
- expect(page).to have_content(last_user.email)
29
+ within '.pagination' do
30
+ click_link '2'
32
31
  end
33
- end
34
-
35
- describe 'set to false' do
36
- let(:xhr_pageable) { false }
37
- it 'should not perform ajax paging of index' do
38
- visit refinery.admin_users_path
39
-
40
- expect(page).to have_selector('li.record', :count => 1)
41
- expect(page).to have_content(first_user.email)
42
32
 
43
- within '.pagination' do
44
- click_link '2'
45
- end
46
-
47
- expect(page.evaluate_script('jQuery.active')).to eq(0)
48
- expect(page).to have_content(last_user.email)
49
-
50
- end
33
+ expect(page).to have_css(%Q{img[alt="#{last_image.title}"]})
34
+ expect(page.evaluate_script(
35
+ %{$('i#has_not_refreshed_entire_page').length}
36
+ )).to eq(1)
51
37
  end
52
38
  end
53
39
  end
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Refinery
4
- describe 'layout' do
5
- refinery_login_with :refinery_user
4
+ describe 'layout', :type => :feature do
5
+ refinery_login
6
6
 
7
7
  let(:home_page) do
8
8
  FactoryGirl.create :page, :title => 'Home', :link_url => '/'
@@ -12,7 +12,7 @@ module Refinery
12
12
  it "id is the page's canonical id" do
13
13
  visit home_page.url
14
14
 
15
- page.should have_css 'body#home-page'
15
+ expect(page).to have_css 'body#home-page'
16
16
  end
17
17
  end
18
18
  end
@@ -1,6 +1,6 @@
1
1
  module Refinery
2
2
  module Core
3
- describe Engine do
3
+ describe Engine, :type => :feature do
4
4
  describe "#refinery_inclusion!" do
5
5
  it "should be idempotent" do
6
6
  expect { visit(refinery.root_path) }.to_not raise_error
@@ -1,49 +1,70 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Refinery
4
- describe "site bar" do
5
- refinery_login_with :refinery_user
4
+ describe "site bar", :type => :feature do
5
+ refinery_login
6
6
 
7
- it "have logout link" do
8
- visit refinery.admin_dashboard_path
7
+ describe "logout link" do
8
+ let(:logout_path) { '/refinery/logout' }
9
9
 
10
- page.should have_content("Log out")
11
- page.should have_selector("a[href='/refinery/logout']")
10
+ context "when set" do
11
+ before do
12
+ allow(Refinery::Core).to receive(:refinery_logout_path).and_return(logout_path)
13
+ visit Refinery::Core.backend_path
14
+ end
15
+
16
+ it "is present" do
17
+ expect(page).to have_selector("a[href='#{logout_path}']")
18
+ expect(page).to have_content("Log out")
19
+ end
20
+ end
21
+
22
+ context "when not set" do
23
+ it "is not present" do
24
+ visit Refinery::Core.backend_path
25
+ expect(page).not_to have_content("Log out")
26
+ expect(page).not_to have_selector("a[href='#{logout_path}']")
27
+ end
28
+ end
12
29
  end
13
30
 
14
31
  context "when in backend" do
15
- before { visit refinery.admin_dashboard_path }
32
+ before do
33
+ visit Refinery::Core.backend_path
34
+ end
16
35
 
17
- it "have a 'switch to your website button'" do
18
- page.should have_content("Switch to your website")
19
- page.should have_selector("a[href='/']")
36
+ it "has a 'switch to your website button'" do
37
+ expect(page).to have_content("Switch to your website")
38
+ expect(page).to have_selector("a[href='/']")
20
39
  end
21
40
 
22
41
  it "switches to frontend" do
23
- page.current_path.should == refinery.admin_dashboard_path
42
+ expect(page.current_path).to match(/\A#{Refinery::Core.backend_path}/)
24
43
  click_link "Switch to your website"
25
- page.current_path.should == refinery.root_path
44
+ expect(page.current_path).to eq(refinery.root_path)
26
45
  end
27
46
  end
28
47
 
29
48
  context "when in frontend" do
30
- before do
31
- # make a page in order to avoid 404
32
- FactoryGirl.create(:page, :link_url => "/")
33
-
34
- visit refinery.root_path
35
- end
49
+ # make a page in order to avoid 404
50
+ let!(:root_page) { FactoryGirl.create(:page, :link_url => "/") }
51
+ before { visit refinery.root_path }
36
52
 
37
- it "have a 'switch to your website editor' button" do
38
- page.should have_content("Switch to your website editor")
39
- page.should have_selector("a[href='/refinery']")
53
+ it "has a 'switch to your website editor' button" do
54
+ expect(page).to have_content("Switch to your website editor")
55
+ expect(page).to have_selector("a[href='/refinery']")
40
56
  end
41
57
 
42
58
  it "switches to backend" do
43
- page.current_path.should == refinery.root_path
59
+ expect(page.current_path).to eq(refinery.root_path)
44
60
  click_link "Switch to your website editor"
45
- page.current_path.should == refinery.admin_root_path
61
+ expect(page.current_path).to match(/\A#{Refinery::Core.backend_path}/)
46
62
  end
63
+
64
+ it "has an 'edit this page' button" do
65
+ expect(page).to have_link("Edit this page", :href => refinery.edit_admin_page_path(root_page))
66
+ end
67
+
47
68
  end
48
69
  end
49
70
  end
@@ -0,0 +1,15 @@
1
+ require "spec_helper"
2
+
3
+ module Refinery
4
+ describe AdminHelper, :type => :helper do
5
+ describe "locale_country" do
6
+ it "should return the second part of a dialect" do
7
+ expect(helper.locale_country('zh-TW')).to eq("TW")
8
+ end
9
+
10
+ it "should return the locale if it is not a dialect" do
11
+ expect(helper.locale_country('en')).to eq("EN")
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,52 +1,44 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Refinery
4
- describe CustomAssetsHelper do
5
- describe "custom_javascripts" do
6
- before do
7
- Refinery::Core.clear_javascripts!
8
- end
4
+ describe CustomAssetsHelper, :type => :helper do
5
+ def clear_assets_used_by_spec
6
+ Refinery::Core.javascripts.reject! {|j| %w[test parndt].include?(j) }
7
+ Refinery::Core.stylesheets.reject! {|s| %w[test parndt].include?(s.path) }
8
+ end
9
9
 
10
+ before { clear_assets_used_by_spec }
11
+ after { clear_assets_used_by_spec }
12
+
13
+ describe "custom_javascripts" do
10
14
  it "should return one custom javascript in array when one javascript is registred" do
11
15
  Refinery::Core.config.register_javascript("test")
12
- helper.custom_javascripts.should eq ["test"]
16
+ expect(helper.custom_javascripts.last).to eq("test")
13
17
  end
14
18
 
15
19
  it "should return two custom javascripts in array when two javascripts are registred" do
16
20
  Refinery::Core.config.register_javascript("test")
17
21
  Refinery::Core.config.register_javascript("parndt")
18
- helper.custom_javascripts.should eq ["test", "parndt"]
19
- end
20
-
21
- it "should return empty array when no javascript is registred" do
22
- helper.custom_javascripts.should eq []
22
+ expect(helper.custom_javascripts).to include("test", "parndt")
23
23
  end
24
24
  end
25
25
 
26
26
  describe "custom_stylesheets" do
27
- before do
28
- Refinery::Core.clear_stylesheets!
29
- end
30
-
31
27
  it "should return one custom stylesheet class in array when one stylesheet is registred" do
32
28
  Refinery::Core.config.register_stylesheet("test")
33
- helper.custom_stylesheets.first.path.should eq "test"
29
+ expect(helper.custom_stylesheets.last.path).to eq("test")
34
30
  end
35
31
 
36
32
  it "should return two custom stylesheet classes in array when two stylesheets are registred" do
37
33
  Refinery::Core.config.register_stylesheet("test")
38
34
  Refinery::Core.config.register_stylesheet("parndt")
39
- helper.custom_stylesheets.collect(&:path).should eq ["test", "parndt"]
40
- end
41
-
42
- it "should return empty array when no stylesheet is registred" do
43
- helper.custom_stylesheets.should eq []
35
+ expect(helper.custom_stylesheets.map(&:path)).to include("test", "parndt")
44
36
  end
45
37
 
46
38
  it "should return stylesheet class with path and options when both are specified" do
47
39
  Refinery::Core.config.register_stylesheet("test", :media => 'screen')
48
- helper.custom_stylesheets.first.path.should eq("test")
49
- helper.custom_stylesheets.first.options.should eq({:media => 'screen'})
40
+ expect(helper.custom_stylesheets.last.path).to eq("test")
41
+ expect(helper.custom_stylesheets.last.options).to eq({:media => 'screen'})
50
42
  end
51
43
  end
52
44
  end