sdl4r 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
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>