bauxite 0.6.18 → 0.6.19

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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -21
  3. data/README.md +293 -293
  4. data/Rakefile +128 -128
  5. data/bin/bauxite +27 -27
  6. data/doc/Bauxite.html +6 -9
  7. data/doc/Bauxite/Action.html +298 -315
  8. data/doc/Bauxite/ActionModule.html +23 -26
  9. data/doc/Bauxite/Application.html +36 -38
  10. data/doc/Bauxite/Context.html +303 -303
  11. data/doc/Bauxite/Errors.html +6 -9
  12. data/doc/Bauxite/Errors/AssertionError.html +6 -9
  13. data/doc/Bauxite/Errors/FileNotFoundError.html +6 -9
  14. data/doc/Bauxite/Errors/FormatError.html +6 -9
  15. data/doc/Bauxite/Loggers.html +6 -9
  16. data/doc/Bauxite/Loggers/CompositeLogger.html +29 -32
  17. data/doc/Bauxite/Loggers/EchoLogger.html +10 -13
  18. data/doc/Bauxite/Loggers/FileLogger.html +25 -28
  19. data/doc/Bauxite/Loggers/HtmlLogger.html +99 -102
  20. data/doc/Bauxite/Loggers/NullLogger.html +16 -19
  21. data/doc/Bauxite/Loggers/ReportLogger.html +43 -46
  22. data/doc/Bauxite/Loggers/TerminalLogger.html +76 -79
  23. data/doc/Bauxite/Loggers/XtermLogger.html +28 -31
  24. data/doc/Bauxite/Parser.html +87 -89
  25. data/doc/Bauxite/ParserModule.html +19 -22
  26. data/doc/Bauxite/Selector.html +99 -105
  27. data/doc/Bauxite/SelectorModule.html +27 -30
  28. data/doc/README_md.html +117 -103
  29. data/doc/created.rid +58 -58
  30. data/doc/fonts.css +167 -167
  31. data/doc/fonts/Lato-Light.ttf +0 -0
  32. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  33. data/doc/fonts/Lato-Regular.ttf +0 -0
  34. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  35. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  36. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  37. data/doc/images/add.png +0 -0
  38. data/doc/images/arrow_up.png +0 -0
  39. data/doc/images/brick.png +0 -0
  40. data/doc/images/brick_link.png +0 -0
  41. data/doc/images/bug.png +0 -0
  42. data/doc/images/bullet_black.png +0 -0
  43. data/doc/images/bullet_toggle_minus.png +0 -0
  44. data/doc/images/bullet_toggle_plus.png +0 -0
  45. data/doc/images/date.png +0 -0
  46. data/doc/images/delete.png +0 -0
  47. data/doc/images/find.png +0 -0
  48. data/doc/images/loadingAnimation.gif +0 -0
  49. data/doc/images/macFFBgHack.png +0 -0
  50. data/doc/images/package.png +0 -0
  51. data/doc/images/page_green.png +0 -0
  52. data/doc/images/page_white_text.png +0 -0
  53. data/doc/images/page_white_width.png +0 -0
  54. data/doc/images/plugin.png +0 -0
  55. data/doc/images/ruby.png +0 -0
  56. data/doc/images/tag_blue.png +0 -0
  57. data/doc/images/tag_green.png +0 -0
  58. data/doc/images/transparent.png +0 -0
  59. data/doc/images/wrench.png +0 -0
  60. data/doc/images/wrench_orange.png +0 -0
  61. data/doc/images/zoom.png +0 -0
  62. data/doc/index.html +117 -103
  63. data/doc/js/darkfish.js +32 -11
  64. data/doc/js/jquery.js +0 -0
  65. data/doc/js/navigation.js +0 -0
  66. data/doc/js/search.js +0 -0
  67. data/doc/js/search_index.js +1 -1
  68. data/doc/js/searcher.js +0 -0
  69. data/doc/rdoc.css +580 -580
  70. data/doc/table_of_contents.html +69 -72
  71. data/lib/bauxite.rb +28 -28
  72. data/lib/bauxite/actions/alias.rb +51 -51
  73. data/lib/bauxite/actions/assert.rb +49 -49
  74. data/lib/bauxite/actions/asserth.rb +60 -60
  75. data/lib/bauxite/actions/assertm.rb +49 -49
  76. data/lib/bauxite/actions/assertv.rb +40 -40
  77. data/lib/bauxite/actions/assertw.rb +47 -47
  78. data/lib/bauxite/actions/break.rb +39 -39
  79. data/lib/bauxite/actions/capture.rb +61 -61
  80. data/lib/bauxite/actions/click.rb +36 -36
  81. data/lib/bauxite/actions/debug.rb +103 -103
  82. data/lib/bauxite/actions/doif.rb +43 -43
  83. data/lib/bauxite/actions/dounless.rb +43 -43
  84. data/lib/bauxite/actions/echo.rb +36 -36
  85. data/lib/bauxite/actions/exec.rb +46 -46
  86. data/lib/bauxite/actions/exit.rb +35 -35
  87. data/lib/bauxite/actions/failif.rb +52 -52
  88. data/lib/bauxite/actions/js.rb +41 -41
  89. data/lib/bauxite/actions/load.rb +49 -49
  90. data/lib/bauxite/actions/open.rb +35 -35
  91. data/lib/bauxite/actions/params.rb +40 -40
  92. data/lib/bauxite/actions/replace.rb +37 -37
  93. data/lib/bauxite/actions/reset.rb +38 -38
  94. data/lib/bauxite/actions/return.rb +68 -68
  95. data/lib/bauxite/actions/ruby.rb +58 -58
  96. data/lib/bauxite/actions/select.rb +48 -48
  97. data/lib/bauxite/actions/set.rb +39 -39
  98. data/lib/bauxite/actions/setif.rb +44 -44
  99. data/lib/bauxite/actions/source.rb +44 -44
  100. data/lib/bauxite/actions/store.rb +38 -38
  101. data/lib/bauxite/actions/submit.rb +37 -37
  102. data/lib/bauxite/actions/test.rb +67 -67
  103. data/lib/bauxite/actions/tryload.rb +71 -71
  104. data/lib/bauxite/actions/wait.rb +38 -38
  105. data/lib/bauxite/actions/write.rb +44 -44
  106. data/lib/bauxite/application.rb +349 -349
  107. data/lib/bauxite/core/action.rb +199 -199
  108. data/lib/bauxite/core/context.rb +791 -791
  109. data/lib/bauxite/core/errors.rb +41 -41
  110. data/lib/bauxite/core/logger.rb +169 -169
  111. data/lib/bauxite/core/parser.rb +85 -85
  112. data/lib/bauxite/core/selector.rb +152 -152
  113. data/lib/bauxite/loggers/composite.rb +91 -91
  114. data/lib/bauxite/loggers/echo.rb +36 -36
  115. data/lib/bauxite/loggers/file.rb +68 -68
  116. data/lib/bauxite/loggers/html.rb +154 -154
  117. data/lib/bauxite/loggers/terminal.rb +134 -134
  118. data/lib/bauxite/loggers/xterm.rb +101 -101
  119. data/lib/bauxite/parsers/csv.rb +43 -43
  120. data/lib/bauxite/parsers/default.rb +42 -42
  121. data/lib/bauxite/parsers/html.rb +79 -79
  122. data/lib/bauxite/selectors/attr.rb +39 -39
  123. data/lib/bauxite/selectors/frame.rb +60 -60
  124. data/lib/bauxite/selectors/json.rb +88 -88
  125. data/lib/bauxite/selectors/sid.rb +38 -38
  126. data/lib/bauxite/selectors/smart.rb +80 -80
  127. data/lib/bauxite/selectors/window.rb +77 -77
  128. data/test/alert.bxt +3 -3
  129. data/test/alert/page.html +4 -4
  130. data/test/alias.bxt +9 -9
  131. data/test/asserth.bxt +2 -2
  132. data/test/assertv.bxt +1 -1
  133. data/test/assertw.bxt +7 -7
  134. data/test/broken.bxt.manual +0 -0
  135. data/test/bug_load_path.bxt.manual +0 -0
  136. data/test/bug_load_path/broken.bxt.manual +0 -0
  137. data/test/bug_load_path/test.bxt +0 -0
  138. data/test/capture.bxt.manual +20 -20
  139. data/test/capture/my_test.bxt +1 -1
  140. data/test/capture/page.html +6 -6
  141. data/test/capture_on_error.bxt.manual +3 -3
  142. data/test/capture_on_error/my_test.bxt +1 -1
  143. data/test/capture_on_error/page.html +2 -2
  144. data/test/debug.bxt.manual +0 -0
  145. data/test/default_selector.bxt.manual +7 -7
  146. data/test/default_selector/page.html +10 -10
  147. data/test/default_selector_var.bxt +1 -1
  148. data/test/delay.bxt +2 -2
  149. data/test/delay/page.html +4 -4
  150. data/test/doif.bxt +6 -6
  151. data/test/dounless.bxt +6 -6
  152. data/test/exec.bxt +6 -6
  153. data/test/exit.bxt +3 -3
  154. data/test/exit/test.bxt +3 -3
  155. data/test/extension.bxt.manual +4 -4
  156. data/test/extension/custom.rb +12 -12
  157. data/test/extension/page.html +4 -4
  158. data/test/failif.bxt +7 -7
  159. data/test/failif/page.html +5 -5
  160. data/test/format.bxt +17 -17
  161. data/test/format/page.html +6 -6
  162. data/test/frame.bxt +6 -6
  163. data/test/frame/child_frame.html +6 -6
  164. data/test/frame/grandchild_frame.html +4 -4
  165. data/test/frame/page.html +4 -4
  166. data/test/js.bxt +4 -4
  167. data/test/json.bxt +19 -19
  168. data/test/json/array.json +3 -3
  169. data/test/json/object.json +13 -13
  170. data/test/load.bxt +18 -18
  171. data/test/load/child.bxt +12 -12
  172. data/test/parsers.bxt +1 -1
  173. data/test/parsers.csv +7 -7
  174. data/test/parsers.html +32 -32
  175. data/test/parsers/page.html +6 -6
  176. data/test/return.bxt +1 -1
  177. data/test/return/f1.bxt +1 -1
  178. data/test/return/f2.bxt +1 -1
  179. data/test/return/f3.bxt +1 -1
  180. data/test/return/f4.bxt +2 -2
  181. data/test/ruby.bxt +1 -1
  182. data/test/ruby/custom.rb +5 -5
  183. data/test/select.bxt +9 -9
  184. data/test/select/page.html +8 -8
  185. data/test/selectors.bxt +7 -7
  186. data/test/selectors/page.html +6 -6
  187. data/test/set_builtin.bxt +5 -0
  188. data/test/set_builtin/page.html +5 -0
  189. data/test/setif.bxt +3 -3
  190. data/test/smart_selector.bxt +17 -17
  191. data/test/smart_selector/page.html +17 -17
  192. data/test/stdin.bxt +0 -0
  193. data/test/submit.bxt +4 -4
  194. data/test/submit/page.html +6 -6
  195. data/test/submit/page2.html +4 -4
  196. data/test/test.bxt.manual +6 -6
  197. data/test/test/test1.bxt +2 -2
  198. data/test/test/test2.bxt +3 -3
  199. data/test/test/test3.bxt +2 -2
  200. data/test/test/test4.bxt +1 -1
  201. data/test/test/test5.bxt +1 -1
  202. data/test/window.bxt +14 -14
  203. data/test/window/page.html +5 -5
  204. data/test/window/popup.html +4 -4
  205. metadata +5 -3
@@ -6,20 +6,17 @@
6
6
 
7
7
  <title>module Bauxite::ActionModule - RDoc Documentation</title>
8
8
 
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
9
  <script type="text/javascript">
13
10
  var rdoc_rel_prefix = "../";
14
11
  </script>
15
12
 
16
13
  <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
14
  <script src="../js/darkfish.js"></script>
22
15
 
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
23
20
 
24
21
  <body id="top" role="document" class="module">
25
22
  <nav role="navigation">
@@ -175,17 +172,17 @@
175
172
 
176
173
  <div class="method-source-code" id="new-source">
177
174
  <pre><span class="ruby-comment"># File lib/bauxite/core/action.rb, line 36</span>
178
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>, <span class="ruby-identifier">cmd</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
179
- <span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
180
- <span class="ruby-ivar">@cmd</span> = <span class="ruby-identifier">cmd</span>
181
- <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span>
182
- <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
183
-
184
- <span class="ruby-ivar">@cmd_real</span> = (<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">cmd</span><span class="ruby-operator">+</span><span class="ruby-string">&#39;_action&#39;</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">cmd</span><span class="ruby-operator">+</span><span class="ruby-string">&#39;_action&#39;</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">cmd</span>
185
-
186
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">respond_to?</span> <span class="ruby-ivar">@cmd_real</span> <span class="ruby-keyword">and</span> <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">actions</span>.<span class="ruby-identifier">include?</span> <span class="ruby-ivar">@cmd</span>
187
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): Unknown command #{cmd}.&quot;</span>
188
- <span class="ruby-keyword">end</span>
175
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>, <span class="ruby-identifier">cmd</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
176
+ <span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
177
+ <span class="ruby-ivar">@cmd</span> = <span class="ruby-identifier">cmd</span>
178
+ <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span>
179
+ <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
180
+
181
+ <span class="ruby-ivar">@cmd_real</span> = (<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">cmd</span><span class="ruby-operator">+</span><span class="ruby-string">&#39;_action&#39;</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">cmd</span><span class="ruby-operator">+</span><span class="ruby-string">&#39;_action&#39;</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">cmd</span>
182
+
183
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">respond_to?</span> <span class="ruby-ivar">@cmd_real</span> <span class="ruby-keyword">and</span> <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">actions</span>.<span class="ruby-identifier">include?</span> <span class="ruby-ivar">@cmd</span>
184
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): Unknown command #{cmd}.&quot;</span>
185
+ <span class="ruby-keyword">end</span>
189
186
  <span class="ruby-keyword">end</span></pre>
190
187
  </div>
191
188
 
@@ -245,10 +242,10 @@ quote characters (“) and every quote inside an argument is doubled.</p>
245
242
 
246
243
  <div class="method-source-code" id="args-source">
247
244
  <pre><span class="ruby-comment"># File lib/bauxite/core/action.rb, line 69</span>
248
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">args</span>(<span class="ruby-identifier">quote</span> = <span class="ruby-keyword">false</span>)
249
- <span class="ruby-identifier">ret</span> = <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">expand</span>(<span class="ruby-identifier">a</span>) }
250
- <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-string">&#39;&quot;&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">a</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&quot;&#39;</span>, <span class="ruby-string">&#39;&quot;&quot;&#39;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&#39;&quot;&#39;</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">quote</span>
251
- <span class="ruby-identifier">ret</span>
245
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">args</span>(<span class="ruby-identifier">quote</span> = <span class="ruby-keyword">false</span>)
246
+ <span class="ruby-identifier">ret</span> = <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">expand</span>(<span class="ruby-identifier">a</span>) }
247
+ <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-string">&#39;&quot;&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">a</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&quot;&#39;</span>, <span class="ruby-string">&#39;&quot;&quot;&#39;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&#39;&quot;&#39;</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">quote</span>
248
+ <span class="ruby-identifier">ret</span>
252
249
  <span class="ruby-keyword">end</span></pre>
253
250
  </div>
254
251
 
@@ -299,8 +296,8 @@ might yield different results.</p>
299
296
 
300
297
  <div class="method-source-code" id="execute-source">
301
298
  <pre><span class="ruby-comment"># File lib/bauxite/core/action.rb, line 91</span>
302
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">execute</span>()
303
- <span class="ruby-identifier">send</span>(<span class="ruby-ivar">@cmd_real</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
299
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">execute</span>()
300
+ <span class="ruby-identifier">send</span>(<span class="ruby-ivar">@cmd_real</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
304
301
  <span class="ruby-keyword">end</span></pre>
305
302
  </div>
306
303
 
@@ -320,7 +317,7 @@ might yield different results.</p>
320
317
 
321
318
  <footer id="validator-badges" role="contentinfo">
322
319
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
323
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
324
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
320
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
321
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
325
322
  </footer>
326
323
 
@@ -6,20 +6,17 @@
6
6
 
7
7
  <title>class Bauxite::Application - RDoc Documentation</title>
8
8
 
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
9
  <script type="text/javascript">
13
10
  var rdoc_rel_prefix = "../";
14
11
  </script>
15
12
 
16
13
  <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
14
  <script src="../js/darkfish.js"></script>
22
15
 
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
23
20
 
24
21
  <body id="top" role="document" class="class">
25
22
  <nav role="navigation">
@@ -93,24 +90,24 @@
93
90
  <p>This program executes <a href="../Bauxite.html">Bauxite</a> tests and
94
91
  outputs the execution progress and tests results to the terminal.</p>
95
92
 
96
- <h2 id="class-Bauxite::Application-label-Synopsis">Synopsis<span><a href="#class-Bauxite::Application-label-Synopsis">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
93
+ <h2 id="class-Bauxite::Application-label-Synopsis">Synopsis<span><a href="#class-Bauxite::Application-label-Synopsis">&para;</a> <a href="#top">&uarr;</a></span></h2>
97
94
 
98
- <pre class="ruby"><span class="ruby-identifier">bauxite</span> [<span class="ruby-constant">OPTIONS</span>] <span class="ruby-identifier">file1</span> <span class="ruby-identifier">file2</span> <span class="ruby-operator">...</span>
99
- <span class="ruby-comment"># =&gt; Executes file1, then file2, and so on.</span>
95
+ <pre>bauxite [OPTIONS] file1 file2 ...
96
+ # =&gt; Executes file1, then file2, and so on.
100
97
 
101
- <span class="ruby-identifier">bauxite</span> [<span class="ruby-constant">OPTIONS</span>] <span class="ruby-operator">-</span><span class="ruby-identifier">d</span>
102
- <span class="ruby-comment"># =&gt; Start Bauxite directly in the debug console.</span>
98
+ bauxite [OPTIONS] -d
99
+ # =&gt; Start Bauxite directly in the debug console.
103
100
 
104
- <span class="ruby-identifier">bauxite</span> [<span class="ruby-constant">OPTIONS</span>]
105
- <span class="ruby-comment"># =&gt; Start Bauxite and read test actions from the standard input.</span>
106
- </pre>
101
+ bauxite [OPTIONS]
102
+ # =&gt; Start Bauxite and read test actions from the standard input.</pre>
107
103
 
108
- <h2 id="class-Bauxite::Application-label-Options">Options<span><a href="#class-Bauxite::Application-label-Options">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
104
+ <h2 id="class-Bauxite::Application-label-Options">Options<span><a href="#class-Bauxite::Application-label-Options">&para;</a> <a href="#top">&uarr;</a></span></h2>
109
105
 
110
106
  <p>For a detailed list of options for your <a
111
107
  href="../Bauxite.html">Bauxite</a> version execute:</p>
112
108
 
113
- <pre>bauxite -h</pre>
109
+ <pre class="ruby"><span class="ruby-identifier">bauxite</span> <span class="ruby-operator">-</span><span class="ruby-identifier">h</span>
110
+ </pre>
114
111
  <dl class="rdoc-list label-list"><dt>-v, --verbose
115
112
  <dd>
116
113
  <p>Show verbose error messages (i.e. print exception names and backtraces).</p>
@@ -164,7 +161,8 @@ otherwise it defaults to <code>terminal</code>.</p>
164
161
 
165
162
  <p>To see a complete list of the available loggers execute:</p>
166
163
 
167
- <pre>bauxite -h</pre>
164
+ <pre class="ruby"><span class="ruby-identifier">bauxite</span> <span class="ruby-operator">-</span><span class="ruby-identifier">h</span>
165
+ </pre>
168
166
 
169
167
  <p>Note that multiple instances of this option can be specified.</p>
170
168
  </dd><dt>-L, --logger-option OPTION
@@ -189,7 +187,8 @@ does not contain an <code>=</code> sign.</p>
189
187
 
190
188
  <p>To see a complete list of the available selectors execute:</p>
191
189
 
192
- <pre>bauxite -h</pre>
190
+ <pre class="ruby"><span class="ruby-identifier">bauxite</span> <span class="ruby-operator">-</span><span class="ruby-identifier">h</span>
191
+ </pre>
193
192
  </dd><dt>-c, --capture
194
193
  <dd>
195
194
  <p>If the test fails, capture a screenshot in the <code>output</code>
@@ -233,28 +232,27 @@ href="Loggers.html">Loggers</a>, etc.) for a specific test run.</p>
233
232
 
234
233
  <p>For example:</p>
235
234
 
236
- <pre class="ruby"><span class="ruby-comment"># === custom/my_selector.rb ======= #</span>
237
- <span class="ruby-keyword">class</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Selector</span>
238
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">by_attr</span>(<span class="ruby-identifier">value</span>)
239
- <span class="ruby-identifier">attr</span> <span class="ruby-node">&quot;by_attr:#{value}&quot;</span>
240
- <span class="ruby-keyword">end</span>
241
- <span class="ruby-keyword">end</span>
242
- <span class="ruby-comment"># === end custom/my_selector.rb === #</span>
243
-
244
- <span class="ruby-comment"># === custom/my_test.bxt ========== #</span>
245
- <span class="ruby-comment"># ...</span>
246
- <span class="ruby-identifier">assert</span> <span class="ruby-string">&quot;by_attr=attr_value&quot;</span> <span class="ruby-identifier">hello</span>
247
- <span class="ruby-comment"># ...</span>
248
- <span class="ruby-comment"># === end custom/my_test.bxt ====== #</span>
249
-
250
- <span class="ruby-identifier">bauxite</span> <span class="ruby-operator">-</span><span class="ruby-identifier">e</span> <span class="ruby-identifier">custom</span> <span class="ruby-identifier">custom</span><span class="ruby-operator">/</span><span class="ruby-identifier">my_test</span>.<span class="ruby-identifier">bxt</span>
251
- </pre>
235
+ <pre># === custom/my_selector.rb ======= #
236
+ class Bauxite::Selector
237
+ def by_attr(value)
238
+ attr &quot;by_attr:#{value}&quot;
239
+ end
240
+ end
241
+ # === end custom/my_selector.rb === #
242
+
243
+ # === custom/my_test.bxt ========== #
244
+ # ...
245
+ assert &quot;by_attr=attr_value&quot; hello
246
+ # ...
247
+ # === end custom/my_test.bxt ====== #
248
+
249
+ bauxite -e custom custom/my_test.bxt</pre>
252
250
  </dd><dt>--version
253
251
  <dd>
254
252
  <p>Shows the <a href="../Bauxite.html">Bauxite</a> version.</p>
255
253
  </dd></dl>
256
254
 
257
- <h2 id="class-Bauxite::Application-label-Exit+Status">Exit Status<span><a href="#class-Bauxite::Application-label-Exit+Status">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
255
+ <h2 id="class-Bauxite::Application-label-Exit+Status">Exit Status<span><a href="#class-Bauxite::Application-label-Exit+Status">&para;</a> <a href="#top">&uarr;</a></span></h2>
258
256
 
259
257
  <p>The <code>bauxite</code> program exits with <code>zero</code> if every
260
258
  action in the test succeeded and <code>non-zero</code> otherwise.</p>
@@ -285,7 +283,7 @@ indicates success).</p>
285
283
 
286
284
  <footer id="validator-badges" role="contentinfo">
287
285
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
288
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
289
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
286
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
287
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
290
288
  </footer>
291
289
 
@@ -6,20 +6,17 @@
6
6
 
7
7
  <title>class Bauxite::Context - RDoc Documentation</title>
8
8
 
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
9
  <script type="text/javascript">
13
10
  var rdoc_rel_prefix = "../";
14
11
  </script>
15
12
 
16
13
  <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
14
  <script src="../js/darkfish.js"></script>
22
15
 
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
23
20
 
24
21
  <body id="top" role="document" class="class">
25
22
  <nav role="navigation">
@@ -173,7 +170,7 @@
173
170
  by clients execute tests and by actions and selectors to interact with the
174
171
  test engine (i.e. Selenium WebDriver).</p>
175
172
 
176
- <h3 id="class-Bauxite::Context-label-Context+variables"><a href="Context.html">Context</a> variables<span><a href="#class-Bauxite::Context-label-Context+variables">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
173
+ <h3 id="class-Bauxite::Context-label-Context+variables"><a href="Context.html">Context</a> variables<span><a href="#class-Bauxite::Context-label-Context+variables">&para;</a> <a href="#top">&uarr;</a></span></h3>
177
174
 
178
175
  <p><a href="Context.html">Context</a> variables are a key/value pairs scoped
179
176
  to the a test context.</p>
@@ -193,7 +190,7 @@ variable to the output of an external command (i.e. stdout).</p>
193
190
  the result of Javascript command.</p>
194
191
  </li><li>
195
192
  <p><a href="Action.html#method-i-replace">Bauxite::Action#replace</a> sets a
196
- variable to the result of doing a find-and-replace operation on a literal.</p>
193
+ variable to the result of doing a find-and-replace operation on a literal.</p>
197
194
  </li></ul>
198
195
 
199
196
  <p>Variables can be expanded in every <a href="Action.html">Action</a>
@@ -204,12 +201,13 @@ a variable through variable expansion the following syntax must be used:</p>
204
201
 
205
202
  <p>For example:</p>
206
203
 
207
- <pre>set field &quot;greeting&quot;
208
- set name &quot;John&quot;
209
- write &quot;${field}_textbox&quot; &quot;Hi, my name is ${name}!&quot;
210
- click &quot;${field}_button&quot;</pre>
204
+ <pre class="ruby"><span class="ruby-identifier">set</span> <span class="ruby-identifier">field</span> <span class="ruby-string">&quot;greeting&quot;</span>
205
+ <span class="ruby-identifier">set</span> <span class="ruby-identifier">name</span> <span class="ruby-string">&quot;John&quot;</span>
206
+ <span class="ruby-identifier">write</span> <span class="ruby-string">&quot;${field}_textbox&quot;</span> <span class="ruby-string">&quot;Hi, my name is ${name}!&quot;</span>
207
+ <span class="ruby-identifier">click</span> <span class="ruby-string">&quot;${field}_button&quot;</span>
208
+ </pre>
211
209
 
212
- <h3 id="class-Bauxite::Context-label-Variable+scope">Variable scope<span><a href="#class-Bauxite::Context-label-Variable+scope">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
210
+ <h3 id="class-Bauxite::Context-label-Variable+scope">Variable scope<span><a href="#class-Bauxite::Context-label-Variable+scope">&para;</a> <a href="#top">&uarr;</a></span></h3>
213
211
 
214
212
  <p>When the main test starts (via the <a
215
213
  href="Context.html#method-i-start">start</a> method), the test is bound to
@@ -239,7 +237,7 @@ action:</p>
239
237
  href="Action.html#method-i-return_action">Bauxite::Action#return_action</a></p>
240
238
  </li></ul>
241
239
 
242
- <h3 id="class-Bauxite::Context-label-Built-in+variable">Built-in variable<span><a href="#class-Bauxite::Context-label-Built-in+variable">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
240
+ <h3 id="class-Bauxite::Context-label-Built-in+variable">Built-in variable<span><a href="#class-Bauxite::Context-label-Built-in+variable">&para;</a> <a href="#top">&uarr;</a></span></h3>
243
241
 
244
242
  <p><a href="../Bauxite.html">Bauxite</a> has a series of built-in variables
245
243
  that provide information of the current test context and allow dynamic
@@ -404,29 +402,29 @@ href="Context.html#method-i-stop">stop</a> (defaults to <code>false</code>)</p>
404
402
 
405
403
  <div class="method-source-code" id="new-source">
406
404
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 138</span>
407
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
408
- <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
409
- <span class="ruby-ivar">@driver_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-value">:driver</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:firefox</span>).<span class="ruby-identifier">to_sym</span>
410
- <span class="ruby-ivar">@variables</span> = {
411
- <span class="ruby-string">&#39;__TIMEOUT__&#39;</span> =<span class="ruby-operator">&gt;</span> (<span class="ruby-identifier">options</span>[<span class="ruby-value">:timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">10</span>).<span class="ruby-identifier">to_i</span>,
412
- <span class="ruby-string">&#39;__DEBUG__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
413
- <span class="ruby-string">&#39;__SELECTOR__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:selector</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;sid&#39;</span>,
414
- <span class="ruby-string">&#39;__OUTPUT__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:output</span>],
415
- <span class="ruby-string">&#39;__DIR__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">absolute_path</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>)
416
- }
417
- <span class="ruby-ivar">@aliases</span> = {}
418
- <span class="ruby-ivar">@tests</span> = []
419
-
420
- <span class="ruby-identifier">client</span> = <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Remote</span><span class="ruby-operator">::</span><span class="ruby-constant">Http</span><span class="ruby-operator">::</span><span class="ruby-constant">Default</span>.<span class="ruby-identifier">new</span>
421
- <span class="ruby-identifier">client</span>.<span class="ruby-identifier">timeout</span> = (<span class="ruby-ivar">@options</span>[<span class="ruby-value">:open_timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">60</span>).<span class="ruby-identifier">to_i</span>
422
- <span class="ruby-ivar">@options</span>[<span class="ruby-value">:driver_opt</span>] = {} <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:driver_opt</span>]
423
- <span class="ruby-ivar">@options</span>[<span class="ruby-value">:driver_opt</span>][<span class="ruby-value">:http_client</span>] = <span class="ruby-identifier">client</span>
424
-
425
- <span class="ruby-identifier">_load_extensions</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:extensions</span>] <span class="ruby-operator">||</span> [])
426
-
427
- <span class="ruby-ivar">@logger</span> = <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_logger</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:logger</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:logger_opt</span>])
428
-
429
- <span class="ruby-ivar">@parser</span> = <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
405
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
406
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
407
+ <span class="ruby-ivar">@driver_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-value">:driver</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:firefox</span>).<span class="ruby-identifier">to_sym</span>
408
+ <span class="ruby-ivar">@variables</span> = {
409
+ <span class="ruby-string">&#39;__TIMEOUT__&#39;</span> =<span class="ruby-operator">&gt;</span> (<span class="ruby-identifier">options</span>[<span class="ruby-value">:timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">10</span>).<span class="ruby-identifier">to_i</span>,
410
+ <span class="ruby-string">&#39;__DEBUG__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
411
+ <span class="ruby-string">&#39;__SELECTOR__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:selector</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;sid&#39;</span>,
412
+ <span class="ruby-string">&#39;__OUTPUT__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:output</span>],
413
+ <span class="ruby-string">&#39;__DIR__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">absolute_path</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>)
414
+ }
415
+ <span class="ruby-ivar">@aliases</span> = {}
416
+ <span class="ruby-ivar">@tests</span> = []
417
+
418
+ <span class="ruby-identifier">client</span> = <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Remote</span><span class="ruby-operator">::</span><span class="ruby-constant">Http</span><span class="ruby-operator">::</span><span class="ruby-constant">Default</span>.<span class="ruby-identifier">new</span>
419
+ <span class="ruby-identifier">client</span>.<span class="ruby-identifier">timeout</span> = (<span class="ruby-ivar">@options</span>[<span class="ruby-value">:open_timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">60</span>).<span class="ruby-identifier">to_i</span>
420
+ <span class="ruby-ivar">@options</span>[<span class="ruby-value">:driver_opt</span>] = {} <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:driver_opt</span>]
421
+ <span class="ruby-ivar">@options</span>[<span class="ruby-value">:driver_opt</span>][<span class="ruby-value">:http_client</span>] = <span class="ruby-identifier">client</span>
422
+
423
+ <span class="ruby-identifier">_load_extensions</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:extensions</span>] <span class="ruby-operator">||</span> [])
424
+
425
+ <span class="ruby-ivar">@logger</span> = <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_logger</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:logger</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:logger_opt</span>])
426
+
427
+ <span class="ruby-ivar">@parser</span> = <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
430
428
  <span class="ruby-keyword">end</span></pre>
431
429
  </div>
432
430
 
@@ -472,8 +470,8 @@ href="Context.html#method-i-stop">stop</a> (defaults to <code>false</code>)</p>
472
470
 
473
471
  <div class="method-source-code" id="debug-source">
474
472
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 269</span>
475
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">debug</span>
476
- <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-string">&#39;debug&#39;</span>, [], <span class="ruby-keyword">false</span>)
473
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">debug</span>
474
+ <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-string">&#39;debug&#39;</span>, [], <span class="ruby-keyword">false</span>)
477
475
  <span class="ruby-keyword">end</span></pre>
478
476
  </div>
479
477
 
@@ -505,9 +503,9 @@ href="Context.html#method-i-stop">stop</a> (defaults to <code>false</code>)</p>
505
503
 
506
504
  <div class="method-source-code" id="driver-source">
507
505
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 259</span>
508
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">driver</span>
509
- <span class="ruby-identifier">_load_driver</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@driver</span>
510
- <span class="ruby-ivar">@driver</span>
506
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">driver</span>
507
+ <span class="ruby-identifier">_load_driver</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@driver</span>
508
+ <span class="ruby-ivar">@driver</span>
511
509
  <span class="ruby-keyword">end</span></pre>
512
510
  </div>
513
511
 
@@ -537,7 +535,7 @@ href="Context.html#method-i-stop">stop</a> (defaults to <code>false</code>)</p>
537
535
  <p>The element found is yielded to the given <code>block</code> (if any) and
538
536
  returned.</p>
539
537
 
540
- <p>Note that the recommeneded way to call this method is by passing a
538
+ <p>Note that the recommeneded way to call this method is by passing a
541
539
  <code>block</code>. This is because the method ensures that the element
542
540
  context is maintained for the duration of the <code>block</code> but it
543
541
  makes no guarantees after the <code>block</code> completes (the same
@@ -563,10 +561,10 @@ applies if no <code>block</code> was given).</p>
563
561
 
564
562
  <div class="method-source-code" id="find-source">
565
563
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 252</span>
566
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) <span class="ruby-comment"># yields: element</span>
567
- <span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span> <span class="ruby-keyword">do</span>
568
- <span class="ruby-constant">Selector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__SELECTOR__&#39;</span>]).<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
569
- <span class="ruby-keyword">end</span>
564
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) <span class="ruby-comment"># yields: element
565
+ <span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span> <span class="ruby-keyword">do</span>
566
+ <span class="ruby-constant">Selector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__SELECTOR__&#39;</span>]).<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
567
+ <span class="ruby-keyword">end</span>
570
568
  <span class="ruby-keyword">end</span></pre>
571
569
  </div>
572
570
 
@@ -613,12 +611,12 @@ the inner text or the value of the <code>value</code> attribute.</p>
613
611
 
614
612
  <div class="method-source-code" id="get_value-source">
615
613
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 288</span>
616
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">element</span>)
617
- <span class="ruby-keyword">if</span> [<span class="ruby-string">&#39;input&#39;</span>,<span class="ruby-string">&#39;select&#39;</span>,<span class="ruby-string">&#39;textarea&#39;</span>].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">tag_name</span>.<span class="ruby-identifier">downcase</span>
618
- <span class="ruby-identifier">element</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">&#39;value&#39;</span>)
619
- <span class="ruby-keyword">else</span>
620
- <span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>
621
- <span class="ruby-keyword">end</span>
614
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">element</span>)
615
+ <span class="ruby-keyword">if</span> [<span class="ruby-string">&#39;input&#39;</span>,<span class="ruby-string">&#39;select&#39;</span>,<span class="ruby-string">&#39;textarea&#39;</span>].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">tag_name</span>.<span class="ruby-identifier">downcase</span>
616
+ <span class="ruby-identifier">element</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">&#39;value&#39;</span>)
617
+ <span class="ruby-keyword">else</span>
618
+ <span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>
619
+ <span class="ruby-keyword">end</span>
622
620
  <span class="ruby-keyword">end</span></pre>
623
621
  </div>
624
622
 
@@ -647,18 +645,17 @@ the inner text or the value of the <code>value</code> attribute.</p>
647
645
 
648
646
  <p>For example:</p>
649
647
 
650
- <pre class="ruby"><span class="ruby-identifier">ctx</span>.<span class="ruby-identifier">reset_driver</span>
651
- =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">closes</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">browser</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">opens</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">new</span> <span class="ruby-identifier">one</span>
652
- </pre>
648
+ <pre>ctx.reset_driver
649
+ =&gt; closes the browser and opens a new one</pre>
653
650
 
654
651
 
655
652
 
656
653
 
657
654
  <div class="method-source-code" id="reset_driver-source">
658
655
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 200</span>
659
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">reset_driver</span>
660
- <span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">quit</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@driver</span>
661
- <span class="ruby-ivar">@driver</span> = <span class="ruby-keyword">nil</span>
656
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">reset_driver</span>
657
+ <span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">quit</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@driver</span>
658
+ <span class="ruby-ivar">@driver</span> = <span class="ruby-keyword">nil</span>
662
659
  <span class="ruby-keyword">end</span></pre>
663
660
  </div>
664
661
 
@@ -705,21 +702,21 @@ href="Context.html#method-i-stop">stop</a>).</p>
705
702
 
706
703
  <div class="method-source-code" id="start-source">
707
704
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 177</span>
708
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">actions</span> = [])
709
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
710
- <span class="ruby-keyword">begin</span>
711
- <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span><span class="ruby-operator">|</span>
712
- <span class="ruby-keyword">begin</span>
713
- <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">exec_action</span>(<span class="ruby-identifier">action</span>) <span class="ruby-operator">==</span> <span class="ruby-value">:break</span>
714
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
715
- <span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>)
716
- <span class="ruby-identifier">raise</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:debug</span>]
717
- <span class="ruby-identifier">debug</span>
718
- <span class="ruby-keyword">end</span>
719
- <span class="ruby-keyword">end</span>
720
- <span class="ruby-keyword">ensure</span>
721
- <span class="ruby-identifier">stop</span>
722
- <span class="ruby-keyword">end</span>
705
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">actions</span> = [])
706
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
707
+ <span class="ruby-keyword">begin</span>
708
+ <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span><span class="ruby-operator">|</span>
709
+ <span class="ruby-keyword">begin</span>
710
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">exec_action</span>(<span class="ruby-identifier">action</span>) <span class="ruby-operator">==</span> <span class="ruby-value">:break</span>
711
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
712
+ <span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>)
713
+ <span class="ruby-identifier">raise</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:debug</span>]
714
+ <span class="ruby-identifier">debug</span>
715
+ <span class="ruby-keyword">end</span>
716
+ <span class="ruby-keyword">end</span>
717
+ <span class="ruby-keyword">ensure</span>
718
+ <span class="ruby-identifier">stop</span>
719
+ <span class="ruby-keyword">end</span>
723
720
  <span class="ruby-keyword">end</span></pre>
724
721
  </div>
725
722
 
@@ -769,16 +766,16 @@ href="Context.html#method-i-stop">stop</a> pattern.</p>
769
766
 
770
767
  <div class="method-source-code" id="stop-source">
771
768
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 220</span>
772
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">stop</span>
773
- <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">wait</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:wait</span>]
774
- <span class="ruby-keyword">begin</span>
775
- <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">finalize</span>(<span class="ruby-keyword">self</span>)
776
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
777
- <span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>)
778
- <span class="ruby-identifier">raise</span>
779
- <span class="ruby-keyword">ensure</span>
780
- <span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">quit</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@driver</span>
781
- <span class="ruby-keyword">end</span>
769
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">stop</span>
770
+ <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">wait</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:wait</span>]
771
+ <span class="ruby-keyword">begin</span>
772
+ <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">finalize</span>(<span class="ruby-keyword">self</span>)
773
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
774
+ <span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>)
775
+ <span class="ruby-identifier">raise</span>
776
+ <span class="ruby-keyword">ensure</span>
777
+ <span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">quit</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@driver</span>
778
+ <span class="ruby-keyword">end</span>
782
779
  <span class="ruby-keyword">end</span></pre>
783
780
  </div>
784
781
 
@@ -842,23 +839,23 @@ logger type.</p>
842
839
 
843
840
  <div class="method-source-code" id="load_logger-source">
844
841
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 432</span>
845
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">load_logger</span>(<span class="ruby-identifier">loggers</span>, <span class="ruby-identifier">options</span>)
846
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">loggers</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span>
847
- <span class="ruby-keyword">return</span> <span class="ruby-constant">Loggers</span><span class="ruby-operator">::</span><span class="ruby-constant">CompositeLogger</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">loggers</span>)
848
- <span class="ruby-keyword">end</span>
849
-
850
- <span class="ruby-identifier">name</span> = <span class="ruby-identifier">loggers</span>
851
-
852
- <span class="ruby-identifier">log_name</span> = (<span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-string">&#39;null&#39;</span>).<span class="ruby-identifier">downcase</span>
853
-
854
- <span class="ruby-identifier">class_name</span> = <span class="ruby-node">&quot;#{log_name.capitalize}Logger&quot;</span>
855
-
856
- <span class="ruby-keyword">unless</span> <span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">const_defined?</span> <span class="ruby-identifier">class_name</span>.<span class="ruby-identifier">to_sym</span>
857
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">NameError</span>,
858
- <span class="ruby-node">&quot;Invalid logger &#39;#{log_name}&#39;&quot;</span>
859
- <span class="ruby-keyword">end</span>
860
-
861
- <span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">class_name</span>).<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>)
842
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">load_logger</span>(<span class="ruby-identifier">loggers</span>, <span class="ruby-identifier">options</span>)
843
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">loggers</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span>
844
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Loggers</span><span class="ruby-operator">::</span><span class="ruby-constant">CompositeLogger</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">loggers</span>)
845
+ <span class="ruby-keyword">end</span>
846
+
847
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">loggers</span>
848
+
849
+ <span class="ruby-identifier">log_name</span> = (<span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-string">&#39;null&#39;</span>).<span class="ruby-identifier">downcase</span>
850
+
851
+ <span class="ruby-identifier">class_name</span> = <span class="ruby-node">&quot;#{log_name.capitalize}Logger&quot;</span>
852
+
853
+ <span class="ruby-keyword">unless</span> <span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">const_defined?</span> <span class="ruby-identifier">class_name</span>.<span class="ruby-identifier">to_sym</span>
854
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NameError</span>,
855
+ <span class="ruby-node">&quot;Invalid logger &#39;#{log_name}&#39;&quot;</span>
856
+ <span class="ruby-keyword">end</span>
857
+
858
+ <span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">class_name</span>).<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>)
862
859
  <span class="ruby-keyword">end</span></pre>
863
860
  </div>
864
861
 
@@ -890,37 +887,37 @@ logger type.</p>
890
887
 
891
888
  <div class="method-source-code" id="parse_action_default-source">
892
889
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 460</span>
893
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span> = <span class="ruby-string">&#39;&lt;unknown&gt;&#39;</span>, <span class="ruby-identifier">line</span> = <span class="ruby-value">0</span>)
894
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39; &#39;</span>, <span class="ruby-value">2</span>)
895
- <span class="ruby-keyword">begin</span>
896
- <span class="ruby-identifier">args_text</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">strip</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
897
- <span class="ruby-identifier">args</span> = []
898
-
899
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args_text</span> <span class="ruby-operator">==</span> <span class="ruby-string">&#39;&#39;</span>
900
- <span class="ruby-comment"># col_sep must be a regex because String.split has a</span>
901
- <span class="ruby-comment"># special case for a single space char (&#39; &#39;) that produced</span>
902
- <span class="ruby-comment"># unexpected results (i.e. if line is &#39;&quot;a b&quot;&#39; the</span>
903
- <span class="ruby-comment"># resulting array contains [&quot;a b&quot;]).</span>
904
- <span class="ruby-comment">#</span>
905
- <span class="ruby-comment"># ...but... </span>
906
- <span class="ruby-comment">#</span>
907
- <span class="ruby-comment"># CSV expects col_sep to be a string so we need to work</span>
908
- <span class="ruby-comment"># some dark magic here. Basically we proxy the StringIO</span>
909
- <span class="ruby-comment"># received by CSV to returns strings for which the split</span>
910
- <span class="ruby-comment"># method does not fold the whitespaces.</span>
911
- <span class="ruby-comment">#</span>
912
- <span class="ruby-identifier">args</span> = <span class="ruby-constant">CSV</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">StringIOProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">args_text</span>), { <span class="ruby-value">:col_sep</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39; &#39;</span> })
913
- .<span class="ruby-identifier">shift</span>
914
- .<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> } <span class="ruby-operator">||</span> []
915
- <span class="ruby-keyword">end</span>
916
-
917
- {
918
- <span class="ruby-value">:action</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>,
919
- <span class="ruby-value">:args</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>
920
- }
921
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
922
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): #{e.message}&quot;</span>
923
- <span class="ruby-keyword">end</span>
890
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span> = <span class="ruby-string">&#39;&lt;unknown&gt;&#39;</span>, <span class="ruby-identifier">line</span> = <span class="ruby-value">0</span>)
891
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39; &#39;</span>, <span class="ruby-value">2</span>)
892
+ <span class="ruby-keyword">begin</span>
893
+ <span class="ruby-identifier">args_text</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">strip</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
894
+ <span class="ruby-identifier">args</span> = []
895
+
896
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">args_text</span> <span class="ruby-operator">==</span> <span class="ruby-string">&#39;&#39;</span>
897
+ <span class="ruby-comment"># col_sep must be a regex because String.split has a
898
+ <span class="ruby-comment"># special case for a single space char (&#39; &#39;) that produced
899
+ <span class="ruby-comment"># unexpected results (i.e. if line is &#39;&quot;a b&quot;&#39; the
900
+ <span class="ruby-comment"># resulting array contains [&quot;a b&quot;]).
901
+ <span class="ruby-comment">#
902
+ <span class="ruby-comment"># ...but...
903
+ <span class="ruby-comment">#
904
+ <span class="ruby-comment"># CSV expects col_sep to be a string so we need to work
905
+ <span class="ruby-comment"># some dark magic here. Basically we proxy the StringIO
906
+ <span class="ruby-comment"># received by CSV to returns strings for which the split
907
+ <span class="ruby-comment"># method does not fold the whitespaces.
908
+ <span class="ruby-comment">#
909
+ <span class="ruby-identifier">args</span> = <span class="ruby-constant">CSV</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">StringIOProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">args_text</span>), { <span class="ruby-value">:col_sep</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39; &#39;</span> })
910
+ .<span class="ruby-identifier">shift</span>
911
+ .<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> } <span class="ruby-operator">||</span> []
912
+ <span class="ruby-keyword">end</span>
913
+
914
+ {
915
+ <span class="ruby-value">:action</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>,
916
+ <span class="ruby-value">:args</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>
917
+ }
918
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
919
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): #{e.message}&quot;</span>
920
+ <span class="ruby-keyword">end</span>
924
921
  <span class="ruby-keyword">end</span></pre>
925
922
  </div>
926
923
 
@@ -958,8 +955,8 @@ logger type.</p>
958
955
 
959
956
  <div class="method-source-code" id="wait-source">
960
957
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 425</span>
961
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">wait</span>
962
- <span class="ruby-constant">Readline</span>.<span class="ruby-identifier">readline</span>(<span class="ruby-string">&quot;Press ENTER to continue\n&quot;</span>)
958
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">wait</span>
959
+ <span class="ruby-constant">Readline</span>.<span class="ruby-identifier">readline</span>(<span class="ruby-string">&quot;Press ENTER to continue\n&quot;</span>)
963
960
  <span class="ruby-keyword">end</span></pre>
964
961
  </div>
965
962
 
@@ -1000,8 +997,8 @@ with the arguments specified in <code>args</code>.</p>
1000
997
 
1001
998
  <div class="method-source-code" id="add_alias-source">
1002
999
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 454</span>
1003
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_alias</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
1004
- <span class="ruby-ivar">@aliases</span>[<span class="ruby-identifier">name</span>] = { <span class="ruby-value">:action</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">action</span>, <span class="ruby-value">:args</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span> }
1000
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_alias</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
1001
+ <span class="ruby-ivar">@aliases</span>[<span class="ruby-identifier">name</span>] = { <span class="ruby-value">:action</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">action</span>, <span class="ruby-value">:args</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span> }
1005
1002
  <span class="ruby-keyword">end</span></pre>
1006
1003
  </div>
1007
1004
 
@@ -1043,9 +1040,9 @@ behavior).</p>
1043
1040
 
1044
1041
  <div class="method-source-code" id="exec_action-source">
1045
1042
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 309</span>
1046
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_action</span>(<span class="ruby-identifier">text</span>)
1047
- <span class="ruby-identifier">data</span> = <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-string">&#39;&lt;unknown&gt;&#39;</span>, <span class="ruby-value">0</span>)
1048
- <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">data</span>[<span class="ruby-value">:action</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">:args</span>], <span class="ruby-keyword">true</span>, <span class="ruby-identifier">text</span>)
1043
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_action</span>(<span class="ruby-identifier">text</span>)
1044
+ <span class="ruby-identifier">data</span> = <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-string">&#39;&lt;unknown&gt;&#39;</span>, <span class="ruby-value">0</span>)
1045
+ <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">data</span>[<span class="ruby-value">:action</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">:args</span>], <span class="ruby-keyword">true</span>, <span class="ruby-identifier">text</span>)
1049
1046
  <span class="ruby-keyword">end</span></pre>
1050
1047
  </div>
1051
1048
 
@@ -1082,17 +1079,18 @@ preferred.</p>
1082
1079
 
1083
1080
  <p>For example:</p>
1084
1081
 
1085
- <pre>action = ctx.get_action(&quot;echo&quot;, [&#39;Hi!&#39;], &#39;echo &quot;Hi!&quot;&#39;)
1086
- ret = ctx.exec_action_object(action)
1087
- ret.call if ret.respond_to? :call</pre>
1082
+ <pre class="ruby"><span class="ruby-identifier">action</span> = <span class="ruby-identifier">ctx</span>.<span class="ruby-identifier">get_action</span>(<span class="ruby-string">&quot;echo&quot;</span>, [<span class="ruby-string">&#39;Hi!&#39;</span>], <span class="ruby-string">&#39;echo &quot;Hi!&quot;&#39;</span>)
1083
+ <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">ctx</span>.<span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1084
+ <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">call</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">respond_to?</span> :<span class="ruby-identifier">call</span>
1085
+ </pre>
1088
1086
 
1089
1087
 
1090
1088
 
1091
1089
 
1092
1090
  <div class="method-source-code" id="exec_action_object-source">
1093
1091
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 540</span>
1094
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1095
- <span class="ruby-identifier">action</span>.<span class="ruby-identifier">execute</span>
1092
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1093
+ <span class="ruby-identifier">action</span>.<span class="ruby-identifier">execute</span>
1096
1094
  <span class="ruby-keyword">end</span></pre>
1097
1095
  </div>
1098
1096
 
@@ -1130,21 +1128,21 @@ ret.call if ret.respond_to? :call</pre>
1130
1128
 
1131
1129
  <div class="method-source-code" id="exec_file-source">
1132
1130
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 320</span>
1133
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_file</span>(<span class="ruby-identifier">file</span>)
1134
- <span class="ruby-identifier">current_dir</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__DIR__&#39;</span> ]
1135
- <span class="ruby-identifier">current_file</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>]
1136
- <span class="ruby-identifier">current_line</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>]
1137
-
1138
- <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1139
- <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__DIR__&#39;</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">absolute_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">file</span>))
1140
- <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>] = <span class="ruby-identifier">file</span>
1141
- <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>] = <span class="ruby-identifier">line</span>
1142
- <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-keyword">true</span>, <span class="ruby-identifier">text</span>) <span class="ruby-operator">==</span> <span class="ruby-value">:break</span>
1143
- <span class="ruby-keyword">end</span>
1144
-
1145
- <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__DIR__&#39;</span> ] = <span class="ruby-identifier">current_dir</span>
1146
- <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>] = <span class="ruby-identifier">current_file</span>
1147
- <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>] = <span class="ruby-identifier">current_line</span>
1131
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_file</span>(<span class="ruby-identifier">file</span>)
1132
+ <span class="ruby-identifier">current_dir</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__DIR__&#39;</span> ]
1133
+ <span class="ruby-identifier">current_file</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>]
1134
+ <span class="ruby-identifier">current_line</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>]
1135
+
1136
+ <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1137
+ <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__DIR__&#39;</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">absolute_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">file</span>))
1138
+ <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>] = <span class="ruby-identifier">file</span>
1139
+ <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>] = <span class="ruby-identifier">line</span>
1140
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-keyword">true</span>, <span class="ruby-identifier">text</span>) <span class="ruby-operator">==</span> <span class="ruby-value">:break</span>
1141
+ <span class="ruby-keyword">end</span>
1142
+
1143
+ <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__DIR__&#39;</span> ] = <span class="ruby-identifier">current_dir</span>
1144
+ <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>] = <span class="ruby-identifier">current_file</span>
1145
+ <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>] = <span class="ruby-identifier">current_line</span>
1148
1146
  <span class="ruby-keyword">end</span></pre>
1149
1147
  </div>
1150
1148
 
@@ -1191,25 +1189,25 @@ preferred.</p>
1191
1189
 
1192
1190
  <div class="method-source-code" id="exec_parsed_action-source">
1193
1191
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 350</span>
1194
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">log</span> = <span class="ruby-keyword">true</span>, <span class="ruby-identifier">text</span> = <span class="ruby-keyword">nil</span>)
1195
- <span class="ruby-identifier">action</span> = <span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>)
1196
- <span class="ruby-identifier">ret</span> = <span class="ruby-keyword">nil</span>
1197
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">log</span>
1198
- <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">log_cmd</span>(<span class="ruby-identifier">action</span>) <span class="ruby-keyword">do</span>
1199
- <span class="ruby-constant">Readline</span><span class="ruby-operator">::</span><span class="ruby-constant">HISTORY</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">text</span>
1200
- <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1201
- <span class="ruby-keyword">end</span>
1202
- <span class="ruby-keyword">else</span>
1203
- <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1204
- <span class="ruby-keyword">end</span>
1205
-
1206
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-value">:call</span> <span class="ruby-comment"># delayed actions (after log_cmd)</span>
1207
- <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">call</span>
1208
- <span class="ruby-keyword">else</span>
1209
- <span class="ruby-identifier">ret</span>
1210
- <span class="ruby-keyword">end</span>
1211
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">UnhandledAlertError</span>
1212
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-string">&quot;Unexpected modal present&quot;</span>
1192
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">log</span> = <span class="ruby-keyword">true</span>, <span class="ruby-identifier">text</span> = <span class="ruby-keyword">nil</span>)
1193
+ <span class="ruby-identifier">action</span> = <span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>)
1194
+ <span class="ruby-identifier">ret</span> = <span class="ruby-keyword">nil</span>
1195
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">log</span>
1196
+ <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">log_cmd</span>(<span class="ruby-identifier">action</span>) <span class="ruby-keyword">do</span>
1197
+ <span class="ruby-constant">Readline</span><span class="ruby-operator">::</span><span class="ruby-constant">HISTORY</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">text</span>
1198
+ <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1199
+ <span class="ruby-keyword">end</span>
1200
+ <span class="ruby-keyword">else</span>
1201
+ <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
1202
+ <span class="ruby-keyword">end</span>
1203
+
1204
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-value">:call</span> <span class="ruby-comment"># delayed actions (after log_cmd)
1205
+ <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">call</span>
1206
+ <span class="ruby-keyword">else</span>
1207
+ <span class="ruby-identifier">ret</span>
1208
+ <span class="ruby-keyword">end</span>
1209
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">UnhandledAlertError</span>
1210
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-string">&quot;Unexpected modal present&quot;</span>
1213
1211
  <span class="ruby-keyword">end</span></pre>
1214
1212
  </div>
1215
1213
 
@@ -1248,31 +1246,31 @@ preferred.</p>
1248
1246
 
1249
1247
  <div class="method-source-code" id="get_action-source">
1250
1248
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 500</span>
1251
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span> = <span class="ruby-keyword">nil</span>)
1252
- <span class="ruby-keyword">while</span> (<span class="ruby-identifier">alias_action</span> = <span class="ruby-ivar">@aliases</span>[<span class="ruby-identifier">action</span>])
1253
- <span class="ruby-identifier">action</span> = <span class="ruby-identifier">alias_action</span>[<span class="ruby-value">:action</span>]
1254
- <span class="ruby-identifier">args</span> = <span class="ruby-identifier">alias_action</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
1255
- <span class="ruby-identifier">a</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\$\{(\d+)(\*q?)?\}/</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span>
1256
- <span class="ruby-comment"># expand ${1} to args[0], ${2} to args[1], etc.</span>
1257
- <span class="ruby-comment"># expand ${4*} to &quot;#{args[4]} #{args[5]} ...&quot;</span>
1258
- <span class="ruby-comment"># expand ${4*q} to &quot;\&quot;#{args[4]}\&quot; \&quot;#{args[5]}\&quot; ...&quot;</span>
1259
- <span class="ruby-identifier">idx</span> = <span class="ruby-node">$1</span>.<span class="ruby-identifier">to_i</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
1260
- <span class="ruby-keyword">if</span> <span class="ruby-node">$2</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
1261
- <span class="ruby-identifier">args</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>
1262
- <span class="ruby-keyword">else</span>
1263
- <span class="ruby-identifier">range</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">idx</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
1264
- <span class="ruby-identifier">range</span> = <span class="ruby-identifier">range</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> <span class="ruby-string">&#39;&quot;&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&quot;&#39;</span>, <span class="ruby-string">&#39;&quot;&quot;&#39;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&#39;&quot;&#39;</span> } <span class="ruby-keyword">if</span> <span class="ruby-node">$2</span> <span class="ruby-operator">==</span> <span class="ruby-string">&#39;*q&#39;</span>
1265
- <span class="ruby-identifier">range</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>)
1266
- <span class="ruby-keyword">end</span>
1267
- <span class="ruby-keyword">end</span>
1268
- <span class="ruby-keyword">end</span>
1269
- <span class="ruby-keyword">end</span>
1270
-
1271
- <span class="ruby-identifier">text</span> = ([<span class="ruby-identifier">action</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-string">&#39;&quot;&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">a</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&quot;&#39;</span>, <span class="ruby-string">&#39;&quot;&quot;&#39;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&#39;&quot;&#39;</span> }).<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">text</span>
1272
- <span class="ruby-identifier">file</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>]
1273
- <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>]
1274
-
1275
- <span class="ruby-constant">Action</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
1249
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span> = <span class="ruby-keyword">nil</span>)
1250
+ <span class="ruby-keyword">while</span> (<span class="ruby-identifier">alias_action</span> = <span class="ruby-ivar">@aliases</span>[<span class="ruby-identifier">action</span>])
1251
+ <span class="ruby-identifier">action</span> = <span class="ruby-identifier">alias_action</span>[<span class="ruby-value">:action</span>]
1252
+ <span class="ruby-identifier">args</span> = <span class="ruby-identifier">alias_action</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
1253
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\$\{(\d+)(\*q?)?\}/</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span>
1254
+ <span class="ruby-comment"># expand ${1} to args[0], ${2} to args[1], etc.
1255
+ <span class="ruby-comment"># expand ${4*} to &quot;#{args[4]} #{args[5]} ...&quot;
1256
+ <span class="ruby-comment"># expand ${4*q} to &quot;\&quot;#{args[4]}\&quot; \&quot;#{args[5]}\&quot; ...&quot;
1257
+ <span class="ruby-identifier">idx</span> = <span class="ruby-node">$1</span>.<span class="ruby-identifier">to_i</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
1258
+ <span class="ruby-keyword">if</span> <span class="ruby-node">$2</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
1259
+ <span class="ruby-identifier">args</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>
1260
+ <span class="ruby-keyword">else</span>
1261
+ <span class="ruby-identifier">range</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">idx</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
1262
+ <span class="ruby-identifier">range</span> = <span class="ruby-identifier">range</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> <span class="ruby-string">&#39;&quot;&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&quot;&#39;</span>, <span class="ruby-string">&#39;&quot;&quot;&#39;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&#39;&quot;&#39;</span> } <span class="ruby-keyword">if</span> <span class="ruby-node">$2</span> <span class="ruby-operator">==</span> <span class="ruby-string">&#39;*q&#39;</span>
1263
+ <span class="ruby-identifier">range</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>)
1264
+ <span class="ruby-keyword">end</span>
1265
+ <span class="ruby-keyword">end</span>
1266
+ <span class="ruby-keyword">end</span>
1267
+ <span class="ruby-keyword">end</span>
1268
+
1269
+ <span class="ruby-identifier">text</span> = ([<span class="ruby-identifier">action</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-string">&#39;&quot;&#39;</span><span class="ruby-operator">+</span><span class="ruby-identifier">a</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&quot;&#39;</span>, <span class="ruby-string">&#39;&quot;&quot;&#39;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&#39;&quot;&#39;</span> }).<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">text</span>
1270
+ <span class="ruby-identifier">file</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>]
1271
+ <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__LINE__&#39;</span>]
1272
+
1273
+ <span class="ruby-constant">Action</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
1276
1274
  <span class="ruby-keyword">end</span></pre>
1277
1275
  </div>
1278
1276
 
@@ -1297,7 +1295,7 @@ preferred.</p>
1297
1295
 
1298
1296
  <div class="method-description">
1299
1297
 
1300
- <p>Returns the output path for <code>path</code> accounting for the
1298
+ <p>Returns the output path for <code>path</code> accounting for the
1301
1299
  <code>__OUTPUT__</code> variable.</p>
1302
1300
 
1303
1301
  <p>For example:</p>
@@ -1316,15 +1314,15 @@ preferred.</p>
1316
1314
 
1317
1315
  <div class="method-source-code" id="output_path-source">
1318
1316
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 585</span>
1319
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">output_path</span>(<span class="ruby-identifier">path</span>)
1320
- <span class="ruby-keyword">unless</span> <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">absolute?</span>
1321
- <span class="ruby-identifier">output</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__OUTPUT__&#39;</span>]
1322
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
1323
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span> <span class="ruby-identifier">output</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">exists?</span> <span class="ruby-identifier">output</span>
1324
- <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">output</span>, <span class="ruby-identifier">path</span>)
1325
- <span class="ruby-keyword">end</span>
1326
- <span class="ruby-keyword">end</span>
1327
- <span class="ruby-identifier">path</span>
1317
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">output_path</span>(<span class="ruby-identifier">path</span>)
1318
+ <span class="ruby-keyword">unless</span> <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">absolute?</span>
1319
+ <span class="ruby-identifier">output</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__OUTPUT__&#39;</span>]
1320
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
1321
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span> <span class="ruby-identifier">output</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">exists?</span> <span class="ruby-identifier">output</span>
1322
+ <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">output</span>, <span class="ruby-identifier">path</span>)
1323
+ <span class="ruby-keyword">end</span>
1324
+ <span class="ruby-keyword">end</span>
1325
+ <span class="ruby-identifier">path</span>
1328
1326
  <span class="ruby-keyword">end</span></pre>
1329
1327
  </div>
1330
1328
 
@@ -1349,7 +1347,7 @@ preferred.</p>
1349
1347
 
1350
1348
  <div class="method-description">
1351
1349
 
1352
- <p>Prints the specified <code>error</code> using the Logger configured and
1350
+ <p>Prints the specified <code>error</code> using the Logger configured and
1353
1351
  handling the verbose option.</p>
1354
1352
 
1355
1353
  <p>For example:</p>
@@ -1367,22 +1365,22 @@ handling the verbose option.</p>
1367
1365
 
1368
1366
  <div class="method-source-code" id="print_error-source">
1369
1367
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 555</span>
1370
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>, <span class="ruby-identifier">capture</span> = <span class="ruby-keyword">true</span>)
1371
- <span class="ruby-keyword">if</span> <span class="ruby-ivar">@logger</span>
1372
- <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">log</span> <span class="ruby-node">&quot;#{e.message}\n&quot;</span>, <span class="ruby-value">:error</span>
1373
- <span class="ruby-keyword">else</span>
1374
- <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
1375
- <span class="ruby-keyword">end</span>
1376
- <span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:verbose</span>]
1377
- <span class="ruby-identifier">p</span> <span class="ruby-identifier">e</span>
1378
- <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>
1379
- <span class="ruby-keyword">end</span>
1380
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">capture</span> <span class="ruby-keyword">and</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:capture</span>]
1381
- <span class="ruby-identifier">with_vars</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">variables</span>) <span class="ruby-keyword">do</span>
1382
- <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-string">&#39;capture&#39;</span>, [] , <span class="ruby-keyword">false</span>)
1383
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE__&#39;</span>] = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__CAPTURE__&#39;</span>]
1384
- <span class="ruby-keyword">end</span>
1385
- <span class="ruby-keyword">end</span>
1368
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>, <span class="ruby-identifier">capture</span> = <span class="ruby-keyword">true</span>)
1369
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@logger</span>
1370
+ <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">log</span> <span class="ruby-node">&quot;#{e.message}\n&quot;</span>, <span class="ruby-value">:error</span>
1371
+ <span class="ruby-keyword">else</span>
1372
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
1373
+ <span class="ruby-keyword">end</span>
1374
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:verbose</span>]
1375
+ <span class="ruby-identifier">p</span> <span class="ruby-identifier">e</span>
1376
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>
1377
+ <span class="ruby-keyword">end</span>
1378
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">capture</span> <span class="ruby-keyword">and</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:capture</span>]
1379
+ <span class="ruby-identifier">with_vars</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">variables</span>) <span class="ruby-keyword">do</span>
1380
+ <span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-string">&#39;capture&#39;</span>, [] , <span class="ruby-keyword">false</span>)
1381
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE__&#39;</span>] = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__CAPTURE__&#39;</span>]
1382
+ <span class="ruby-keyword">end</span>
1383
+ <span class="ruby-keyword">end</span>
1386
1384
  <span class="ruby-keyword">end</span></pre>
1387
1385
  </div>
1388
1386
 
@@ -1427,13 +1425,13 @@ available <a href="Selector.html">Selector</a> strategies).</p>
1427
1425
 
1428
1426
  <div class="method-source-code" id="with_driver_timeout-source">
1429
1427
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 410</span>
1430
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_driver_timeout</span>(<span class="ruby-identifier">timeout</span>)
1431
- <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@driver_timeout</span>
1432
- <span class="ruby-identifier">driver</span>.<span class="ruby-identifier">manage</span>.<span class="ruby-identifier">timeouts</span>.<span class="ruby-identifier">implicit_wait</span> = <span class="ruby-identifier">timeout</span>
1433
- <span class="ruby-keyword">yield</span>
1434
- <span class="ruby-keyword">ensure</span>
1435
- <span class="ruby-ivar">@driver_timeout</span> = <span class="ruby-identifier">current</span>
1436
- <span class="ruby-identifier">driver</span>.<span class="ruby-identifier">manage</span>.<span class="ruby-identifier">timeouts</span>.<span class="ruby-identifier">implicit_wait</span> = <span class="ruby-identifier">current</span>
1428
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_driver_timeout</span>(<span class="ruby-identifier">timeout</span>)
1429
+ <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@driver_timeout</span>
1430
+ <span class="ruby-identifier">driver</span>.<span class="ruby-identifier">manage</span>.<span class="ruby-identifier">timeouts</span>.<span class="ruby-identifier">implicit_wait</span> = <span class="ruby-identifier">timeout</span>
1431
+ <span class="ruby-keyword">yield</span>
1432
+ <span class="ruby-keyword">ensure</span>
1433
+ <span class="ruby-ivar">@driver_timeout</span> = <span class="ruby-identifier">current</span>
1434
+ <span class="ruby-identifier">driver</span>.<span class="ruby-identifier">manage</span>.<span class="ruby-identifier">timeouts</span>.<span class="ruby-identifier">implicit_wait</span> = <span class="ruby-identifier">current</span>
1437
1435
  <span class="ruby-keyword">end</span></pre>
1438
1436
  </div>
1439
1437
 
@@ -1476,19 +1474,19 @@ to execute the block itself.</p>
1476
1474
 
1477
1475
  <div class="method-source-code" id="with_timeout-source">
1478
1476
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 382</span>
1479
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_timeout</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">error_types</span>)
1480
- <span class="ruby-identifier">stime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
1481
- <span class="ruby-identifier">timeout</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">stime</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__TIMEOUT__&#39;</span>]
1482
- <span class="ruby-keyword">yield</span>
1483
- <span class="ruby-keyword">rescue</span> <span class="ruby-operator">*</span><span class="ruby-identifier">error_types</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1484
- <span class="ruby-identifier">t</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
1485
- <span class="ruby-identifier">rem</span> = <span class="ruby-identifier">timeout</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">t</span>
1486
- <span class="ruby-identifier">raise</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">rem</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
1487
-
1488
- <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-identifier">rem</span>.<span class="ruby-identifier">round</span>)
1489
-
1490
- <span class="ruby-identifier">sleep</span>(<span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-value">10.0</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">t</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">stime</span>).<span class="ruby-identifier">to_i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
1491
- <span class="ruby-keyword">retry</span>
1477
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_timeout</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">error_types</span>)
1478
+ <span class="ruby-identifier">stime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
1479
+ <span class="ruby-identifier">timeout</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">stime</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__TIMEOUT__&#39;</span>].<span class="ruby-identifier">to_i</span>
1480
+ <span class="ruby-keyword">yield</span>
1481
+ <span class="ruby-keyword">rescue</span> <span class="ruby-operator">*</span><span class="ruby-identifier">error_types</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1482
+ <span class="ruby-identifier">t</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
1483
+ <span class="ruby-identifier">rem</span> = <span class="ruby-identifier">timeout</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">t</span>
1484
+ <span class="ruby-identifier">raise</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">rem</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
1485
+
1486
+ <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-identifier">rem</span>.<span class="ruby-identifier">round</span>)
1487
+
1488
+ <span class="ruby-identifier">sleep</span>(<span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-value">10.0</span>) <span class="ruby-keyword">if</span> (<span class="ruby-identifier">t</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">stime</span>).<span class="ruby-identifier">to_i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
1489
+ <span class="ruby-keyword">retry</span>
1492
1490
  <span class="ruby-keyword">end</span></pre>
1493
1491
  </div>
1494
1492
 
@@ -1557,9 +1555,9 @@ to execute the block itself.</p>
1557
1555
 
1558
1556
  <div class="method-source-code" id="action_args-source">
1559
1557
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 616</span>
1560
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">action_args</span>(<span class="ruby-identifier">action</span>)
1561
- <span class="ruby-identifier">action</span> <span class="ruby-operator">+=</span> <span class="ruby-string">&#39;_action&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">_action_methods</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">action</span>
1562
- <span class="ruby-constant">Action</span>.<span class="ruby-identifier">public_instance_method</span>(<span class="ruby-identifier">action</span>).<span class="ruby-identifier">parameters</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">att</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span> }
1558
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">action_args</span>(<span class="ruby-identifier">action</span>)
1559
+ <span class="ruby-identifier">action</span> <span class="ruby-operator">+=</span> <span class="ruby-string">&#39;_action&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">_action_methods</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">action</span>
1560
+ <span class="ruby-constant">Action</span>.<span class="ruby-identifier">public_instance_method</span>(<span class="ruby-identifier">action</span>).<span class="ruby-identifier">parameters</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">att</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span> }
1563
1561
  <span class="ruby-keyword">end</span></pre>
1564
1562
  </div>
1565
1563
 
@@ -1597,8 +1595,8 @@ to execute the block itself.</p>
1597
1595
 
1598
1596
  <div class="method-source-code" id="actions-source">
1599
1597
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 606</span>
1600
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">actions</span>
1601
- <span class="ruby-identifier">_action_methods</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/_action$/</span>, <span class="ruby-string">&#39;&#39;</span>) }
1598
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">actions</span>
1599
+ <span class="ruby-identifier">_action_methods</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/_action$/</span>, <span class="ruby-string">&#39;&#39;</span>) }
1602
1600
  <span class="ruby-keyword">end</span></pre>
1603
1601
  </div>
1604
1602
 
@@ -1636,8 +1634,8 @@ to execute the block itself.</p>
1636
1634
 
1637
1635
  <div class="method-source-code" id="loggers-source">
1638
1636
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 645</span>
1639
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">loggers</span>
1640
- <span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/logger$/</span>, <span class="ruby-string">&#39;&#39;</span>) }
1637
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">loggers</span>
1638
+ <span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/logger$/</span>, <span class="ruby-string">&#39;&#39;</span>) }
1641
1639
  <span class="ruby-keyword">end</span></pre>
1642
1640
  </div>
1643
1641
 
@@ -1678,8 +1676,8 @@ to execute the block itself.</p>
1678
1676
 
1679
1677
  <div class="method-source-code" id="max_action_name_size-source">
1680
1678
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 669</span>
1681
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">max_action_name_size</span>
1682
- <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span> }
1679
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">max_action_name_size</span>
1680
+ <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span> }
1683
1681
  <span class="ruby-keyword">end</span></pre>
1684
1682
  </div>
1685
1683
 
@@ -1717,9 +1715,10 @@ to execute the block itself.</p>
1717
1715
 
1718
1716
  <div class="method-source-code" id="parsers-source">
1719
1717
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 655</span>
1720
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">parsers</span>
1721
- (<span class="ruby-constant">Parser</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>) <span class="ruby-operator">-</span> <span class="ruby-constant">ParserModule</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>))
1722
- .<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_s</span> }
1718
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">parsers</span>
1719
+ (<span class="ruby-constant">Parser</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>) \
1720
+ <span class="ruby-operator">-</span> <span class="ruby-constant">ParserModule</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>))
1721
+ .<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_s</span> }
1723
1722
  <span class="ruby-keyword">end</span></pre>
1724
1723
  </div>
1725
1724
 
@@ -1748,7 +1747,7 @@ to execute the block itself.</p>
1748
1747
 
1749
1748
  <p>If <code>include_standard_selectors</code> is <code>true</code> (default
1750
1749
  behavior) both standard and custom selector are returned, otherwise only
1751
- custom selectors are returned.</p>
1750
+ custom selectors are returned.</p>
1752
1751
 
1753
1752
  <p>For example:</p>
1754
1753
 
@@ -1761,12 +1760,12 @@ custom selectors are returned.</p>
1761
1760
 
1762
1761
  <div class="method-source-code" id="selectors-source">
1763
1762
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 631</span>
1764
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">selectors</span>(<span class="ruby-identifier">include_standard_selectors</span> = <span class="ruby-keyword">true</span>)
1765
- <span class="ruby-identifier">ret</span> = <span class="ruby-constant">Selector</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/_selector$/</span>, <span class="ruby-string">&#39;&#39;</span>) }
1766
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">include_standard_selectors</span>
1767
- <span class="ruby-identifier">ret</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">SearchContext</span><span class="ruby-operator">::</span><span class="ruby-constant">FINDERS</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span> }
1768
- <span class="ruby-keyword">end</span>
1769
- <span class="ruby-identifier">ret</span>
1763
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">selectors</span>(<span class="ruby-identifier">include_standard_selectors</span> = <span class="ruby-keyword">true</span>)
1764
+ <span class="ruby-identifier">ret</span> = <span class="ruby-constant">Selector</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/_selector$/</span>, <span class="ruby-string">&#39;&#39;</span>) }
1765
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">include_standard_selectors</span>
1766
+ <span class="ruby-identifier">ret</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">SearchContext</span><span class="ruby-operator">::</span><span class="ruby-constant">FINDERS</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span> }
1767
+ <span class="ruby-keyword">end</span>
1768
+ <span class="ruby-identifier">ret</span>
1770
1769
  <span class="ruby-keyword">end</span></pre>
1771
1770
  </div>
1772
1771
 
@@ -1827,7 +1826,8 @@ with the corresponding variable value.</p>
1827
1826
 
1828
1827
  <p>The variable expansion expression format is:</p>
1829
1828
 
1830
- <pre>&#39;${variable_name}&#39;</pre>
1829
+ <pre class="ruby"><span class="ruby-string">&#39;${variable_name}&#39;</span>
1830
+ </pre>
1831
1831
 
1832
1832
  <p>For example:</p>
1833
1833
 
@@ -1843,12 +1843,12 @@ with the corresponding variable value.</p>
1843
1843
 
1844
1844
  <div class="method-source-code" id="expand-source">
1845
1845
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 690</span>
1846
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">expand</span>(<span class="ruby-identifier">s</span>)
1847
- <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-identifier">s</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">kv</span><span class="ruby-operator">|</span>
1848
- <span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/\$\{#{kv[0]}\}/</span>, <span class="ruby-identifier">kv</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_s</span>)
1849
- <span class="ruby-keyword">end</span>
1850
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">expand</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">s</span>
1851
- <span class="ruby-identifier">result</span>
1846
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">expand</span>(<span class="ruby-identifier">s</span>)
1847
+ <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-identifier">s</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">kv</span><span class="ruby-operator">|</span>
1848
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/\$\{#{kv[0]}\}/</span>, <span class="ruby-identifier">kv</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_s</span>)
1849
+ <span class="ruby-keyword">end</span>
1850
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">expand</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">s</span>
1851
+ <span class="ruby-identifier">result</span>
1852
1852
  <span class="ruby-keyword">end</span></pre>
1853
1853
  </div>
1854
1854
 
@@ -1896,30 +1896,30 @@ variables is restored.</p>
1896
1896
 
1897
1897
  <div class="method-source-code" id="with_vars-source">
1898
1898
  <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 713</span>
1899
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_vars</span>(<span class="ruby-identifier">vars</span>)
1900
- <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@variables</span>
1901
- <span class="ruby-ivar">@variables</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">vars</span>)
1902
- <span class="ruby-identifier">ret_vars</span> = <span class="ruby-keyword">nil</span>
1903
-
1904
- <span class="ruby-identifier">ret</span> = <span class="ruby-keyword">yield</span>
1905
-
1906
- <span class="ruby-identifier">returned</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>]
1907
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">returned</span> <span class="ruby-operator">==</span> [<span class="ruby-string">&#39;*&#39;</span>]
1908
- <span class="ruby-identifier">ret_vars</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">clone</span>
1909
- <span class="ruby-identifier">ret_vars</span>.<span class="ruby-identifier">delete</span> <span class="ruby-string">&#39;__RETURN__&#39;</span>
1910
- <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">returned</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
1911
- <span class="ruby-identifier">ret_vars</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">returned</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">k</span> }
1912
- <span class="ruby-keyword">end</span>
1913
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1914
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_variable_set</span> <span class="ruby-string">&quot;@variables&quot;</span>, <span class="ruby-ivar">@variables</span>
1915
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">variables</span>
1916
- <span class="ruby-ivar">@variables</span>
1917
- <span class="ruby-keyword">end</span>
1918
- <span class="ruby-identifier">raise</span>
1919
- <span class="ruby-keyword">ensure</span>
1920
- <span class="ruby-ivar">@variables</span> = <span class="ruby-identifier">current</span>
1921
- <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">ret_vars</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">ret_vars</span>
1922
- <span class="ruby-identifier">ret</span>
1899
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">with_vars</span>(<span class="ruby-identifier">vars</span>)
1900
+ <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@variables</span>
1901
+ <span class="ruby-ivar">@variables</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">vars</span>)
1902
+ <span class="ruby-identifier">ret_vars</span> = <span class="ruby-keyword">nil</span>
1903
+
1904
+ <span class="ruby-identifier">ret</span> = <span class="ruby-keyword">yield</span>
1905
+
1906
+ <span class="ruby-identifier">returned</span> = <span class="ruby-ivar">@variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>]
1907
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">returned</span> <span class="ruby-operator">==</span> [<span class="ruby-string">&#39;*&#39;</span>]
1908
+ <span class="ruby-identifier">ret_vars</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">clone</span>
1909
+ <span class="ruby-identifier">ret_vars</span>.<span class="ruby-identifier">delete</span> <span class="ruby-string">&#39;__RETURN__&#39;</span>
1910
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">returned</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
1911
+ <span class="ruby-identifier">ret_vars</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">returned</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">k</span> }
1912
+ <span class="ruby-keyword">end</span>
1913
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1914
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">instance_variable_set</span> <span class="ruby-string">&quot;@variables&quot;</span>, <span class="ruby-ivar">@variables</span>
1915
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">variables</span>
1916
+ <span class="ruby-ivar">@variables</span>
1917
+ <span class="ruby-keyword">end</span>
1918
+ <span class="ruby-identifier">raise</span>
1919
+ <span class="ruby-keyword">ensure</span>
1920
+ <span class="ruby-ivar">@variables</span> = <span class="ruby-identifier">current</span>
1921
+ <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">ret_vars</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">ret_vars</span>
1922
+ <span class="ruby-identifier">ret</span>
1923
1923
  <span class="ruby-keyword">end</span></pre>
1924
1924
  </div>
1925
1925
 
@@ -1939,7 +1939,7 @@ variables is restored.</p>
1939
1939
 
1940
1940
  <footer id="validator-badges" role="contentinfo">
1941
1941
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
1942
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
1943
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1942
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
1943
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1944
1944
  </footer>
1945
1945