browsercms 3.4.2 → 3.5.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +1 -0
- data/app/assets/images/cms/file-uploading.gif +0 -0
- data/app/assets/javascripts/cms/application.js +1 -0
- data/app/assets/javascripts/cms/attachment_manager.js.erb +87 -0
- data/app/assets/javascripts/cms/core_library.js.erb +38 -25
- data/app/assets/stylesheets/cms/application.css.erb +1 -0
- data/app/assets/stylesheets/cms/attachment_manager.css.scss +28 -0
- data/app/controllers/cms/application_controller.rb +1 -1
- data/app/controllers/cms/attachments_controller.rb +45 -10
- data/app/controllers/cms/cache_controller.rb +1 -1
- data/app/controllers/cms/content_block_controller.rb +134 -122
- data/app/controllers/cms/content_controller.rb +143 -155
- data/app/controllers/cms/dashboard_controller.rb +11 -9
- data/app/controllers/cms/error_handling.rb +19 -7
- data/app/controllers/cms/file_blocks_controller.rb +2 -2
- data/app/controllers/cms/home_controller.rb +3 -0
- data/app/controllers/cms/section_nodes_controller.rb +52 -44
- data/app/controllers/cms/sections_controller.rb +4 -2
- data/app/controllers/cms/toolbar_controller.rb +14 -10
- data/app/helpers/cms/application_helper.rb +23 -19
- data/app/helpers/cms/form_builder.rb +65 -18
- data/app/helpers/cms/mobile_helper.rb +19 -0
- data/app/helpers/cms/path_helper.rb +30 -4
- data/app/helpers/cms/rendering_helper.rb +9 -1
- data/app/models/cms/abstract_file_block.rb +6 -6
- data/app/models/cms/attachment.rb +196 -107
- data/app/models/cms/category.rb +3 -0
- data/app/models/cms/category_type.rb +2 -0
- data/app/models/cms/connector.rb +3 -0
- data/app/models/cms/content_type.rb +3 -0
- data/app/models/cms/content_type_group.rb +2 -0
- data/app/models/cms/dynamic_view.rb +4 -0
- data/app/models/cms/email_message.rb +2 -0
- data/app/models/cms/file_block.rb +9 -2
- data/app/models/cms/group.rb +5 -2
- data/app/models/cms/group_permission.rb +2 -0
- data/app/models/cms/group_section.rb +3 -0
- data/app/models/cms/group_type.rb +2 -0
- data/app/models/cms/group_type_permission.rb +2 -0
- data/app/models/cms/html_block.rb +3 -2
- data/app/models/cms/image_block.rb +13 -2
- data/app/models/cms/page.rb +14 -3
- data/app/models/cms/page_route.rb +4 -0
- data/app/models/cms/page_route_condition.rb +1 -0
- data/app/models/cms/page_route_option.rb +2 -0
- data/app/models/cms/page_route_requirement.rb +1 -0
- data/app/models/cms/permission.rb +3 -0
- data/app/models/cms/portlet.rb +2 -2
- data/app/models/cms/redirect.rb +2 -0
- data/app/models/cms/section.rb +15 -1
- data/app/models/cms/section_node.rb +1 -0
- data/app/models/cms/site.rb +3 -0
- data/app/models/cms/tag.rb +2 -0
- data/app/models/cms/tagging.rb +3 -0
- data/app/models/cms/task.rb +5 -1
- data/app/models/cms/user.rb +1 -1
- data/app/models/cms/user_group_membership.rb +3 -0
- data/app/views/cms/attachments/_attachment.html.erb +14 -0
- data/app/views/cms/attachments/_attachment_table.html.erb +17 -0
- data/app/views/cms/attachments/_attachment_wrapper.html.erb +4 -0
- data/app/views/cms/blocks/index.html.erb +2 -3
- data/app/views/cms/blocks/show.html.erb +1 -1
- data/app/views/cms/dynamic_views/index.html.erb +1 -1
- data/app/views/cms/email_messages/index.html.erb +1 -1
- data/app/views/cms/file_blocks/_form.html.erb +1 -27
- data/app/views/cms/file_blocks/_section_selector.html.erb +13 -0
- data/app/views/cms/file_blocks/render.html.erb +3 -3
- data/app/views/cms/form_builder/_cms_attachment_manager.html.erb +26 -0
- data/app/views/cms/form_builder/_cms_file_field.html.erb +27 -35
- data/app/views/cms/groups/index.html.erb +1 -1
- data/app/views/cms/image_blocks/_form.html.erb +1 -27
- data/app/views/cms/image_blocks/render.html.erb +4 -1
- data/app/views/cms/page_routes/index.html.erb +3 -0
- data/app/views/cms/shared/error.xml.erb +8 -0
- data/app/views/cms/tags/render.html.erb +1 -1
- data/app/views/cms/toolbar/_mobile_toggle.html.erb +33 -0
- data/app/views/cms/users/index.html.erb +1 -1
- data/app/views/layouts/_page_toolbar.html.erb +2 -1
- data/bin/bcms +21 -26
- data/config/routes.rb +3 -2
- data/db/browsercms.seeds.rb +2 -1
- data/db/migrate/20111130221145_browsercms340.rb +5 -4
- data/db/migrate/20120329144406_browsercms350.rb +32 -0
- data/{test/dummy/db → db}/schema.rb +97 -128
- data/{performance_tuning_notes.md → doc/performance_tuning_notes.md} +0 -0
- data/doc/release_notes.md +74 -0
- data/lib/browsercms.rb +3 -0
- data/lib/cms/acts/content_block.rb +10 -2
- data/lib/cms/addressable.rb +8 -0
- data/lib/cms/attachments/attachment_serving.rb +59 -0
- data/lib/cms/attachments/configuration.rb +88 -0
- data/lib/cms/behaviors/attaching.rb +305 -136
- data/lib/cms/behaviors/connecting.rb +3 -4
- data/lib/cms/behaviors/dynamic_attributes.rb +121 -118
- data/lib/cms/behaviors/flush_cache_on_change.rb +1 -3
- data/lib/cms/behaviors/naming.rb +16 -0
- data/lib/cms/behaviors/pagination.rb +4 -1
- data/lib/cms/behaviors/publishing.rb +9 -3
- data/lib/cms/behaviors/searching.rb +3 -8
- data/lib/cms/behaviors/soft_deleting.rb +1 -0
- data/lib/cms/behaviors/taggable.rb +2 -0
- data/lib/cms/behaviors/versioning.rb +73 -120
- data/lib/cms/caching.rb +53 -11
- data/lib/cms/commands/actions.rb +19 -2
- data/lib/cms/configuration.rb +44 -0
- data/lib/cms/content_rendering_support.rb +9 -6
- data/lib/cms/default_accessible.rb +13 -0
- data/lib/cms/domain_support.rb +22 -0
- data/lib/cms/engine.rb +40 -19
- data/lib/cms/engine_helper.rb +54 -0
- data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +14 -2
- data/lib/cms/mobile_aware.rb +67 -0
- data/lib/cms/route_extensions.rb +3 -0
- data/lib/cms/upgrades/v3_5_0.rb +155 -0
- data/lib/cms/version.rb +6 -1
- data/lib/generators/cms/content_block/content_block_generator.rb +14 -9
- data/lib/generators/cms/content_block/templates/_form.html.erb +17 -6
- data/lib/generators/cms/content_block/templates/render.html.erb +12 -5
- data/lib/generators/cms/template/template_generator.rb +11 -2
- data/lib/tasks/cms.rake +23 -0
- data/lib/templates/active_record/model/model.rb +6 -0
- metadata +127 -517
- data/.gitignore +0 -24
- data/.rvmrc +0 -2
- data/Gemfile +0 -29
- data/Gemfile.lock +0 -196
- data/Rakefile +0 -97
- data/app/assets/images/browsercms/.gitkeep +0 -0
- data/app/controllers/browsercms/application_controller.rb +0 -4
- data/browsercms.gemspec +0 -35
- data/config/cucumber.yml +0 -8
- data/config/database.jdbcmysql.yml +0 -30
- data/config/database.mysql.yml +0 -27
- data/config/database.postgres.yml +0 -25
- data/config/database.sqlite3.yml +0 -11
- data/config/environment.rb +0 -6
- data/config/initializers/query_reviewer_patch.rb +0 -12
- data/config/initializers/rack_1_2_1_patch.rb +0 -12
- data/config/locales/en.yml +0 -5
- data/features/acts_as_content_page.feature +0 -62
- data/features/add_content_to_pages.feature +0 -45
- data/features/caching.feature +0 -13
- data/features/ckeditor.feature +0 -11
- data/features/commands/confirm_aruba_works.feature +0 -24
- data/features/commands/generate_module.feature +0 -54
- data/features/commands/install_browsercms.feature +0 -21
- data/features/commands/new_demo_project.feature +0 -30
- data/features/commands/new_projects.feature +0 -50
- data/features/commands/upgrade_modules_to_3_4_0_from_3_1_x.feature +0 -19
- data/features/commands/upgrade_project_to_3_4_0_from_3_3_x.feature +0 -52
- data/features/commands/upgrading_modules.feature +0 -67
- data/features/content_blocks/manage_custom_blocks.feature +0 -67
- data/features/content_blocks/manage_html_blocks.feature +0 -48
- data/features/content_blocks/manage_image_blocks.feature +0 -41
- data/features/content_files.feature +0 -37
- data/features/content_pages.feature +0 -21
- data/features/generators/content_blocks_for_modules.feature +0 -58
- data/features/generators/content_blocks_for_projects.feature +0 -109
- data/features/install_content.feature +0 -25
- data/features/jquery-testplan.txt +0 -12
- data/features/manage_groups.feature +0 -33
- data/features/manage_page_routes.feature +0 -72
- data/features/manage_redirects.feature +0 -20
- data/features/manage_sections.feature +0 -12
- data/features/manage_tasks.feature +0 -25
- data/features/manage_users.feature +0 -38
- data/features/page_templates.feature +0 -49
- data/features/portlets/email_friend_portlet.feature +0 -29
- data/features/portlets/portlets.feature +0 -100
- data/features/portlets/tag_cloud_portlet.feature +0 -28
- data/features/sitemap/create_pages.feature +0 -15
- data/features/sitemap/manage_links.feature +0 -29
- data/features/sitemap/sitemap.feature +0 -18
- data/features/step_definitions/acts_as_content_page_steps.rb.rb +0 -3
- data/features/step_definitions/ckeditor_steps.rb +0 -13
- data/features/step_definitions/command_line_steps.rb +0 -212
- data/features/step_definitions/content_pages_steps.rb +0 -170
- data/features/step_definitions/data_steps.rb +0 -48
- data/features/step_definitions/edit_page_templates_steps.rb +0 -21
- data/features/step_definitions/html_blocks_steps.rb +0 -9
- data/features/step_definitions/install_content_steps.rb +0 -4
- data/features/step_definitions/manage_content_blocks_steps.rb +0 -26
- data/features/step_definitions/manage_image_blocks_steps.rb +0 -31
- data/features/step_definitions/manage_sections_steps.rb +0 -18
- data/features/step_definitions/manage_user_steps.rb +0 -22
- data/features/step_definitions/more_custom_block_steps.rb +0 -34
- data/features/step_definitions/page_route_steps.rb +0 -65
- data/features/step_definitions/page_template_steps.rb +0 -5
- data/features/step_definitions/permissions_steps.rb +0 -13
- data/features/step_definitions/portlets_steps.rb +0 -64
- data/features/step_definitions/redirect_steps.rb +0 -12
- data/features/step_definitions/sitemap_steps.rb +0 -18
- data/features/step_definitions/tag_cloud_steps.rb +0 -11
- data/features/step_definitions/task_steps.rb +0 -4
- data/features/step_definitions/taxonomy_steps.rb +0 -16
- data/features/step_definitions/upgrade_module_steps.rb +0 -76
- data/features/step_definitions/web_steps.rb +0 -211
- data/features/support/async_support.rb +0 -17
- data/features/support/command_line_helpers.rb +0 -63
- data/features/support/debug_formatter.rb +0 -7
- data/features/support/debugging.rb +0 -28
- data/features/support/env.rb +0 -73
- data/features/support/git_api.rb +0 -9
- data/features/support/open_on_first_failure.rb +0 -25
- data/features/support/paths.rb +0 -32
- data/features/support/rails_api.rb +0 -8
- data/features/support/selectors.rb +0 -39
- data/features/support/transforms.rb +0 -7
- data/features/taxonomy/add_content_with_category.feature +0 -30
- data/features/taxonomy/manage_categories.feature +0 -20
- data/features/taxonomy/manage_category_types.feature +0 -16
- data/lib/cms/init.rb +0 -105
- data/lib/tasks/data.rake +0 -43
- data/lib/tasks/db.rake +0 -82
- data/public/styled_file_field/index.html +0 -72
- data/script/cucumber +0 -10
- data/script/rails +0 -6
- data/test/console_helper.rb +0 -5
- data/test/custom_assertions.rb +0 -84
- data/test/dummy/Rakefile +0 -7
- data/test/dummy/app/assets/javascripts/application.js +0 -9
- data/test/dummy/app/assets/javascripts/content_page.js +0 -2
- data/test/dummy/app/assets/stylesheets/application.css +0 -7
- data/test/dummy/app/assets/stylesheets/content_page.css +0 -4
- data/test/dummy/app/controllers/application_controller.rb +0 -3
- data/test/dummy/app/controllers/cms/products_controller.rb +0 -2
- data/test/dummy/app/controllers/cms/sample_blocks_controller.rb +0 -3
- data/test/dummy/app/controllers/content_page_controller.rb +0 -13
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/helpers/content_page_helper.rb +0 -2
- data/test/dummy/app/mailers/.gitkeep +0 -0
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/dummy/app/models/cms/sample_block.rb +0 -22
- data/test/dummy/app/models/product.rb +0 -5
- data/test/dummy/app/views/cms/products/_form.html.erb +0 -7
- data/test/dummy/app/views/cms/products/render.html.erb +0 -3
- data/test/dummy/app/views/content_page/custom_page.html.erb +0 -3
- data/test/dummy/app/views/content_page/index.html.erb +0 -2
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/app/views/layouts/templates/default.html.erb +0 -17
- data/test/dummy/app/views/layouts/templates/subpage.html.erb +0 -16
- data/test/dummy/app/views/test_route/index.html.erb +0 -14
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -45
- data/test/dummy/config/boot.rb +0 -10
- data/test/dummy/config/database.yml +0 -27
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -32
- data/test/dummy/config/environments/production.rb +0 -60
- data/test/dummy/config/environments/test.rb +0 -46
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/browsercms.rb +0 -7
- data/test/dummy/config/initializers/inflections.rb +0 -10
- data/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/dummy/config/initializers/quiet_sprocket_assets.rb +0 -13
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/config/initializers/session_store.rb +0 -8
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -5
- data/test/dummy/config/routes.rb +0 -23
- data/test/dummy/db/migrate/20111228141250_create_products.rb +0 -16
- data/test/dummy/db/seeds.rb +0 -1
- data/test/dummy/lib/assets/.gitkeep +0 -0
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -26
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +0 -6
- data/test/dummy/test/functional/content_page_controller_test.rb +0 -9
- data/test/dummy/test/unit/helpers/content_page_helper_test.rb +0 -4
- data/test/factories.rb +0 -235
- data/test/fixtures/multipart/foo.jpg +0 -0
- data/test/fixtures/multipart/sample_upload.txt +0 -1
- data/test/fixtures/multipart/second_upload.txt +0 -1
- data/test/fixtures/multipart/test.jpg +0 -0
- data/test/fixtures/multipart/version1.txt +0 -1
- data/test/fixtures/multipart/version2.txt +0 -1
- data/test/functional/cms/cache_controller_test.rb +0 -16
- data/test/functional/cms/categories_controller_test.rb +0 -28
- data/test/functional/cms/connectors_controller_test.rb +0 -64
- data/test/functional/cms/content_block_controller_test.rb +0 -127
- data/test/functional/cms/content_controller_test.rb +0 -351
- data/test/functional/cms/dashboard_controller_test.rb +0 -20
- data/test/functional/cms/file_blocks_controller_test.rb +0 -55
- data/test/functional/cms/home_controller_test.rb +0 -160
- data/test/functional/cms/html_blocks_controller_test.rb +0 -159
- data/test/functional/cms/image_blocks_controller_test.rb +0 -78
- data/test/functional/cms/links_controller_test.rb +0 -92
- data/test/functional/cms/log/test.log +0 -0
- data/test/functional/cms/pages_controller_test.rb +0 -233
- data/test/functional/cms/portlets_controller_test.rb +0 -57
- data/test/functional/cms/sections_controller_test.rb +0 -234
- data/test/functional/cms/sessions_controller_test.rb +0 -80
- data/test/functional/cms/tasks_controller_test.rb +0 -64
- data/test/functional/cms/toolbar_controller_test.rb +0 -76
- data/test/functional/cms/users_controller_test.rb +0 -218
- data/test/integration/cms/password_management_test.rb +0 -66
- data/test/integration/sitemap_performance_test.rb +0 -26
- data/test/mock_file.rb +0 -33
- data/test/performance/browsing_test.rb +0 -9
- data/test/support/engine_controller_hacks.rb +0 -34
- data/test/support/factory_helpers.rb +0 -57
- data/test/support/rails_3_1_routes_hack.rb +0 -70
- data/test/test_helper.rb +0 -199
- data/test/test_logging.rb +0 -67
- data/test/unit/active_record_callbacks.rb +0 -50
- data/test/unit/behaviors/attaching_test.rb +0 -370
- data/test/unit/behaviors/cms_user_test.rb +0 -67
- data/test/unit/behaviors/connectable_test.rb +0 -32
- data/test/unit/behaviors/connecting_test.rb +0 -56
- data/test/unit/behaviors/dynamic_attributes_test.rb +0 -74
- data/test/unit/behaviors/namespacing_test.rb +0 -76
- data/test/unit/behaviors/publishable_test.rb +0 -83
- data/test/unit/behaviors/rendering_test.rb +0 -68
- data/test/unit/behaviors/searching_test.rb +0 -102
- data/test/unit/behaviors/taggable_test.rb +0 -110
- data/test/unit/behaviors/userstamping_test.rb +0 -27
- data/test/unit/behaviors/versioning_test.rb +0 -102
- data/test/unit/extensions/active_record/base_test.rb +0 -25
- data/test/unit/extensions/hash_test.rb +0 -26
- data/test/unit/extensions/integer_test.rb +0 -10
- data/test/unit/extensions/string_test.rb +0 -14
- data/test/unit/factories_test.rb +0 -50
- data/test/unit/generators/install_generator_test.rb +0 -15
- data/test/unit/helpers/application_helper_test.rb +0 -104
- data/test/unit/helpers/date_picker_test.rb +0 -17
- data/test/unit/helpers/menu_helper_test.rb +0 -240
- data/test/unit/helpers/page_helper_test.rb +0 -69
- data/test/unit/helpers/path_helper_test.rb +0 -38
- data/test/unit/helpers/rendering_helper_test.rb +0 -8
- data/test/unit/lib/acts_as_content_page_test.rb +0 -72
- data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
- data/test/unit/lib/cms/engine_helper_test.rb +0 -119
- data/test/unit/lib/cms/sitemap_test.rb +0 -210
- data/test/unit/lib/cms_domain_support_test.rb +0 -44
- data/test/unit/lib/command_line_test.rb +0 -70
- data/test/unit/lib/content_block_test.rb +0 -304
- data/test/unit/lib/content_rendering_support_test.rb +0 -40
- data/test/unit/lib/generators_test.rb +0 -40
- data/test/unit/lib/routes_test.rb +0 -98
- data/test/unit/mock_file_test.rb +0 -19
- data/test/unit/models/attachment_test.rb +0 -160
- data/test/unit/models/category_test.rb +0 -40
- data/test/unit/models/category_type_test.rb +0 -8
- data/test/unit/models/connector_test.rb +0 -152
- data/test/unit/models/content_type_group_test.rb +0 -26
- data/test/unit/models/content_type_test.rb +0 -177
- data/test/unit/models/dynamic_views_test.rb +0 -36
- data/test/unit/models/email_page_portlet_test.rb +0 -20
- data/test/unit/models/file_block_test.rb +0 -246
- data/test/unit/models/group_test.rb +0 -29
- data/test/unit/models/html_block_test.rb +0 -121
- data/test/unit/models/image_block_test.rb +0 -35
- data/test/unit/models/link_test.rb +0 -52
- data/test/unit/models/namespaces_test.rb +0 -57
- data/test/unit/models/page_partial_test.rb +0 -37
- data/test/unit/models/page_route_test.rb +0 -113
- data/test/unit/models/page_template_test.rb +0 -50
- data/test/unit/models/page_test.rb +0 -879
- data/test/unit/models/permission_test.rb +0 -10
- data/test/unit/models/portlet_test.rb +0 -99
- data/test/unit/models/sections_test.rb +0 -278
- data/test/unit/models/site_test.rb +0 -50
- data/test/unit/models/task_test.rb +0 -150
- data/test/unit/models/user_test.rb +0 -358
- data/test/unit/schema_statements_test.rb +0 -137
- data/todo_list.markdown +0 -50
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
development:
|
|
2
|
-
adapter: postgresql
|
|
3
|
-
database: browsercms_development
|
|
4
|
-
username: postgres
|
|
5
|
-
password:
|
|
6
|
-
|
|
7
|
-
# Warning: The database defined as 'test' will be erased and
|
|
8
|
-
# re-generated from your development database when you run 'rake'.
|
|
9
|
-
# Do not set this db to the same as development or production.
|
|
10
|
-
test:
|
|
11
|
-
adapter: postgresql
|
|
12
|
-
database: browsercms_test
|
|
13
|
-
username: postgres
|
|
14
|
-
password:
|
|
15
|
-
|
|
16
|
-
production:
|
|
17
|
-
adapter: postgresql
|
|
18
|
-
database: browsercms_production
|
|
19
|
-
username: postgres
|
|
20
|
-
password:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
test_sqlite3:
|
|
24
|
-
adapter: sqlite3
|
|
25
|
-
database: db/test.sqlite3
|
data/config/database.sqlite3.yml
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# Do not edit the database.yml file directory. BrowserCMS test suites run against multiple databases, so
|
|
2
|
-
# make changes to the correct 'source' db file. In this case, edit: config/database.sqlite3.yml instead.
|
|
3
|
-
development:
|
|
4
|
-
adapter: sqlite3
|
|
5
|
-
database: ":memory:"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
test:
|
|
9
|
-
adapter: sqlite3
|
|
10
|
-
database: "db/test.sqlite3"
|
|
11
|
-
|
data/config/environment.rb
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# If we are using QueryReviewer, we need to patch it to avoid the sitemap blowing up.
|
|
2
|
-
if defined?(QueryReviewer)
|
|
3
|
-
|
|
4
|
-
QueryReviewer::SqlQuery.class_eval do
|
|
5
|
-
# Hack to prevent nil pointer errors from occuring on pages when queryanalyzer is on.
|
|
6
|
-
def table
|
|
7
|
-
return @subqueries.first.table unless @subqueries.empty?
|
|
8
|
-
"fake_table"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# TODO: Can be removed after updating to rack 1.3.0
|
|
2
|
-
# Avoids this issue: http://stackoverflow.com/questions/3622394/ruby-1-9-2-strange-warning-when-running-cucumber-specs
|
|
3
|
-
module Rack
|
|
4
|
-
module Utils
|
|
5
|
-
def escape(s)
|
|
6
|
-
CGI.escape(s.to_s)
|
|
7
|
-
end
|
|
8
|
-
def unescape(s)
|
|
9
|
-
CGI.unescape(s)
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
data/config/locales/en.yml
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
Feature: Acts as Content Page
|
|
2
|
-
Rails developers should be able to create standard Rails Controllers that include CMS features, including:
|
|
3
|
-
1. Handling of exceptions (i.e. routing to standard CMS error pages)
|
|
4
|
-
2. Security (protected controllers as if they were site pages.
|
|
5
|
-
|
|
6
|
-
See 'Tests::PretendController' for other scenarios to pull out.
|
|
7
|
-
|
|
8
|
-
Background:
|
|
9
|
-
Given the cms database is populated
|
|
10
|
-
And I am a guest
|
|
11
|
-
|
|
12
|
-
Scenario: Use CMS templates with Rails Controllers
|
|
13
|
-
When I visit /content-page
|
|
14
|
-
Then the response should be 200
|
|
15
|
-
And I should see a page titled "Content Page"
|
|
16
|
-
And I should see the following content:
|
|
17
|
-
| Dummy Site Template |
|
|
18
|
-
|
|
19
|
-
Scenario: Set a Page Title
|
|
20
|
-
When I visit /custom-page
|
|
21
|
-
Then I should see a page titled "My Custom Page"
|
|
22
|
-
And I should see the following content:
|
|
23
|
-
| Some Custom Content |
|
|
24
|
-
|
|
25
|
-
Scenario: Content Page
|
|
26
|
-
When I visit /tests/open
|
|
27
|
-
Then the response should be 200
|
|
28
|
-
Then I should see the following content:
|
|
29
|
-
| Open Page |
|
|
30
|
-
| You can see this public page. |
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
Scenario: Error Page
|
|
34
|
-
When I am at /tests/error
|
|
35
|
-
Then the response should be 500
|
|
36
|
-
And I should see a page titled "Server Error"
|
|
37
|
-
And I should see the following content:
|
|
38
|
-
| The server encountered an unexpected condition that prevented it from fulfilling the request. |
|
|
39
|
-
|
|
40
|
-
Scenario: Controller throws Missing Page Error
|
|
41
|
-
When I am at /tests/not-found
|
|
42
|
-
Then the response should be 404
|
|
43
|
-
And I should see a page titled "Not Found"
|
|
44
|
-
And I should see the following content:
|
|
45
|
-
| Page Not Found |
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
Scenario: A Controller in a 'Restricted' section
|
|
49
|
-
Given a members only section
|
|
50
|
-
When I am at /tests/restricted
|
|
51
|
-
Then the response should be 403
|
|
52
|
-
And I should see a page titled "Access Denied"
|
|
53
|
-
And I should see the following content:
|
|
54
|
-
| Access Denied |
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
Scenario: NotFound Page as a Content Editor
|
|
58
|
-
Given I am logged in as a Content Editor
|
|
59
|
-
When I visit /tests/not-found
|
|
60
|
-
Then the response should be 500
|
|
61
|
-
And I should see a page titled "Error: ActiveRecord::RecordNotFound"
|
|
62
|
-
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
Feature: Add Content to Pages
|
|
2
|
-
Content Editors should be able to add content to pages.
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
Given the cms database is populated
|
|
6
|
-
|
|
7
|
-
Scenario: Selecting an existing html block
|
|
8
|
-
Given there is an Html Block with:
|
|
9
|
-
| name | content |
|
|
10
|
-
| Hello World | I'm content |
|
|
11
|
-
And there is a page with:
|
|
12
|
-
| path | name |
|
|
13
|
-
| /some-page | Some Page |
|
|
14
|
-
And I am logged in as a Content Editor
|
|
15
|
-
And I turn on edit mode for /some-page
|
|
16
|
-
When I am at /some-page
|
|
17
|
-
And I click the Select Existing Content button
|
|
18
|
-
Then I should see the following content:
|
|
19
|
-
| Hello World |
|
|
20
|
-
|
|
21
|
-
Scenario: Add Html/Text to a page
|
|
22
|
-
Given there is a page with:
|
|
23
|
-
| path | name |
|
|
24
|
-
| /some-page | Some Page |
|
|
25
|
-
And I am logged in as a Content Editor
|
|
26
|
-
And I turn on edit mode for /some-page
|
|
27
|
-
When I am at /some-page
|
|
28
|
-
And I add new content to the page
|
|
29
|
-
Then I should see the following content:
|
|
30
|
-
| File |
|
|
31
|
-
| Text |
|
|
32
|
-
| Image |
|
|
33
|
-
| Portlet |
|
|
34
|
-
And I should see a page titled "Select Content Type"
|
|
35
|
-
When I follow "Text"
|
|
36
|
-
Then I should see a page titled "Content Library / Add New Text"
|
|
37
|
-
And I should see the following content:
|
|
38
|
-
| Name |
|
|
39
|
-
| Text |
|
|
40
|
-
When I fill in "Name" with "Hello"
|
|
41
|
-
And I fill in "Content" with "I'm some new content"
|
|
42
|
-
And I press "Save"
|
|
43
|
-
Then I should see a page titled "Some Page"
|
|
44
|
-
And I should see the following content:
|
|
45
|
-
| I'm some new content |
|
data/features/caching.feature
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Feature: Caching
|
|
2
|
-
In order for the site to scale there should be caching in place for pages.
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
Given the cms database is populated
|
|
6
|
-
And I am logged in as a Content Editor
|
|
7
|
-
|
|
8
|
-
Scenario: Clear Page Cache
|
|
9
|
-
When I request /cms/cache
|
|
10
|
-
Then I should see a page titled "Page Cache Info"
|
|
11
|
-
When I click on "Clear Page Cache"
|
|
12
|
-
Then I should see a page titled "Page Cache Info"
|
|
13
|
-
|
data/features/ckeditor.feature
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Feature: CKEditor
|
|
2
|
-
In order to allow non-technical users to edit HTML content
|
|
3
|
-
the open source CKEditor (WYSIWYG) will be used for content that is HTML
|
|
4
|
-
|
|
5
|
-
Scenario: Editing an Html Block
|
|
6
|
-
Given the cms database is populated
|
|
7
|
-
And I am logged in as a Content Editor
|
|
8
|
-
When I request /cms/content_library
|
|
9
|
-
And I click on "add new content"
|
|
10
|
-
Then I should see a widget to select which editor to use
|
|
11
|
-
And I should see the CKEditor
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
Feature: Aruba Behavior
|
|
2
|
-
Verifies that Aruba is configured correctly and that it is testing things as I expect them to.
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
|
|
6
|
-
Scenario: Create a new Rails project
|
|
7
|
-
When I run `rails new hello_world --skip-bundle`
|
|
8
|
-
Then a rails application named "hello_world" should exist
|
|
9
|
-
|
|
10
|
-
Scenario: Previously generated projects should be cleaned up before each Scenario
|
|
11
|
-
Then the following directories should not exist:
|
|
12
|
-
| hello_world |
|
|
13
|
-
|
|
14
|
-
Scenario: Create and verify a file exists
|
|
15
|
-
Given a file named "test.txt" with:
|
|
16
|
-
"""
|
|
17
|
-
hello
|
|
18
|
-
"""
|
|
19
|
-
Then a file named "test.txt" should exist
|
|
20
|
-
|
|
21
|
-
Scenario: Aruba cleans up files before each Scenario
|
|
22
|
-
Then a file named "test.txt" should not exist
|
|
23
|
-
|
|
24
|
-
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
@cli
|
|
2
|
-
Feature: Generate Module
|
|
3
|
-
A developer should be able to create a new BrowserCMS module by using a command line tool.
|
|
4
|
-
|
|
5
|
-
Background:
|
|
6
|
-
|
|
7
|
-
Scenario: Create a BrowserCMS module
|
|
8
|
-
When I create a module named "bcms_store"
|
|
9
|
-
Then a rails engine named "bcms_store" should exist
|
|
10
|
-
And BrowserCMS should be added the .gemspec file
|
|
11
|
-
And a file named "bcms_store/test/dummy/app/views/layouts/templates/default.html.erb" should exist
|
|
12
|
-
|
|
13
|
-
Scenario: Generate a module (3.4.x)
|
|
14
|
-
Given I run `bcms module bcms_widgets`
|
|
15
|
-
Then I cd to "bcms_widgets"
|
|
16
|
-
And a Gemfile should be created
|
|
17
|
-
And the engine should be created
|
|
18
|
-
And the installation script should be created
|
|
19
|
-
And the following files should exist:
|
|
20
|
-
| COPYRIGHT.txt |
|
|
21
|
-
And the project should be LGPL licensed
|
|
22
|
-
And the following files should exist:
|
|
23
|
-
| test/dummy/db/browsercms.seeds.rb|
|
|
24
|
-
And it should no longer generate a README in the public directory
|
|
25
|
-
And the file "test/dummy/config/routes.rb" should contain:
|
|
26
|
-
"""
|
|
27
|
-
Rails.application.routes.draw do
|
|
28
|
-
|
|
29
|
-
mount BcmsWidgets::Engine => "/bcms_widgets"
|
|
30
|
-
|
|
31
|
-
mount_browsercms
|
|
32
|
-
"""
|
|
33
|
-
|
|
34
|
-
Scenario: Can Install modules
|
|
35
|
-
Given I run `bcms module bcms_widgets`
|
|
36
|
-
And I cd to "bcms_widgets"
|
|
37
|
-
When I run `rake db:install`
|
|
38
|
-
Then it should seed the BrowserCMS database
|
|
39
|
-
|
|
40
|
-
Scenario: Packaging Modules as Gems
|
|
41
|
-
Given I run `bcms module bcms_widgets`
|
|
42
|
-
And I cd to "bcms_widgets"
|
|
43
|
-
Then the file "bcms_widgets.gemspec" should contain "s.files -= Dir['lib/tasks/module_tasks.rake']"
|
|
44
|
-
# Better tests, build the gem, check for errors
|
|
45
|
-
# Install the gem, check the contents.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
@cli
|
|
2
|
-
Feature: Install BrowserCMS
|
|
3
|
-
As a Rails developer who wants to add a CMS to my Rails project,
|
|
4
|
-
I should be able to run a single command to have it add BrowserCMS
|
|
5
|
-
In order to be up and running fast
|
|
6
|
-
|
|
7
|
-
Background:
|
|
8
|
-
Given a rails application named "petstore" exists
|
|
9
|
-
|
|
10
|
-
Scenario: Verify
|
|
11
|
-
Then a rails application named "petstore" should exist
|
|
12
|
-
|
|
13
|
-
Scenario: Install CMS into existing project
|
|
14
|
-
Given I cd to "petstore"
|
|
15
|
-
And I run `bcms install --skip-bundle`
|
|
16
|
-
Then BrowserCMS should be installed in the project
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
@cli
|
|
2
|
-
Feature:
|
|
3
|
-
As a new user of BrowserCMS, I want to be able to experiment with the system by creating a demo site.
|
|
4
|
-
This demo site should have a basic look and feel, and some pages and content to play with, all of which are
|
|
5
|
-
designed to show off some of the features of the system.
|
|
6
|
-
|
|
7
|
-
Background:
|
|
8
|
-
|
|
9
|
-
Scenario: Forgot to specify a name
|
|
10
|
-
When I run `bcms demo`
|
|
11
|
-
Then the output should contain:
|
|
12
|
-
"""
|
|
13
|
-
"demo" was called incorrectly. Call as "bcms demo [NAME]".
|
|
14
|
-
"""
|
|
15
|
-
And the exit status should be 0
|
|
16
|
-
|
|
17
|
-
Scenario: Make a demo project
|
|
18
|
-
When I run `bcms demo petstore`
|
|
19
|
-
Then a demo project named "petstore" should be created
|
|
20
|
-
When I run `rake db:install`
|
|
21
|
-
Then it should seed the BrowserCMS database
|
|
22
|
-
And it should seed the demo data
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
@cli
|
|
2
|
-
Feature: New Project Generator
|
|
3
|
-
Developers should be able to create new projects from the command line.
|
|
4
|
-
|
|
5
|
-
Background:
|
|
6
|
-
|
|
7
|
-
Scenario: Output the Version
|
|
8
|
-
When I run `bcms -v`
|
|
9
|
-
Then the output should contain "BrowserCMS 3.4.2"
|
|
10
|
-
|
|
11
|
-
Scenario: Create a new BrowserCMS project
|
|
12
|
-
When I create a new BrowserCMS project named "hello"
|
|
13
|
-
Then a rails application named "hello" should exist
|
|
14
|
-
And a file named "public/index.html" should not exist
|
|
15
|
-
And it should copy all the migrations into the project
|
|
16
|
-
And the file "hello/config/routes.rb" should contain "mount_browsercms"
|
|
17
|
-
And the file "hello/db/seeds.rb" should contain "require File.expand_path('../browsercms.seeds.rb', __FILE__)"
|
|
18
|
-
And a file named "hello/db/browsercms.seeds.rb" should exist
|
|
19
|
-
And a file named "hello/config/initializers/browsercms.rb" should exist
|
|
20
|
-
And a file named "hello/app/views/layouts/templates/default.html.erb" should exist
|
|
21
|
-
And the output should not contain "identical"
|
|
22
|
-
And BrowserCMS should be added the Gemfile
|
|
23
|
-
And the correct version of Rails should be added to the Gemfile
|
|
24
|
-
And the production environment should be configured with reasonable defaults
|
|
25
|
-
|
|
26
|
-
Scenario: With a specific database
|
|
27
|
-
When I run `bcms new hello_world -d mysql`
|
|
28
|
-
Then the file "hello_world/Gemfile" should contain "mysql2"
|
|
29
|
-
|
|
30
|
-
Scenario: With an application template
|
|
31
|
-
The exact template is irrelevant, so long as bcms command passes it to rails.
|
|
32
|
-
|
|
33
|
-
When I run `bcms new hello_world -m sometemplate.rb`
|
|
34
|
-
Then the output should contain "sometemplate.rb] could not be loaded"
|
|
35
|
-
|
|
36
|
-
Scenario: Creating a new CMS project without a name
|
|
37
|
-
When I run `bcms new`
|
|
38
|
-
Then the output should contain:
|
|
39
|
-
"""
|
|
40
|
-
"new" was called incorrectly. Call as "bcms new [NAME]".
|
|
41
|
-
"""
|
|
42
|
-
And the exit status should be 0
|
|
43
|
-
|
|
44
|
-
Scenario: Creating a CMS module without a name
|
|
45
|
-
When I run `bcms module`
|
|
46
|
-
Then the output should contain:
|
|
47
|
-
"""
|
|
48
|
-
"module" was called incorrectly. Call as "bcms module [NAME]".
|
|
49
|
-
"""
|
|
50
|
-
And the exit status should be 0
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
@cli
|
|
2
|
-
Feature: Upgrade Module from 3.1.x to 3.4.x
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
Given I am working on a BrowserCMS v3.1.x module named "bcms_widgets"
|
|
6
|
-
|
|
7
|
-
Scenario: Verify Project
|
|
8
|
-
Then a file named "script/console" should exist
|
|
9
|
-
|
|
10
|
-
Scenario: Upgrade a Module from 3.1.x to 3.4.x
|
|
11
|
-
When I run `bcms-upgrade module`
|
|
12
|
-
Then the output should contain "Upgrading to BrowserCMS 3.3.x"
|
|
13
|
-
And a Gemfile should be created
|
|
14
|
-
And the engine should be created
|
|
15
|
-
And the installation script should be created
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
@cli
|
|
2
|
-
Feature:
|
|
3
|
-
Assuming there is BrowserCMS project that is currently running 3.3.x
|
|
4
|
-
the upgrade script should handle generating, and/or manipulating files to make upgrading simple
|
|
5
|
-
|
|
6
|
-
# Note: We skip running `rake rails:update` as part of these tests since it requires an interactive
|
|
7
|
-
# command as part a separate process to overwrite files, so its very hard to wait for the exact timing.
|
|
8
|
-
|
|
9
|
-
Background:
|
|
10
|
-
Given I am working on a BrowserCMS v3.3.x project named "petstore"
|
|
11
|
-
|
|
12
|
-
Scenario: Upgrade Project
|
|
13
|
-
When I run `bcms upgrade --skip-rails`
|
|
14
|
-
Then Gemfile should have the correct version of BrowserCMS
|
|
15
|
-
And it should comment out Rails in the Gemfile
|
|
16
|
-
And it should run bundle install
|
|
17
|
-
And it should copy all the migrations into the project
|
|
18
|
-
And it should add the seed data to the project
|
|
19
|
-
And it should display instructions to the user
|
|
20
|
-
|
|
21
|
-
Scenario: Projects with Content Block
|
|
22
|
-
Given the project has a "turtle" block
|
|
23
|
-
When I run `bcms upgrade --skip-rails`
|
|
24
|
-
Then I should have a migration for updating the "turtle" versions table
|
|
25
|
-
|
|
26
|
-
Scenario: Projects with Content Blocks and Models
|
|
27
|
-
Rails models (that aren't blocks) should not have a migration generated for them.
|
|
28
|
-
|
|
29
|
-
Given the project has a "turtle" block
|
|
30
|
-
And the project has a "category" model
|
|
31
|
-
When I run `bcms upgrade --skip-rails`
|
|
32
|
-
Then I should have a migration for updating the "turtle" versions table
|
|
33
|
-
|
|
34
|
-
Scenario: Updates version table
|
|
35
|
-
Given the project has a "turtle" block
|
|
36
|
-
When I run `bcms upgrade --skip-rails`
|
|
37
|
-
When I run `rake db:migrate`
|
|
38
|
-
Then the migration should update the version table for "turtle" block
|
|
39
|
-
|
|
40
|
-
Scenario: Migrations work for new project
|
|
41
|
-
Given the project has a "turtle" block which hasn't ever been migrated
|
|
42
|
-
When I run `bcms upgrade --skip-rails`
|
|
43
|
-
When I run `rake db:migrate`
|
|
44
|
-
Then the migration should not update the version table for "turtle" block
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|