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.
Files changed (392) hide show
  1. data/History.txt +23 -1
  2. data/MIT-LICENSE +2 -2
  3. data/README.rdoc +2 -15
  4. data/app/controllers/acls_controller.rb +1 -1
  5. data/app/controllers/documents_controller.rb +12 -3
  6. data/app/controllers/nodes_controller.rb +1 -3
  7. data/app/controllers/sites_controller.rb +7 -0
  8. data/app/controllers/versions_controller.rb +1 -1
  9. data/app/controllers/virtual_classes_controller.rb +7 -8
  10. data/app/models/acl.rb +3 -2
  11. data/app/models/relation_proxy.rb +2 -1
  12. data/app/models/role.rb +16 -0
  13. data/app/models/site.rb +48 -0
  14. data/app/models/text_document.rb +2 -1
  15. data/app/models/user.rb +2 -1
  16. data/app/models/zip.rb +2 -1
  17. data/app/views/acls/index.rhtml +11 -1
  18. data/app/views/documents/show.rhtml +1 -1
  19. data/app/views/relations/_add.erb +2 -2
  20. data/app/views/relations/_form.erb +5 -2
  21. data/app/views/relations/_li.erb +4 -1
  22. data/app/views/relations/index.erb +3 -3
  23. data/app/views/sites/_form.erb +1 -1
  24. data/app/views/sites/_job.erb +4 -0
  25. data/app/views/sites/index.erb +1 -1
  26. data/app/views/sites/jobs.erb +10 -0
  27. data/app/views/templates/document_create_tabs/_file.rhtml +3 -0
  28. data/app/views/zafu/default/Node-+search.zafu +2 -2
  29. data/bricks/acls/zena/init.rb +2 -1
  30. data/bricks/acls/zena/test/integration/acl_integration_test.rb +5 -5
  31. data/bricks/acls/zena/test/sites/erebus/acls.yml +2 -2
  32. data/bricks/acls/zena/test/unit/acl_test.rb +2 -2
  33. data/bricks/grid/lib/bricks/grid.rb +110 -0
  34. data/bricks/grid/zena/init.rb +4 -0
  35. data/bricks/math/lib/bricks/math.rb +1 -0
  36. data/bricks/pdf/lib/bricks/pdf.rb +10 -1
  37. data/bricks/sphinx/zena/tasks.rb +8 -40
  38. data/bricks/spreadsheet/README +31 -0
  39. data/bricks/spreadsheet/lib/bricks/spreadsheet.rb +293 -0
  40. data/bricks/spreadsheet/zena/init.rb +3 -0
  41. data/bricks/spreadsheet/zena/test/sites/zena/links.yml +11 -0
  42. data/bricks/spreadsheet/zena/test/unit/xlsx_test.rb +5 -0
  43. data/bricks/spreadsheet/zena/test/zafu/README +27 -0
  44. data/bricks/spreadsheet/zena/test/zafu/spreadsheet.yml +19 -0
  45. data/bricks/worker/lib/bricks/worker.rb +11 -5
  46. data/bricks/worker/zena/init.rb +8 -0
  47. data/bricks/worker/zena/migrate/20120501091514_add_site_id_to_jobs.rb +9 -0
  48. data/bricks/zena/zena/migrate/01_base.rb +0 -7
  49. data/bricks/zena/zena/migrate/20111214112233_add_comment_to_relations.rb +9 -0
  50. data/config/bricks.yml +15 -1
  51. data/config/environments/production.rb +2 -2
  52. data/config/gems.yml +6 -1
  53. data/doc/zafu_changes.yml +1 -1
  54. data/lib/tasks/zena.rake +6 -2
  55. data/lib/zena/app.rb +1 -1
  56. data/lib/zena/code/default_syntax.rb +5 -1
  57. data/lib/zena/db_helper/mysql.rb +5 -1
  58. data/lib/zena/deploy/app_init.rhtml +11 -7
  59. data/lib/zena/deploy/awstats.conf.rhtml +1 -1
  60. data/lib/zena/deploy/start_stop.rhtml +5 -5
  61. data/lib/zena/deploy/vhost.rhtml +16 -2
  62. data/lib/zena/deploy.rb +5 -3
  63. data/lib/zena/info.rb +1 -1
  64. data/lib/zena/parser/zazen_rules.rb +7 -7
  65. data/lib/zena/remote/node.rb +7 -0
  66. data/lib/zena/routes.rb +4 -5
  67. data/lib/zena/test_controller.rb +18 -1
  68. data/lib/zena/use/action.rb +13 -4
  69. data/lib/zena/use/ajax.rb +10 -4
  70. data/lib/zena/use/authlogic.rb +1 -1
  71. data/lib/zena/use/calendar.rb +4 -0
  72. data/lib/zena/use/conditional.rb +3 -0
  73. data/lib/zena/use/dates.rb +44 -4
  74. data/lib/zena/use/display.rb +45 -15
  75. data/lib/zena/use/forms.rb +59 -30
  76. data/lib/zena/use/query_builder.rb +12 -12
  77. data/lib/zena/use/recursion.rb +1 -1
  78. data/lib/zena/use/rendering.rb +18 -17
  79. data/lib/zena/use/urls.rb +2 -1
  80. data/lib/zena/use/zafu_safe_definitions.rb +0 -9
  81. data/lib/zena/use/zafu_templates.rb +2 -2
  82. data/lib/zena/use/zazen.rb +1 -3
  83. data/lib/zena/use.rb +13 -2
  84. data/lib/zena.rb +8 -2
  85. data/public/images/bullet_back.png +0 -0
  86. data/public/javascripts/grid.js +535 -0
  87. data/public/javascripts/tablekit.js +0 -0
  88. data/public/javascripts/window.js +0 -0
  89. data/public/javascripts/zena.js +17 -7
  90. data/public/stylesheets/admin.css +5 -1
  91. data/public/stylesheets/grid.css +19 -0
  92. data/test/fixtures/files/TestNode.zafu +123 -311
  93. data/test/fixtures/files/translations_fr.yml +6 -1
  94. data/test/functional/acls_controller_test.rb +2 -2
  95. data/test/functional/nodes_controller_test.rb +17 -11
  96. data/test/functional/virtual_classes_controller_test.rb +1 -1
  97. data/test/integration/query_node/basic.yml +9 -0
  98. data/test/integration/query_node/dates.yml +1 -1
  99. data/test/integration/zafu_compiler/ajax.yml +9 -9
  100. data/test/integration/zafu_compiler/basic.yml +0 -24
  101. data/test/integration/zafu_compiler/dates.yml +24 -7
  102. data/test/integration/zafu_compiler/display.yml +45 -2
  103. data/test/integration/zafu_compiler/errors.yml +0 -6
  104. data/test/integration/zafu_compiler/forms.yml +41 -3
  105. data/test/integration/zafu_compiler/query.yml +29 -3
  106. data/test/integration/zafu_compiler/roles.yml +0 -4
  107. data/test/integration/zafu_compiler/safe_definitions.yml +1 -1
  108. data/test/integration/zafu_compiler_test.rb +11 -3
  109. data/test/selenium/Add/add3.rsel +8 -8
  110. data/test/selenium/Drop/drop1.rsel +12 -12
  111. data/test/selenium/Drop/drop2.rsel +14 -14
  112. data/test/selenium/Drop/drop3.rsel +21 -21
  113. data/test/selenium/Drop/drop4.rsel +1 -1
  114. data/test/selenium/Edit/edit2.rsel +9 -9
  115. data/test/selenium/Edit/edit4.rsel +55 -0
  116. data/test/selenium/Edit/edit5.rsel +41 -0
  117. data/test/selenium/Edit/edit6.rsel +53 -0
  118. data/test/selenium/Filter/0setup.rsel +12 -0
  119. data/test/selenium/Filter/filter1.rsel +9 -0
  120. data/test/selenium/Filter/filter2.rsel +9 -0
  121. data/test/selenium/Form/form1.rsel +1 -1
  122. data/test/selenium/Form/form2.rsel +1 -1
  123. data/test/selenium/Form/form3.rsel +15 -0
  124. data/test/selenium/Grid/0setup.rsel +13 -0
  125. data/test/selenium/Grid/grid1.rsel +11 -0
  126. data/test/selenium/Swap/0setup.rsel +12 -0
  127. data/test/selenium/Swap/swap1.rsel +13 -0
  128. data/test/selenium/Swap/swap2.rsel +11 -0
  129. data/test/selenium/Toggle/toggle1.rsel +6 -6
  130. data/test/sites/zena/versions.yml +1 -1
  131. data/test/unit/relation_proxy_test.rb +36 -0
  132. data/test/unit/site_test.rb +10 -2
  133. data/test/unit/zena/use/rendering_test.rb +7 -6
  134. data/test/unit/zena/use/zazen_test.rb +1 -2
  135. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run 2.tmCommand +24 -0
  136. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Context.tmCommand +58 -0
  137. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Focused Should.tmCommand +88 -0
  138. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run.tmCommand +27 -0
  139. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/YAML to Shoulda.tmCommand +23 -0
  140. data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Context.tmPreferences +19 -0
  141. data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Should.tmPreferences +19 -0
  142. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory attributes for.tmSnippet +16 -0
  143. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory build.tmSnippet +16 -0
  144. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory.tmSnippet +16 -0
  145. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define with class.tmSnippet +18 -0
  146. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define.tmSnippet +18 -0
  147. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_next.tmSnippet +16 -0
  148. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_sequence.tmSnippet +18 -0
  149. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_bad_value.tmSnippet +16 -0
  150. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_contains.tmSnippet +16 -0
  151. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_does_not_contain.tmSnippet +16 -0
  152. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_good_value.tmSnippet +16 -0
  153. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_same_elements.tmSnippet +16 -0
  154. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_save.tmSnippet +16 -0
  155. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_sent_email.tmSnippet +18 -0
  156. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_valid.tmSnippet +16 -0
  157. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/association.tmSnippet +17 -0
  158. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/attribute.tmSnippet +17 -0
  159. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/before_should block.tmSnippet +18 -0
  160. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block get.tmSnippet +22 -0
  161. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block post.tmSnippet +23 -0
  162. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block with setup.tmSnippet +25 -0
  163. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/setup.tmSnippet +18 -0
  164. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block with before proc.tmSnippet +18 -0
  165. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block.tmSnippet +18 -0
  166. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_allow_values_for.tmSnippet +16 -0
  167. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_assign_to.tmSnippet +16 -0
  168. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful denied.tmSnippet +20 -0
  169. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful.tmSnippet +20 -0
  170. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_belong_to.tmSnippet +16 -0
  171. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change by.tmSnippet +16 -0
  172. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change from to.tmSnippet +16 -0
  173. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_at_least.tmSnippet +16 -0
  174. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_in_range.tmSnippet +16 -0
  175. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_is.tmSnippet +16 -0
  176. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_value_in_range.tmSnippet +16 -0
  177. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_eventually.tmSnippet +18 -0
  178. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_filter_params.tmSnippet +16 -0
  179. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_and_belong_to_many.tmSnippet +16 -0
  180. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_class_methods.tmSnippet +16 -0
  181. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_column.tmSnippet +16 -0
  182. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_columns.tmSnippet +16 -0
  183. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_index.tmSnippet +16 -0
  184. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_indices.tmSnippet +16 -0
  185. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_instance_methods.tmSnippet +16 -0
  186. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_many.tmSnippet +16 -0
  187. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_named_scope.tmSnippet +16 -0
  188. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_one.tmSnippet +16 -0
  189. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_readonly_attributes.tmSnippet +16 -0
  190. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_mass_assignment_of.tmSnippet +16 -0
  191. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_values_for.tmSnippet +16 -0
  192. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_assign_to.tmSnippet +16 -0
  193. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_change.tmSnippet +16 -0
  194. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_set_the_flash.tmSnippet +16 -0
  195. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_redirect_to.tmSnippet +16 -0
  196. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_a_form.tmSnippet +16 -0
  197. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_template.tmSnippet +16 -0
  198. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_with_layout.tmSnippet +16 -0
  199. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_without_layout.tmSnippet +16 -0
  200. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with.tmSnippet +16 -0
  201. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with_content_type.tmSnippet +16 -0
  202. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_return_from_session.tmSnippet +16 -0
  203. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_route.tmSnippet +16 -0
  204. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_set_the_flash_to.tmSnippet +16 -0
  205. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_acceptance_of.tmSnippet +16 -0
  206. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_numericality_of.tmSnippet +16 -0
  207. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_presence_of.tmSnippet +16 -0
  208. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of with scope.tmSnippet +16 -0
  209. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of.tmSnippet +16 -0
  210. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/catch_exception.rb +39 -0
  211. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/run_script.rb +104 -0
  212. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/stdin_dialog.rb +14 -0
  213. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/test.rb +17 -0
  214. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/todo.txt +13 -0
  215. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/bin/yaml_to_shoulda.rb +25 -0
  216. data/vendor/TextMate/Ruby Shoulda.tmbundle/Syntaxes/Ruby on Rails (Shoulda).tmLanguage +166 -0
  217. data/vendor/TextMate/Ruby Shoulda.tmbundle/info.plist +304 -0
  218. data/vendor/TextMate/Zena.tmbundle/Commands/Run all yaml tests.tmCommand +37 -0
  219. data/vendor/TextMate/Zena.tmbundle/Commands/Run focused yaml test.tmCommand +52 -0
  220. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/catch_exception.rb +39 -0
  221. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/run_script.rb +118 -0
  222. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/stdin_dialog.rb +14 -0
  223. data/vendor/TextMate/Zena.tmbundle/info.plist +17 -0
  224. data/vendor/plugins/selenium-on-rails/CHANGELOG +125 -0
  225. data/vendor/plugins/selenium-on-rails/LICENSE-2.0.txt +202 -0
  226. data/vendor/plugins/selenium-on-rails/README.md +202 -0
  227. data/vendor/plugins/selenium-on-rails/Rakefile +38 -0
  228. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumController.html +265 -0
  229. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumHelper.html +148 -0
  230. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/FixtureLoader.html +231 -0
  231. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/PartialsSupport.html +195 -0
  232. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Paths.html +295 -0
  233. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/RSelenese.html +219 -0
  234. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Renderer.html +156 -0
  235. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Selenese.html +179 -0
  236. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/SuiteRenderer.html +223 -0
  237. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilder.html +441 -0
  238. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderAccessors.html +3098 -0
  239. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderActions.html +2080 -0
  240. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderUserAccessors.html +116 -0
  241. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderUserActions.html +116 -0
  242. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails.html +126 -0
  243. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRailsConfig.html +150 -0
  244. data/vendor/plugins/selenium-on-rails/doc/files/CHANGELOG.html +422 -0
  245. data/vendor/plugins/selenium-on-rails/doc/files/README.html +321 -0
  246. data/vendor/plugins/selenium-on-rails/doc/files/lib/controllers/selenium_controller_rb.html +108 -0
  247. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_helper_rb.html +101 -0
  248. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/acceptance_test_runner_rb.html +222 -0
  249. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/fixture_loader_rb.html +109 -0
  250. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/partials_support_rb.html +111 -0
  251. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/paths_rb.html +101 -0
  252. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/renderer_rb.html +101 -0
  253. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/rselenese_rb.html +118 -0
  254. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/selenese_rb.html +101 -0
  255. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/suite_renderer_rb.html +101 -0
  256. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_accessors_rb.html +114 -0
  257. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_actions_rb.html +113 -0
  258. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_rb.html +120 -0
  259. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails_config_rb.html +108 -0
  260. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails_rb.html +115 -0
  261. data/vendor/plugins/selenium-on-rails/doc/fr_class_index.html +42 -0
  262. data/vendor/plugins/selenium-on-rails/doc/fr_file_index.html +43 -0
  263. data/vendor/plugins/selenium-on-rails/doc/fr_method_index.html +182 -0
  264. data/vendor/plugins/selenium-on-rails/doc/index.html +24 -0
  265. data/vendor/plugins/selenium-on-rails/doc/rdoc-style.css +208 -0
  266. data/vendor/plugins/selenium-on-rails/generators/selenium/USAGE +19 -0
  267. data/vendor/plugins/selenium-on-rails/generators/selenium/selenium_generator.rb +50 -0
  268. data/vendor/plugins/selenium-on-rails/generators/selenium/templates/rhtml.rhtml +16 -0
  269. data/vendor/plugins/selenium-on-rails/generators/selenium/templates/rselenese.rhtml +14 -0
  270. data/vendor/plugins/selenium-on-rails/generators/selenium/templates/selenese.rhtml +11 -0
  271. data/vendor/plugins/selenium-on-rails/init.rb +15 -0
  272. data/vendor/plugins/selenium-on-rails/lib/controllers/selenium_controller.rb +122 -0
  273. data/vendor/plugins/selenium-on-rails/lib/controllers/switch_environment_controller.rb +16 -0
  274. data/vendor/plugins/selenium-on-rails/lib/selenium_helper.rb +8 -0
  275. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/acceptance_test_runner.rb +215 -0
  276. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/fixture_loader.rb +57 -0
  277. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/partials_support.rb +36 -0
  278. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/paths.rb +61 -0
  279. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/renderer.rb +20 -0
  280. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/rselenese.rb +44 -0
  281. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/selenese.rb +87 -0
  282. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/suite_renderer.rb +56 -0
  283. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder.rb +116 -0
  284. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_accessors.rb +1002 -0
  285. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_actions.rb +514 -0
  286. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_user_accessors.rb.example +91 -0
  287. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_user_actions.rb.example +24 -0
  288. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails.rb +11 -0
  289. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails_config.rb +30 -0
  290. data/vendor/plugins/selenium-on-rails/lib/views/layouts/layout.rhtml +18 -0
  291. data/vendor/plugins/selenium-on-rails/lib/views/record.rhtml +5 -0
  292. data/vendor/plugins/selenium-on-rails/lib/views/selenium_helper.rb +9 -0
  293. data/vendor/plugins/selenium-on-rails/lib/views/setup.rhtml +67 -0
  294. data/vendor/plugins/selenium-on-rails/lib/views/test_suite.rhtml +26 -0
  295. data/vendor/plugins/selenium-on-rails/routes.rb +24 -0
  296. data/vendor/plugins/selenium-on-rails/selenium-core/Blank.html +7 -0
  297. data/vendor/plugins/selenium-on-rails/selenium-core/InjectedRemoteRunner.html +8 -0
  298. data/vendor/plugins/selenium-on-rails/selenium-core/RemoteRunner.html +110 -0
  299. data/vendor/plugins/selenium-on-rails/selenium-core/SeleniumLog.html +109 -0
  300. data/vendor/plugins/selenium-on-rails/selenium-core/TestPrompt.html +145 -0
  301. data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner-splash.html +55 -0
  302. data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner.hta +177 -0
  303. data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner.html +177 -0
  304. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/butmin.gif +0 -0
  305. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/butplus.gif +0 -0
  306. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/domviewer.css +298 -0
  307. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/domviewer.html +16 -0
  308. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/selenium-domviewer.js +205 -0
  309. data/vendor/plugins/selenium-on-rails/selenium-core/icons/all.png +0 -0
  310. data/vendor/plugins/selenium-on-rails/selenium-core/icons/continue.png +0 -0
  311. data/vendor/plugins/selenium-on-rails/selenium-core/icons/continue_disabled.png +0 -0
  312. data/vendor/plugins/selenium-on-rails/selenium-core/icons/pause.png +0 -0
  313. data/vendor/plugins/selenium-on-rails/selenium-core/icons/pause_disabled.png +0 -0
  314. data/vendor/plugins/selenium-on-rails/selenium-core/icons/selected.png +0 -0
  315. data/vendor/plugins/selenium-on-rails/selenium-core/icons/step.png +0 -0
  316. data/vendor/plugins/selenium-on-rails/selenium-core/icons/step_disabled.png +0 -0
  317. data/vendor/plugins/selenium-on-rails/selenium-core/iedoc-core.xml +1759 -0
  318. data/vendor/plugins/selenium-on-rails/selenium-core/iedoc.xml +1800 -0
  319. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/cssQuery-p.js +6 -0
  320. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-level2.js +142 -0
  321. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-level3.js +150 -0
  322. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-standard.js +53 -0
  323. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery.js +356 -0
  324. data/vendor/plugins/selenium-on-rails/selenium-core/lib/prototype.js +2006 -0
  325. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/builder.js +101 -0
  326. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/controls.js +815 -0
  327. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/dragdrop.js +915 -0
  328. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/effects.js +958 -0
  329. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/scriptaculous.js +47 -0
  330. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/slider.js +283 -0
  331. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/unittest.js +383 -0
  332. data/vendor/plugins/selenium-on-rails/selenium-core/lib/snapsie.js +91 -0
  333. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/find_matching_child.js +69 -0
  334. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/htmlutils.js +1616 -0
  335. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/injection.html +72 -0
  336. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-api.js +3184 -0
  337. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-browserbot.js +2300 -0
  338. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-browserdetect.js +153 -0
  339. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-commandhandlers.js +377 -0
  340. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-executionloop.js +175 -0
  341. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-logging.js +148 -0
  342. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-remoterunner.js +695 -0
  343. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-testrunner.js +1362 -0
  344. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-version.js +5 -0
  345. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-doc.html +803 -0
  346. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-element.js +1537 -0
  347. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-map-sample.js +979 -0
  348. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/user-extensions.js +3 -0
  349. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/user-extensions.js.sample +75 -0
  350. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/xmlextras.js +153 -0
  351. data/vendor/plugins/selenium-on-rails/selenium-core/selenium-logo.png +0 -0
  352. data/vendor/plugins/selenium-on-rails/selenium-core/selenium-test.css +43 -0
  353. data/vendor/plugins/selenium-on-rails/selenium-core/selenium.css +316 -0
  354. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/dom.js +566 -0
  355. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/javascript-xpath-0.1.11.js +2816 -0
  356. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/util.js +549 -0
  357. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/xmltoken.js +149 -0
  358. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/xpath.js +2450 -0
  359. data/vendor/plugins/selenium-on-rails/tasks/test_acceptance.rake +8 -0
  360. data/vendor/plugins/selenium-on-rails/test/fixtures/config.yml +37 -0
  361. data/vendor/plugins/selenium-on-rails/test/fixtures/selenium.yml +27 -0
  362. data/vendor/plugins/selenium-on-rails/test/paths_test.rb +72 -0
  363. data/vendor/plugins/selenium-on-rails/test/renderer_test.rb +157 -0
  364. data/vendor/plugins/selenium-on-rails/test/rselenese_test.rb +708 -0
  365. data/vendor/plugins/selenium-on-rails/test/selenese_test.rb +242 -0
  366. data/vendor/plugins/selenium-on-rails/test/selenium_controller_test.rb +67 -0
  367. data/vendor/plugins/selenium-on-rails/test/selenium_on_rails_config_test.rb +43 -0
  368. data/vendor/plugins/selenium-on-rails/test/selenium_support_test.rb +35 -0
  369. data/vendor/plugins/selenium-on-rails/test/setup_test.rb +31 -0
  370. data/vendor/plugins/selenium-on-rails/test/suite_renderer_test.rb +109 -0
  371. data/vendor/plugins/selenium-on-rails/test/switch_environment_controller_test.rb +17 -0
  372. data/vendor/plugins/selenium-on-rails/test/test_builder_functions_authortest.rb +51 -0
  373. data/vendor/plugins/selenium-on-rails/test/test_helper.rb +101 -0
  374. data/vendor/plugins/selenium-on-rails/test_data/_partial.rsel +1 -0
  375. data/vendor/plugins/selenium-on-rails/test_data/own_layout.html +12 -0
  376. data/vendor/plugins/selenium-on-rails/test_data/partials/_html.html +6 -0
  377. data/vendor/plugins/selenium-on-rails/test_data/partials/_nesting.rsel +2 -0
  378. data/vendor/plugins/selenium-on-rails/test_data/partials/_rhtml.rhtml +6 -0
  379. data/vendor/plugins/selenium-on-rails/test_data/partials/_rsel.rsel +1 -0
  380. data/vendor/plugins/selenium-on-rails/test_data/partials/_sel.sel +5 -0
  381. data/vendor/plugins/selenium-on-rails/test_data/partials/all_partials.rsel +5 -0
  382. data/vendor/plugins/selenium-on-rails/test_data/rhtml.rhtml +7 -0
  383. data/vendor/plugins/selenium-on-rails/test_data/rselenese.rsel +8 -0
  384. data/vendor/plugins/selenium-on-rails/test_data/selenese.sel +7 -0
  385. data/vendor/plugins/selenium-on-rails/test_data/suite_one/subsuite/suite_one_subsuite_testcase.sel +1 -0
  386. data/vendor/plugins/selenium-on-rails/test_data/suite_one/suite_one_testcase1.sel +1 -0
  387. data/vendor/plugins/selenium-on-rails/test_data/suite_one/suite_one_testcase2.sel +1 -0
  388. data/vendor/plugins/selenium-on-rails/test_data/suite_two/suite_two_testcase.sel +1 -0
  389. data/zena.gemspec +290 -7
  390. metadata +346 -52
  391. data/app/views/nodes/_table.rhtml +0 -14
  392. data/lib/zena/use/grid.rb +0 -154
@@ -0,0 +1,9 @@
1
+ module SeleniumHelper
2
+ include SeleniumOnRails::SuiteRenderer
3
+ include SeleniumOnRails::FixtureLoader
4
+
5
+ def test_case_name filename
6
+ File.basename(filename).sub(/\..*/,'').humanize
7
+ end
8
+
9
+ end
@@ -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>&nbsp;</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>&nbsp;</td></tr>
42
+ <tr><td>open</td><td><%= url_for :fixtures => 'fixture' %></td><td>&nbsp;</td></tr>
43
+ <tr><td>open</td><td><%= url_for :fixtures => 'fixture_one' %>,fixture_two</td><td>&nbsp;</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>&nbsp;</td></tr>
62
+ <tr><td>open</td><td><%= url_for :clear_tables => 'sessions' %>,outgoing_messages</td><td>&nbsp;</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,7 @@
1
+ <html>
2
+ <head>
3
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
4
+ </head>
5
+ <body>
6
+ </body>
7
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
4
+ </head>
5
+ <body>
6
+ <h3>selenium-rc initial page</h3>
7
+ </body>
8
+ </html>
@@ -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>&uarr;</th>
24
+ <th>&uarr;</th>
25
+ <th>&uarr;</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>&nbsp;</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>