zena 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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,2080 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: SeleniumOnRails::TestBuilderActions</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">SeleniumOnRails::TestBuilderActions</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/selenium_on_rails/test_builder_actions_rb.html">
59
+ lib/selenium_on_rails/test_builder_actions.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ The actions available for <a
78
+ href="TestBuilder.html">SeleniumOnRails::TestBuilder</a> tests.
79
+ </p>
80
+ <p>
81
+ For each action <tt>foo</tt> there&#8216;s also an action
82
+ <tt>foo_and_wait</tt>.
83
+ </p>
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+ <div id="method-list">
91
+ <h3 class="section-bar">Methods</h3>
92
+
93
+ <div class="name-list">
94
+ <a href="#M000023">add_selection</a>&nbsp;&nbsp;
95
+ <a href="#M000034">alt_key_down</a>&nbsp;&nbsp;
96
+ <a href="#M000035">alt_key_up</a>&nbsp;&nbsp;
97
+ <a href="#M000030">answer_on_next_prompt</a>&nbsp;&nbsp;
98
+ <a href="#M000036">brake</a>&nbsp;&nbsp;
99
+ <a href="#M000020">check</a>&nbsp;&nbsp;
100
+ <a href="#M000029">choose_cancel_on_next_confirmation</a>&nbsp;&nbsp;
101
+ <a href="#M000011">click</a>&nbsp;&nbsp;
102
+ <a href="#M000012">click_at</a>&nbsp;&nbsp;
103
+ <a href="#M000033">close</a>&nbsp;&nbsp;
104
+ <a href="#M000037">control_key_down</a>&nbsp;&nbsp;
105
+ <a href="#M000038">control_key_up</a>&nbsp;&nbsp;
106
+ <a href="#M000039">create_cookie</a>&nbsp;&nbsp;
107
+ <a href="#M000040">delete_cookie</a>&nbsp;&nbsp;
108
+ <a href="#M000041">double_click</a>&nbsp;&nbsp;
109
+ <a href="#M000042">double_click_at</a>&nbsp;&nbsp;
110
+ <a href="#M000043">drag_and_drop</a>&nbsp;&nbsp;
111
+ <a href="#M000044">drag_and_drop_to_object</a>&nbsp;&nbsp;
112
+ <a href="#M000045">echo</a>&nbsp;&nbsp;
113
+ <a href="#M000013">fire_event</a>&nbsp;&nbsp;
114
+ <a href="#M000031">go_back</a>&nbsp;&nbsp;
115
+ <a href="#M000046">highlight</a>&nbsp;&nbsp;
116
+ <a href="#M000010">include_partial</a>&nbsp;&nbsp;
117
+ <a href="#M000015">key_down</a>&nbsp;&nbsp;
118
+ <a href="#M000014">key_press</a>&nbsp;&nbsp;
119
+ <a href="#M000016">key_up</a>&nbsp;&nbsp;
120
+ <a href="#M000047">meta_key_down</a>&nbsp;&nbsp;
121
+ <a href="#M000048">meta_key_up</a>&nbsp;&nbsp;
122
+ <a href="#M000018">mouse_down</a>&nbsp;&nbsp;
123
+ <a href="#M000049">mouse_down_at</a>&nbsp;&nbsp;
124
+ <a href="#M000050">mouse_move</a>&nbsp;&nbsp;
125
+ <a href="#M000051">mouse_move_at</a>&nbsp;&nbsp;
126
+ <a href="#M000052">mouse_out</a>&nbsp;&nbsp;
127
+ <a href="#M000017">mouse_over</a>&nbsp;&nbsp;
128
+ <a href="#M000053">mouse_up</a>&nbsp;&nbsp;
129
+ <a href="#M000054">mouse_up_at</a>&nbsp;&nbsp;
130
+ <a href="#M000026">open</a>&nbsp;&nbsp;
131
+ <a href="#M000055">open_window</a>&nbsp;&nbsp;
132
+ <a href="#M000056">pause</a>&nbsp;&nbsp;
133
+ <a href="#M000032">refresh</a>&nbsp;&nbsp;
134
+ <a href="#M000057">remove_all_selections</a>&nbsp;&nbsp;
135
+ <a href="#M000024">remove_selection</a>&nbsp;&nbsp;
136
+ <a href="#M000022">select</a>&nbsp;&nbsp;
137
+ <a href="#M000058">select_frame</a>&nbsp;&nbsp;
138
+ <a href="#M000027">select_window</a>&nbsp;&nbsp;
139
+ <a href="#M000067">set_context</a>&nbsp;&nbsp;
140
+ <a href="#M000059">set_cursor_position</a>&nbsp;&nbsp;
141
+ <a href="#M000060">set_mouse_speed</a>&nbsp;&nbsp;
142
+ <a href="#M000069">set_timeout</a>&nbsp;&nbsp;
143
+ <a href="#M000009">setup</a>&nbsp;&nbsp;
144
+ <a href="#M000061">shift_key_down</a>&nbsp;&nbsp;
145
+ <a href="#M000062">shift_key_up</a>&nbsp;&nbsp;
146
+ <a href="#M000063">store</a>&nbsp;&nbsp;
147
+ <a href="#M000025">submit</a>&nbsp;&nbsp;
148
+ <a href="#M000019">type</a>&nbsp;&nbsp;
149
+ <a href="#M000064">type_keys</a>&nbsp;&nbsp;
150
+ <a href="#M000021">uncheck</a>&nbsp;&nbsp;
151
+ <a href="#M000068">wait_for_condition</a>&nbsp;&nbsp;
152
+ <a href="#M000070">wait_for_page_to_load</a>&nbsp;&nbsp;
153
+ <a href="#M000028">wait_for_popup</a>&nbsp;&nbsp;
154
+ <a href="#M000065">window_focus</a>&nbsp;&nbsp;
155
+ <a href="#M000066">window_maximize</a>&nbsp;&nbsp;
156
+ </div>
157
+ </div>
158
+
159
+ </div>
160
+
161
+
162
+ <!-- if includes -->
163
+
164
+ <div id="section">
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <!-- if method_list -->
174
+ <div id="methods">
175
+ <h3 class="section-bar">Public Instance methods</h3>
176
+
177
+ <div id="method-M000023" class="method-detail">
178
+ <a name="M000023"></a>
179
+
180
+ <div class="method-heading">
181
+ <a href="#M000023" class="method-signature">
182
+ <span class="method-name">add_selection</span><span class="method-args">(locator, option_locator)</span>
183
+ </a>
184
+ </div>
185
+
186
+ <div class="method-description">
187
+ <p>
188
+ Add a selection to the set of selected options in a multi-<a
189
+ href="TestBuilderActions.html#M000022">select</a> element using an option
190
+ locator.
191
+ </p>
192
+ <p>
193
+ See the <tt><a href="TestBuilderActions.html#M000022">select</a></tt>
194
+ command for more information about option locators.
195
+ </p>
196
+ <p><a class="source-toggle" href="#"
197
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
198
+ <div class="method-source-code" id="M000023-source">
199
+ <pre>
200
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 148</span>
201
+ 148: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_selection</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">option_locator</span>
202
+ 149: <span class="ruby-identifier">command</span> <span class="ruby-value str">'addSelection'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">option_locator</span>
203
+ 150: <span class="ruby-keyword kw">end</span>
204
+ </pre>
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+ <div id="method-M000034" class="method-detail">
210
+ <a name="M000034"></a>
211
+
212
+ <div class="method-heading">
213
+ <a href="#M000034" class="method-signature">
214
+ <span class="method-name">alt_key_down</span><span class="method-args">()</span>
215
+ </a>
216
+ </div>
217
+
218
+ <div class="method-description">
219
+ <p>
220
+ Simulates the user pressing the alt key and hold it down until do_alt_up()
221
+ is called or a new page is loaded.
222
+ </p>
223
+ <p><a class="source-toggle" href="#"
224
+ onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
225
+ <div class="method-source-code" id="M000034-source">
226
+ <pre>
227
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 221</span>
228
+ 221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alt_key_down</span>
229
+ 222: <span class="ruby-identifier">command</span> <span class="ruby-value str">'altKeyDown'</span>
230
+ 223: <span class="ruby-keyword kw">end</span>
231
+ </pre>
232
+ </div>
233
+ </div>
234
+ </div>
235
+
236
+ <div id="method-M000035" class="method-detail">
237
+ <a name="M000035"></a>
238
+
239
+ <div class="method-heading">
240
+ <a href="#M000035" class="method-signature">
241
+ <span class="method-name">alt_key_up</span><span class="method-args">()</span>
242
+ </a>
243
+ </div>
244
+
245
+ <div class="method-description">
246
+ <p>
247
+ Simulates the user releasing the alt key.
248
+ </p>
249
+ <p><a class="source-toggle" href="#"
250
+ onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
251
+ <div class="method-source-code" id="M000035-source">
252
+ <pre>
253
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 226</span>
254
+ 226: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alt_key_up</span>
255
+ 227: <span class="ruby-identifier">command</span> <span class="ruby-value str">'altKeyUp'</span>
256
+ 228: <span class="ruby-keyword kw">end</span>
257
+ </pre>
258
+ </div>
259
+ </div>
260
+ </div>
261
+
262
+ <div id="method-M000030" class="method-detail">
263
+ <a name="M000030"></a>
264
+
265
+ <div class="method-heading">
266
+ <a href="#M000030" class="method-signature">
267
+ <span class="method-name">answer_on_next_prompt</span><span class="method-args">(answer)</span>
268
+ </a>
269
+ </div>
270
+
271
+ <div class="method-description">
272
+ <p>
273
+ Instructs Selenium to return the specified answer string in response to the
274
+ next JavaScript prompt (<tt>window.prompt()</tt>).
275
+ </p>
276
+ <p><a class="source-toggle" href="#"
277
+ onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
278
+ <div class="method-source-code" id="M000030-source">
279
+ <pre>
280
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 199</span>
281
+ 199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">answer_on_next_prompt</span> <span class="ruby-identifier">answer</span>
282
+ 200: <span class="ruby-identifier">command</span> <span class="ruby-value str">'answerOnNextPrompt'</span>, <span class="ruby-identifier">answer</span>
283
+ 201: <span class="ruby-keyword kw">end</span>
284
+ </pre>
285
+ </div>
286
+ </div>
287
+ </div>
288
+
289
+ <div id="method-M000036" class="method-detail">
290
+ <a name="M000036"></a>
291
+
292
+ <div class="method-heading">
293
+ <a href="#M000036" class="method-signature">
294
+ <span class="method-name">brake</span><span class="method-args">()</span>
295
+ </a>
296
+ </div>
297
+
298
+ <div class="method-description">
299
+ <p>
300
+ Halt the currently running test, and wait for the user to press the
301
+ Continue button. This command is useful for debugging, but be careful when
302
+ using it, because it will force automated tests to hang until a user
303
+ intervenes manually.
304
+ </p>
305
+ <p>
306
+ NOTE: <tt>break</tt> is a reserved word in Ruby, so we have to simulate
307
+ Selenium core&#8216;s <tt>break()</tt> with <tt><a
308
+ href="TestBuilderActions.html#M000036">brake</a>()</tt>
309
+ </p>
310
+ <p><a class="source-toggle" href="#"
311
+ onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
312
+ <div class="method-source-code" id="M000036-source">
313
+ <pre>
314
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 236</span>
315
+ 236: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">brake</span>
316
+ 237: <span class="ruby-identifier">command</span> <span class="ruby-value str">'break'</span>
317
+ 238: <span class="ruby-keyword kw">end</span>
318
+ </pre>
319
+ </div>
320
+ </div>
321
+ </div>
322
+
323
+ <div id="method-M000020" class="method-detail">
324
+ <a name="M000020"></a>
325
+
326
+ <div class="method-heading">
327
+ <a href="#M000020" class="method-signature">
328
+ <span class="method-name">check</span><span class="method-args">(locator)</span>
329
+ </a>
330
+ </div>
331
+
332
+ <div class="method-description">
333
+ <p>
334
+ Check a toggle-button (checkbox/radio).
335
+ </p>
336
+ <p><a class="source-toggle" href="#"
337
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
338
+ <div class="method-source-code" id="M000020-source">
339
+ <pre>
340
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 108</span>
341
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check</span> <span class="ruby-identifier">locator</span>
342
+ 109: <span class="ruby-identifier">command</span> <span class="ruby-value str">'check'</span>, <span class="ruby-identifier">locator</span>
343
+ 110: <span class="ruby-keyword kw">end</span>
344
+ </pre>
345
+ </div>
346
+ </div>
347
+ </div>
348
+
349
+ <div id="method-M000029" class="method-detail">
350
+ <a name="M000029"></a>
351
+
352
+ <div class="method-heading">
353
+ <a href="#M000029" class="method-signature">
354
+ <span class="method-name">choose_cancel_on_next_confirmation</span><span class="method-args">()</span>
355
+ </a>
356
+ </div>
357
+
358
+ <div class="method-description">
359
+ <p>
360
+ By default, Selenium&#8216;s overridden <tt>window.confirm()</tt> function
361
+ will return <tt>true</tt>, as if the user had manually clicked OK. After
362
+ running this command, the next call to <tt>confirm()</tt> will return
363
+ <tt>false</tt>, as if the user had clicked Cancel.
364
+ </p>
365
+ <p><a class="source-toggle" href="#"
366
+ onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
367
+ <div class="method-source-code" id="M000029-source">
368
+ <pre>
369
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 193</span>
370
+ 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">choose_cancel_on_next_confirmation</span>
371
+ 194: <span class="ruby-identifier">command</span> <span class="ruby-value str">'chooseCancelOnNextConfirmation'</span>
372
+ 195: <span class="ruby-keyword kw">end</span>
373
+ </pre>
374
+ </div>
375
+ </div>
376
+ </div>
377
+
378
+ <div id="method-M000011" class="method-detail">
379
+ <a name="M000011"></a>
380
+
381
+ <div class="method-heading">
382
+ <a href="#M000011" class="method-signature">
383
+ <span class="method-name">click</span><span class="method-args">(locator)</span>
384
+ </a>
385
+ </div>
386
+
387
+ <div class="method-description">
388
+ <p>
389
+ Clicks on a link, button, checkbox or radio button. If the <a
390
+ href="TestBuilderActions.html#M000011">click</a> action causes a new page
391
+ to load (like a link usually does), call <tt><a
392
+ href="TestBuilderActions.html#M000070">wait_for_page_to_load</a></tt>.
393
+ </p>
394
+ <p><a class="source-toggle" href="#"
395
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
396
+ <div class="method-source-code" id="M000011-source">
397
+ <pre>
398
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 47</span>
399
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">click</span> <span class="ruby-identifier">locator</span>
400
+ 48: <span class="ruby-identifier">command</span> <span class="ruby-value str">'click'</span>, <span class="ruby-identifier">locator</span>
401
+ 49: <span class="ruby-keyword kw">end</span>
402
+ </pre>
403
+ </div>
404
+ </div>
405
+ </div>
406
+
407
+ <div id="method-M000012" class="method-detail">
408
+ <a name="M000012"></a>
409
+
410
+ <div class="method-heading">
411
+ <a href="#M000012" class="method-signature">
412
+ <span class="method-name">click_at</span><span class="method-args">(locator, coord_string)</span>
413
+ </a>
414
+ </div>
415
+
416
+ <div class="method-description">
417
+ <p>
418
+ Clicks on a link, button, checkbox or radio button. If the <a
419
+ href="TestBuilderActions.html#M000011">click</a> action causes a new page
420
+ to load (like a link usually does), call <a
421
+ href="TestBuilderActions.html#M000070">wait_for_page_to_load</a>.
422
+ </p>
423
+ <p><a class="source-toggle" href="#"
424
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
425
+ <div class="method-source-code" id="M000012-source">
426
+ <pre>
427
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 53</span>
428
+ 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">click_at</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
429
+ 54: <span class="ruby-identifier">command</span> <span class="ruby-value str">'clickAt'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
430
+ 55: <span class="ruby-keyword kw">end</span>
431
+ </pre>
432
+ </div>
433
+ </div>
434
+ </div>
435
+
436
+ <div id="method-M000033" class="method-detail">
437
+ <a name="M000033"></a>
438
+
439
+ <div class="method-heading">
440
+ <a href="#M000033" class="method-signature">
441
+ <span class="method-name">close</span><span class="method-args">()</span>
442
+ </a>
443
+ </div>
444
+
445
+ <div class="method-description">
446
+ <p>
447
+ Simulates the user clicking the &quot;<a
448
+ href="TestBuilderActions.html#M000033">close</a>&quot; button in the
449
+ titlebar of a popup window or tab.
450
+ </p>
451
+ <p><a class="source-toggle" href="#"
452
+ onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
453
+ <div class="method-source-code" id="M000033-source">
454
+ <pre>
455
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 215</span>
456
+ 215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
457
+ 216: <span class="ruby-identifier">command</span> <span class="ruby-value str">'close'</span>
458
+ 217: <span class="ruby-keyword kw">end</span>
459
+ </pre>
460
+ </div>
461
+ </div>
462
+ </div>
463
+
464
+ <div id="method-M000037" class="method-detail">
465
+ <a name="M000037"></a>
466
+
467
+ <div class="method-heading">
468
+ <a href="#M000037" class="method-signature">
469
+ <span class="method-name">control_key_down</span><span class="method-args">()</span>
470
+ </a>
471
+ </div>
472
+
473
+ <div class="method-description">
474
+ <p>
475
+ Simulates the user pressing the alt key and hold it down until
476
+ do_control_up() is called or a new page is loaded.
477
+ </p>
478
+ <p><a class="source-toggle" href="#"
479
+ onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
480
+ <div class="method-source-code" id="M000037-source">
481
+ <pre>
482
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 242</span>
483
+ 242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">control_key_down</span>
484
+ 243: <span class="ruby-identifier">command</span> <span class="ruby-value str">'controlKeyDown'</span>
485
+ 244: <span class="ruby-keyword kw">end</span>
486
+ </pre>
487
+ </div>
488
+ </div>
489
+ </div>
490
+
491
+ <div id="method-M000038" class="method-detail">
492
+ <a name="M000038"></a>
493
+
494
+ <div class="method-heading">
495
+ <a href="#M000038" class="method-signature">
496
+ <span class="method-name">control_key_up</span><span class="method-args">()</span>
497
+ </a>
498
+ </div>
499
+
500
+ <div class="method-description">
501
+ <p>
502
+ Simulates the user releasing the control key.
503
+ </p>
504
+ <p><a class="source-toggle" href="#"
505
+ onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
506
+ <div class="method-source-code" id="M000038-source">
507
+ <pre>
508
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 247</span>
509
+ 247: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">control_key_up</span>
510
+ 248: <span class="ruby-identifier">command</span> <span class="ruby-value str">'controlKeyUp'</span>
511
+ 249: <span class="ruby-keyword kw">end</span>
512
+ </pre>
513
+ </div>
514
+ </div>
515
+ </div>
516
+
517
+ <div id="method-M000039" class="method-detail">
518
+ <a name="M000039"></a>
519
+
520
+ <div class="method-heading">
521
+ <a href="#M000039" class="method-signature">
522
+ <span class="method-name">create_cookie</span><span class="method-args">(name_value_pair, options_string)</span>
523
+ </a>
524
+ </div>
525
+
526
+ <div class="method-description">
527
+ <p>
528
+ Create a new cookie whose path and domain are same with those of current
529
+ page under test, unless you specified a path for this cookie explicitly.
530
+ </p>
531
+ <p>
532
+ Arguments:
533
+ </p>
534
+ <ul>
535
+ <li><tt>name_value_pair</tt> - name and value of the cookie in a format
536
+ &quot;name=value&quot;
537
+
538
+ </li>
539
+ <li><tt>options_string</tt> - options for the cookie. Currently supported
540
+ options include &#8216;path&#8217; and &#8216;max_age&#8217;. The
541
+ options_string&#8216;s format is <tt>&quot;path=/path/,
542
+ max_age=60&quot;</tt>. The order of options are irrelevant, the unit of the
543
+ value of &#8216;max_age&#8217; is second.
544
+
545
+ </li>
546
+ </ul>
547
+ <p><a class="source-toggle" href="#"
548
+ onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
549
+ <div class="method-source-code" id="M000039-source">
550
+ <pre>
551
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 260</span>
552
+ 260: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_cookie</span> <span class="ruby-identifier">name_value_pair</span>, <span class="ruby-identifier">options_string</span>
553
+ 261: <span class="ruby-identifier">command</span> <span class="ruby-value str">'createCookie'</span>, <span class="ruby-identifier">name_value_pair</span>, <span class="ruby-identifier">options_string</span>
554
+ 262: <span class="ruby-keyword kw">end</span>
555
+ </pre>
556
+ </div>
557
+ </div>
558
+ </div>
559
+
560
+ <div id="method-M000040" class="method-detail">
561
+ <a name="M000040"></a>
562
+
563
+ <div class="method-heading">
564
+ <a href="#M000040" class="method-signature">
565
+ <span class="method-name">delete_cookie</span><span class="method-args">(name, path)</span>
566
+ </a>
567
+ </div>
568
+
569
+ <div class="method-description">
570
+ <p>
571
+ Delete a named cookie with specified path.
572
+ </p>
573
+ <p><a class="source-toggle" href="#"
574
+ onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
575
+ <div class="method-source-code" id="M000040-source">
576
+ <pre>
577
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 265</span>
578
+ 265: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_cookie</span> <span class="ruby-identifier">name</span>, <span class="ruby-identifier">path</span>
579
+ 266: <span class="ruby-identifier">command</span> <span class="ruby-value str">'deleteCookie'</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">path</span>
580
+ 267: <span class="ruby-keyword kw">end</span>
581
+ </pre>
582
+ </div>
583
+ </div>
584
+ </div>
585
+
586
+ <div id="method-M000041" class="method-detail">
587
+ <a name="M000041"></a>
588
+
589
+ <div class="method-heading">
590
+ <a href="#M000041" class="method-signature">
591
+ <span class="method-name">double_click</span><span class="method-args">(locator)</span>
592
+ </a>
593
+ </div>
594
+
595
+ <div class="method-description">
596
+ <p>
597
+ Double clicks on a link, button, checkbox or radio button. If the double <a
598
+ href="TestBuilderActions.html#M000011">click</a> action causes a new page
599
+ to load (like a link usually does), call <tt><a
600
+ href="TestBuilderActions.html#M000070">wait_for_page_to_load</a></tt>.
601
+ </p>
602
+ <p><a class="source-toggle" href="#"
603
+ onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
604
+ <div class="method-source-code" id="M000041-source">
605
+ <pre>
606
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 271</span>
607
+ 271: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">double_click</span> <span class="ruby-identifier">locator</span>
608
+ 272: <span class="ruby-identifier">command</span> <span class="ruby-value str">'doubleClick'</span>, <span class="ruby-identifier">locator</span>
609
+ 273: <span class="ruby-keyword kw">end</span>
610
+ </pre>
611
+ </div>
612
+ </div>
613
+ </div>
614
+
615
+ <div id="method-M000042" class="method-detail">
616
+ <a name="M000042"></a>
617
+
618
+ <div class="method-heading">
619
+ <a href="#M000042" class="method-signature">
620
+ <span class="method-name">double_click_at</span><span class="method-args">(locator, coord_string)</span>
621
+ </a>
622
+ </div>
623
+
624
+ <div class="method-description">
625
+ <p>
626
+ Doubleclicks on a link, button, checkbox or radio button. If the action
627
+ causes a new page to load (like a link usually does), call <tt><a
628
+ href="TestBuilderActions.html#M000070">wait_for_page_to_load</a></tt>.
629
+ </p>
630
+ <p><a class="source-toggle" href="#"
631
+ onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
632
+ <div class="method-source-code" id="M000042-source">
633
+ <pre>
634
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 277</span>
635
+ 277: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">double_click_at</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
636
+ 278: <span class="ruby-identifier">command</span> <span class="ruby-value str">'doubleClickAt'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
637
+ 279: <span class="ruby-keyword kw">end</span>
638
+ </pre>
639
+ </div>
640
+ </div>
641
+ </div>
642
+
643
+ <div id="method-M000043" class="method-detail">
644
+ <a name="M000043"></a>
645
+
646
+ <div class="method-heading">
647
+ <a href="#M000043" class="method-signature">
648
+ <span class="method-name">drag_and_drop</span><span class="method-args">(locator, movements_string)</span>
649
+ </a>
650
+ </div>
651
+
652
+ <div class="method-description">
653
+ <p>
654
+ Drags an element a certain distance and then drops it.
655
+ </p>
656
+ <p><a class="source-toggle" href="#"
657
+ onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
658
+ <div class="method-source-code" id="M000043-source">
659
+ <pre>
660
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 282</span>
661
+ 282: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">drag_and_drop</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">movements_string</span>
662
+ 283: <span class="ruby-identifier">command</span> <span class="ruby-value str">'dragAndDrop'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">movements_string</span>
663
+ 284: <span class="ruby-keyword kw">end</span>
664
+ </pre>
665
+ </div>
666
+ </div>
667
+ </div>
668
+
669
+ <div id="method-M000044" class="method-detail">
670
+ <a name="M000044"></a>
671
+
672
+ <div class="method-heading">
673
+ <a href="#M000044" class="method-signature">
674
+ <span class="method-name">drag_and_drop_to_object</span><span class="method-args">(locator_of_object_to_be_dragged, locator_of_drag_destination_object)</span>
675
+ </a>
676
+ </div>
677
+
678
+ <div class="method-description">
679
+ <p>
680
+ Drags an element and drops it on another element.
681
+ </p>
682
+ <p><a class="source-toggle" href="#"
683
+ onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
684
+ <div class="method-source-code" id="M000044-source">
685
+ <pre>
686
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 287</span>
687
+ 287: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">drag_and_drop_to_object</span> <span class="ruby-identifier">locator_of_object_to_be_dragged</span>, <span class="ruby-identifier">locator_of_drag_destination_object</span>
688
+ 288: <span class="ruby-identifier">command</span> <span class="ruby-value str">'dragAndDropToObject'</span>, <span class="ruby-identifier">locator_of_object_to_be_dragged</span>, <span class="ruby-identifier">locator_of_drag_destination_object</span>
689
+ 289: <span class="ruby-keyword kw">end</span>
690
+ </pre>
691
+ </div>
692
+ </div>
693
+ </div>
694
+
695
+ <div id="method-M000045" class="method-detail">
696
+ <a name="M000045"></a>
697
+
698
+ <div class="method-heading">
699
+ <a href="#M000045" class="method-signature">
700
+ <span class="method-name">echo</span><span class="method-args">(message)</span>
701
+ </a>
702
+ </div>
703
+
704
+ <div class="method-description">
705
+ <p>
706
+ Prints the specified message into the third table cell in your <a
707
+ href="Selenese.html">Selenese</a> tables. Useful for debugging.
708
+ </p>
709
+ <p><a class="source-toggle" href="#"
710
+ onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
711
+ <div class="method-source-code" id="M000045-source">
712
+ <pre>
713
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 294</span>
714
+ 294: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">echo</span> <span class="ruby-identifier">message</span>
715
+ 295: <span class="ruby-identifier">command</span> <span class="ruby-value str">'echo'</span>, <span class="ruby-identifier">message</span>
716
+ 296: <span class="ruby-keyword kw">end</span>
717
+ </pre>
718
+ </div>
719
+ </div>
720
+ </div>
721
+
722
+ <div id="method-M000013" class="method-detail">
723
+ <a name="M000013"></a>
724
+
725
+ <div class="method-heading">
726
+ <a href="#M000013" class="method-signature">
727
+ <span class="method-name">fire_event</span><span class="method-args">(locator, event_name)</span>
728
+ </a>
729
+ </div>
730
+
731
+ <div class="method-description">
732
+ <p>
733
+ Explicitly simulate an event (e.g. <tt>&quot;focus&quot;</tt>,
734
+ <tt>&quot;blur&quot;</tt>), to trigger the corresponding
735
+ <tt>&quot;on_event_&quot;</tt> handler.
736
+ </p>
737
+ <p><a class="source-toggle" href="#"
738
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
739
+ <div class="method-source-code" id="M000013-source">
740
+ <pre>
741
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 59</span>
742
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fire_event</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">event_name</span>
743
+ 60: <span class="ruby-identifier">command</span> <span class="ruby-value str">'fireEvent'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">event_name</span>
744
+ 61: <span class="ruby-keyword kw">end</span>
745
+ </pre>
746
+ </div>
747
+ </div>
748
+ </div>
749
+
750
+ <div id="method-M000031" class="method-detail">
751
+ <a name="M000031"></a>
752
+
753
+ <div class="method-heading">
754
+ <a href="#M000031" class="method-signature">
755
+ <span class="method-name">go_back</span><span class="method-args">()</span>
756
+ </a>
757
+ </div>
758
+
759
+ <div class="method-description">
760
+ <p>
761
+ Simulates the user clicking the &quot;back&quot; button on their browser.
762
+ </p>
763
+ <p><a class="source-toggle" href="#"
764
+ onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
765
+ <div class="method-source-code" id="M000031-source">
766
+ <pre>
767
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 204</span>
768
+ 204: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">go_back</span>
769
+ 205: <span class="ruby-identifier">command</span> <span class="ruby-value str">'goBack'</span>
770
+ 206: <span class="ruby-keyword kw">end</span>
771
+ </pre>
772
+ </div>
773
+ </div>
774
+ </div>
775
+
776
+ <div id="method-M000046" class="method-detail">
777
+ <a name="M000046"></a>
778
+
779
+ <div class="method-heading">
780
+ <a href="#M000046" class="method-signature">
781
+ <span class="method-name">highlight</span><span class="method-args">(locator)</span>
782
+ </a>
783
+ </div>
784
+
785
+ <div class="method-description">
786
+ <p>
787
+ Briefly changes the backgroundColor of the specified element yellow. Useful
788
+ for debugging.
789
+ </p>
790
+ <p><a class="source-toggle" href="#"
791
+ onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
792
+ <div class="method-source-code" id="M000046-source">
793
+ <pre>
794
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 300</span>
795
+ 300: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">highlight</span> <span class="ruby-identifier">locator</span>
796
+ 301: <span class="ruby-identifier">command</span> <span class="ruby-value str">'highlight'</span>, <span class="ruby-identifier">locator</span>
797
+ 302: <span class="ruby-keyword kw">end</span>
798
+ </pre>
799
+ </div>
800
+ </div>
801
+ </div>
802
+
803
+ <div id="method-M000010" class="method-detail">
804
+ <a name="M000010"></a>
805
+
806
+ <div class="method-heading">
807
+ <a href="#M000010" class="method-signature">
808
+ <span class="method-name">include_partial</span><span class="method-args">(path, local_assigns = {})</span>
809
+ </a>
810
+ </div>
811
+
812
+ <div class="method-description">
813
+ <p>
814
+ Includes a partial. The path is relative to the Selenium tests root. The
815
+ starting _ and the file extension don&#8216;t have to be specified.
816
+ </p>
817
+ <pre>
818
+ #include test/selenium/_partial.*
819
+ include_partial 'partial'
820
+ #include test/selenium/suite/_partial.*
821
+ include_partial 'suite/partial'
822
+ #include test/selenium/suite/_partial.* and provide local assigns
823
+ include_partial 'suite/partial', :foo =&gt; bar
824
+ </pre>
825
+ <p><a class="source-toggle" href="#"
826
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
827
+ <div class="method-source-code" id="M000010-source">
828
+ <pre>
829
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 39</span>
830
+ 39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include_partial</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">local_assigns</span> = {}
831
+ 40: <span class="ruby-identifier">partial</span> = <span class="ruby-ivar">@view</span>.<span class="ruby-identifier">render</span> <span class="ruby-identifier">:partial</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">:locals</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">local_assigns</span>
832
+ 41: <span class="ruby-ivar">@output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">partial</span>
833
+ 42: <span class="ruby-keyword kw">end</span>
834
+ </pre>
835
+ </div>
836
+ </div>
837
+ </div>
838
+
839
+ <div id="method-M000015" class="method-detail">
840
+ <a name="M000015"></a>
841
+
842
+ <div class="method-heading">
843
+ <a href="#M000015" class="method-signature">
844
+ <span class="method-name">key_down</span><span class="method-args">(locator, keycode)</span>
845
+ </a>
846
+ </div>
847
+
848
+ <div class="method-description">
849
+ <p>
850
+ Simulates a user pressing a key (without releasing it yet).
851
+ </p>
852
+ <p>
853
+ <tt>keycode</tt> is the numeric keycode of the key to be pressed, normally
854
+ the ASCII value of that key.
855
+ </p>
856
+ <p><a class="source-toggle" href="#"
857
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
858
+ <div class="method-source-code" id="M000015-source">
859
+ <pre>
860
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 75</span>
861
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">key_down</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">keycode</span>
862
+ 76: <span class="ruby-identifier">command</span> <span class="ruby-value str">'keyDown'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">keycode</span>
863
+ 77: <span class="ruby-keyword kw">end</span>
864
+ </pre>
865
+ </div>
866
+ </div>
867
+ </div>
868
+
869
+ <div id="method-M000014" class="method-detail">
870
+ <a name="M000014"></a>
871
+
872
+ <div class="method-heading">
873
+ <a href="#M000014" class="method-signature">
874
+ <span class="method-name">key_press</span><span class="method-args">(locator, keycode)</span>
875
+ </a>
876
+ </div>
877
+
878
+ <div class="method-description">
879
+ <p>
880
+ Simulates a user pressing and releasing a key.
881
+ </p>
882
+ <p>
883
+ <tt>keycode</tt> is the numeric keycode of the key to be pressed, normally
884
+ the ASCII value of that key.
885
+ </p>
886
+ <p><a class="source-toggle" href="#"
887
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
888
+ <div class="method-source-code" id="M000014-source">
889
+ <pre>
890
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 67</span>
891
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">key_press</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">keycode</span>
892
+ 68: <span class="ruby-identifier">command</span> <span class="ruby-value str">'keyPress'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">keycode</span>
893
+ 69: <span class="ruby-keyword kw">end</span>
894
+ </pre>
895
+ </div>
896
+ </div>
897
+ </div>
898
+
899
+ <div id="method-M000016" class="method-detail">
900
+ <a name="M000016"></a>
901
+
902
+ <div class="method-heading">
903
+ <a href="#M000016" class="method-signature">
904
+ <span class="method-name">key_up</span><span class="method-args">(locator, keycode)</span>
905
+ </a>
906
+ </div>
907
+
908
+ <div class="method-description">
909
+ <p>
910
+ Simulates a user releasing a key.
911
+ </p>
912
+ <p>
913
+ <tt>keycode</tt> is the numeric keycode of the key to be released, normally
914
+ the ASCII value of that key.
915
+ </p>
916
+ <p><a class="source-toggle" href="#"
917
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
918
+ <div class="method-source-code" id="M000016-source">
919
+ <pre>
920
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 83</span>
921
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">key_up</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">keycode</span>
922
+ 84: <span class="ruby-identifier">command</span> <span class="ruby-value str">'keyUp'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">keycode</span>
923
+ 85: <span class="ruby-keyword kw">end</span>
924
+ </pre>
925
+ </div>
926
+ </div>
927
+ </div>
928
+
929
+ <div id="method-M000047" class="method-detail">
930
+ <a name="M000047"></a>
931
+
932
+ <div class="method-heading">
933
+ <a href="#M000047" class="method-signature">
934
+ <span class="method-name">meta_key_down</span><span class="method-args">()</span>
935
+ </a>
936
+ </div>
937
+
938
+ <div class="method-description">
939
+ <p>
940
+ Press the meta key and hold it down until <tt>doMetaUp()</tt> is called or
941
+ a new page is loaded.
942
+ </p>
943
+ <p><a class="source-toggle" href="#"
944
+ onclick="toggleCode('M000047-source');return false;">[Source]</a></p>
945
+ <div class="method-source-code" id="M000047-source">
946
+ <pre>
947
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 306</span>
948
+ 306: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_key_down</span>
949
+ 307: <span class="ruby-identifier">command</span> <span class="ruby-value str">'metaKeyDown'</span>
950
+ 308: <span class="ruby-keyword kw">end</span>
951
+ </pre>
952
+ </div>
953
+ </div>
954
+ </div>
955
+
956
+ <div id="method-M000048" class="method-detail">
957
+ <a name="M000048"></a>
958
+
959
+ <div class="method-heading">
960
+ <a href="#M000048" class="method-signature">
961
+ <span class="method-name">meta_key_up</span><span class="method-args">()</span>
962
+ </a>
963
+ </div>
964
+
965
+ <div class="method-description">
966
+ <p>
967
+ Release the meta key.
968
+ </p>
969
+ <p><a class="source-toggle" href="#"
970
+ onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
971
+ <div class="method-source-code" id="M000048-source">
972
+ <pre>
973
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 311</span>
974
+ 311: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_key_up</span>
975
+ 312: <span class="ruby-identifier">command</span> <span class="ruby-value str">'metaKeyUp'</span>
976
+ 313: <span class="ruby-keyword kw">end</span>
977
+ </pre>
978
+ </div>
979
+ </div>
980
+ </div>
981
+
982
+ <div id="method-M000018" class="method-detail">
983
+ <a name="M000018"></a>
984
+
985
+ <div class="method-heading">
986
+ <a href="#M000018" class="method-signature">
987
+ <span class="method-name">mouse_down</span><span class="method-args">(locator)</span>
988
+ </a>
989
+ </div>
990
+
991
+ <div class="method-description">
992
+ <p>
993
+ Simulates a user pressing the mouse button (without releasing it yet) on
994
+ the specified element.
995
+ </p>
996
+ <p><a class="source-toggle" href="#"
997
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
998
+ <div class="method-source-code" id="M000018-source">
999
+ <pre>
1000
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 94</span>
1001
+ 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_down</span> <span class="ruby-identifier">locator</span>
1002
+ 95: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseDown'</span>, <span class="ruby-identifier">locator</span>
1003
+ 96: <span class="ruby-keyword kw">end</span>
1004
+ </pre>
1005
+ </div>
1006
+ </div>
1007
+ </div>
1008
+
1009
+ <div id="method-M000049" class="method-detail">
1010
+ <a name="M000049"></a>
1011
+
1012
+ <div class="method-heading">
1013
+ <a href="#M000049" class="method-signature">
1014
+ <span class="method-name">mouse_down_at</span><span class="method-args">(locator, coord_string)</span>
1015
+ </a>
1016
+ </div>
1017
+
1018
+ <div class="method-description">
1019
+ <p>
1020
+ Simulates a user pressing the mouse button (without releasing it yet) on
1021
+ the specified element.
1022
+ </p>
1023
+ <p><a class="source-toggle" href="#"
1024
+ onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
1025
+ <div class="method-source-code" id="M000049-source">
1026
+ <pre>
1027
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 317</span>
1028
+ 317: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_down_at</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
1029
+ 318: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseDownAt'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
1030
+ 319: <span class="ruby-keyword kw">end</span>
1031
+ </pre>
1032
+ </div>
1033
+ </div>
1034
+ </div>
1035
+
1036
+ <div id="method-M000050" class="method-detail">
1037
+ <a name="M000050"></a>
1038
+
1039
+ <div class="method-heading">
1040
+ <a href="#M000050" class="method-signature">
1041
+ <span class="method-name">mouse_move</span><span class="method-args">(locator)</span>
1042
+ </a>
1043
+ </div>
1044
+
1045
+ <div class="method-description">
1046
+ <p>
1047
+ Simulates a user moving the mouse.
1048
+ </p>
1049
+ <p><a class="source-toggle" href="#"
1050
+ onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
1051
+ <div class="method-source-code" id="M000050-source">
1052
+ <pre>
1053
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 322</span>
1054
+ 322: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_move</span> <span class="ruby-identifier">locator</span>
1055
+ 323: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseMove'</span>, <span class="ruby-identifier">locator</span>
1056
+ 324: <span class="ruby-keyword kw">end</span>
1057
+ </pre>
1058
+ </div>
1059
+ </div>
1060
+ </div>
1061
+
1062
+ <div id="method-M000051" class="method-detail">
1063
+ <a name="M000051"></a>
1064
+
1065
+ <div class="method-heading">
1066
+ <a href="#M000051" class="method-signature">
1067
+ <span class="method-name">mouse_move_at</span><span class="method-args">(locator, coord_string)</span>
1068
+ </a>
1069
+ </div>
1070
+
1071
+ <div class="method-description">
1072
+ <p>
1073
+ Simulates a user moving the mouse relative to the specified element.
1074
+ </p>
1075
+ <p><a class="source-toggle" href="#"
1076
+ onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
1077
+ <div class="method-source-code" id="M000051-source">
1078
+ <pre>
1079
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 327</span>
1080
+ 327: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_move_at</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
1081
+ 328: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseMoveAt'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
1082
+ 329: <span class="ruby-keyword kw">end</span>
1083
+ </pre>
1084
+ </div>
1085
+ </div>
1086
+ </div>
1087
+
1088
+ <div id="method-M000052" class="method-detail">
1089
+ <a name="M000052"></a>
1090
+
1091
+ <div class="method-heading">
1092
+ <a href="#M000052" class="method-signature">
1093
+ <span class="method-name">mouse_out</span><span class="method-args">(locator)</span>
1094
+ </a>
1095
+ </div>
1096
+
1097
+ <div class="method-description">
1098
+ <p>
1099
+ Simulates the user moving the mouse off the specified element.
1100
+ </p>
1101
+ <p><a class="source-toggle" href="#"
1102
+ onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
1103
+ <div class="method-source-code" id="M000052-source">
1104
+ <pre>
1105
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 332</span>
1106
+ 332: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_out</span> <span class="ruby-identifier">locator</span>
1107
+ 333: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseOut'</span>, <span class="ruby-identifier">locator</span>
1108
+ 334: <span class="ruby-keyword kw">end</span>
1109
+ </pre>
1110
+ </div>
1111
+ </div>
1112
+ </div>
1113
+
1114
+ <div id="method-M000017" class="method-detail">
1115
+ <a name="M000017"></a>
1116
+
1117
+ <div class="method-heading">
1118
+ <a href="#M000017" class="method-signature">
1119
+ <span class="method-name">mouse_over</span><span class="method-args">(locator)</span>
1120
+ </a>
1121
+ </div>
1122
+
1123
+ <div class="method-description">
1124
+ <p>
1125
+ Simulates a user hovering a mouse over the specified element.
1126
+ </p>
1127
+ <p><a class="source-toggle" href="#"
1128
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
1129
+ <div class="method-source-code" id="M000017-source">
1130
+ <pre>
1131
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 88</span>
1132
+ 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_over</span> <span class="ruby-identifier">locator</span>
1133
+ 89: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseOver'</span>, <span class="ruby-identifier">locator</span>
1134
+ 90: <span class="ruby-keyword kw">end</span>
1135
+ </pre>
1136
+ </div>
1137
+ </div>
1138
+ </div>
1139
+
1140
+ <div id="method-M000053" class="method-detail">
1141
+ <a name="M000053"></a>
1142
+
1143
+ <div class="method-heading">
1144
+ <a href="#M000053" class="method-signature">
1145
+ <span class="method-name">mouse_up</span><span class="method-args">(locator)</span>
1146
+ </a>
1147
+ </div>
1148
+
1149
+ <div class="method-description">
1150
+ <p>
1151
+ Simulates the user releasing the mouse button on the specified element.
1152
+ </p>
1153
+ <p><a class="source-toggle" href="#"
1154
+ onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
1155
+ <div class="method-source-code" id="M000053-source">
1156
+ <pre>
1157
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 337</span>
1158
+ 337: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_up</span> <span class="ruby-identifier">locator</span>
1159
+ 338: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseUp'</span>, <span class="ruby-identifier">locator</span>
1160
+ 339: <span class="ruby-keyword kw">end</span>
1161
+ </pre>
1162
+ </div>
1163
+ </div>
1164
+ </div>
1165
+
1166
+ <div id="method-M000054" class="method-detail">
1167
+ <a name="M000054"></a>
1168
+
1169
+ <div class="method-heading">
1170
+ <a href="#M000054" class="method-signature">
1171
+ <span class="method-name">mouse_up_at</span><span class="method-args">(locator, coord_string)</span>
1172
+ </a>
1173
+ </div>
1174
+
1175
+ <div class="method-description">
1176
+ <p>
1177
+ Simulates a user pressing the mouse button (without releasing it yet) on
1178
+ the specified element.
1179
+ </p>
1180
+ <p><a class="source-toggle" href="#"
1181
+ onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
1182
+ <div class="method-source-code" id="M000054-source">
1183
+ <pre>
1184
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 343</span>
1185
+ 343: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mouse_up_at</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
1186
+ 344: <span class="ruby-identifier">command</span> <span class="ruby-value str">'mouseUpAt'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">coord_string</span>
1187
+ 345: <span class="ruby-keyword kw">end</span>
1188
+ </pre>
1189
+ </div>
1190
+ </div>
1191
+ </div>
1192
+
1193
+ <div id="method-M000026" class="method-detail">
1194
+ <a name="M000026"></a>
1195
+
1196
+ <div class="method-heading">
1197
+ <a href="#M000026" class="method-signature">
1198
+ <span class="method-name">open</span><span class="method-args">(url)</span>
1199
+ </a>
1200
+ </div>
1201
+
1202
+ <div class="method-description">
1203
+ <p>
1204
+ Opens an URL in the test frame. This accepts both relative and absolute
1205
+ URLs. The <tt><a href="TestBuilderActions.html#M000026">open</a></tt>
1206
+ command waits for the page to load before proceeding, i.e. you don&#8216;t
1207
+ have to call <tt><a
1208
+ href="TestBuilderActions.html#M000070">wait_for_page_to_load</a></tt>.
1209
+ </p>
1210
+ <p>
1211
+ Note: The URL must be on the same domain as the runner HTML due to security
1212
+ restrictions in the browser (Same Origin Policy).
1213
+ </p>
1214
+ <p><a class="source-toggle" href="#"
1215
+ onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
1216
+ <div class="method-source-code" id="M000026-source">
1217
+ <pre>
1218
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 172</span>
1219
+ 172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span> <span class="ruby-identifier">url</span>
1220
+ 173: <span class="ruby-identifier">command</span> <span class="ruby-value str">'open'</span>, <span class="ruby-identifier">url_arg</span>(<span class="ruby-identifier">url</span>)
1221
+ 174: <span class="ruby-keyword kw">end</span>
1222
+ </pre>
1223
+ </div>
1224
+ </div>
1225
+ </div>
1226
+
1227
+ <div id="method-M000055" class="method-detail">
1228
+ <a name="M000055"></a>
1229
+
1230
+ <div class="method-heading">
1231
+ <a href="#M000055" class="method-signature">
1232
+ <span class="method-name">open_window</span><span class="method-args">(url, window_id)</span>
1233
+ </a>
1234
+ </div>
1235
+
1236
+ <div class="method-description">
1237
+ <p>
1238
+ Opens a popup window (if a window with that ID isn&#8216;t already <a
1239
+ href="TestBuilderActions.html#M000026">open</a>). After opening the window,
1240
+ you&#8216;ll need to <a href="TestBuilderActions.html#M000022">select</a>
1241
+ it using the <tt><a
1242
+ href="TestBuilderActions.html#M000027">select_window</a></tt> command.
1243
+ </p>
1244
+ <p>
1245
+ This command can also be a useful workaround for bug SEL-339. In some
1246
+ cases, Selenium will be unable to intercept a call to window.open (if the
1247
+ call occurs during or before the &quot;onLoad&quot; event, for example). In
1248
+ those cases, you can force Selenium to notice the <a
1249
+ href="TestBuilderActions.html#M000026">open</a> window&#8216;s name by
1250
+ using the Selenium openWindow command, using an empty (blank) url, like
1251
+ this: <tt><a
1252
+ href="TestBuilderActions.html#M000055">open_window</a>(&quot;&quot;,
1253
+ &quot;myFunnyWindow&quot;)</tt>.
1254
+ </p>
1255
+ <p><a class="source-toggle" href="#"
1256
+ onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
1257
+ <div class="method-source-code" id="M000055-source">
1258
+ <pre>
1259
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 355</span>
1260
+ 355: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open_window</span> <span class="ruby-identifier">url</span>, <span class="ruby-identifier">window_id</span>
1261
+ 356: <span class="ruby-identifier">command</span> <span class="ruby-value str">'openWindow'</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">window_id</span>
1262
+ 357: <span class="ruby-keyword kw">end</span>
1263
+ </pre>
1264
+ </div>
1265
+ </div>
1266
+ </div>
1267
+
1268
+ <div id="method-M000056" class="method-detail">
1269
+ <a name="M000056"></a>
1270
+
1271
+ <div class="method-heading">
1272
+ <a href="#M000056" class="method-signature">
1273
+ <span class="method-name">pause</span><span class="method-args">(wait_time)</span>
1274
+ </a>
1275
+ </div>
1276
+
1277
+ <div class="method-description">
1278
+ <p>
1279
+ Wait for the specified amount of time (in milliseconds).
1280
+ </p>
1281
+ <p><a class="source-toggle" href="#"
1282
+ onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
1283
+ <div class="method-source-code" id="M000056-source">
1284
+ <pre>
1285
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 360</span>
1286
+ 360: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pause</span> <span class="ruby-identifier">wait_time</span>
1287
+ 361: <span class="ruby-identifier">command</span> <span class="ruby-value str">'pause'</span>, <span class="ruby-identifier">wait_time</span>
1288
+ 362: <span class="ruby-keyword kw">end</span>
1289
+ </pre>
1290
+ </div>
1291
+ </div>
1292
+ </div>
1293
+
1294
+ <div id="method-M000032" class="method-detail">
1295
+ <a name="M000032"></a>
1296
+
1297
+ <div class="method-heading">
1298
+ <a href="#M000032" class="method-signature">
1299
+ <span class="method-name">refresh</span><span class="method-args">()</span>
1300
+ </a>
1301
+ </div>
1302
+
1303
+ <div class="method-description">
1304
+ <p>
1305
+ Simulates the user clicking the &quot;Refresh&quot; button on their
1306
+ browser.
1307
+ </p>
1308
+ <p><a class="source-toggle" href="#"
1309
+ onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
1310
+ <div class="method-source-code" id="M000032-source">
1311
+ <pre>
1312
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 209</span>
1313
+ 209: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">refresh</span>
1314
+ 210: <span class="ruby-identifier">command</span> <span class="ruby-value str">'refresh'</span>
1315
+ 211: <span class="ruby-keyword kw">end</span>
1316
+ </pre>
1317
+ </div>
1318
+ </div>
1319
+ </div>
1320
+
1321
+ <div id="method-M000057" class="method-detail">
1322
+ <a name="M000057"></a>
1323
+
1324
+ <div class="method-heading">
1325
+ <a href="#M000057" class="method-signature">
1326
+ <span class="method-name">remove_all_selections</span><span class="method-args">(locator)</span>
1327
+ </a>
1328
+ </div>
1329
+
1330
+ <div class="method-description">
1331
+ <p>
1332
+ Unselects all of the selected options in a multi-<a
1333
+ href="TestBuilderActions.html#M000022">select</a> element.
1334
+ </p>
1335
+ <p><a class="source-toggle" href="#"
1336
+ onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
1337
+ <div class="method-source-code" id="M000057-source">
1338
+ <pre>
1339
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 365</span>
1340
+ 365: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_all_selections</span> <span class="ruby-identifier">locator</span>
1341
+ 366: <span class="ruby-identifier">command</span> <span class="ruby-value str">'removeAllSelections'</span>, <span class="ruby-identifier">locator</span>
1342
+ 367: <span class="ruby-keyword kw">end</span>
1343
+ </pre>
1344
+ </div>
1345
+ </div>
1346
+ </div>
1347
+
1348
+ <div id="method-M000024" class="method-detail">
1349
+ <a name="M000024"></a>
1350
+
1351
+ <div class="method-heading">
1352
+ <a href="#M000024" class="method-signature">
1353
+ <span class="method-name">remove_selection</span><span class="method-args">(locator, option_locator)</span>
1354
+ </a>
1355
+ </div>
1356
+
1357
+ <div class="method-description">
1358
+ <p>
1359
+ Remove a selection from the set of selected options in a multi-<a
1360
+ href="TestBuilderActions.html#M000022">select</a> element using an option
1361
+ locator.
1362
+ </p>
1363
+ <p>
1364
+ See the <tt><a href="TestBuilderActions.html#M000022">select</a></tt>
1365
+ command for more information about option locators.
1366
+ </p>
1367
+ <p><a class="source-toggle" href="#"
1368
+ onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
1369
+ <div class="method-source-code" id="M000024-source">
1370
+ <pre>
1371
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 156</span>
1372
+ 156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_selection</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">option_locator</span>
1373
+ 157: <span class="ruby-identifier">command</span> <span class="ruby-value str">'removeSelection'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">option_locator</span>
1374
+ 158: <span class="ruby-keyword kw">end</span>
1375
+ </pre>
1376
+ </div>
1377
+ </div>
1378
+ </div>
1379
+
1380
+ <div id="method-M000022" class="method-detail">
1381
+ <a name="M000022"></a>
1382
+
1383
+ <div class="method-heading">
1384
+ <a href="#M000022" class="method-signature">
1385
+ <span class="method-name">select</span><span class="method-args">(locator, option_locator)</span>
1386
+ </a>
1387
+ </div>
1388
+
1389
+ <div class="method-description">
1390
+ <p>
1391
+ Select an option from a drop-down using an option locator.
1392
+ </p>
1393
+ <p>
1394
+ Option locators provide different ways of specifying options of an HTML
1395
+ Select element (e.g. for selecting a specific option, or for asserting that
1396
+ the selected option satisfies a specification). There are several forms of
1397
+ Select Option Locator.
1398
+ </p>
1399
+ <ul>
1400
+ <li>label=labelPattern matches options based on their labels, i.e. the visible
1401
+ text. (This is the default.)
1402
+
1403
+ <pre>
1404
+ label=regexp:^[Oo]ther
1405
+ </pre>
1406
+ </li>
1407
+ <li>value=valuePattern matches options based on their values.
1408
+
1409
+ <pre>
1410
+ value=other
1411
+ </pre>
1412
+ </li>
1413
+ <li>id=id matches options based on their ids.
1414
+
1415
+ <pre>
1416
+ id=option1
1417
+ </pre>
1418
+ </li>
1419
+ <li>index=index matches an option based on its index (offset from zero).
1420
+
1421
+ <pre>
1422
+ index=2
1423
+ </pre>
1424
+ </li>
1425
+ </ul>
1426
+ <p>
1427
+ If no option locator prefix is provided, the default behaviour is to match
1428
+ on label.
1429
+ </p>
1430
+ <p><a class="source-toggle" href="#"
1431
+ onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
1432
+ <div class="method-source-code" id="M000022-source">
1433
+ <pre>
1434
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 140</span>
1435
+ 140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">option_locator</span>
1436
+ 141: <span class="ruby-identifier">command</span> <span class="ruby-value str">'select'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">option_locator</span>
1437
+ 142: <span class="ruby-keyword kw">end</span>
1438
+ </pre>
1439
+ </div>
1440
+ </div>
1441
+ </div>
1442
+
1443
+ <div id="method-M000058" class="method-detail">
1444
+ <a name="M000058"></a>
1445
+
1446
+ <div class="method-heading">
1447
+ <a href="#M000058" class="method-signature">
1448
+ <span class="method-name">select_frame</span><span class="method-args">(locator)</span>
1449
+ </a>
1450
+ </div>
1451
+
1452
+ <div class="method-description">
1453
+ <p>
1454
+ Selects a frame within the current window. (You may invoke this command
1455
+ multiple times to <a href="TestBuilderActions.html#M000022">select</a>
1456
+ nested frames.) To <a href="TestBuilderActions.html#M000022">select</a> the
1457
+ parent frame, use &quot;relative=parent&quot; as a locator; to <a
1458
+ href="TestBuilderActions.html#M000022">select</a> the top frame, use
1459
+ &quot;relative=top&quot;.
1460
+ </p>
1461
+ <p>
1462
+ You may also use a DOM expression to identify the frame you want directly,
1463
+ like this: <tt><a
1464
+ href="http://"subframe"">dom=frames["main"].frames</a></tt>
1465
+ </p>
1466
+ <p><a class="source-toggle" href="#"
1467
+ onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
1468
+ <div class="method-source-code" id="M000058-source">
1469
+ <pre>
1470
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 375</span>
1471
+ 375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select_frame</span> <span class="ruby-identifier">locator</span>
1472
+ 376: <span class="ruby-identifier">command</span> <span class="ruby-value str">'selectFrame'</span>, <span class="ruby-identifier">locator</span>
1473
+ 377: <span class="ruby-keyword kw">end</span>
1474
+ </pre>
1475
+ </div>
1476
+ </div>
1477
+ </div>
1478
+
1479
+ <div id="method-M000027" class="method-detail">
1480
+ <a name="M000027"></a>
1481
+
1482
+ <div class="method-heading">
1483
+ <a href="#M000027" class="method-signature">
1484
+ <span class="method-name">select_window</span><span class="method-args">(window_id)</span>
1485
+ </a>
1486
+ </div>
1487
+
1488
+ <div class="method-description">
1489
+ <p>
1490
+ Selects a popup window; once a popup window has been selected, all commands
1491
+ go to that window. To <a href="TestBuilderActions.html#M000022">select</a>
1492
+ the main window again, use <tt>nil</tt> as the target.
1493
+ </p>
1494
+ <p><a class="source-toggle" href="#"
1495
+ onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
1496
+ <div class="method-source-code" id="M000027-source">
1497
+ <pre>
1498
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 178</span>
1499
+ 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select_window</span> <span class="ruby-identifier">window_id</span>
1500
+ 179: <span class="ruby-identifier">command</span> <span class="ruby-value str">'selectWindow'</span>, <span class="ruby-identifier">window_id</span><span class="ruby-operator">||</span><span class="ruby-value str">'null'</span>
1501
+ 180: <span class="ruby-keyword kw">end</span>
1502
+ </pre>
1503
+ </div>
1504
+ </div>
1505
+ </div>
1506
+
1507
+ <div id="method-M000067" class="method-detail">
1508
+ <a name="M000067"></a>
1509
+
1510
+ <div class="method-heading">
1511
+ <a href="#M000067" class="method-signature">
1512
+ <span class="method-name">set_context</span><span class="method-args">(context, log_level_threshold = nil)</span>
1513
+ </a>
1514
+ </div>
1515
+
1516
+ <div class="method-description">
1517
+ <p>
1518
+ Writes a message to the status bar and adds a note to the browser-side log.
1519
+ </p>
1520
+ <p>
1521
+ <tt>context</tt> is the message sent to the browser.
1522
+ </p>
1523
+ <p>
1524
+ <tt>log_level_threshold</tt> can be <tt>nil</tt>, <tt>:debug</tt>,
1525
+ <tt>:info</tt>, <tt>:warn</tt> or <tt>:error</tt>.
1526
+ </p>
1527
+ <p><a class="source-toggle" href="#"
1528
+ onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
1529
+ <div class="method-source-code" id="M000067-source">
1530
+ <pre>
1531
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 448</span>
1532
+ 448: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_context</span> <span class="ruby-identifier">context</span>, <span class="ruby-identifier">log_level_threshold</span> = <span class="ruby-keyword kw">nil</span>
1533
+ 449: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">log_level_threshold</span>
1534
+ 450: <span class="ruby-identifier">command</span> <span class="ruby-value str">'setContext'</span>, <span class="ruby-identifier">context</span>, <span class="ruby-identifier">log_level_threshold</span>.<span class="ruby-identifier">to_s</span>
1535
+ 451: <span class="ruby-keyword kw">else</span>
1536
+ 452: <span class="ruby-identifier">command</span> <span class="ruby-value str">'setContext'</span>, <span class="ruby-identifier">context</span>
1537
+ 453: <span class="ruby-keyword kw">end</span>
1538
+ 454: <span class="ruby-keyword kw">end</span>
1539
+ </pre>
1540
+ </div>
1541
+ </div>
1542
+ </div>
1543
+
1544
+ <div id="method-M000059" class="method-detail">
1545
+ <a name="M000059"></a>
1546
+
1547
+ <div class="method-heading">
1548
+ <a href="#M000059" class="method-signature">
1549
+ <span class="method-name">set_cursor_position</span><span class="method-args">(locator, position)</span>
1550
+ </a>
1551
+ </div>
1552
+
1553
+ <div class="method-description">
1554
+ <p>
1555
+ Moves the text cursor to the specified position in the given input element
1556
+ or textarea. This method will fail if the specified element isn&#8216;t an
1557
+ input element or textarea.
1558
+ </p>
1559
+ <p><a class="source-toggle" href="#"
1560
+ onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
1561
+ <div class="method-source-code" id="M000059-source">
1562
+ <pre>
1563
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 381</span>
1564
+ 381: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_cursor_position</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">position</span>
1565
+ 382: <span class="ruby-identifier">command</span> <span class="ruby-value str">'setCursorPosition'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">position</span>
1566
+ 383: <span class="ruby-keyword kw">end</span>
1567
+ </pre>
1568
+ </div>
1569
+ </div>
1570
+ </div>
1571
+
1572
+ <div id="method-M000060" class="method-detail">
1573
+ <a name="M000060"></a>
1574
+
1575
+ <div class="method-heading">
1576
+ <a href="#M000060" class="method-signature">
1577
+ <span class="method-name">set_mouse_speed</span><span class="method-args">(pixels)</span>
1578
+ </a>
1579
+ </div>
1580
+
1581
+ <div class="method-description">
1582
+ <p>
1583
+ Configure the number of pixels between &quot;mousemove&quot; events during
1584
+ dragAndDrop commands (default=10). Setting this value to 0 means that
1585
+ we&#8216;ll send a &quot;mousemove&quot; event to every single pixel in
1586
+ between the start location and the end location; that can be very slow, and
1587
+ may cause some browsers to force the JavaScript to timeout.
1588
+ </p>
1589
+ <p>
1590
+ If the mouse speed is greater than the distance between the two dragged
1591
+ objects, we&#8216;ll just send one &quot;mousemove&quot; at the start
1592
+ location and then one final one at the end location.
1593
+ </p>
1594
+ <p><a class="source-toggle" href="#"
1595
+ onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
1596
+ <div class="method-source-code" id="M000060-source">
1597
+ <pre>
1598
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 393</span>
1599
+ 393: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_mouse_speed</span> <span class="ruby-identifier">pixels</span>
1600
+ 394: <span class="ruby-identifier">command</span> <span class="ruby-value str">'setMouseSpeed'</span>, <span class="ruby-identifier">pixels</span>
1601
+ 395: <span class="ruby-keyword kw">end</span>
1602
+ </pre>
1603
+ </div>
1604
+ </div>
1605
+ </div>
1606
+
1607
+ <div id="method-M000069" class="method-detail">
1608
+ <a name="M000069"></a>
1609
+
1610
+ <div class="method-heading">
1611
+ <a href="#M000069" class="method-signature">
1612
+ <span class="method-name">set_timeout</span><span class="method-args">(timeout)</span>
1613
+ </a>
1614
+ </div>
1615
+
1616
+ <div class="method-description">
1617
+ <p>
1618
+ Specifies the amount of time that Selenium will wait for actions to
1619
+ complete.
1620
+ </p>
1621
+ <p>
1622
+ Actions that require waiting include <tt><a
1623
+ href="TestBuilderActions.html#M000026">open</a></tt> and the
1624
+ <tt>wait_for*</tt> actions.
1625
+ </p>
1626
+ <p>
1627
+ The default timeout is 30 seconds.
1628
+ </p>
1629
+ <p>
1630
+ <tt>timeout</tt> is specified in milliseconds.
1631
+ </p>
1632
+ <p><a class="source-toggle" href="#"
1633
+ onclick="toggleCode('M000069-source');return false;">[Source]</a></p>
1634
+ <div class="method-source-code" id="M000069-source">
1635
+ <pre>
1636
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 480</span>
1637
+ 480: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_timeout</span> <span class="ruby-identifier">timeout</span>
1638
+ 481: <span class="ruby-identifier">command</span> <span class="ruby-value str">'setTimeout'</span>, <span class="ruby-identifier">timeout</span>
1639
+ 482: <span class="ruby-keyword kw">end</span>
1640
+ </pre>
1641
+ </div>
1642
+ </div>
1643
+ </div>
1644
+
1645
+ <div id="method-M000009" class="method-detail">
1646
+ <a name="M000009"></a>
1647
+
1648
+ <div class="method-heading">
1649
+ <a href="#M000009" class="method-signature">
1650
+ <span class="method-name">setup</span><span class="method-args">(options = {})</span>
1651
+ </a>
1652
+ </div>
1653
+
1654
+ <div class="method-description">
1655
+ <p>
1656
+ Tell Selenium on Rails to clear the session and load any fixtures. DO NOT
1657
+ CALL THIS AGAINST NON-TEST DATABASES. The supported <tt>options</tt> are
1658
+ <tt>:keep_session</tt>, <tt>:fixtures</tt> and <tt>:clear_tables</tt>
1659
+ </p>
1660
+ <pre>
1661
+ setup
1662
+ setup :keep_session
1663
+ setup :fixtures =&gt; :all
1664
+ setup :keep_session, :fixtures =&gt; [:foo, :bar]
1665
+ setup :clear_tables =&gt; [:foo, :bar]
1666
+ </pre>
1667
+ <p><a class="source-toggle" href="#"
1668
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
1669
+ <div class="method-source-code" id="M000009-source">
1670
+ <pre>
1671
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 14</span>
1672
+ 14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup</span> <span class="ruby-identifier">options</span> = {}
1673
+ 15: <span class="ruby-identifier">options</span> = {<span class="ruby-identifier">options</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">nil</span>} <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Hash</span>
1674
+ 16:
1675
+ 17: <span class="ruby-identifier">opts</span> = {<span class="ruby-identifier">:controller</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'selenium'</span>, <span class="ruby-identifier">:action</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'setup'</span>}
1676
+ 18: <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:keep_session</span>] = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">:keep_session</span>
1677
+ 19:
1678
+ 20: [<span class="ruby-identifier">:fixtures</span>, <span class="ruby-identifier">:clear_tables</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
1679
+ 21: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">f</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">key</span>])
1680
+ 22: <span class="ruby-identifier">f</span> = [<span class="ruby-identifier">f</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span>
1681
+ 23: <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">join</span> <span class="ruby-value str">','</span>
1682
+ 24: <span class="ruby-keyword kw">end</span>
1683
+ 25: <span class="ruby-keyword kw">end</span>
1684
+ 26:
1685
+ 27: <span class="ruby-identifier">open</span> <span class="ruby-identifier">opts</span>
1686
+ 28: <span class="ruby-keyword kw">end</span>
1687
+ </pre>
1688
+ </div>
1689
+ </div>
1690
+ </div>
1691
+
1692
+ <div id="method-M000061" class="method-detail">
1693
+ <a name="M000061"></a>
1694
+
1695
+ <div class="method-heading">
1696
+ <a href="#M000061" class="method-signature">
1697
+ <span class="method-name">shift_key_down</span><span class="method-args">()</span>
1698
+ </a>
1699
+ </div>
1700
+
1701
+ <div class="method-description">
1702
+ <p>
1703
+ Press the shift key and hold it down until <tt>doShiftUp()</tt> is called
1704
+ or a new page is loaded.
1705
+ </p>
1706
+ <p><a class="source-toggle" href="#"
1707
+ onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
1708
+ <div class="method-source-code" id="M000061-source">
1709
+ <pre>
1710
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 399</span>
1711
+ 399: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift_key_down</span>
1712
+ 400: <span class="ruby-identifier">command</span> <span class="ruby-value str">'shiftKeyDown'</span>
1713
+ 401: <span class="ruby-keyword kw">end</span>
1714
+ </pre>
1715
+ </div>
1716
+ </div>
1717
+ </div>
1718
+
1719
+ <div id="method-M000062" class="method-detail">
1720
+ <a name="M000062"></a>
1721
+
1722
+ <div class="method-heading">
1723
+ <a href="#M000062" class="method-signature">
1724
+ <span class="method-name">shift_key_up</span><span class="method-args">()</span>
1725
+ </a>
1726
+ </div>
1727
+
1728
+ <div class="method-description">
1729
+ <p>
1730
+ Release the shift key.
1731
+ </p>
1732
+ <p><a class="source-toggle" href="#"
1733
+ onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
1734
+ <div class="method-source-code" id="M000062-source">
1735
+ <pre>
1736
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 404</span>
1737
+ 404: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift_key_up</span>
1738
+ 405: <span class="ruby-identifier">command</span> <span class="ruby-value str">'shiftKeyUp'</span>
1739
+ 406: <span class="ruby-keyword kw">end</span>
1740
+ </pre>
1741
+ </div>
1742
+ </div>
1743
+ </div>
1744
+
1745
+ <div id="method-M000063" class="method-detail">
1746
+ <a name="M000063"></a>
1747
+
1748
+ <div class="method-heading">
1749
+ <a href="#M000063" class="method-signature">
1750
+ <span class="method-name">store</span><span class="method-args">(expression, variable_name)</span>
1751
+ </a>
1752
+ </div>
1753
+
1754
+ <div class="method-description">
1755
+ <p>
1756
+ This command is a synonym for <tt>store_expression</tt>.
1757
+ </p>
1758
+ <p><a class="source-toggle" href="#"
1759
+ onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
1760
+ <div class="method-source-code" id="M000063-source">
1761
+ <pre>
1762
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 409</span>
1763
+ 409: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span> <span class="ruby-identifier">expression</span>, <span class="ruby-identifier">variable_name</span>
1764
+ 410: <span class="ruby-identifier">command</span> <span class="ruby-value str">'store'</span>, <span class="ruby-identifier">expression</span>, <span class="ruby-identifier">variable_name</span>
1765
+ 411: <span class="ruby-keyword kw">end</span>
1766
+ </pre>
1767
+ </div>
1768
+ </div>
1769
+ </div>
1770
+
1771
+ <div id="method-M000025" class="method-detail">
1772
+ <a name="M000025"></a>
1773
+
1774
+ <div class="method-heading">
1775
+ <a href="#M000025" class="method-signature">
1776
+ <span class="method-name">submit</span><span class="method-args">(locator)</span>
1777
+ </a>
1778
+ </div>
1779
+
1780
+ <div class="method-description">
1781
+ <p>
1782
+ Submit the specified form. This is particularly useful for forms without <a
1783
+ href="TestBuilderActions.html#M000025">submit</a> buttons, e.g.
1784
+ single-input &quot;Search&quot; forms.
1785
+ </p>
1786
+ <p><a class="source-toggle" href="#"
1787
+ onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
1788
+ <div class="method-source-code" id="M000025-source">
1789
+ <pre>
1790
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 162</span>
1791
+ 162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">submit</span> <span class="ruby-identifier">locator</span>
1792
+ 163: <span class="ruby-identifier">command</span> <span class="ruby-value str">'submit'</span>, <span class="ruby-identifier">locator</span>
1793
+ 164: <span class="ruby-keyword kw">end</span>
1794
+ </pre>
1795
+ </div>
1796
+ </div>
1797
+ </div>
1798
+
1799
+ <div id="method-M000019" class="method-detail">
1800
+ <a name="M000019"></a>
1801
+
1802
+ <div class="method-heading">
1803
+ <a href="#M000019" class="method-signature">
1804
+ <span class="method-name">type</span><span class="method-args">(locator, value)</span>
1805
+ </a>
1806
+ </div>
1807
+
1808
+ <div class="method-description">
1809
+ <p>
1810
+ Sets the value of an input field, as though you typed it in.
1811
+ </p>
1812
+ <p>
1813
+ Can also be used to set the value of combo boxes, <a
1814
+ href="TestBuilderActions.html#M000020">check</a> boxes, etc. In these
1815
+ cases, <tt>value</tt> should be the value of the option selected, not the
1816
+ visible text.
1817
+ </p>
1818
+ <p><a class="source-toggle" href="#"
1819
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
1820
+ <div class="method-source-code" id="M000019-source">
1821
+ <pre>
1822
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 103</span>
1823
+ 103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">value</span>
1824
+ 104: <span class="ruby-identifier">command</span> <span class="ruby-value str">'type'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">value</span>
1825
+ 105: <span class="ruby-keyword kw">end</span>
1826
+ </pre>
1827
+ </div>
1828
+ </div>
1829
+ </div>
1830
+
1831
+ <div id="method-M000064" class="method-detail">
1832
+ <a name="M000064"></a>
1833
+
1834
+ <div class="method-heading">
1835
+ <a href="#M000064" class="method-signature">
1836
+ <span class="method-name">type_keys</span><span class="method-args">(locator, value)</span>
1837
+ </a>
1838
+ </div>
1839
+
1840
+ <div class="method-description">
1841
+ <p>
1842
+ Simulates keystroke events on the specified element, as though you typed
1843
+ the value key-by-key.
1844
+ </p>
1845
+ <p>
1846
+ This is a convenience method for calling <tt><a
1847
+ href="TestBuilderActions.html#M000015">key_down</a></tt>, <tt><a
1848
+ href="TestBuilderActions.html#M000016">key_up</a></tt>, <tt><a
1849
+ href="TestBuilderActions.html#M000014">key_press</a></tt> for every
1850
+ character in the specified string; this is useful for dynamic UI widgets
1851
+ (like auto-completing combo boxes) that require explicit key events.
1852
+ </p>
1853
+ <p>
1854
+ Unlike the simple &quot;<a
1855
+ href="TestBuilderActions.html#M000019">type</a>&quot; command, which forces
1856
+ the specified value into the page directly, this command may or may not
1857
+ have any visible effect, even in cases where typing keys would normally
1858
+ have a visible effect. For example, if you use &quot;<tt><a
1859
+ href="TestBuilderActions.html#M000064">type_keys</a></tt>&quot; on a form
1860
+ element, you may or may not see the results of what you typed in the field.
1861
+ </p>
1862
+ <p>
1863
+ In some cases, you may need to use the simple &quot;<a
1864
+ href="TestBuilderActions.html#M000019">type</a>&quot; command to set the
1865
+ value of the field and then the &quot;<tt><a
1866
+ href="TestBuilderActions.html#M000064">type_keys</a></tt>&quot; command to
1867
+ send the keystroke events corresponding to what you just typed.
1868
+ </p>
1869
+ <p><a class="source-toggle" href="#"
1870
+ onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
1871
+ <div class="method-source-code" id="M000064-source">
1872
+ <pre>
1873
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 428</span>
1874
+ 428: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type_keys</span> <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">value</span>
1875
+ 429: <span class="ruby-identifier">command</span> <span class="ruby-value str">'typeKeys'</span>, <span class="ruby-identifier">locator</span>, <span class="ruby-identifier">value</span>
1876
+ 430: <span class="ruby-keyword kw">end</span>
1877
+ </pre>
1878
+ </div>
1879
+ </div>
1880
+ </div>
1881
+
1882
+ <div id="method-M000021" class="method-detail">
1883
+ <a name="M000021"></a>
1884
+
1885
+ <div class="method-heading">
1886
+ <a href="#M000021" class="method-signature">
1887
+ <span class="method-name">uncheck</span><span class="method-args">(locator)</span>
1888
+ </a>
1889
+ </div>
1890
+
1891
+ <div class="method-description">
1892
+ <p>
1893
+ Uncheck a toggle-button (checkbox/radio).
1894
+ </p>
1895
+ <p><a class="source-toggle" href="#"
1896
+ onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
1897
+ <div class="method-source-code" id="M000021-source">
1898
+ <pre>
1899
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 113</span>
1900
+ 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">uncheck</span> <span class="ruby-identifier">locator</span>
1901
+ 114: <span class="ruby-identifier">command</span> <span class="ruby-value str">'uncheck'</span>, <span class="ruby-identifier">locator</span>
1902
+ 115: <span class="ruby-keyword kw">end</span>
1903
+ </pre>
1904
+ </div>
1905
+ </div>
1906
+ </div>
1907
+
1908
+ <div id="method-M000068" class="method-detail">
1909
+ <a name="M000068"></a>
1910
+
1911
+ <div class="method-heading">
1912
+ <a href="#M000068" class="method-signature">
1913
+ <span class="method-name">wait_for_condition</span><span class="method-args">(script, timeout)</span>
1914
+ </a>
1915
+ </div>
1916
+
1917
+ <div class="method-description">
1918
+ <p>
1919
+ Runs the specified JavaScript snippet repeatedly until it evaluates to
1920
+ <tt>true</tt>. The snippet may have multiple lines, but only the result of
1921
+ the last line will be considered.
1922
+ </p>
1923
+ <p>
1924
+ Note that, by default, the snippet will be run in the runner&#8216;s test
1925
+ window, not in the window of your application. To get the window of your
1926
+ application, you can use the JavaScript snippet
1927
+ <tt>selenium.browserbot.getCurrentWindow()</tt>, and then run your
1928
+ JavaScript in there.
1929
+ </p>
1930
+ <p>
1931
+ <tt>timeout</tt> is specified in milliseconds.
1932
+ </p>
1933
+ <p><a class="source-toggle" href="#"
1934
+ onclick="toggleCode('M000068-source');return false;">[Source]</a></p>
1935
+ <div class="method-source-code" id="M000068-source">
1936
+ <pre>
1937
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 467</span>
1938
+ 467: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wait_for_condition</span> <span class="ruby-identifier">script</span>, <span class="ruby-identifier">timeout</span>
1939
+ 468: <span class="ruby-identifier">command</span> <span class="ruby-value str">'waitForCondition'</span>, <span class="ruby-identifier">script</span>, <span class="ruby-identifier">timeout</span>
1940
+ 469: <span class="ruby-keyword kw">end</span>
1941
+ </pre>
1942
+ </div>
1943
+ </div>
1944
+ </div>
1945
+
1946
+ <div id="method-M000070" class="method-detail">
1947
+ <a name="M000070"></a>
1948
+
1949
+ <div class="method-heading">
1950
+ <a href="#M000070" class="method-signature">
1951
+ <span class="method-name">wait_for_page_to_load</span><span class="method-args">(timeout)</span>
1952
+ </a>
1953
+ </div>
1954
+
1955
+ <div class="method-description">
1956
+ <p>
1957
+ Waits for a new page to load.
1958
+ </p>
1959
+ <p>
1960
+ You can use this command instead of the <tt>and_wait</tt> suffixes,
1961
+ <tt>click_and_wait</tt>, <tt>select_and_wait</tt>, <tt>type_and_wait</tt>
1962
+ etc. (which are only available in the JS API).
1963
+ </p>
1964
+ <p>
1965
+ Selenium constantly keeps track of new pages loading, and sets a
1966
+ <tt>newPageLoaded</tt> flag when it first notices a page load. Running any
1967
+ other Selenium command after turns the flag to <tt>false</tt>. Hence, if
1968
+ you want to wait for a page to load, you must wait immediately after a
1969
+ Selenium command that caused a page-load.
1970
+ </p>
1971
+ <p>
1972
+ <tt>timeout</tt> is specified in milliseconds.
1973
+ </p>
1974
+ <p><a class="source-toggle" href="#"
1975
+ onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
1976
+ <div class="method-source-code" id="M000070-source">
1977
+ <pre>
1978
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 497</span>
1979
+ 497: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wait_for_page_to_load</span> <span class="ruby-identifier">timeout</span>
1980
+ 498: <span class="ruby-identifier">command</span> <span class="ruby-value str">'waitForPageToLoad'</span>, <span class="ruby-identifier">timeout</span>
1981
+ 499: <span class="ruby-keyword kw">end</span>
1982
+ </pre>
1983
+ </div>
1984
+ </div>
1985
+ </div>
1986
+
1987
+ <div id="method-M000028" class="method-detail">
1988
+ <a name="M000028"></a>
1989
+
1990
+ <div class="method-heading">
1991
+ <a href="#M000028" class="method-signature">
1992
+ <span class="method-name">wait_for_popup</span><span class="method-args">(window_id, timeout)</span>
1993
+ </a>
1994
+ </div>
1995
+
1996
+ <div class="method-description">
1997
+ <p>
1998
+ Waits for a popup window to appear and load up.
1999
+ </p>
2000
+ <p>
2001
+ The <tt>timeout</tt> is specified in milliseconds.
2002
+ </p>
2003
+ <p><a class="source-toggle" href="#"
2004
+ onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
2005
+ <div class="method-source-code" id="M000028-source">
2006
+ <pre>
2007
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 185</span>
2008
+ 185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wait_for_popup</span> <span class="ruby-identifier">window_id</span>, <span class="ruby-identifier">timeout</span>
2009
+ 186: <span class="ruby-identifier">command</span> <span class="ruby-value str">'waitForPopUp'</span>, <span class="ruby-identifier">window_id</span><span class="ruby-operator">||</span><span class="ruby-value str">'null'</span>, <span class="ruby-identifier">timeout</span>
2010
+ 187: <span class="ruby-keyword kw">end</span>
2011
+ </pre>
2012
+ </div>
2013
+ </div>
2014
+ </div>
2015
+
2016
+ <div id="method-M000065" class="method-detail">
2017
+ <a name="M000065"></a>
2018
+
2019
+ <div class="method-heading">
2020
+ <a href="#M000065" class="method-signature">
2021
+ <span class="method-name">window_focus</span><span class="method-args">(window_name)</span>
2022
+ </a>
2023
+ </div>
2024
+
2025
+ <div class="method-description">
2026
+ <p>
2027
+ Gives focus to a window.
2028
+ </p>
2029
+ <p><a class="source-toggle" href="#"
2030
+ onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
2031
+ <div class="method-source-code" id="M000065-source">
2032
+ <pre>
2033
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 433</span>
2034
+ 433: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">window_focus</span> <span class="ruby-identifier">window_name</span>
2035
+ 434: <span class="ruby-identifier">command</span> <span class="ruby-value str">'windowFocus'</span>, <span class="ruby-identifier">window_name</span>
2036
+ 435: <span class="ruby-keyword kw">end</span>
2037
+ </pre>
2038
+ </div>
2039
+ </div>
2040
+ </div>
2041
+
2042
+ <div id="method-M000066" class="method-detail">
2043
+ <a name="M000066"></a>
2044
+
2045
+ <div class="method-heading">
2046
+ <a href="#M000066" class="method-signature">
2047
+ <span class="method-name">window_maximize</span><span class="method-args">(window_name)</span>
2048
+ </a>
2049
+ </div>
2050
+
2051
+ <div class="method-description">
2052
+ <p>
2053
+ Resize window to take up the entire screen.
2054
+ </p>
2055
+ <p><a class="source-toggle" href="#"
2056
+ onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
2057
+ <div class="method-source-code" id="M000066-source">
2058
+ <pre>
2059
+ <span class="ruby-comment cmt"># File lib/selenium_on_rails/test_builder_actions.rb, line 438</span>
2060
+ 438: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">window_maximize</span> <span class="ruby-identifier">window_name</span>
2061
+ 439: <span class="ruby-identifier">command</span> <span class="ruby-value str">'windowMaximize'</span>, <span class="ruby-identifier">window_name</span>
2062
+ 440: <span class="ruby-keyword kw">end</span>
2063
+ </pre>
2064
+ </div>
2065
+ </div>
2066
+ </div>
2067
+
2068
+
2069
+ </div>
2070
+
2071
+
2072
+ </div>
2073
+
2074
+
2075
+ <div id="validator-badges">
2076
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
2077
+ </div>
2078
+
2079
+ </body>
2080
+ </html>