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,67 @@
|
|
|
1
|
+
<% @page_title = 'Setup' -%>
|
|
2
|
+
<% if defined?(@session_wiped) or @cleared_tables.any? or @loaded_fixtures.any? -%>
|
|
3
|
+
<div id="notice">
|
|
4
|
+
<% if defined?(@session_wiped) -%>
|
|
5
|
+
<p>The session is wiped clean.</p>
|
|
6
|
+
<% end-%>
|
|
7
|
+
<% if @cleared_tables.any? -%>
|
|
8
|
+
<p>The following database tables are cleared:</p>
|
|
9
|
+
<ul>
|
|
10
|
+
<% for table in @cleared_tables -%>
|
|
11
|
+
<li><%= table %></li>
|
|
12
|
+
<% end-%>
|
|
13
|
+
</ul>
|
|
14
|
+
<% end -%>
|
|
15
|
+
<% if @loaded_fixtures.any? -%>
|
|
16
|
+
<p>The following fixtures are loaded:</p>
|
|
17
|
+
<ul>
|
|
18
|
+
<% for fixture in @loaded_fixtures -%>
|
|
19
|
+
<li><%= fixture %></li>
|
|
20
|
+
<% end-%>
|
|
21
|
+
</ul>
|
|
22
|
+
<% end -%>
|
|
23
|
+
</div>
|
|
24
|
+
<% end -%>
|
|
25
|
+
|
|
26
|
+
<div id="usagedescription">
|
|
27
|
+
<p>This page can be used to setup your Selenium tests. The following options can be used:</p>
|
|
28
|
+
<dl>
|
|
29
|
+
<dt><tt>keep_session</tt></dt>
|
|
30
|
+
<dd>
|
|
31
|
+
Per default the session is reset, so add <tt>keep_session</tt> in order to keep the current session.
|
|
32
|
+
<table>
|
|
33
|
+
<tr><td>open</td><td><%= url_for %>?keep_session</td><td> </td></tr>
|
|
34
|
+
</table>
|
|
35
|
+
</dd>
|
|
36
|
+
<dt><tt>fixtures</tt></dt>
|
|
37
|
+
<dd>
|
|
38
|
+
Loads one or many fixtures into the database. <strong>This will destroy the current data you have in your database!</strong> Use <tt>all</tt> as name in order to load all fixtures, or specify which fixtures that should be loaded (delimited by commas).<br />
|
|
39
|
+
If a test needs different data than you have in your fixtures, you can add another <em>fixture set</em>. A fixture set is just a sub directory in <tt>/test/fixtures/</tt> where you can add alternate fixtures (e.g. <tt>/test/fixtures/blank/users.yml</tt>).
|
|
40
|
+
<table>
|
|
41
|
+
<tr><td>open</td><td><%= url_for :fixtures => 'all' %></td><td> </td></tr>
|
|
42
|
+
<tr><td>open</td><td><%= url_for :fixtures => 'fixture' %></td><td> </td></tr>
|
|
43
|
+
<tr><td>open</td><td><%= url_for :fixtures => 'fixture_one' %>,fixture_two</td><td> </td></tr>
|
|
44
|
+
</table>
|
|
45
|
+
<b>Available fixtures</b><br />
|
|
46
|
+
<% fixtures = available_fixtures -%>
|
|
47
|
+
<% for fixture_set in fixtures.keys.sort -%>
|
|
48
|
+
In the <%= fixture_set.blank? ? 'default' : "<tt>#{fixture_set}</tt>" %> fixture set:
|
|
49
|
+
<ul>
|
|
50
|
+
<% fixtures[fixture_set].unshift fixture_set.blank? ? 'all' : "#{fixture_set}/all" -%>
|
|
51
|
+
<% for fixture in fixtures[fixture_set] -%>
|
|
52
|
+
<li><tt><%= fixture %></tt></li>
|
|
53
|
+
<% end -%>
|
|
54
|
+
</ul>
|
|
55
|
+
<% end -%>
|
|
56
|
+
</dd>
|
|
57
|
+
<dt><tt>clear_tables</tt></dt>
|
|
58
|
+
<dd>
|
|
59
|
+
Clears one or many database tables. Another way to do the same thing is to create an empty fixture in a new fixture set (see <tt>fixtures</tt> above).
|
|
60
|
+
<table>
|
|
61
|
+
<tr><td>open</td><td><%= url_for :clear_tables => 'sessions' %></td><td> </td></tr>
|
|
62
|
+
<tr><td>open</td><td><%= url_for :clear_tables => 'sessions' %>,outgoing_messages</td><td> </td></tr>
|
|
63
|
+
</table>
|
|
64
|
+
</dd>
|
|
65
|
+
</dl>
|
|
66
|
+
|
|
67
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<% @page_title = test_suite_name @suite_path -%>
|
|
2
|
+
<script type="text/javascript">
|
|
3
|
+
<!--
|
|
4
|
+
function openSuite(selector) {
|
|
5
|
+
var suite = selector.options[selector.selectedIndex].value;
|
|
6
|
+
if(suite == "header") return;
|
|
7
|
+
if(top.location.href != location.href) //inside a frame
|
|
8
|
+
top.location = "<%= url_for :action => :support_file %>/TestRunner.html?test=tests" + suite
|
|
9
|
+
else
|
|
10
|
+
window.location = "<%= url_for :action => :test_file, :testname => '' %>" + suite
|
|
11
|
+
}
|
|
12
|
+
//-->
|
|
13
|
+
</script>
|
|
14
|
+
<select onchange="openSuite(this)">
|
|
15
|
+
<option value="header">Suites:</option>
|
|
16
|
+
<% for name, path in test_suites @suite_path -%>
|
|
17
|
+
<option value="<%= path %>"><%= name%></option>
|
|
18
|
+
<% end -%>
|
|
19
|
+
</select>
|
|
20
|
+
|
|
21
|
+
<table>
|
|
22
|
+
<tr><th><%= @page_title %></th></tr>
|
|
23
|
+
<% for name, path in test_cases @suite_path -%>
|
|
24
|
+
<tr><td><%= link_to_test_case name, path %></td></tr>
|
|
25
|
+
<% end -%>
|
|
26
|
+
</table>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module ActionController
|
|
2
|
+
module Routing #:nodoc:
|
|
3
|
+
class RouteSet #:nodoc:
|
|
4
|
+
alias_method :draw_without_selenium_routes, :draw
|
|
5
|
+
def draw
|
|
6
|
+
draw_without_selenium_routes do |map|
|
|
7
|
+
map.connect 'selenium/setup',
|
|
8
|
+
:controller => 'selenium', :action => 'setup'
|
|
9
|
+
map.connect 'selenium/tests/*testname',
|
|
10
|
+
:controller => 'selenium', :action => 'test_file'
|
|
11
|
+
map.connect 'selenium/postResults',
|
|
12
|
+
:controller => 'selenium', :action => 'record'
|
|
13
|
+
map.connect 'selenium/postResults/:logFile',
|
|
14
|
+
:controller => 'selenium', :action => 'record', :requirements => { :logFile => /.*/ }
|
|
15
|
+
map.connect 'selenium/*filename',
|
|
16
|
+
:controller => 'selenium', :action => 'support_file'
|
|
17
|
+
map.connect 'switch_environment',
|
|
18
|
+
:controller => 'switch_environment', :action => 'index'
|
|
19
|
+
yield map if block_given?
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
Copyright 2004 ThoughtWorks, Inc
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
See the License for the specific language governing permissions and
|
|
16
|
+
limitations under the License.
|
|
17
|
+
-->
|
|
18
|
+
<HTA:APPLICATION ID="SeleniumHTARunner" APPLICATIONNAME="Selenium" >
|
|
19
|
+
<head>
|
|
20
|
+
<meta content="text/html; charset=ISO-8859-1"
|
|
21
|
+
http-equiv="content-type">
|
|
22
|
+
<title>Selenium Remote Control</title>
|
|
23
|
+
<link rel="stylesheet" type="text/css" href="selenium.css" />
|
|
24
|
+
<script type="text/javascript" src="scripts/xmlextras.js"></script>
|
|
25
|
+
<script language="JavaScript" type="text/javascript" src="lib/prototype.js"></script>
|
|
26
|
+
<script language="JavaScript" type="text/javascript" src="lib/cssQuery/cssQuery-p.js"></script>
|
|
27
|
+
<script language="JavaScript" type="text/javascript" src="lib/snapsie.js"></script>
|
|
28
|
+
<script language="JavaScript" type="text/javascript" src="scripts/htmlutils.js"></script>
|
|
29
|
+
<script language="JavaScript" type="text/javascript" src="scripts/ui-element.js"></script>
|
|
30
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
|
|
31
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-browserbot.js"></script>
|
|
32
|
+
<script language="JavaScript" type="text/javascript" src="scripts/find_matching_child.js"></script>
|
|
33
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-api.js"></script>
|
|
34
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-commandhandlers.js"></script>
|
|
35
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-executionloop.js"></script>
|
|
36
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-remoterunner.js"></script>
|
|
37
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-logging.js"></script>
|
|
38
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-version.js"></script>
|
|
39
|
+
<script language="JavaScript" type="text/javascript" src="xpath/util.js"></script>
|
|
40
|
+
<script language="JavaScript" type="text/javascript" src="xpath/xmltoken.js"></script>
|
|
41
|
+
<script language="JavaScript" type="text/javascript" src="xpath/dom.js"></script>
|
|
42
|
+
<script language="JavaScript" type="text/javascript" src="xpath/xpath.js"></script>
|
|
43
|
+
<script language="JavaScript" type="text/javascript" src="scripts/user-extensions.js"></script>
|
|
44
|
+
<script language="JavaScript" type="text/javascript">
|
|
45
|
+
function openDomViewer() {
|
|
46
|
+
var autFrame = document.getElementById('selenium_myiframe');
|
|
47
|
+
var autFrameDocument = getIframeDocument(autFrame);
|
|
48
|
+
var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
|
|
49
|
+
domViewer.rootDocument = autFrameDocument;
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function cleanUp() {
|
|
54
|
+
if (LOG != null) {
|
|
55
|
+
LOG.close();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
</script>
|
|
60
|
+
</head>
|
|
61
|
+
|
|
62
|
+
<body onLoad="setTimeout(function(){runSeleniumTest();},1000)" onUnload="cleanUp()">
|
|
63
|
+
|
|
64
|
+
<table border="1" style="height: 100%; width: 100%;">
|
|
65
|
+
<tr>
|
|
66
|
+
<td width="50%">
|
|
67
|
+
<table>
|
|
68
|
+
<tr>
|
|
69
|
+
<td class="remoterunner">
|
|
70
|
+
<h4><a href="http://selenium.openqa.org">Selenium</a> Functional Testing for Web Apps</h4>
|
|
71
|
+
Open Source From <a href="http://selenium.openqa.org/thoughtworks-and-friends.html">ThoughtWorks and Friends</a>
|
|
72
|
+
<form action="">
|
|
73
|
+
<br/>
|
|
74
|
+
<iframe id="seleniumLoggingFrame" name="seleniumLoggingFrame" src="Blank.html" style="border: 0; height: 0; width: 0; "></iframe>
|
|
75
|
+
<fieldset>
|
|
76
|
+
<button type="button" id="domViewer1" onclick="openDomViewer();">
|
|
77
|
+
View DOM
|
|
78
|
+
</button>
|
|
79
|
+
<button type="button" onclick="LOG.show();">
|
|
80
|
+
Show Log
|
|
81
|
+
</button>
|
|
82
|
+
<label><INPUT TYPE="CHECKBOX" NAME="FASTMODE" VALUE="YES" onmouseup="slowClicked()"> Slow Mode</label>
|
|
83
|
+
</fieldset>
|
|
84
|
+
|
|
85
|
+
</form>
|
|
86
|
+
|
|
87
|
+
</td>
|
|
88
|
+
</tr>
|
|
89
|
+
</table>
|
|
90
|
+
<form action="">
|
|
91
|
+
<label id="context" name="context"></label>
|
|
92
|
+
</form>
|
|
93
|
+
</td>
|
|
94
|
+
<td width="50%" class="remoterunner">
|
|
95
|
+
<h4>Command History:</h4>
|
|
96
|
+
<form name="commands">
|
|
97
|
+
<textarea style="overflow:auto; height:8em; width:100%" wrap="off" id="commandList"></textarea>
|
|
98
|
+
</form>
|
|
99
|
+
</td>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<td colspan="2" height="100%">
|
|
103
|
+
<iframe name="selenium_myiframe" id="selenium_myiframe" src="Blank.html" height="100%" width="100%"></iframe>
|
|
104
|
+
</td>
|
|
105
|
+
</tr>
|
|
106
|
+
</table>
|
|
107
|
+
|
|
108
|
+
</body>
|
|
109
|
+
</html>
|
|
110
|
+
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
|
|
3
|
+
<head>
|
|
4
|
+
<title>Selenium Log Console</title>
|
|
5
|
+
<link id="cssLink" rel="stylesheet" href="selenium.css" />
|
|
6
|
+
<script src="scripts/htmlutils.js"></script>
|
|
7
|
+
<script language="JavaScript">
|
|
8
|
+
|
|
9
|
+
var disabled = true;
|
|
10
|
+
|
|
11
|
+
function logOnLoad() {
|
|
12
|
+
var urlConfig = new URLConfiguration();
|
|
13
|
+
urlConfig.queryString = window.location.search.substr(1);
|
|
14
|
+
var startingThreshold = urlConfig._getQueryParameter("startingThreshold");
|
|
15
|
+
setThresholdLevel(startingThreshold);
|
|
16
|
+
var buttons = document.getElementsByTagName("input");
|
|
17
|
+
for (var i = 0; i < buttons.length; i++) {
|
|
18
|
+
addChangeListener(buttons[i]);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function enableButtons() {
|
|
23
|
+
var buttons = document.getElementsByTagName("input");
|
|
24
|
+
for (var i = 0; i < buttons.length; i++) {
|
|
25
|
+
buttons[i].disabled = false;
|
|
26
|
+
disabled = false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function callBack() {}
|
|
31
|
+
|
|
32
|
+
function changeHandler() {
|
|
33
|
+
callBack(getThresholdLevel());
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function addChangeListener(element) {
|
|
37
|
+
if (window.addEventListener && !window.opera)
|
|
38
|
+
element.addEventListener("click", changeHandler, true);
|
|
39
|
+
else if (window.attachEvent)
|
|
40
|
+
element.attachEvent("onclick", changeHandler);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var logLevels = {
|
|
44
|
+
debug: 0,
|
|
45
|
+
info: 1,
|
|
46
|
+
warn: 2,
|
|
47
|
+
error: 3
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
function getThresholdLevel() {
|
|
51
|
+
var buttons = document.getElementById('logLevelChooser').level;
|
|
52
|
+
for (var i = 0; i < buttons.length; i++) {
|
|
53
|
+
if (buttons[i].checked) {
|
|
54
|
+
return buttons[i].value;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function setThresholdLevel(logLevel) {
|
|
60
|
+
var buttons = document.getElementById('logLevelChooser').level;
|
|
61
|
+
for (var i = 0; i < buttons.length; i++) {
|
|
62
|
+
if (buttons[i].value==logLevel) {
|
|
63
|
+
buttons[i].checked = true;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
buttons[i].checked = false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function append(message, logLevel) {
|
|
72
|
+
var logLevelThreshold = getThresholdLevel();
|
|
73
|
+
if (logLevels[logLevel] < logLevels[logLevelThreshold]) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
var log = document.getElementById('log');
|
|
77
|
+
var newEntry = document.createElement('li');
|
|
78
|
+
newEntry.className = logLevel;
|
|
79
|
+
newEntry.appendChild(document.createTextNode(message));
|
|
80
|
+
log.appendChild(newEntry);
|
|
81
|
+
if (newEntry.scrollIntoView) {
|
|
82
|
+
newEntry.scrollIntoView();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
</script>
|
|
87
|
+
</head>
|
|
88
|
+
<body id="logging-console" onload="logOnLoad();">
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
<div id="banner">
|
|
93
|
+
<form id="logLevelChooser">
|
|
94
|
+
<input id="level-error" type="radio" name="level" disabled='true'
|
|
95
|
+
value="error" /><label for="level-error">Error</label>
|
|
96
|
+
<input id="level-warn" type="radio" name="level" disabled='true'
|
|
97
|
+
value="warn" /><label for="level-warn">Warn</label>
|
|
98
|
+
<input id="level-info" type="radio" name="level" disabled='true'
|
|
99
|
+
value="info" /><label for="level-info">Info</label>
|
|
100
|
+
<input id="level-debug" type="radio" name="level" checked="yes" disabled='true'
|
|
101
|
+
value="debug" /><label for="level-debug">Debug</label>
|
|
102
|
+
</form>
|
|
103
|
+
<h1>Selenium Log Console</h1>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
<ul id="log"></ul>
|
|
107
|
+
|
|
108
|
+
</body>
|
|
109
|
+
</html>
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright 2004 ThoughtWorks, Inc
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
-->
|
|
17
|
+
|
|
18
|
+
<head>
|
|
19
|
+
<meta content="text/html; charset=ISO-8859-1"
|
|
20
|
+
http-equiv="content-type">
|
|
21
|
+
<title>Select a Test Suite</title>
|
|
22
|
+
<script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
|
|
23
|
+
<script language="JavaScript" type="text/javascript" src="scripts/xmlextras.js"></script>
|
|
24
|
+
<script>
|
|
25
|
+
|
|
26
|
+
function load() {
|
|
27
|
+
if (browserVersion.isHTA) {
|
|
28
|
+
document.getElementById("save-div").style.display = "inline";
|
|
29
|
+
}
|
|
30
|
+
if (/thisIsSeleniumServer/.test(window.location.search)) {
|
|
31
|
+
document.getElementById("slowResources-div").style.display = "inline";
|
|
32
|
+
if (browserVersion.isHTA || browserVersion.isChrome) {
|
|
33
|
+
document.getElementById("test").value = "http://localhost:4444/selenium-server/tests/TestSuite.html";
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function autoCheck() {
|
|
39
|
+
var auto = document.getElementById("auto");
|
|
40
|
+
var autoDiv = document.getElementById("auto-div");
|
|
41
|
+
if (auto.checked) {
|
|
42
|
+
autoDiv.style.display = "inline";
|
|
43
|
+
} else {
|
|
44
|
+
autoDiv.style.display = "none";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function slowCheck() {
|
|
49
|
+
var slowResourcesCheckbox = document.getElementById("slowResources");
|
|
50
|
+
var slowResources = slowResourcesCheckbox.checked ? true : false;
|
|
51
|
+
var xhr = XmlHttp.create();
|
|
52
|
+
var driverUrl = "http://localhost:4444/selenium-server/driver/?cmd=slowResources&1=" + slowResources;
|
|
53
|
+
xhr.open("GET", driverUrl, true);
|
|
54
|
+
xhr.send(null);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function saveCheck() {
|
|
58
|
+
var results = document.getElementById("results");
|
|
59
|
+
var check = document.getElementById("save").checked;
|
|
60
|
+
if (check) {
|
|
61
|
+
results.firstChild.nodeValue = "Results file ";
|
|
62
|
+
document.getElementById("resultsUrl").value = "results.html";
|
|
63
|
+
} else {
|
|
64
|
+
results.firstChild.nodeValue = "Results URL ";
|
|
65
|
+
document.getElementById("resultsUrl").value = "../postResults";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function go() {
|
|
70
|
+
if (!browserVersion.isHTA && !browserVersion.isChrome) return true;
|
|
71
|
+
var inputs = document.getElementsByTagName("input");
|
|
72
|
+
var queryString = "";
|
|
73
|
+
for (var i = 0; i < inputs.length; i++) {
|
|
74
|
+
var elem = inputs[i];
|
|
75
|
+
var name = elem.name;
|
|
76
|
+
var value = elem.value;
|
|
77
|
+
if (elem.type == "checkbox") {
|
|
78
|
+
value = elem.checked;
|
|
79
|
+
}
|
|
80
|
+
queryString += escape(name) + "=" + escape(value);
|
|
81
|
+
if (i < (inputs.length - 1)) {
|
|
82
|
+
queryString += "&";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
window.parent.selenium = null;
|
|
87
|
+
window.parent.htmlTestRunner.controlPanel.queryString = queryString;
|
|
88
|
+
window.parent.htmlTestRunner.loadSuiteFrame();
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
</script>
|
|
92
|
+
</head>
|
|
93
|
+
|
|
94
|
+
<body onload="load()" style="font-size: x-small">
|
|
95
|
+
<form id="prompt" target="_top" method="GET" onsubmit="return go();" action="TestRunner.html">
|
|
96
|
+
|
|
97
|
+
<p>
|
|
98
|
+
Test Suite:
|
|
99
|
+
<input id="test" name="test" size="30" value="../tests/TestSuite.html"/>
|
|
100
|
+
</p>
|
|
101
|
+
|
|
102
|
+
<p align="center"><input type="submit" value="Go"/></p>
|
|
103
|
+
|
|
104
|
+
<fieldset>
|
|
105
|
+
<legend>Options</legend>
|
|
106
|
+
|
|
107
|
+
<p>
|
|
108
|
+
<input id="multiWindow" type="checkbox" name="multiWindow" onclick="autoCheck();"/> <label
|
|
109
|
+
for="multiWindow">AUT in separate window</label>
|
|
110
|
+
|
|
111
|
+
<p>
|
|
112
|
+
|
|
113
|
+
<div id="slowResources-div" style="display: none">
|
|
114
|
+
<p>
|
|
115
|
+
<input id="slowResources" type="checkbox" name="slowResources" onclick="slowCheck();" /> <label for="slowResources">Slow down web server</label>
|
|
116
|
+
</p>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<p>
|
|
120
|
+
<input id="auto" type="checkbox" name="auto" onclick="autoCheck();"/> <label for="auto">Run
|
|
121
|
+
automatically</label>
|
|
122
|
+
</p>
|
|
123
|
+
|
|
124
|
+
<div id="auto-div" style="display: none">
|
|
125
|
+
<p>
|
|
126
|
+
<input id="close" type="checkbox" name="close"/> <label for="close">Close afterwards </label>
|
|
127
|
+
</p>
|
|
128
|
+
|
|
129
|
+
<div id="save-div" style="display: none">
|
|
130
|
+
<br/><label for="save">Save to file </label><input id="save" type="checkbox" name="save"
|
|
131
|
+
onclick="saveCheck();"/>
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<p id="results">
|
|
135
|
+
Results URL:
|
|
136
|
+
<input id="resultsUrl" name="resultsUrl" value="../postResults"/>
|
|
137
|
+
</p>
|
|
138
|
+
|
|
139
|
+
</div>
|
|
140
|
+
</fieldset>
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
</form>
|
|
144
|
+
</body>
|
|
145
|
+
</html>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Copyright 2005 ThoughtWorks, Inc
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
<html>
|
|
18
|
+
<link rel="stylesheet" type="text/css" href="selenium.css" />
|
|
19
|
+
<body>
|
|
20
|
+
<table width="100%">
|
|
21
|
+
|
|
22
|
+
<tr>
|
|
23
|
+
<th>↑</th>
|
|
24
|
+
<th>↑</th>
|
|
25
|
+
<th>↑</th>
|
|
26
|
+
</tr>
|
|
27
|
+
<tr>
|
|
28
|
+
<th width="25%">Test Suite</th>
|
|
29
|
+
<th width="50%">Current Test</th>
|
|
30
|
+
<th width="25%">Control Panel</th>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr><td> </td></tr>
|
|
33
|
+
|
|
34
|
+
<tr>
|
|
35
|
+
<td></td>
|
|
36
|
+
<td class="selenium splash">
|
|
37
|
+
|
|
38
|
+
<img src="selenium-logo.png" align="right">
|
|
39
|
+
|
|
40
|
+
<h1>Selenium</h1>
|
|
41
|
+
<h2>by <a href="http://www.thoughtworks.com">ThoughtWorks</a> and friends</h2>
|
|
42
|
+
|
|
43
|
+
<p>
|
|
44
|
+
For more information on Selenium, visit
|
|
45
|
+
|
|
46
|
+
<pre>
|
|
47
|
+
<a href="http://selenium.openqa.org" target="_blank">http://selenium.openqa.org</a>
|
|
48
|
+
</pre>
|
|
49
|
+
|
|
50
|
+
</td>
|
|
51
|
+
<tr>
|
|
52
|
+
|
|
53
|
+
</table>
|
|
54
|
+
</body>
|
|
55
|
+
</html>
|