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,29 +0,0 @@
1
- require "test_helper"
2
-
3
- class ConnectableTest < ActiveSupport::TestCase
4
-
5
- def setup
6
- given_a_site_exists
7
- @block = Factory(:html_block)
8
- @connected_page = Factory(:public_page, :parent=>root_section)
9
- @connected_page_2 = Factory(:public_page, :parent=>root_section)
10
- @unconnected_page = Factory(:public_page, :parent=>root_section)
11
-
12
- @connected_page.create_connector(@block, "main")
13
- @connected_page_2.create_connector(@block, "main")
14
- end
15
-
16
- def teardown
17
- end
18
-
19
- test "#connected_pages" do
20
- assert_equal [@connected_page, @connected_page_2], @block.connected_pages
21
- end
22
-
23
- test "#connected_pages should return same list when called twice" do
24
- expected = @block.connected_pages
25
- assert_equal expected.object_id, @block.connected_pages.object_id
26
- end
27
-
28
-
29
- end
@@ -1,38 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- ActiveRecord::Base.connection.instance_eval do
4
- drop_table(:things) if table_exists?(:things)
5
- drop_table(:thing_attributes) if table_exists?(:thing_attributes)
6
- create_table(:things) do |t|
7
- t.string :name
8
- t.timestamps
9
- end
10
- create_table(:thing_attributes) do |t|
11
- t.integer :thing_id
12
- t.string :name
13
- t.text :value
14
- end
15
- end
16
-
17
- class Thing < ActiveRecord::Base
18
- has_dynamic_attributes
19
- end
20
-
21
- class ThingTest < ActiveSupport::TestCase
22
- def test_dynamic_attributes
23
- assert !User.has_dynamic_attributes?
24
- assert Thing.has_dynamic_attributes?
25
-
26
- thing = Thing.new(:foo => "bar")
27
- assert_equal "bar", thing.foo
28
-
29
- thing.foo = "Bang"
30
- assert_equal "Bang", thing.foo
31
-
32
- assert thing.save
33
-
34
- thing = Thing.find(thing.id)
35
- assert_equal "Bang", thing.foo
36
- assert_nil thing.bar
37
- end
38
- end
@@ -1,84 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- ActiveRecord::Base.connection.instance_eval do
4
- drop_table(:publishables) if table_exists?(:publishables)
5
- create_table(:publishables) do |t|
6
- t.string :name
7
- t.boolean :published, :default => false
8
- end
9
- drop_table(:unpublishables) if table_exists?(:unpublishables)
10
- create_table(:unpublishables) do |t|
11
- t.string :name
12
- end
13
-
14
- drop_table(:publishable_blocks) if table_exists?(:publishable_blocks)
15
- drop_table(:publishable_block_versions) if table_exists?(:publishable_block_versions)
16
- create_content_table(:publishable_blocks) do |t|
17
- t.string :name
18
- end
19
- end
20
-
21
- class Publishable < ActiveRecord::Base
22
- is_publishable
23
- end
24
-
25
- class Unpublishable < ActiveRecord::Base
26
- end
27
-
28
- class PublishableBlock < ActiveRecord::Base
29
- acts_as_content_block
30
- end
31
-
32
- class PublishableBlockTestCase < ActiveSupport::TestCase
33
-
34
- def setup
35
- @object = PublishableBlock.create!(:name=>"v1", :publish_on_save=>true)
36
- end
37
-
38
- test "#live?" do
39
- assert @object.live?
40
- end
41
-
42
- test "#live? if there are draft versions" do
43
- @object.name = "New Name"
44
- @object.save!
45
-
46
- assert_equal false, @object.live?
47
- assert_equal :draft, @object.status
48
- end
49
- end
50
-
51
- class PublishableTestCase < ActiveSupport::TestCase
52
-
53
- def setup
54
- @object = Publishable.new(:name => "New Record")
55
- end
56
-
57
- def test_publishable
58
- assert @object.publishable?
59
- end
60
-
61
- def test_save
62
- assert @object.save
63
- assert !@object.published?
64
- end
65
-
66
- def test_publish_on_save
67
- @object.publish_on_save = true
68
- assert @object.save
69
- assert @object.reload.published?
70
- end
71
-
72
- def test_unpublishable
73
- @object = Unpublishable.new(:name => "New Record")
74
- assert !@object.publishable?
75
- assert @object.save
76
- assert !@object.publishable?
77
- end
78
-
79
- def test_not_publishable_if_connect_to_page_id_is_blank
80
- assert HtmlBlock.new(:connect_to_page_id => "").publishable?
81
- end
82
-
83
-
84
- end
@@ -1,102 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- ActiveRecord::Base.connection.instance_eval do
4
- drop_table(:searchable_content_block_parents) if table_exists?(:searchable_content_block_parents)
5
- create_table(:searchable_content_block_parents) {|t| t.string :name }
6
- drop_table(:searchable_content_blocks) if table_exists?(:searchable_content_blocks)
7
- drop_table(:searchable_content_block_versions) if table_exists?(:searchable_content_block_versions)
8
- create_versioned_table(:searchable_content_blocks) do |t|
9
- t.integer :parent_id
10
- t.string :name
11
- t.boolean :deleted, :default => 0
12
- t.integer :created_by
13
- t.integer :updated_by
14
- t.timestamps
15
- end
16
-
17
- # Verifies that blocks are created with a :name column if one is not specified.
18
- drop_table(:searchable_block_without_names) if table_exists?(:searchable_block_without_names)
19
- drop_table(:searchable_block_without_name_versions) if table_exists?(:searchable_block_without_name_versions)
20
- create_versioned_table(:searchable_block_without_names) do |t|
21
- t.string :title
22
- end
23
- end
24
-
25
- class SearchableContentBlockParent < ActiveRecord::Base
26
- has_many :children, :class_name => "SearchableContentBlock", :foreign_key => "parent_id"
27
- end
28
-
29
- class SearchableContentBlock < ActiveRecord::Base
30
- acts_as_content_block
31
- belongs_to :parent, :class_name => "SearchableContentBlockParent"
32
- named_scope :created_after, lambda{|time| {:conditions => ["created_at > ?", time]}}
33
- end
34
-
35
- class SearchableContentBlockTest < ActiveSupport::TestCase
36
- def test_searchable
37
- @parent = SearchableContentBlockParent.create!(:name => "Papa")
38
- @a1 = @parent.children.create!(:name => "a1")
39
- @a2 = @parent.children.create!(:name => "a2")
40
- @b1 = @parent.children.create!(:name => "b1")
41
- @b2 = @parent.children.create!(:name => "b2")
42
-
43
- assert SearchableContentBlock.searchable?
44
- assert_equal [@a1, @a2], SearchableContentBlock.search("a").all
45
- assert_equal [@a2, @a1], SearchableContentBlock.search(:term => "a", :order => "id desc").all
46
- assert_equal [@a2, @a1], SearchableContentBlock.created_after(1.hour.ago).search(:term => "a", :order => "id desc").all
47
- assert_equal [@a2, @a1], @parent.children.created_after(1.hour.ago).search(:term => "a", :order => "id desc").all
48
- end
49
- end
50
-
51
- class SearchableHtmlBlockTest < ActiveSupport::TestCase
52
- def test_searchable
53
- @a1 = Factory(:html_block, :name => "a1", :content => "a one")
54
- @a2 = Factory(:html_block, :name => "a2", :content => "a two")
55
- @b1 = Factory(:html_block, :name => "b1", :content => "b one")
56
- @b2 = Factory(:html_block, :name => "b2", :content => "b two")
57
-
58
- assert HtmlBlock.searchable?
59
- assert_equal [@a2, @b2], HtmlBlock.search("2").all
60
- assert HtmlBlock.search(:term => "one").all.empty?
61
- assert_equal [@a1, @b1], HtmlBlock.search(:term => "one", :include_body => true).all
62
- assert HtmlBlock.search(nil).include?(@b2)
63
- end
64
- end
65
-
66
-
67
- class SearchableBlockWithoutName < ActiveRecord::Base
68
- acts_as_content_block
69
- end
70
-
71
- class SearchableBlockWithoutNameTest < ActiveSupport::TestCase
72
-
73
- test "Creating a test only ActiveRecord should work" do
74
- block = SearchableBlockWithoutName.create!(:title => "TITLE")
75
-
76
- assert_not_nil block
77
- assert_equal block, SearchableBlockWithoutName.find(block.id)
78
- end
79
-
80
- test "Blocks should have a :name column by default" do
81
- block = SearchableBlockWithoutName.create!(:name => "NAME")
82
-
83
- assert_equal block, SearchableBlockWithoutName.find_by_name("NAME")
84
- assert_equal "NAME", block.name
85
- end
86
-
87
- test "Search method should not fail if block has no :name field" do
88
- block = SearchableBlockWithoutName.create!(:name => ":implicitly specfied")
89
-
90
- assert_equal SearchableBlockWithoutName.all.size, SearchableBlockWithoutName.search({}).size, "Should list all rows when no param is passed in."
91
- end
92
-
93
- test "Versions table for block should have 'name' attribute as well" do
94
- name = ":implicitly specfied"
95
- block = SearchableBlockWithoutName.create!(:name => name)
96
- block.title = "Something New"
97
- block.save!
98
-
99
- v1 = block.find_version(1)
100
- assert_equal name, v1.name
101
- end
102
- end
@@ -1,109 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- ActiveRecord::Base.connection.instance_eval do
4
- drop_table(:taggable_articles) if table_exists?(:taggable_articles)
5
- create_table(:taggable_articles) {|t| t.string :name }
6
-
7
- drop_table(:versioned_taggable_articles) if table_exists?(:versioned_taggable_articles)
8
- drop_table(:versioned_taggable_article_versions) if table_exists?(:versioned_taggable_article_versions)
9
- create_versioned_table(:versioned_taggable_articles) do |t|
10
- t.string :name
11
- end
12
- end
13
-
14
- class TaggableArticle < ActiveRecord::Base
15
- is_taggable
16
- end
17
-
18
- class VersionedTaggableArticle < ActiveRecord::Base
19
- acts_as_content_block :taggable => true
20
- end
21
-
22
- class TaggableBlockTest < ActiveSupport::TestCase
23
- def test_tagging
24
- article = TaggableArticle.create!(:name => "foo")
25
- assert_equal 0, article.taggings.count
26
- assert_equal 0, article.tags.count
27
- assert_equal 0, Tag.count
28
- assert_equal 0, Tagging.count
29
-
30
- article.tag_list = "foo bar"
31
- assert article.save
32
- assert_equal 2, article.taggings.count
33
- assert_equal 2, article.tags.count
34
- assert_equal 2, Tag.count
35
- assert_equal 2, Tagging.count
36
-
37
- assert_equal [article], TaggableArticle.tagged_with("foo").all
38
- assert_equal [article], TaggableArticle.tagged_with("bar").all
39
- assert TaggableArticle.tagged_with("bang").all.empty?
40
-
41
- article.tag_list = "foo bang"
42
- assert article.save
43
- assert_equal 2, article.taggings.count
44
- assert_equal 2, article.tags.count
45
- assert_equal 3, Tag.count
46
- assert_equal 2, Tagging.count
47
-
48
- assert_equal [article], TaggableArticle.tagged_with("foo").all
49
- assert_equal [article], TaggableArticle.tagged_with("bang").all
50
- assert TaggableArticle.tagged_with("bar").all.empty?
51
-
52
- assert_equal "bang foo", article.tag_list
53
- end
54
-
55
- def test_tag_cloud
56
- 25.times do |n|
57
- tag_list = ["article"]
58
- tag_list << "first" if n == 0
59
- tag_list << "even" if n.even?
60
- tag_list << "five" if n % 5 == 0
61
- tag_list << "last" if n == 24
62
- TaggableArticle.create!(:name => "Article ##{n}", :tag_list => tag_list.join(" ") )
63
- end
64
-
65
- tag_counts = Tag.counts(:limit => 4)
66
- assert_equal 4, tag_counts.size
67
- assert_equal Tag.find_by_name("article"), tag_counts[0]
68
- assert_equal "25", tag_counts[0].count
69
- assert_equal Tag.find_by_name("even"), tag_counts[1]
70
- assert_equal "13", tag_counts[1].count
71
- assert_equal Tag.find_by_name("five"), tag_counts[2]
72
- assert_equal "5", tag_counts[2].count
73
- assert_equal Tag.find_by_name("first"), tag_counts[3]
74
- assert_equal "1", tag_counts[3].count
75
-
76
- tag_cloud = Tag.cloud(:sizes => 9)
77
- assert_equal 5, tag_cloud.size
78
- assert_equal Tag.find_by_name("article"), tag_cloud[0]
79
- assert_equal 6, tag_cloud[0].size
80
- assert_equal Tag.find_by_name("even"), tag_cloud[1]
81
- assert_equal 3, tag_cloud[1].size
82
- assert_equal Tag.find_by_name("five"), tag_cloud[2]
83
- assert_equal 1, tag_cloud[2].size
84
- assert_equal Tag.find_by_name("first"), tag_cloud[3]
85
- assert_equal 0, tag_cloud[3].size
86
- assert_equal Tag.find_by_name("last"), tag_cloud[4]
87
- assert_equal 0, tag_cloud[4].size
88
- end
89
-
90
- end
91
-
92
- class VersionedTaggableBlockTest < ActiveSupport::TestCase
93
- def test_tagging
94
- article = VersionedTaggableArticle.create!(:name => "foo")
95
- assert_equal 0, article.taggings.count
96
- assert_equal 0, article.tags.count
97
- assert_equal 0, Tag.count
98
- assert_equal 0, Tagging.count
99
-
100
- article.tag_list = "foo bar"
101
- assert article.save
102
- assert_equal 2, article.taggings.count
103
- assert_equal 2, article.tags.count
104
- assert_equal 2, Tag.count
105
- assert_equal 2, Tagging.count
106
- end
107
-
108
-
109
- end
@@ -1,36 +0,0 @@
1
- require "test_helper"
2
-
3
- class VersioningTest < ActiveSupport::TestCase
4
-
5
- def setup
6
- @published_block = Factory(:html_block, :name=>"Version 1", :publish_on_save=>true)
7
- @published_block.update_attributes(:name=>"Version 2")
8
- @published_block.reload
9
- end
10
-
11
- def teardown
12
- end
13
-
14
-
15
- test "#name matches original version's attributes'" do
16
- assert_equal "Version 1", @published_block.name
17
- end
18
-
19
- test "#as_of_draft_version" do
20
- v2 = @published_block.as_of_draft_version
21
- assert_equal "Version 2", v2.name
22
- assert_equal HtmlBlock, v2.class
23
- end
24
-
25
- test "#draft returns the latest Version Object for a block" do
26
- v2 = @published_block.draft
27
- assert_equal "Version 2", v2.name
28
- assert_equal HtmlBlock::Version, v2.class
29
- end
30
-
31
- test "#as_of_version" do
32
- v1 = @published_block.as_of_version(1)
33
- assert_equal "Version 1", v1.name
34
- assert_equal @published_block.id, v1.id
35
- end
36
- end
@@ -1,10 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../../test_helper')
2
-
3
- class ActiveRecord::BaseTest < ActiveSupport::TestCase
4
- def test_updated_on_string
5
- base = HtmlBlock.new
6
- assert_nil base.updated_on_string
7
- base.updated_at = Time.zone.parse("1978-07-06")
8
- assert_equal "Jul 6, 1978", base.updated_on_string
9
- end
10
- end
@@ -1,17 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class HashTest < ActiveSupport::TestCase
4
- def test_except
5
- x = {:a => 1, :b => 2}
6
- assert_equal({:b => 2}, x.except(:a))
7
- assert_equal({:a => 1, :b => 2}, x)
8
- end
9
-
10
- def test_extract!
11
- x = {:a => 1, :b => 2}
12
- y = x.extract!(:b, :c)
13
- assert_equal({:a => 1}, x)
14
- assert_equal({:b => 2}, y)
15
- end
16
-
17
- end
@@ -1,10 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class IntegerTest < ActiveSupport::TestCase
4
- def test_round_bytes
5
- assert_equal "99.44 MB", (99.megabytes + 450.kilobytes).round_bytes
6
- assert_equal "12.04 KB", (12.kilobytes + 45).round_bytes
7
- assert_equal "999 bytes", 999.round_bytes
8
- assert_equal "0 bytes", nil.round_bytes
9
- end
10
- end