browsercms 3.1.5 → 3.3.0.beta

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 (425) hide show
  1. data/app/controllers/cms/base_controller.rb +3 -3
  2. data/app/controllers/cms/content_block_controller.rb +2 -2
  3. data/app/controllers/cms/content_controller.rb +5 -4
  4. data/app/controllers/cms/error_handling.rb +1 -1
  5. data/app/controllers/cms/routes_controller.rb +4 -5
  6. data/app/controllers/cms/section_nodes_controller.rb +1 -6
  7. data/app/controllers/cms/sections_controller.rb +2 -3
  8. data/app/controllers/cms/tasks_controller.rb +3 -0
  9. data/app/controllers/cms/users_controller.rb +1 -1
  10. data/app/helpers/cms/application_helper.rb +137 -34
  11. data/app/helpers/cms/form_builder.rb +33 -21
  12. data/app/helpers/cms/page_helper.rb +43 -10
  13. data/app/helpers/cms/path_helper.rb +1 -1
  14. data/app/helpers/cms/rendering_helper.rb +3 -4
  15. data/app/helpers/cms/section_nodes_helper.rb +5 -43
  16. data/app/models/abstract_file_block.rb +1 -16
  17. data/app/models/attachment.rb +57 -22
  18. data/app/models/category.rb +4 -4
  19. data/app/models/category_type.rb +2 -2
  20. data/app/models/cms/view_context.rb +46 -0
  21. data/app/models/connector.rb +7 -6
  22. data/app/models/content_type.rb +3 -3
  23. data/app/models/dynamic_view.rb +1 -1
  24. data/app/models/email_message.rb +2 -2
  25. data/app/models/file_block.rb +12 -0
  26. data/app/models/group.rb +4 -4
  27. data/app/models/group_type.rb +4 -4
  28. data/app/models/html_block.rb +1 -1
  29. data/app/models/image_block.rb +12 -0
  30. data/app/models/link.rb +22 -5
  31. data/app/models/page.rb +87 -46
  32. data/app/models/page_route.rb +61 -6
  33. data/app/models/permission.rb +1 -1
  34. data/app/models/portlet.rb +14 -4
  35. data/app/models/section.rb +48 -86
  36. data/app/models/section_node.rb +25 -40
  37. data/app/models/site.rb +1 -1
  38. data/app/models/tag.rb +1 -1
  39. data/app/models/task.rb +8 -7
  40. data/app/models/user.rb +2 -7
  41. data/app/portlets/forgot_password_portlet.rb +6 -2
  42. data/app/portlets/reset_password_portlet.rb +1 -1
  43. data/app/views/cms/blocks/_toolbar.html.erb +1 -1
  44. data/app/views/cms/blocks/_toolbar_for_collection.html.erb +3 -6
  45. data/app/views/cms/blocks/_toolbar_for_member.html.erb +3 -5
  46. data/app/views/cms/blocks/edit.html.erb +4 -4
  47. data/app/views/cms/blocks/index.html.erb +7 -7
  48. data/app/views/cms/blocks/new.html.erb +4 -4
  49. data/app/views/cms/blocks/show.html.erb +2 -2
  50. data/app/views/cms/blocks/usages.html.erb +2 -2
  51. data/app/views/cms/blocks/versions.html.erb +4 -4
  52. data/app/views/cms/cache/show.html.erb +2 -2
  53. data/app/views/cms/categories/_form.html.erb +2 -2
  54. data/app/views/cms/connectors/new.html.erb +6 -8
  55. data/app/views/cms/content/no_page.html.erb +1 -1
  56. data/app/views/cms/content/show.html.erb +2 -7
  57. data/app/views/cms/dashboard/_page_drafts.html.erb +1 -1
  58. data/app/views/cms/dashboard/_tasks.html.erb +1 -1
  59. data/app/views/cms/dashboard/index.html.erb +1 -1
  60. data/app/views/cms/dynamic_views/_form.html.erb +2 -2
  61. data/app/views/cms/dynamic_views/index.html.erb +7 -10
  62. data/app/views/cms/email_messages/show.html.erb +2 -2
  63. data/app/views/cms/file_blocks/_form.html.erb +4 -4
  64. data/app/views/cms/form_builder/_cms_fancy_drop_down.html.erb +2 -2
  65. data/app/views/cms/form_builder/_cms_file_field.html.erb +2 -2
  66. data/app/views/cms/form_builder/_cms_tag_list.html.erb +2 -2
  67. data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
  68. data/app/views/cms/groups/_form.html.erb +5 -5
  69. data/app/views/cms/groups/_permissions.html.erb +4 -4
  70. data/app/views/cms/groups/_sections.html.erb +1 -2
  71. data/app/views/cms/groups/index.html.erb +1 -1
  72. data/app/views/cms/html_blocks/render.html.erb +1 -1
  73. data/app/views/cms/image_blocks/_form.html.erb +4 -5
  74. data/app/views/cms/links/_form.html.erb +1 -1
  75. data/app/views/cms/links/edit.html.erb +2 -2
  76. data/app/views/cms/links/new.html.erb +2 -2
  77. data/app/views/cms/page_routes/_form.html.erb +2 -2
  78. data/app/views/cms/page_routes/index.html.erb +6 -9
  79. data/app/views/cms/page_routes/show.html.erb +5 -8
  80. data/app/views/cms/pages/_edit_connector.html.erb +1 -1
  81. data/app/views/cms/pages/_form.html.erb +3 -3
  82. data/app/views/cms/pages/edit.html.erb +2 -2
  83. data/app/views/cms/pages/new.html.erb +7 -7
  84. data/app/views/cms/pages/versions.html.erb +4 -4
  85. data/app/views/cms/redirects/_form.html.erb +2 -2
  86. data/app/views/cms/redirects/index.html.erb +8 -7
  87. data/app/views/cms/routes/index.html.erb +2 -2
  88. data/app/views/cms/section_nodes/_link.html.erb +3 -6
  89. data/app/views/cms/section_nodes/_node.html.erb +4 -13
  90. data/app/views/cms/section_nodes/_page.html.erb +7 -13
  91. data/app/views/cms/section_nodes/_section.html.erb +8 -24
  92. data/app/views/cms/section_nodes/_section_node.html.erb +10 -0
  93. data/app/views/cms/section_nodes/index.html.erb +18 -30
  94. data/app/views/cms/sections/_form.html.erb +4 -6
  95. data/app/views/cms/sections/edit.html.erb +2 -2
  96. data/app/views/cms/sections/index.html.erb +3 -3
  97. data/app/views/cms/sections/new.html.erb +3 -3
  98. data/app/views/cms/sessions/new.html.erb +3 -3
  99. data/app/views/cms/shared/_pagination.html.erb +1 -1
  100. data/app/views/cms/shared/error.html.erb +1 -1
  101. data/app/views/cms/tags/render.html.erb +2 -2
  102. data/app/views/cms/tasks/new.html.erb +4 -4
  103. data/app/views/cms/users/_form.html.erb +3 -3
  104. data/app/views/cms/users/_toolbar.html.erb +3 -3
  105. data/app/views/cms/users/change_password.html.erb +5 -5
  106. data/app/views/cms/users/edit.html.erb +2 -2
  107. data/app/views/cms/users/index.html.erb +4 -4
  108. data/app/views/cms/users/new.html.erb +2 -2
  109. data/app/views/cms/users/show.html.erb +16 -16
  110. data/app/views/layouts/_cms_toolbar.html.erb +5 -5
  111. data/app/views/layouts/_page_toolbar.html.erb +11 -11
  112. data/app/views/layouts/cms/_footer.erb +1 -1
  113. data/app/views/layouts/cms/_head.html.erb +2 -6
  114. data/app/views/layouts/cms/administration.html.erb +32 -32
  115. data/app/views/layouts/cms/content_library.html.erb +5 -5
  116. data/app/views/layouts/cms/toolbar.html.erb +1 -1
  117. data/app/views/portlets/email_page/render.html.erb +2 -2
  118. data/app/views/portlets/forgot_password/render.html.erb +1 -1
  119. data/app/views/portlets/login/render.html.erb +4 -2
  120. data/app/views/portlets/reset_password/render.html.erb +1 -1
  121. data/app/views/tests/pretend/open_with_layout.html.erb +1 -1
  122. data/bin/bcms +0 -0
  123. data/bin/bcms-upgrade +232 -0
  124. data/bin/browsercms +2 -2
  125. data/browsercms.gemspec +16 -14
  126. data/db/migrate/20100705083859_browsercms_3_3_0.rb +56 -0
  127. data/db/seeds.rb +58 -0
  128. data/doc/guides/html/authentication.html +448 -192
  129. data/doc/guides/html/build_it_yourself.html +454 -175
  130. data/doc/guides/html/building_modules.html +451 -220
  131. data/doc/guides/html/building_templates.html +448 -498
  132. data/doc/guides/html/content_blocks.html +450 -470
  133. data/doc/guides/html/customizing_browsercms.html +453 -169
  134. data/doc/guides/html/deployment_guide.html +443 -82
  135. data/doc/guides/html/files/bcmsorg.js +28 -0
  136. data/doc/guides/html/files/clearfix.css +8 -0
  137. data/doc/guides/html/files/cufon.js +7 -0
  138. data/doc/guides/html/files/global.css +190 -0
  139. data/doc/guides/html/files/helvetica.js +91 -0
  140. data/doc/guides/html/files/jquery.js +11 -0
  141. data/doc/guides/html/getting_started.html +454 -213
  142. data/doc/guides/html/index.html +454 -174
  143. data/doc/guides/html/installing_modules.html +454 -186
  144. data/doc/guides/html/portlets.html +451 -232
  145. data/doc/guides/html/user_guide.html +452 -270
  146. data/doc/guides/html/writing_guides.html +454 -161
  147. data/lib/acts_as_list.rb +1 -1
  148. data/lib/browsercms.rb +10 -6
  149. data/lib/cms/acts.rb +7 -0
  150. data/lib/cms/authentication.rb +4 -0
  151. data/lib/cms/authentication/controller.rb +1 -1
  152. data/lib/cms/behaviors.rb +1 -1
  153. data/lib/cms/behaviors/archiving.rb +2 -2
  154. data/lib/cms/behaviors/attaching.rb +28 -43
  155. data/lib/cms/behaviors/categorizing.rb +1 -1
  156. data/lib/cms/behaviors/connecting.rb +27 -12
  157. data/lib/cms/behaviors/dynamic_attributes.rb +8 -5
  158. data/lib/cms/behaviors/hiding.rb +2 -2
  159. data/lib/cms/behaviors/publishing.rb +32 -22
  160. data/lib/cms/behaviors/rendering.rb +41 -18
  161. data/lib/cms/behaviors/searching.rb +1 -1
  162. data/lib/cms/behaviors/soft_deleting.rb +58 -29
  163. data/lib/cms/behaviors/taggable.rb +1 -1
  164. data/lib/cms/behaviors/userstamping.rb +5 -4
  165. data/lib/cms/behaviors/versioning.rb +192 -111
  166. data/lib/cms/content_rendering_support.rb +3 -3
  167. data/lib/cms/date_picker.rb +23 -0
  168. data/lib/cms/engine.rb +46 -0
  169. data/lib/cms/extensions.rb +1 -1
  170. data/lib/cms/extensions/active_record/errors.rb +2 -2
  171. data/lib/cms/extensions/hash.rb +4 -2
  172. data/lib/cms/extensions/string.rb +7 -2
  173. data/lib/cms/init.rb +32 -21
  174. data/lib/cms/module.rb +22 -0
  175. data/lib/cms/module_installation.rb +38 -0
  176. data/lib/cms/routes.rb +127 -115
  177. data/lib/cms/version.rb +2 -2
  178. data/lib/generators/browser_cms.rb +12 -0
  179. data/lib/generators/browser_cms/cms/USAGE +2 -0
  180. data/lib/generators/browser_cms/cms/cms_generator.rb +36 -0
  181. data/{rails_generators/browser_cms → lib/generators/browser_cms/cms}/templates/README +0 -0
  182. data/{rails_generators/browser_cms_demo_site → lib/generators/browser_cms/demo_site}/USAGE +0 -0
  183. data/lib/generators/browser_cms/demo_site/demo_site_generator.rb +138 -0
  184. data/lib/generators/browser_cms/demo_site/templates/demo_site.rake +11 -0
  185. data/{rails_generators/browser_cms_demo_site/templates/migration.rb → lib/generators/browser_cms/demo_site/templates/migration.erb} +2 -8
  186. data/lib/generators/cms/content_block/USAGE +22 -0
  187. data/lib/generators/cms/content_block/content_block_generator.rb +55 -0
  188. data/{rails_generators → lib/generators/cms}/content_block/templates/_form.html.erb +0 -0
  189. data/{rails_generators → lib/generators/cms}/content_block/templates/content_block.rb +0 -0
  190. data/{rails_generators → lib/generators/cms}/content_block/templates/controller.rb +0 -0
  191. data/{rails_generators → lib/generators/cms}/content_block/templates/functional_test.erb +0 -0
  192. data/{rails_generators/content_block/templates/migration.rb → lib/generators/cms/content_block/templates/migration.erb} +1 -1
  193. data/{rails_generators → lib/generators/cms}/content_block/templates/render.html.erb +0 -0
  194. data/{rails_generators → lib/generators/cms}/content_block/templates/unit_test.erb +0 -0
  195. data/lib/generators/cms/install/USAGE +8 -0
  196. data/lib/generators/cms/install/install_generator.rb +20 -0
  197. data/{rails_generators → lib/generators/cms}/portlet/USAGE +3 -16
  198. data/lib/generators/cms/portlet/portlet_generator.rb +38 -0
  199. data/{rails_generators → lib/generators/cms}/portlet/templates/_form.html.erb +0 -0
  200. data/{rails_generators → lib/generators/cms}/portlet/templates/portlet.rb +0 -0
  201. data/{rails_generators → lib/generators/cms}/portlet/templates/portlet_helper.rb +0 -0
  202. data/{rails_generators → lib/generators/cms}/portlet/templates/render.html.erb +0 -0
  203. data/{rails_generators → lib/generators/cms}/portlet/templates/unit_test.erb +0 -0
  204. data/{rails_generators → lib/generators/cms}/template/USAGE +1 -1
  205. data/lib/generators/cms/template/template_generator.rb +18 -0
  206. data/lib/generators/cms/template/templates/template.erb +2 -0
  207. data/lib/generators/cms/upgrade_module/README.txt +3 -0
  208. data/lib/generators/cms/upgrade_module/templates/20100705083859_browsercms_3_3_0.rb +56 -0
  209. data/lib/generators/cms/upgrade_module/templates/README +1 -0
  210. data/lib/generators/cms/upgrade_module/templates/USAGE.erb +10 -0
  211. data/lib/generators/cms/upgrade_module/templates/build_gem.rake +5 -0
  212. data/lib/generators/cms/upgrade_module/templates/engine.erb +7 -0
  213. data/lib/generators/cms/upgrade_module/templates/gemspec.erb +25 -0
  214. data/lib/generators/cms/upgrade_module/templates/gitignore.erb +11 -0
  215. data/lib/generators/cms/upgrade_module/templates/install.erb +9 -0
  216. data/lib/generators/cms/upgrade_module/templates/module_file.erb +3 -0
  217. data/lib/generators/cms/upgrade_module/templates/routes.erb +7 -0
  218. data/lib/generators/cms/upgrade_module/upgrade_module_generator.rb +61 -0
  219. data/lib/tasks/build_gem.rake +1 -0
  220. data/lib/tasks/cms.rake +34 -6
  221. data/lib/tasks/cucumber.rake +53 -0
  222. data/lib/tasks/db.rake +2 -2
  223. data/public/javascripts/cms/application.js +144 -135
  224. data/public/javascripts/cms/sitemap.js +383 -357
  225. data/public/javascripts/jquery-ui.js +782 -591
  226. data/public/javascripts/jquery.cookie.js +38 -43
  227. data/public/javascripts/jquery.js +13 -8
  228. data/public/javascripts/jquery.taglist.js +7 -0
  229. data/public/stylesheets/cms/date_picker.css +49 -40
  230. data/rails/init.rb +2 -3
  231. data/templates/blank.rb +13 -7
  232. data/templates/demo.rb +15 -7
  233. data/templates/module.rb +12 -75
  234. metadata +87 -407
  235. data/app/helpers/cms/content_block_helper.rb +0 -27
  236. data/app/views/layouts/cms/thickbox.html.erb +0 -24
  237. data/db/migrate/20120117144039_browsercms315.rb +0 -94
  238. data/db/migrate/20121114172307_load_seeds.rb +0 -70
  239. data/lib/cms/addressable.rb +0 -83
  240. data/lib/cms/error_pages.rb +0 -8
  241. data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
  242. data/public/images/cms/thickbox/macFFBgHack.png +0 -0
  243. data/public/javascripts/jquery.contextMenu.js +0 -211
  244. data/public/javascripts/jquery.dimensions.js +0 -119
  245. data/public/javascripts/jquery.thickbox.js +0 -10
  246. data/public/stylesheets/cms/jquery.contextMenu.css +0 -61
  247. data/public/stylesheets/cms/thickbox.css +0 -163
  248. data/rails_generators/browser_cms/USAGE +0 -2
  249. data/rails_generators/browser_cms/browser_cms_generator.rb +0 -35
  250. data/rails_generators/browser_cms_demo_site/browser_cms_demo_site_generator.rb +0 -63
  251. data/rails_generators/content_block/USAGE +0 -32
  252. data/rails_generators/content_block/content_block_generator.rb +0 -69
  253. data/rails_generators/portlet/portlet_generator.rb +0 -35
  254. data/rails_generators/template/template_generator.rb +0 -18
  255. data/rails_generators/template/templates/template.erb +0 -3
  256. data/test/custom_assertions.rb +0 -74
  257. data/test/factories.rb +0 -111
  258. data/test/factories/sitemap_factories.rb +0 -28
  259. data/test/fixtures/connectors.yml +0 -97
  260. data/test/fixtures/content_type_groups.yml +0 -13
  261. data/test/fixtures/content_types.yml +0 -50
  262. data/test/fixtures/dynamic_view_versions.yml +0 -26
  263. data/test/fixtures/dynamic_views.yml +0 -26
  264. data/test/fixtures/group_permissions.yml +0 -16
  265. data/test/fixtures/group_sections.yml +0 -31
  266. data/test/fixtures/group_type_permissions.yml +0 -11
  267. data/test/fixtures/group_types.yml +0 -25
  268. data/test/fixtures/groups.yml +0 -25
  269. data/test/fixtures/html_block_versions.yml +0 -67
  270. data/test/fixtures/html_blocks.yml +0 -63
  271. data/test/fixtures/page_versions.yml +0 -265
  272. data/test/fixtures/pages.yml +0 -85
  273. data/test/fixtures/permissions.yml +0 -28
  274. data/test/fixtures/section_nodes.yml +0 -46
  275. data/test/fixtures/sections.yml +0 -19
  276. data/test/fixtures/sites.yml +0 -9
  277. data/test/fixtures/user_group_memberships.yml +0 -11
  278. data/test/fixtures/users.yml +0 -15
  279. data/test/functional/cms/cache_controller_test.rb +0 -14
  280. data/test/functional/cms/categories_controller_test.rb +0 -25
  281. data/test/functional/cms/connectors_controller_test.rb +0 -60
  282. data/test/functional/cms/content_block_controller_test.rb +0 -120
  283. data/test/functional/cms/content_controller_test.rb +0 -439
  284. data/test/functional/cms/content_types_controller_test.rb +0 -18
  285. data/test/functional/cms/dashboard_controller_test.rb +0 -16
  286. data/test/functional/cms/dynamic_views_controller_test.rb +0 -52
  287. data/test/functional/cms/file_blocks_controller_test.rb +0 -52
  288. data/test/functional/cms/groups_controller_test.rb +0 -50
  289. data/test/functional/cms/home_controller_test.rb +0 -156
  290. data/test/functional/cms/html_blocks_controller_test.rb +0 -164
  291. data/test/functional/cms/image_blocks_controller_test.rb +0 -82
  292. data/test/functional/cms/links_controller_test.rb +0 -148
  293. data/test/functional/cms/pages_controller_test.rb +0 -227
  294. data/test/functional/cms/portlets_controller_test.rb +0 -67
  295. data/test/functional/cms/section_nodes_controller_test.rb +0 -112
  296. data/test/functional/cms/sections_controller_test.rb +0 -227
  297. data/test/functional/cms/sessions_controller_test.rb +0 -76
  298. data/test/functional/cms/toolbar_controller_test.rb +0 -64
  299. data/test/functional/cms/users_controller_test.rb +0 -231
  300. data/test/functional/tests/pretend_controller_test.rb +0 -57
  301. data/test/integration/cms/ckeditor_test.rb +0 -30
  302. data/test/integration/cms/password_management_test.rb +0 -56
  303. data/test/integration/login_test.rb +0 -14
  304. data/test/integration/sitemap_performance_test.rb +0 -26
  305. data/test/selenium-core/Blank.html +0 -7
  306. data/test/selenium-core/InjectedRemoteRunner.html +0 -8
  307. data/test/selenium-core/RemoteRunner.html +0 -110
  308. data/test/selenium-core/SeleniumLog.html +0 -109
  309. data/test/selenium-core/TestPrompt.html +0 -145
  310. data/test/selenium-core/TestRunner-splash.html +0 -55
  311. data/test/selenium-core/TestRunner.hta +0 -176
  312. data/test/selenium-core/TestRunner.html +0 -176
  313. data/test/selenium-core/domviewer/butmin.gif +0 -0
  314. data/test/selenium-core/domviewer/butplus.gif +0 -0
  315. data/test/selenium-core/domviewer/domviewer.css +0 -298
  316. data/test/selenium-core/domviewer/domviewer.html +0 -16
  317. data/test/selenium-core/domviewer/selenium-domviewer.js +0 -205
  318. data/test/selenium-core/icons/all.png +0 -0
  319. data/test/selenium-core/icons/continue.png +0 -0
  320. data/test/selenium-core/icons/continue_disabled.png +0 -0
  321. data/test/selenium-core/icons/pause.png +0 -0
  322. data/test/selenium-core/icons/pause_disabled.png +0 -0
  323. data/test/selenium-core/icons/selected.png +0 -0
  324. data/test/selenium-core/icons/step.png +0 -0
  325. data/test/selenium-core/icons/step_disabled.png +0 -0
  326. data/test/selenium-core/iedoc-core.xml +0 -1515
  327. data/test/selenium-core/iedoc.xml +0 -1469
  328. data/test/selenium-core/lib/cssQuery/cssQuery-p.js +0 -6
  329. data/test/selenium-core/lib/cssQuery/src/cssQuery-level2.js +0 -142
  330. data/test/selenium-core/lib/cssQuery/src/cssQuery-level3.js +0 -150
  331. data/test/selenium-core/lib/cssQuery/src/cssQuery-standard.js +0 -53
  332. data/test/selenium-core/lib/cssQuery/src/cssQuery.js +0 -356
  333. data/test/selenium-core/lib/prototype.js +0 -2006
  334. data/test/selenium-core/lib/scriptaculous/builder.js +0 -101
  335. data/test/selenium-core/lib/scriptaculous/controls.js +0 -815
  336. data/test/selenium-core/lib/scriptaculous/dragdrop.js +0 -915
  337. data/test/selenium-core/lib/scriptaculous/effects.js +0 -958
  338. data/test/selenium-core/lib/scriptaculous/scriptaculous.js +0 -47
  339. data/test/selenium-core/lib/scriptaculous/slider.js +0 -283
  340. data/test/selenium-core/lib/scriptaculous/unittest.js +0 -383
  341. data/test/selenium-core/scripts/find_matching_child.js +0 -69
  342. data/test/selenium-core/scripts/htmlutils.js +0 -894
  343. data/test/selenium-core/scripts/injection.html +0 -72
  344. data/test/selenium-core/scripts/js2html.js +0 -70
  345. data/test/selenium-core/scripts/narcissus-defs.js +0 -175
  346. data/test/selenium-core/scripts/narcissus-exec.js +0 -1054
  347. data/test/selenium-core/scripts/narcissus-parse.js +0 -1003
  348. data/test/selenium-core/scripts/se2html.js +0 -63
  349. data/test/selenium-core/scripts/selenium-api.js +0 -2409
  350. data/test/selenium-core/scripts/selenium-browserbot.js +0 -2203
  351. data/test/selenium-core/scripts/selenium-browserdetect.js +0 -150
  352. data/test/selenium-core/scripts/selenium-commandhandlers.js +0 -377
  353. data/test/selenium-core/scripts/selenium-executionloop.js +0 -175
  354. data/test/selenium-core/scripts/selenium-logging.js +0 -147
  355. data/test/selenium-core/scripts/selenium-remoterunner.js +0 -571
  356. data/test/selenium-core/scripts/selenium-testrunner.js +0 -1333
  357. data/test/selenium-core/scripts/selenium-version.js +0 -5
  358. data/test/selenium-core/scripts/user-extensions.js +0 -3
  359. data/test/selenium-core/scripts/user-extensions.js.sample +0 -75
  360. data/test/selenium-core/scripts/xmlextras.js +0 -153
  361. data/test/selenium-core/selenium-logo.png +0 -0
  362. data/test/selenium-core/selenium-test.css +0 -43
  363. data/test/selenium-core/selenium.css +0 -299
  364. data/test/selenium-core/xpath/dom.js +0 -428
  365. data/test/selenium-core/xpath/misc.js +0 -252
  366. data/test/selenium-core/xpath/xpath.js +0 -2223
  367. data/test/selenium/_login_as_cmsadmin.rsel +0 -4
  368. data/test/selenium/dashboard.rsel +0 -5
  369. data/test/selenium/html_blocks.rsel +0 -4
  370. data/test/selenium/login/failed_login.rsel +0 -8
  371. data/test/selenium/login/successful_login.rsel +0 -9
  372. data/test/selenium/page_templates.rsel +0 -12
  373. data/test/selenium/pages/edit_properties.rsel +0 -5
  374. data/test/selenium/site/view_home_page.rsel +0 -4
  375. data/test/selenium/sitemap/move_page.rsel +0 -9
  376. data/test/selenium/sitemap/open_section.rsel +0 -6
  377. data/test/selenium/sitemap/select_page.rsel +0 -12
  378. data/test/selenium/sitemap/select_section.rsel +0 -17
  379. data/test/test_helper.rb +0 -193
  380. data/test/test_logging.rb +0 -67
  381. data/test/unit/behaviors/attaching_test.rb +0 -357
  382. data/test/unit/behaviors/connectable_test.rb +0 -29
  383. data/test/unit/behaviors/dynamic_attributes_test.rb +0 -38
  384. data/test/unit/behaviors/publishable_test.rb +0 -84
  385. data/test/unit/behaviors/searching_test.rb +0 -102
  386. data/test/unit/behaviors/taggable_test.rb +0 -109
  387. data/test/unit/behaviors/versioning_test.rb +0 -36
  388. data/test/unit/extensions/active_record/base_test.rb +0 -10
  389. data/test/unit/extensions/hash_test.rb +0 -17
  390. data/test/unit/extensions/integer_test.rb +0 -10
  391. data/test/unit/helpers/application_helper_test.rb +0 -77
  392. data/test/unit/helpers/form_builder_test.rb +0 -36
  393. data/test/unit/helpers/menu_helper_test.rb +0 -242
  394. data/test/unit/helpers/page_helper_test.rb +0 -67
  395. data/test/unit/helpers/path_helper_test.rb +0 -57
  396. data/test/unit/lib/acts_as_content_page_test.rb +0 -72
  397. data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
  398. data/test/unit/lib/cms/sitemap_test.rb +0 -206
  399. data/test/unit/lib/cms_domain_support_test.rb +0 -43
  400. data/test/unit/lib/command_line_test.rb +0 -70
  401. data/test/unit/lib/content_block_test.rb +0 -203
  402. data/test/unit/lib/content_rendering_support_test.rb +0 -40
  403. data/test/unit/lib/generators_test.rb +0 -40
  404. data/test/unit/lib/routes_test.rb +0 -57
  405. data/test/unit/models/attachment_test.rb +0 -116
  406. data/test/unit/models/category_test.rb +0 -40
  407. data/test/unit/models/category_type_test.rb +0 -8
  408. data/test/unit/models/connector_test.rb +0 -152
  409. data/test/unit/models/content_type_test.rb +0 -56
  410. data/test/unit/models/email_page_portlet_test.rb +0 -14
  411. data/test/unit/models/file_block_test.rb +0 -230
  412. data/test/unit/models/group_test.rb +0 -13
  413. data/test/unit/models/html_block_test.rb +0 -102
  414. data/test/unit/models/link_test.rb +0 -52
  415. data/test/unit/models/page_partial_test.rb +0 -29
  416. data/test/unit/models/page_route_test.rb +0 -29
  417. data/test/unit/models/page_template_test.rb +0 -40
  418. data/test/unit/models/page_test.rb +0 -792
  419. data/test/unit/models/permission_test.rb +0 -10
  420. data/test/unit/models/portlet_test.rb +0 -69
  421. data/test/unit/models/sections_test.rb +0 -264
  422. data/test/unit/models/site_test.rb +0 -50
  423. data/test/unit/models/task_test.rb +0 -141
  424. data/test/unit/models/user_test.rb +0 -352
  425. data/test/unit/schema_statements_test.rb +0 -41
@@ -1,67 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class Cms::PortletsControllerTest < ActionController::TestCase
4
- include Cms::ControllerTestHelper
5
-
6
- def setup
7
- login_as_cms_admin
8
- @block = DynamicPortlet.create!(:name => "V1", :code => "@foo = 42", :template => "<%= @foo %>")
9
- end
10
-
11
- def test_index
12
- get :index
13
- assert_response :success
14
- assert_select "#dynamic_portlet_#{@block.id}"
15
- end
16
-
17
- def test_index_does_not_show_deleted_portlets
18
- @block.destroy
19
- get :index
20
- assert_response :success
21
- assert_select "#dynamic_portlet_#{@block.id}", 0
22
- end
23
-
24
- def test_show
25
- get :show, :id => @block.id
26
- assert_response :success
27
- assert_select "a#revisions_link", false
28
- end
29
-
30
- def test_new
31
- get :new
32
- assert_response :success
33
- assert_select "title", "Content Library / Select Portlet Type"
34
- end
35
-
36
- def test_edit
37
- get :edit, :id => @block.id
38
- assert_response :success
39
- assert_select "title", "Content Library / Edit Portlet"
40
- assert_select "h1", "Edit Portlet 'V1'"
41
- end
42
-
43
- def test_destroy
44
- delete :destroy, :id => @block.id
45
- assert_redirected_to cms_portlets_path
46
- assert_raise(ActiveRecord::RecordNotFound) { DynamicPortlet.find(@block.id) }
47
- end
48
-
49
- def test_usages
50
- @page = Factory(:page, :section => root_section, :name => "Test Page", :path => "test")
51
- @page.create_connector(@block, "main")
52
- @page.reload
53
-
54
- get :usages, :id => @block.id
55
-
56
- assert_response :success
57
- assert_select "td.page_name", "Test Page"
58
- end
59
-
60
- # Doesn't really belong here, but I'm not sure how else to test the behavior of the form_builders
61
- def test_form_helpers_which_use_instructions
62
- get :new, :type=>"login_portlet"
63
- assert_response :success
64
- assert_select "div.instructions", "Leave blank to send the user to the page they were trying to access"
65
-
66
- end
67
- end
@@ -1,112 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class Cms::SectionNodesControllerTest < ActionController::TestCase
4
- include Cms::ControllerTestHelper
5
-
6
- def setup
7
- remove_all_sitemap_fixtures_to_avoid_bugs
8
- given_a_site_exists
9
- end
10
-
11
- def test_index_as_admin
12
- login_as_cms_admin
13
- @foo = Factory(:section, :name => "Foo", :parent => root_section)
14
- @bar = Factory(:section, :name => "Bar", :parent => @foo)
15
- @page = Factory(:page, :name => "Test Page", :section => @bar)
16
- get :index
17
- assert_response :success
18
- assert_select "title", "Sitemap"
19
- assert_select "h1", "Sitemap"
20
- assert_select "#sitemap" do
21
- assert_select "ul#root_#{root_section.id}" do
22
- assert_select "#section_#{root_section.id}" do
23
- assert_select "div", "My Site"
24
- end
25
- end
26
- assert_select "ul#section_node_#{@foo.node.id}" do
27
- assert_select "#section_#{@foo.id}" do
28
- assert_select "div", "Foo"
29
- end
30
- end
31
- assert_select "ul#section_node_#{@bar.node.id}" do
32
- assert_select "#section_#{@bar.id}" do
33
- assert_select "div", "Bar"
34
- end
35
- assert_select "#section_node_#{@page.section_node.id}" do
36
- assert_select "#page_#{@page.id}" do
37
- assert_select "div", "Test Page"
38
- end
39
- end
40
- end
41
- end
42
- end
43
-
44
- end
45
-
46
- class Cms::SectionNodesControllerPermissionsTest < ActionController::TestCase
47
- tests Cms::SectionNodesController
48
- include Cms::ControllerTestHelper
49
-
50
- def setup
51
- given_a_site_exists
52
-
53
- @user = Factory(:content_editor)
54
- # DRYME copypaste from UserPermissionTest
55
- login_as(@user)
56
- @group = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
57
- @group.permissions << create_or_find_permission_named("edit_content")
58
- @group.permissions << create_or_find_permission_named("publish_content")
59
- @user.groups << @group
60
-
61
- @editable_section = Factory(:section, :parent => root_section, :name => "Editable")
62
- @group.sections << @editable_section << root_section
63
- @editable_page = Factory(:page, :section => @editable_section, :name => "Editable Page")
64
- @editable_link = Factory(:link, :section => @editable_section, :name => "Editable Link")
65
-
66
- @noneditable_section = Factory(:section, :parent => root_section, :name => "Not Editable")
67
- @noneditable_page = Factory(:page, :section => @noneditable_section, :name => "Non-Editable Page")
68
- @noneditable_link = Factory(:link, :section => @noneditable_section, :name => "Non-Editable Link")
69
-
70
- @noneditables = [@noneditable_section, @noneditable_page, @noneditable_link]
71
- @editables = [@editable_section, @editable_page, @editable_link]
72
- verify_user_cannot_edit
73
- verify_user_can_edit
74
- end
75
-
76
- def test_index_as_contributor_with_subsections
77
- get :index
78
-
79
- assert_response :success
80
-
81
- user_shouldnt_not_be_able_to_edit(@noneditables)
82
- user_should_be_able_to_edit(@editables)
83
- end
84
-
85
- private
86
-
87
- def user_shouldnt_not_be_able_to_edit(sections)
88
- sections.each do |ne|
89
- assert_select "td.node.non-editable div", ne.name
90
- end
91
- end
92
-
93
- def user_should_be_able_to_edit(user_should_be_able_to_edit)
94
- user_should_be_able_to_edit.each do |e|
95
- td = css_select("td##{e.class.to_s.underscore}_#{e.id}", e.name).first
96
- assert !td.attributes["class"].include?("non-editable"), "Looking at #{td}, was editable."
97
- end
98
- end
99
-
100
- def verify_user_can_edit
101
- @editables.each do |node|
102
- assert_equal true, @user.able_to_modify?(node), "Should be able to edit #{node}"
103
- end
104
- end
105
-
106
- def verify_user_cannot_edit
107
- @noneditables.each do |node|
108
- assert_equal false, @user.able_to_modify?(node), "Shouldnt be able to edit #{node}"
109
- end
110
- end
111
- end
112
-
@@ -1,227 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class Cms::SectionsControllerTest < ActionController::TestCase
4
- include Cms::ControllerTestHelper
5
-
6
- def setup
7
- given_a_site_exists
8
- login_as_cms_admin
9
- end
10
-
11
- def test_edit
12
- get :edit, :id => root_section.to_param
13
- assert_response :success
14
- assert_select "input[name=?][value=?]", "section[name]", root_section.name
15
- end
16
-
17
- test "GET new should set the groups to the parent section's groups by default" do
18
- @group = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
19
- get :new, :section_id => root_section.to_param
20
- assert_equal root_section.groups, assigns(:section).groups
21
- assert !assigns(:section).groups.include?(@group)
22
- end
23
-
24
- def test_update
25
- @section = Factory(:section, :name => "V1", :parent => root_section, :groups => root_section.groups)
26
-
27
- put :update, :id => @section.to_param, :section => {:name => "V2"}
28
- reset(:section)
29
-
30
- assert_redirected_to [:cms, @section]
31
- assert_equal "V2", @section.name
32
- assert_equal "Section 'V2' was updated", flash[:notice]
33
- end
34
-
35
- end
36
-
37
- class Cms::SectionFileBrowserControllerTest < ActionController::TestCase
38
- tests Cms::SectionsController
39
- include Cms::ControllerTestHelper
40
-
41
- def setup
42
- given_a_site_exists
43
- login_as_cms_admin
44
- end
45
-
46
- def test_root_section
47
- @foo = Factory(:section, :parent => root_section, :name => "Foo", :path => '/foo')
48
- @bar = Factory(:section, :parent => root_section, :name => "Bar", :path => '/bar')
49
- @home = Factory(:page, :section => root_section, :name => "Home", :path => '/home')
50
-
51
- get :file_browser, :format => "xml", "CurrentFolder" => "/", "Command" => "GetFilesAndFolders", "Type" => "Page"
52
-
53
- assert_response :success
54
- assert_equal "text/xml", @response.content_type
55
- assert_select "Connector[command=?][resourceType=?]", "GetFilesAndFolders", "Page" do
56
- assert_select "CurrentFolder[path=?][url=?]", "/", "/"
57
- assert_select "Folders" do
58
- assert_select "Folder[name=?]", "Foo"
59
- assert_select "Folder[name=?]", "Bar"
60
- end
61
- assert_select "Files" do
62
- assert_select "File[name=?][url=?][size=?]", "Home", "/home", "?"
63
- end
64
- end
65
- end
66
-
67
- def test_sub_section
68
- @foo = Factory(:section, :parent => root_section, :name => "Foo", :path => '/foo')
69
- @bar = Factory(:section, :parent => @foo, :name => "Bar", :path => '/foo/bar')
70
- @foo_page = Factory(:page, :section => @foo, :name => "Foo Page", :path => '/foo/page')
71
- @home = Factory(:page, :section => root_section, :name => "Home", :path => '/home')
72
- get :file_browser, :format => "xml", "CurrentFolder" => "/Foo/", "Command" => "GetFilesAndFolders", "Type" => "Page"
73
-
74
- assert_response :success
75
- assert_equal "text/xml", @response.content_type
76
- assert_select "Connector[command=?][resourceType=?]", "GetFilesAndFolders", "Page" do
77
- assert_select "CurrentFolder[path=?][url=?]", "/Foo/", "/Foo/"
78
- assert_select "Folders" do
79
- assert_select "Folder[name=?]", "Bar"
80
- end
81
- assert_select "Files" do
82
- assert_select "File[name=?][url=?][size=?]", "Foo Page", "/foo/page", "?"
83
- end
84
- end
85
- end
86
-
87
- end
88
-
89
- class Cms::SectionsControllerPermissionsTest < ActionController::TestCase
90
- tests Cms::SectionsController
91
- include Cms::ControllerTestHelper
92
-
93
- def setup
94
- # DRYME copypaste from UserPermissionTest
95
- @user = Factory(:user)
96
- @group = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
97
- @group.permissions << create_or_find_permission_named("edit_content")
98
- @group.permissions << create_or_find_permission_named("publish_content")
99
- @user.groups << @group
100
-
101
- @editable_section = Factory(:section, :parent => root_section, :name => "Editable")
102
- @editable_subsection = Factory(:section, :parent => @editable_section, :name => "Editable Subsection")
103
- @group.sections << @editable_section
104
- @editable_page = Factory(:page, :section => @editable_section, :name => "Editable Page")
105
- @editable_subpage = Factory(:page, :section => @editable_subsection, :name => "Editable SubPage")
106
- @editable_link = Factory(:link, :section => @editable_section, :name => "Editable Link")
107
- @editable_sublink = Factory(:link, :section => @editable_subsection, :name => "Editable SubLink")
108
-
109
- @noneditable_section = Factory(:section, :parent => root_section, :name => "Not Editable")
110
- @noneditable_page = Factory(:page, :section => @noneditable_section, :name => "Non-Editable Page")
111
- @noneditable_link = Factory(:link, :section => @noneditable_section, :name => "Non-Editable Link")
112
-
113
- @noneditables = [@noneditable_section, @noneditable_page, @noneditable_link]
114
- @editables = [@editable_section, @editable_subsection,
115
- @editable_page, @editable_subpage,
116
- @editable_link, @editable_sublink]
117
- end
118
-
119
- def test_new_permissions
120
- login_as(@user)
121
-
122
- get :new, :section_id => @editable_section
123
- assert_response :success
124
-
125
- get :new, :section_id => @noneditable_section
126
- assert_response 403
127
- assert_template "cms/shared/access_denied"
128
- end
129
-
130
- test "POST create should set the groups to the parent section's groups for non-admin user" do
131
- @group = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
132
- login_as(@user)
133
- get :new, :section_id => @editable_section
134
- assert_equal @editable_section.groups, assigns(:section).groups
135
- assert !assigns(:section).groups.include?(@group)
136
- end
137
-
138
- def test_create_permissions
139
- login_as(@user)
140
-
141
- post :create, :section_id => @editable_section, :name => "Another editable subsection"
142
- assert_response :success
143
-
144
- post :create, :section_id => @noneditable_section, :name => "Another non-editable subsection"
145
- assert_response 403
146
- assert_template "cms/shared/access_denied"
147
- end
148
-
149
- def test_edit_permissions
150
- login_as(@user)
151
-
152
- get :edit, :id => @editable_section
153
- assert_response :success
154
-
155
- get :edit, :id => @noneditable_section
156
- assert_response 403
157
- assert_template "cms/shared/access_denied"
158
- end
159
-
160
- def test_update_permissions
161
- login_as(@user)
162
-
163
- put :update, :id => @editable_section, :name => "Modified editable subsection"
164
- assert_response :redirect
165
-
166
- put :update, :id => @noneditable_section, :name => "Modified non-editable subsection"
167
- assert_response 403
168
- assert_template "cms/shared/access_denied"
169
- end
170
-
171
- def test_update_permissions_of_subsection
172
- login_as(@user)
173
-
174
- put :update, :id => @editable_section, :name => "Modified editable subsection"
175
- assert_response :redirect
176
-
177
- put :update, :id => @editable_subsection, :name => "Section below editable section"
178
- assert_response 403
179
- assert_template "cms/shared/access_denied"
180
- end
181
-
182
- test "PUT update should leave groups alone for non-admin user" do
183
- @group2 = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
184
- expected_groups = @editable_section.groups
185
- login_as(@user)
186
- put :update, :id => @editable_section
187
- assert_response :redirect
188
- assert_equal expected_groups, assigns(:section).groups
189
- assert !assigns(:section).groups.include?(@group2)
190
- end
191
-
192
- test "PUT update should leave groups alone for non-admin user even if hack url" do
193
- @group2 = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
194
- expected_groups = @editable_section.groups
195
- login_as(@user)
196
- RAILS_DEFAULT_LOGGER.warn("starting...")
197
- put :update, :id => @editable_section, :section => {:name => "new name", :group_ids => [@group, @group2]}
198
- assert_response :redirect
199
- assert_equal expected_groups, assigns(:section).groups
200
- assert_equal "new name", assigns(:section).name
201
- assert !assigns(:section).groups.include?(@group2)
202
- end
203
-
204
-
205
-
206
- test "PUT update should add groups for admin user" do
207
- # This step is unnecessary in the actual cms, as you can't stop the admin from doing anything
208
- Group.find(:first, :conditions => "code = 'cms-admin'").sections << @editable_subsection
209
- @group2 = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
210
- expected_groups = [@group, @group2]
211
- login_as_cms_admin
212
- put :update, :id => @editable_subsection, :section => {:name => "new name", :group_ids => [@group.id, @group2.id]}
213
- assert_response :redirect
214
- assert_equal expected_groups, assigns(:section).groups
215
- end
216
-
217
- def test_destroy_permissions
218
- login_as(@user)
219
-
220
- delete :destroy, :id => @editable_section
221
- assert_response :redirect
222
-
223
- delete :destroy, :id => @noneditable_section
224
- assert_response 403
225
- assert_template "cms/shared/access_denied"
226
- end
227
- end
@@ -1,76 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class Cms::SessionsControllerTest < ActionController::TestCase
4
- include Cms::ControllerTestHelper
5
- def teardown
6
- User.current = nil
7
- end
8
-
9
- def test_not_redirected_to_cms_site_if_public_site
10
- @request.host = "foo.com"
11
- @request.request_uri = "/cms/login"
12
- get :new
13
- assert_response :success
14
- end
15
-
16
- def test_not_redirected_if_cms_site
17
- @request.host = "cms.foo.com"
18
- @request.request_uri = "/cms/login"
19
- get :new
20
- assert_response :success
21
- log @response.body
22
- assert_select "title", "CMS Login"
23
- end
24
-
25
- def test_return_to
26
- user = Factory(:user)
27
- expected_url = "/expected_url"
28
-
29
- post :create, {:success_url => "", :login => user.login, :password => "password"}, {:return_to => expected_url }
30
- assert_redirected_to(expected_url)
31
- end
32
- def test_success_url_overrides_return_to
33
- user = Factory(:user)
34
- expected_url = "/expected_url"
35
-
36
- post :create, {:success_url => expected_url, :login => user.login, :password => "password"}, {:return_to => "/somewhere_else" }
37
-
38
- assert_redirected_to(expected_url)
39
- end
40
-
41
- end
42
-
43
- class Cms::SessionsControllerCacheEnabledTest < ActionController::TestCase
44
- include Cms::ControllerTestHelper
45
- tests Cms::SessionsController
46
-
47
- def setup
48
- @controller.perform_caching = true
49
- end
50
-
51
- def teardown
52
- @controller.perform_caching = false
53
- end
54
-
55
- def test_redirected_to_cms_site_if_public_site
56
- @request.host = "foo.com"
57
- @request.request_uri = "/cms/login"
58
- get :new
59
- assert_redirected_to "http://cms.foo.com/cms/login"
60
- end
61
-
62
- def test_not_redirected_if_cms_site
63
- @request.host = "cms.foo.com"
64
- @request.request_uri = "/cms/login"
65
- get :new
66
- assert_response :success
67
- log @response.body
68
- assert_select "title", "CMS Login"
69
- end
70
-
71
- test "destroy" do
72
- Cms::SessionsController.any_instance.expects(:logout_user)
73
- delete :destroy
74
- assert_redirected_to "/"
75
- end
76
- end