zena 1.1.3 → 1.2.0
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/History.txt +23 -1
- data/MIT-LICENSE +2 -2
- data/README.rdoc +2 -15
- data/app/controllers/acls_controller.rb +1 -1
- data/app/controllers/documents_controller.rb +12 -3
- data/app/controllers/nodes_controller.rb +1 -3
- data/app/controllers/sites_controller.rb +7 -0
- data/app/controllers/versions_controller.rb +1 -1
- data/app/controllers/virtual_classes_controller.rb +7 -8
- data/app/models/acl.rb +3 -2
- data/app/models/relation_proxy.rb +2 -1
- data/app/models/role.rb +16 -0
- data/app/models/site.rb +48 -0
- data/app/models/text_document.rb +2 -1
- data/app/models/user.rb +2 -1
- data/app/models/zip.rb +2 -1
- data/app/views/acls/index.rhtml +11 -1
- data/app/views/documents/show.rhtml +1 -1
- data/app/views/relations/_add.erb +2 -2
- data/app/views/relations/_form.erb +5 -2
- data/app/views/relations/_li.erb +4 -1
- data/app/views/relations/index.erb +3 -3
- data/app/views/sites/_form.erb +1 -1
- data/app/views/sites/_job.erb +4 -0
- data/app/views/sites/index.erb +1 -1
- data/app/views/sites/jobs.erb +10 -0
- data/app/views/templates/document_create_tabs/_file.rhtml +3 -0
- data/app/views/zafu/default/Node-+search.zafu +2 -2
- data/bricks/acls/zena/init.rb +2 -1
- data/bricks/acls/zena/test/integration/acl_integration_test.rb +5 -5
- data/bricks/acls/zena/test/sites/erebus/acls.yml +2 -2
- data/bricks/acls/zena/test/unit/acl_test.rb +2 -2
- data/bricks/grid/lib/bricks/grid.rb +110 -0
- data/bricks/grid/zena/init.rb +4 -0
- data/bricks/math/lib/bricks/math.rb +1 -0
- data/bricks/pdf/lib/bricks/pdf.rb +10 -1
- data/bricks/sphinx/zena/tasks.rb +8 -40
- data/bricks/spreadsheet/README +31 -0
- data/bricks/spreadsheet/lib/bricks/spreadsheet.rb +293 -0
- data/bricks/spreadsheet/zena/init.rb +3 -0
- data/bricks/spreadsheet/zena/test/sites/zena/links.yml +11 -0
- data/bricks/spreadsheet/zena/test/unit/xlsx_test.rb +5 -0
- data/bricks/spreadsheet/zena/test/zafu/README +27 -0
- data/bricks/spreadsheet/zena/test/zafu/spreadsheet.yml +19 -0
- data/bricks/worker/lib/bricks/worker.rb +11 -5
- data/bricks/worker/zena/init.rb +8 -0
- data/bricks/worker/zena/migrate/20120501091514_add_site_id_to_jobs.rb +9 -0
- data/bricks/zena/zena/migrate/01_base.rb +0 -7
- data/bricks/zena/zena/migrate/20111214112233_add_comment_to_relations.rb +9 -0
- data/config/bricks.yml +15 -1
- data/config/environments/production.rb +2 -2
- data/config/gems.yml +6 -1
- data/doc/zafu_changes.yml +1 -1
- data/lib/tasks/zena.rake +6 -2
- data/lib/zena/app.rb +1 -1
- data/lib/zena/code/default_syntax.rb +5 -1
- data/lib/zena/db_helper/mysql.rb +5 -1
- data/lib/zena/deploy/app_init.rhtml +11 -7
- data/lib/zena/deploy/awstats.conf.rhtml +1 -1
- data/lib/zena/deploy/start_stop.rhtml +5 -5
- data/lib/zena/deploy/vhost.rhtml +16 -2
- data/lib/zena/deploy.rb +5 -3
- data/lib/zena/info.rb +1 -1
- data/lib/zena/parser/zazen_rules.rb +7 -7
- data/lib/zena/remote/node.rb +7 -0
- data/lib/zena/routes.rb +4 -5
- data/lib/zena/test_controller.rb +18 -1
- data/lib/zena/use/action.rb +13 -4
- data/lib/zena/use/ajax.rb +10 -4
- data/lib/zena/use/authlogic.rb +1 -1
- data/lib/zena/use/calendar.rb +4 -0
- data/lib/zena/use/conditional.rb +3 -0
- data/lib/zena/use/dates.rb +44 -4
- data/lib/zena/use/display.rb +45 -15
- data/lib/zena/use/forms.rb +59 -30
- data/lib/zena/use/query_builder.rb +12 -12
- data/lib/zena/use/recursion.rb +1 -1
- data/lib/zena/use/rendering.rb +18 -17
- data/lib/zena/use/urls.rb +2 -1
- data/lib/zena/use/zafu_safe_definitions.rb +0 -9
- data/lib/zena/use/zafu_templates.rb +2 -2
- data/lib/zena/use/zazen.rb +1 -3
- data/lib/zena/use.rb +13 -2
- data/lib/zena.rb +8 -2
- data/public/images/bullet_back.png +0 -0
- data/public/javascripts/grid.js +535 -0
- data/public/javascripts/tablekit.js +0 -0
- data/public/javascripts/window.js +0 -0
- data/public/javascripts/zena.js +17 -7
- data/public/stylesheets/admin.css +5 -1
- data/public/stylesheets/grid.css +19 -0
- data/test/fixtures/files/TestNode.zafu +123 -311
- data/test/fixtures/files/translations_fr.yml +6 -1
- data/test/functional/acls_controller_test.rb +2 -2
- data/test/functional/nodes_controller_test.rb +17 -11
- data/test/functional/virtual_classes_controller_test.rb +1 -1
- data/test/integration/query_node/basic.yml +9 -0
- data/test/integration/query_node/dates.yml +1 -1
- data/test/integration/zafu_compiler/ajax.yml +9 -9
- data/test/integration/zafu_compiler/basic.yml +0 -24
- data/test/integration/zafu_compiler/dates.yml +24 -7
- data/test/integration/zafu_compiler/display.yml +45 -2
- data/test/integration/zafu_compiler/errors.yml +0 -6
- data/test/integration/zafu_compiler/forms.yml +41 -3
- data/test/integration/zafu_compiler/query.yml +29 -3
- data/test/integration/zafu_compiler/roles.yml +0 -4
- data/test/integration/zafu_compiler/safe_definitions.yml +1 -1
- data/test/integration/zafu_compiler_test.rb +11 -3
- data/test/selenium/Add/add3.rsel +8 -8
- data/test/selenium/Drop/drop1.rsel +12 -12
- data/test/selenium/Drop/drop2.rsel +14 -14
- data/test/selenium/Drop/drop3.rsel +21 -21
- data/test/selenium/Drop/drop4.rsel +1 -1
- data/test/selenium/Edit/edit2.rsel +9 -9
- data/test/selenium/Edit/edit4.rsel +55 -0
- data/test/selenium/Edit/edit5.rsel +41 -0
- data/test/selenium/Edit/edit6.rsel +53 -0
- data/test/selenium/Filter/0setup.rsel +12 -0
- data/test/selenium/Filter/filter1.rsel +9 -0
- data/test/selenium/Filter/filter2.rsel +9 -0
- data/test/selenium/Form/form1.rsel +1 -1
- data/test/selenium/Form/form2.rsel +1 -1
- data/test/selenium/Form/form3.rsel +15 -0
- data/test/selenium/Grid/0setup.rsel +13 -0
- data/test/selenium/Grid/grid1.rsel +11 -0
- data/test/selenium/Swap/0setup.rsel +12 -0
- data/test/selenium/Swap/swap1.rsel +13 -0
- data/test/selenium/Swap/swap2.rsel +11 -0
- data/test/selenium/Toggle/toggle1.rsel +6 -6
- data/test/sites/zena/versions.yml +1 -1
- data/test/unit/relation_proxy_test.rb +36 -0
- data/test/unit/site_test.rb +10 -2
- data/test/unit/zena/use/rendering_test.rb +7 -6
- data/test/unit/zena/use/zazen_test.rb +1 -2
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run 2.tmCommand +24 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Context.tmCommand +58 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Focused Should.tmCommand +88 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run.tmCommand +27 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/YAML to Shoulda.tmCommand +23 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Context.tmPreferences +19 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Should.tmPreferences +19 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory attributes for.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory build.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define with class.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_next.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_sequence.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_bad_value.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_contains.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_does_not_contain.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_good_value.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_same_elements.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_save.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_sent_email.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_valid.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/association.tmSnippet +17 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/attribute.tmSnippet +17 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/before_should block.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block get.tmSnippet +22 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block post.tmSnippet +23 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block with setup.tmSnippet +25 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/setup.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block with before proc.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_allow_values_for.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_assign_to.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful denied.tmSnippet +20 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful.tmSnippet +20 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_belong_to.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change by.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change from to.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_at_least.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_in_range.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_is.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_value_in_range.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_eventually.tmSnippet +18 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_filter_params.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_and_belong_to_many.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_class_methods.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_column.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_columns.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_index.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_indices.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_instance_methods.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_many.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_named_scope.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_one.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_readonly_attributes.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_mass_assignment_of.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_values_for.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_assign_to.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_change.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_set_the_flash.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_redirect_to.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_a_form.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_template.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_with_layout.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_without_layout.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with_content_type.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_return_from_session.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_route.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_set_the_flash_to.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_acceptance_of.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_numericality_of.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_presence_of.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of with scope.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of.tmSnippet +16 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/catch_exception.rb +39 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/run_script.rb +104 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/stdin_dialog.rb +14 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/test.rb +17 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/todo.txt +13 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/bin/yaml_to_shoulda.rb +25 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Syntaxes/Ruby on Rails (Shoulda).tmLanguage +166 -0
- data/vendor/TextMate/Ruby Shoulda.tmbundle/info.plist +304 -0
- data/vendor/TextMate/Zena.tmbundle/Commands/Run all yaml tests.tmCommand +37 -0
- data/vendor/TextMate/Zena.tmbundle/Commands/Run focused yaml test.tmCommand +52 -0
- data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/catch_exception.rb +39 -0
- data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/run_script.rb +118 -0
- data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/stdin_dialog.rb +14 -0
- data/vendor/TextMate/Zena.tmbundle/info.plist +17 -0
- data/vendor/plugins/selenium-on-rails/CHANGELOG +125 -0
- data/vendor/plugins/selenium-on-rails/LICENSE-2.0.txt +202 -0
- data/vendor/plugins/selenium-on-rails/README.md +202 -0
- data/vendor/plugins/selenium-on-rails/Rakefile +38 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumController.html +265 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumHelper.html +148 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/FixtureLoader.html +231 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/PartialsSupport.html +195 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Paths.html +295 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/RSelenese.html +219 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Renderer.html +156 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Selenese.html +179 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/SuiteRenderer.html +223 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilder.html +441 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderAccessors.html +3098 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderActions.html +2080 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderUserAccessors.html +116 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderUserActions.html +116 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails.html +126 -0
- data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRailsConfig.html +150 -0
- data/vendor/plugins/selenium-on-rails/doc/files/CHANGELOG.html +422 -0
- data/vendor/plugins/selenium-on-rails/doc/files/README.html +321 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/controllers/selenium_controller_rb.html +108 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_helper_rb.html +101 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/acceptance_test_runner_rb.html +222 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/fixture_loader_rb.html +109 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/partials_support_rb.html +111 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/paths_rb.html +101 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/renderer_rb.html +101 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/rselenese_rb.html +118 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/selenese_rb.html +101 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/suite_renderer_rb.html +101 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_accessors_rb.html +114 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_actions_rb.html +113 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_rb.html +120 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails_config_rb.html +108 -0
- data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails_rb.html +115 -0
- data/vendor/plugins/selenium-on-rails/doc/fr_class_index.html +42 -0
- data/vendor/plugins/selenium-on-rails/doc/fr_file_index.html +43 -0
- data/vendor/plugins/selenium-on-rails/doc/fr_method_index.html +182 -0
- data/vendor/plugins/selenium-on-rails/doc/index.html +24 -0
- data/vendor/plugins/selenium-on-rails/doc/rdoc-style.css +208 -0
- data/vendor/plugins/selenium-on-rails/generators/selenium/USAGE +19 -0
- data/vendor/plugins/selenium-on-rails/generators/selenium/selenium_generator.rb +50 -0
- data/vendor/plugins/selenium-on-rails/generators/selenium/templates/rhtml.rhtml +16 -0
- data/vendor/plugins/selenium-on-rails/generators/selenium/templates/rselenese.rhtml +14 -0
- data/vendor/plugins/selenium-on-rails/generators/selenium/templates/selenese.rhtml +11 -0
- data/vendor/plugins/selenium-on-rails/init.rb +15 -0
- data/vendor/plugins/selenium-on-rails/lib/controllers/selenium_controller.rb +122 -0
- data/vendor/plugins/selenium-on-rails/lib/controllers/switch_environment_controller.rb +16 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_helper.rb +8 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/acceptance_test_runner.rb +215 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/fixture_loader.rb +57 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/partials_support.rb +36 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/paths.rb +61 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/renderer.rb +20 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/rselenese.rb +44 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/selenese.rb +87 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/suite_renderer.rb +56 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder.rb +116 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_accessors.rb +1002 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_actions.rb +514 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_user_accessors.rb.example +91 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_user_actions.rb.example +24 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails.rb +11 -0
- data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails_config.rb +30 -0
- data/vendor/plugins/selenium-on-rails/lib/views/layouts/layout.rhtml +18 -0
- data/vendor/plugins/selenium-on-rails/lib/views/record.rhtml +5 -0
- data/vendor/plugins/selenium-on-rails/lib/views/selenium_helper.rb +9 -0
- data/vendor/plugins/selenium-on-rails/lib/views/setup.rhtml +67 -0
- data/vendor/plugins/selenium-on-rails/lib/views/test_suite.rhtml +26 -0
- data/vendor/plugins/selenium-on-rails/routes.rb +24 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/Blank.html +7 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/InjectedRemoteRunner.html +8 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/RemoteRunner.html +110 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/SeleniumLog.html +109 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/TestPrompt.html +145 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner-splash.html +55 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner.hta +177 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner.html +177 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/butmin.gif +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/butplus.gif +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/domviewer.css +298 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/domviewer.html +16 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/selenium-domviewer.js +205 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/all.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/continue.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/continue_disabled.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/pause.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/pause_disabled.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/selected.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/step.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/icons/step_disabled.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/iedoc-core.xml +1759 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/iedoc.xml +1800 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/cssQuery-p.js +6 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-level2.js +142 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-level3.js +150 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-standard.js +53 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery.js +356 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/prototype.js +2006 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/builder.js +101 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/controls.js +815 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/dragdrop.js +915 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/effects.js +958 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/scriptaculous.js +47 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/slider.js +283 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/unittest.js +383 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/lib/snapsie.js +91 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/find_matching_child.js +69 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/htmlutils.js +1616 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/injection.html +72 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-api.js +3184 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-browserbot.js +2300 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-browserdetect.js +153 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-commandhandlers.js +377 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-executionloop.js +175 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-logging.js +148 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-remoterunner.js +695 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-testrunner.js +1362 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-version.js +5 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-doc.html +803 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-element.js +1537 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-map-sample.js +979 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/user-extensions.js +3 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/user-extensions.js.sample +75 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/scripts/xmlextras.js +153 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/selenium-logo.png +0 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/selenium-test.css +43 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/selenium.css +316 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/xpath/dom.js +566 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/xpath/javascript-xpath-0.1.11.js +2816 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/xpath/util.js +549 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/xpath/xmltoken.js +149 -0
- data/vendor/plugins/selenium-on-rails/selenium-core/xpath/xpath.js +2450 -0
- data/vendor/plugins/selenium-on-rails/tasks/test_acceptance.rake +8 -0
- data/vendor/plugins/selenium-on-rails/test/fixtures/config.yml +37 -0
- data/vendor/plugins/selenium-on-rails/test/fixtures/selenium.yml +27 -0
- data/vendor/plugins/selenium-on-rails/test/paths_test.rb +72 -0
- data/vendor/plugins/selenium-on-rails/test/renderer_test.rb +157 -0
- data/vendor/plugins/selenium-on-rails/test/rselenese_test.rb +708 -0
- data/vendor/plugins/selenium-on-rails/test/selenese_test.rb +242 -0
- data/vendor/plugins/selenium-on-rails/test/selenium_controller_test.rb +67 -0
- data/vendor/plugins/selenium-on-rails/test/selenium_on_rails_config_test.rb +43 -0
- data/vendor/plugins/selenium-on-rails/test/selenium_support_test.rb +35 -0
- data/vendor/plugins/selenium-on-rails/test/setup_test.rb +31 -0
- data/vendor/plugins/selenium-on-rails/test/suite_renderer_test.rb +109 -0
- data/vendor/plugins/selenium-on-rails/test/switch_environment_controller_test.rb +17 -0
- data/vendor/plugins/selenium-on-rails/test/test_builder_functions_authortest.rb +51 -0
- data/vendor/plugins/selenium-on-rails/test/test_helper.rb +101 -0
- data/vendor/plugins/selenium-on-rails/test_data/_partial.rsel +1 -0
- data/vendor/plugins/selenium-on-rails/test_data/own_layout.html +12 -0
- data/vendor/plugins/selenium-on-rails/test_data/partials/_html.html +6 -0
- data/vendor/plugins/selenium-on-rails/test_data/partials/_nesting.rsel +2 -0
- data/vendor/plugins/selenium-on-rails/test_data/partials/_rhtml.rhtml +6 -0
- data/vendor/plugins/selenium-on-rails/test_data/partials/_rsel.rsel +1 -0
- data/vendor/plugins/selenium-on-rails/test_data/partials/_sel.sel +5 -0
- data/vendor/plugins/selenium-on-rails/test_data/partials/all_partials.rsel +5 -0
- data/vendor/plugins/selenium-on-rails/test_data/rhtml.rhtml +7 -0
- data/vendor/plugins/selenium-on-rails/test_data/rselenese.rsel +8 -0
- data/vendor/plugins/selenium-on-rails/test_data/selenese.sel +7 -0
- data/vendor/plugins/selenium-on-rails/test_data/suite_one/subsuite/suite_one_subsuite_testcase.sel +1 -0
- data/vendor/plugins/selenium-on-rails/test_data/suite_one/suite_one_testcase1.sel +1 -0
- data/vendor/plugins/selenium-on-rails/test_data/suite_one/suite_one_testcase2.sel +1 -0
- data/vendor/plugins/selenium-on-rails/test_data/suite_two/suite_two_testcase.sel +1 -0
- data/zena.gemspec +290 -7
- metadata +346 -52
- data/app/views/nodes/_table.rhtml +0 -14
- data/lib/zena/use/grid.rb +0 -154
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
task :test_acceptance => 'test:acceptance'
|
|
2
|
+
namespace :test do
|
|
3
|
+
desc 'Run Selenium tests in all browsers'
|
|
4
|
+
task :acceptance do
|
|
5
|
+
require File.dirname(__FILE__) + '/../lib/selenium_on_rails/acceptance_test_runner'
|
|
6
|
+
SeleniumOnRails::AcceptanceTestRunner.new.run
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Please read as our directions have changed:
|
|
2
|
+
# Move this file to your rails apps config directory and rename it to selenium.yml in order to configure the plugin
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# General settings
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
environments:
|
|
9
|
+
- test
|
|
10
|
+
# - development # Uncomment this line to enable in development environment. N.B. your development database will likely be altered/destroyed/abducted
|
|
11
|
+
|
|
12
|
+
#selenium_path: 'c:\selenium' #path to selenium installation. only needed if you for some reason don't want to use the bundled version of selenium core
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# rake test:acceptance settings
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
browsers:
|
|
19
|
+
# Windows
|
|
20
|
+
# firefox: 'c:\Program Files\Mozilla Firefox\firefox.exe'
|
|
21
|
+
# ie: 'c:\Program Files\Internet Explorer\iexplore.exe'
|
|
22
|
+
|
|
23
|
+
# Mac OS X
|
|
24
|
+
firefox: '/Applications/Firefox.app/Contents/MacOS/firefox-bin'
|
|
25
|
+
safari: '/Applications/Safari.app/Contents/MacOS/Safari'
|
|
26
|
+
|
|
27
|
+
#host: 'localhost'
|
|
28
|
+
#port_start: 3000
|
|
29
|
+
#port_end: 3005
|
|
30
|
+
#base_url_path: '/'
|
|
31
|
+
#max_browser_duration: 120
|
|
32
|
+
#multi_window: false
|
|
33
|
+
|
|
34
|
+
#result_dir: 'c:\result' # the directory where the results will be stored after a test:acceptance run
|
|
35
|
+
|
|
36
|
+
#fixtures_path: <%= "#{RAILS_ROOT}/spec/fixtures" %>
|
|
37
|
+
#selenium_tests_path: <%= "#{RAILS_ROOT}/spec/selenium" %>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Move this file to your rails apps config directory and rename it to selenium.yml in order to configure the plugin
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# General settings
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
environments:
|
|
8
|
+
- test_cache
|
|
9
|
+
# - development # Uncomment this line to enable in development environment. N.B. your development database will likely be altered/destroyed/abducted
|
|
10
|
+
|
|
11
|
+
#selenium_path: 'c:\selenium' #path to selenium installation. only needed if you for some reason don't want to use the bundled version of selenium core
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
# rake test:acceptance settings
|
|
15
|
+
#
|
|
16
|
+
|
|
17
|
+
browsers:
|
|
18
|
+
firefox: 'script/openfirefox'
|
|
19
|
+
# safari: '/Applications/Safari.app/Contents/MacOS/Safari'
|
|
20
|
+
|
|
21
|
+
port_start: 4000
|
|
22
|
+
port_end: 4001
|
|
23
|
+
#base_url_path: '/'
|
|
24
|
+
#max_browser_duration: 120
|
|
25
|
+
#multi_window: false
|
|
26
|
+
|
|
27
|
+
#result_dir: 'c:\result' # the directory where the results will be stored after a test:acceptance run
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
|
2
|
+
require 'mocha'
|
|
3
|
+
RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + "/")
|
|
4
|
+
|
|
5
|
+
class SeleniumOnRails::PathsTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
include SeleniumOnRails::Paths
|
|
8
|
+
|
|
9
|
+
def test_selenium_tests_path_when_config_has_not_selenium_tests_path
|
|
10
|
+
SeleniumOnRailsConfig.expects(:get).with("selenium_tests_path").returns(nil)
|
|
11
|
+
assert_equal "#{RAILS_ROOT}/test/selenium", selenium_tests_path
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_selenium_tests_path_when_config_has_selenium_tests_path
|
|
15
|
+
SeleniumOnRailsConfig.expects(:get).with("selenium_tests_path").returns("path").at_least_once
|
|
16
|
+
assert_equal "path", selenium_tests_path
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_fixtures_path_when_config_has_not_fixtures_path
|
|
20
|
+
SeleniumOnRailsConfig.expects(:get).with("fixtures_path").returns(nil)
|
|
21
|
+
assert_equal "#{RAILS_ROOT}/test/fixtures", fixtures_path
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_fixtures_path_when_config_has_fixtures_path
|
|
25
|
+
SeleniumOnRailsConfig.expects(:get).with("fixtures_path").returns("path").at_least_once
|
|
26
|
+
assert_equal "path", fixtures_path
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_view_path
|
|
30
|
+
assert_equal File.expand_path("#{RAILS_ROOT}/../lib/views/my_view"), view_path('my_view')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_layout_path
|
|
34
|
+
assert_equal "layout.rhtml", layout_path
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_skip_file_when_file_contain_CVS
|
|
38
|
+
assert skip_file?("file/with/CVS/in/the/middle/of/path")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_skip_file_when_file_contain_dot
|
|
42
|
+
assert skip_file?("file/with/./(dot)/in/the/middle/of/path")
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_skip_file_when_file_contain_underline
|
|
46
|
+
assert skip_file?("file/with/_underline/in/the/middle/of/path")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_skip_file_when_file_contain_accent_mark
|
|
50
|
+
assert skip_file?("file/with/mark~/in/the/middle/of/path")
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_skip_file_when_file_does_not_have_any_reason_to_skip
|
|
54
|
+
assert !skip_file?("my/valid/file")
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def test_selenium_path
|
|
58
|
+
assert_equal File.expand_path("#{RAILS_ROOT}/../selenium-core") + "/", selenium_path
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_selenium_path_when_selenium_core_installation_is_not_found
|
|
62
|
+
selenium_core_path = File.expand_path(File.dirname(__FILE__) + "/../selenium-core")
|
|
63
|
+
|
|
64
|
+
File.expects(:exist?).with("#{selenium_core_path}/core/TestRunner.html").returns(false)
|
|
65
|
+
File.expects(:exist?).with("#{selenium_core_path}/selenium/TestRunner.html").returns(false)
|
|
66
|
+
File.expects(:exist?).with("#{selenium_core_path}/javascript/TestRunner.html").returns(false)
|
|
67
|
+
File.expects(:exist?).with("#{selenium_core_path}/TestRunner.html").returns(false)
|
|
68
|
+
@@selenium_path = nil
|
|
69
|
+
assert_raise(RuntimeError) { selenium_path }
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
|
2
|
+
|
|
3
|
+
class RendererTest < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
SeleniumOnRails::PartialsSupport.send(:include, SeleniumOnRails::PathsTestHelper)
|
|
6
|
+
@controller = SeleniumController.new
|
|
7
|
+
@controller.extend(SeleniumOnRails::PathsTestHelper)
|
|
8
|
+
ActionController::Routing::Routes.draw
|
|
9
|
+
@request = ActionController::TestRequest.new
|
|
10
|
+
@response = ActionController::TestResponse.new
|
|
11
|
+
@controller.layout_override =<<END
|
|
12
|
+
<html><head><title>test layout</title></head><body>
|
|
13
|
+
@content_for_layout
|
|
14
|
+
</body></html>
|
|
15
|
+
END
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_route
|
|
19
|
+
get :test_file, :testname => 'html.html' #initialize the controller
|
|
20
|
+
assert_equal 'http://test.host/selenium/tests/suite%2Ftest_case.sel',
|
|
21
|
+
@controller.url_for(:controller => 'selenium', :action => 'test_file', :testname => 'suite/test_case.sel')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_html
|
|
25
|
+
expected =<<END
|
|
26
|
+
<html><head><title>test layout</title></head><body>
|
|
27
|
+
<p>Testing plain HTML</p>
|
|
28
|
+
<table>
|
|
29
|
+
<tr><th colspan="3">Test HTML</th></tr>
|
|
30
|
+
<tr><td>open</td><td>/selenium/setup</td><td> </td></tr>
|
|
31
|
+
</table>
|
|
32
|
+
<p>and it works...</p>
|
|
33
|
+
</body></html>
|
|
34
|
+
END
|
|
35
|
+
File.open(test_path_for('html.html'), 'w+') { |index_file| index_file << expected }
|
|
36
|
+
get :test_file, :testname => 'html.html'
|
|
37
|
+
assert_headers
|
|
38
|
+
|
|
39
|
+
assert_text_equal expected, @response.body
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_path_for(name)
|
|
43
|
+
"#{File.expand_path(File.dirname(__FILE__) + "/../test_data")}/#{name}"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_rhtml
|
|
47
|
+
get :test_file, :testname => 'rhtml.rhtml'
|
|
48
|
+
assert_headers
|
|
49
|
+
expected =<<END
|
|
50
|
+
<html><head><title>test layout</title></head><body>
|
|
51
|
+
<table>
|
|
52
|
+
<tr><th colspan="3">Rhtml</th></tr>
|
|
53
|
+
<tr><td>open</td><td>/fi</td><td> </td></tr>
|
|
54
|
+
<tr><td>open</td><td>/fo</td><td> </td></tr>
|
|
55
|
+
<tr><td>open</td><td>/fum</td><td> </td></tr>
|
|
56
|
+
<tr><td>assertTitle</td><td>Partial from RHTML</td><td> </td></tr>
|
|
57
|
+
</table>
|
|
58
|
+
</body></html>
|
|
59
|
+
END
|
|
60
|
+
assert_text_equal expected, @response.body
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_selenese
|
|
64
|
+
get :test_file, :testname => 'selenese.sel'
|
|
65
|
+
|
|
66
|
+
assert_headers
|
|
67
|
+
expected =<<END
|
|
68
|
+
<html><head><title>test layout</title></head><body>
|
|
69
|
+
<p>Selenese <strong>support</strong></p>
|
|
70
|
+
<table>
|
|
71
|
+
<tr><th colspan="3">Selenese</th></tr>
|
|
72
|
+
<tr><td>open</td><td>/selenium/setup</td><td> </td></tr>
|
|
73
|
+
<tr><td>goBack</td><td> </td><td> </td></tr>
|
|
74
|
+
<tr><td>assertTitle</td><td>Partial from Selenese</td><td> </td></tr>
|
|
75
|
+
</table>
|
|
76
|
+
<p>works.</p>
|
|
77
|
+
|
|
78
|
+
</body></html>
|
|
79
|
+
END
|
|
80
|
+
assert_text_equal expected, @response.body
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def test_rselenese
|
|
84
|
+
get :test_file, :testname => 'rselenese.rsel'
|
|
85
|
+
assert_headers
|
|
86
|
+
expected = <<END
|
|
87
|
+
<html><head><title>test layout</title></head><body>
|
|
88
|
+
<table>
|
|
89
|
+
<tr><th colspan="3">Rselenese</th></tr>
|
|
90
|
+
<tr><td>open</td><td>/selenium/setup</td><td> </td></tr>
|
|
91
|
+
<tr><td>open</td><td>/selenium/setup?keep_session=true</td><td> </td></tr>
|
|
92
|
+
<tr><td>open</td><td>/selenium/setup?fixtures=all</td><td> </td></tr>
|
|
93
|
+
<tr><td>open</td><td>/selenium/setup?fixtures=foo%2Cbar</td><td> </td></tr>
|
|
94
|
+
<tr><td>open</td><td>/selenium/setup?clear_tables=foo%2Cbar&amp;fixtures=all</td><td> </td></tr>
|
|
95
|
+
<tr><td>assertAbsoluteLocation</td><td>exact:http://test.host/selenium/setup</td><td> </td></tr>
|
|
96
|
+
<tr><td>assertTitle</td><td>selenium</td><td> </td></tr>
|
|
97
|
+
<tr><td>assertTitle</td><td>Partial from RSelenese</td><td> </td></tr>
|
|
98
|
+
</table>
|
|
99
|
+
</body></html>
|
|
100
|
+
END
|
|
101
|
+
assert_text_equal expected, @response.body
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def test_partial_support
|
|
105
|
+
get :test_file, :testname => 'partials/all_partials.rsel'
|
|
106
|
+
assert_headers
|
|
107
|
+
expected = <<END
|
|
108
|
+
<html><head><title>test layout</title></head><body>
|
|
109
|
+
<table>
|
|
110
|
+
<tr><th colspan="3">All partials</th></tr>
|
|
111
|
+
<tr><td>assertTitle</td><td>Partial from All partials</td><td> </td></tr>
|
|
112
|
+
<tr><td>type</td><td>partial</td><td>HTML partial</td></tr>
|
|
113
|
+
<tr><td>type</td><td>world</td><td>RHTML partial</td></tr>
|
|
114
|
+
<tr><td>type</td><td>partial</td><td>Selenese partial</td></tr>
|
|
115
|
+
<tr><td>type</td><td>world</td><td>RSelenese partial</td></tr>
|
|
116
|
+
<tr><td>type</td><td>nesting</td><td>Nesting partial</td></tr>
|
|
117
|
+
<tr><td>type</td><td>dlrow</td><td>RSelenese partial</td></tr>
|
|
118
|
+
</table>
|
|
119
|
+
</body></html>
|
|
120
|
+
END
|
|
121
|
+
assert_text_equal expected, @response.body
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_own_layout
|
|
125
|
+
get :test_file, :testname => 'own_layout.html'
|
|
126
|
+
assert_headers
|
|
127
|
+
expected =<<END
|
|
128
|
+
<html>
|
|
129
|
+
<head>
|
|
130
|
+
<title>Test case with own layout</title>
|
|
131
|
+
<style type="text/css"> body { background-color: #ccc; } </style>
|
|
132
|
+
</head>
|
|
133
|
+
<body>
|
|
134
|
+
<table>
|
|
135
|
+
<tr><th colspan="3">Test own layout</th></tr>
|
|
136
|
+
<tr><td>open</td><td>/selenium/setup</td><td> </td></tr>
|
|
137
|
+
</table>
|
|
138
|
+
</body>
|
|
139
|
+
</html>
|
|
140
|
+
END
|
|
141
|
+
assert_text_equal expected, @response.body
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def test_not_found
|
|
145
|
+
get :test_file, :testname => 'missing'
|
|
146
|
+
assert_response 404
|
|
147
|
+
assert_equal 'Not found', @response.body
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def assert_headers
|
|
151
|
+
assert_response :success
|
|
152
|
+
assert_equal 'no-cache', @response.headers['Cache-control']
|
|
153
|
+
assert_equal 'no-cache', @response.headers['Pragma']
|
|
154
|
+
assert_equal '-1', @response.headers['Expires']
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
end
|