zena 1.1.3 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -11,7 +11,7 @@ block:
|
|
11
11
|
|
12
12
|
add:
|
13
13
|
src: "<ul id='children' do='nodes'><li do='each' do='link'/><li do='add'/></ul>"
|
14
|
-
tem: "/\[\"children_add\", \"
|
14
|
+
tem: "/\[\"children_add\", \"children_0\"\].each\(Element.toggle\)/"
|
15
15
|
'ajax/add/en/children_form.erb': "/class='form' id='<%= ndom_id\(@node\) %>'/"
|
16
16
|
'ajax/add/en/children.erb': "<li id='<%= ndom_id(@node) %>'><a href='<%= zen_path(@node) %>'><%= @node.prop['title'] %></a></li>"
|
17
17
|
|
@@ -55,11 +55,11 @@ form_update:
|
|
55
55
|
add_each_no_form:
|
56
56
|
src: "<ul do='children' id='things'><li do='each'>I <p do='title'>blah</p></li><li do='add'/></ul>"
|
57
57
|
tem: "!/</ul><ul></ul>/" # bug in closing group with [add].
|
58
|
-
res: "/<ul><li.*id='things_add'.*li.*class='form' id='
|
58
|
+
res: "/<ul><li.*id='things_add'.*li.*class='form' id='things_0'.*form.*I <p><input id=.things_title. name=.node\[title\]. .*type=.text..*hidden/"
|
59
59
|
|
60
60
|
add_each_no_form_date:
|
61
61
|
src: "<ul do='children' id='things'><li do='each'>I <p do='show' attr='event_at' tformat='short_date'>blah</p></li><li do='add'/></ul>"
|
62
|
-
res: "/<ul><li.*id='things_add'.*li.*id='
|
62
|
+
res: "/<ul><li.*id='things_add'.*li.*id='things_0'.*form.*I <p>.*date_box.*name='node\[event_at\]' type='text' value.*hidden/"
|
63
63
|
|
64
64
|
add_each_no_form_focus:
|
65
65
|
src: "<ul do='children' id='test'><li do='each'>I <p do='title'>blah</p></li><li do='add' focus='title'/></ul>"
|
@@ -74,7 +74,7 @@ each_add_with_form:
|
|
74
74
|
<li do='add'>add new</li>
|
75
75
|
<li do='form'><input name='title'/> this is the form</li>
|
76
76
|
</ol>
|
77
|
-
res: "/<li id='list1_30'>bird.*<li id='list1_31'>flower.*<li.*list1_add.*
|
77
|
+
res: "/<li id='list1_30'>bird.*<li id='list1_31'>flower.*<li.*list1_add.*list1_0.*toggle.*<li style.*none.*list1_0.*Ajax.Request.*input type='hidden' name='t_url' value=.ajax/each/add/with/form/list1.*input type='hidden' name='node\[parent_id\]' value=.29./"
|
78
78
|
|
79
79
|
each_add_with_form_in_sub_block:
|
80
80
|
context:
|
@@ -126,7 +126,7 @@ block_dictionary:
|
|
126
126
|
|
127
127
|
make_form:
|
128
128
|
src: "<ul do='children'><li do='each' do='title'/><li do='add'/></ul>"
|
129
|
-
tem: "/<li style='display:none;' class='form' id='
|
129
|
+
tem: "/<li style='display:none;' class='form' id='list1_0'>.*remote_form_for\(:node, var2_new"
|
130
130
|
'ajax/make/form/en/list1.erb': "<li id='<%= ndom_id(@node) %>'><%= @node.prop['title'] %></li>"
|
131
131
|
'ajax/make/form/en/list1_form.erb': "/<li class='form' id='<%= ndom_id\(@node\) %>'>/"
|
132
132
|
|
@@ -165,7 +165,7 @@ each_in_each_form:
|
|
165
165
|
each_in_each_dom_id:
|
166
166
|
# should render correct form
|
167
167
|
src: "<r:pages do='each'><r:title/><r:edit/><r:pages do='each'><r:title/><r:edit/></r:pages></r:pages>"
|
168
|
-
tem: "/
|
168
|
+
tem: "/list1_#\{var.\.zip\}_#\{var.\.zip\}/"
|
169
169
|
|
170
170
|
default_focus_field:
|
171
171
|
src: "<ol do='comments'><li do='each'/><li do='form'><input name='author_name'/> ... <input name='text'/></li><li do='add'/></ol>"
|
@@ -191,8 +191,8 @@ live_filter_single_element:
|
|
191
191
|
live_filter_select_options:
|
192
192
|
context:
|
193
193
|
node: cleanWater
|
194
|
-
src: "<r:filter live='true' do='select' param='f' values='1,2'/><r:block><ol do='pages where title like \"#{params[:f]}%\"'><li do='each' do='title'/></ol></r:block>"
|
195
|
-
tem: "/select name=.f.><%= options_for_select
|
194
|
+
src: "<r:filter live='true' do='select' param='f' tprefix='foo' values='1,2'/><r:block><ol do='pages where title like \"#{params[:f]}%\"'><li do='each' do='title'/></ol></r:block>"
|
195
|
+
tem: "/select name=.f.><%= options_for_select.*.foo_1., .1..*, param_value\(.f.\).to_s/"
|
196
196
|
'ajax/live/filter/select/options/en/list1.erb': "/<div id='<%= ndom_id\(@node\) %>'.*params\[:f\]/"
|
197
197
|
res: "/<select name='f'.*<div id='list1'><ol><li>crocodiles</li><li>status title</li></ol></div>/"
|
198
198
|
|
@@ -220,7 +220,7 @@ drag_with_form:
|
|
220
220
|
<td class='edit'> <r:edit class='edit'>éditer</r:edit></td>
|
221
221
|
</tr>
|
222
222
|
</table>"
|
223
|
-
tem: "/<span class='drag' id='<%= %Q\{
|
223
|
+
tem: "/<span class='drag' id='<%= %Q\{list3_#\{var2.zip\}\}.*<% add_drag_id\(%Q\{list3_#\{var2.zip\}\}/"
|
224
224
|
|
225
225
|
drag_with_form_not_in_form:
|
226
226
|
src: "<table do='pages in site'>
|
@@ -32,30 +32,6 @@ each_traductions_only_list:
|
|
32
32
|
src: "<r:traductions only='en,ru'><ul><li do='each'><r:show attr='title'/></li></ul></r:traductions>"
|
33
33
|
res: "<ul><li>status title</li></ul>"
|
34
34
|
|
35
|
-
each_alternate_class:
|
36
|
-
context:
|
37
|
-
node: 'cleanWater'
|
38
|
-
src: "<ol do='pages'><li do='each' alt_class='blue' do='title'/></ol>"
|
39
|
-
res: "<ol><li class=''>crocodiles</li><li class='blue'>status title</li><li class=''>Kill the bugs</li></ol>"
|
40
|
-
|
41
|
-
each_alternate_class_reverse:
|
42
|
-
context:
|
43
|
-
node: 'cleanWater'
|
44
|
-
src: "<ol do='pages' limit='2'><li do='each' alt_class='blue' alt_reverse='true' do='title'/></ol>"
|
45
|
-
res: "<ol><li class='blue'>crocodiles</li><li class=''>status title</li></ol>"
|
46
|
-
|
47
|
-
each_alternate_class_two:
|
48
|
-
context:
|
49
|
-
node: 'collections'
|
50
|
-
src: "<ol do='pages'><li class='post' do='each' alt_class='stripe' do='title'/></ol>"
|
51
|
-
res: "<ol><li class='post '>art</li><li class='post stripe'>menu</li><li class='post '>news</li><li class='post stripe'>wikiSkin</li></ol>"
|
52
|
-
|
53
|
-
each_alternate_class_ajax:
|
54
|
-
context:
|
55
|
-
node: 'cleanWater'
|
56
|
-
src: "<ol do='pages' limit='2'><li do='each' alt_class='blue' do='title'/><li do='add'/></ol>"
|
57
|
-
res: "/<li>crocodiles<\/li><li class=\"blue\">status/"
|
58
|
-
|
59
35
|
each_else:
|
60
36
|
context:
|
61
37
|
node: 'opening'
|
@@ -17,18 +17,18 @@ date:
|
|
17
17
|
|
18
18
|
select_date_attr:
|
19
19
|
src: "<p do='void' set_date='log_at'><span do='show' eval='date.year'/></p>"
|
20
|
-
tem: "<p><% _zdate = @node.log_at %><span><%= (_zdate ? _zdate.
|
20
|
+
tem: "<p><% _zdate = @node.log_at %><span><%= (_zdate ? _zdate.year_tz : nil) %></span></p>"
|
21
21
|
res: '<p><span>2006</span></p>'
|
22
22
|
|
23
23
|
date_in_link:
|
24
24
|
src: "<r:link y='log_at.year'/>"
|
25
|
-
tem: "<a href='<%= zen_path(@node, {:y => (@node.log_at ? @node.log_at.
|
25
|
+
tem: "<a href='<%= zen_path(@node, {:y => (@node.log_at ? @node.log_at.year_tz : nil)}) %>'><%= @node.prop['title'] %></a>"
|
26
26
|
|
27
27
|
log_at:
|
28
28
|
context:
|
29
29
|
node: 'status'
|
30
30
|
eval: 'log_at.year'
|
31
|
-
tem: '<%= (@node.log_at ? @node.log_at.
|
31
|
+
tem: '<%= (@node.log_at ? @node.log_at.year_tz : nil) %>'
|
32
32
|
res: '' # no errors
|
33
33
|
|
34
34
|
# TypedString 'could_be_nil?' should propagate through 'date'
|
@@ -36,7 +36,7 @@ could_be_nil:
|
|
36
36
|
context:
|
37
37
|
node: 'status'
|
38
38
|
src: "*<r:void set_date='log_at'><r:eval>date.year</r:eval></r:void>*"
|
39
|
-
tem: "*<% _zdate = @node.log_at %><%= (_zdate ? _zdate.
|
39
|
+
tem: "*<% _zdate = @node.log_at %><%= (_zdate ? _zdate.year_tz : nil) %>*"
|
40
40
|
res: '**' # no errors
|
41
41
|
|
42
42
|
uses_datebox:
|
@@ -49,9 +49,9 @@ uses_datebox_missing_lang:
|
|
49
49
|
src: "<r:uses_datebox/>"
|
50
50
|
tem: "/calendar/lang/calendar-en-utf8.js/"
|
51
51
|
|
52
|
-
|
52
|
+
show_current_date:
|
53
53
|
context:
|
54
|
-
date: '2010
|
54
|
+
date: '16.5.2010'
|
55
55
|
lang: fr
|
56
56
|
src: "<r:show eval='date' format='%A %d.%m.%Y'/>"
|
57
57
|
tem: "/main_date/"
|
@@ -167,4 +167,21 @@ test_date:
|
|
167
167
|
|
168
168
|
format_date_empty_string:
|
169
169
|
tem: "<%= format_date('') %>"
|
170
|
-
res: ""
|
170
|
+
res: ""
|
171
|
+
|
172
|
+
date_empty_value:
|
173
|
+
src: "<r:input name='created_at' value=''/>"
|
174
|
+
tem: "<input type='text' name='node[created_at]' value=''/>"
|
175
|
+
|
176
|
+
time_to_date:
|
177
|
+
context:
|
178
|
+
tz: 'US/Pacific'
|
179
|
+
src: "<b do='created_at.to_date'/> <b do='created_at.to_date(\"UTC\")'/>"
|
180
|
+
res: "<b>2006-03-09</b> <b>2006-03-10</b>"
|
181
|
+
|
182
|
+
time_year:
|
183
|
+
context:
|
184
|
+
node: opening
|
185
|
+
tz: 'US/Pacific'
|
186
|
+
src: "<r:Post?><b do='this.date.year'/> <b do='this.date.year(\"UTC\")'/></r:Post?>"
|
187
|
+
res: "<b>2011</b> <b>2012</b>"
|
@@ -186,6 +186,11 @@ cannot_add_document:
|
|
186
186
|
src: "<r:add_document/>"
|
187
187
|
res: ''
|
188
188
|
|
189
|
+
add_document_redir:
|
190
|
+
src: "<r:add_document redir='#{url}'/>"
|
191
|
+
tem: "/redir=<%= CGI.escape\(\"#\{zen_url\(@node\)\}\"\) %>/"
|
192
|
+
res: "/Zena.open_window.*%2Fpage22.html/"
|
193
|
+
|
189
194
|
img_no_image:
|
190
195
|
src: "<r:img/>"
|
191
196
|
tem: "<%= img_tag(@node, :mode=>\"std\") %>"
|
@@ -262,7 +267,7 @@ admin_links_for_admin:
|
|
262
267
|
admin_links_for_admin_with_list:
|
263
268
|
context:
|
264
269
|
visitor: lion
|
265
|
-
src: "<ul do='admin_links' list='comments,sites'><li do='each' do='show'><a href='
|
270
|
+
src: "<ul do='admin_links' list='comments,sites'><li do='each' do='show'><a href='javascript:void(0)'>do this</a></li></ul>"
|
266
271
|
tem: '/if var1 = admin_links\(\{:list => "comments,sites"\}/'
|
267
272
|
res: '<ul><li><a href="/comments">comments</a></li><li><a href="/sites">sites</a></li></ul>'
|
268
273
|
|
@@ -394,4 +399,42 @@ array_literal:
|
|
394
399
|
|
395
400
|
style_tag:
|
396
401
|
src: "<r:style>.foo <r:title/></r:style>"
|
397
|
-
res: "<style>.foo status title</style>"
|
402
|
+
res: "<style type='text/css'>.foo status title</style>"
|
403
|
+
|
404
|
+
each_alternate_class:
|
405
|
+
context:
|
406
|
+
node: 'cleanWater'
|
407
|
+
src: "<ol do='pages'><li do='each' alt_class='blue' do='title'/></ol>"
|
408
|
+
res: "<ol><li class=''>crocodiles</li><li class='blue'>status title</li></ol>"
|
409
|
+
|
410
|
+
each_alternate_class_reverse:
|
411
|
+
context:
|
412
|
+
node: 'cleanWater'
|
413
|
+
src: "<ol do='pages' limit='2'><li do='each' alt_class='blue' alt_reverse='true' do='title'/></ol>"
|
414
|
+
res: "<ol><li class='blue'>crocodiles</li><li class=''>status title</li></ol>"
|
415
|
+
|
416
|
+
each_alternate_class_two:
|
417
|
+
context:
|
418
|
+
node: 'collections'
|
419
|
+
src: "<ol do='pages'><li class='post' do='each' alt_class='stripe' do='title'/></ol>"
|
420
|
+
res: "<ol><li class='post '>Art</li><li class='post stripe'>News list</li><li class='post '>Top menu</li><li class='post stripe'>wiki skin</li></ol>"
|
421
|
+
|
422
|
+
each_alternate_class_ajax:
|
423
|
+
context:
|
424
|
+
node: 'cleanWater'
|
425
|
+
src: "<ol do='pages' limit='2'><li do='each' alt_class='blue' do='title'/><li do='add'/></ol>"
|
426
|
+
res: "/<li class='' id='list1_26'>crocodiles<\/li><li class='blue' id='list1_22'>status title<\/li>/"
|
427
|
+
|
428
|
+
each_alternate_class_with_conditional:
|
429
|
+
context:
|
430
|
+
node: 'cleanWater'
|
431
|
+
src: "<ol do='pages'><li do='each' alt_class='blue' on_if='title' do='title'/></ol>"
|
432
|
+
res: "<ol><li class=' on'>crocodiles</li><li class='blue on'>status title</li></ol>"
|
433
|
+
|
434
|
+
each_alternate_by_hand:
|
435
|
+
context:
|
436
|
+
node: 'cleanWater'
|
437
|
+
# This is useful when we need to have more then one table row per item for example.
|
438
|
+
src: "<ol do='pages'><r:each alt_class='blue'><li class='#{alt_class}' do='title'/></r:each></ol>"
|
439
|
+
tem: "/class='<%= _zaltclass %>'/"
|
440
|
+
res: "<ol><li class=''>crocodiles</li><li class='blue'>status title</li></ol>"
|
@@ -84,12 +84,6 @@ map_join:
|
|
84
84
|
src: "<r:children do='map(:flobo).join(\",\")'/>"
|
85
85
|
tem: "/unknown method .*map\(:flobo\)/"
|
86
86
|
|
87
|
-
query_on_vclass:
|
88
|
-
# typical syntax error (should be Contact?)
|
89
|
-
src: "<r:Contact><div do='pages in site'>...</div></r:Contact>"
|
90
|
-
# should not crash
|
91
|
-
tem: "/parser_error.*method.*pages in site.*No query builder for class VirtualClass/"
|
92
|
-
|
93
87
|
datebox_on_vclass:
|
94
88
|
src: "<r:Contact><r:input type='date' name='log_at'/></r:Contact>"
|
95
89
|
tem: "/unknown method 'log_at\(\)' for .* VirtualClass./"
|
@@ -12,7 +12,7 @@ add_btn:
|
|
12
12
|
<tr do='each'><td do='title'/></tr>
|
13
13
|
<tr do='add'><td><b><r:add_btn/></b></td></tr>
|
14
14
|
</table>"
|
15
|
-
res: "/<tr class='btn_add' id='list1_add'><td><b><a href='
|
15
|
+
res: "/<tr class='btn_add' id='list1_add'><td><b><a href='javascript:void\(0\)' onclick/"
|
16
16
|
|
17
17
|
form_put:
|
18
18
|
# default should be a put method
|
@@ -60,6 +60,10 @@ select_nodes:
|
|
60
60
|
src: "<r:form><r:select nodes='images in site' name='foo'></select></r:form>"
|
61
61
|
res: "/name='node\[foo\]'><option value=\"\" selected=\"selected\"></option>\n<option value=\"40\">Autumn Tree</option>\n<option value=\"30\">bird</option>/"
|
62
62
|
|
63
|
+
select_nodes_show_rubyless:
|
64
|
+
src: "<r:form><r:select nodes='images in site' name='foo' show='title.limit(3)'></select></r:form>"
|
65
|
+
res: "/name='node\[foo\]'><option value=\"\" selected=\"selected\"></option>\n<option value=\"40\">Aut…</option>\n<option value=\"30\">bir…</option>/"
|
66
|
+
|
63
67
|
do_not_set_parent_id_if_form_contains_parent_id:
|
64
68
|
src: "<r:children><r:each do='title'/><r:add/><r:form><r:select name='parent_id' nodes='projects in site'/><input name='title'/></r:form></r:children>"
|
65
69
|
res: "!/node\[parent_id\].\s+value/"
|
@@ -171,6 +175,22 @@ input_param_value:
|
|
171
175
|
tem: "<input type='text' name='foo[bar.baz]' value='<%= fquote param_value(\"foo[bar.baz]\") %>'/>"
|
172
176
|
res: "<input type='text' name='foo[bar.baz]' value='xyz'/>"
|
173
177
|
|
178
|
+
input_checkbox_param_value:
|
179
|
+
context:
|
180
|
+
foo:
|
181
|
+
"bar.baz": 'null'
|
182
|
+
src: "<r:input type='checkbox' value='null' param='foo[bar.baz]'/>"
|
183
|
+
tem: "<input type='hidden' name='foo[bar.baz]' value=''/><input type='checkbox' name='foo[bar.baz]' value='null'<%= param_value(\"foo[bar.baz]\") == \"null\" ? \" checked='checked'\" : '' %>/>"
|
184
|
+
res: "<input type='hidden' name='foo[bar.baz]' value=''/><input type='checkbox' name='foo[bar.baz]' value='null' checked='checked'/>"
|
185
|
+
|
186
|
+
select_param_value:
|
187
|
+
context:
|
188
|
+
foo:
|
189
|
+
"bar.baz": '1'
|
190
|
+
src: "<r:select param='foo[bar.baz]' values='1,3' show='one,three'/>"
|
191
|
+
tem: '/param_value\("foo\[bar.baz\]"\).to_s/'
|
192
|
+
res: '/<option value="1" selected="selected">one<\/option>/'
|
193
|
+
|
174
194
|
input_style:
|
175
195
|
src: "<r:input style='display:none;' type='submit'/>"
|
176
196
|
res: "<input type='submit' style='display:none;'/>"
|
@@ -192,7 +212,7 @@ input_new:
|
|
192
212
|
context:
|
193
213
|
node: 'ant'
|
194
214
|
src: "<r:contacts><r:each/><r:form><r:input name='first_name'/></r:form><r:add/></r:contacts>"
|
195
|
-
res: "/name='node\[first_name\]' [^>]*id='
|
215
|
+
res: "/name='node\[first_name\]' [^>]*id='list2_first_name'/"
|
196
216
|
|
197
217
|
show_in_form:
|
198
218
|
src: "<r:form><b do='title'/></r:form>"
|
@@ -260,4 +280,22 @@ hidden_fields_in_form_tag:
|
|
260
280
|
|
261
281
|
hidden_fields_in_form_tag_dynamic:
|
262
282
|
src: "<r:form node[log]='title'></r:form>"
|
263
|
-
tem: "/<input type='hidden' name='node\[log\]' value='<%= @node.prop\['title'\] %>/"
|
283
|
+
tem: "/<input type='hidden' name='node\[log\]' value='<%= @node.prop\['title'\] %>/"
|
284
|
+
|
285
|
+
should_show_column:
|
286
|
+
src: "<r:Document do='column(\"size\")' do='name'/>"
|
287
|
+
res: "size"
|
288
|
+
|
289
|
+
should_show_fields_for_columns:
|
290
|
+
context:
|
291
|
+
node: 'forest_pdf'
|
292
|
+
src: "<r:form><r:Document do='column(\"size\")' do='input'/></r:form>"
|
293
|
+
tem: "/input type='text' name='node\\[<%= var2.name %>\\]/"
|
294
|
+
res: "/<input type='text' name='node\\[size\\]' value='63569'/>/"
|
295
|
+
|
296
|
+
should_show_fields_for_columns:
|
297
|
+
context:
|
298
|
+
lang: 'fr'
|
299
|
+
src: "<r:load dictionary='/Default skin/translations'><r:form><r:select name='assigned' values=',1,2,3'/></r:form></r:load>"
|
300
|
+
tem: "/foo.*bar/"
|
301
|
+
res: "/value=\"1\">foo<\/option>\n<option value=\"2\">bar/"
|
@@ -156,7 +156,7 @@ query:
|
|
156
156
|
node: cleanWater
|
157
157
|
qb: "nodes where updated_at.year = 2007 in project"
|
158
158
|
src: "<r:query default='nodes in project' do='each' join=', ' do='title'/>"
|
159
|
-
tem: "/if var1 = query\('Node', \"@node\", params\[:qb\] \|\| \"nodes in project\"\)/"
|
159
|
+
tem: "/if var1 = query\('Node', \"@node\", params\[:qb\] \|\| \"nodes in project\", :find => :all, :binding => binding\)/"
|
160
160
|
res: 'crocodiles'
|
161
161
|
|
162
162
|
query_with_default:
|
@@ -191,7 +191,7 @@ query_with_parse:
|
|
191
191
|
filter:
|
192
192
|
title: 'status title'
|
193
193
|
src: "<r:query default='pages in site' select='pages where #{query_parse(params[:filter])} in site' do='each' join=', ' do='title'/>"
|
194
|
-
tem: '/query.*pages where #\{query_parse\(params\[:filter\]\)\} in site\"
|
194
|
+
tem: '/query.*pages where #\{query_parse\(params\[:filter\]\)\} in site\"/'
|
195
195
|
res: 'status title'
|
196
196
|
|
197
197
|
query_with_parse_paginate:
|
@@ -208,6 +208,25 @@ query_can_be_nil_bad_argument_type:
|
|
208
208
|
tem: '/params\[:filter\] \|\| \"pages in site\"/'
|
209
209
|
res: ''
|
210
210
|
|
211
|
+
query_eval_in_sub_context:
|
212
|
+
# Live compile and query from params
|
213
|
+
context:
|
214
|
+
visitor: lion
|
215
|
+
node: cleanWater
|
216
|
+
scope: 'self'
|
217
|
+
# Should pass binding so that local var3 is recognized
|
218
|
+
src: "<r:parent do='main'><r:query select='pages' default='pages' do='each' join=', ' do='title'/></r:parent>"
|
219
|
+
res: 'crocodiles, Nice Bananas, status title'
|
220
|
+
|
221
|
+
query_eval_find_one:
|
222
|
+
# Live compile and query from params
|
223
|
+
context:
|
224
|
+
visitor: lion
|
225
|
+
node: cleanWater
|
226
|
+
src: "<r:query select='page' default='page' do='link'/>"
|
227
|
+
tem: "/<%= zen_path\(var1\) %>/"
|
228
|
+
res: "/<a href='.*26.html'>crocodiles</a>/"
|
229
|
+
|
211
230
|
query_count:
|
212
231
|
tem: '<%= query("Page", "@node", "pages in site", :type => :count) %>'
|
213
232
|
res: '19'
|
@@ -246,4 +265,11 @@ find_with_rubyless:
|
|
246
265
|
|
247
266
|
find_loads_class:
|
248
267
|
src: "<div do='find(11)'><r:origin/></div>"
|
249
|
-
tem: "<% if var1 = find_node_by_zip(11) %><div><%= var1.prop['origin'] %></div><% end %>"
|
268
|
+
tem: "<% if var1 = find_node_by_zip(11) %><div><%= var1.prop['origin'] %></div><% end %>"
|
269
|
+
|
270
|
+
query_on_vclass:
|
271
|
+
# typical syntax error (should be Contact?)
|
272
|
+
src: "<r:Contact><div do='pages in site order by zip asc limit 2' do='each' join=',' do='title'/></r:Contact>"
|
273
|
+
# does the query on last @node
|
274
|
+
tem: "/Node.do_find/"
|
275
|
+
res: '<div>Zena the wild CMS,people</div>'
|
@@ -113,10 +113,6 @@ grid_manual:
|
|
113
113
|
</table>
|
114
114
|
res: "/<th colspan='3'>Node.*<th colspan='3'>Original.*<th>exif</th><th>height</th><th>width</th>.*<td>image/jpeg</td><td>jpg</td>/"
|
115
115
|
|
116
|
-
grid:
|
117
|
-
src: "<r:images in='site' do='grid'/>"
|
118
|
-
res: "/<table class='grid'>.*<th class='role' colspan='3'>Node.*<th class='role' colspan='3'>Original.*<th>exif</th><th>height</th><th>width</th>.*<td>image/jpeg</td><td>jpg</td>/"
|
119
|
-
|
120
116
|
list_relations:
|
121
117
|
src: "<r:Contact do='relations' do='each' join=', ' do='name'/>"
|
122
118
|
res: "collaborator_for, favorite, favorite_for, home_for, hot_for, icon, reference, reference_for, set_tag"
|
@@ -2,7 +2,7 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class ZafuCompilerTest < Zena::Controller::TestCase
|
4
4
|
include Zena::Use::Urls::Common
|
5
|
-
|
5
|
+
OK = [
|
6
6
|
'action',
|
7
7
|
'asset',
|
8
8
|
'conditional',
|
@@ -20,8 +20,9 @@ class ZafuCompilerTest < Zena::Controller::TestCase
|
|
20
20
|
'safe_definitions',
|
21
21
|
'search',
|
22
22
|
'site',
|
23
|
-
'tags',
|
24
|
-
'
|
23
|
+
'tags', # bricks/tags/zena/test/zafu
|
24
|
+
'spreadsheet', # bricks/spreadsheet/zena/test/spreadsheet
|
25
|
+
'worker', # bricks/worker/zena/test/zafu
|
25
26
|
'urls',
|
26
27
|
'user',
|
27
28
|
'version',
|
@@ -355,5 +356,12 @@ class ZafuCompilerTest < Zena::Controller::TestCase
|
|
355
356
|
yt_do_test('relations', 'same_name_as_class')
|
356
357
|
end
|
357
358
|
|
359
|
+
def test_dates_time_year
|
360
|
+
login(:lion)
|
361
|
+
node = secure(Node) { nodes(:opening) }
|
362
|
+
node.update_attributes!(:date => Time.utc(2012,1,1,0,0))
|
363
|
+
yt_do_test('dates', 'time_year')
|
364
|
+
end
|
365
|
+
|
358
366
|
yt_make
|
359
367
|
end
|
data/test/selenium/Add/add3.rsel
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
# Add first element
|
2
2
|
open '/oo/testnode37.html?test=add3'
|
3
|
-
assert_not_visible '
|
3
|
+
assert_not_visible 'add33_title'
|
4
4
|
click 'css=img[alt=add]'
|
5
|
-
assert_visible '
|
6
|
-
type '
|
5
|
+
assert_visible 'add33_title'
|
6
|
+
type 'add33_title', 'add3'
|
7
7
|
click 'css=input[type=submit]'
|
8
|
-
wait_for_not_visible '
|
8
|
+
wait_for_not_visible 'add33_title'
|
9
9
|
verify_text 'css=.add3 a', 'add3'
|
10
10
|
# should have correct parent
|
11
11
|
verify_text 'css=.add3 span', 'Kill the bugs'
|
12
12
|
|
13
13
|
# Add a second element
|
14
|
-
assert_not_visible '
|
14
|
+
assert_not_visible 'add33_title'
|
15
15
|
click 'css=img[alt=add]'
|
16
|
-
assert_visible '
|
17
|
-
type '
|
16
|
+
assert_visible 'add33_title'
|
17
|
+
type 'add33_title', 'add3_2'
|
18
18
|
click 'css=input[type=submit]'
|
19
|
-
wait_for_not_visible '
|
19
|
+
wait_for_not_visible 'add33_title'
|
20
20
|
verify_text 'css=.add3_2 a', 'add3_2'
|
21
21
|
# should have correct parent
|
22
22
|
verify_text 'css=.add3_2 span', 'Kill the bugs'
|
@@ -1,25 +1,25 @@
|
|
1
|
-
open
|
1
|
+
open '/oo/testnode37.html?test=drop1'
|
2
2
|
assert_element_not_present 'drop13_33'
|
3
3
|
|
4
4
|
# Drag & Drop
|
5
5
|
set_timeout 4000
|
6
|
-
drag_and_drop_to_object
|
7
|
-
wait_for_element_present
|
8
|
-
verify_text
|
6
|
+
drag_and_drop_to_object 'css=#drop11_33 > span.drag_handle', 'drop12'
|
7
|
+
wait_for_element_present 'drop13_33'
|
8
|
+
verify_text 'drop13_33', 'Art'
|
9
9
|
# Unlink
|
10
|
-
click
|
11
|
-
wait_for_element_not_present
|
10
|
+
click 'css=img[alt=remove]'
|
11
|
+
wait_for_element_not_present 'drop13_33'
|
12
12
|
|
13
13
|
# Restart
|
14
14
|
|
15
15
|
# Drag & Drop
|
16
|
-
drag_and_drop_to_object
|
17
|
-
wait_for_element_present
|
18
|
-
verify_text
|
16
|
+
drag_and_drop_to_object 'css=#drop11_33 > span.drag_handle', 'drop12'
|
17
|
+
wait_for_element_present 'drop13_33'
|
18
|
+
verify_text 'drop13_33', 'Art'
|
19
19
|
|
20
20
|
# Make sure the changes are commited to db
|
21
|
-
open
|
21
|
+
open '/oo/testnode37.html?test=drop1'
|
22
22
|
assert_element_present 'drop13_33'
|
23
23
|
# Unlink
|
24
|
-
click
|
25
|
-
wait_for_element_not_present
|
24
|
+
click 'css=img[alt=remove]'
|
25
|
+
wait_for_element_not_present 'drop13_33'
|
@@ -1,30 +1,30 @@
|
|
1
|
-
open
|
2
|
-
assert_element_not_present '
|
1
|
+
open '/oo/testnode37.html?test=drop2'
|
2
|
+
assert_element_not_present 'drop23_29_33'
|
3
3
|
|
4
4
|
# Drag & Drop
|
5
5
|
set_timeout 4000
|
6
6
|
command 'setSpeed', 10
|
7
|
-
drag_and_drop_to_object
|
8
|
-
wait_for_element_present
|
9
|
-
verify_text
|
7
|
+
drag_and_drop_to_object 'css=#drop21_33 > span.drag_handle', 'drop23_29'
|
8
|
+
wait_for_element_present 'drop23_29_33'
|
9
|
+
verify_text 'drop23_29_33', 'Art'
|
10
10
|
# Unlink
|
11
|
-
click
|
12
|
-
wait_for_element_not_present
|
11
|
+
click 'css=#drop23_29_33 img[alt=remove]'
|
12
|
+
wait_for_element_not_present 'drop23_29_33'
|
13
13
|
|
14
14
|
# Drag in other target
|
15
15
|
|
16
16
|
# Drag & Drop
|
17
|
-
drag_and_drop_to_object
|
18
|
-
wait_for_element_present
|
19
|
-
verify_text
|
17
|
+
drag_and_drop_to_object 'css=#drop21_33 > span.drag_handle', 'drop23_21'
|
18
|
+
wait_for_element_present 'drop23_21_33'
|
19
|
+
verify_text 'drop23_21_33', 'Art'
|
20
20
|
|
21
21
|
# Make sure the changes are commited to db
|
22
|
-
open
|
22
|
+
open '/oo/testnode37.html?test=drop2'
|
23
23
|
assert_element_present 'drop23_21_33'
|
24
24
|
# Should be
|
25
|
-
# assert_element_present '
|
25
|
+
# assert_element_present 'drop23_21_33'
|
26
26
|
# Unlink
|
27
|
-
click
|
28
|
-
wait_for_element_not_present
|
27
|
+
click 'css=#drop23_21_33 img[alt=remove]'
|
28
|
+
wait_for_element_not_present 'drop23_21_33'
|
29
29
|
|
30
30
|
command 'setSpeed', 0
|
@@ -1,36 +1,36 @@
|
|
1
1
|
# Drag from list in each.
|
2
|
-
open
|
3
|
-
assert_element_not_present '
|
2
|
+
open '/oo/testnode37.html?test=drop3'
|
3
|
+
assert_element_not_present 'drop34_26'
|
4
4
|
|
5
5
|
# Drag & Drop
|
6
6
|
set_timeout 4000
|
7
|
-
drag_and_drop_to_object
|
8
|
-
wait_for_element_present
|
9
|
-
verify_text
|
7
|
+
drag_and_drop_to_object 'css=#drop31_21_26 > span.drag_handle', 'drop33'
|
8
|
+
wait_for_element_present 'drop34_26'
|
9
|
+
verify_text 'drop34_26', 'crocodiles'
|
10
10
|
# Unlink
|
11
|
-
click
|
12
|
-
wait_for_element_not_present
|
11
|
+
click 'css=img[alt=remove]'
|
12
|
+
wait_for_element_not_present 'drop34_26'
|
13
13
|
|
14
14
|
# Restart
|
15
15
|
|
16
16
|
# Drag & Drop
|
17
|
-
drag_and_drop_to_object
|
18
|
-
wait_for_element_present
|
19
|
-
verify_text
|
17
|
+
drag_and_drop_to_object 'css=#drop31_21_26 > span.drag_handle', 'drop33'
|
18
|
+
wait_for_element_present 'drop34_26'
|
19
|
+
verify_text 'drop34_26', 'crocodiles'
|
20
20
|
|
21
21
|
# Drag & Drop from other location
|
22
|
-
command 'setSpeed',
|
23
|
-
drag_and_drop_to_object
|
24
|
-
wait_for_element_present
|
25
|
-
verify_text
|
22
|
+
command 'setSpeed', 800
|
23
|
+
drag_and_drop_to_object 'css=#drop31_11_12 > span.drag_handle', 'drop33'
|
24
|
+
wait_for_element_present 'drop34_12'
|
25
|
+
verify_text 'drop34_12', 'people'
|
26
26
|
command 'setSpeed', 0
|
27
27
|
|
28
28
|
# Make sure the changes are commited to db
|
29
|
-
open
|
30
|
-
assert_element_present '
|
31
|
-
assert_element_present '
|
29
|
+
open '/oo/testnode37.html?test=drop3'
|
30
|
+
assert_element_present 'drop34_26'
|
31
|
+
assert_element_present 'drop34_12'
|
32
32
|
# Unlink
|
33
|
-
click
|
34
|
-
wait_for_element_not_present
|
35
|
-
click
|
36
|
-
wait_for_element_not_present
|
33
|
+
click 'css=#drop34_26 img[alt=remove]'
|
34
|
+
wait_for_element_not_present 'drop34_26'
|
35
|
+
click 'css=#drop34_12 img[alt=remove]'
|
36
|
+
wait_for_element_not_present 'drop34_12'
|