sdl4r 0.9.8 → 0.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. data/CHANGELOG +14 -1
  2. data/README +4 -4
  3. data/Rakefile +15 -12
  4. data/TODO +11 -4
  5. data/lib/sdl4r/parser.rb +25 -33
  6. data/lib/sdl4r/parser/token.rb +1 -1
  7. data/lib/sdl4r/sdl4r.rb +50 -22
  8. data/lib/sdl4r/sdl_time_span.rb +2 -2
  9. data/lib/sdl4r/serializer.rb +152 -0
  10. data/lib/sdl4r/tag.rb +15 -1
  11. data/test/sdl4r/parser_test.rb +5 -0
  12. data/test/sdl4r/serializer_test.rb +78 -0
  13. data/test/sdl4r/tag_test.rb +20 -1
  14. metadata +52 -81
  15. data/doc/classes/SDL4R.html +0 -408
  16. data/doc/classes/SDL4R/Parser.html +0 -190
  17. data/doc/classes/SDL4R/ParserTest.html +0 -385
  18. data/doc/classes/SDL4R/SDL4RTest.html +0 -532
  19. data/doc/classes/SDL4R/SDLTest.html +0 -77
  20. data/doc/classes/SDL4R/SdlBinary.html +0 -188
  21. data/doc/classes/SDL4R/SdlParseError.html +0 -110
  22. data/doc/classes/SDL4R/SdlTimeSpan.html +0 -637
  23. data/doc/classes/SDL4R/Tag.html +0 -1249
  24. data/doc/classes/SDL4R/TagTest.html +0 -292
  25. data/doc/created.rid +0 -1
  26. data/doc/files/CHANGELOG.html +0 -200
  27. data/doc/files/LICENSE.html +0 -497
  28. data/doc/files/README.html +0 -406
  29. data/doc/files/lib/sdl4r/parser/reader_rb.html +0 -54
  30. data/doc/files/lib/sdl4r/parser/time_span_with_zone_rb.html +0 -54
  31. data/doc/files/lib/sdl4r/parser/token_rb.html +0 -54
  32. data/doc/files/lib/sdl4r/parser/tokenizer_rb.html +0 -54
  33. data/doc/files/lib/sdl4r/parser_rb.html +0 -62
  34. data/doc/files/lib/sdl4r/sdl4r_rb.html +0 -64
  35. data/doc/files/lib/sdl4r/sdl_binary_rb.html +0 -54
  36. data/doc/files/lib/sdl4r/sdl_parse_error_rb.html +0 -54
  37. data/doc/files/lib/sdl4r/sdl_time_span_rb.html +0 -54
  38. data/doc/files/lib/sdl4r/tag_rb.html +0 -64
  39. data/doc/files/lib/sdl4r_rb.html +0 -54
  40. data/doc/files/test/sdl4r/parser_test_rb.html +0 -64
  41. data/doc/files/test/sdl4r/sdl4r_test_rb.html +0 -67
  42. data/doc/files/test/sdl4r/sdl_test_rb.html +0 -64
  43. data/doc/files/test/sdl4r/tag_test_rb.html +0 -64
  44. data/doc/fr_class_index.html +0 -19
  45. data/doc/fr_file_index.html +0 -37
  46. data/doc/fr_method_index.html +0 -4711
  47. data/doc/index.html +0 -15
  48. 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'&#x000A;require 'jcode'</pre>
68
- <p>
69
- This will give you correct input and output and correct UTF-8
70
- &#8220;general&#8221; 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>&nbsp;</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(&quot;path/to/sdl_file&quot;) { |io|&#x000A; parser = SDL4R::Parser.new(io)&#x000A; tags = parser.parse()&#x000A;}</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>&#x000A;59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">io</span>)&#x000A;60: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;io == nil&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">io</span>.<span class="ruby-identifier">nil?</span>&#x000A;61: &#x000A;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>)&#x000A;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)&#x000A; Time.utc(year, month, day, hour, min, sec)&#x000A;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>&#x000A;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>)&#x000A;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>)&#x000A;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>&#x000A;70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>&#x000A;71: <span class="ruby-identifier">tags</span> = []&#x000A;72: &#x000A;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>()&#x000A;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>&#x000A;75: <span class="ruby-comment cmt"># tag with a block</span>&#x000A;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>])&#x000A;77: <span class="ruby-identifier">add_children</span>(<span class="ruby-identifier">tag</span>)&#x000A;78: <span class="ruby-identifier">tags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tag</span>&#x000A;79: &#x000A;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>&#x000A;81: <span class="ruby-comment cmt"># we found an block end token that should have been consumed by</span>&#x000A;82: <span class="ruby-comment cmt"># add_children() normally</span>&#x000A;83: <span class="ruby-identifier">parse_error</span>(&#x000A;84: <span class="ruby-value str">&quot;No opening block ({) for close block (}).&quot;</span>,&#x000A;85: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">line</span>,&#x000A;86: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">position</span>)&#x000A;87: <span class="ruby-keyword kw">else</span>&#x000A;88: <span class="ruby-comment cmt"># tag without block</span>&#x000A;89: <span class="ruby-identifier">tags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">construct_tag</span>(<span class="ruby-identifier">tokens</span>)&#x000A;90: <span class="ruby-keyword kw">end</span>&#x000A;91: <span class="ruby-keyword kw">end</span>&#x000A;92: &#x000A;93: <span class="ruby-ivar">@tokenizer</span>.<span class="ruby-identifier">close</span>()&#x000A;94: &#x000A;95: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tags</span>&#x000A;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>&#x000A;339: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_backquote_strings</span>&#x000A;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">&quot;winfile `c:\\\\directory\\\\myfile.xls`\ntalk `I said \&quot;something\&quot;`\nxml `\n&lt;product&gt;\n &lt;shoes color=\&quot;blue\&quot;/&gt;\n&lt;/product&gt;\n`\nregex `\\\\w+\\\\.suite\\\\(\\\\)`\n&quot;</span>&#x000A;341: &#x000A;342: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;c:\\directory\\myfile.xls&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;winfile&quot;</span>).<span class="ruby-identifier">value</span>&#x000A;343: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">'I said &quot;something&quot;'</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;talk&quot;</span>).<span class="ruby-identifier">value</span>&#x000A;344: <span class="ruby-identifier">assert_equal</span>(&#x000A;345: <span class="ruby-value str">&quot;\n&lt;product&gt;\n &lt;shoes color=\&quot;blue\&quot;/&gt;\n&lt;/product&gt;\n&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;xml&quot;</span>).<span class="ruby-identifier">value</span>)&#x000A;346: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;\\w+\\.suite\\(\\)&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;regex&quot;</span>).<span class="ruby-identifier">value</span>&#x000A;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>&#x000A;235: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_booleans</span>&#x000A;236: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 b1=true b2=false b3=on b4=off&quot;</span>)&#x000A;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">&quot;b1&quot;</span>))&#x000A;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">&quot;b2&quot;</span>))&#x000A;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">&quot;b3&quot;</span>))&#x000A;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">&quot;b4&quot;</span>))&#x000A;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>&#x000A;315: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_characters</span>&#x000A;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">&quot;tag1 ' ' 'a' '\\\\' '\\t' '\\n' '\\r'&quot;</span>&#x000A;317: <span class="ruby-identifier">assert_equal</span> [<span class="ruby-value str">&quot; &quot;</span>, <span class="ruby-value str">&quot;a&quot;</span>, <span class="ruby-value str">&quot;\\&quot;</span>, <span class="ruby-value str">&quot;\t&quot;</span>, <span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-value str">&quot;\r&quot;</span>], <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag1&quot;</span>).<span class="ruby-identifier">values</span>&#x000A;318: &#x000A;319: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;320: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">&quot;tag1 '&quot;</span>&#x000A;321: <span class="ruby-keyword kw">end</span>&#x000A;322: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;323: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">&quot;tag1 'a&quot;</span>&#x000A;324: <span class="ruby-keyword kw">end</span>&#x000A;325: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;326: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">&quot;tag1 'abc'&quot;</span>&#x000A;327: <span class="ruby-keyword kw">end</span>&#x000A;328: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;329: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">&quot;tag1 ''&quot;</span>&#x000A;330: <span class="ruby-keyword kw">end</span>&#x000A;331: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;332: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">&quot;tag1 '\\'&quot;</span>&#x000A;333: <span class="ruby-keyword kw">end</span>&#x000A;334: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;335: <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span> <span class="ruby-value str">&quot;tag1 '\\&quot;</span>&#x000A;336: <span class="ruby-keyword kw">end</span>&#x000A;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>&#x000A;252: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_comments</span>&#x000A;253: <span class="ruby-identifier">root</span> = <span class="ruby-constant">Tag</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;root&quot;</span>)&#x000A;254: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">read</span>(&#x000A;255: <span class="ruby-value str">&quot;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&quot;</span>&#x000A;256: )&#x000A;257: <span class="ruby-identifier">children</span> = <span class="ruby-identifier">root</span>.<span class="ruby-identifier">children</span>&#x000A;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">&quot;children count&quot;</span>)&#x000A;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">&quot;tag1&quot;</span>).<span class="ruby-identifier">value</span>)&#x000A;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">&quot;tag2&quot;</span>))&#x000A;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">&quot;tag3&quot;</span>).<span class="ruby-identifier">value</span>)&#x000A;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">&quot;tag4&quot;</span>))&#x000A;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">&quot;tag5&quot;</span>).<span class="ruby-identifier">value</span>)&#x000A;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">&quot;tag6&quot;</span>))&#x000A;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">&quot;tag7&quot;</span>).<span class="ruby-identifier">value</span>)&#x000A;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">&quot;tag8&quot;</span>))&#x000A;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">&quot;tag9&quot;</span>))&#x000A;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">&quot;tag10&quot;</span>).<span class="ruby-identifier">value</span>)&#x000A;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>&#x000A;141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_date</span>&#x000A;142: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 2005/12/05&quot;</span>)&#x000A;143: <span class="ruby-identifier">date</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">value</span>&#x000A;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">&quot;date value&quot;</span>)&#x000A;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>&#x000A;169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_date_time</span>&#x000A;170: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(&#x000A;171: <span class="ruby-value str">&quot;tag1 date1=2008/06/01 12:34&quot;</span> <span class="ruby-operator">+</span>&#x000A;172: <span class="ruby-value str">&quot; date2=1999/12/31 23:59:58&quot;</span> <span class="ruby-operator">+</span>&#x000A;173: <span class="ruby-value str">&quot; date3=2000/05/01 12:01:35.997&quot;</span> <span class="ruby-operator">+</span>&#x000A;174: <span class="ruby-value str">&quot; date4=2015/12/05 14:12:23.345-JST&quot;</span> <span class="ruby-operator">+</span>&#x000A;175: <span class="ruby-value str">&quot; date5=1414/05/12 03:00:01.107-UTC-04&quot;</span> <span class="ruby-operator">+</span>&#x000A;176: <span class="ruby-value str">&quot; date6=1807/11/11 22:28:13.888-GMT-08:30&quot;</span>)&#x000A;177: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>),&#x000A;179: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;date1&quot;</span>),&#x000A;180: <span class="ruby-value str">&quot;date1&quot;</span>);&#x000A;181: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>),&#x000A;183: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;date2&quot;</span>),&#x000A;184: <span class="ruby-value str">&quot;date2&quot;</span>);&#x000A;185: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>)),&#x000A;187: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;date3&quot;</span>),&#x000A;188: <span class="ruby-value str">&quot;date3&quot;</span>);&#x000A;189: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>)),&#x000A;191: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;date4&quot;</span>),&#x000A;192: <span class="ruby-value str">&quot;date4&quot;</span>);&#x000A;193: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>)),&#x000A;195: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;date5&quot;</span>),&#x000A;196: <span class="ruby-value str">&quot;date5&quot;</span>);&#x000A;197: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>)),&#x000A;199: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;date6&quot;</span>),&#x000A;200: <span class="ruby-value str">&quot;date6&quot;</span>);&#x000A;201: &#x000A;202: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 2008/06/01 5d:12:34&quot;</span>) <span class="ruby-comment cmt"># not a datetime: a date + a timespan</span>&#x000A;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>]&#x000A;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>]&#x000A;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>&#x000A;283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_double_quote_strings</span>&#x000A;284: <span class="ruby-identifier">root</span> = <span class="ruby-constant">SDL4R</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(&#x000A;285: <span class="ruby-value str">&quot;tag1 \&quot;cheese and cherry jam\&quot;\ntag2 \&quot;cheese and \\\\\n cherry jam\&quot;\ntag3 \&quot;cheese \\\\\n and \\\\\n cherry jam\&quot;\ntag4 \&quot;Did you say this soup was \\\\\&quot;good\\\\\&quot;?\&quot;\ntag5 \&quot;Even my dog wouldn't\\\\thave\\\\tit!\&quot;\ntag6 \&quot;\\\\\&quot;\\\\t\\\\r\\\\n\\\\\\\\\&quot;\ntag7 equation=\&quot;is not x=y*z\&quot; color=\&quot;blue \\\\\n and yellow\&quot;\n&quot;</span>&#x000A;286: )&#x000A;287: &#x000A;288: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;cheese and cherry jam&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag1&quot;</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">&quot;double-quote string&quot;</span>&#x000A;289: <span class="ruby-identifier">assert_equal</span>(&#x000A;290: <span class="ruby-value str">&quot;cheese and cherry jam&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag2&quot;</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">&quot;continued double-quote string&quot;</span>)&#x000A;291: <span class="ruby-identifier">assert_equal</span>(&#x000A;292: <span class="ruby-value str">&quot;cheese and cherry jam&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag3&quot;</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">&quot;continued double-quote string&quot;</span>)&#x000A;293: <span class="ruby-identifier">assert_equal</span>(&#x000A;294: <span class="ruby-value str">'Did you say this soup was &quot;good&quot;?'</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag4&quot;</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">&quot;escaped quotes&quot;</span>)&#x000A;295: <span class="ruby-identifier">assert_equal</span>(&#x000A;296: <span class="ruby-value str">&quot;Even my dog wouldn't\thave\tit!&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag5&quot;</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">&quot;escaped tabs&quot;</span>)&#x000A;297: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;\&quot;\t\r\n\\&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag6&quot;</span>).<span class="ruby-identifier">value</span>, <span class="ruby-value str">&quot;escaped white spaces&quot;</span>&#x000A;298: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;is not x=y*z&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag7&quot;</span>).<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;equation&quot;</span>)&#x000A;299: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;blue and yellow&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>(<span class="ruby-value str">&quot;tag7&quot;</span>).<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;color&quot;</span>)&#x000A;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>&#x000A;38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_empty</span>&#x000A;39: <span class="ruby-identifier">root</span> = <span class="ruby-constant">Tag</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;root&quot;</span>)&#x000A;40: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value str">&quot;&quot;</span>)&#x000A;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">&quot;no child expected&quot;</span>) }&#x000A;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>&#x000A;416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_empty_block</span>&#x000A;417: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 {\n}&quot;</span>)&#x000A;418: <span class="ruby-identifier">assert_equal</span> [], <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;419: <span class="ruby-identifier">assert_equal</span>({}, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>)&#x000A;420: <span class="ruby-identifier">assert_equal</span> [], <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">children</span>&#x000A;421: &#x000A;422: <span class="ruby-comment cmt"># tag1 = parse_one_tag1(&quot;tag1 {}&quot;)</span>&#x000A;423: <span class="ruby-comment cmt"># assert_equal [], tag1.values</span>&#x000A;424: <span class="ruby-comment cmt"># assert_equal({}, tag1.attributes)</span>&#x000A;425: <span class="ruby-comment cmt"># assert_equal [], tag1.children</span>&#x000A;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>&#x000A;394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_identifiers</span>&#x000A;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">&quot;my_ns:my_tag my_ns2:my_attr=-13.8&quot;</span>)&#x000A;396: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;my_ns&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>&#x000A;397: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;my_tag&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>&#x000A;398: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">&quot;my_ns2:my_attr&quot;</span> =<span class="ruby-operator">&gt;</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>)&#x000A;399: &#x000A;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">&quot;_my_ns:_my_tag _my_ns2:_my_attr=-13.8&quot;</span>)&#x000A;401: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;_my_ns&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>&#x000A;402: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;_my_tag&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>&#x000A;403: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">&quot;_my_ns2:_my_attr&quot;</span> =<span class="ruby-operator">&gt;</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>)&#x000A;404: &#x000A;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">&quot;my.ns:my.tag my.ns2:my.attr=-13.8&quot;</span>)&#x000A;406: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;my.ns&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>&#x000A;407: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;my.tag&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>&#x000A;408: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">&quot;my.ns2:my.attr&quot;</span> =<span class="ruby-operator">&gt;</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>)&#x000A;409: &#x000A;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">&quot;my$ns:my$tag my$ns2:my$attr=-13.8&quot;</span>)&#x000A;411: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;my$ns&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">namespace</span>&#x000A;412: <span class="ruby-identifier">assert_equal</span> <span class="ruby-value str">&quot;my$tag&quot;</span>, <span class="ruby-identifier">root</span>.<span class="ruby-identifier">child</span>.<span class="ruby-identifier">name</span>&#x000A;413: <span class="ruby-identifier">assert_equal</span>({ <span class="ruby-value str">&quot;my$ns2:my$attr&quot;</span> =<span class="ruby-operator">&gt;</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>)&#x000A;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>&#x000A;243: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_null</span>&#x000A;244: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 null attr1=null&quot;</span>)&#x000A;245: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;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>)&#x000A;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>])&#x000A;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">&quot;attr1&quot;</span>))&#x000A;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">&quot;attr1&quot;</span>))&#x000A;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>&#x000A;207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_numbers</span>&#x000A;208: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(&#x000A;209: <span class="ruby-value str">&quot;tag1 123 3000000000 456l 789L 123.45f 67.8F 910.11 12.13d 1415.16D 171.8BD 1.920bd 12345678901234567890BD&quot;</span>)&#x000A;210: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;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>])&#x000A;220: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-value str">&quot;171.8&quot;</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">9</span>])&#x000A;221: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-value str">&quot;1.920&quot;</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">10</span>])&#x000A;222: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-constant">BigDecimal</span>(<span class="ruby-value str">&quot;12345678901234567890&quot;</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">11</span>])&#x000A;223: &#x000A;224: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;225: <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 123.2.2&quot;</span>)&#x000A;226: <span class="ruby-keyword kw">end</span>&#x000A;227: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;228: <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 123.2e&quot;</span>)&#x000A;229: <span class="ruby-keyword kw">end</span>&#x000A;230: <span class="ruby-identifier">assert_raise</span> <span class="ruby-constant">SdlParseError</span> <span class="ruby-keyword kw">do</span>&#x000A;231: <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 +-123.2&quot;</span>)&#x000A;232: <span class="ruby-keyword kw">end</span>&#x000A;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>&#x000A;44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_one_tag_alone</span>&#x000A;45: <span class="ruby-comment cmt"># Tag without namespace</span>&#x000A;46: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;47: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;tag1&quot;</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">name</span>, <span class="ruby-value str">&quot;name&quot;</span> )&#x000A;48: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;&quot;</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">namespace</span>, <span class="ruby-value str">&quot;namespace&quot;</span> )&#x000A;49: &#x000A;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">&quot;values&quot;</span>)&#x000A;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">&quot;attributes&quot;</span>)&#x000A;52: &#x000A;53: <span class="ruby-comment cmt"># Tag with namespace</span>&#x000A;54: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;ns1:tag1&quot;</span>)&#x000A;55: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;tag1&quot;</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">name</span>, <span class="ruby-value str">&quot;name&quot;</span> )&#x000A;56: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;ns1&quot;</span>, <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">namespace</span>, <span class="ruby-value str">&quot;namespace&quot;</span> )&#x000A;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>&#x000A;428: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_parse_error</span>&#x000A;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>&#x000A;430: <span class="ruby-comment cmt"># coordinates that are useful to the user.</span>&#x000A;431: <span class="ruby-comment cmt"># Exampe for a string litteral that spans over several line, some errors could be point to</span>&#x000A;432: <span class="ruby-comment cmt"># the start or to the end without too much ambiguity.</span>&#x000A;433: <span class="ruby-comment cmt"># Consequently, feel free to change the coordinates, if a change in the implementation</span>&#x000A;434: <span class="ruby-comment cmt"># modifies the x/y of the error and they still make sense.</span>&#x000A;435: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">&quot;=&quot;</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1</span>&#x000A;436: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">&quot;tag1 xyz&quot;</span>, <span class="ruby-value">1</span>, <span class="ruby-value">6</span>&#x000A;437: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">&quot;tag1 \\\nxyz&quot;</span>, <span class="ruby-value">2</span>, <span class="ruby-value">1</span>&#x000A;438: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">&quot;tag1 \\\n xyz&quot;</span>, <span class="ruby-value">2</span>, <span class="ruby-value">4</span>&#x000A;439: &#x000A;440: <span class="ruby-identifier">source</span> = <span class="ruby-value str">&quot;-- my comment\n=\n&quot;</span>&#x000A;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>&#x000A;442: &#x000A;443: <span class="ruby-identifier">source</span> = <span class="ruby-value str">&quot;murder_plot 123 \\\\\n weight=456 \\\\\n * \\\\\n length=789\n&quot;</span>&#x000A;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>&#x000A;445: &#x000A;446: <span class="ruby-identifier">assert_error_xy</span> <span class="ruby-value str">'tag1 &quot;text\\&quot;'</span>, <span class="ruby-value">1</span>, <span class="ruby-value">13</span>&#x000A;447: &#x000A;448: <span class="ruby-identifier">source</span> = <span class="ruby-value str">&quot;murder_plot \&quot;abcd\\\\\n efghij\\\\\n kl\\\\\n mnopq\n&quot;</span>&#x000A;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>&#x000A;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>&#x000A;359: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_sub_tags</span>&#x000A;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">&quot;wax {\n}\nsteack {\n bees {\n monopoly {\n }\n }\n goat_cheese\n truck {\n cathedral\n }\n}\npeanut.butter\n&quot;</span>&#x000A;361: &#x000A;362: <span class="ruby-identifier">expected</span> = <span class="ruby-constant">Tag</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;root&quot;</span>) <span class="ruby-keyword kw">do</span>&#x000A;363: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;wax&quot;</span>)&#x000A;364: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;steack&quot;</span>) <span class="ruby-keyword kw">do</span>&#x000A;365: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;bees&quot;</span>) <span class="ruby-keyword kw">do</span>&#x000A;366: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;monopoly&quot;</span>)&#x000A;367: <span class="ruby-keyword kw">end</span>&#x000A;368: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;goat_cheese&quot;</span>)&#x000A;369: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;truck&quot;</span>) <span class="ruby-keyword kw">do</span>&#x000A;370: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;cathedral&quot;</span>)&#x000A;371: <span class="ruby-keyword kw">end</span>&#x000A;372: <span class="ruby-keyword kw">end</span>&#x000A;373: <span class="ruby-identifier">new_child</span>(<span class="ruby-value str">&quot;peanut.butter&quot;</span>)&#x000A;374: <span class="ruby-keyword kw">end</span>&#x000A;375: &#x000A;376: <span class="ruby-identifier">assert_equal</span> <span class="ruby-identifier">expected</span>, <span class="ruby-identifier">root</span>&#x000A;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>&#x000A;130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_attributes</span>&#x000A;131: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(&#x000A;132: <span class="ruby-value str">&quot;tag1 attr1=\&quot;99\&quot; ns:attr2=[QmVhdXR5IGlzIG5vdCBlbm91Z2gu]&quot;</span>)&#x000A;133: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;134: &#x000A;135: <span class="ruby-identifier">attributes</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>&#x000A;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">&quot;attribute count&quot;</span>)&#x000A;137: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;99&quot;</span>, <span class="ruby-identifier">attributes</span>[<span class="ruby-value str">&quot;attr1&quot;</span>], <span class="ruby-value str">&quot;attr1&quot;</span>)&#x000A;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">&quot;Beauty is not enough.&quot;</span>), <span class="ruby-identifier">attributes</span>[<span class="ruby-value str">&quot;ns:attr2&quot;</span>], <span class="ruby-value str">&quot;attr2&quot;</span>)&#x000A;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>&#x000A;82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_back_quote_string_values</span>&#x000A;83: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(&#x000A;84: <span class="ruby-value str">&quot;tag1 `abc` \&quot;d`e`f\&quot; `g\&quot;h\&quot;i` `j\\k+l` `m\\\nn\\\r\n \t o\r`&quot;</span>)&#x000A;85: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;86: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;87: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;abc&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">&quot;values[0]&quot;</span>)&#x000A;88: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;d`e`f&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">&quot;values[1]&quot;</span>)&#x000A;89: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;g\&quot;h\&quot;i&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">2</span>], <span class="ruby-value str">&quot;values[2]&quot;</span>)&#x000A;90: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;j\\k+l&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">3</span>], <span class="ruby-value str">&quot;values[3]&quot;</span>)&#x000A;91: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;m\\\nn\\\n \t o\r&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">4</span>], <span class="ruby-value str">&quot;values[4]&quot;</span>)&#x000A;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>&#x000A; 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_base64_values</span>&#x000A; 95: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(&#x000A; 96: <span class="ruby-value str">&quot;tag1 [V2VsY29tZSB0byB0aGUgY3J1ZWwgd29ybGQu] [\n SG9wZSB5\n b3UnbGwg\n ZmluZCB5\n b3VyIHdh\n eS4=\n]\n&quot;</span>&#x000A; 97: )&#x000A; 98: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A; 99: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;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">&quot;Welcome to the cruel world.&quot;</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">&quot;values[0]&quot;</span>)&#x000A;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">&quot;Hope you'll find your way.&quot;</span>), <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">&quot;values[1]&quot;</span>)&#x000A;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>&#x000A;73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_double_quote_string_values</span>&#x000A;74: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 \&quot;abc\&quot; \&quot;d\\\ne\\\nf\&quot; \&quot;g\\\n \t hi\&quot;&quot;</span>)&#x000A;75: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;76: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;77: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;abc&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">0</span>], <span class="ruby-value str">&quot;values[0]&quot;</span>)&#x000A;78: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;def&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">&quot;values[1]&quot;</span>)&#x000A;79: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;ghi&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">2</span>], <span class="ruby-value str">&quot;values[2]&quot;</span>)&#x000A;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>&#x000A;113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_one_attribute</span>&#x000A;114: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 attr1=99&quot;</span>)&#x000A;115: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;116: &#x000A;117: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;118: <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">values</span>.<span class="ruby-identifier">empty?</span>, <span class="ruby-value str">&quot;value count&quot;</span>)&#x000A;119: &#x000A;120: <span class="ruby-identifier">attributes</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attributes</span>&#x000A;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">&quot;attribute count&quot;</span>)&#x000A;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">&quot;attr1&quot;</span>], <span class="ruby-value str">&quot;attr1&quot;</span>)&#x000A;123: &#x000A;124: <span class="ruby-comment cmt"># check the parsing with line continuations</span>&#x000A;125: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1\\\nattr1=\\\n99&quot;</span>)&#x000A;126: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;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">&quot;attr1&quot;</span>), <span class="ruby-value str">&quot;attr1&quot;</span>)&#x000A;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>&#x000A;59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_one_value</span>&#x000A;60: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 1&quot;</span>)&#x000A;61: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;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">&quot;value&quot;</span>)&#x000A;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>&#x000A;65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_tag_with_two_values</span>&#x000A;66: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(<span class="ruby-value str">&quot;tag1 1 \&quot;abc\&quot;&quot;</span>)&#x000A;67: <span class="ruby-identifier">assert_not_nil</span>(<span class="ruby-identifier">tag1</span>, <span class="ruby-value str">&quot;tag1&quot;</span>)&#x000A;68: <span class="ruby-identifier">values</span> = <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">values</span>&#x000A;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">&quot;1st value&quot;</span>)&#x000A;70: <span class="ruby-identifier">assert_equal</span>(<span class="ruby-value str">&quot;abc&quot;</span>, <span class="ruby-identifier">values</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">&quot;2nd value&quot;</span>)&#x000A;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>&#x000A;147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_time</span>&#x000A;148: <span class="ruby-identifier">tag1</span> = <span class="ruby-identifier">parse_one_tag1</span>(&#x000A;149: <span class="ruby-value str">&quot;tag1 time=12:23:56 short_time=00:12:32.423&quot;</span> <span class="ruby-operator">+</span>&#x000A;150: <span class="ruby-value str">&quot; long_time=30d:15:23:04.023 before=-00:02:30&quot;</span>)&#x000A;151: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>),&#x000A;153: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;time&quot;</span>),&#x000A;154: <span class="ruby-value str">&quot;time&quot;</span>);&#x000A;155: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>),&#x000A;157: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;short_time&quot;</span>),&#x000A;158: <span class="ruby-value str">&quot;short_time&quot;</span>);&#x000A;159: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>),&#x000A;161: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;long_time&quot;</span>),&#x000A;162: <span class="ruby-value str">&quot;long_time&quot;</span>);&#x000A;163: <span class="ruby-identifier">assert_equal</span>(&#x000A;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>),&#x000A;165: <span class="ruby-identifier">tag1</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-value str">&quot;before&quot;</span>),&#x000A;166: <span class="ruby-value str">&quot;before&quot;</span>);&#x000A;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>