bauxite 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/Bauxite/Action.html +3 -3
- data/doc/Bauxite/ActionModule.html +4 -4
- data/doc/Bauxite/Application.html +1 -1
- data/doc/Bauxite/Context.html +184 -143
- data/doc/Bauxite/Errors/AssertionError.html +1 -1
- data/doc/Bauxite/Errors/FileNotFoundError.html +1 -1
- data/doc/Bauxite/Errors/FormatError.html +107 -0
- data/doc/Bauxite/Errors.html +1 -1
- data/doc/Bauxite/Loggers/CompositeLogger.html +1 -1
- data/doc/Bauxite/Loggers/EchoLogger.html +2 -1
- data/doc/Bauxite/Loggers/FileLogger.html +1 -1
- data/doc/Bauxite/Loggers/NullLogger.html +6 -6
- data/doc/Bauxite/Loggers/TerminalLogger.html +15 -10
- data/doc/Bauxite/Loggers/XtermLogger.html +1 -1
- data/doc/Bauxite/Loggers.html +1 -1
- data/doc/Bauxite/Parser.html +325 -0
- data/doc/Bauxite/ParserModule.html +203 -0
- data/doc/Bauxite/Selector.html +1 -1
- data/doc/Bauxite/SelectorModule.html +4 -4
- data/doc/Bauxite.html +1 -1
- data/doc/created.rid +42 -38
- data/doc/index.html +5 -1
- data/doc/js/search_index.js +1 -1
- data/doc/table_of_contents.html +77 -36
- data/lib/bauxite/actions/alias.rb +1 -1
- data/lib/bauxite/actions/debug.rb +2 -3
- data/lib/bauxite/actions/tryload.rb +1 -1
- data/lib/bauxite/application.rb +2 -10
- data/lib/bauxite/core/{Context.rb → context.rb} +117 -114
- data/lib/bauxite/core/{Errors.rb → errors.rb} +6 -0
- data/lib/bauxite/core/parser.rb +78 -0
- data/lib/bauxite/loggers/echo.rb +1 -0
- data/lib/bauxite/loggers/terminal.rb +5 -0
- data/lib/bauxite/parsers/csv.rb +49 -0
- data/lib/bauxite/parsers/default.rb +42 -0
- data/lib/bauxite/parsers/html.rb +76 -0
- data/lib/bauxite.rb +1 -1
- data/test/alias.bxt +3 -0
- data/test/parsers/page.html +7 -0
- data/test/parsers.bxt +2 -0
- data/test/parsers.csv +7 -0
- data/test/parsers.html +32 -0
- metadata +18 -7
- /data/lib/bauxite/core/{Action.rb → action.rb} +0 -0
- /data/lib/bauxite/core/{Logger.rb → logger.rb} +0 -0
- /data/lib/bauxite/core/{Selector.rb → selector.rb} +0 -0
@@ -0,0 +1,325 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>class Bauxite::Parser - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<link href="../fonts.css" rel="stylesheet">
|
10
|
+
<link href="../rdoc.css" rel="stylesheet">
|
11
|
+
|
12
|
+
<script type="text/javascript">
|
13
|
+
var rdoc_rel_prefix = "../";
|
14
|
+
</script>
|
15
|
+
|
16
|
+
<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
|
+
<script src="../js/darkfish.js"></script>
|
22
|
+
|
23
|
+
|
24
|
+
<body id="top" role="document" class="class">
|
25
|
+
<nav role="navigation">
|
26
|
+
<div id="project-navigation">
|
27
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
28
|
+
<h2>
|
29
|
+
<a href="../index.html" rel="home">Home</a>
|
30
|
+
</h2>
|
31
|
+
|
32
|
+
<div id="table-of-contents-navigation">
|
33
|
+
<a href="../table_of_contents.html#pages">Pages</a>
|
34
|
+
<a href="../table_of_contents.html#classes">Classes</a>
|
35
|
+
<a href="../table_of_contents.html#methods">Methods</a>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
40
|
+
<form action="#" method="get" accept-charset="utf-8">
|
41
|
+
<div id="search-field-wrapper">
|
42
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
43
|
+
aria-autocomplete="list" aria-controls="search-results"
|
44
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
45
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<ul id="search-results" aria-label="Search Results"
|
49
|
+
aria-busy="false" aria-expanded="false"
|
50
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
51
|
+
</form>
|
52
|
+
</div>
|
53
|
+
|
54
|
+
</div>
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
<div id="class-metadata">
|
59
|
+
<div id="sections-section" class="nav-section">
|
60
|
+
<h3>Sections</h3>
|
61
|
+
|
62
|
+
<ul class="link-list" role="directory">
|
63
|
+
|
64
|
+
<li><a href="#5Buntitled-5D"></a></li>
|
65
|
+
|
66
|
+
<li><a href="#Parser+Methods">Parser Methods</a></li>
|
67
|
+
|
68
|
+
</ul>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<div id="parent-class-section" class="nav-section">
|
72
|
+
<h3>Parent</h3>
|
73
|
+
|
74
|
+
|
75
|
+
<p class="link">Object
|
76
|
+
|
77
|
+
</div>
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
<!-- Method Quickref -->
|
82
|
+
<div id="method-list-section" class="nav-section">
|
83
|
+
<h3>Methods</h3>
|
84
|
+
|
85
|
+
<ul class="link-list" role="directory">
|
86
|
+
|
87
|
+
<li ><a href="#method-i-csv">#csv</a>
|
88
|
+
|
89
|
+
<li ><a href="#method-i-default">#default</a>
|
90
|
+
|
91
|
+
<li ><a href="#method-i-selenium_ide_html">#selenium_ide_html</a>
|
92
|
+
|
93
|
+
</ul>
|
94
|
+
</div>
|
95
|
+
|
96
|
+
</div>
|
97
|
+
</nav>
|
98
|
+
|
99
|
+
<main role="main" aria-labelledby="class-Bauxite::Parser">
|
100
|
+
<h1 id="class-Bauxite::Parser" class="class">
|
101
|
+
class Bauxite::Parser
|
102
|
+
</h1>
|
103
|
+
|
104
|
+
<section class="description">
|
105
|
+
|
106
|
+
</section>
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
</section>
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
<section id="Parser+Methods" class="documentation-section">
|
126
|
+
|
127
|
+
<header class="documentation-section-title">
|
128
|
+
<h2>
|
129
|
+
Parser Methods
|
130
|
+
</h2>
|
131
|
+
<span class="section-click-top">
|
132
|
+
<a href="#top">↑ top</a>
|
133
|
+
</span>
|
134
|
+
</header>
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
<section id="public-instance-Parser+Methods-method-details" class="method-section">
|
145
|
+
<header>
|
146
|
+
<h3>Public Instance Methods</h3>
|
147
|
+
</header>
|
148
|
+
|
149
|
+
|
150
|
+
<div id="method-i-csv" class="method-detail ">
|
151
|
+
|
152
|
+
<div class="method-heading">
|
153
|
+
<span class="method-name">csv</span><span
|
154
|
+
class="method-args">(file)</span>
|
155
|
+
|
156
|
+
<span class="method-click-advice">click to toggle source</span>
|
157
|
+
|
158
|
+
</div>
|
159
|
+
|
160
|
+
|
161
|
+
<div class="method-description">
|
162
|
+
|
163
|
+
<p>Load CSV files.</p>
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
<div class="method-source-code" id="csv-source">
|
169
|
+
<pre><span class="ruby-comment"># File lib/bauxite/parsers/csv.rb, line 27</span>
|
170
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">csv</span>(<span class="ruby-identifier">file</span>)
|
171
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">end_with?</span> <span class="ruby-string">'.csv'</span>
|
172
|
+
|
173
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
174
|
+
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">each_with_index</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">text</span>,<span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
175
|
+
<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/\r?\n$/</span>, <span class="ruby-string">''</span>)
|
176
|
+
<span class="ruby-keyword">next</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(#|$)/</span>
|
177
|
+
<span class="ruby-keyword">begin</span>
|
178
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-constant">CSV</span>.<span class="ruby-identifier">parse_line</span>(<span class="ruby-identifier">text</span>)
|
179
|
+
[ <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</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">strip</span> }, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">line</span> ]
|
180
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
181
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{file} (line #{line+1}): #{e.message}"</span>
|
182
|
+
<span class="ruby-keyword">end</span>
|
183
|
+
<span class="ruby-keyword">end</span>
|
184
|
+
<span class="ruby-keyword">end</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> }
|
185
|
+
<span class="ruby-keyword">end</span></pre>
|
186
|
+
</div>
|
187
|
+
|
188
|
+
</div>
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
</div>
|
194
|
+
|
195
|
+
|
196
|
+
<div id="method-i-default" class="method-detail ">
|
197
|
+
|
198
|
+
<div class="method-heading">
|
199
|
+
<span class="method-name">default</span><span
|
200
|
+
class="method-args">(file, io = nil)</span>
|
201
|
+
|
202
|
+
<span class="method-click-advice">click to toggle source</span>
|
203
|
+
|
204
|
+
</div>
|
205
|
+
|
206
|
+
|
207
|
+
<div class="method-description">
|
208
|
+
|
209
|
+
<p>Load default Bauxite files.</p>
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
<div class="method-source-code" id="default-source">
|
215
|
+
<pre><span class="ruby-comment"># File lib/bauxite/parsers/default.rb, line 27</span>
|
216
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">io</span> = <span class="ruby-keyword">nil</span>)
|
217
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-string">'stdin'</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/\.[tb]xt(\..*)?$/</span>)
|
218
|
+
|
219
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">$stdin</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-string">'stdin'</span> <span class="ruby-keyword">and</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">io</span>
|
220
|
+
|
221
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">io</span><span class="ruby-operator">|</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">io</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">io</span>
|
222
|
+
|
223
|
+
<span class="ruby-identifier">io</span>.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">each_with_index</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">text</span>,<span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
224
|
+
<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/\r?\n$/</span>, <span class="ruby-string">''</span>)
|
225
|
+
<span class="ruby-keyword">next</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(#|$)/</span>
|
226
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</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-identifier">file</span>, <span class="ruby-identifier">line</span>)
|
227
|
+
[ <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-identifier">text</span>, <span class="ruby-identifier">line</span> ]
|
228
|
+
<span class="ruby-keyword">end</span>
|
229
|
+
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> }
|
230
|
+
<span class="ruby-keyword">end</span></pre>
|
231
|
+
</div>
|
232
|
+
|
233
|
+
</div>
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
</div>
|
239
|
+
|
240
|
+
|
241
|
+
<div id="method-i-selenium_ide_html" class="method-detail ">
|
242
|
+
|
243
|
+
<div class="method-heading">
|
244
|
+
<span class="method-name">selenium_ide_html</span><span
|
245
|
+
class="method-args">(file)</span>
|
246
|
+
|
247
|
+
<span class="method-click-advice">click to toggle source</span>
|
248
|
+
|
249
|
+
</div>
|
250
|
+
|
251
|
+
|
252
|
+
<div class="method-description">
|
253
|
+
|
254
|
+
<p>Load Selenium IDE HTML files.</p>
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
<div class="method-source-code" id="selenium_ide_html-source">
|
260
|
+
<pre><span class="ruby-comment"># File lib/bauxite/parsers/html.rb, line 27</span>
|
261
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">selenium_ide_html</span>(<span class="ruby-identifier">file</span>)
|
262
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">end_with?</span> <span class="ruby-string">'.html'</span>
|
263
|
+
|
264
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
265
|
+
<span class="ruby-identifier">content</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
|
266
|
+
|
267
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[\n\r]/</span>, <span class="ruby-string">''</span>)
|
268
|
+
<span class="ruby-identifier">selenium_base</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/.*rel="selenium.base" href="([^"]*)".*/</span>, <span class="ruby-string">'\1'</span>)
|
269
|
+
<span class="ruby-identifier">base_ends_in_slash</span> = (<span class="ruby-identifier">selenium_base</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'/'</span>)
|
270
|
+
|
271
|
+
<span class="ruby-identifier">data</span>
|
272
|
+
.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'<tr>'</span>, <span class="ruby-string">"\naction="</span>)
|
273
|
+
.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'</tr>'</span>, <span class="ruby-string">"\n"</span>)
|
274
|
+
.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">/^action=/</span>)
|
275
|
+
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^action=\s*<td>([^<]*)<\/td>\s*<td>([^<]*)<\/td>\s*<td>([^<]*)<\/td>.*$/</span>) }
|
276
|
+
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span> }
|
277
|
+
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">captures</span> }
|
278
|
+
.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span><span class="ruby-operator">|</span>
|
279
|
+
<span class="ruby-keyword">case</span> <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>]
|
280
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'open'</span>
|
281
|
+
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>]
|
282
|
+
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">url</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'/'</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">base_ends_in_slash</span> <span class="ruby-comment"># remove leading '/'</span>
|
283
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">selenium_base</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">url</span>
|
284
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'type'</span>
|
285
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'write'</span>
|
286
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
287
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'verifyTextPresent'</span>
|
288
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'source'</span>
|
289
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'clickAndWait'</span>, <span class="ruby-string">'click'</span>
|
290
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'click'</span>
|
291
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
292
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'waitForPageToLoad'</span>
|
293
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'wait'</span>
|
294
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = (<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">/</span> <span class="ruby-value">1000</span>).<span class="ruby-identifier">to_s</span>
|
295
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'assertValue'</span>
|
296
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'assert'</span>
|
297
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
298
|
+
<span class="ruby-keyword">end</span>
|
299
|
+
<span class="ruby-identifier">action</span> = <span class="ruby-identifier">action</span>.<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-string">''</span> }
|
300
|
+
[ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>], <span class="ruby-keyword">nil</span>, <span class="ruby-value">0</span> ]
|
301
|
+
<span class="ruby-keyword">end</span>
|
302
|
+
<span class="ruby-keyword">end</span>
|
303
|
+
<span class="ruby-keyword">end</span></pre>
|
304
|
+
</div>
|
305
|
+
|
306
|
+
</div>
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
</div>
|
312
|
+
|
313
|
+
|
314
|
+
</section>
|
315
|
+
|
316
|
+
</section>
|
317
|
+
</main>
|
318
|
+
|
319
|
+
|
320
|
+
<footer id="validator-badges" role="contentinfo">
|
321
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
322
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
|
323
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
324
|
+
</footer>
|
325
|
+
|
@@ -0,0 +1,203 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>module Bauxite::ParserModule - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<link href="../fonts.css" rel="stylesheet">
|
10
|
+
<link href="../rdoc.css" rel="stylesheet">
|
11
|
+
|
12
|
+
<script type="text/javascript">
|
13
|
+
var rdoc_rel_prefix = "../";
|
14
|
+
</script>
|
15
|
+
|
16
|
+
<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
|
+
<script src="../js/darkfish.js"></script>
|
22
|
+
|
23
|
+
|
24
|
+
<body id="top" role="document" class="module">
|
25
|
+
<nav role="navigation">
|
26
|
+
<div id="project-navigation">
|
27
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
28
|
+
<h2>
|
29
|
+
<a href="../index.html" rel="home">Home</a>
|
30
|
+
</h2>
|
31
|
+
|
32
|
+
<div id="table-of-contents-navigation">
|
33
|
+
<a href="../table_of_contents.html#pages">Pages</a>
|
34
|
+
<a href="../table_of_contents.html#classes">Classes</a>
|
35
|
+
<a href="../table_of_contents.html#methods">Methods</a>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
40
|
+
<form action="#" method="get" accept-charset="utf-8">
|
41
|
+
<div id="search-field-wrapper">
|
42
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
43
|
+
aria-autocomplete="list" aria-controls="search-results"
|
44
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
45
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<ul id="search-results" aria-label="Search Results"
|
49
|
+
aria-busy="false" aria-expanded="false"
|
50
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
51
|
+
</form>
|
52
|
+
</div>
|
53
|
+
|
54
|
+
</div>
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
<div id="class-metadata">
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
<!-- Method Quickref -->
|
64
|
+
<div id="method-list-section" class="nav-section">
|
65
|
+
<h3>Methods</h3>
|
66
|
+
|
67
|
+
<ul class="link-list" role="directory">
|
68
|
+
|
69
|
+
<li ><a href="#method-c-new">::new</a>
|
70
|
+
|
71
|
+
<li ><a href="#method-i-parse">#parse</a>
|
72
|
+
|
73
|
+
</ul>
|
74
|
+
</div>
|
75
|
+
|
76
|
+
</div>
|
77
|
+
</nav>
|
78
|
+
|
79
|
+
<main role="main" aria-labelledby="module-Bauxite::ParserModule">
|
80
|
+
<h1 id="module-Bauxite::ParserModule" class="module">
|
81
|
+
module Bauxite::ParserModule
|
82
|
+
</h1>
|
83
|
+
|
84
|
+
<section class="description">
|
85
|
+
|
86
|
+
<p>Parser common state and behavior.</p>
|
87
|
+
|
88
|
+
</section>
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
104
|
+
<header>
|
105
|
+
<h3>Public Class Methods</h3>
|
106
|
+
</header>
|
107
|
+
|
108
|
+
|
109
|
+
<div id="method-c-new" class="method-detail ">
|
110
|
+
|
111
|
+
<div class="method-heading">
|
112
|
+
<span class="method-name">new</span><span
|
113
|
+
class="method-args">(ctx)</span>
|
114
|
+
|
115
|
+
<span class="method-click-advice">click to toggle source</span>
|
116
|
+
|
117
|
+
</div>
|
118
|
+
|
119
|
+
|
120
|
+
<div class="method-description">
|
121
|
+
|
122
|
+
<p>Constructs a new test parser instance.</p>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
<div class="method-source-code" id="new-source">
|
128
|
+
<pre><span class="ruby-comment"># File lib/bauxite/core/parser.rb, line 27</span>
|
129
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>)
|
130
|
+
<span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
|
131
|
+
<span class="ruby-keyword">end</span></pre>
|
132
|
+
</div>
|
133
|
+
|
134
|
+
</div>
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
</div>
|
140
|
+
|
141
|
+
|
142
|
+
</section>
|
143
|
+
|
144
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
145
|
+
<header>
|
146
|
+
<h3>Public Instance Methods</h3>
|
147
|
+
</header>
|
148
|
+
|
149
|
+
|
150
|
+
<div id="method-i-parse" class="method-detail ">
|
151
|
+
|
152
|
+
<div class="method-heading">
|
153
|
+
<span class="method-name">parse</span><span
|
154
|
+
class="method-args">(file) { |strip.downcase, args, text, file, line| ... }</span>
|
155
|
+
|
156
|
+
<span class="method-click-advice">click to toggle source</span>
|
157
|
+
|
158
|
+
</div>
|
159
|
+
|
160
|
+
|
161
|
+
<div class="method-description">
|
162
|
+
|
163
|
+
<p>Parse <code>file</code> and yield the resulting actions.</p>
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
<div class="method-source-code" id="parse-source">
|
169
|
+
<pre><span class="ruby-comment"># File lib/bauxite/core/parser.rb, line 32</span>
|
170
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">file</span>)
|
171
|
+
<span class="ruby-identifier">actions</span> = <span class="ruby-keyword">nil</span>
|
172
|
+
<span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parsers</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">actions</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">p</span>, <span class="ruby-identifier">file</span>) }
|
173
|
+
|
174
|
+
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">actions</span>
|
175
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FormatError</span>, <span class="ruby-node">"Invalid format in '#{file}'. None of the available parsers can understand this file format."</span>
|
176
|
+
<span class="ruby-keyword">end</span>
|
177
|
+
|
178
|
+
<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-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
179
|
+
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</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>
|
180
|
+
<span class="ruby-keyword">end</span>
|
181
|
+
<span class="ruby-keyword">end</span></pre>
|
182
|
+
</div>
|
183
|
+
|
184
|
+
</div>
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
</div>
|
190
|
+
|
191
|
+
|
192
|
+
</section>
|
193
|
+
|
194
|
+
</section>
|
195
|
+
</main>
|
196
|
+
|
197
|
+
|
198
|
+
<footer id="validator-badges" role="contentinfo">
|
199
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
200
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
|
201
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
202
|
+
</footer>
|
203
|
+
|
data/doc/Bauxite/Selector.html
CHANGED
@@ -416,7 +416,7 @@ selector.</p>
|
|
416
416
|
|
417
417
|
<footer id="validator-badges" role="contentinfo">
|
418
418
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
419
|
-
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.
|
419
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
|
420
420
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
421
421
|
</footer>
|
422
422
|
|
@@ -127,7 +127,7 @@
|
|
127
127
|
|
128
128
|
|
129
129
|
<div class="method-source-code" id="new-source">
|
130
|
-
<pre><span class="ruby-comment"># File lib/bauxite/core/
|
130
|
+
<pre><span class="ruby-comment"># File lib/bauxite/core/selector.rb, line 28</span>
|
131
131
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>)
|
132
132
|
<span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
|
133
133
|
<span class="ruby-keyword">end</span></pre>
|
@@ -185,7 +185,7 @@ href="Context.html#method-i-find">Bauxite::Context#find</a>.</p>
|
|
185
185
|
|
186
186
|
|
187
187
|
<div class="method-source-code" id="find-source">
|
188
|
-
<pre><span class="ruby-comment"># File lib/bauxite/core/
|
188
|
+
<pre><span class="ruby-comment"># File lib/bauxite/core/selector.rb, line 48</span>
|
189
189
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
190
190
|
<span class="ruby-comment"># I know I should be using Class scope operators to refer to class</span>
|
191
191
|
<span class="ruby-comment"># methods (i.e. Context::selectors), but for some reason RDoc</span>
|
@@ -253,7 +253,7 @@ href="Context.html#method-i-find">Bauxite::Context#find</a>.</p>
|
|
253
253
|
|
254
254
|
|
255
255
|
<div class="method-source-code" id="selenium_find-source">
|
256
|
-
<pre><span class="ruby-comment"># File lib/bauxite/core/
|
256
|
+
<pre><span class="ruby-comment"># File lib/bauxite/core/selector.rb, line 81</span>
|
257
257
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">selenium_find</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">selector</span>)
|
258
258
|
<span class="ruby-identifier">element</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">find_element</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">selector</span>)
|
259
259
|
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">element</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
|
@@ -277,7 +277,7 @@ href="Context.html#method-i-find">Bauxite::Context#find</a>.</p>
|
|
277
277
|
|
278
278
|
<footer id="validator-badges" role="contentinfo">
|
279
279
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
280
|
-
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.
|
280
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
|
281
281
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
282
282
|
</footer>
|
283
283
|
|
data/doc/Bauxite.html
CHANGED
@@ -92,7 +92,7 @@
|
|
92
92
|
|
93
93
|
<footer id="validator-badges" role="contentinfo">
|
94
94
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
95
|
-
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.
|
95
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
|
96
96
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
97
97
|
</footer>
|
98
98
|
|