zena 1.2.7 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. data/History.txt +80 -25
  2. data/Rakefile +2 -2
  3. data/app/controllers/columns_controller.rb +2 -2
  4. data/app/controllers/nodes_controller.rb +22 -29
  5. data/app/controllers/user_sessions_controller.rb +35 -10
  6. data/app/controllers/users_controller.rb +2 -2
  7. data/app/controllers/versions_controller.rb +2 -2
  8. data/app/models/group.rb +15 -1
  9. data/app/models/node.rb +109 -8
  10. data/app/models/role.rb +4 -0
  11. data/app/models/site.rb +64 -58
  12. data/app/models/template.rb +1 -1
  13. data/app/models/user.rb +135 -29
  14. data/app/models/user_session.rb +0 -1
  15. data/app/models/virtual_class.rb +11 -6
  16. data/app/views/columns/_form.html.erb +3 -1
  17. data/app/views/columns/_li.html.erb +1 -1
  18. data/app/views/columns/create.rjs +1 -1
  19. data/app/views/groups/_form.rhtml +16 -13
  20. data/app/views/relations/_form.erb +18 -6
  21. data/app/views/sites/_form.erb +12 -6
  22. data/app/views/users/_form.rhtml +23 -8
  23. data/app/views/users/_li.rhtml +14 -3
  24. data/app/views/users/index.rhtml +1 -1
  25. data/app/views/virtual_classes/_form.erb +12 -2
  26. data/app/views/zafu/default/Node-+login.zafu +8 -1
  27. data/app/views/zafu/default/Node-+search.zafu +1 -1
  28. data/bricks/acls/lib/bricks/acls.rb +1 -0
  29. data/bricks/acls/zena/migrate/20130903150356_longer_names_for_acl.rb +9 -0
  30. data/bricks/acls/zena/test/integration/acl_integration_test.rb +2 -2
  31. data/bricks/currency/lib/bricks/currency.rb +120 -0
  32. data/bricks/currency/zena/test/unit/currency_test.rb +43 -0
  33. data/bricks/fs_skin/lib/bricks/fs_skin.rb +1 -1
  34. data/bricks/fs_skin/zena/skins/blog/Node-+search.zafu +1 -1
  35. data/bricks/fs_skin/zena/skins/blog/Node.zafu +1 -1
  36. data/bricks/fs_skin/zena/test/unit/fs_skin_view_test.rb +35 -0
  37. data/bricks/pdf/lib/bricks/pdf.rb +1 -1
  38. data/bricks/sphinx/lib/bricks/sphinx.rb +2 -0
  39. data/bricks/sphinx/zena/init.rb +14 -0
  40. data/bricks/tags/zena/test/zafu/tags.yml +5 -1
  41. data/bricks/worker/lib/bricks/worker.rb +3 -2
  42. data/bricks/zena/zena/migrate/20130829093753_add_versioned_flag_to_column.rb +10 -0
  43. data/bricks/zena/zena/migrate/20130903084909_count_login_attempts.rb +11 -0
  44. data/bricks/zena/zena/migrate/20131104153126_index_fullpath.rb +10 -0
  45. data/bricks/zena/zena/migrate/20131104210011_rebuild_fullpath_after_change.rb +10 -0
  46. data/bricks/zena/zena/migrate/20131105160420_add_skin_id_to_sites.rb +9 -0
  47. data/bricks/zena/zena/migrate/20131105175822_add_profile_to_users.rb +11 -0
  48. data/bricks/zena/zena/migrate/20140213120038_fix_idx_scope.rb +13 -0
  49. data/bricks/zena/zena/migrate/20140628140247_add_site_readonly.rb +9 -0
  50. data/config/bricks.yml +8 -4
  51. data/config/gems.yml +5 -3
  52. data/db/init/base/skins/default/Node-+login.zafu +8 -1
  53. data/db/init/base/skins/default/Node-+search.zafu +1 -1
  54. data/lib/bricks/loader.rb +5 -5
  55. data/lib/gettext_strings.rb +3 -0
  56. data/lib/tasks/zena.rake +25 -22
  57. data/lib/zafu/process/context.rb +4 -0
  58. data/lib/zena/acts/secure_node.rb +3 -3
  59. data/lib/zena/app.rb +1 -0
  60. data/lib/zena/deploy.rb +1 -1
  61. data/lib/zena/deploy/template.rb +1 -1
  62. data/lib/zena/foxy_parser.rb +5 -2
  63. data/lib/zena/info.rb +1 -1
  64. data/lib/zena/site_worker.rb +2 -2
  65. data/lib/zena/test_controller.rb +5 -2
  66. data/lib/zena/use/action.rb +9 -2
  67. data/lib/zena/use/ajax.rb +20 -4
  68. data/lib/zena/use/ancestry.rb +89 -15
  69. data/lib/zena/use/authlogic.rb +8 -2
  70. data/lib/zena/use/context.rb +1 -0
  71. data/lib/zena/use/display.rb +1 -97
  72. data/lib/zena/use/forms.rb +28 -8
  73. data/lib/zena/use/html_tags.rb +16 -7
  74. data/lib/zena/use/i18n.rb +1 -1
  75. data/lib/zena/use/prop_eval.rb +6 -1
  76. data/lib/zena/use/query_node.rb +69 -4
  77. data/lib/zena/use/recursion.rb +1 -1
  78. data/lib/zena/use/refactor.rb +5 -2
  79. data/lib/zena/use/relations.rb +1 -0
  80. data/lib/zena/use/rendering.rb +7 -4
  81. data/lib/zena/use/test_helper.rb +8 -4
  82. data/lib/zena/use/upload.rb +14 -0
  83. data/lib/zena/use/urls.rb +39 -23
  84. data/lib/zena/use/version_hash.rb +5 -2
  85. data/lib/zena/use/workflow.rb +116 -70
  86. data/lib/zena/use/zafu_eval.rb +41 -0
  87. data/lib/zena/use/zafu_safe_definitions.rb +1 -0
  88. data/lib/zena/use/zafu_templates.rb +32 -26
  89. data/lib/zena/use/zazen.rb +8 -7
  90. data/locale/app.pot +5 -1
  91. data/locale/de/LC_MESSAGES/zena.mo +0 -0
  92. data/locale/de/zena.po +385 -281
  93. data/locale/en/LC_MESSAGES/zena.mo +0 -0
  94. data/locale/en/zena.po +378 -271
  95. data/locale/fr/LC_MESSAGES/zena.mo +0 -0
  96. data/locale/fr/zena.po +387 -272
  97. data/locale/it/LC_MESSAGES/zena.mo +0 -0
  98. data/locale/it/zena.po +433 -404
  99. data/locale/zena.pot +362 -268
  100. data/public/javascripts/grid.js +280 -104
  101. data/public/javascripts/zena.js +43 -15
  102. data/public/stylesheets/admin.css +8 -2
  103. data/public/stylesheets/grid.css +5 -2
  104. data/public/stylesheets/popup.css +1 -1
  105. data/test/fixtures/files/TestNode.zafu +51 -0
  106. data/test/functional/nodes_controller_test.rb +20 -5
  107. data/test/functional/user_sessions_controller_test.rb +41 -6
  108. data/test/functional/users_controller_test.rb +1 -2
  109. data/test/integration/navigation_test.rb +22 -4
  110. data/test/integration/query_node/basic.yml +7 -0
  111. data/test/integration/query_node/complex.yml +1 -1
  112. data/test/integration/query_node/errors.yml +1 -1
  113. data/test/integration/query_node/filters.yml +34 -1
  114. data/test/integration/query_node/relations.yml +6 -13
  115. data/test/integration/query_node_test.rb +22 -3
  116. data/test/integration/zafu_compiler/action.yml +1 -1
  117. data/test/integration/zafu_compiler/alias_site.yml +52 -0
  118. data/test/integration/zafu_compiler/complex.yml +1 -1
  119. data/test/integration/zafu_compiler/complex_ok.yml +5 -5
  120. data/test/integration/zafu_compiler/context.yml +1 -1
  121. data/test/integration/zafu_compiler/display.yml +56 -5
  122. data/test/integration/zafu_compiler/forms.yml +35 -2
  123. data/test/integration/zafu_compiler/meta.yml +4 -0
  124. data/test/integration/zafu_compiler/rubyless.yml +1 -1
  125. data/test/integration/zafu_compiler/safe_definitions.yml +4 -0
  126. data/test/integration/zafu_compiler/security.yml +10 -0
  127. data/test/integration/zafu_compiler/site.yml +5 -1
  128. data/test/integration/zafu_compiler/urls.yml +8 -2
  129. data/test/integration/zafu_compiler/zafu_attributes.yml +2 -1
  130. data/test/integration/zafu_compiler/zazen.yml +4 -0
  131. data/test/integration/zafu_compiler_test.rb +47 -4
  132. data/test/selenium/Grid/grid1.rsel +8 -8
  133. data/test/sites/complex/sites.yml +2 -2
  134. data/test/sites/complex/users.yml +1 -0
  135. data/test/sites/zena/columns.yml +4 -0
  136. data/test/sites/zena/sites.yml +1 -0
  137. data/test/sites/zena/users.yml +1 -0
  138. data/test/unit/node_test.rb +53 -5
  139. data/test/unit/note_test.rb +1 -1
  140. data/test/unit/relation_proxy_test.rb +20 -0
  141. data/test/unit/role_test.rb +2 -0
  142. data/test/unit/site_test.rb +28 -6
  143. data/test/unit/user_test.rb +332 -1
  144. data/test/unit/virtual_class_test.rb +55 -0
  145. data/test/unit/workflow_test.rb +175 -0
  146. data/test/unit/zena/use/ancestry_test.rb +52 -10
  147. data/test/unit/zena/use/prop_eval_test.rb +44 -0
  148. data/test/unit/zena/use/rendering_test.rb +48 -2
  149. data/test/unit/zena/use/upload_test.rb +15 -13
  150. data/test/unit/zena/use/urls_test.rb +1 -0
  151. data/vendor/plugins/ar_mysql_full_text/lib/ar_mysql_full_text.rb +39 -25
  152. data/zena.gemspec +69 -307
  153. metadata +143 -368
  154. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run 2.tmCommand +0 -24
  155. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Context.tmCommand +0 -58
  156. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Focused Should.tmCommand +0 -88
  157. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run.tmCommand +0 -27
  158. data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/YAML to Shoulda.tmCommand +0 -23
  159. data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Context.tmPreferences +0 -19
  160. data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Should.tmPreferences +0 -19
  161. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory attributes for.tmSnippet +0 -16
  162. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory build.tmSnippet +0 -16
  163. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory.tmSnippet +0 -16
  164. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define with class.tmSnippet +0 -18
  165. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define.tmSnippet +0 -18
  166. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_next.tmSnippet +0 -16
  167. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_sequence.tmSnippet +0 -18
  168. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_bad_value.tmSnippet +0 -16
  169. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_contains.tmSnippet +0 -16
  170. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_does_not_contain.tmSnippet +0 -16
  171. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_good_value.tmSnippet +0 -16
  172. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_same_elements.tmSnippet +0 -16
  173. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_save.tmSnippet +0 -16
  174. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_sent_email.tmSnippet +0 -18
  175. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_valid.tmSnippet +0 -16
  176. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/association.tmSnippet +0 -17
  177. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/attribute.tmSnippet +0 -17
  178. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/before_should block.tmSnippet +0 -18
  179. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block get.tmSnippet +0 -22
  180. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block post.tmSnippet +0 -23
  181. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block with setup.tmSnippet +0 -25
  182. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/setup.tmSnippet +0 -18
  183. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block with before proc.tmSnippet +0 -18
  184. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block.tmSnippet +0 -18
  185. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_allow_values_for.tmSnippet +0 -16
  186. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_assign_to.tmSnippet +0 -16
  187. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful denied.tmSnippet +0 -20
  188. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful.tmSnippet +0 -20
  189. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_belong_to.tmSnippet +0 -16
  190. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change by.tmSnippet +0 -16
  191. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change from to.tmSnippet +0 -16
  192. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_at_least.tmSnippet +0 -16
  193. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_in_range.tmSnippet +0 -16
  194. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_is.tmSnippet +0 -16
  195. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_value_in_range.tmSnippet +0 -16
  196. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_eventually.tmSnippet +0 -18
  197. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_filter_params.tmSnippet +0 -16
  198. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_and_belong_to_many.tmSnippet +0 -16
  199. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_class_methods.tmSnippet +0 -16
  200. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_column.tmSnippet +0 -16
  201. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_columns.tmSnippet +0 -16
  202. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_index.tmSnippet +0 -16
  203. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_indices.tmSnippet +0 -16
  204. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_instance_methods.tmSnippet +0 -16
  205. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_many.tmSnippet +0 -16
  206. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_named_scope.tmSnippet +0 -16
  207. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_one.tmSnippet +0 -16
  208. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_readonly_attributes.tmSnippet +0 -16
  209. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_mass_assignment_of.tmSnippet +0 -16
  210. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_values_for.tmSnippet +0 -16
  211. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_assign_to.tmSnippet +0 -16
  212. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_change.tmSnippet +0 -16
  213. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_set_the_flash.tmSnippet +0 -16
  214. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_redirect_to.tmSnippet +0 -16
  215. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_a_form.tmSnippet +0 -16
  216. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_template.tmSnippet +0 -16
  217. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_with_layout.tmSnippet +0 -16
  218. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_without_layout.tmSnippet +0 -16
  219. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with.tmSnippet +0 -16
  220. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with_content_type.tmSnippet +0 -16
  221. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_return_from_session.tmSnippet +0 -16
  222. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_route.tmSnippet +0 -16
  223. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_set_the_flash_to.tmSnippet +0 -16
  224. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_acceptance_of.tmSnippet +0 -16
  225. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_numericality_of.tmSnippet +0 -16
  226. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_presence_of.tmSnippet +0 -16
  227. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of with scope.tmSnippet +0 -16
  228. data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of.tmSnippet +0 -16
  229. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/catch_exception.rb +0 -39
  230. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/run_script.rb +0 -104
  231. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/stdin_dialog.rb +0 -14
  232. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/test.rb +0 -17
  233. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/todo.txt +0 -13
  234. data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/bin/yaml_to_shoulda.rb +0 -25
  235. data/vendor/TextMate/Ruby Shoulda.tmbundle/Syntaxes/Ruby on Rails (Shoulda).tmLanguage +0 -166
  236. data/vendor/TextMate/Ruby Shoulda.tmbundle/info.plist +0 -304
  237. data/vendor/TextMate/Zena.tmbundle/Commands/Run all yaml tests.tmCommand +0 -37
  238. data/vendor/TextMate/Zena.tmbundle/Commands/Run focused yaml test.tmCommand +0 -52
  239. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/catch_exception.rb +0 -39
  240. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/run_script.rb +0 -118
  241. data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/stdin_dialog.rb +0 -14
  242. data/vendor/TextMate/Zena.tmbundle/info.plist +0 -17
  243. data/vendor/plugins/selenium-on-rails/CHANGELOG +0 -125
  244. data/vendor/plugins/selenium-on-rails/LICENSE-2.0.txt +0 -202
  245. data/vendor/plugins/selenium-on-rails/README.md +0 -202
  246. data/vendor/plugins/selenium-on-rails/Rakefile +0 -38
  247. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumController.html +0 -265
  248. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumHelper.html +0 -148
  249. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails.html +0 -126
  250. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/FixtureLoader.html +0 -231
  251. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/PartialsSupport.html +0 -195
  252. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Paths.html +0 -295
  253. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/RSelenese.html +0 -219
  254. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Renderer.html +0 -156
  255. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/Selenese.html +0 -179
  256. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/SuiteRenderer.html +0 -223
  257. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilder.html +0 -441
  258. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderAccessors.html +0 -3098
  259. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderActions.html +0 -2080
  260. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderUserAccessors.html +0 -116
  261. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRails/TestBuilderUserActions.html +0 -116
  262. data/vendor/plugins/selenium-on-rails/doc/classes/SeleniumOnRailsConfig.html +0 -150
  263. data/vendor/plugins/selenium-on-rails/doc/files/CHANGELOG.html +0 -422
  264. data/vendor/plugins/selenium-on-rails/doc/files/README.html +0 -321
  265. data/vendor/plugins/selenium-on-rails/doc/files/lib/controllers/selenium_controller_rb.html +0 -108
  266. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_helper_rb.html +0 -101
  267. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/acceptance_test_runner_rb.html +0 -222
  268. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/fixture_loader_rb.html +0 -109
  269. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/partials_support_rb.html +0 -111
  270. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/paths_rb.html +0 -101
  271. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/renderer_rb.html +0 -101
  272. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/rselenese_rb.html +0 -118
  273. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/selenese_rb.html +0 -101
  274. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/suite_renderer_rb.html +0 -101
  275. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_accessors_rb.html +0 -114
  276. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_actions_rb.html +0 -113
  277. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails/test_builder_rb.html +0 -120
  278. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails_config_rb.html +0 -108
  279. data/vendor/plugins/selenium-on-rails/doc/files/lib/selenium_on_rails_rb.html +0 -115
  280. data/vendor/plugins/selenium-on-rails/doc/fr_class_index.html +0 -42
  281. data/vendor/plugins/selenium-on-rails/doc/fr_file_index.html +0 -43
  282. data/vendor/plugins/selenium-on-rails/doc/fr_method_index.html +0 -182
  283. data/vendor/plugins/selenium-on-rails/doc/index.html +0 -24
  284. data/vendor/plugins/selenium-on-rails/doc/rdoc-style.css +0 -208
  285. data/vendor/plugins/selenium-on-rails/generators/selenium/USAGE +0 -19
  286. data/vendor/plugins/selenium-on-rails/generators/selenium/selenium_generator.rb +0 -50
  287. data/vendor/plugins/selenium-on-rails/generators/selenium/templates/rhtml.rhtml +0 -16
  288. data/vendor/plugins/selenium-on-rails/generators/selenium/templates/rselenese.rhtml +0 -14
  289. data/vendor/plugins/selenium-on-rails/generators/selenium/templates/selenese.rhtml +0 -11
  290. data/vendor/plugins/selenium-on-rails/init.rb +0 -15
  291. data/vendor/plugins/selenium-on-rails/lib/controllers/selenium_controller.rb +0 -122
  292. data/vendor/plugins/selenium-on-rails/lib/controllers/switch_environment_controller.rb +0 -16
  293. data/vendor/plugins/selenium-on-rails/lib/selenium_helper.rb +0 -8
  294. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails.rb +0 -11
  295. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/acceptance_test_runner.rb +0 -215
  296. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/fixture_loader.rb +0 -57
  297. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/partials_support.rb +0 -36
  298. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/paths.rb +0 -61
  299. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/renderer.rb +0 -20
  300. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/rselenese.rb +0 -44
  301. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/selenese.rb +0 -87
  302. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/suite_renderer.rb +0 -56
  303. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder.rb +0 -116
  304. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_accessors.rb +0 -1002
  305. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_actions.rb +0 -514
  306. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_user_accessors.rb.example +0 -91
  307. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails/test_builder_user_actions.rb.example +0 -24
  308. data/vendor/plugins/selenium-on-rails/lib/selenium_on_rails_config.rb +0 -30
  309. data/vendor/plugins/selenium-on-rails/lib/views/layouts/layout.rhtml +0 -18
  310. data/vendor/plugins/selenium-on-rails/lib/views/record.rhtml +0 -5
  311. data/vendor/plugins/selenium-on-rails/lib/views/selenium_helper.rb +0 -9
  312. data/vendor/plugins/selenium-on-rails/lib/views/setup.rhtml +0 -67
  313. data/vendor/plugins/selenium-on-rails/lib/views/test_suite.rhtml +0 -26
  314. data/vendor/plugins/selenium-on-rails/routes.rb +0 -24
  315. data/vendor/plugins/selenium-on-rails/selenium-core/Blank.html +0 -7
  316. data/vendor/plugins/selenium-on-rails/selenium-core/InjectedRemoteRunner.html +0 -8
  317. data/vendor/plugins/selenium-on-rails/selenium-core/RemoteRunner.html +0 -110
  318. data/vendor/plugins/selenium-on-rails/selenium-core/SeleniumLog.html +0 -109
  319. data/vendor/plugins/selenium-on-rails/selenium-core/TestPrompt.html +0 -145
  320. data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner-splash.html +0 -55
  321. data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner.hta +0 -177
  322. data/vendor/plugins/selenium-on-rails/selenium-core/TestRunner.html +0 -177
  323. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/butmin.gif +0 -0
  324. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/butplus.gif +0 -0
  325. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/domviewer.css +0 -298
  326. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/domviewer.html +0 -16
  327. data/vendor/plugins/selenium-on-rails/selenium-core/domviewer/selenium-domviewer.js +0 -205
  328. data/vendor/plugins/selenium-on-rails/selenium-core/icons/all.png +0 -0
  329. data/vendor/plugins/selenium-on-rails/selenium-core/icons/continue.png +0 -0
  330. data/vendor/plugins/selenium-on-rails/selenium-core/icons/continue_disabled.png +0 -0
  331. data/vendor/plugins/selenium-on-rails/selenium-core/icons/pause.png +0 -0
  332. data/vendor/plugins/selenium-on-rails/selenium-core/icons/pause_disabled.png +0 -0
  333. data/vendor/plugins/selenium-on-rails/selenium-core/icons/selected.png +0 -0
  334. data/vendor/plugins/selenium-on-rails/selenium-core/icons/step.png +0 -0
  335. data/vendor/plugins/selenium-on-rails/selenium-core/icons/step_disabled.png +0 -0
  336. data/vendor/plugins/selenium-on-rails/selenium-core/iedoc-core.xml +0 -1759
  337. data/vendor/plugins/selenium-on-rails/selenium-core/iedoc.xml +0 -1800
  338. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/cssQuery-p.js +0 -6
  339. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-level2.js +0 -142
  340. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-level3.js +0 -150
  341. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery-standard.js +0 -53
  342. data/vendor/plugins/selenium-on-rails/selenium-core/lib/cssQuery/src/cssQuery.js +0 -356
  343. data/vendor/plugins/selenium-on-rails/selenium-core/lib/prototype.js +0 -2006
  344. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/builder.js +0 -101
  345. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/controls.js +0 -815
  346. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/dragdrop.js +0 -915
  347. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/effects.js +0 -958
  348. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/scriptaculous.js +0 -47
  349. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/slider.js +0 -283
  350. data/vendor/plugins/selenium-on-rails/selenium-core/lib/scriptaculous/unittest.js +0 -383
  351. data/vendor/plugins/selenium-on-rails/selenium-core/lib/snapsie.js +0 -91
  352. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/find_matching_child.js +0 -69
  353. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/htmlutils.js +0 -1616
  354. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/injection.html +0 -72
  355. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-api.js +0 -3184
  356. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-browserbot.js +0 -2300
  357. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-browserdetect.js +0 -153
  358. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-commandhandlers.js +0 -377
  359. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-executionloop.js +0 -175
  360. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-logging.js +0 -148
  361. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-remoterunner.js +0 -695
  362. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-testrunner.js +0 -1362
  363. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/selenium-version.js +0 -5
  364. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-doc.html +0 -803
  365. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-element.js +0 -1537
  366. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/ui-map-sample.js +0 -979
  367. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/user-extensions.js +0 -3
  368. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/user-extensions.js.sample +0 -75
  369. data/vendor/plugins/selenium-on-rails/selenium-core/scripts/xmlextras.js +0 -153
  370. data/vendor/plugins/selenium-on-rails/selenium-core/selenium-logo.png +0 -0
  371. data/vendor/plugins/selenium-on-rails/selenium-core/selenium-test.css +0 -43
  372. data/vendor/plugins/selenium-on-rails/selenium-core/selenium.css +0 -316
  373. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/dom.js +0 -566
  374. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/javascript-xpath-0.1.11.js +0 -2816
  375. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/util.js +0 -549
  376. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/xmltoken.js +0 -149
  377. data/vendor/plugins/selenium-on-rails/selenium-core/xpath/xpath.js +0 -2450
  378. data/vendor/plugins/selenium-on-rails/tasks/test_acceptance.rake +0 -8
  379. data/vendor/plugins/selenium-on-rails/test/fixtures/config.yml +0 -37
  380. data/vendor/plugins/selenium-on-rails/test/fixtures/selenium.yml +0 -27
  381. data/vendor/plugins/selenium-on-rails/test/paths_test.rb +0 -72
  382. data/vendor/plugins/selenium-on-rails/test/renderer_test.rb +0 -157
  383. data/vendor/plugins/selenium-on-rails/test/rselenese_test.rb +0 -708
  384. data/vendor/plugins/selenium-on-rails/test/selenese_test.rb +0 -242
  385. data/vendor/plugins/selenium-on-rails/test/selenium_controller_test.rb +0 -67
  386. data/vendor/plugins/selenium-on-rails/test/selenium_on_rails_config_test.rb +0 -43
  387. data/vendor/plugins/selenium-on-rails/test/selenium_support_test.rb +0 -35
  388. data/vendor/plugins/selenium-on-rails/test/setup_test.rb +0 -31
  389. data/vendor/plugins/selenium-on-rails/test/suite_renderer_test.rb +0 -109
  390. data/vendor/plugins/selenium-on-rails/test/switch_environment_controller_test.rb +0 -17
  391. data/vendor/plugins/selenium-on-rails/test/test_builder_functions_authortest.rb +0 -51
  392. data/vendor/plugins/selenium-on-rails/test/test_helper.rb +0 -101
  393. data/vendor/plugins/selenium-on-rails/test_data/_partial.rsel +0 -1
  394. data/vendor/plugins/selenium-on-rails/test_data/own_layout.html +0 -12
  395. data/vendor/plugins/selenium-on-rails/test_data/partials/_html.html +0 -6
  396. data/vendor/plugins/selenium-on-rails/test_data/partials/_nesting.rsel +0 -2
  397. data/vendor/plugins/selenium-on-rails/test_data/partials/_rhtml.rhtml +0 -6
  398. data/vendor/plugins/selenium-on-rails/test_data/partials/_rsel.rsel +0 -1
  399. data/vendor/plugins/selenium-on-rails/test_data/partials/_sel.sel +0 -5
  400. data/vendor/plugins/selenium-on-rails/test_data/partials/all_partials.rsel +0 -5
  401. data/vendor/plugins/selenium-on-rails/test_data/rhtml.rhtml +0 -7
  402. data/vendor/plugins/selenium-on-rails/test_data/rselenese.rsel +0 -8
  403. data/vendor/plugins/selenium-on-rails/test_data/selenese.sel +0 -7
  404. data/vendor/plugins/selenium-on-rails/test_data/suite_one/subsuite/suite_one_subsuite_testcase.sel +0 -1
  405. data/vendor/plugins/selenium-on-rails/test_data/suite_one/suite_one_testcase1.sel +0 -1
  406. data/vendor/plugins/selenium-on-rails/test_data/suite_one/suite_one_testcase2.sel +0 -1
  407. data/vendor/plugins/selenium-on-rails/test_data/suite_two/suite_two_testcase.sel +0 -1
@@ -1,1002 +0,0 @@
1
- # The accessors available for SeleniumOnRails::TestBuilder tests.
2
- #
3
- # For each +store_foo+ there's +assert_foo+, +assert_not_foo+, +verify_foo+,
4
- # +verify_not_foo+, +wait_for_foo+, +wait_for_not_foo+.
5
- module SeleniumOnRails::TestBuilderAccessors
6
-
7
- # Tell Selenium to expect an error on the next command execution.
8
- #
9
- # NOTE: <tt>store_error_on_next</tt> is currently not supported by
10
- # Selenium Core and is only added to here as a shortcut for
11
- # generating the related assertions.
12
- #
13
- # Related Assertions, automatically generated:
14
- # * <tt>assert_error_on_next(message)</tt>
15
- # * <tt>assert_not_error_on_next(message)</tt>
16
- # * <tt>verify_error_on_next(message)</tt>
17
- # * <tt>verify_not_error_on_next(message)</tt>
18
- # * <tt>wait_for_error_on_next(message)</tt>
19
- # * <tt>wait_for_not_error_on_next(message)</tt>
20
- def store_error_on_next message
21
- raise 'Not supported in Selenium Core at the moment'
22
- end
23
-
24
- # Tell Selenium to expect a failure on the next command execution.
25
- #
26
- # NOTE: <tt>store_failure_on_next</tt> is currently not supported by
27
- # Selenium Core and is only added to here as a shortcut for
28
- # generating the related assertions.
29
- #
30
- # Related Assertions, automatically generated:
31
- # * <tt>assert_failure_on_next(message)</tt>
32
- # * <tt>assert_not_failure_on_next(message)</tt>
33
- # * <tt>verify_failure_on_next(message)</tt>
34
- # * <tt>verify_not_failure_on_next(message)</tt>
35
- # * <tt>wait_for_failure_on_next(message)</tt>
36
- # * <tt>wait_for_not_failure_on_next(message)</tt>
37
- def store_failure_on_next message
38
- raise 'Not supported in Selenium Core at the moment'
39
- end
40
-
41
- # Returns the IDs of all windows that the browser knows about.
42
- #
43
- # Related Assertions, automatically generated:
44
- # * <tt>assertAllWindowIds(pattern)</tt>
45
- # * <tt>assertNotAllWindowIds(pattern)</tt>
46
- # * <tt>verifyAllWindowIds(pattern)</tt>
47
- # * <tt>verifyNotAllWindowIds(pattern)</tt>
48
- # * <tt>waitForAllWindowIds(pattern)</tt>
49
- # * <tt>waitForNotAllWindowIds(pattern)</tt>
50
- def store_all_window_ids variable_name
51
- command 'storeAllWindowIds', variable_name
52
- end
53
-
54
- # Returns the names of all windows that the browser knows about.
55
- #
56
- # Related Assertions, automatically generated:
57
- # * <tt>assertAllWindowNames(pattern)</tt>
58
- # * <tt>assertNotAllWindowNames(pattern)</tt>
59
- # * <tt>verifyAllWindowNames(pattern)</tt>
60
- # * <tt>verifyNotAllWindowNames(pattern)</tt>
61
- # * <tt>waitForAllWindowNames(pattern)</tt>
62
- # * <tt>waitForNotAllWindowNames(pattern)</tt>
63
- def store_all_window_names variable_name
64
- command 'storeAllWindowNames', variable_name
65
- end
66
-
67
- # Returns the titles of all windows that the browser knows about.
68
- #
69
- # Related Assertions, automatically generated:
70
- # * <tt>assertAllWindowTitles(pattern)</tt>
71
- # * <tt>assertNotAllWindowTitles(pattern)</tt>
72
- # * <tt>verifyAllWindowTitles(pattern)</tt>
73
- # * <tt>verifyNotAllWindowTitles(pattern)</tt>
74
- # * <tt>waitForAllWindowTitles(pattern)</tt>
75
- # * <tt>waitForNotAllWindowTitles(pattern)</tt>
76
- def store_all_window_titles variable_name
77
- command 'storeAllWindowTitles', variable_name
78
- end
79
-
80
- # Has an alert occurred?
81
- #
82
- # Related Assertions, automatically generated:
83
- # * <tt>assert_alert_present</tt>
84
- # * <tt>assert_alert_not_present</tt>
85
- # * <tt>verify_alert_present</tt>
86
- # * <tt>verify_alert_not_present</tt>
87
- # * <tt>wait_for_alert_present</tt>
88
- # * <tt>wait_for_alert_not_present</tt>
89
- def store_alert_present variable_name
90
- command 'storeAlertPresent', variable_name
91
- end
92
-
93
- # Returns every instance of some attribute from all known windows.
94
- #
95
- # Related Assertions, automatically generated:
96
- # * <tt>assert_attribute_from_all_windows(attribute_name, pattern)</tt>
97
- # * <tt>assert_not_attribute_from_all_windows(attribute_name, pattern)</tt>
98
- # * <tt>verify_attribute_from_all_windows(attribute_name, pattern)</tt>
99
- # * <tt>verify_not_attribute_from_all_windows(attribute_name, pattern)</tt>
100
- # * <tt>wait_for_attribute_from_all_windows(attribute_name, pattern)</tt>
101
- # * <tt>wait_for_not_attribute_from_all_windows(attribute_name, pattern)</tt>
102
- def store_attribute_from_all_windows attribute_name, variable_name
103
- command 'storeAttributeFromAllWindows', attribute_name, variable_name
104
- end
105
-
106
- # Has a prompt occurred?
107
- #
108
- # Related Assertions, automatically generated:
109
- # * <tt>assert_prompt_present</tt>
110
- # * <tt>assert_prompt_not_present</tt>
111
- # * <tt>verify_prompt_present</tt>
112
- # * <tt>verify_prompt_not_present</tt>
113
- # * <tt>wait_for_prompt_present</tt>
114
- # * <tt>wait_for_prompt_not_present</tt>
115
- def store_prompt_present variable_name
116
- command 'storePromptPresent', variable_name
117
- end
118
-
119
- # Has <tt>confirm()</tt> been called?
120
- #
121
- # Related Assertions, automatically generated:
122
- # * <tt>assert_confirmation_present</tt>
123
- # * <tt>assert_confirmation_not_present</tt>
124
- # * <tt>verify_confirmation_present</tt>
125
- # * <tt>verify_confirmation_not_present</tt>
126
- # * <tt>wait_for_confirmation_present</tt>
127
- # * <tt>wait_for_confirmation_not_present</tt>
128
- def store_confirmation_present variable_name
129
- command 'storeConfirmationPresent', variable_name
130
- end
131
-
132
- # Return all cookies of the current page under test.
133
- #
134
- # Related Assertions, automatically generated:
135
- # * <tt>assert_cookie(pattern)</tt>
136
- # * <tt>assert_not_cookie(pattern)</tt>
137
- # * <tt>verify_cookie(pattern)</tt>
138
- # * <tt>verify_not_cookie(pattern)</tt>
139
- # * <tt>wait_for_cookie(pattern)</tt>
140
- # * <tt>wait_for_not_cookie(pattern)</tt>
141
- def store_cookie variable_name
142
- command 'storeCookie', variable_name
143
- end
144
-
145
- # Retrieves the text cursor position in the given input element or
146
- # textarea; beware, this may not work perfectly on all browsers.
147
- #
148
- # This method will fail if the specified element isn't an input element
149
- # or textarea, or there is no cursor in the element.
150
- #
151
- # Related Assertions, automatically generated:
152
- # * <tt>assert_cursor_position(locator, pattern)</tt>
153
- # * <tt>assert_not_cursor_position(locator, pattern)</tt>
154
- # * <tt>verify_cursor_position(locator, pattern)</tt>
155
- # * <tt>verify_not_cursor_position(locator, pattern)</tt>
156
- # * <tt>wait_for_cursor_position(locator, pattern)</tt>
157
- # * <tt>wait_for_not_cursor_position(locator, pattern)</tt>
158
- def store_cursor_position locator, variable_name
159
- command 'storeCursorPosition', locator, variable_name
160
- end
161
-
162
- # Retrieves the message of a JavaScript alert generated during the previous
163
- # action, or fail if there were no alerts.
164
- #
165
- # Getting an alert has the same effect as manually clicking OK. If an alert
166
- # is generated but you do not get/verify it, the next Selenium action will
167
- # fail.
168
- #
169
- # NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert
170
- # dialog.
171
- #
172
- # NOTE: Selenium does NOT support JavaScript alerts that are generated in a
173
- # page's <tt>onload()</tt> event handler. In this case a visible dialog WILL be
174
- # generated and Selenium will hang until someone manually clicks OK.
175
- #
176
- # Related Assertions, automatically generated:
177
- # * <tt>assert_alert(pattern)</tt>
178
- # * <tt>assert_not_alert(pattern)</tt>
179
- # * <tt>verify_alert_present(pattern)</tt>
180
- # * <tt>verify_not_alert(pattern)</tt>
181
- # * <tt>wait_for_alert(pattern)</tt>
182
- # * <tt>wait_for_not_alert(pattern)</tt>
183
- def store_alert variable_name
184
- command 'storeAlert', variable_name
185
- end
186
-
187
- # Retrieves the message of a JavaScript confirmation dialog generated during
188
- # the previous action.
189
- #
190
- # By default, the confirm function will return +true+, having the same effect
191
- # as manually clicking OK. This can be changed by prior execution of the
192
- # +choose_cancel_on_next_confirmation+ command. If a confirmation is
193
- # generated but you do not get/verify it, the next Selenium action will fail.
194
- #
195
- # NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible
196
- # dialog.
197
- #
198
- # NOTE: Selenium does NOT support JavaScript confirmations that are generated
199
- # in a page's <tt>onload()</tt> event handler. In this case a visible dialog WILL be
200
- # generated and Selenium will hang until you manually click OK.
201
- #
202
- # Related Assertions, automatically generated:
203
- # * <tt>assert_confirmation(pattern)</tt>
204
- # * <tt>assert_not_confirmation(pattern)</tt>
205
- # * <tt>verify_confirmation_present(pattern)</tt>
206
- # * <tt>verify_not_confirmation(pattern)</tt>
207
- # * <tt>wait_for_confirmation(pattern)</tt>
208
- # * <tt>wait_for_not_confirmation(pattern)</tt>
209
- def store_confirmation variable_name
210
- command 'storeConfirmation', variable_name
211
- end
212
-
213
- # Retrieves the message of a JavaScript question prompt dialog generated
214
- # during the previous action.
215
- #
216
- # Successful handling of the prompt requires prior execution of the
217
- # +answer_on_next_prompt+ command. If a prompt is generated but you do not
218
- # get/verify it, the next Selenium action will fail.
219
- #
220
- # NOTE: under Selenium, JavaScript prompts will NOT pop up a visible dialog.
221
- #
222
- # NOTE: Selenium does NOT support JavaScript prompts that are generated in a
223
- # page's <tt>onload()</tt> event handler. In this case a visible dialog WILL be
224
- # generated and Selenium will hang until someone manually clicks OK.
225
- #
226
- # Related Assertions, automatically generated:
227
- # * <tt>assert_prompt(pattern)</tt>
228
- # * <tt>assert_not_prompt(pattern)</tt>
229
- # * <tt>verify_prompt_present(pattern)</tt>
230
- # * <tt>verify_not_prompt(pattern)</tt>
231
- # * <tt>wait_for_prompt(pattern)</tt>
232
- # * <tt>wait_for_not_prompt(pattern)</tt>
233
- def store_prompt variable_name
234
- command 'storePrompt', variable_name
235
- end
236
-
237
- # Gets the absolute URL of the current page.
238
- #
239
- # Related Assertions, automatically generated:
240
- # * <tt>assert_absolute_location(pattern)</tt>
241
- # * <tt>assert_not_absolute_location(pattern)</tt>
242
- # * <tt>verify_absolute_location_present(pattern)</tt>
243
- # * <tt>verify_not_absolute_location(pattern)</tt>
244
- # * <tt>wait_for_absolute_location(pattern)</tt>
245
- # * <tt>wait_for_not_absolute_location(pattern)</tt>
246
- def store_absolute_location variable_name
247
- command 'storeAbsoluteLocation', variable_name
248
- end
249
-
250
- # Verify the location of the current page ends with the expected location.
251
- # If an URL querystring is provided, this is checked as well.
252
- #
253
- # Related Assertions, automatically generated:
254
- # * <tt>assert_location(pattern)</tt>
255
- # * <tt>assert_not_location(pattern)</tt>
256
- # * <tt>verify_location_present(pattern)</tt>
257
- # * <tt>verify_not_location(pattern)</tt>
258
- # * <tt>wait_for_location(pattern)</tt>
259
- # * <tt>wait_for_not_location(pattern)</tt>
260
- def store_location expected_location, variable_name
261
- command 'storeLocation', expected_location, variable_name
262
- end
263
-
264
- # Returns the number of pixels between "mousemove" events during
265
- # drag_and_drop commands (default=10).
266
- #
267
- # Related Assertions, automatically generated:
268
- # * <tt>assert_mouse_speed(pattern)</tt>
269
- # * <tt>assert_not_mouse_speed(pattern)</tt>
270
- # * <tt>verify_mouse_speed(pattern)</tt>
271
- # * <tt>verify_not_mouse_speed(pattern)</tt>
272
- # * <tt>wait_for_mouse_speed(pattern)</tt>
273
- # * <tt>wait_for_not_mouse_speed(pattern)</tt>
274
- def store_mouse_speed variable_name
275
- command 'storeMouseSpeed', variable_name
276
- end
277
-
278
- # Gets the title of the current page.
279
- #
280
- # Related Assertions, automatically generated:
281
- # * <tt>assert_title(pattern)</tt>
282
- # * <tt>assert_not_title(pattern)</tt>
283
- # * <tt>verify_title_present(pattern)</tt>
284
- # * <tt>verify_not_title(pattern)</tt>
285
- # * <tt>wait_for_title(pattern)</tt>
286
- # * <tt>wait_for_not_title(pattern)</tt>
287
- def store_title variable_name
288
- command 'storeTitle', variable_name
289
- end
290
-
291
- # Gets the entire text of the page.
292
- #
293
- # Related Assertions, automatically generated:
294
- # * <tt>assert_body_text(pattern)</tt>
295
- # * <tt>assert_not_body_text(pattern)</tt>
296
- # * <tt>verify_body_text_present(pattern)</tt>
297
- # * <tt>verify_not_body_text(pattern)</tt>
298
- # * <tt>wait_for_body_text(pattern)</tt>
299
- # * <tt>wait_for_not_body_text(pattern)</tt>
300
- def store_body_text variable_name
301
- command 'storeBodyText', variable_name
302
- end
303
-
304
- # Gets the (whitespace-trimmed) value of an input field (or anything else
305
- # with a value parameter). For checkbox/radio elements, the value will be
306
- # "on" or "off" depending on whether the element is checked or not.
307
- #
308
- # Related Assertions, automatically generated:
309
- # * <tt>assert_value(locator, pattern)</tt>
310
- # * <tt>assert_not_value(locator, pattern)</tt>
311
- # * <tt>verify_value_present(locator, pattern)</tt>
312
- # * <tt>verify_not_value(locator, pattern)</tt>
313
- # * <tt>wait_for_value(locator, pattern)</tt>
314
- # * <tt>wait_for_not_value(locator, pattern)</tt>
315
- def store_value locator, variable_name
316
- command 'storeValue', locator, variable_name
317
- end
318
-
319
- # Gets the text of an element. This works for any element that contains text.
320
- # This command uses either the +textContent+ (Mozilla-like browsers) or the
321
- # +innerText+ (IE-like browsers) of the element, which is the rendered text
322
- # shown to the user.
323
- #
324
- # Related Assertions, automatically generated:
325
- # * <tt>assert_text(locator, pattern)</tt>
326
- # * <tt>assert_not_text(locator, pattern)</tt>
327
- # * <tt>verify_text_present(locator, pattern)</tt>
328
- # * <tt>verify_not_text(locator, pattern)</tt>
329
- # * <tt>wait_for_text(locator, pattern)</tt>
330
- # * <tt>wait_for_not_text(locator, pattern)</tt>
331
- def store_text locator, variable_name
332
- command 'storeText', locator, variable_name
333
- end
334
-
335
- # Gets the result of evaluating the specified JavaScript snippet. The snippet
336
- # may have multiple lines, but only the result of the last line will be
337
- # returned.
338
- #
339
- # Note that, by default, the snippet will run in the context of the
340
- # "selenium" object itself, so +this+ will refer to the Selenium object, and
341
- # +window+ will refer to the top-level runner test window, not the window of
342
- # your application.
343
- #
344
- # If you need a reference to the window of your application, you can refer to
345
- # <tt>this.browserbot.getCurrentWindow()</tt> and if you need to use a locator to
346
- # refer to a single element in your application page, you can use
347
- # <tt>this.page().findElement("foo")</tt> where <tt>"foo"</tt> is your locator.
348
- #
349
- # Related Assertions, automatically generated:
350
- # * <tt>assert_eval(script, pattern)</tt>
351
- # * <tt>assert_not_eval(script, pattern)</tt>
352
- # * <tt>verify_eval_present(script, pattern)</tt>
353
- # * <tt>verify_not_eval(script, pattern)</tt>
354
- # * <tt>wait_for_eval(script, pattern)</tt>
355
- # * <tt>wait_for_not_eval(script, pattern)</tt>
356
- def store_eval script, variable_name
357
- command 'storeEval', script, variable_name
358
- end
359
-
360
- # Gets whether a toggle-button (checkbox/radio) is checked. Fails if the
361
- # specified element doesn't exist or isn't a toggle-button.
362
- #
363
- # Related Assertions, automatically generated:
364
- # * <tt>assert_checked(locator)</tt>
365
- # * <tt>assert_not_checked(locator)</tt>
366
- # * <tt>verify_checked_present(locator)</tt>
367
- # * <tt>verify_not_checked(locator)</tt>
368
- # * <tt>wait_for_checked(locator)</tt>
369
- # * <tt>wait_for_not_checked(locator)</tt>
370
- def store_checked locator, variable_name
371
- command 'storeChecked', locator, variable_name
372
- end
373
-
374
- # Gets the text from a cell of a table.
375
- #
376
- # Related Assertions, automatically generated:
377
- # * <tt>assert_table(locator, row, column, pattern)</tt>
378
- # * <tt>assert_not_table(locator, row, column, pattern)</tt>
379
- # * <tt>verify_table_present(locator, row, column, pattern)</tt>
380
- # * <tt>verify_not_table(locator, row, column, pattern)</tt>
381
- # * <tt>wait_for_table(locator, row, column, pattern)</tt>
382
- # * <tt>wait_for_not_table(locator, row, column, pattern)</tt>
383
- def store_table locator, row, column, variable_name
384
- command 'storeTable', "#{locator}.#{row}.#{column}", variable_name
385
- end
386
-
387
- # Verifies that the selected option of a drop-down satisfies the
388
- # <tt>option_locator</tt>.
389
- #
390
- # <tt>option_locator</tt> is typically just an option label (e.g. "John Smith").
391
- #
392
- # See the <tt>select</tt> command for more information about option locators.
393
- #
394
- # NOTE: <tt>store_selected</tt> is currently not supported by Selenium Core.
395
- #
396
- # Related Assertions, automatically generated:
397
- # * <tt>assert_selected(locator, option_locator)</tt>
398
- # * <tt>assert_not_selected(locator, option_locator)</tt>
399
- # * <tt>verify_selected_present(locator, option_locator)</tt>
400
- # * <tt>verify_not_selected(locator, option_locator)</tt>
401
- # * <tt>wait_for_selected(locator, option_locator)</tt>
402
- # * <tt>wait_for_not_selected(locator, option_locator)</tt>
403
- def store_selected locator, option_locator, variable_name
404
- raise 'Not supported in Selenium Core at the moment'
405
- end
406
-
407
- # Gets option element ID for selected option in the specified select element.
408
- #
409
- # Related Assertions, automatically generated:
410
- # * <tt>assert_selected_id(select_locator, pattern)</tt>
411
- # * <tt>assert_not_selected_id(select_locator, pattern)</tt>
412
- # * <tt>verify_selected_id(select_locator, pattern)</tt>
413
- # * <tt>verify_not_selected_id(select_locator, pattern)</tt>
414
- # * <tt>wait_for_selected_id(select_locator, pattern)</tt>
415
- # * <tt>wait_for_not_selected_id(select_locator, pattern)</tt>
416
- def store_selected_id select_locator, variable_name
417
- command 'storeSelectedId', select_locator, variable_name
418
- end
419
-
420
- # Gets all option element IDs for selected options in the specified select
421
- # or multi-select element.
422
- #
423
- # Related Assertions, automatically generated:
424
- # * <tt>assert_selected_ids(select_locator, pattern)</tt>
425
- # * <tt>assert_not_selected_ids(select_locator, pattern)</tt>
426
- # * <tt>verify_selected_ids(select_locator, pattern)</tt>
427
- # * <tt>verify_not_selected_ids(select_locator, pattern)</tt>
428
- # * <tt>wait_for_selected_ids(select_locator, pattern)</tt>
429
- # * <tt>wait_for_not_selected_ids(select_locator, pattern)</tt>
430
- def store_selected_ids select_locator, variable_name
431
- command 'storeSelectedIds', select_locator, variable_name
432
- end
433
-
434
- # Gets option index (option number, starting at 0) for selected option in the
435
- # specified select element.
436
- #
437
- # Related Assertions, automatically generated:
438
- # * <tt>assert_selected_index(select_locator, pattern)</tt>
439
- # * <tt>assert_not_selected_index(select_locator, pattern)</tt>
440
- # * <tt>verify_selected_index(select_locator, pattern)</tt>
441
- # * <tt>verify_not_selected_index(select_locator, pattern)</tt>
442
- # * <tt>wait_for_selected_index(select_locator, pattern)</tt>
443
- # * <tt>wait_for_not_selected_index(select_locator, pattern)</tt>
444
- def store_selected_index select_locator, variable_name
445
- command 'storeSelectedIndex', select_locator, variable_name
446
- end
447
-
448
- # Gets all option indexes (option number, starting at 0) for selected options
449
- # in the specified select or multi-select element.
450
- #
451
- # Related Assertions, automatically generated:
452
- # * <tt>assert_selected_indexes(select_locator, pattern)</tt>
453
- # * <tt>assert_not_selected_indexes(select_locator, pattern)</tt>
454
- # * <tt>verify_selected_indexes(select_locator, pattern)</tt>
455
- # * <tt>verify_not_selected_indexes(select_locator, pattern)</tt>
456
- # * <tt>wait_for_selected_indexes(select_locator, pattern)</tt>
457
- # * <tt>wait_for_not_selected_indexes(select_locator, pattern)</tt>
458
- def store_selected_indexes select_locator, variable_name
459
- command 'storeSelectedIndexes', select_locator, variable_name
460
- end
461
-
462
- # Gets option label (visible text) for selected option in the specified select
463
- # element.
464
- #
465
- # Related Assertions, automatically generated:
466
- # * <tt>assert_selected_label(select_locator, pattern)</tt>
467
- # * <tt>assert_not_selected_label(select_locator, pattern)</tt>
468
- # * <tt>verify_selected_label(select_locator, pattern)</tt>
469
- # * <tt>verify_not_selected_label(select_locator, pattern)</tt>
470
- # * <tt>wait_for_selected_label(select_locator, pattern)</tt>
471
- # * <tt>wait_for_not_selected_label(select_locator, pattern)</tt>
472
- def store_selected_label select_locator, variable_name
473
- command 'storeSelectedLabel', select_locator, variable_name
474
- end
475
-
476
- # Gets all option labels (visible text) for selected options in the specified
477
- # select or multi-select element.
478
- #
479
- # Related Assertions, automatically generated:
480
- # * <tt>assert_selected_labels(select_locator, pattern)</tt>
481
- # * <tt>assert_not_selected_labels(select_locator, pattern)</tt>
482
- # * <tt>verify_selected_labels(select_locator, pattern)</tt>
483
- # * <tt>verify_not_selected_labels(select_locator, pattern)</tt>
484
- # * <tt>wait_for_selected_labels(select_locator, pattern)</tt>
485
- # * <tt>wait_for_not_selected_labels(select_locator, pattern)</tt>
486
- def store_selected_labels select_locator, variable_name
487
- command 'storeSelectedLabels', select_locator, variable_name
488
- end
489
-
490
- # Gets option value (value attribute) for selected option in the specified
491
- # select element.
492
- #
493
- # Related Assertions, automatically generated:
494
- # * <tt>assert_selected_value(select_locator, pattern)</tt>
495
- # * <tt>assert_not_selected_value(select_locator, pattern)</tt>
496
- # * <tt>verify_selected_value(select_locator, pattern)</tt>
497
- # * <tt>verify_not_selected_value(select_locator, pattern)</tt>
498
- # * <tt>wait_for_selected_value(select_locator, pattern)</tt>
499
- # * <tt>wait_for_not_selected_value(select_locator, pattern)</tt>
500
- def store_selected_value select_locator, variable_name
501
- command 'storeSelectedValue', select_locator, variable_name
502
- end
503
-
504
- # Gets all option values (value attribute) for selected options in the specified
505
- # select or multi-select element.
506
- #
507
- # Related Assertions, automatically generated:
508
- # * <tt>assert_selected_values(select_locator, pattern)</tt>
509
- # * <tt>assert_not_selected_values(select_locator, pattern)</tt>
510
- # * <tt>verify_selected_values(select_locator, pattern)</tt>
511
- # * <tt>verify_not_selected_values(select_locator, pattern)</tt>
512
- # * <tt>wait_for_selected_values(select_locator, pattern)</tt>
513
- # * <tt>wait_for_not_selected_values(select_locator, pattern)</tt>
514
- def store_selected_values select_locator, variable_name
515
- command 'storeSelectedValues', select_locator, variable_name
516
- end
517
-
518
- # Determines whether some option in a drop-down menu is selected.
519
- #
520
- # Related Assertions, automatically generated:
521
- # * <tt>assert_something_selected(select_locator)</tt>
522
- # * <tt>assert_not_something_selected(select_locator)</tt>
523
- # * <tt>verify_something_selected(select_locator)</tt>
524
- # * <tt>verify_not_something_selected(select_locator)</tt>
525
- # * <tt>wait_for_something_selected(select_locator)</tt>
526
- # * <tt>wait_for_not_something_selected(select_locator)</tt>
527
- def store_something_selected select_locator, variable_name
528
- command 'storeSomethingSelected', select_locator, variable_name
529
- end
530
-
531
- # Gets all option labels for selected options in the specified select or
532
- # multi-select element.
533
- #
534
- # The +pattern+ for the automatically generated assertions can either take an
535
- # array or a pattern.
536
- # assert_selected_options 'fruits', ['apple', 'pear']
537
- # assert_selected_options 'fruits', 'a*,p*'
538
- #
539
- # Related Assertions, automatically generated:
540
- # * <tt>assert_selected_options(locator, pattern)</tt>
541
- # * <tt>assert_not_selected_options(locator, pattern)</tt>
542
- # * <tt>verify_selected_options_present(locator, pattern)</tt>
543
- # * <tt>verify_not_selected_options(locator, pattern)</tt>
544
- # * <tt>wait_for_selected_options(locator, pattern)</tt>
545
- # * <tt>wait_for_not_selected_options(locator, pattern)</tt>
546
- def store_selected_options locator, variable_name
547
- command 'storeSelectedOptions', locator, variable_name
548
- end
549
-
550
- # Gets all option labels in the specified select drop-down.
551
- #
552
- # The +pattern+ for the automatically generated assertions can either take an
553
- # array or a pattern.
554
- # assert_select_options 'fruits', ['apple', 'pear']
555
- # assert_select_options 'fruits', 'a*,p*'
556
- #
557
- # Related Assertions, automatically generated:
558
- # * <tt>assert_select_options(locator, pattern)</tt>
559
- # * <tt>assert_not_select_options(locator, pattern)</tt>
560
- # * <tt>verify_select_options_present(locator, pattern)</tt>
561
- # * <tt>verify_not_select_options(locator, pattern)</tt>
562
- # * <tt>wait_for_select_options(locator, pattern)</tt>
563
- # * <tt>wait_for_not_select_options(locator, pattern)</tt>
564
- def store_select_options locator, variable_name
565
- command 'storeSelectOptions', locator, variable_name
566
- end
567
-
568
- # Gets the value of an element attribute.
569
- #
570
- # Related Assertions, automatically generated:
571
- # * <tt>assert_attribute(locator, attribute_name, pattern)</tt>
572
- # * <tt>assert_not_attribute(locator, attribute_name, pattern)</tt>
573
- # * <tt>verify_attribute_present(locator, attribute_name, pattern)</tt>
574
- # * <tt>verify_not_attribute(locator, attribute_name, pattern)</tt>
575
- # * <tt>wait_for_attribute(locator, attribute_name, pattern)</tt>
576
- # * <tt>wait_for_not_attribute(locator, attribute_name, pattern)</tt>
577
- def store_attribute locator, attribute_name, variable_name
578
- command 'storeAttribute', "#{locator}@#{attribute_name}", variable_name
579
- end
580
-
581
- # Check if these two elements have same parent and are ordered. Two
582
- # same elements will not be considered ordered.
583
- #
584
- # NOTE: <tt>store_ordered</tt> is currently not supported by Selenium Core.
585
- #
586
- # Related Assertions, automatically generated:
587
- # * <tt>assert_ordered(locator_1, locator_2)</tt>
588
- # * <tt>assert_not_ordered(locator_1, locator_2)</tt>
589
- # * <tt>verify_ordered(locator_1, locator_2)</tt>
590
- # * <tt>verify_not_ordered(locator_1, locator_2)</tt>
591
- # * <tt>wait_for_ordered(locator_1, locator_2)</tt>
592
- # * <tt>wait_for_not_ordered(locator_1, locator_2)</tt>
593
- def store_ordered locator_1, locator_2, variable_name
594
- raise 'Not supported in Selenium Core at the moment'
595
- end
596
-
597
- # Verifies that the specified text pattern appears somewhere on the rendered
598
- # page shown to the user.
599
- #
600
- # Related Assertions, automatically generated:
601
- # * <tt>assert_text_present(pattern)</tt>
602
- # * <tt>assert_text_not_present(pattern)</tt>
603
- # * <tt>verify_text_present(pattern)</tt>
604
- # * <tt>verify_text_not_present(pattern)</tt>
605
- # * <tt>wait_for_text_present(pattern)</tt>
606
- # * <tt>wait_for_text_not_present(pattern)</tt>
607
- def store_text_present pattern, variable_name
608
- command 'storeTextPresent', pattern, variable_name
609
- end
610
-
611
- # Verifies that the specified element is somewhere on the page.
612
- #
613
- # Related Assertions, automatically generated:
614
- # * <tt>assert_element_present(locator)</tt>
615
- # * <tt>assert_element_not_present(locator)</tt>
616
- # * <tt>verify_element_present(locator)</tt>
617
- # * <tt>verify_element_not_present(locator)</tt>
618
- # * <tt>wait_for_element_present(locator)</tt>
619
- # * <tt>wait_for_element_not_present(locator)</tt>
620
- def store_element_present locator, variable_name
621
- command 'storeElementPresent', locator, variable_name
622
- end
623
-
624
- # Determines if the specified element is visible. An element can be rendered
625
- # invisible by setting the CSS "visibility" property to "hidden", or the
626
- # "display" property to "none", either for the element itself or one if its
627
- # ancestors. This method will fail if the element is not present.
628
- #
629
- # Related Assertions, automatically generated:
630
- # * <tt>assert_visible(locator)</tt>
631
- # * <tt>assert_not_visible(locator)</tt>
632
- # * <tt>verify_visible(locator)</tt>
633
- # * <tt>verify_not_visible(locator)</tt>
634
- # * <tt>wait_for_visible(locator)</tt>
635
- # * <tt>wait_for_not_visible(locator)</tt>
636
- def store_visible locator, variable_name
637
- command 'storeVisible', locator, variable_name
638
- end
639
-
640
- # Retrieves the height of an element. This method will fail if the element
641
- # is not present.
642
- #
643
- # Related Assertions, automatically generated:
644
- # * <tt>assert_element_height(locator, pattern)</tt>
645
- # * <tt>assert_not_element_height(locator, pattern)</tt>
646
- # * <tt>verify_element_height(locator, pattern)</tt>
647
- # * <tt>verify_not_element_height(locator, pattern)</tt>
648
- # * <tt>wait_for_element_height(locator, pattern)</tt>
649
- # * <tt>wait_for_not_element_height(locator, pattern)</tt>
650
- def store_element_height locator, variable_name
651
- command 'storeElementHeight', locator, variable_name
652
- end
653
-
654
- # Get the relative index of an element to its parent (starting from 0).
655
- # The comment node and empty text node will be ignored.
656
- #
657
- # Related Assertions, automatically generated:
658
- # * <tt>assert_element_index(locator, pattern)</tt>
659
- # * <tt>assert_not_element_index(locator, pattern)</tt>
660
- # * <tt>verify_element_index(locator, pattern)</tt>
661
- # * <tt>verify_not_element_index(locator, pattern)</tt>
662
- # * <tt>wait_for_element_index(locator, pattern)</tt>
663
- # * <tt>wait_for_not_element_index(locator, pattern)</tt>
664
- def store_element_index locator, variable_name
665
- command 'storeElementIndex', locator, variable_name
666
- end
667
-
668
- # Retrieves the width of an element. This method will fail if the element
669
- # is not present.
670
- #
671
- # Related Assertions, automatically generated:
672
- # * <tt>assert_element_width(locator, pattern)</tt>
673
- # * <tt>assert_not_element_width(locator, pattern)</tt>
674
- # * <tt>verify_element_width(locator, pattern)</tt>
675
- # * <tt>verify_not_element_width(locator, pattern)</tt>
676
- # * <tt>wait_for_element_width(locator, pattern)</tt>
677
- # * <tt>wait_for_not_element_width(locator, pattern)</tt>
678
- def store_element_width locator, variable_name
679
- command 'storeElementWidth', locator, variable_name
680
- end
681
-
682
- # Retrieves the horizontal position of an element. This method will fail
683
- # if the element is not present.
684
- #
685
- # Related Assertions, automatically generated:
686
- # * <tt>assert_element_position_left(locator, pattern)</tt>
687
- # * <tt>assert_not_element_position_left(locator, pattern)</tt>
688
- # * <tt>verify_element_position_left(locator, pattern)</tt>
689
- # * <tt>verify_not_element_position_left(locator, pattern)</tt>
690
- # * <tt>wait_for_element_position_left(locator, pattern)</tt>
691
- # * <tt>wait_for_not_element_position_left(locator, pattern)</tt>
692
- def store_element_position_left locator, variable_name
693
- command 'storeElementPositionLeft', locator, variable_name
694
- end
695
-
696
- # Retrieves the vertical position of an element. This method will fail
697
- # if the element is not present.
698
- #
699
- # Related Assertions, automatically generated:
700
- # * <tt>assert_element_position_top(locator, pattern)</tt>
701
- # * <tt>assert_not_element_position_top(locator, pattern)</tt>
702
- # * <tt>verify_element_position_top(locator, pattern)</tt>
703
- # * <tt>verify_not_element_position_top(locator, pattern)</tt>
704
- # * <tt>wait_for_element_position_top(locator, pattern)</tt>
705
- # * <tt>wait_for_not_element_position_top(locator, pattern)</tt>
706
- def store_element_position_top locator, variable_name
707
- command 'storeElementPositionTop', locator, variable_name
708
- end
709
-
710
- # Return the contents of the log.
711
- #
712
- # Related Assertions, automatically generated:
713
- # * <tt>assert_log_messages(pattern)</tt>
714
- # * <tt>assert_not_log_messages(pattern)</tt>
715
- # * <tt>verify_log_messages(pattern)</tt>
716
- # * <tt>verify_not_log_messages(pattern)</tt>
717
- # * <tt>wait_for_log_messages(pattern)</tt>
718
- # * <tt>wait_for_not_log_messages(pattern)</tt>
719
- def store_log_messages variable_name
720
- command 'storeLogMessages', variable_name
721
- end
722
-
723
- # Determines whether the specified input element is editable, i.e. hasn't
724
- # been disabled. This method will fail if the specified element isn't an
725
- # input element.
726
- #
727
- # Related Assertions, automatically generated:
728
- # * <tt>assert_editable(locator)</tt>
729
- # * <tt>assert_not_editable(locator)</tt>
730
- # * <tt>verify_editable(locator)</tt>
731
- # * <tt>verify_not_editable(locator)</tt>
732
- # * <tt>wait_for_editable(locator)</tt>
733
- # * <tt>wait_for_not_editable(locator)</tt>
734
- def store_editable locator, variable_name
735
- command 'storeEditable', locator, variable_name
736
- end
737
-
738
- # Returns the IDs of all buttons on the page.
739
- #
740
- # If a given button has no ID, it will appear as "" in this array.
741
- #
742
- # The +pattern+ for the automatically generated assertions can either take an
743
- # array or a pattern.
744
- # assert_all_buttons ['but1', 'but2']
745
- # assert_all_buttons 'but?,but?*'
746
- #
747
- # Related Assertions, automatically generated:
748
- # * <tt>assert_all_buttons(pattern)</tt>
749
- # * <tt>assert_not_all_buttons(pattern)</tt>
750
- # * <tt>verify_all_buttons(pattern)</tt>
751
- # * <tt>verify_not_all_buttons(pattern)</tt>
752
- # * <tt>wait_for_all_buttons(pattern)</tt>
753
- # * <tt>wait_for_not_all_buttons(pattern)</tt>
754
- def store_all_buttons variable_name
755
- command 'storeAllButtons', variable_name
756
- end
757
-
758
- # Returns the IDs of all links on the page.
759
- #
760
- # If a given link has no ID, it will appear as "" in this array.
761
- #
762
- # The +pattern+ for the automatically generated assertions can either take an
763
- # array or a pattern.
764
- # assert_all_links ['link1', 'link2']
765
- # assert_all_links 'link?,link?*'
766
- #
767
- # Related Assertions, automatically generated:
768
- # * <tt>assert_all_links(pattern)</tt>
769
- # * <tt>assert_not_all_links(pattern)</tt>
770
- # * <tt>verify_all_links(pattern)</tt>
771
- # * <tt>verify_not_all_links(pattern)</tt>
772
- # * <tt>wait_for_all_links(pattern)</tt>
773
- # * <tt>wait_for_not_all_links(pattern)</tt>
774
- def store_all_links variable_name
775
- command 'storeAllLinks', variable_name
776
- end
777
-
778
- # Returns the IDs of all input fields on the page.
779
- #
780
- # If a given field has no ID, it will appear as "" in this array.
781
- #
782
- # The +pattern+ for the automatically generated assertions can either take an
783
- # array or a pattern.
784
- # assert_all_fields ['field1', 'field2']
785
- # assert_all_fields 'field?,field?*'
786
- #
787
- # Related Assertions, automatically generated:
788
- # * <tt>assert_all_fields(pattern)</tt>
789
- # * <tt>assert_not_all_fields(pattern)</tt>
790
- # * <tt>verify_all_fields(pattern)</tt>
791
- # * <tt>verify_not_all_fields(pattern)</tt>
792
- # * <tt>wait_for_all_fields(pattern)</tt>
793
- # * <tt>wait_for_not_all_fields(pattern)</tt>
794
- def store_all_fields variable_name
795
- command 'storeAllFields', variable_name
796
- end
797
-
798
- # Returns the entire HTML source between the opening and closing "html" tags.
799
- #
800
- # Related Assertions, automatically generated:
801
- # * <tt>assert_html_source(pattern)</tt>
802
- # * <tt>assert_not_html_source(pattern)</tt>
803
- # * <tt>verify_html_source(pattern)</tt>
804
- # * <tt>verify_not_html_source(pattern)</tt>
805
- # * <tt>wait_for_html_source(pattern)</tt>
806
- # * <tt>wait_for_not_html_source(pattern)</tt>
807
- def store_html_source variable_name
808
- command 'storeHtmlSource', variable_name
809
- end
810
-
811
- # Returns the specified expression.
812
- #
813
- # This is useful because of JavaScript preprocessing.
814
- #
815
- # Related Assertions, automatically generated:
816
- # * <tt>assert_expression(expression, pattern)</tt>
817
- # * <tt>assert_not_expression(expression, pattern)</tt>
818
- # * <tt>verify_expression(expression, pattern)</tt>
819
- # * <tt>verify_not_expression(expression, pattern)</tt>
820
- # * <tt>wait_for_expression(expression, pattern)</tt>
821
- # * <tt>wait_for_not_expression(expression, pattern)</tt>
822
- def store_expression expression, variable_name
823
- command 'storeExpression', expression, variable_name
824
- end
825
-
826
- # Determine whether current/locator identify the frame containing this
827
- # running code.
828
- #
829
- # This is useful in proxy injection mode, where this code runs in every
830
- # browser frame and window, and sometimes the selenium server needs to
831
- # identify the "current" frame. In this case, when the test calls select_frame,
832
- # this routine is called for each frame to figure out which one has been
833
- # selected. The selected frame will return true, while all others will return
834
- # false.
835
- #
836
- # NOTE: <tt>store_whether_this_frame_match_frame_expression</tt> is currently
837
- # not supported by Selenium Core.
838
- #
839
- # Related Assertions, automatically generated:
840
- # * <tt>assert_whether_this_frame_match_frame_expression(current_frame_string, target)</tt>
841
- # * <tt>assert_not_whether_this_frame_match_frame_expression(current_frame_string, target)</tt>
842
- # * <tt>verify_whether_this_frame_match_frame_expression(current_frame_string, target)</tt>
843
- # * <tt>verify_not_whether_this_frame_match_frame_expression(current_frame_string, target)</tt>
844
- # * <tt>wait_for_whether_this_frame_match_frame_expression(current_frame_string, target)</tt>
845
- # * <tt>wait_for_not_whether_this_frame_match_frame_expression(current_frame_string, target)</tt>
846
- def store_whether_this_frame_match_frame_expression current_frame_string, target, variable_name
847
- raise 'Not supported in Selenium Core at the moment'
848
- end
849
-
850
- # Determine whether current_window_string plus target identify the window
851
- # containing this running code.
852
- #
853
- # This is useful in proxy injection mode, where this code runs in every browser
854
- # frame and window, and sometimes the selenium server needs to identify the
855
- # "current" window. In this case, when the test calls select_window, this routine
856
- # is called for each window to figure out which one has been selected. The selected
857
- # window will return true, while all others will return false.
858
- #
859
- # NOTE: <tt>store_whether_this_window_match_window_expression</tt> is currently
860
- # not supported by Selenium Core.
861
- #
862
- # Related Assertions, automatically generated:
863
- # * <tt>assert_whether_this_window_match_window_expression(current_window_string, target)</tt>
864
- # * <tt>assert_not_whether_this_window_match_window_expression(current_window_string, target)</tt>
865
- # * <tt>verify_whether_this_window_match_window_expression(current_window_string, target)</tt>
866
- # * <tt>verify_not_whether_this_window_match_window_expression(current_window_string, target)</tt>
867
- # * <tt>wait_for_whether_this_window_match_window_expression(current_window_string, target)</tt>
868
- # * <tt>wait_for_not_whether_this_window_match_window_expression(current_window_string, target)</tt>
869
- def store_whether_this_window_match_window_expression current_window_string, target, variable_name
870
- raise 'Not supported in Selenium Core at the moment'
871
- end
872
-
873
- private
874
- # Generates all assertions for the accessors.
875
- def self.generate_methods
876
- public_instance_methods.each do |method|
877
- case method
878
- when 'store_alert_present',
879
- 'store_prompt_present',
880
- 'store_confirmation_present'
881
- each_assertion method do |assertion_method, command_name|
882
- define_method assertion_method do
883
- command command_name
884
- end
885
- end
886
- when 'store_error_on_next',
887
- 'store_failure_on_next',
888
- 'store_alert',
889
- 'store_all_window_ids',
890
- 'store_all_window_names',
891
- 'store_all_window_titles',
892
- 'store_confirmation',
893
- 'store_cookie',
894
- 'store_log_messages',
895
- 'store_mouse_speed',
896
- 'store_prompt',
897
- 'store_title',
898
- 'store_body_text',
899
- 'store_text_present',
900
- 'store_element_present',
901
- 'store_visible',
902
- 'store_editable',
903
- 'store_html_source',
904
- 'store_checked',
905
- 'store_something_selected'
906
- each_assertion method do |assertion_method, command_name|
907
- define_method assertion_method do |pattern|
908
- command command_name, pattern
909
- end
910
- end
911
- when 'store_attribute_from_all_windows',
912
- 'store_value',
913
- 'store_text',
914
- 'store_eval',
915
- 'store_cursor_position',
916
- 'store_selected',
917
- 'store_selected_id',
918
- 'store_selected_ids',
919
- 'store_selected_index',
920
- 'store_selected_indexes',
921
- 'store_selected_label',
922
- 'store_selected_labels',
923
- 'store_selected_value',
924
- 'store_selected_values',
925
- 'store_element_height',
926
- 'store_element_index',
927
- 'store_element_width',
928
- 'store_element_position_left',
929
- 'store_element_position_top',
930
- 'store_expression',
931
- 'store_ordered',
932
- 'store_whether_this_frame_match_frame_expression',
933
- 'store_whether_this_window_match_window_expression'
934
- each_assertion method do |assertion_method, command_name|
935
- define_method assertion_method do |arg1, arg2|
936
- command command_name, arg1, arg2
937
- end
938
- end
939
- when 'store_all_buttons',
940
- 'store_all_links',
941
- 'store_all_fields'
942
- each_assertion method do |assertion_method, command_name|
943
- define_method assertion_method do |pattern|
944
- command command_name, collection_arg(pattern)
945
- end
946
- end
947
- when 'store_select_options',
948
- 'store_selected_options'
949
- each_assertion method do |assertion_method, command_name|
950
- define_method assertion_method do |locator, pattern|
951
- command command_name, locator, collection_arg(pattern)
952
- end
953
- end
954
- when 'store_attribute'
955
- each_assertion method do |assertion_method, command_name|
956
- define_method assertion_method do |locator, attribute_name, pattern|
957
- command command_name, "#{locator}@#{attribute_name}", pattern
958
- end
959
- end
960
- when 'store_table'
961
- each_assertion method do |assertion_method, command_name|
962
- define_method assertion_method do |locator, row, column, pattern|
963
- command command_name, "#{locator}.#{row}.#{column}", pattern
964
- end
965
- end
966
- when 'store_absolute_location',
967
- 'store_location'
968
- each_assertion method do |assertion_method, command_name|
969
- define_method assertion_method do |pattern|
970
- if method == 'store_absolute_location' and pattern.is_a? Hash
971
- pattern[:only_path] = false
972
- end
973
-
974
- command command_name, url_arg(pattern)
975
- end
976
- end
977
- when /^store_/
978
- raise 'internal error'
979
- end
980
- end
981
- end
982
-
983
- # Generates all the assertions needed given a +store_method+.
984
- def self.each_assertion store_method
985
- before_negation = nil
986
- after_negation = store_method.split('_')[1..-1] #throw away 'store'
987
- if after_negation.last == 'present'
988
- before_negation, after_negation = after_negation, after_negation.pop
989
- end
990
-
991
- ['assert', 'verify', ['wait','for']].each do |action|
992
- [nil, 'not'].each do |negation|
993
- name = [action, before_negation, negation, after_negation].flatten.reject{|a|a.nil?}
994
- method_name = name.join '_'
995
- command = name.inject(name.shift.clone) {|n, p| n << p.capitalize}
996
- yield method_name, command
997
- end
998
- end
999
- end
1000
-
1001
- generate_methods
1002
- end