browsercms 3.4.2 → 3.5.0.rc1

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 (367) hide show
  1. data/README.markdown +1 -0
  2. data/app/assets/images/cms/file-uploading.gif +0 -0
  3. data/app/assets/javascripts/cms/application.js +1 -0
  4. data/app/assets/javascripts/cms/attachment_manager.js.erb +87 -0
  5. data/app/assets/javascripts/cms/core_library.js.erb +38 -25
  6. data/app/assets/stylesheets/cms/application.css.erb +1 -0
  7. data/app/assets/stylesheets/cms/attachment_manager.css.scss +28 -0
  8. data/app/controllers/cms/application_controller.rb +1 -1
  9. data/app/controllers/cms/attachments_controller.rb +45 -10
  10. data/app/controllers/cms/cache_controller.rb +1 -1
  11. data/app/controllers/cms/content_block_controller.rb +134 -122
  12. data/app/controllers/cms/content_controller.rb +143 -155
  13. data/app/controllers/cms/dashboard_controller.rb +11 -9
  14. data/app/controllers/cms/error_handling.rb +19 -7
  15. data/app/controllers/cms/file_blocks_controller.rb +2 -2
  16. data/app/controllers/cms/home_controller.rb +3 -0
  17. data/app/controllers/cms/section_nodes_controller.rb +52 -44
  18. data/app/controllers/cms/sections_controller.rb +4 -2
  19. data/app/controllers/cms/toolbar_controller.rb +14 -10
  20. data/app/helpers/cms/application_helper.rb +23 -19
  21. data/app/helpers/cms/form_builder.rb +65 -18
  22. data/app/helpers/cms/mobile_helper.rb +19 -0
  23. data/app/helpers/cms/path_helper.rb +30 -4
  24. data/app/helpers/cms/rendering_helper.rb +9 -1
  25. data/app/models/cms/abstract_file_block.rb +6 -6
  26. data/app/models/cms/attachment.rb +196 -107
  27. data/app/models/cms/category.rb +3 -0
  28. data/app/models/cms/category_type.rb +2 -0
  29. data/app/models/cms/connector.rb +3 -0
  30. data/app/models/cms/content_type.rb +3 -0
  31. data/app/models/cms/content_type_group.rb +2 -0
  32. data/app/models/cms/dynamic_view.rb +4 -0
  33. data/app/models/cms/email_message.rb +2 -0
  34. data/app/models/cms/file_block.rb +9 -2
  35. data/app/models/cms/group.rb +5 -2
  36. data/app/models/cms/group_permission.rb +2 -0
  37. data/app/models/cms/group_section.rb +3 -0
  38. data/app/models/cms/group_type.rb +2 -0
  39. data/app/models/cms/group_type_permission.rb +2 -0
  40. data/app/models/cms/html_block.rb +3 -2
  41. data/app/models/cms/image_block.rb +13 -2
  42. data/app/models/cms/page.rb +14 -3
  43. data/app/models/cms/page_route.rb +4 -0
  44. data/app/models/cms/page_route_condition.rb +1 -0
  45. data/app/models/cms/page_route_option.rb +2 -0
  46. data/app/models/cms/page_route_requirement.rb +1 -0
  47. data/app/models/cms/permission.rb +3 -0
  48. data/app/models/cms/portlet.rb +2 -2
  49. data/app/models/cms/redirect.rb +2 -0
  50. data/app/models/cms/section.rb +15 -1
  51. data/app/models/cms/section_node.rb +1 -0
  52. data/app/models/cms/site.rb +3 -0
  53. data/app/models/cms/tag.rb +2 -0
  54. data/app/models/cms/tagging.rb +3 -0
  55. data/app/models/cms/task.rb +5 -1
  56. data/app/models/cms/user.rb +1 -1
  57. data/app/models/cms/user_group_membership.rb +3 -0
  58. data/app/views/cms/attachments/_attachment.html.erb +14 -0
  59. data/app/views/cms/attachments/_attachment_table.html.erb +17 -0
  60. data/app/views/cms/attachments/_attachment_wrapper.html.erb +4 -0
  61. data/app/views/cms/blocks/index.html.erb +2 -3
  62. data/app/views/cms/blocks/show.html.erb +1 -1
  63. data/app/views/cms/dynamic_views/index.html.erb +1 -1
  64. data/app/views/cms/email_messages/index.html.erb +1 -1
  65. data/app/views/cms/file_blocks/_form.html.erb +1 -27
  66. data/app/views/cms/file_blocks/_section_selector.html.erb +13 -0
  67. data/app/views/cms/file_blocks/render.html.erb +3 -3
  68. data/app/views/cms/form_builder/_cms_attachment_manager.html.erb +26 -0
  69. data/app/views/cms/form_builder/_cms_file_field.html.erb +27 -35
  70. data/app/views/cms/groups/index.html.erb +1 -1
  71. data/app/views/cms/image_blocks/_form.html.erb +1 -27
  72. data/app/views/cms/image_blocks/render.html.erb +4 -1
  73. data/app/views/cms/page_routes/index.html.erb +3 -0
  74. data/app/views/cms/shared/error.xml.erb +8 -0
  75. data/app/views/cms/tags/render.html.erb +1 -1
  76. data/app/views/cms/toolbar/_mobile_toggle.html.erb +33 -0
  77. data/app/views/cms/users/index.html.erb +1 -1
  78. data/app/views/layouts/_page_toolbar.html.erb +2 -1
  79. data/bin/bcms +21 -26
  80. data/config/routes.rb +3 -2
  81. data/db/browsercms.seeds.rb +2 -1
  82. data/db/migrate/20111130221145_browsercms340.rb +5 -4
  83. data/db/migrate/20120329144406_browsercms350.rb +32 -0
  84. data/{test/dummy/db → db}/schema.rb +97 -128
  85. data/{performance_tuning_notes.md → doc/performance_tuning_notes.md} +0 -0
  86. data/doc/release_notes.md +74 -0
  87. data/lib/browsercms.rb +3 -0
  88. data/lib/cms/acts/content_block.rb +10 -2
  89. data/lib/cms/addressable.rb +8 -0
  90. data/lib/cms/attachments/attachment_serving.rb +59 -0
  91. data/lib/cms/attachments/configuration.rb +88 -0
  92. data/lib/cms/behaviors/attaching.rb +305 -136
  93. data/lib/cms/behaviors/connecting.rb +3 -4
  94. data/lib/cms/behaviors/dynamic_attributes.rb +121 -118
  95. data/lib/cms/behaviors/flush_cache_on_change.rb +1 -3
  96. data/lib/cms/behaviors/naming.rb +16 -0
  97. data/lib/cms/behaviors/pagination.rb +4 -1
  98. data/lib/cms/behaviors/publishing.rb +9 -3
  99. data/lib/cms/behaviors/searching.rb +3 -8
  100. data/lib/cms/behaviors/soft_deleting.rb +1 -0
  101. data/lib/cms/behaviors/taggable.rb +2 -0
  102. data/lib/cms/behaviors/versioning.rb +73 -120
  103. data/lib/cms/caching.rb +53 -11
  104. data/lib/cms/commands/actions.rb +19 -2
  105. data/lib/cms/configuration.rb +44 -0
  106. data/lib/cms/content_rendering_support.rb +9 -6
  107. data/lib/cms/default_accessible.rb +13 -0
  108. data/lib/cms/domain_support.rb +22 -0
  109. data/lib/cms/engine.rb +40 -19
  110. data/lib/cms/engine_helper.rb +54 -0
  111. data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +14 -2
  112. data/lib/cms/mobile_aware.rb +67 -0
  113. data/lib/cms/route_extensions.rb +3 -0
  114. data/lib/cms/upgrades/v3_5_0.rb +155 -0
  115. data/lib/cms/version.rb +6 -1
  116. data/lib/generators/cms/content_block/content_block_generator.rb +14 -9
  117. data/lib/generators/cms/content_block/templates/_form.html.erb +17 -6
  118. data/lib/generators/cms/content_block/templates/render.html.erb +12 -5
  119. data/lib/generators/cms/template/template_generator.rb +11 -2
  120. data/lib/tasks/cms.rake +23 -0
  121. data/lib/templates/active_record/model/model.rb +6 -0
  122. metadata +127 -517
  123. data/.gitignore +0 -24
  124. data/.rvmrc +0 -2
  125. data/Gemfile +0 -29
  126. data/Gemfile.lock +0 -196
  127. data/Rakefile +0 -97
  128. data/app/assets/images/browsercms/.gitkeep +0 -0
  129. data/app/controllers/browsercms/application_controller.rb +0 -4
  130. data/browsercms.gemspec +0 -35
  131. data/config/cucumber.yml +0 -8
  132. data/config/database.jdbcmysql.yml +0 -30
  133. data/config/database.mysql.yml +0 -27
  134. data/config/database.postgres.yml +0 -25
  135. data/config/database.sqlite3.yml +0 -11
  136. data/config/environment.rb +0 -6
  137. data/config/initializers/query_reviewer_patch.rb +0 -12
  138. data/config/initializers/rack_1_2_1_patch.rb +0 -12
  139. data/config/locales/en.yml +0 -5
  140. data/features/acts_as_content_page.feature +0 -62
  141. data/features/add_content_to_pages.feature +0 -45
  142. data/features/caching.feature +0 -13
  143. data/features/ckeditor.feature +0 -11
  144. data/features/commands/confirm_aruba_works.feature +0 -24
  145. data/features/commands/generate_module.feature +0 -54
  146. data/features/commands/install_browsercms.feature +0 -21
  147. data/features/commands/new_demo_project.feature +0 -30
  148. data/features/commands/new_projects.feature +0 -50
  149. data/features/commands/upgrade_modules_to_3_4_0_from_3_1_x.feature +0 -19
  150. data/features/commands/upgrade_project_to_3_4_0_from_3_3_x.feature +0 -52
  151. data/features/commands/upgrading_modules.feature +0 -67
  152. data/features/content_blocks/manage_custom_blocks.feature +0 -67
  153. data/features/content_blocks/manage_html_blocks.feature +0 -48
  154. data/features/content_blocks/manage_image_blocks.feature +0 -41
  155. data/features/content_files.feature +0 -37
  156. data/features/content_pages.feature +0 -21
  157. data/features/generators/content_blocks_for_modules.feature +0 -58
  158. data/features/generators/content_blocks_for_projects.feature +0 -109
  159. data/features/install_content.feature +0 -25
  160. data/features/jquery-testplan.txt +0 -12
  161. data/features/manage_groups.feature +0 -33
  162. data/features/manage_page_routes.feature +0 -72
  163. data/features/manage_redirects.feature +0 -20
  164. data/features/manage_sections.feature +0 -12
  165. data/features/manage_tasks.feature +0 -25
  166. data/features/manage_users.feature +0 -38
  167. data/features/page_templates.feature +0 -49
  168. data/features/portlets/email_friend_portlet.feature +0 -29
  169. data/features/portlets/portlets.feature +0 -100
  170. data/features/portlets/tag_cloud_portlet.feature +0 -28
  171. data/features/sitemap/create_pages.feature +0 -15
  172. data/features/sitemap/manage_links.feature +0 -29
  173. data/features/sitemap/sitemap.feature +0 -18
  174. data/features/step_definitions/acts_as_content_page_steps.rb.rb +0 -3
  175. data/features/step_definitions/ckeditor_steps.rb +0 -13
  176. data/features/step_definitions/command_line_steps.rb +0 -212
  177. data/features/step_definitions/content_pages_steps.rb +0 -170
  178. data/features/step_definitions/data_steps.rb +0 -48
  179. data/features/step_definitions/edit_page_templates_steps.rb +0 -21
  180. data/features/step_definitions/html_blocks_steps.rb +0 -9
  181. data/features/step_definitions/install_content_steps.rb +0 -4
  182. data/features/step_definitions/manage_content_blocks_steps.rb +0 -26
  183. data/features/step_definitions/manage_image_blocks_steps.rb +0 -31
  184. data/features/step_definitions/manage_sections_steps.rb +0 -18
  185. data/features/step_definitions/manage_user_steps.rb +0 -22
  186. data/features/step_definitions/more_custom_block_steps.rb +0 -34
  187. data/features/step_definitions/page_route_steps.rb +0 -65
  188. data/features/step_definitions/page_template_steps.rb +0 -5
  189. data/features/step_definitions/permissions_steps.rb +0 -13
  190. data/features/step_definitions/portlets_steps.rb +0 -64
  191. data/features/step_definitions/redirect_steps.rb +0 -12
  192. data/features/step_definitions/sitemap_steps.rb +0 -18
  193. data/features/step_definitions/tag_cloud_steps.rb +0 -11
  194. data/features/step_definitions/task_steps.rb +0 -4
  195. data/features/step_definitions/taxonomy_steps.rb +0 -16
  196. data/features/step_definitions/upgrade_module_steps.rb +0 -76
  197. data/features/step_definitions/web_steps.rb +0 -211
  198. data/features/support/async_support.rb +0 -17
  199. data/features/support/command_line_helpers.rb +0 -63
  200. data/features/support/debug_formatter.rb +0 -7
  201. data/features/support/debugging.rb +0 -28
  202. data/features/support/env.rb +0 -73
  203. data/features/support/git_api.rb +0 -9
  204. data/features/support/open_on_first_failure.rb +0 -25
  205. data/features/support/paths.rb +0 -32
  206. data/features/support/rails_api.rb +0 -8
  207. data/features/support/selectors.rb +0 -39
  208. data/features/support/transforms.rb +0 -7
  209. data/features/taxonomy/add_content_with_category.feature +0 -30
  210. data/features/taxonomy/manage_categories.feature +0 -20
  211. data/features/taxonomy/manage_category_types.feature +0 -16
  212. data/lib/cms/init.rb +0 -105
  213. data/lib/tasks/data.rake +0 -43
  214. data/lib/tasks/db.rake +0 -82
  215. data/public/styled_file_field/index.html +0 -72
  216. data/script/cucumber +0 -10
  217. data/script/rails +0 -6
  218. data/test/console_helper.rb +0 -5
  219. data/test/custom_assertions.rb +0 -84
  220. data/test/dummy/Rakefile +0 -7
  221. data/test/dummy/app/assets/javascripts/application.js +0 -9
  222. data/test/dummy/app/assets/javascripts/content_page.js +0 -2
  223. data/test/dummy/app/assets/stylesheets/application.css +0 -7
  224. data/test/dummy/app/assets/stylesheets/content_page.css +0 -4
  225. data/test/dummy/app/controllers/application_controller.rb +0 -3
  226. data/test/dummy/app/controllers/cms/products_controller.rb +0 -2
  227. data/test/dummy/app/controllers/cms/sample_blocks_controller.rb +0 -3
  228. data/test/dummy/app/controllers/content_page_controller.rb +0 -13
  229. data/test/dummy/app/helpers/application_helper.rb +0 -2
  230. data/test/dummy/app/helpers/content_page_helper.rb +0 -2
  231. data/test/dummy/app/mailers/.gitkeep +0 -0
  232. data/test/dummy/app/models/.gitkeep +0 -0
  233. data/test/dummy/app/models/cms/sample_block.rb +0 -22
  234. data/test/dummy/app/models/product.rb +0 -5
  235. data/test/dummy/app/views/cms/products/_form.html.erb +0 -7
  236. data/test/dummy/app/views/cms/products/render.html.erb +0 -3
  237. data/test/dummy/app/views/content_page/custom_page.html.erb +0 -3
  238. data/test/dummy/app/views/content_page/index.html.erb +0 -2
  239. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  240. data/test/dummy/app/views/layouts/templates/default.html.erb +0 -17
  241. data/test/dummy/app/views/layouts/templates/subpage.html.erb +0 -16
  242. data/test/dummy/app/views/test_route/index.html.erb +0 -14
  243. data/test/dummy/config.ru +0 -4
  244. data/test/dummy/config/application.rb +0 -45
  245. data/test/dummy/config/boot.rb +0 -10
  246. data/test/dummy/config/database.yml +0 -27
  247. data/test/dummy/config/environment.rb +0 -5
  248. data/test/dummy/config/environments/development.rb +0 -32
  249. data/test/dummy/config/environments/production.rb +0 -60
  250. data/test/dummy/config/environments/test.rb +0 -46
  251. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  252. data/test/dummy/config/initializers/browsercms.rb +0 -7
  253. data/test/dummy/config/initializers/inflections.rb +0 -10
  254. data/test/dummy/config/initializers/mime_types.rb +0 -5
  255. data/test/dummy/config/initializers/quiet_sprocket_assets.rb +0 -13
  256. data/test/dummy/config/initializers/secret_token.rb +0 -7
  257. data/test/dummy/config/initializers/session_store.rb +0 -8
  258. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  259. data/test/dummy/config/locales/en.yml +0 -5
  260. data/test/dummy/config/routes.rb +0 -23
  261. data/test/dummy/db/migrate/20111228141250_create_products.rb +0 -16
  262. data/test/dummy/db/seeds.rb +0 -1
  263. data/test/dummy/lib/assets/.gitkeep +0 -0
  264. data/test/dummy/public/404.html +0 -26
  265. data/test/dummy/public/422.html +0 -26
  266. data/test/dummy/public/500.html +0 -26
  267. data/test/dummy/public/favicon.ico +0 -0
  268. data/test/dummy/script/rails +0 -6
  269. data/test/dummy/test/functional/content_page_controller_test.rb +0 -9
  270. data/test/dummy/test/unit/helpers/content_page_helper_test.rb +0 -4
  271. data/test/factories.rb +0 -235
  272. data/test/fixtures/multipart/foo.jpg +0 -0
  273. data/test/fixtures/multipart/sample_upload.txt +0 -1
  274. data/test/fixtures/multipart/second_upload.txt +0 -1
  275. data/test/fixtures/multipart/test.jpg +0 -0
  276. data/test/fixtures/multipart/version1.txt +0 -1
  277. data/test/fixtures/multipart/version2.txt +0 -1
  278. data/test/functional/cms/cache_controller_test.rb +0 -16
  279. data/test/functional/cms/categories_controller_test.rb +0 -28
  280. data/test/functional/cms/connectors_controller_test.rb +0 -64
  281. data/test/functional/cms/content_block_controller_test.rb +0 -127
  282. data/test/functional/cms/content_controller_test.rb +0 -351
  283. data/test/functional/cms/dashboard_controller_test.rb +0 -20
  284. data/test/functional/cms/file_blocks_controller_test.rb +0 -55
  285. data/test/functional/cms/home_controller_test.rb +0 -160
  286. data/test/functional/cms/html_blocks_controller_test.rb +0 -159
  287. data/test/functional/cms/image_blocks_controller_test.rb +0 -78
  288. data/test/functional/cms/links_controller_test.rb +0 -92
  289. data/test/functional/cms/log/test.log +0 -0
  290. data/test/functional/cms/pages_controller_test.rb +0 -233
  291. data/test/functional/cms/portlets_controller_test.rb +0 -57
  292. data/test/functional/cms/sections_controller_test.rb +0 -234
  293. data/test/functional/cms/sessions_controller_test.rb +0 -80
  294. data/test/functional/cms/tasks_controller_test.rb +0 -64
  295. data/test/functional/cms/toolbar_controller_test.rb +0 -76
  296. data/test/functional/cms/users_controller_test.rb +0 -218
  297. data/test/integration/cms/password_management_test.rb +0 -66
  298. data/test/integration/sitemap_performance_test.rb +0 -26
  299. data/test/mock_file.rb +0 -33
  300. data/test/performance/browsing_test.rb +0 -9
  301. data/test/support/engine_controller_hacks.rb +0 -34
  302. data/test/support/factory_helpers.rb +0 -57
  303. data/test/support/rails_3_1_routes_hack.rb +0 -70
  304. data/test/test_helper.rb +0 -199
  305. data/test/test_logging.rb +0 -67
  306. data/test/unit/active_record_callbacks.rb +0 -50
  307. data/test/unit/behaviors/attaching_test.rb +0 -370
  308. data/test/unit/behaviors/cms_user_test.rb +0 -67
  309. data/test/unit/behaviors/connectable_test.rb +0 -32
  310. data/test/unit/behaviors/connecting_test.rb +0 -56
  311. data/test/unit/behaviors/dynamic_attributes_test.rb +0 -74
  312. data/test/unit/behaviors/namespacing_test.rb +0 -76
  313. data/test/unit/behaviors/publishable_test.rb +0 -83
  314. data/test/unit/behaviors/rendering_test.rb +0 -68
  315. data/test/unit/behaviors/searching_test.rb +0 -102
  316. data/test/unit/behaviors/taggable_test.rb +0 -110
  317. data/test/unit/behaviors/userstamping_test.rb +0 -27
  318. data/test/unit/behaviors/versioning_test.rb +0 -102
  319. data/test/unit/extensions/active_record/base_test.rb +0 -25
  320. data/test/unit/extensions/hash_test.rb +0 -26
  321. data/test/unit/extensions/integer_test.rb +0 -10
  322. data/test/unit/extensions/string_test.rb +0 -14
  323. data/test/unit/factories_test.rb +0 -50
  324. data/test/unit/generators/install_generator_test.rb +0 -15
  325. data/test/unit/helpers/application_helper_test.rb +0 -104
  326. data/test/unit/helpers/date_picker_test.rb +0 -17
  327. data/test/unit/helpers/menu_helper_test.rb +0 -240
  328. data/test/unit/helpers/page_helper_test.rb +0 -69
  329. data/test/unit/helpers/path_helper_test.rb +0 -38
  330. data/test/unit/helpers/rendering_helper_test.rb +0 -8
  331. data/test/unit/lib/acts_as_content_page_test.rb +0 -72
  332. data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
  333. data/test/unit/lib/cms/engine_helper_test.rb +0 -119
  334. data/test/unit/lib/cms/sitemap_test.rb +0 -210
  335. data/test/unit/lib/cms_domain_support_test.rb +0 -44
  336. data/test/unit/lib/command_line_test.rb +0 -70
  337. data/test/unit/lib/content_block_test.rb +0 -304
  338. data/test/unit/lib/content_rendering_support_test.rb +0 -40
  339. data/test/unit/lib/generators_test.rb +0 -40
  340. data/test/unit/lib/routes_test.rb +0 -98
  341. data/test/unit/mock_file_test.rb +0 -19
  342. data/test/unit/models/attachment_test.rb +0 -160
  343. data/test/unit/models/category_test.rb +0 -40
  344. data/test/unit/models/category_type_test.rb +0 -8
  345. data/test/unit/models/connector_test.rb +0 -152
  346. data/test/unit/models/content_type_group_test.rb +0 -26
  347. data/test/unit/models/content_type_test.rb +0 -177
  348. data/test/unit/models/dynamic_views_test.rb +0 -36
  349. data/test/unit/models/email_page_portlet_test.rb +0 -20
  350. data/test/unit/models/file_block_test.rb +0 -246
  351. data/test/unit/models/group_test.rb +0 -29
  352. data/test/unit/models/html_block_test.rb +0 -121
  353. data/test/unit/models/image_block_test.rb +0 -35
  354. data/test/unit/models/link_test.rb +0 -52
  355. data/test/unit/models/namespaces_test.rb +0 -57
  356. data/test/unit/models/page_partial_test.rb +0 -37
  357. data/test/unit/models/page_route_test.rb +0 -113
  358. data/test/unit/models/page_template_test.rb +0 -50
  359. data/test/unit/models/page_test.rb +0 -879
  360. data/test/unit/models/permission_test.rb +0 -10
  361. data/test/unit/models/portlet_test.rb +0 -99
  362. data/test/unit/models/sections_test.rb +0 -278
  363. data/test/unit/models/site_test.rb +0 -50
  364. data/test/unit/models/task_test.rb +0 -150
  365. data/test/unit/models/user_test.rb +0 -358
  366. data/test/unit/schema_statements_test.rb +0 -137
  367. data/todo_list.markdown +0 -50
@@ -1,25 +0,0 @@
1
- development:
2
- adapter: postgresql
3
- database: browsercms_development
4
- username: postgres
5
- password:
6
-
7
- # Warning: The database defined as 'test' will be erased and
8
- # re-generated from your development database when you run 'rake'.
9
- # Do not set this db to the same as development or production.
10
- test:
11
- adapter: postgresql
12
- database: browsercms_test
13
- username: postgres
14
- password:
15
-
16
- production:
17
- adapter: postgresql
18
- database: browsercms_production
19
- username: postgres
20
- password:
21
-
22
-
23
- test_sqlite3:
24
- adapter: sqlite3
25
- database: db/test.sqlite3
@@ -1,11 +0,0 @@
1
- # Do not edit the database.yml file directory. BrowserCMS test suites run against multiple databases, so
2
- # make changes to the correct 'source' db file. In this case, edit: config/database.sqlite3.yml instead.
3
- development:
4
- adapter: sqlite3
5
- database: ":memory:"
6
-
7
-
8
- test:
9
- adapter: sqlite3
10
- database: "db/test.sqlite3"
11
-
@@ -1,6 +0,0 @@
1
- # Load the rails application
2
- require File.expand_path('../application', __FILE__)
3
-
4
- # Initialize the rails application
5
- Browsercms::Application.initialize!
6
-
@@ -1,12 +0,0 @@
1
- # If we are using QueryReviewer, we need to patch it to avoid the sitemap blowing up.
2
- if defined?(QueryReviewer)
3
-
4
- QueryReviewer::SqlQuery.class_eval do
5
- # Hack to prevent nil pointer errors from occuring on pages when queryanalyzer is on.
6
- def table
7
- return @subqueries.first.table unless @subqueries.empty?
8
- "fake_table"
9
- end
10
-
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # TODO: Can be removed after updating to rack 1.3.0
2
- # Avoids this issue: http://stackoverflow.com/questions/3622394/ruby-1-9-2-strange-warning-when-running-cucumber-specs
3
- module Rack
4
- module Utils
5
- def escape(s)
6
- CGI.escape(s.to_s)
7
- end
8
- def unescape(s)
9
- CGI.unescape(s)
10
- end
11
- end
12
- end
@@ -1,5 +0,0 @@
1
- # Sample localization file for English. Add more files in this directory for other locales.
2
- # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
-
4
- en:
5
- hello: "Hello world"
@@ -1,62 +0,0 @@
1
- Feature: Acts as Content Page
2
- Rails developers should be able to create standard Rails Controllers that include CMS features, including:
3
- 1. Handling of exceptions (i.e. routing to standard CMS error pages)
4
- 2. Security (protected controllers as if they were site pages.
5
-
6
- See 'Tests::PretendController' for other scenarios to pull out.
7
-
8
- Background:
9
- Given the cms database is populated
10
- And I am a guest
11
-
12
- Scenario: Use CMS templates with Rails Controllers
13
- When I visit /content-page
14
- Then the response should be 200
15
- And I should see a page titled "Content Page"
16
- And I should see the following content:
17
- | Dummy Site Template |
18
-
19
- Scenario: Set a Page Title
20
- When I visit /custom-page
21
- Then I should see a page titled "My Custom Page"
22
- And I should see the following content:
23
- | Some Custom Content |
24
-
25
- Scenario: Content Page
26
- When I visit /tests/open
27
- Then the response should be 200
28
- Then I should see the following content:
29
- | Open Page |
30
- | You can see this public page. |
31
-
32
-
33
- Scenario: Error Page
34
- When I am at /tests/error
35
- Then the response should be 500
36
- And I should see a page titled "Server Error"
37
- And I should see the following content:
38
- | The server encountered an unexpected condition that prevented it from fulfilling the request. |
39
-
40
- Scenario: Controller throws Missing Page Error
41
- When I am at /tests/not-found
42
- Then the response should be 404
43
- And I should see a page titled "Not Found"
44
- And I should see the following content:
45
- | Page Not Found |
46
-
47
-
48
- Scenario: A Controller in a 'Restricted' section
49
- Given a members only section
50
- When I am at /tests/restricted
51
- Then the response should be 403
52
- And I should see a page titled "Access Denied"
53
- And I should see the following content:
54
- | Access Denied |
55
-
56
-
57
- Scenario: NotFound Page as a Content Editor
58
- Given I am logged in as a Content Editor
59
- When I visit /tests/not-found
60
- Then the response should be 500
61
- And I should see a page titled "Error: ActiveRecord::RecordNotFound"
62
-
@@ -1,45 +0,0 @@
1
- Feature: Add Content to Pages
2
- Content Editors should be able to add content to pages.
3
-
4
- Background:
5
- Given the cms database is populated
6
-
7
- Scenario: Selecting an existing html block
8
- Given there is an Html Block with:
9
- | name | content |
10
- | Hello World | I'm content |
11
- And there is a page with:
12
- | path | name |
13
- | /some-page | Some Page |
14
- And I am logged in as a Content Editor
15
- And I turn on edit mode for /some-page
16
- When I am at /some-page
17
- And I click the Select Existing Content button
18
- Then I should see the following content:
19
- | Hello World |
20
-
21
- Scenario: Add Html/Text to a page
22
- Given there is a page with:
23
- | path | name |
24
- | /some-page | Some Page |
25
- And I am logged in as a Content Editor
26
- And I turn on edit mode for /some-page
27
- When I am at /some-page
28
- And I add new content to the page
29
- Then I should see the following content:
30
- | File |
31
- | Text |
32
- | Image |
33
- | Portlet |
34
- And I should see a page titled "Select Content Type"
35
- When I follow "Text"
36
- Then I should see a page titled "Content Library / Add New Text"
37
- And I should see the following content:
38
- | Name |
39
- | Text |
40
- When I fill in "Name" with "Hello"
41
- And I fill in "Content" with "I'm some new content"
42
- And I press "Save"
43
- Then I should see a page titled "Some Page"
44
- And I should see the following content:
45
- | I'm some new content |
@@ -1,13 +0,0 @@
1
- Feature: Caching
2
- In order for the site to scale there should be caching in place for pages.
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Clear Page Cache
9
- When I request /cms/cache
10
- Then I should see a page titled "Page Cache Info"
11
- When I click on "Clear Page Cache"
12
- Then I should see a page titled "Page Cache Info"
13
-
@@ -1,11 +0,0 @@
1
- Feature: CKEditor
2
- In order to allow non-technical users to edit HTML content
3
- the open source CKEditor (WYSIWYG) will be used for content that is HTML
4
-
5
- Scenario: Editing an Html Block
6
- Given the cms database is populated
7
- And I am logged in as a Content Editor
8
- When I request /cms/content_library
9
- And I click on "add new content"
10
- Then I should see a widget to select which editor to use
11
- And I should see the CKEditor
@@ -1,24 +0,0 @@
1
- Feature: Aruba Behavior
2
- Verifies that Aruba is configured correctly and that it is testing things as I expect them to.
3
-
4
- Background:
5
-
6
- Scenario: Create a new Rails project
7
- When I run `rails new hello_world --skip-bundle`
8
- Then a rails application named "hello_world" should exist
9
-
10
- Scenario: Previously generated projects should be cleaned up before each Scenario
11
- Then the following directories should not exist:
12
- | hello_world |
13
-
14
- Scenario: Create and verify a file exists
15
- Given a file named "test.txt" with:
16
- """
17
- hello
18
- """
19
- Then a file named "test.txt" should exist
20
-
21
- Scenario: Aruba cleans up files before each Scenario
22
- Then a file named "test.txt" should not exist
23
-
24
-
@@ -1,54 +0,0 @@
1
- @cli
2
- Feature: Generate Module
3
- A developer should be able to create a new BrowserCMS module by using a command line tool.
4
-
5
- Background:
6
-
7
- Scenario: Create a BrowserCMS module
8
- When I create a module named "bcms_store"
9
- Then a rails engine named "bcms_store" should exist
10
- And BrowserCMS should be added the .gemspec file
11
- And a file named "bcms_store/test/dummy/app/views/layouts/templates/default.html.erb" should exist
12
-
13
- Scenario: Generate a module (3.4.x)
14
- Given I run `bcms module bcms_widgets`
15
- Then I cd to "bcms_widgets"
16
- And a Gemfile should be created
17
- And the engine should be created
18
- And the installation script should be created
19
- And the following files should exist:
20
- | COPYRIGHT.txt |
21
- And the project should be LGPL licensed
22
- And the following files should exist:
23
- | test/dummy/db/browsercms.seeds.rb|
24
- And it should no longer generate a README in the public directory
25
- And the file "test/dummy/config/routes.rb" should contain:
26
- """
27
- Rails.application.routes.draw do
28
-
29
- mount BcmsWidgets::Engine => "/bcms_widgets"
30
-
31
- mount_browsercms
32
- """
33
-
34
- Scenario: Can Install modules
35
- Given I run `bcms module bcms_widgets`
36
- And I cd to "bcms_widgets"
37
- When I run `rake db:install`
38
- Then it should seed the BrowserCMS database
39
-
40
- Scenario: Packaging Modules as Gems
41
- Given I run `bcms module bcms_widgets`
42
- And I cd to "bcms_widgets"
43
- Then the file "bcms_widgets.gemspec" should contain "s.files -= Dir['lib/tasks/module_tasks.rake']"
44
- # Better tests, build the gem, check for errors
45
- # Install the gem, check the contents.
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
@@ -1,21 +0,0 @@
1
- @cli
2
- Feature: Install BrowserCMS
3
- As a Rails developer who wants to add a CMS to my Rails project,
4
- I should be able to run a single command to have it add BrowserCMS
5
- In order to be up and running fast
6
-
7
- Background:
8
- Given a rails application named "petstore" exists
9
-
10
- Scenario: Verify
11
- Then a rails application named "petstore" should exist
12
-
13
- Scenario: Install CMS into existing project
14
- Given I cd to "petstore"
15
- And I run `bcms install --skip-bundle`
16
- Then BrowserCMS should be installed in the project
17
-
18
-
19
-
20
-
21
-
@@ -1,30 +0,0 @@
1
- @cli
2
- Feature:
3
- As a new user of BrowserCMS, I want to be able to experiment with the system by creating a demo site.
4
- This demo site should have a basic look and feel, and some pages and content to play with, all of which are
5
- designed to show off some of the features of the system.
6
-
7
- Background:
8
-
9
- Scenario: Forgot to specify a name
10
- When I run `bcms demo`
11
- Then the output should contain:
12
- """
13
- "demo" was called incorrectly. Call as "bcms demo [NAME]".
14
- """
15
- And the exit status should be 0
16
-
17
- Scenario: Make a demo project
18
- When I run `bcms demo petstore`
19
- Then a demo project named "petstore" should be created
20
- When I run `rake db:install`
21
- Then it should seed the BrowserCMS database
22
- And it should seed the demo data
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
@@ -1,50 +0,0 @@
1
- @cli
2
- Feature: New Project Generator
3
- Developers should be able to create new projects from the command line.
4
-
5
- Background:
6
-
7
- Scenario: Output the Version
8
- When I run `bcms -v`
9
- Then the output should contain "BrowserCMS 3.4.2"
10
-
11
- Scenario: Create a new BrowserCMS project
12
- When I create a new BrowserCMS project named "hello"
13
- Then a rails application named "hello" should exist
14
- And a file named "public/index.html" should not exist
15
- And it should copy all the migrations into the project
16
- And the file "hello/config/routes.rb" should contain "mount_browsercms"
17
- And the file "hello/db/seeds.rb" should contain "require File.expand_path('../browsercms.seeds.rb', __FILE__)"
18
- And a file named "hello/db/browsercms.seeds.rb" should exist
19
- And a file named "hello/config/initializers/browsercms.rb" should exist
20
- And a file named "hello/app/views/layouts/templates/default.html.erb" should exist
21
- And the output should not contain "identical"
22
- And BrowserCMS should be added the Gemfile
23
- And the correct version of Rails should be added to the Gemfile
24
- And the production environment should be configured with reasonable defaults
25
-
26
- Scenario: With a specific database
27
- When I run `bcms new hello_world -d mysql`
28
- Then the file "hello_world/Gemfile" should contain "mysql2"
29
-
30
- Scenario: With an application template
31
- The exact template is irrelevant, so long as bcms command passes it to rails.
32
-
33
- When I run `bcms new hello_world -m sometemplate.rb`
34
- Then the output should contain "sometemplate.rb] could not be loaded"
35
-
36
- Scenario: Creating a new CMS project without a name
37
- When I run `bcms new`
38
- Then the output should contain:
39
- """
40
- "new" was called incorrectly. Call as "bcms new [NAME]".
41
- """
42
- And the exit status should be 0
43
-
44
- Scenario: Creating a CMS module without a name
45
- When I run `bcms module`
46
- Then the output should contain:
47
- """
48
- "module" was called incorrectly. Call as "bcms module [NAME]".
49
- """
50
- And the exit status should be 0
@@ -1,19 +0,0 @@
1
- @cli
2
- Feature: Upgrade Module from 3.1.x to 3.4.x
3
-
4
- Background:
5
- Given I am working on a BrowserCMS v3.1.x module named "bcms_widgets"
6
-
7
- Scenario: Verify Project
8
- Then a file named "script/console" should exist
9
-
10
- Scenario: Upgrade a Module from 3.1.x to 3.4.x
11
- When I run `bcms-upgrade module`
12
- Then the output should contain "Upgrading to BrowserCMS 3.3.x"
13
- And a Gemfile should be created
14
- And the engine should be created
15
- And the installation script should be created
16
-
17
-
18
-
19
-
@@ -1,52 +0,0 @@
1
- @cli
2
- Feature:
3
- Assuming there is BrowserCMS project that is currently running 3.3.x
4
- the upgrade script should handle generating, and/or manipulating files to make upgrading simple
5
-
6
- # Note: We skip running `rake rails:update` as part of these tests since it requires an interactive
7
- # command as part a separate process to overwrite files, so its very hard to wait for the exact timing.
8
-
9
- Background:
10
- Given I am working on a BrowserCMS v3.3.x project named "petstore"
11
-
12
- Scenario: Upgrade Project
13
- When I run `bcms upgrade --skip-rails`
14
- Then Gemfile should have the correct version of BrowserCMS
15
- And it should comment out Rails in the Gemfile
16
- And it should run bundle install
17
- And it should copy all the migrations into the project
18
- And it should add the seed data to the project
19
- And it should display instructions to the user
20
-
21
- Scenario: Projects with Content Block
22
- Given the project has a "turtle" block
23
- When I run `bcms upgrade --skip-rails`
24
- Then I should have a migration for updating the "turtle" versions table
25
-
26
- Scenario: Projects with Content Blocks and Models
27
- Rails models (that aren't blocks) should not have a migration generated for them.
28
-
29
- Given the project has a "turtle" block
30
- And the project has a "category" model
31
- When I run `bcms upgrade --skip-rails`
32
- Then I should have a migration for updating the "turtle" versions table
33
-
34
- Scenario: Updates version table
35
- Given the project has a "turtle" block
36
- When I run `bcms upgrade --skip-rails`
37
- When I run `rake db:migrate`
38
- Then the migration should update the version table for "turtle" block
39
-
40
- Scenario: Migrations work for new project
41
- Given the project has a "turtle" block which hasn't ever been migrated
42
- When I run `bcms upgrade --skip-rails`
43
- When I run `rake db:migrate`
44
- Then the migration should not update the version table for "turtle" block
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-