sdl4r 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +14 -1
- data/README +4 -4
- data/Rakefile +15 -12
- data/TODO +11 -4
- data/lib/sdl4r/parser.rb +25 -33
- data/lib/sdl4r/parser/token.rb +1 -1
- data/lib/sdl4r/sdl4r.rb +50 -22
- data/lib/sdl4r/sdl_time_span.rb +2 -2
- data/lib/sdl4r/serializer.rb +152 -0
- data/lib/sdl4r/tag.rb +15 -1
- data/test/sdl4r/parser_test.rb +5 -0
- data/test/sdl4r/serializer_test.rb +78 -0
- data/test/sdl4r/tag_test.rb +20 -1
- metadata +52 -81
- data/doc/classes/SDL4R.html +0 -408
- data/doc/classes/SDL4R/Parser.html +0 -190
- data/doc/classes/SDL4R/ParserTest.html +0 -385
- data/doc/classes/SDL4R/SDL4RTest.html +0 -532
- data/doc/classes/SDL4R/SDLTest.html +0 -77
- data/doc/classes/SDL4R/SdlBinary.html +0 -188
- data/doc/classes/SDL4R/SdlParseError.html +0 -110
- data/doc/classes/SDL4R/SdlTimeSpan.html +0 -637
- data/doc/classes/SDL4R/Tag.html +0 -1249
- data/doc/classes/SDL4R/TagTest.html +0 -292
- data/doc/created.rid +0 -1
- data/doc/files/CHANGELOG.html +0 -200
- data/doc/files/LICENSE.html +0 -497
- data/doc/files/README.html +0 -406
- data/doc/files/lib/sdl4r/parser/reader_rb.html +0 -54
- data/doc/files/lib/sdl4r/parser/time_span_with_zone_rb.html +0 -54
- data/doc/files/lib/sdl4r/parser/token_rb.html +0 -54
- data/doc/files/lib/sdl4r/parser/tokenizer_rb.html +0 -54
- data/doc/files/lib/sdl4r/parser_rb.html +0 -62
- data/doc/files/lib/sdl4r/sdl4r_rb.html +0 -64
- data/doc/files/lib/sdl4r/sdl_binary_rb.html +0 -54
- data/doc/files/lib/sdl4r/sdl_parse_error_rb.html +0 -54
- data/doc/files/lib/sdl4r/sdl_time_span_rb.html +0 -54
- data/doc/files/lib/sdl4r/tag_rb.html +0 -64
- data/doc/files/lib/sdl4r_rb.html +0 -54
- data/doc/files/test/sdl4r/parser_test_rb.html +0 -64
- data/doc/files/test/sdl4r/sdl4r_test_rb.html +0 -67
- data/doc/files/test/sdl4r/sdl_test_rb.html +0 -64
- data/doc/files/test/sdl4r/tag_test_rb.html +0 -64
- data/doc/fr_class_index.html +0 -19
- data/doc/fr_file_index.html +0 -37
- data/doc/fr_method_index.html +0 -4711
- data/doc/index.html +0 -15
- data/doc/rdoc-style.css +0 -328
@@ -1,190 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
-
<html lang='en'>
|
3
|
-
<head>
|
4
|
-
<title>: SDL4R::Parser [RDoc: Simple Declarative Language for Ruby]</title>
|
5
|
-
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
|
6
|
-
<link href='../../rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
|
7
|
-
<script type='text/javascript'>
|
8
|
-
//<![CDATA[
|
9
|
-
function popupCode(url) {
|
10
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
11
|
-
}
|
12
|
-
|
13
|
-
function toggleCode(id) {
|
14
|
-
var code = document.getElementById(id)
|
15
|
-
|
16
|
-
code.style.display = code.style.display != 'block' ? 'block' : 'none'
|
17
|
-
return true
|
18
|
-
}
|
19
|
-
|
20
|
-
// Make codeblocks hidden by default
|
21
|
-
document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
|
22
|
-
//]]>
|
23
|
-
</script>
|
24
|
-
</head>
|
25
|
-
<body class='page'>
|
26
|
-
<div class='class' id='wrapper'>
|
27
|
-
<div class='header'>
|
28
|
-
<h1 class='name'>
|
29
|
-
<span class='type'>Class</span>
|
30
|
-
SDL4R::Parser
|
31
|
-
</h1>
|
32
|
-
<ol class='paths'>
|
33
|
-
<li>
|
34
|
-
<a href="../../files/lib/sdl4r/parser_rb.html">lib/sdl4r/parser.rb</a>
|
35
|
-
</li>
|
36
|
-
<li class='other'>
|
37
|
-
<a href="../../files/lib/sdl4r/parser/reader_rb.html">lib/sdl4r/parser/reader.rb</a>
|
38
|
-
</li>
|
39
|
-
<li class='other'>
|
40
|
-
<a href="../../files/lib/sdl4r/parser/token_rb.html">lib/sdl4r/parser/token.rb</a>
|
41
|
-
</li>
|
42
|
-
<li class='other'>
|
43
|
-
<a href="../../files/lib/sdl4r/parser/tokenizer_rb.html">lib/sdl4r/parser/tokenizer.rb</a>
|
44
|
-
</li>
|
45
|
-
<li class='other'>
|
46
|
-
<a href="../../files/lib/sdl4r/parser/time_span_with_zone_rb.html">lib/sdl4r/parser/time_span_with_zone.rb</a>
|
47
|
-
</li>
|
48
|
-
<li>
|
49
|
-
<a class='show' href='#' onclick='this.parentNode.parentNode.className += " expanded"; this.parentNode.removeChild(this); return false'>show all</a>
|
50
|
-
</li>
|
51
|
-
</ol>
|
52
|
-
<div class='parent'>
|
53
|
-
Parent:
|
54
|
-
<strong>Object</strong>
|
55
|
-
</div>
|
56
|
-
</div>
|
57
|
-
<div id='content'>
|
58
|
-
<div id='text'>
|
59
|
-
<div id='description'>
|
60
|
-
<p>
|
61
|
-
The SDL parser.
|
62
|
-
</p>
|
63
|
-
<p>
|
64
|
-
In Ruby 1.8, in order to enable UTF-8 support, you may have to declare the
|
65
|
-
following lines:
|
66
|
-
</p>
|
67
|
-
<pre>$KCODE = 'u'
require 'jcode'</pre>
|
68
|
-
<p>
|
69
|
-
This will give you correct input and output and correct UTF-8
|
70
|
-
“general” sorting. Alternatively you can use the following
|
71
|
-
options when launching the Ruby interpreter:
|
72
|
-
</p>
|
73
|
-
<pre>/path/to/ruby -Ku -rjcode</pre>
|
74
|
-
<h2>Authors</h2>
|
75
|
-
<p>
|
76
|
-
Daniel Leuck, Philippe Vosges
|
77
|
-
</p>
|
78
|
-
</div>
|
79
|
-
<div id='method-list'>
|
80
|
-
<h2>Methods</h2>
|
81
|
-
<h3>public class</h3>
|
82
|
-
<ol>
|
83
|
-
<li><a href="#M000081">new</a></li>
|
84
|
-
</ol>
|
85
|
-
<h3>public instance</h3>
|
86
|
-
<ol>
|
87
|
-
<li><a href="#M000083">new_date_time</a></li>
|
88
|
-
<li><a href="#M000082">parse</a></li>
|
89
|
-
</ol>
|
90
|
-
</div>
|
91
|
-
<div id='section'>
|
92
|
-
<div id='constants-list'>
|
93
|
-
<h2>Constants</h2>
|
94
|
-
<div class='name-list'>
|
95
|
-
<table summary='Constants'>
|
96
|
-
<tr class='top-aligned-row context-row'>
|
97
|
-
<td class='context-item-name'>UNKNOWN_POSITION</td>
|
98
|
-
<td>=</td>
|
99
|
-
<td class='context-item-value'>-2</td>
|
100
|
-
<td> </td>
|
101
|
-
<td class='context-item-desc'>
|
102
|
-
|
103
|
-
Passed to parse_error() in order to specify an error that occured on no
|
104
|
-
specific position (column).
|
105
|
-
</td>
|
106
|
-
</tr>
|
107
|
-
</table>
|
108
|
-
</div>
|
109
|
-
</div>
|
110
|
-
<div id='methods'>
|
111
|
-
<h2>Public class methods</h2>
|
112
|
-
<div class='method public-class' id='method-M000081'>
|
113
|
-
<a name='M000081'></a>
|
114
|
-
<div class='synopsis'>
|
115
|
-
<span class='name'>new</span>
|
116
|
-
<span class='arguments'>(io)</span>
|
117
|
-
</div>
|
118
|
-
<div class='description'>
|
119
|
-
<p>
|
120
|
-
Creates an SDL parser on the specified <tt>IO</tt>.
|
121
|
-
</p>
|
122
|
-
<pre>IO.open("path/to/sdl_file") { |io|
 parser = SDL4R::Parser.new(io)
 tags = parser.parse()
}</pre>
|
123
|
-
</div>
|
124
|
-
<div class='source'>
|
125
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000081-source'); return false">
|
126
|
-
[show source]
|
127
|
-
</a>
|
128
|
-
<pre id='M000081-source'> <span class="ruby-comment cmt"># File lib/sdl4r/parser.rb, line 59</span>
59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">io</span>)
60: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">"io == nil"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">io</span>.<span class="ruby-identifier">nil?</span>
61: 
62: <span class="ruby-ivar">@tokenizer</span> = <span class="ruby-constant">Tokenizer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">io</span>)
63: <span class="ruby-keyword kw">end</span></pre>
|
129
|
-
</div>
|
130
|
-
</div>
|
131
|
-
<h2>Public instance methods</h2>
|
132
|
-
<div class='method public-instance' id='method-M000083'>
|
133
|
-
<a name='M000083'></a>
|
134
|
-
<div class='synopsis'>
|
135
|
-
<span class='name'>new_date_time</span>
|
136
|
-
<span class='arguments'>(year, month, day, hour, min, sec, time_zone_offset)</span>
|
137
|
-
</div>
|
138
|
-
<div class='description'>
|
139
|
-
<p>
|
140
|
-
Creates and returns the object representing a datetime (DateTime in the
|
141
|
-
default implementation). Can be overriden.
|
142
|
-
</p>
|
143
|
-
<pre>def new_date_time(year, month, day, hour, min, sec, time_zone_offset)
 Time.utc(year, month, day, hour, min, sec)
end</pre>
|
144
|
-
</div>
|
145
|
-
<div class='source'>
|
146
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000083-source'); return false">
|
147
|
-
[show source]
|
148
|
-
</a>
|
149
|
-
<pre id='M000083-source'> <span class="ruby-comment cmt"># File lib/sdl4r/parser.rb, line 105</span>
105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_date_time</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">time_zone_offset</span>)
106: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">new_date_time</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">time_zone_offset</span>)
107: <span class="ruby-keyword kw">end</span></pre>
|
150
|
-
</div>
|
151
|
-
</div>
|
152
|
-
<div class='method public-instance' id='method-M000082'>
|
153
|
-
<a name='M000082'></a>
|
154
|
-
<div class='synopsis'>
|
155
|
-
<span class='name'>parse</span>
|
156
|
-
<span class='arguments'>()</span>
|
157
|
-
</div>
|
158
|
-
<div class='description'>
|
159
|
-
<p>
|
160
|
-
Parses the underlying <tt>IO</tt> and returns an <tt>Array</tt> of
|
161
|
-
<tt>Tag</tt>.
|
162
|
-
</p>
|
163
|
-
<h2>Errors</h2>
|
164
|
-
<dl>
|
165
|
-
<dt>IOError</dt><dd>If a problem is encountered with the IO
|
166
|
-
|
167
|
-
</dd>
|
168
|
-
<dt><a href="SdlParseError.html">SdlParseError</a></dt><dd>If the document is malformed
|
169
|
-
|
170
|
-
</dd>
|
171
|
-
</dl>
|
172
|
-
</div>
|
173
|
-
<div class='source'>
|
174
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000082-source'); return false">
|
175
|
-
[show source]
|
176
|
-
</a>
|
177
|
-
<pre id='M000082-source'> <span class="ruby-comment cmt"># File lib/sdl4r/parser.rb, line 70</span>
70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>
71: <span class="ruby-identifier">tags</span> = []
72: 
73: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">tokens</span> = <span class="ruby-ivar">@tokenizer</span>.<span class="ruby-identifier">read_line_tokens</span>()
74: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:START_BLOCK</span>
75: <span class="ruby-comment cmt"># tag with a block</span>
76: <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">construct_tag</span>(<span class="ruby-identifier">tokens</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-value">-1</span>])
77: <span class="ruby-identifier">add_children</span>(<span class="ruby-identifier">tag</span>)
78: <span class="ruby-identifier">tags</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">tag</span>
79: 
80: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:END_BLOCK</span>
81: <span class="ruby-comment cmt"># we found an block end token that should have been consumed by</span>
82: <span class="ruby-comment cmt"># add_children() normally</span>
83: <span class="ruby-identifier">parse_error</span>(
84: <span class="ruby-value str">"No opening block ({) for close block (})."</span>,
85: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">line</span>,
86: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">position</span>)
87: <span class="ruby-keyword kw">else</span>
88: <span class="ruby-comment cmt"># tag without block</span>
89: <span class="ruby-identifier">tags</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">construct_tag</span>(<span class="ruby-identifier">tokens</span>)
90: <span class="ruby-keyword kw">end</span>
91: <span class="ruby-keyword kw">end</span>
92: 
93: <span class="ruby-ivar">@tokenizer</span>.<span class="ruby-identifier">close</span>()
94: 
95: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tags</span>
96: <span class="ruby-keyword kw">end</span></pre>
|
178
|
-
</div>
|
179
|
-
</div>
|
180
|
-
</div>
|
181
|
-
</div>
|
182
|
-
</div>
|
183
|
-
</div>
|
184
|
-
<div id='footer-push'></div>
|
185
|
-
</div>
|
186
|
-
<div id='footer'>
|
187
|
-
<a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
|
188
|
-
</div>
|
189
|
-
</body>
|
190
|
-
</html>
|
@@ -1,385 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
-
<html lang='en'>
|
3
|
-
<head>
|
4
|
-
<title>: SDL4R::ParserTest [RDoc: Simple Declarative Language for Ruby]</title>
|
5
|
-
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
|
6
|
-
<link href='../../rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
|
7
|
-
<script type='text/javascript'>
|
8
|
-
//<![CDATA[
|
9
|
-
function popupCode(url) {
|
10
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
11
|
-
}
|
12
|
-
|
13
|
-
function toggleCode(id) {
|
14
|
-
var code = document.getElementById(id)
|
15
|
-
|
16
|
-
code.style.display = code.style.display != 'block' ? 'block' : 'none'
|
17
|
-
return true
|
18
|
-
}
|
19
|
-
|
20
|
-
// Make codeblocks hidden by default
|
21
|
-
document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
|
22
|
-
//]]>
|
23
|
-
</script>
|
24
|
-
</head>
|
25
|
-
<body class='page'>
|
26
|
-
<div class='class' id='wrapper'>
|
27
|
-
<div class='header'>
|
28
|
-
<h1 class='name'>
|
29
|
-
<span class='type'>Class</span>
|
30
|
-
SDL4R::ParserTest
|
31
|
-
</h1>
|
32
|
-
<ol class='paths'>
|
33
|
-
<li>
|
34
|
-
<a href="../../files/test/sdl4r/parser_test_rb.html">test/sdl4r/parser_test.rb</a>
|
35
|
-
</li>
|
36
|
-
</ol>
|
37
|
-
<div class='parent'>
|
38
|
-
Parent:
|
39
|
-
<strong>Test::Unit::TestCase</strong>
|
40
|
-
</div>
|
41
|
-
</div>
|
42
|
-
<div id='content'>
|
43
|
-
<div id='text'>
|
44
|
-
<div id='method-list'>
|
45
|
-
<h2>Methods</h2>
|
46
|
-
<h3>public instance</h3>
|
47
|
-
<ol>
|
48
|
-
<li><a href="#M000108">test_backquote_strings</a></li>
|
49
|
-
<li><a href="#M000103">test_booleans</a></li>
|
50
|
-
<li><a href="#M000107">test_characters</a></li>
|
51
|
-
<li><a href="#M000105">test_comments</a></li>
|
52
|
-
<li><a href="#M000099">test_date</a></li>
|
53
|
-
<li><a href="#M000101">test_date_time</a></li>
|
54
|
-
<li><a href="#M000106">test_double_quote_strings</a></li>
|
55
|
-
<li><a href="#M000090">test_empty</a></li>
|
56
|
-
<li><a href="#M000111">test_empty_block</a></li>
|
57
|
-
<li><a href="#M000110">test_identifiers</a></li>
|
58
|
-
<li><a href="#M000104">test_null</a></li>
|
59
|
-
<li><a href="#M000102">test_numbers</a></li>
|
60
|
-
<li><a href="#M000091">test_one_tag_alone</a></li>
|
61
|
-
<li><a href="#M000112">test_parse_error</a></li>
|
62
|
-
<li><a href="#M000109">test_sub_tags</a></li>
|
63
|
-
<li><a href="#M000098">test_tag_with_attributes</a></li>
|
64
|
-
<li><a href="#M000095">test_tag_with_back_quote_string_values</a></li>
|
65
|
-
<li><a href="#M000096">test_tag_with_base64_values</a></li>
|
66
|
-
<li><a href="#M000094">test_tag_with_double_quote_string_values</a></li>
|
67
|
-
<li><a href="#M000097">test_tag_with_one_attribute</a></li>
|
68
|
-
<li><a href="#M000092">test_tag_with_one_value</a></li>
|
69
|
-
<li><a href="#M000093">test_tag_with_two_values</a></li>
|
70
|
-
<li><a href="#M000100">test_time</a></li>
|
71
|
-
</ol>
|
72
|
-
</div>
|
73
|
-
<div id='section'>
|
74
|
-
<div id='methods'>
|
75
|
-
<h2>Public instance methods</h2>
|
76
|
-
<div class='method public-instance' id='method-M000108'>
|
77
|
-
<a name='M000108'></a>
|
78
|
-
<div class='synopsis'>
|
79
|
-
<span class='name'>test_backquote_strings</span>
|
80
|
-
<span class='arguments'>()</span>
|
81
|
-
</div>
|
82
|
-
<div class='source'>
|
83
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000108-source'); return false">
|
84
|
-
[show source]
|
85
|
-
</a>
|
86
|
-
<pre id='M000108-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 339</span>
339: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_backquote_strings</span>
340: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"winfile `c:\\\\directory\\\\myfile.xls`\ntalk `I said \"something\"`\nxml `\n<product>\n <shoes color=\"blue\"/>\n</product>\n`\nregex `\\\\w+\\\\.suite\\\\(\\\\)`\n"</span>
341: 
342: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"c:\\directory\\myfile.xls"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"winfile"</span>).<span class="ruby-identifier">value</span>
343: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">'I said "something"'</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"talk"</span>).<span class="ruby-identifier">value</span>
344: <span class="ruby-identifier">assert_equal</span>(
345: <span class="ruby-value str">"\n<product>\n <shoes color=\"blue\"/>\n</product>\n"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"xml"</span>).<span class="ruby-identifier">value</span>)
346: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"\\w+\\.suite\\(\\)"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"regex"</span>).<span class="ruby-identifier">value</span>
347: <span class="ruby-keyword kw">end</span></pre>
|
87
|
-
</div>
|
88
|
-
</div>
|
89
|
-
<div class='method public-instance' id='method-M000103'>
|
90
|
-
<a name='M000103'></a>
|
91
|
-
<div class='synopsis'>
|
92
|
-
<span class='name'>test_booleans</span>
|
93
|
-
<span class='arguments'>()</span>
|
94
|
-
</div>
|
95
|
-
<div class='source'>
|
96
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000103-source'); return false">
|
97
|
-
[show source]
|
98
|
-
</a>
|
99
|
-
<pre id='M000103-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 235</span>
235: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_booleans</span>
236: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 b1=true b2=false b3=on b4=off"</span>)
237: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"b1"</span>))
238: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"b2"</span>))
239: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"b3"</span>))
240: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"b4"</span>))
241: <span class="ruby-keyword kw">end</span></pre>
|
100
|
-
</div>
|
101
|
-
</div>
|
102
|
-
<div class='method public-instance' id='method-M000107'>
|
103
|
-
<a name='M000107'></a>
|
104
|
-
<div class='synopsis'>
|
105
|
-
<span class='name'>test_characters</span>
|
106
|
-
<span class='arguments'>()</span>
|
107
|
-
</div>
|
108
|
-
<div class='source'>
|
109
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000107-source'); return false">
|
110
|
-
[show source]
|
111
|
-
</a>
|
112
|
-
<pre id='M000107-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 315</span>
315: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_characters</span>
316: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 ' ' 'a' '\\\\' '\\t' '\\n' '\\r'"</span>
317: <span class="ruby-identifier">assert_equal</span> [<span class="ruby-value str">" "</span>, <span class="ruby-value str">"a"</span>, <span class="ruby-value str">"\\"</span>, <span class="ruby-value str">"\t"</span>, <span class="ruby-value str">"\n"</span>, <span class="ruby-value str">"\r"</span>], <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag1"</span>).<span class="ruby-identifier">values</span>
318: 
319: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
320: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 '"</span>
321: <span class="ruby-keyword kw">end</span>
322: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
323: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 'a"</span>
324: <span class="ruby-keyword kw">end</span>
325: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
326: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 'abc'"</span>
327: <span class="ruby-keyword kw">end</span>
328: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
329: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 ''"</span>
330: <span class="ruby-keyword kw">end</span>
331: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
332: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 '\\'"</span>
333: <span class="ruby-keyword kw">end</span>
334: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
335: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"tag1 '\\"</span>
336: <span class="ruby-keyword kw">end</span>
337: <span class="ruby-keyword kw">end</span></pre>
|
113
|
-
</div>
|
114
|
-
</div>
|
115
|
-
<div class='method public-instance' id='method-M000105'>
|
116
|
-
<a name='M000105'></a>
|
117
|
-
<div class='synopsis'>
|
118
|
-
<span class='name'>test_comments</span>
|
119
|
-
<span class='arguments'>()</span>
|
120
|
-
</div>
|
121
|
-
<div class='source'>
|
122
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000105-source'); return false">
|
123
|
-
[show source]
|
124
|
-
</a>
|
125
|
-
<pre id='M000105-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 252</span>
252: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_comments</span>
253: <span class="ruby-identifier">root</span> = <span class="ruby-constant">Tag</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"root"</span>)
254: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">read</span>(
255: <span class="ruby-value str">"tag1 123\n#tag2 456\ntag3 789\n--tag4 012\ntag5 345\n//tag6 678\ntag7 901\n/*tag8 234\ntag9 567*/\ntag10 890\n"</span>
256: )
257: <span class="ruby-identifier">children</span> = <span class="ruby-identifier">root</span>.<span class="ruby-identifier">children</span>
258: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">5</span>, <span class="ruby-identifier">children</span>.<span class="ruby-identifier">size</span>, <span class="ruby-value str">"children count"</span>)
259: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">123</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag1"</span>).<span class="ruby-identifier">value</span>)
260: <span class="ruby-identifier">assert_nil</span>(<span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag2"</span>))
261: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">789</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag3"</span>).<span class="ruby-identifier">value</span>)
262: <span class="ruby-identifier">assert_nil</span>(<span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag4"</span>))
263: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">345</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag5"</span>).<span class="ruby-identifier">value</span>)
264: <span class="ruby-identifier">assert_nil</span>(<span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag6"</span>))
265: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">901</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag7"</span>).<span class="ruby-identifier">value</span>)
266: <span class="ruby-identifier">assert_nil</span>(<span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag8"</span>))
267: <span class="ruby-identifier">assert_nil</span>(<span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag9"</span>))
268: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">890</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag10"</span>).<span class="ruby-identifier">value</span>)
269: <span class="ruby-keyword kw">end</span></pre>
|
126
|
-
</div>
|
127
|
-
</div>
|
128
|
-
<div class='method public-instance' id='method-M000099'>
|
129
|
-
<a name='M000099'></a>
|
130
|
-
<div class='synopsis'>
|
131
|
-
<span class='name'>test_date</span>
|
132
|
-
<span class='arguments'>()</span>
|
133
|
-
</div>
|
134
|
-
<div class='source'>
|
135
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000099-source'); return false">
|
136
|
-
[show source]
|
137
|
-
</a>
|
138
|
-
<pre id='M000099-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 141</span>
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_date</span>
142: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 2005/12/05"</span>)
143: <span class="ruby-identifier">date</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">value</span>
144: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">Date</span>.<span class="ruby-identifier">civil</span>(<span class="ruby-value">2005</span>, <span class="ruby-value">12</span>, <span class="ruby-value">5</span>), <span class="ruby-identifier">date</span>, <span class="ruby-value str">"date value"</span>)
145: <span class="ruby-keyword kw">end</span></pre>
|
139
|
-
</div>
|
140
|
-
</div>
|
141
|
-
<div class='method public-instance' id='method-M000101'>
|
142
|
-
<a name='M000101'></a>
|
143
|
-
<div class='synopsis'>
|
144
|
-
<span class='name'>test_date_time</span>
|
145
|
-
<span class='arguments'>()</span>
|
146
|
-
</div>
|
147
|
-
<div class='source'>
|
148
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000101-source'); return false">
|
149
|
-
[show source]
|
150
|
-
</a>
|
151
|
-
<pre id='M000101-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 169</span>
169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_date_time</span>
170: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(
171: <span class="ruby-value str">"tag1 date1=2008/06/01 12:34"</span> <span class="ruby-operator">+</span>
172: <span class="ruby-value str">" date2=1999/12/31 23:59:58"</span> <span class="ruby-operator">+</span>
173: <span class="ruby-value str">" date3=2000/05/01 12:01:35.997"</span> <span class="ruby-operator">+</span>
174: <span class="ruby-value str">" date4=2015/12/05 14:12:23.345-JST"</span> <span class="ruby-operator">+</span>
175: <span class="ruby-value str">" date5=1414/05/12 03:00:01.107-UTC-04"</span> <span class="ruby-operator">+</span>
176: <span class="ruby-value str">" date6=1807/11/11 22:28:13.888-GMT-08:30"</span>)
177: <span class="ruby-identifier">assert_equal</span>(
178: <span class="ruby-identifier">local_civil_date</span>(<span class="ruby-value">2008</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span>, <span class="ruby-value">12</span>, <span class="ruby-value">34</span>),
179: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"date1"</span>),
180: <span class="ruby-value str">"date1"</span>);
181: <span class="ruby-identifier">assert_equal</span>(
182: <span class="ruby-identifier">local_civil_date</span>(<span class="ruby-value">1999</span>, <span class="ruby-value">12</span>, <span class="ruby-value">31</span>, <span class="ruby-value">23</span>, <span class="ruby-value">59</span>, <span class="ruby-value">58</span>),
183: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"date2"</span>),
184: <span class="ruby-value str">"date2"</span>);
185: <span class="ruby-identifier">assert_equal</span>(
186: <span class="ruby-identifier">local_civil_date</span>(<span class="ruby-value">2000</span>, <span class="ruby-value">5</span>, <span class="ruby-value">1</span>, <span class="ruby-value">12</span>, <span class="ruby-value">1</span>, <span class="ruby-constant">Rational</span>(<span class="ruby-value">35997</span>, <span class="ruby-value">1000</span>)),
187: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"date3"</span>),
188: <span class="ruby-value str">"date3"</span>);
189: <span class="ruby-identifier">assert_equal</span>(
190: <span class="ruby-identifier">local_civil_date</span>(<span class="ruby-value">2015</span>, <span class="ruby-value">12</span>, <span class="ruby-value">5</span>, <span class="ruby-value">14</span>, <span class="ruby-value">12</span>, <span class="ruby-constant">Rational</span>(<span class="ruby-value">23345</span>, <span class="ruby-value">1000</span>), <span class="ruby-constant">Rational</span>(<span class="ruby-value">9</span>, <span class="ruby-value">24</span>)),
191: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"date4"</span>),
192: <span class="ruby-value str">"date4"</span>);
193: <span class="ruby-identifier">assert_equal</span>(
194: <span class="ruby-identifier">local_civil_date</span>(<span class="ruby-value">1414</span>, <span class="ruby-value">5</span>, <span class="ruby-value">12</span>, <span class="ruby-value">3</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Rational</span>(<span class="ruby-value">1107</span>, <span class="ruby-value">1000</span>), <span class="ruby-constant">Rational</span>(<span class="ruby-value">-4</span>, <span class="ruby-value">24</span>)),
195: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"date5"</span>),
196: <span class="ruby-value str">"date5"</span>);
197: <span class="ruby-identifier">assert_equal</span>(
198: <span class="ruby-identifier">local_civil_date</span>(<span class="ruby-value">1807</span>, <span class="ruby-value">11</span>, <span class="ruby-value">11</span>, <span class="ruby-value">22</span>, <span class="ruby-value">28</span>, <span class="ruby-constant">Rational</span>(<span class="ruby-value">13888</span>, <span class="ruby-value">1000</span>), <span class="ruby-constant">Rational</span>(<span class="ruby-value">-85</span>, <span class="ruby-value">240</span>)),
199: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"date6"</span>),
200: <span class="ruby-value str">"date6"</span>);
201: 
202: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 2008/06/01 5d:12:34"</span>) <span class="ruby-comment cmt"># not a datetime: a date + a timespan</span>
203: <span class="ruby-identifier">assert_equal</span> <span class="ruby-constant">Date</span>.<span class="ruby-identifier">civil</span>(<span class="ruby-value">2008</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span>), <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>]
204: <span class="ruby-identifier">assert_equal</span> <span class="ruby-constant">SdlTimeSpan</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">5</span>, <span class="ruby-value">12</span>, <span class="ruby-value">34</span>), <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>]
205: <span class="ruby-keyword kw">end</span></pre>
|
152
|
-
</div>
|
153
|
-
</div>
|
154
|
-
<div class='method public-instance' id='method-M000106'>
|
155
|
-
<a name='M000106'></a>
|
156
|
-
<div class='synopsis'>
|
157
|
-
<span class='name'>test_double_quote_strings</span>
|
158
|
-
<span class='arguments'>()</span>
|
159
|
-
</div>
|
160
|
-
<div class='source'>
|
161
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000106-source'); return false">
|
162
|
-
[show source]
|
163
|
-
</a>
|
164
|
-
<pre id='M000106-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 283</span>
283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_double_quote_strings</span>
284: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(
285: <span class="ruby-value str">"tag1 \"cheese and cherry jam\"\ntag2 \"cheese and \\\\\n cherry jam\"\ntag3 \"cheese \\\\\n and \\\\\n cherry jam\"\ntag4 \"Did you say this soup was \\\\\"good\\\\\"?\"\ntag5 \"Even my dog wouldn't\\\\thave\\\\tit!\"\ntag6 \"\\\\\"\\\\t\\\\r\\\\n\\\\\\\\\"\ntag7 equation=\"is not x=y*z\" color=\"blue \\\\\n and yellow\"\n"</span>
286: )
287: 
288: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"cheese and cherry jam"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag1"</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">"double-quote string"</span>
289: <span class="ruby-identifier">assert_equal</span>(
290: <span class="ruby-value str">"cheese and cherry jam"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag2"</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">"continued double-quote string"</span>)
291: <span class="ruby-identifier">assert_equal</span>(
292: <span class="ruby-value str">"cheese and cherry jam"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag3"</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">"continued double-quote string"</span>)
293: <span class="ruby-identifier">assert_equal</span>(
294: <span class="ruby-value str">'Did you say this soup was "good"?'</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag4"</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">"escaped quotes"</span>)
295: <span class="ruby-identifier">assert_equal</span>(
296: <span class="ruby-value str">"Even my dog wouldn't\thave\tit!"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag5"</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">"escaped tabs"</span>)
297: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"\"\t\r\n\\"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag6"</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">"escaped white spaces"</span>
298: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"is not x=y*z"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag7"</span>).<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"equation"</span>)
299: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"blue and yellow"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">"tag7"</span>).<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"color"</span>)
300: <span class="ruby-keyword kw">end</span></pre>
|
165
|
-
</div>
|
166
|
-
</div>
|
167
|
-
<div class='method public-instance' id='method-M000090'>
|
168
|
-
<a name='M000090'></a>
|
169
|
-
<div class='synopsis'>
|
170
|
-
<span class='name'>test_empty</span>
|
171
|
-
<span class='arguments'>()</span>
|
172
|
-
</div>
|
173
|
-
<div class='source'>
|
174
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000090-source'); return false">
|
175
|
-
[show source]
|
176
|
-
</a>
|
177
|
-
<pre id='M000090-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 38</span>
38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_empty</span>
39: <span class="ruby-identifier">root</span> = <span class="ruby-constant">Tag</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"root"</span>)
40: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value str">""</span>)
41: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">children</span>(<span class="ruby-keyword kw">false</span>) { <span class="ruby-identifier">fail</span>(<span class="ruby-value str">"no child expected"</span>) }
42: <span class="ruby-keyword kw">end</span></pre>
|
178
|
-
</div>
|
179
|
-
</div>
|
180
|
-
<div class='method public-instance' id='method-M000111'>
|
181
|
-
<a name='M000111'></a>
|
182
|
-
<div class='synopsis'>
|
183
|
-
<span class='name'>test_empty_block</span>
|
184
|
-
<span class='arguments'>()</span>
|
185
|
-
</div>
|
186
|
-
<div class='source'>
|
187
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000111-source'); return false">
|
188
|
-
[show source]
|
189
|
-
</a>
|
190
|
-
<pre id='M000111-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 416</span>
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_empty_block</span>
417: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 {\n}"</span>)
418: <span class="ruby-identifier">assert_equal</span> [], <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
419: <span class="ruby-identifier">assert_equal</span>({}, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>)
420: <span class="ruby-identifier">assert_equal</span> [], <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">children</span>
421: 
422: <span class="ruby-comment cmt"># tag1 = parse_one_tag1("tag1 {}")</span>
423: <span class="ruby-comment cmt"># assert_equal [], tag1.values</span>
424: <span class="ruby-comment cmt"># assert_equal({}, tag1.attributes)</span>
425: <span class="ruby-comment cmt"># assert_equal [], tag1.children</span>
426: <span class="ruby-keyword kw">end</span></pre>
|
191
|
-
</div>
|
192
|
-
</div>
|
193
|
-
<div class='method public-instance' id='method-M000110'>
|
194
|
-
<a name='M000110'></a>
|
195
|
-
<div class='synopsis'>
|
196
|
-
<span class='name'>test_identifiers</span>
|
197
|
-
<span class='arguments'>()</span>
|
198
|
-
</div>
|
199
|
-
<div class='source'>
|
200
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000110-source'); return false">
|
201
|
-
[show source]
|
202
|
-
</a>
|
203
|
-
<pre id='M000110-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 394</span>
394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_identifiers</span>
395: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(<span class="ruby-value str">"my_ns:my_tag my_ns2:my_attr=-13.8"</span>)
396: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"my_ns"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>
397: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"my_tag"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>
398: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">"my_ns2:my_attr"</span> =<span class="ruby-operator">></span> <span class="ruby-value">-13.8</span> }, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">attributes</span>)
399: 
400: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(<span class="ruby-value str">"_my_ns:_my_tag _my_ns2:_my_attr=-13.8"</span>)
401: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"_my_ns"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>
402: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"_my_tag"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>
403: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">"_my_ns2:_my_attr"</span> =<span class="ruby-operator">></span> <span class="ruby-value">-13.8</span> }, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">attributes</span>)
404: 
405: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(<span class="ruby-value str">"my.ns:my.tag my.ns2:my.attr=-13.8"</span>)
406: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"my.ns"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>
407: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"my.tag"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>
408: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">"my.ns2:my.attr"</span> =<span class="ruby-operator">></span> <span class="ruby-value">-13.8</span> }, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">attributes</span>)
409: 
410: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(<span class="ruby-value str">"my$ns:my$tag my$ns2:my$attr=-13.8"</span>)
411: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"my$ns"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>
412: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">"my$tag"</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>
413: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">"my$ns2:my$attr"</span> =<span class="ruby-operator">></span> <span class="ruby-value">-13.8</span> }, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">attributes</span>)
414: <span class="ruby-keyword kw">end</span></pre>
|
204
|
-
</div>
|
205
|
-
</div>
|
206
|
-
<div class='method public-instance' id='method-M000104'>
|
207
|
-
<a name='M000104'></a>
|
208
|
-
<div class='synopsis'>
|
209
|
-
<span class='name'>test_null</span>
|
210
|
-
<span class='arguments'>()</span>
|
211
|
-
</div>
|
212
|
-
<div class='source'>
|
213
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000104-source'); return false">
|
214
|
-
[show source]
|
215
|
-
</a>
|
216
|
-
<pre id='M000104-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 243</span>
243: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_null</span>
244: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 null attr1=null"</span>)
245: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
246: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">values</span>.<span class="ruby-identifier">size</span>)
247: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>])
248: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"attr1"</span>))
249: <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">has_attribute?</span>(<span class="ruby-value str">"attr1"</span>))
250: <span class="ruby-keyword kw">end</span></pre>
|
217
|
-
</div>
|
218
|
-
</div>
|
219
|
-
<div class='method public-instance' id='method-M000102'>
|
220
|
-
<a name='M000102'></a>
|
221
|
-
<div class='synopsis'>
|
222
|
-
<span class='name'>test_numbers</span>
|
223
|
-
<span class='arguments'>()</span>
|
224
|
-
</div>
|
225
|
-
<div class='source'>
|
226
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000102-source'); return false">
|
227
|
-
[show source]
|
228
|
-
</a>
|
229
|
-
<pre id='M000102-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 207</span>
207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_numbers</span>
208: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(
209: <span class="ruby-value str">"tag1 123 3000000000 456l 789L 123.45f 67.8F 910.11 12.13d 1415.16D 171.8BD 1.920bd 12345678901234567890BD"</span>)
210: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
211: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">123</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>])
212: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">3000000000</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>])
213: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">456</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">2</span>])
214: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">789</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">3</span>])
215: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">123.45</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">4</span>])
216: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">67.8</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">5</span>])
217: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">910.11</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">6</span>])
218: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">12.13</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">7</span>])
219: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">1415.16</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">8</span>])
220: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-value str">"171.8"</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">9</span>])
221: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-value str">"1.920"</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">10</span>])
222: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-value str">"12345678901234567890"</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">11</span>])
223: 
224: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
225: <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 123.2.2"</span>)
226: <span class="ruby-keyword kw">end</span>
227: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
228: <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 123.2e"</span>)
229: <span class="ruby-keyword kw">end</span>
230: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>
231: <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 +-123.2"</span>)
232: <span class="ruby-keyword kw">end</span>
233: <span class="ruby-keyword kw">end</span></pre>
|
230
|
-
</div>
|
231
|
-
</div>
|
232
|
-
<div class='method public-instance' id='method-M000091'>
|
233
|
-
<a name='M000091'></a>
|
234
|
-
<div class='synopsis'>
|
235
|
-
<span class='name'>test_one_tag_alone</span>
|
236
|
-
<span class='arguments'>()</span>
|
237
|
-
</div>
|
238
|
-
<div class='source'>
|
239
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000091-source'); return false">
|
240
|
-
[show source]
|
241
|
-
</a>
|
242
|
-
<pre id='M000091-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 44</span>
44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_one_tag_alone</span>
45: <span class="ruby-comment cmt"># Tag without namespace</span>
46: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1"</span>)
47: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"tag1"</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">name</span>, <span class="ruby-value str">"name"</span> )
48: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">""</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">namespace</span>, <span class="ruby-value str">"namespace"</span> )
49: 
50: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">size</span>, <span class="ruby-value str">"values"</span>)
51: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>.<span class="ruby-identifier">size</span>, <span class="ruby-value str">"attributes"</span>)
52: 
53: <span class="ruby-comment cmt"># Tag with namespace</span>
54: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"ns1:tag1"</span>)
55: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"tag1"</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">name</span>, <span class="ruby-value str">"name"</span> )
56: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"ns1"</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">namespace</span>, <span class="ruby-value str">"namespace"</span> )
57: <span class="ruby-keyword kw">end</span></pre>
|
243
|
-
</div>
|
244
|
-
</div>
|
245
|
-
<div class='method public-instance' id='method-M000112'>
|
246
|
-
<a name='M000112'></a>
|
247
|
-
<div class='synopsis'>
|
248
|
-
<span class='name'>test_parse_error</span>
|
249
|
-
<span class='arguments'>()</span>
|
250
|
-
</div>
|
251
|
-
<div class='source'>
|
252
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000112-source'); return false">
|
253
|
-
[show source]
|
254
|
-
</a>
|
255
|
-
<pre id='M000112-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 428</span>
428: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_parse_error</span>
429: <span class="ruby-comment cmt"># WARNING: the line and col of an error is not accurate science. The goal here is to point to</span>
430: <span class="ruby-comment cmt"># coordinates that are useful to the user.</span>
431: <span class="ruby-comment cmt"># Exampe for a string litteral that spans over several line, some errors could be point to</span>
432: <span class="ruby-comment cmt"># the start or to the end without too much ambiguity.</span>
433: <span class="ruby-comment cmt"># Consequently, feel free to change the coordinates, if a change in the implementation</span>
434: <span class="ruby-comment cmt"># modifies the x/y of the error and they still make sense.</span>
435: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">"="</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1</span>
436: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">"tag1 xyz"</span>, <span class="ruby-value">1</span>, <span class="ruby-value">6</span>
437: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">"tag1 \\\nxyz"</span>, <span class="ruby-value">2</span>, <span class="ruby-value">1</span>
438: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">"tag1 \\\n xyz"</span>, <span class="ruby-value">2</span>, <span class="ruby-value">4</span>
439: 
440: <span class="ruby-identifier">source</span> = <span class="ruby-value str">"-- my comment\n=\n"</span>
441: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-identifier">source</span>, <span class="ruby-value">2</span>, <span class="ruby-value">1</span>
442: 
443: <span class="ruby-identifier">source</span> = <span class="ruby-value str">"murder_plot 123 \\\\\n weight=456 \\\\\n * \\\\\n length=789\n"</span>
444: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-identifier">source</span>, <span class="ruby-value">3</span>, <span class="ruby-value">6</span>
445: 
446: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">'tag1 "text\\"'</span>, <span class="ruby-value">1</span>, <span class="ruby-value">13</span>
447: 
448: <span class="ruby-identifier">source</span> = <span class="ruby-value str">"murder_plot \"abcd\\\\\n efghij\\\\\n kl\\\\\n mnopq\n"</span>
449: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-identifier">source</span>, <span class="ruby-value">4</span>, <span class="ruby-value">13</span>
450: <span class="ruby-keyword kw">end</span></pre>
|
256
|
-
</div>
|
257
|
-
</div>
|
258
|
-
<div class='method public-instance' id='method-M000109'>
|
259
|
-
<a name='M000109'></a>
|
260
|
-
<div class='synopsis'>
|
261
|
-
<span class='name'>test_sub_tags</span>
|
262
|
-
<span class='arguments'>()</span>
|
263
|
-
</div>
|
264
|
-
<div class='source'>
|
265
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000109-source'); return false">
|
266
|
-
[show source]
|
267
|
-
</a>
|
268
|
-
<pre id='M000109-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 359</span>
359: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_sub_tags</span>
360: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">"wax {\n}\nsteack {\n bees {\n monopoly {\n }\n }\n goat_cheese\n truck {\n cathedral\n }\n}\npeanut.butter\n"</span>
361: 
362: <span class="ruby-identifier">expected</span> = <span class="ruby-constant">Tag</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"root"</span>) <span class="ruby-keyword kw">do</span>
363: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"wax"</span>)
364: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"steack"</span>) <span class="ruby-keyword kw">do</span>
365: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"bees"</span>) <span class="ruby-keyword kw">do</span>
366: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"monopoly"</span>)
367: <span class="ruby-keyword kw">end</span>
368: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"goat_cheese"</span>)
369: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"truck"</span>) <span class="ruby-keyword kw">do</span>
370: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"cathedral"</span>)
371: <span class="ruby-keyword kw">end</span>
372: <span class="ruby-keyword kw">end</span>
373: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">"peanut.butter"</span>)
374: <span class="ruby-keyword kw">end</span>
375: 
376: <span class="ruby-identifier">assert_equal</span> <span class="ruby-identifier">expected</span>, <span class="ruby-identifier">root</span>
377: <span class="ruby-keyword kw">end</span></pre>
|
269
|
-
</div>
|
270
|
-
</div>
|
271
|
-
<div class='method public-instance' id='method-M000098'>
|
272
|
-
<a name='M000098'></a>
|
273
|
-
<div class='synopsis'>
|
274
|
-
<span class='name'>test_tag_with_attributes</span>
|
275
|
-
<span class='arguments'>()</span>
|
276
|
-
</div>
|
277
|
-
<div class='source'>
|
278
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000098-source'); return false">
|
279
|
-
[show source]
|
280
|
-
</a>
|
281
|
-
<pre id='M000098-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 130</span>
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_attributes</span>
131: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(
132: <span class="ruby-value str">"tag1 attr1=\"99\" ns:attr2=[QmVhdXR5IGlzIG5vdCBlbm91Z2gu]"</span>)
133: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
134: 
135: <span class="ruby-identifier">attributes</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>
136: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">2</span>, <span class="ruby-identifier">attributes</span>.<span class="ruby-identifier">size</span>, <span class="ruby-value str">"attribute count"</span>)
137: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"99"</span>, <span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"attr1"</span>], <span class="ruby-value str">"attr1"</span>)
138: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-constant">SdlBinary</span>(<span class="ruby-value str">"Beauty is not enough."</span>), <span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"ns:attr2"</span>], <span class="ruby-value str">"attr2"</span>)
139: <span class="ruby-keyword kw">end</span></pre>
|
282
|
-
</div>
|
283
|
-
</div>
|
284
|
-
<div class='method public-instance' id='method-M000095'>
|
285
|
-
<a name='M000095'></a>
|
286
|
-
<div class='synopsis'>
|
287
|
-
<span class='name'>test_tag_with_back_quote_string_values</span>
|
288
|
-
<span class='arguments'>()</span>
|
289
|
-
</div>
|
290
|
-
<div class='source'>
|
291
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000095-source'); return false">
|
292
|
-
[show source]
|
293
|
-
</a>
|
294
|
-
<pre id='M000095-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 82</span>
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_back_quote_string_values</span>
83: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(
84: <span class="ruby-value str">"tag1 `abc` \"d`e`f\" `g\"h\"i` `j\\k+l` `m\\\nn\\\r\n \t o\r`"</span>)
85: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
86: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
87: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"abc"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">"values[0]"</span>)
88: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"d`e`f"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">"values[1]"</span>)
89: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"g\"h\"i"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">2</span>], <span class="ruby-value str">"values[2]"</span>)
90: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"j\\k+l"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">3</span>], <span class="ruby-value str">"values[3]"</span>)
91: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"m\\\nn\\\n \t o\r"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">4</span>], <span class="ruby-value str">"values[4]"</span>)
92: <span class="ruby-keyword kw">end</span></pre>
|
295
|
-
</div>
|
296
|
-
</div>
|
297
|
-
<div class='method public-instance' id='method-M000096'>
|
298
|
-
<a name='M000096'></a>
|
299
|
-
<div class='synopsis'>
|
300
|
-
<span class='name'>test_tag_with_base64_values</span>
|
301
|
-
<span class='arguments'>()</span>
|
302
|
-
</div>
|
303
|
-
<div class='source'>
|
304
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000096-source'); return false">
|
305
|
-
[show source]
|
306
|
-
</a>
|
307
|
-
<pre id='M000096-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 94</span>
 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_base64_values</span>
 95: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(
 96: <span class="ruby-value str">"tag1 [V2VsY29tZSB0byB0aGUgY3J1ZWwgd29ybGQu] [\n SG9wZSB5\n b3UnbGwg\n ZmluZCB5\n b3VyIHdh\n eS4=\n]\n"</span>
 97: )
 98: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
 99: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
100: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-constant">SdlBinary</span>(<span class="ruby-value str">"Welcome to the cruel world."</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">"values[0]"</span>)
101: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-constant">SdlBinary</span>(<span class="ruby-value str">"Hope you'll find your way."</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">"values[1]"</span>)
102: <span class="ruby-keyword kw">end</span></pre>
|
308
|
-
</div>
|
309
|
-
</div>
|
310
|
-
<div class='method public-instance' id='method-M000094'>
|
311
|
-
<a name='M000094'></a>
|
312
|
-
<div class='synopsis'>
|
313
|
-
<span class='name'>test_tag_with_double_quote_string_values</span>
|
314
|
-
<span class='arguments'>()</span>
|
315
|
-
</div>
|
316
|
-
<div class='source'>
|
317
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000094-source'); return false">
|
318
|
-
[show source]
|
319
|
-
</a>
|
320
|
-
<pre id='M000094-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 73</span>
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_double_quote_string_values</span>
74: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 \"abc\" \"d\\\ne\\\nf\" \"g\\\n \t hi\""</span>)
75: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
76: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
77: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"abc"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">"values[0]"</span>)
78: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"def"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">"values[1]"</span>)
79: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"ghi"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">2</span>], <span class="ruby-value str">"values[2]"</span>)
80: <span class="ruby-keyword kw">end</span></pre>
|
321
|
-
</div>
|
322
|
-
</div>
|
323
|
-
<div class='method public-instance' id='method-M000097'>
|
324
|
-
<a name='M000097'></a>
|
325
|
-
<div class='synopsis'>
|
326
|
-
<span class='name'>test_tag_with_one_attribute</span>
|
327
|
-
<span class='arguments'>()</span>
|
328
|
-
</div>
|
329
|
-
<div class='source'>
|
330
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000097-source'); return false">
|
331
|
-
[show source]
|
332
|
-
</a>
|
333
|
-
<pre id='M000097-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 113</span>
113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_one_attribute</span>
114: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 attr1=99"</span>)
115: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
116: 
117: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
118: <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">values</span>.<span class="ruby-identifier">empty?</span>, <span class="ruby-value str">"value count"</span>)
119: 
120: <span class="ruby-identifier">attributes</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>
121: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">attributes</span>.<span class="ruby-identifier">size</span>, <span class="ruby-value str">"attribute count"</span>)
122: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">99</span>, <span class="ruby-identifier">attributes</span>[<span class="ruby-value str">"attr1"</span>], <span class="ruby-value str">"attr1"</span>)
123: 
124: <span class="ruby-comment cmt"># check the parsing with line continuations</span>
125: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1\\\nattr1=\\\n99"</span>)
126: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
127: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">99</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"attr1"</span>), <span class="ruby-value str">"attr1"</span>)
128: <span class="ruby-keyword kw">end</span></pre>
|
334
|
-
</div>
|
335
|
-
</div>
|
336
|
-
<div class='method public-instance' id='method-M000092'>
|
337
|
-
<a name='M000092'></a>
|
338
|
-
<div class='synopsis'>
|
339
|
-
<span class='name'>test_tag_with_one_value</span>
|
340
|
-
<span class='arguments'>()</span>
|
341
|
-
</div>
|
342
|
-
<div class='source'>
|
343
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000092-source'); return false">
|
344
|
-
[show source]
|
345
|
-
</a>
|
346
|
-
<pre id='M000092-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 59</span>
59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_one_value</span>
60: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 1"</span>)
61: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
62: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">value</span>, <span class="ruby-value str">"value"</span>)
63: <span class="ruby-keyword kw">end</span></pre>
|
347
|
-
</div>
|
348
|
-
</div>
|
349
|
-
<div class='method public-instance' id='method-M000093'>
|
350
|
-
<a name='M000093'></a>
|
351
|
-
<div class='synopsis'>
|
352
|
-
<span class='name'>test_tag_with_two_values</span>
|
353
|
-
<span class='arguments'>()</span>
|
354
|
-
</div>
|
355
|
-
<div class='source'>
|
356
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000093-source'); return false">
|
357
|
-
[show source]
|
358
|
-
</a>
|
359
|
-
<pre id='M000093-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 65</span>
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_two_values</span>
66: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">"tag1 1 \"abc\""</span>)
67: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">"tag1"</span>)
68: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>
69: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">"1st value"</span>)
70: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">"abc"</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">"2nd value"</span>)
71: <span class="ruby-keyword kw">end</span></pre>
|
360
|
-
</div>
|
361
|
-
</div>
|
362
|
-
<div class='method public-instance' id='method-M000100'>
|
363
|
-
<a name='M000100'></a>
|
364
|
-
<div class='synopsis'>
|
365
|
-
<span class='name'>test_time</span>
|
366
|
-
<span class='arguments'>()</span>
|
367
|
-
</div>
|
368
|
-
<div class='source'>
|
369
|
-
<a class='source-toggle' href='#' onclick="toggleCode('M000100-source'); return false">
|
370
|
-
[show source]
|
371
|
-
</a>
|
372
|
-
<pre id='M000100-source'> <span class="ruby-comment cmt"># File test/sdl4r/parser_test.rb, line 147</span>
147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_time</span>
148: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(
149: <span class="ruby-value str">"tag1 time=12:23:56 short_time=00:12:32.423"</span> <span class="ruby-operator">+</span>
150: <span class="ruby-value str">" long_time=30d:15:23:04.023 before=-00:02:30"</span>)
151: <span class="ruby-identifier">assert_equal</span>(
152: <span class="ruby-constant">SdlTimeSpan</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>, <span class="ruby-value">12</span>, <span class="ruby-value">23</span>, <span class="ruby-value">56</span>),
153: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"time"</span>),
154: <span class="ruby-value str">"time"</span>);
155: <span class="ruby-identifier">assert_equal</span>(
156: <span class="ruby-constant">SdlTimeSpan</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">12</span>, <span class="ruby-value">32</span>, <span class="ruby-value">423</span>),
157: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"short_time"</span>),
158: <span class="ruby-value str">"short_time"</span>);
159: <span class="ruby-identifier">assert_equal</span>(
160: <span class="ruby-constant">SdlTimeSpan</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">30</span>, <span class="ruby-value">15</span>, <span class="ruby-value">23</span>, <span class="ruby-value">4</span>, <span class="ruby-value">23</span>),
161: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"long_time"</span>),
162: <span class="ruby-value str">"long_time"</span>);
163: <span class="ruby-identifier">assert_equal</span>(
164: <span class="ruby-constant">SdlTimeSpan</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">-2</span>, <span class="ruby-value">-30</span>),
165: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">"before"</span>),
166: <span class="ruby-value str">"before"</span>);
167: <span class="ruby-keyword kw">end</span></pre>
|
373
|
-
</div>
|
374
|
-
</div>
|
375
|
-
</div>
|
376
|
-
</div>
|
377
|
-
</div>
|
378
|
-
</div>
|
379
|
-
<div id='footer-push'></div>
|
380
|
-
</div>
|
381
|
-
<div id='footer'>
|
382
|
-
<a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
|
383
|
-
</div>
|
384
|
-
</body>
|
385
|
-
</html>
|