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,40 +0,0 @@
1
- require "test_helper"
2
-
3
- class ContentRenderingSupportTest < ActiveSupport::TestCase
4
-
5
- def setup
6
-
7
- end
8
-
9
- def teardown
10
-
11
- end
12
-
13
- test "still has error handling methods" do
14
- c = Cms::ContentController.new
15
-
16
- assert c.respond_to? :handle_access_denied_on_page
17
- assert c.respond_to? :handle_not_found_on_page
18
- assert c.respond_to? :handle_server_error_on_page
19
- assert c.respond_to? :handle_error_with_cms_page, true
20
-
21
- assert(c.respond_to?(:logged_in?), "Should include Cms::Authentication::Controller methods")
22
- end
23
-
24
- class MyController < ActionController::Base
25
- include Cms::ContentRenderingSupport
26
- end
27
-
28
- test "Arbitrary controller should have authentication methods" do
29
- c = MyController.new
30
-
31
- assert c.respond_to? :handle_access_denied_on_page
32
- assert c.respond_to? :handle_not_found_on_page
33
- assert c.respond_to? :handle_server_error_on_page
34
- assert c.respond_to? :handle_error_with_cms_page, true
35
-
36
- assert(!c.respond_to?(:logged_in?), "Should Not include Cms::Authentication::Controller methods")
37
- assert(c.respond_to?(:handle_server_error), "Should include Cms::ErrorHandling methods")
38
- end
39
-
40
- end
@@ -1,40 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class GeneratorsTest < Test::Unit::TestCase
4
-
5
- def test_patterns_substition_for_windows
6
- pattern = /\b[A-Za-z]:\//
7
-
8
- # Default
9
- full_windows_path = "C:/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js"
10
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", full_windows_path.gsub(pattern, "/")
11
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", Cms.scrub_path(full_windows_path)
12
-
13
- # D: drive
14
- full_windows_path = "D:/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js"
15
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", full_windows_path.gsub(pattern, "/")
16
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", Cms.scrub_path(full_windows_path)
17
-
18
- # F: Drive
19
- full_windows_path = "F:/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js"
20
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", full_windows_path.gsub(pattern, "/")
21
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", Cms.scrub_path(full_windows_path)
22
-
23
- # lower-case
24
- full_windows_path = "c:/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js"
25
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", full_windows_path.gsub(pattern, "/")
26
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js", Cms.scrub_path(full_windows_path)
27
-
28
- # multiple
29
- full_windows_path = "c:/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js c:/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/custom.js"
30
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js /Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/custom.js", full_windows_path.gsub(pattern, "/")
31
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/jquery-ui.js /Ruby/lib/ruby/gems/1.8/gems/browsercms-3.0.0/public/javascripts/custom.js", Cms.scrub_path(full_windows_path)
32
-
33
- # not scrub if in middle of string
34
- full_windows_path = "c:/Ruby/lib/ruby/gems/1.8/gems:local/browsercms-3.0.0/public/javascripts/jquery-ui.js"
35
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems:local/browsercms-3.0.0/public/javascripts/jquery-ui.js", full_windows_path.gsub(pattern, "/")
36
- assert_equal "/Ruby/lib/ruby/gems/1.8/gems:local/browsercms-3.0.0/public/javascripts/jquery-ui.js", Cms.scrub_path(full_windows_path)
37
-
38
- end
39
-
40
- end
@@ -1,57 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class RouteBuilder
4
- include Cms::Routes
5
- end
6
-
7
- class Bear < ActiveRecord::Base
8
- acts_as_content_block
9
- end
10
-
11
- class Kindness < ActiveRecord::Base
12
- acts_as_content_block
13
- end
14
-
15
- class RoutesTest < ActiveSupport::TestCase
16
-
17
- test "Verify behavior of classify, and how it works with already pluralized symbols" do
18
- assert_equal "Kindness", :kindnesses.to_s.classify, "routes will pass 'plural' symbols to 'content_block', rather than single"
19
- end
20
-
21
-
22
- test "behavior of 'content_blocks' route generator" do
23
- rb = RouteBuilder.new
24
-
25
- # Expect
26
- rb.expects(:resources).with(:bears, {:member => {:publish => :put, :usages => :get, :versions => :get}})
27
- rb.expects(:version_cms_bears).with("/cms/bears/:id/version/:version", :controller => "cms/bears", :action => "version", :conditions => {:method => :get})
28
- rb.expects(:revert_to_cms_bears).with(
29
- "/cms/bears/:id/revert_to/:version",
30
- :controller => "cms/bears",
31
- :action => "revert_to",
32
- :conditions => {:method => :put})
33
-
34
- rb.content_blocks :bears
35
-
36
- # Verifies the exact messages being passed to the route generator
37
- end
38
-
39
- test "model names with s at the end behave identically (since content_blocks expects plural symbols)" do
40
- rb = RouteBuilder.new
41
-
42
- # Expect
43
- rb.expects(:resources).with(:kindnesses, {:member => {:publish => :put, :usages => :get, :versions => :get}})
44
- rb.expects(:version_cms_kindnesses).with("/cms/kindnesses/:id/version/:version", :controller => "cms/kindnesses", :action => "version", :conditions => {:method => :get})
45
- rb.expects(:revert_to_cms_kindnesses).with(
46
- "/cms/kindnesses/:id/revert_to/:version",
47
- :controller => "cms/kindnesses",
48
- :action => "revert_to",
49
- :conditions => {:method => :put})
50
-
51
- rb.content_blocks :kindnesses
52
-
53
- # Verifies the exact messages being passed to the route generator
54
- end
55
-
56
-
57
- end
@@ -1,116 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class AttachmentTest < ActiveSupport::TestCase
4
-
5
- def test_creating_an_attachment_witn_no_file
6
- attachment = Attachment.new
7
- assert_not_valid attachment
8
- assert_has_error_on attachment, :temp_file, "You must upload a file"
9
- end
10
-
11
- def test_creating_an_attachment_with_a_StringIO_file
12
- file = ActionController::UploadedStringIO.new("This is a file")
13
- file.original_path = "bar.txt"
14
- file.content_type = "text/plain"
15
- attachment = Attachment.new(:temp_file => file, :file_path => "/foo.txt", :section => root_section)
16
- attachment.save!
17
- assert_equal "foo.txt", attachment.file_name
18
- assert_equal "text/plain", attachment.file_type
19
- assert_equal "txt", attachment.file_extension
20
- assert_file_exists attachment.full_file_location
21
- assert_equal "This is a file", open(attachment.full_file_location){|f| f.read}
22
- end
23
-
24
- def test_creating_an_attachment_with_a_Tempfile_file
25
- file = ActionController::UploadedTempfile.new("foo.txt")
26
- open(file.path, 'w') {|f| f << "This is a file"}
27
- file.original_path = "bar.txt"
28
- file.content_type = "text/plain"
29
- attachment = Attachment.new(:temp_file => file, :file_path => "/foo.txt", :section => root_section)
30
- attachment.save!
31
-
32
- assert_equal "foo.txt", attachment.file_name
33
- assert_file_exists attachment.full_file_location
34
- assert_equal "This is a file", open(attachment.full_file_location){|f| f.read}
35
-
36
- # If you change the attributes of the attachment, but don't change the file
37
- # the file_location should not change
38
- original_file_location = attachment.file_location
39
- attachment = Attachment.find(attachment.id)
40
- attachment.update_attributes(:file_path => "bar.txt")
41
- assert_equal 2, attachment.draft.version
42
- assert_equal "/bar.txt", attachment.file_path
43
- assert_equal "bar.txt", attachment.file_name
44
- assert_equal original_file_location, attachment.file_location
45
-
46
- # If you change the file of the attachment, the file_location should change
47
- attachment = Attachment.find(attachment.id)
48
- file = ActionController::UploadedTempfile.new("foo.txt")
49
- open(file.path, 'w') {|f| f << "This is a new file"}
50
- file.original_path = "foo.txt"
51
- file.content_type = "text/plain"
52
- attachment.update_attributes(:temp_file => file)
53
- # log_table_with Attachment, :id, :name, :version, :file_path
54
- # log_table_with Attachment::Version, :id, :name, :version, :file_path, :attachment_id
55
- assert_equal 3, attachment.draft.version
56
- assert_equal "/foo.txt", attachment.as_of_draft_version.file_path
57
- assert_equal "foo.txt", attachment.as_of_draft_version.file_name
58
- assert_not_equal original_file_location, attachment.as_of_draft_version.file_location
59
- assert_equal "This is a new file", open(attachment.as_of_draft_version.full_file_location){|f| f.read}
60
- end
61
-
62
- end
63
-
64
- class AttachmentRelations < ActiveSupport::TestCase
65
-
66
- def setup
67
- @file = ActionController::UploadedTempfile.new("foo.txt")
68
- open(@file.path, 'w') {|f| f << "This is a file"}
69
- @file.original_path = "bar.txt"
70
- @file.content_type = "text/plain"
71
- @attachment = Attachment.new(:temp_file => @file, :file_path => "/foo.txt", :section => root)
72
- @attachment.save!
73
- end
74
-
75
- test "New Attachment" do
76
- a = Attachment.new
77
- a.section = root
78
- assert_equal root, a.section
79
- end
80
-
81
- test "Attachments should be associated with a section" do
82
- assert_not_nil @attachment.section_node
83
- assert_not_nil @attachment.section_node.parent
84
- assert_equal root, @attachment.section
85
- end
86
-
87
- test "Attachment should be unpublished and unfindable" do
88
- assert !@attachment.published?, "Attachment should not be published"
89
- assert_nil Attachment.find_live_by_file_path("/foo.txt")
90
- end
91
-
92
- test "Publishing an attachment should make it findable" do
93
- @attachment.publish
94
- assert @attachment.reload.published?, "Attachment should be published"
95
- assert_equal @attachment, Attachment.find_live_by_file_path("/foo.txt")
96
- end
97
-
98
- test "Changing but not republishing an attachment should keep old version live" do
99
- @attachment.publish
100
- assert_equal @root, @attachment.section
101
- @attachment.update_attributes!(:file_type => "text/html")
102
- assert !@attachment.live?, "Attachment should not be live"
103
- assert_equal @attachment.as_of_version(2), Attachment.find_live_by_file_path("/foo.txt")
104
- end
105
-
106
- test "Updating the section" do
107
- new_section = Factory(:section, :name => "New")
108
- @attachment.update_attributes!(:section => new_section)
109
- assert_equal new_section, @attachment.section
110
- end
111
- private
112
-
113
- def root
114
- @root ||= Factory :root_section
115
- end
116
- end
@@ -1,40 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class CategoryTest < ActiveSupport::TestCase
4
- def test_creating_categories
5
- @a_type = Factory(:category_type, :name => "A")
6
- @b_type = Factory(:category_type, :name => "B")
7
-
8
- @a = Factory(:category, :name => "A", :category_type => @a_type)
9
- @a1 = Factory(:category, :name => "A1", :category_type => @a_type, :parent => @a)
10
- @a1a = Factory(:category, :name => "A1a", :category_type => @a_type, :parent => @a1)
11
- @a2 = Factory(:category, :name => "A2", :category_type => @a_type, :parent => @a)
12
- @b = Factory(:category, :name => "B", :category_type => @b_type)
13
- @b1 = Factory(:category, :name => "B1", :category_type => @b_type, :parent => @b)
14
- @b2 = Factory(:category, :name => "B2", :category_type => @b_type, :parent => @b)
15
-
16
- assert @a.parent.blank?
17
- assert_equal [@a1, @a2], @a.children
18
-
19
- assert_equal @a, @a1.parent
20
- assert_equal [@a1a], @a1.children
21
-
22
- assert_equal @a, @a2.parent
23
- assert @a2.children.blank?
24
-
25
- assert @a.ancestors.blank?
26
- assert_equal [@a], @a1.ancestors
27
- assert_equal [@a, @a1], @a1a.ancestors
28
-
29
- assert_equal "#{@a.name}", @a.path
30
- assert_equal "#{@a.name} > #{@a1.name}", @a1.path
31
- assert_equal "#{@a.name} > #{@a1.name} > #{@a1a.name}", @a1a.path
32
-
33
- assert_equal [
34
- "#{@a.name}",
35
- "#{@a.name} > #{@a1.name}",
36
- "#{@a.name} > #{@a1.name} > #{@a1a.name}",
37
- "#{@a.name} > #{@a2.name}"
38
- ], Category.of_type("A").all.map(&:path)
39
- end
40
- end
@@ -1,8 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class CategoryTypeTest < ActiveSupport::TestCase
4
- def test_create
5
- category_type = CategoryType.new(:name => "Test")
6
- assert category_type.save
7
- end
8
- end
@@ -1,152 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '/../../test_helper')
2
-
3
- class ConnectorTest < ActiveSupport::TestCase
4
-
5
- def test_container_is_required
6
- connector = Factory.build(:connector, :container => nil)
7
- assert_not_valid connector
8
- assert_has_error_on connector, :container
9
- end
10
-
11
- def test_find_by_block
12
- foo = Factory(:html_block, :name => "foo")
13
- bar = Factory(:html_block, :name => "bar")
14
- Factory(:connector, :connectable => foo, :connectable_version => foo.version)
15
- blocks = Connector.for_connectable(foo).map(&:connectable)
16
- assert blocks.include?(foo)
17
- assert !blocks.include?(bar)
18
- end
19
-
20
- def test_only_find_connectors_for_a_block_that_match_the_current_version
21
- @foo = Factory(:html_block, :name => "foo")
22
- @foo.update_attribute(:name, "foo v2")
23
- @bar = Factory(:html_block, :name => "bar")
24
- @con = Factory(:connector, :connectable => @foo)
25
- @con.update_attribute(:connectable_version, 99)
26
- reset(:con)
27
- assert_raise(ActiveRecord::RecordNotFound) { @con.current_connectable }
28
- end
29
-
30
- def test_only_find_connectors_for_the_current_version_of_the_page
31
- @page = Factory(:page, :section => root_section)
32
- @connector = Factory(:connector, :page => @page)
33
- @page.update_attributes(:name => "Updated")
34
- assert_equal 1, @page.reload.connectors.for_page_version(@page.version).count
35
- end
36
-
37
- def test_blocks_not_deleted_when_connector_is_not_deleted
38
- b = Factory(:html_block)
39
- c = Factory(:connector, :connectable => b)
40
- connector_count = Connector.count
41
- c.destroy
42
- assert_decremented connector_count, Connector.count
43
- assert !HtmlBlock.find_by_id(b.id).nil?
44
- end
45
-
46
- def test_re_order_blocks_within_a_container
47
- page = Factory(:page)
48
- one = Factory(:connector, :page => page, :container => "foo")
49
- two = Factory(:connector, :page => page, :container => "foo")
50
- three = Factory(:connector, :page => page, :container => "foo")
51
-
52
- two.reload.move_up
53
- assert_equal [two, one, three].map(&:id),
54
- page.reload.connectors.for_page_version(page.version).in_container("foo").all.map(&:id)
55
-
56
- two.reload.move_down
57
- assert_equal [one, two, three],
58
- page.reload.connectors.for_page_version(page.version).in_container("foo").all
59
-
60
- three.reload.move_to_top
61
- assert_equal [three, one, two],
62
- page.reload.connectors.for_page_version(page.version).in_container("foo").all
63
-
64
- one.reload.move_to_bottom
65
- assert_equal [three, two, one],
66
- page.reload.connectors.for_page_version(page.version).in_container("foo").all
67
- end
68
-
69
- def test_connectable_with_deleted
70
- @page = Factory(:page)
71
- @block = Factory(:html_block, :name => "Deleted",
72
- :connect_to_page_id => @page.id,
73
- :connect_to_container => "main",
74
- :publish_on_save => "true")
75
-
76
- reset(:page, :block)
77
- @block.destroy
78
-
79
- reset(:page)
80
-
81
- log_table_without_stamps Connector
82
-
83
- assert_nil @page.connectors.for_page_version(2).first.connectable
84
-
85
- c = @page.connectors.for_page_version(2).first.connectable_with_deleted
86
- assert !c.nil?
87
- assert_equal @block.id, c.id
88
- assert_equal @block.name, c.name
89
- assert_equal 1, c.version
90
- end
91
-
92
- def test_connector_should_be_copied_when_it_has_a_connectable
93
- @page = Factory(:page)
94
- @block = Factory(:html_block, :connect_to_page_id => @page.id, :connect_to_container => "main")
95
-
96
- conn = Connector.new
97
- conn.connectable = @block
98
- assert(conn.connectable, "Check the assumption there is connectable.")
99
- assert_equal(false, conn.connectable.draft.deleted?, "Check the assumption that the draft is not-deleted.")
100
-
101
- assert(conn.should_be_copied?, "Verifes that normally a connector should be copied.")
102
- end
103
-
104
- def test_connector_shouldnt_copy_when_its_connectable_is_nil
105
- conn = Connector.new
106
- assert_nil(conn.connectable, "Check assumption that connectable is nil.")
107
-
108
- assert_equal false, conn.should_be_copied?, "Shouldn't copy when a connector isn't connected to anything."
109
- end
110
-
111
- def test_connector_should_copy_when_its_latest_draft_is_deleted
112
- @page = Factory(:page)
113
- @block = Factory(:html_block, :connect_to_page_id => @page.id, :connect_to_container => "main")
114
-
115
- @block.destroy
116
-
117
- conn = Connector.new
118
- conn.connectable = @block
119
-
120
- assert_equal true, @block.draft.deleted?, "Check assumption that latest draft of this block is 'deleted'."
121
- assert_equal false, conn.should_be_copied?, "Should not copy when latest draft is deleted."
122
-
123
- end
124
-
125
- def test_connector_should_copy_even_if_connectable_doesnt_have_drafts
126
- @page = Factory(:page)
127
- @block = Portlet.create!(:name => "Stuff")
128
-
129
- conn = Connector.new
130
- conn.connectable = @block
131
-
132
- assert_equal false, @block.respond_to?(:draft), "Check assumption that portlets do not respond to draft method."
133
- assert_equal true, conn.should_be_copied?, "Should not copy when latest draft is deleted."
134
-
135
- end
136
-
137
- def test_connector_with_file_block_status
138
- @page = Factory(:page)
139
- @file = Factory(:image_block, :connect_to_page_id => @page.id, :connect_to_container => "main", :publish_on_save => true)
140
- @page.reload
141
-
142
- assert @file.live?
143
- assert @page.connectors.last.live?
144
-
145
- @file.update_attributes(:name => "Something Else")
146
- @page.reload
147
-
148
- assert !@file.live?
149
- assert !@page.connectors.last.live?
150
- end
151
-
152
- end