rubyjs 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. data/README +128 -0
  2. data/Rakefile +9 -0
  3. data/bin/rubyjs +140 -0
  4. data/examples/ex1/Rakefile +7 -0
  5. data/examples/ex1/ex1.js +771 -0
  6. data/examples/ex1/ex1.rb +42 -0
  7. data/examples/ex1/index.html +7 -0
  8. data/examples/hw/Rakefile +9 -0
  9. data/examples/hw/hw.js +635 -0
  10. data/examples/hw/hw.rb +7 -0
  11. data/examples/hw/index.html +7 -0
  12. data/patches/parse_tree.rb.diff +34 -0
  13. data/rubyjs.gemspec +24 -0
  14. data/src/rubyjs.rb +4 -0
  15. data/src/rubyjs/code_generator.rb +474 -0
  16. data/src/rubyjs/compiler.rb +2007 -0
  17. data/src/rubyjs/debug_name_generator.rb +75 -0
  18. data/src/rubyjs/encoder.rb +171 -0
  19. data/src/rubyjs/eval_into.rb +59 -0
  20. data/src/rubyjs/lib/core.rb +1008 -0
  21. data/src/rubyjs/lib/json.rb +101 -0
  22. data/src/rubyjs/model.rb +287 -0
  23. data/src/rubyjs/name_generator.rb +71 -0
  24. data/src/rwt/AbsolutePanel.rb +161 -0
  25. data/src/rwt/DOM.Konqueror.rb +89 -0
  26. data/src/rwt/DOM.Opera.rb +65 -0
  27. data/src/rwt/DOM.rb +1044 -0
  28. data/src/rwt/Event.Opera.rb +35 -0
  29. data/src/rwt/Event.rb +429 -0
  30. data/src/rwt/HTTPRequest.IE6.rb +5 -0
  31. data/src/rwt/HTTPRequest.rb +74 -0
  32. data/src/rwt/Label.rb +164 -0
  33. data/src/rwt/Panel.rb +90 -0
  34. data/src/rwt/RootPanel.rb +16 -0
  35. data/src/rwt/UIObject.rb +495 -0
  36. data/src/rwt/Widget.rb +193 -0
  37. data/src/rwt/ported-from/AbsolutePanel.java +158 -0
  38. data/src/rwt/ported-from/DOM.java +571 -0
  39. data/src/rwt/ported-from/DOMImpl.java +426 -0
  40. data/src/rwt/ported-from/DOMImplOpera.java +82 -0
  41. data/src/rwt/ported-from/DOMImplStandard.java +234 -0
  42. data/src/rwt/ported-from/HTTPRequest.java +81 -0
  43. data/src/rwt/ported-from/HTTPRequestImpl.java +103 -0
  44. data/src/rwt/ported-from/Label.java +163 -0
  45. data/src/rwt/ported-from/Panel.java +99 -0
  46. data/src/rwt/ported-from/UIObject.java +614 -0
  47. data/src/rwt/ported-from/Widget.java +221 -0
  48. data/test/benchmark/bm_call_conv1.js +16 -0
  49. data/test/benchmark/bm_call_conv2.js +14 -0
  50. data/test/benchmark/bm_var_acc1.js +13 -0
  51. data/test/benchmark/bm_var_acc2.js +11 -0
  52. data/test/benchmark/bm_vm1_block.js +15 -0
  53. data/test/benchmark/bm_vm1_block.rb +15 -0
  54. data/test/benchmark/bm_vm1_const.js +13 -0
  55. data/test/benchmark/bm_vm1_const.rb +13 -0
  56. data/test/benchmark/bm_vm1_ensure.js +17 -0
  57. data/test/benchmark/bm_vm1_ensure.rb +15 -0
  58. data/test/benchmark/common.js +4 -0
  59. data/test/benchmark/common.rb +5 -0
  60. data/test/benchmark/params.yaml +7 -0
  61. data/test/browser.test.html +4059 -0
  62. data/test/browser.test.js +3225 -0
  63. data/test/common.Browser.rb +13 -0
  64. data/test/common.rb +8 -0
  65. data/test/gen_browser_test_suite.rb +129 -0
  66. data/test/gen_test_suite.rb +41 -0
  67. data/test/run_benchs.rb +58 -0
  68. data/test/run_tests.rb +22 -0
  69. data/test/test_args.rb +24 -0
  70. data/test/test_array.rb +26 -0
  71. data/test/test_case.rb +35 -0
  72. data/test/test_class.rb +55 -0
  73. data/test/test_eql.rb +9 -0
  74. data/test/test_exception.rb +61 -0
  75. data/test/test_expr.rb +12 -0
  76. data/test/test_hash.rb +29 -0
  77. data/test/test_if.rb +28 -0
  78. data/test/test_inspect.rb +10 -0
  79. data/test/test_lebewesen.rb +39 -0
  80. data/test/test_massign.rb +66 -0
  81. data/test/test_new.rb +12 -0
  82. data/test/test_range.rb +53 -0
  83. data/test/test_regexp.rb +22 -0
  84. data/test/test_send.rb +65 -0
  85. data/test/test_simple_output.rb +5 -0
  86. data/test/test_splat.rb +21 -0
  87. data/test/test_string.rb +51 -0
  88. data/test/test_yield.rb +152 -0
  89. data/utils/js/Makefile +9 -0
  90. data/utils/js/RunScript.class +0 -0
  91. data/utils/js/RunScript.java +73 -0
  92. data/utils/js/js.jar +0 -0
  93. data/utils/js/run.sh +3 -0
  94. data/utils/jsc/Makefile +7 -0
  95. data/utils/jsc/README +3 -0
  96. data/utils/jsc/RunScript.c +93 -0
  97. data/utils/jsc/run.sh +15 -0
  98. data/utils/yuicompressor/README +1 -0
  99. data/utils/yuicompressor/yuicompressor-2.2.5.jar +0 -0
  100. data/vendor/ParseTree-1.7.1-patched/History.txt +217 -0
  101. data/vendor/ParseTree-1.7.1-patched/Manifest.txt +22 -0
  102. data/vendor/ParseTree-1.7.1-patched/README.txt +110 -0
  103. data/vendor/ParseTree-1.7.1-patched/Rakefile +41 -0
  104. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_abc +89 -0
  105. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_audit +28 -0
  106. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_deps +62 -0
  107. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_show +49 -0
  108. data/vendor/ParseTree-1.7.1-patched/demo/printer.rb +20 -0
  109. data/vendor/ParseTree-1.7.1-patched/lib/composite_sexp_processor.rb +49 -0
  110. data/vendor/ParseTree-1.7.1-patched/lib/parse_tree.rb +1013 -0
  111. data/vendor/ParseTree-1.7.1-patched/lib/sexp.rb +235 -0
  112. data/vendor/ParseTree-1.7.1-patched/lib/sexp_processor.rb +330 -0
  113. data/vendor/ParseTree-1.7.1-patched/lib/unique.rb +15 -0
  114. data/vendor/ParseTree-1.7.1-patched/test/pt_testcase.rb +1221 -0
  115. data/vendor/ParseTree-1.7.1-patched/test/something.rb +53 -0
  116. data/vendor/ParseTree-1.7.1-patched/test/test_all.rb +13 -0
  117. data/vendor/ParseTree-1.7.1-patched/test/test_composite_sexp_processor.rb +69 -0
  118. data/vendor/ParseTree-1.7.1-patched/test/test_parse_tree.rb +216 -0
  119. data/vendor/ParseTree-1.7.1-patched/test/test_sexp.rb +291 -0
  120. data/vendor/ParseTree-1.7.1-patched/test/test_sexp_processor.rb +244 -0
  121. data/vendor/ParseTree-1.7.1-patched/validate.sh +31 -0
  122. data/vendor/ParseTree-1.7.1/History.txt +217 -0
  123. data/vendor/ParseTree-1.7.1/Manifest.txt +22 -0
  124. data/vendor/ParseTree-1.7.1/README.txt +110 -0
  125. data/vendor/ParseTree-1.7.1/Rakefile +41 -0
  126. data/vendor/ParseTree-1.7.1/bin/parse_tree_abc +89 -0
  127. data/vendor/ParseTree-1.7.1/bin/parse_tree_audit +28 -0
  128. data/vendor/ParseTree-1.7.1/bin/parse_tree_deps +62 -0
  129. data/vendor/ParseTree-1.7.1/bin/parse_tree_show +49 -0
  130. data/vendor/ParseTree-1.7.1/demo/printer.rb +20 -0
  131. data/vendor/ParseTree-1.7.1/lib/composite_sexp_processor.rb +49 -0
  132. data/vendor/ParseTree-1.7.1/lib/parse_tree.rb +1004 -0
  133. data/vendor/ParseTree-1.7.1/lib/sexp.rb +235 -0
  134. data/vendor/ParseTree-1.7.1/lib/sexp_processor.rb +330 -0
  135. data/vendor/ParseTree-1.7.1/lib/unique.rb +15 -0
  136. data/vendor/ParseTree-1.7.1/test/pt_testcase.rb +1221 -0
  137. data/vendor/ParseTree-1.7.1/test/something.rb +53 -0
  138. data/vendor/ParseTree-1.7.1/test/test_all.rb +13 -0
  139. data/vendor/ParseTree-1.7.1/test/test_composite_sexp_processor.rb +69 -0
  140. data/vendor/ParseTree-1.7.1/test/test_parse_tree.rb +216 -0
  141. data/vendor/ParseTree-1.7.1/test/test_sexp.rb +291 -0
  142. data/vendor/ParseTree-1.7.1/test/test_sexp_processor.rb +244 -0
  143. data/vendor/ParseTree-1.7.1/validate.sh +31 -0
  144. metadata +230 -0
@@ -0,0 +1,221 @@
1
+ /*
2
+ * Copyright 2007 Google Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5
+ * use this file except in compliance with the License. You may obtain a copy of
6
+ * the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ * License for the specific language governing permissions and limitations under
14
+ * the License.
15
+ */
16
+ package com.google.gwt.user.client.ui;
17
+
18
+ import com.google.gwt.core.client.GWT;
19
+ import com.google.gwt.user.client.DOM;
20
+ import com.google.gwt.user.client.Event;
21
+ import com.google.gwt.user.client.EventListener;
22
+ import com.google.gwt.user.client.Element;
23
+
24
+ /**
25
+ * The base class for the majority of user-interface objects. Widget adds
26
+ * support for receiving events from the browser and being added directly to
27
+ * {@link com.google.gwt.user.client.ui.Panel panels}.
28
+ */
29
+ public class Widget extends UIObject implements EventListener {
30
+
31
+ private boolean attached;
32
+ private Object layoutData;
33
+ private Widget parent;
34
+
35
+ /**
36
+ * Gets this widget's parent panel.
37
+ *
38
+ * @return the widget's parent panel
39
+ */
40
+ public Widget getParent() {
41
+ return parent;
42
+ }
43
+
44
+ /**
45
+ * Determines whether this widget is currently attached to the browser's
46
+ * document (i.e., there is an unbroken chain of widgets between this widget
47
+ * and the underlying browser document).
48
+ *
49
+ * @return <code>true</code> if the widget is attached
50
+ */
51
+ public boolean isAttached() {
52
+ return attached;
53
+ }
54
+
55
+ public void onBrowserEvent(Event event) {
56
+ }
57
+
58
+ /**
59
+ * Removes this widget from its parent widget. If it has no parent, this
60
+ * method does nothing.
61
+ *
62
+ * @throws IllegalStateException if this widget's parent does not support
63
+ * removal (e.g. {@link Composite})
64
+ */
65
+ public void removeFromParent() {
66
+ if (parent instanceof HasWidgets) {
67
+ ((HasWidgets) parent).remove(this);
68
+ } else if (parent != null) {
69
+ throw new IllegalStateException(
70
+ "This widget's parent does not implement HasWidgets");
71
+ }
72
+ }
73
+
74
+ /**
75
+ * This method is called when a widget is attached to the browser's document.
76
+ * To receive notification after a Widget has been added from the
77
+ * document, override the {@link #onLoad} method.
78
+ *
79
+ * <p>
80
+ * Subclasses that override this method must call
81
+ * <code>super.onAttach()</code> to ensure that the Widget has been
82
+ * attached to the underlying Element.
83
+ * </p>
84
+ *
85
+ * @throws IllegalStateException if this widget is already attached
86
+ */
87
+ protected void onAttach() {
88
+ if (attached) {
89
+ throw new IllegalStateException(
90
+ "Should only call onAttach when the widget is detached from the browser's document");
91
+ }
92
+
93
+ attached = true;
94
+
95
+ // Set the main element's event listener. This should only be set
96
+ // while the widget is attached, because it creates a circular
97
+ // reference between JavaScript and the DOM.
98
+ DOM.setEventListener(getElement(), this);
99
+
100
+ // Now that the widget is attached, call onLoad().
101
+ onLoad();
102
+ }
103
+
104
+ /**
105
+ * This method is called when a widget is detached from the browser's
106
+ * document. To receive notification before a Widget is removed from the
107
+ * document, override the {@link #onUnload} method.
108
+ *
109
+ * <p>
110
+ * Subclasses that override this method must call
111
+ * <code>super.onDetach()</code> to ensure that the Widget has been
112
+ * detached from the underlying Element. Failure to do so will result
113
+ * in application memeroy leaks due to circular references between DOM
114
+ * Elements and JavaScript objects.
115
+ * </p>
116
+ *
117
+ * @throws IllegalStateException if this widget is already detached
118
+ */
119
+ protected void onDetach() {
120
+ if (!attached) {
121
+ throw new IllegalStateException(
122
+ "Should only call onDetach when the widget is attached to the browser's document");
123
+ }
124
+
125
+ // Give the user a chance to clean up, but don't trust the code to not throw
126
+ try {
127
+ onUnload();
128
+ } finally {
129
+ attached = false;
130
+
131
+ // Clear out the element's event listener (breaking the circular
132
+ // reference between it and the widget).
133
+ DOM.setEventListener(getElement(), null);
134
+ }
135
+ }
136
+
137
+ /**
138
+ * This method is called immediately after a widget becomes attached to the
139
+ * browser's document.
140
+ */
141
+ protected void onLoad() {
142
+ }
143
+
144
+ /**
145
+ * This method is called immediately before a widget will be detached from the
146
+ * browser's document.
147
+ */
148
+ protected void onUnload() {
149
+ }
150
+
151
+ /**
152
+ * Sets this object's browser element. Widget subclasses must call this method
153
+ * before attempting to call any other methods.
154
+ *
155
+ * If a browser element has already been attached, then it is replaced with
156
+ * the new element. The old event listeners are removed from the old browser
157
+ * element, and the event listeners are set up on the new browser element.
158
+ *
159
+ * @param elem the object's new element
160
+ */
161
+ protected void setElement(Element elem) {
162
+ if (attached) {
163
+ // Remove old event listener to avoid leaking. onDetach will not do this
164
+ // for us, because it is only called when the widget itself is detached from
165
+ // the document.
166
+ DOM.setEventListener(getElement(), null);
167
+ }
168
+
169
+ super.setElement(elem);
170
+ if (attached) {
171
+ // Hook the event listener back up on the new element. onAttach will not
172
+ // do this for us, because it is only called when the widget itself is
173
+ // attached to the document.
174
+ DOM.setEventListener(elem, this);
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Gets the panel-defined layout data associated with this widget.
180
+ *
181
+ * @return the widget's layout data
182
+ * @see #setLayoutData
183
+ */
184
+ Object getLayoutData() {
185
+ return layoutData;
186
+ }
187
+
188
+ /**
189
+ * Sets the panel-defined layout data associated with this widget. Only the
190
+ * panel that currently contains a widget should ever set this value. It
191
+ * serves as a place to store layout bookkeeping data associated with a
192
+ * widget.
193
+ *
194
+ * @param layoutData the widget's layout data
195
+ */
196
+ void setLayoutData(Object layoutData) {
197
+ this.layoutData = layoutData;
198
+ }
199
+
200
+ /**
201
+ * Sets this widget's parent. This method should only be called by
202
+ * {@link Panel} and {@link Composite}.
203
+ *
204
+ * @param parent the widget's new parent
205
+ */
206
+ void setParent(Widget parent) {
207
+ Widget oldParent = this.parent;
208
+ this.parent = parent;
209
+ if (parent == null) {
210
+ if (oldParent != null && oldParent.isAttached()) {
211
+ onDetach();
212
+ assert !isAttached() :
213
+ "Failure of " + GWT.getTypeName(this) + " to call super.onDetach()";
214
+ }
215
+ } else if (parent.isAttached()) {
216
+ onAttach();
217
+ assert isAttached() :
218
+ "Failure of " + GWT.getTypeName(this) + " to call super.onAttach()";
219
+ }
220
+ }
221
+ }
@@ -0,0 +1,16 @@
1
+ function called(block)
2
+ {
3
+ }
4
+
5
+ var nil = null;
6
+
7
+ function run(n)
8
+ {
9
+ var i = 0;
10
+ while (i<n) // while loop 1
11
+ {
12
+ i += 1;
13
+ called(nil, 1,2,3,4,5);
14
+ }
15
+ return i;
16
+ }
@@ -0,0 +1,14 @@
1
+ function called(x)
2
+ {
3
+ }
4
+
5
+ function run(n)
6
+ {
7
+ var i = 0;
8
+ while (i<n) // while loop 1
9
+ {
10
+ i += 1;
11
+ called([1,2,3,4,5]);
12
+ }
13
+ return i;
14
+ }
@@ -0,0 +1,13 @@
1
+ var nil = new Object();
2
+
3
+ function run(n)
4
+ {
5
+ var i = 0;
6
+ var j;
7
+ while (i<n) // while loop 1
8
+ {
9
+ i += 1;
10
+ j = nil;
11
+ }
12
+ return i;
13
+ }
@@ -0,0 +1,11 @@
1
+ function run(n)
2
+ {
3
+ var i = 0;
4
+ var j;
5
+ while (i<n) // while loop 1
6
+ {
7
+ i += 1;
8
+ j = null;
9
+ }
10
+ return i;
11
+ }
@@ -0,0 +1,15 @@
1
+ function m(block)
2
+ {
3
+ block();
4
+ }
5
+
6
+ function run(n)
7
+ {
8
+ var i=0;
9
+ while (i<n) // while loop 1
10
+ {
11
+ i += 1;
12
+ m(function() {});
13
+ }
14
+ return i;
15
+ }
@@ -0,0 +1,15 @@
1
+ class BmVm1Block < Bench
2
+ def m
3
+ yield
4
+ end
5
+
6
+ def run(n)
7
+ i=0
8
+ while i<n # while loop 1
9
+ i+=1
10
+ m{
11
+ }
12
+ end
13
+ return i
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ var Const = 1;
2
+
3
+ function run(n)
4
+ {
5
+ var i = 0;
6
+ while (i<n) // while loop 1
7
+ {
8
+ i += 1;
9
+ j = Const;
10
+ k = Const;
11
+ }
12
+ return i;
13
+ }
@@ -0,0 +1,13 @@
1
+ class BmVm1Const < Bench
2
+ Const = 1
3
+
4
+ def run(n)
5
+ i = 0
6
+ while i<n # while loop 1
7
+ i+= 1
8
+ j = Const
9
+ k = Const
10
+ end
11
+ return i
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ function run(n)
2
+ {
3
+ var i=0;
4
+ while (i<n) // benchmark loop 1
5
+ {
6
+ i+=1;
7
+ try {
8
+ try {
9
+ }
10
+ finally {
11
+ }
12
+ }
13
+ finally {
14
+ }
15
+ }
16
+ return i;
17
+ }
@@ -0,0 +1,15 @@
1
+ class BmVm1Ensure < Bench
2
+ def run(n)
3
+ i=0
4
+ while i<n # benchmark loop 1
5
+ i+=1
6
+ begin
7
+ begin
8
+ ensure
9
+ end
10
+ ensure
11
+ end
12
+ end
13
+ return i
14
+ end
15
+ end
@@ -0,0 +1,4 @@
1
+ function main(a,b,c)
2
+ {
3
+ println(run(a,b,c).toString());
4
+ }
@@ -0,0 +1,5 @@
1
+ class Bench
2
+ def self.main(*args)
3
+ puts new.run(*args)
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ BmVm1Block: [0, 300000]
2
+ BmVm1Const: [0, 300000]
3
+ BmVm1Ensure: [0, 300000]
4
+ BmCallConv1: [0, 1000000]
5
+ BmCallConv2: [0, 1000000]
6
+ BmVarAcc1: [0, 10000000]
7
+ BmVarAcc2: [0, 10000000]
@@ -0,0 +1,4059 @@
1
+ <html><head><script language="javascript" src="browser.test.js"></script>
2
+ <style>
3
+ #expected { background: #ccc; }
4
+ </style>
5
+ <body onload="start();">
6
+ <h1>RubyJS Test Suite Runner</h1>
7
+
8
+ <a href="#source">View Ruby source code</a>&nbsp;|&nbsp;
9
+ <a href="browser.test.js">View Javascript source code</a><br/>
10
+
11
+ <p>
12
+ Test status (tests run / total # of tests): <div id="status"></div>
13
+ </p>
14
+
15
+ <table cellspacing="5" cellpadding="5">
16
+ <thead>
17
+ <tr>
18
+ <td width="50%"><b>Output</b></td>
19
+ <td width="50%"><b>Expected</b></td>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+
24
+ <tr id="line_0" style="background: #ff8888">
25
+ <td>
26
+ <pre id="out_0"></pre>
27
+ </td>
28
+ <td>
29
+ <pre id="exp_0">~~~~~~~~~~~~~~~~~~~~</pre>
30
+ </td>
31
+ </tr>
32
+
33
+
34
+ <tr id="line_1" style="background: #ff8888">
35
+ <td>
36
+ <pre id="out_1"></pre>
37
+ </td>
38
+ <td>
39
+ <pre id="exp_1">Test hash</pre>
40
+ </td>
41
+ </tr>
42
+
43
+
44
+ <tr id="line_2" style="background: #ff8888">
45
+ <td>
46
+ <pre id="out_2"></pre>
47
+ </td>
48
+ <td>
49
+ <pre id="exp_2">~~~~~~~~~~~~~~~~~~~~</pre>
50
+ </td>
51
+ </tr>
52
+
53
+
54
+ <tr id="line_3" style="background: #ff8888">
55
+ <td>
56
+ <pre id="out_3"></pre>
57
+ </td>
58
+ <td>
59
+ <pre id="exp_3">6</pre>
60
+ </td>
61
+ </tr>
62
+
63
+
64
+ <tr id="line_4" style="background: #ff8888">
65
+ <td>
66
+ <pre id="out_4"></pre>
67
+ </td>
68
+ <td>
69
+ <pre id="exp_4">7</pre>
70
+ </td>
71
+ </tr>
72
+
73
+
74
+ <tr id="line_5" style="background: #ff8888">
75
+ <td>
76
+ <pre id="out_5"></pre>
77
+ </td>
78
+ <td>
79
+ <pre id="exp_5">1</pre>
80
+ </td>
81
+ </tr>
82
+
83
+
84
+ <tr id="line_6" style="background: #ff8888">
85
+ <td>
86
+ <pre id="out_6"></pre>
87
+ </td>
88
+ <td>
89
+ <pre id="exp_6">2</pre>
90
+ </td>
91
+ </tr>
92
+
93
+
94
+ <tr id="line_7" style="background: #ff8888">
95
+ <td>
96
+ <pre id="out_7"></pre>
97
+ </td>
98
+ <td>
99
+ <pre id="exp_7">"hello"</pre>
100
+ </td>
101
+ </tr>
102
+
103
+
104
+ <tr id="line_8" style="background: #ff8888">
105
+ <td>
106
+ <pre id="out_8"></pre>
107
+ </td>
108
+ <td>
109
+ <pre id="exp_8">"good"</pre>
110
+ </td>
111
+ </tr>
112
+
113
+
114
+ <tr id="line_9" style="background: #ff8888">
115
+ <td>
116
+ <pre id="out_9"></pre>
117
+ </td>
118
+ <td>
119
+ <pre id="exp_9">test native JS hash</pre>
120
+ </td>
121
+ </tr>
122
+
123
+
124
+ <tr id="line_10" style="background: #ff8888">
125
+ <td>
126
+ <pre id="out_10"></pre>
127
+ </td>
128
+ <td>
129
+ <pre id="exp_10">~~~~~~~~~~~~~~~~~~~~</pre>
130
+ </td>
131
+ </tr>
132
+
133
+
134
+ <tr id="line_11" style="background: #ff8888">
135
+ <td>
136
+ <pre id="out_11"></pre>
137
+ </td>
138
+ <td>
139
+ <pre id="exp_11">Test yield</pre>
140
+ </td>
141
+ </tr>
142
+
143
+
144
+ <tr id="line_12" style="background: #ff8888">
145
+ <td>
146
+ <pre id="out_12"></pre>
147
+ </td>
148
+ <td>
149
+ <pre id="exp_12">~~~~~~~~~~~~~~~~~~~~</pre>
150
+ </td>
151
+ </tr>
152
+
153
+
154
+ <tr id="line_13" style="background: #ff8888">
155
+ <td>
156
+ <pre id="out_13"></pre>
157
+ </td>
158
+ <td>
159
+ <pre id="exp_13">three_times_yield</pre>
160
+ </td>
161
+ </tr>
162
+
163
+
164
+ <tr id="line_14" style="background: #ff8888">
165
+ <td>
166
+ <pre id="out_14"></pre>
167
+ </td>
168
+ <td>
169
+ <pre id="exp_14">1</pre>
170
+ </td>
171
+ </tr>
172
+
173
+
174
+ <tr id="line_15" style="background: #ff8888">
175
+ <td>
176
+ <pre id="out_15"></pre>
177
+ </td>
178
+ <td>
179
+ <pre id="exp_15">2</pre>
180
+ </td>
181
+ </tr>
182
+
183
+
184
+ <tr id="line_16" style="background: #ff8888">
185
+ <td>
186
+ <pre id="out_16"></pre>
187
+ </td>
188
+ <td>
189
+ <pre id="exp_16">3</pre>
190
+ </td>
191
+ </tr>
192
+
193
+
194
+ <tr id="line_17" style="background: #ff8888">
195
+ <td>
196
+ <pre id="out_17"></pre>
197
+ </td>
198
+ <td>
199
+ <pre id="exp_17">--</pre>
200
+ </td>
201
+ </tr>
202
+
203
+
204
+ <tr id="line_18" style="background: #ff8888">
205
+ <td>
206
+ <pre id="out_18"></pre>
207
+ </td>
208
+ <td>
209
+ <pre id="exp_18">three_times_block</pre>
210
+ </td>
211
+ </tr>
212
+
213
+
214
+ <tr id="line_19" style="background: #ff8888">
215
+ <td>
216
+ <pre id="out_19"></pre>
217
+ </td>
218
+ <td>
219
+ <pre id="exp_19">1</pre>
220
+ </td>
221
+ </tr>
222
+
223
+
224
+ <tr id="line_20" style="background: #ff8888">
225
+ <td>
226
+ <pre id="out_20"></pre>
227
+ </td>
228
+ <td>
229
+ <pre id="exp_20">2</pre>
230
+ </td>
231
+ </tr>
232
+
233
+
234
+ <tr id="line_21" style="background: #ff8888">
235
+ <td>
236
+ <pre id="out_21"></pre>
237
+ </td>
238
+ <td>
239
+ <pre id="exp_21">3</pre>
240
+ </td>
241
+ </tr>
242
+
243
+
244
+ <tr id="line_22" style="background: #ff8888">
245
+ <td>
246
+ <pre id="out_22"></pre>
247
+ </td>
248
+ <td>
249
+ <pre id="exp_22">--</pre>
250
+ </td>
251
+ </tr>
252
+
253
+
254
+ <tr id="line_23" style="background: #ff8888">
255
+ <td>
256
+ <pre id="out_23"></pre>
257
+ </td>
258
+ <td>
259
+ <pre id="exp_23">three_times_indirect</pre>
260
+ </td>
261
+ </tr>
262
+
263
+
264
+ <tr id="line_24" style="background: #ff8888">
265
+ <td>
266
+ <pre id="out_24"></pre>
267
+ </td>
268
+ <td>
269
+ <pre id="exp_24">1</pre>
270
+ </td>
271
+ </tr>
272
+
273
+
274
+ <tr id="line_25" style="background: #ff8888">
275
+ <td>
276
+ <pre id="out_25"></pre>
277
+ </td>
278
+ <td>
279
+ <pre id="exp_25">2</pre>
280
+ </td>
281
+ </tr>
282
+
283
+
284
+ <tr id="line_26" style="background: #ff8888">
285
+ <td>
286
+ <pre id="out_26"></pre>
287
+ </td>
288
+ <td>
289
+ <pre id="exp_26">3</pre>
290
+ </td>
291
+ </tr>
292
+
293
+
294
+ <tr id="line_27" style="background: #ff8888">
295
+ <td>
296
+ <pre id="out_27"></pre>
297
+ </td>
298
+ <td>
299
+ <pre id="exp_27">1</pre>
300
+ </td>
301
+ </tr>
302
+
303
+
304
+ <tr id="line_28" style="background: #ff8888">
305
+ <td>
306
+ <pre id="out_28"></pre>
307
+ </td>
308
+ <td>
309
+ <pre id="exp_28">2</pre>
310
+ </td>
311
+ </tr>
312
+
313
+
314
+ <tr id="line_29" style="background: #ff8888">
315
+ <td>
316
+ <pre id="out_29"></pre>
317
+ </td>
318
+ <td>
319
+ <pre id="exp_29">3</pre>
320
+ </td>
321
+ </tr>
322
+
323
+
324
+ <tr id="line_30" style="background: #ff8888">
325
+ <td>
326
+ <pre id="out_30"></pre>
327
+ </td>
328
+ <td>
329
+ <pre id="exp_30">--</pre>
330
+ </td>
331
+ </tr>
332
+
333
+
334
+ <tr id="line_31" style="background: #ff8888">
335
+ <td>
336
+ <pre id="out_31"></pre>
337
+ </td>
338
+ <td>
339
+ <pre id="exp_31">three_times_yield2</pre>
340
+ </td>
341
+ </tr>
342
+
343
+
344
+ <tr id="line_32" style="background: #ff8888">
345
+ <td>
346
+ <pre id="out_32"></pre>
347
+ </td>
348
+ <td>
349
+ <pre id="exp_32">1</pre>
350
+ </td>
351
+ </tr>
352
+
353
+
354
+ <tr id="line_33" style="background: #ff8888">
355
+ <td>
356
+ <pre id="out_33"></pre>
357
+ </td>
358
+ <td>
359
+ <pre id="exp_33">3</pre>
360
+ </td>
361
+ </tr>
362
+
363
+
364
+ <tr id="line_34" style="background: #ff8888">
365
+ <td>
366
+ <pre id="out_34"></pre>
367
+ </td>
368
+ <td>
369
+ <pre id="exp_34">4</pre>
370
+ </td>
371
+ </tr>
372
+
373
+
374
+ <tr id="line_35" style="background: #ff8888">
375
+ <td>
376
+ <pre id="out_35"></pre>
377
+ </td>
378
+ <td>
379
+ <pre id="exp_35">loop</pre>
380
+ </td>
381
+ </tr>
382
+
383
+
384
+ <tr id="line_36" style="background: #ff8888">
385
+ <td>
386
+ <pre id="out_36"></pre>
387
+ </td>
388
+ <td>
389
+ <pre id="exp_36">2</pre>
390
+ </td>
391
+ </tr>
392
+
393
+
394
+ <tr id="line_37" style="background: #ff8888">
395
+ <td>
396
+ <pre id="out_37"></pre>
397
+ </td>
398
+ <td>
399
+ <pre id="exp_37">4</pre>
400
+ </td>
401
+ </tr>
402
+
403
+
404
+ <tr id="line_38" style="background: #ff8888">
405
+ <td>
406
+ <pre id="out_38"></pre>
407
+ </td>
408
+ <td>
409
+ <pre id="exp_38">6</pre>
410
+ </td>
411
+ </tr>
412
+
413
+
414
+ <tr id="line_39" style="background: #ff8888">
415
+ <td>
416
+ <pre id="out_39"></pre>
417
+ </td>
418
+ <td>
419
+ <pre id="exp_39">8</pre>
420
+ </td>
421
+ </tr>
422
+
423
+
424
+ <tr id="line_40" style="background: #ff8888">
425
+ <td>
426
+ <pre id="out_40"></pre>
427
+ </td>
428
+ <td>
429
+ <pre id="exp_40">10</pre>
430
+ </td>
431
+ </tr>
432
+
433
+
434
+ <tr id="line_41" style="background: #ff8888">
435
+ <td>
436
+ <pre id="out_41"></pre>
437
+ </td>
438
+ <td>
439
+ <pre id="exp_41">["out", 10]</pre>
440
+ </td>
441
+ </tr>
442
+
443
+
444
+ <tr id="line_42" style="background: #ff8888">
445
+ <td>
446
+ <pre id="out_42"></pre>
447
+ </td>
448
+ <td>
449
+ <pre id="exp_42">--</pre>
450
+ </td>
451
+ </tr>
452
+
453
+
454
+ <tr id="line_43" style="background: #ff8888">
455
+ <td>
456
+ <pre id="out_43"></pre>
457
+ </td>
458
+ <td>
459
+ <pre id="exp_43">loop2</pre>
460
+ </td>
461
+ </tr>
462
+
463
+
464
+ <tr id="line_44" style="background: #ff8888">
465
+ <td>
466
+ <pre id="out_44"></pre>
467
+ </td>
468
+ <td>
469
+ <pre id="exp_44">2</pre>
470
+ </td>
471
+ </tr>
472
+
473
+
474
+ <tr id="line_45" style="background: #ff8888">
475
+ <td>
476
+ <pre id="out_45"></pre>
477
+ </td>
478
+ <td>
479
+ <pre id="exp_45">4</pre>
480
+ </td>
481
+ </tr>
482
+
483
+
484
+ <tr id="line_46" style="background: #ff8888">
485
+ <td>
486
+ <pre id="out_46"></pre>
487
+ </td>
488
+ <td>
489
+ <pre id="exp_46">6</pre>
490
+ </td>
491
+ </tr>
492
+
493
+
494
+ <tr id="line_47" style="background: #ff8888">
495
+ <td>
496
+ <pre id="out_47"></pre>
497
+ </td>
498
+ <td>
499
+ <pre id="exp_47">8</pre>
500
+ </td>
501
+ </tr>
502
+
503
+
504
+ <tr id="line_48" style="background: #ff8888">
505
+ <td>
506
+ <pre id="out_48"></pre>
507
+ </td>
508
+ <td>
509
+ <pre id="exp_48">10</pre>
510
+ </td>
511
+ </tr>
512
+
513
+
514
+ <tr id="line_49" style="background: #ff8888">
515
+ <td>
516
+ <pre id="out_49"></pre>
517
+ </td>
518
+ <td>
519
+ <pre id="exp_49">["out", 10]</pre>
520
+ </td>
521
+ </tr>
522
+
523
+
524
+ <tr id="line_50" style="background: #ff8888">
525
+ <td>
526
+ <pre id="out_50"></pre>
527
+ </td>
528
+ <td>
529
+ <pre id="exp_50">--</pre>
530
+ </td>
531
+ </tr>
532
+
533
+
534
+ <tr id="line_51" style="background: #ff8888">
535
+ <td>
536
+ <pre id="out_51"></pre>
537
+ </td>
538
+ <td>
539
+ <pre id="exp_51">while-loop</pre>
540
+ </td>
541
+ </tr>
542
+
543
+
544
+ <tr id="line_52" style="background: #ff8888">
545
+ <td>
546
+ <pre id="out_52"></pre>
547
+ </td>
548
+ <td>
549
+ <pre id="exp_52">2</pre>
550
+ </td>
551
+ </tr>
552
+
553
+
554
+ <tr id="line_53" style="background: #ff8888">
555
+ <td>
556
+ <pre id="out_53"></pre>
557
+ </td>
558
+ <td>
559
+ <pre id="exp_53">4</pre>
560
+ </td>
561
+ </tr>
562
+
563
+
564
+ <tr id="line_54" style="background: #ff8888">
565
+ <td>
566
+ <pre id="out_54"></pre>
567
+ </td>
568
+ <td>
569
+ <pre id="exp_54">6</pre>
570
+ </td>
571
+ </tr>
572
+
573
+
574
+ <tr id="line_55" style="background: #ff8888">
575
+ <td>
576
+ <pre id="out_55"></pre>
577
+ </td>
578
+ <td>
579
+ <pre id="exp_55">8</pre>
580
+ </td>
581
+ </tr>
582
+
583
+
584
+ <tr id="line_56" style="background: #ff8888">
585
+ <td>
586
+ <pre id="out_56"></pre>
587
+ </td>
588
+ <td>
589
+ <pre id="exp_56">10</pre>
590
+ </td>
591
+ </tr>
592
+
593
+
594
+ <tr id="line_57" style="background: #ff8888">
595
+ <td>
596
+ <pre id="out_57"></pre>
597
+ </td>
598
+ <td>
599
+ <pre id="exp_57">----</pre>
600
+ </td>
601
+ </tr>
602
+
603
+
604
+ <tr id="line_58" style="background: #ff8888">
605
+ <td>
606
+ <pre id="out_58"></pre>
607
+ </td>
608
+ <td>
609
+ <pre id="exp_58">10</pre>
610
+ </td>
611
+ </tr>
612
+
613
+
614
+ <tr id="line_59" style="background: #ff8888">
615
+ <td>
616
+ <pre id="out_59"></pre>
617
+ </td>
618
+ <td>
619
+ <pre id="exp_59">9</pre>
620
+ </td>
621
+ </tr>
622
+
623
+
624
+ <tr id="line_60" style="background: #ff8888">
625
+ <td>
626
+ <pre id="out_60"></pre>
627
+ </td>
628
+ <td>
629
+ <pre id="exp_60">8</pre>
630
+ </td>
631
+ </tr>
632
+
633
+
634
+ <tr id="line_61" style="background: #ff8888">
635
+ <td>
636
+ <pre id="out_61"></pre>
637
+ </td>
638
+ <td>
639
+ <pre id="exp_61">7</pre>
640
+ </td>
641
+ </tr>
642
+
643
+
644
+ <tr id="line_62" style="background: #ff8888">
645
+ <td>
646
+ <pre id="out_62"></pre>
647
+ </td>
648
+ <td>
649
+ <pre id="exp_62">6</pre>
650
+ </td>
651
+ </tr>
652
+
653
+
654
+ <tr id="line_63" style="background: #ff8888">
655
+ <td>
656
+ <pre id="out_63"></pre>
657
+ </td>
658
+ <td>
659
+ <pre id="exp_63">5</pre>
660
+ </td>
661
+ </tr>
662
+
663
+
664
+ <tr id="line_64" style="background: #ff8888">
665
+ <td>
666
+ <pre id="out_64"></pre>
667
+ </td>
668
+ <td>
669
+ <pre id="exp_64">4</pre>
670
+ </td>
671
+ </tr>
672
+
673
+
674
+ <tr id="line_65" style="background: #ff8888">
675
+ <td>
676
+ <pre id="out_65"></pre>
677
+ </td>
678
+ <td>
679
+ <pre id="exp_65">3</pre>
680
+ </td>
681
+ </tr>
682
+
683
+
684
+ <tr id="line_66" style="background: #ff8888">
685
+ <td>
686
+ <pre id="out_66"></pre>
687
+ </td>
688
+ <td>
689
+ <pre id="exp_66">2</pre>
690
+ </td>
691
+ </tr>
692
+
693
+
694
+ <tr id="line_67" style="background: #ff8888">
695
+ <td>
696
+ <pre id="out_67"></pre>
697
+ </td>
698
+ <td>
699
+ <pre id="exp_67">1</pre>
700
+ </td>
701
+ </tr>
702
+
703
+
704
+ <tr id="line_68" style="background: #ff8888">
705
+ <td>
706
+ <pre id="out_68"></pre>
707
+ </td>
708
+ <td>
709
+ <pre id="exp_68">--</pre>
710
+ </td>
711
+ </tr>
712
+
713
+
714
+ <tr id="line_69" style="background: #ff8888">
715
+ <td>
716
+ <pre id="out_69"></pre>
717
+ </td>
718
+ <td>
719
+ <pre id="exp_69">"test_proc"</pre>
720
+ </td>
721
+ </tr>
722
+
723
+
724
+ <tr id="line_70" style="background: #ff8888">
725
+ <td>
726
+ <pre id="out_70"></pre>
727
+ </td>
728
+ <td>
729
+ <pre id="exp_70">0</pre>
730
+ </td>
731
+ </tr>
732
+
733
+
734
+ <tr id="line_71" style="background: #ff8888">
735
+ <td>
736
+ <pre id="out_71"></pre>
737
+ </td>
738
+ <td>
739
+ <pre id="exp_71">#&lt;LocalJumpError: break from proc-closure&gt;</pre>
740
+ </td>
741
+ </tr>
742
+
743
+
744
+ <tr id="line_72" style="background: #ff8888">
745
+ <td>
746
+ <pre id="out_72"></pre>
747
+ </td>
748
+ <td>
749
+ <pre id="exp_72">"before"</pre>
750
+ </td>
751
+ </tr>
752
+
753
+
754
+ <tr id="line_73" style="background: #ff8888">
755
+ <td>
756
+ <pre id="out_73"></pre>
757
+ </td>
758
+ <td>
759
+ <pre id="exp_73">"return_in_block before"</pre>
760
+ </td>
761
+ </tr>
762
+
763
+
764
+ <tr id="line_74" style="background: #ff8888">
765
+ <td>
766
+ <pre id="out_74"></pre>
767
+ </td>
768
+ <td>
769
+ <pre id="exp_74">4</pre>
770
+ </td>
771
+ </tr>
772
+
773
+
774
+ <tr id="line_75" style="background: #ff8888">
775
+ <td>
776
+ <pre id="out_75"></pre>
777
+ </td>
778
+ <td>
779
+ <pre id="exp_75">~~~~~~~~~~~~~~~~~~~~</pre>
780
+ </td>
781
+ </tr>
782
+
783
+
784
+ <tr id="line_76" style="background: #ff8888">
785
+ <td>
786
+ <pre id="out_76"></pre>
787
+ </td>
788
+ <td>
789
+ <pre id="exp_76">Test lebewesen</pre>
790
+ </td>
791
+ </tr>
792
+
793
+
794
+ <tr id="line_77" style="background: #ff8888">
795
+ <td>
796
+ <pre id="out_77"></pre>
797
+ </td>
798
+ <td>
799
+ <pre id="exp_77">~~~~~~~~~~~~~~~~~~~~</pre>
800
+ </td>
801
+ </tr>
802
+
803
+
804
+ <tr id="line_78" style="background: #ff8888">
805
+ <td>
806
+ <pre id="out_78"></pre>
807
+ </td>
808
+ <td>
809
+ <pre id="exp_78">miau, ich bin Leni</pre>
810
+ </td>
811
+ </tr>
812
+
813
+
814
+ <tr id="line_79" style="background: #ff8888">
815
+ <td>
816
+ <pre id="out_79"></pre>
817
+ </td>
818
+ <td>
819
+ <pre id="exp_79">wau wau</pre>
820
+ </td>
821
+ </tr>
822
+
823
+
824
+ <tr id="line_80" style="background: #ff8888">
825
+ <td>
826
+ <pre id="out_80"></pre>
827
+ </td>
828
+ <td>
829
+ <pre id="exp_80">ich jage Leni</pre>
830
+ </td>
831
+ </tr>
832
+
833
+
834
+ <tr id="line_81" style="background: #ff8888">
835
+ <td>
836
+ <pre id="out_81"></pre>
837
+ </td>
838
+ <td>
839
+ <pre id="exp_81">~~~~~~~~~~~~~~~~~~~~</pre>
840
+ </td>
841
+ </tr>
842
+
843
+
844
+ <tr id="line_82" style="background: #ff8888">
845
+ <td>
846
+ <pre id="out_82"></pre>
847
+ </td>
848
+ <td>
849
+ <pre id="exp_82">Test expr</pre>
850
+ </td>
851
+ </tr>
852
+
853
+
854
+ <tr id="line_83" style="background: #ff8888">
855
+ <td>
856
+ <pre id="out_83"></pre>
857
+ </td>
858
+ <td>
859
+ <pre id="exp_83">~~~~~~~~~~~~~~~~~~~~</pre>
860
+ </td>
861
+ </tr>
862
+
863
+
864
+ <tr id="line_84" style="background: #ff8888">
865
+ <td>
866
+ <pre id="out_84"></pre>
867
+ </td>
868
+ <td>
869
+ <pre id="exp_84">1</pre>
870
+ </td>
871
+ </tr>
872
+
873
+
874
+ <tr id="line_85" style="background: #ff8888">
875
+ <td>
876
+ <pre id="out_85"></pre>
877
+ </td>
878
+ <td>
879
+ <pre id="exp_85">true</pre>
880
+ </td>
881
+ </tr>
882
+
883
+
884
+ <tr id="line_86" style="background: #ff8888">
885
+ <td>
886
+ <pre id="out_86"></pre>
887
+ </td>
888
+ <td>
889
+ <pre id="exp_86">~~~~~~~~~~~~~~~~~~~~</pre>
890
+ </td>
891
+ </tr>
892
+
893
+
894
+ <tr id="line_87" style="background: #ff8888">
895
+ <td>
896
+ <pre id="out_87"></pre>
897
+ </td>
898
+ <td>
899
+ <pre id="exp_87">Test simple output</pre>
900
+ </td>
901
+ </tr>
902
+
903
+
904
+ <tr id="line_88" style="background: #ff8888">
905
+ <td>
906
+ <pre id="out_88"></pre>
907
+ </td>
908
+ <td>
909
+ <pre id="exp_88">~~~~~~~~~~~~~~~~~~~~</pre>
910
+ </td>
911
+ </tr>
912
+
913
+
914
+ <tr id="line_89" style="background: #ff8888">
915
+ <td>
916
+ <pre id="out_89"></pre>
917
+ </td>
918
+ <td>
919
+ <pre id="exp_89">Hello World from RubyJS</pre>
920
+ </td>
921
+ </tr>
922
+
923
+
924
+ <tr id="line_90" style="background: #ff8888">
925
+ <td>
926
+ <pre id="out_90"></pre>
927
+ </td>
928
+ <td>
929
+ <pre id="exp_90">~~~~~~~~~~~~~~~~~~~~</pre>
930
+ </td>
931
+ </tr>
932
+
933
+
934
+ <tr id="line_91" style="background: #ff8888">
935
+ <td>
936
+ <pre id="out_91"></pre>
937
+ </td>
938
+ <td>
939
+ <pre id="exp_91">Test if</pre>
940
+ </td>
941
+ </tr>
942
+
943
+
944
+ <tr id="line_92" style="background: #ff8888">
945
+ <td>
946
+ <pre id="out_92"></pre>
947
+ </td>
948
+ <td>
949
+ <pre id="exp_92">~~~~~~~~~~~~~~~~~~~~</pre>
950
+ </td>
951
+ </tr>
952
+
953
+
954
+ <tr id="line_93" style="background: #ff8888">
955
+ <td>
956
+ <pre id="out_93"></pre>
957
+ </td>
958
+ <td>
959
+ <pre id="exp_93">OK</pre>
960
+ </td>
961
+ </tr>
962
+
963
+
964
+ <tr id="line_94" style="background: #ff8888">
965
+ <td>
966
+ <pre id="out_94"></pre>
967
+ </td>
968
+ <td>
969
+ <pre id="exp_94">OK</pre>
970
+ </td>
971
+ </tr>
972
+
973
+
974
+ <tr id="line_95" style="background: #ff8888">
975
+ <td>
976
+ <pre id="out_95"></pre>
977
+ </td>
978
+ <td>
979
+ <pre id="exp_95">OK</pre>
980
+ </td>
981
+ </tr>
982
+
983
+
984
+ <tr id="line_96" style="background: #ff8888">
985
+ <td>
986
+ <pre id="out_96"></pre>
987
+ </td>
988
+ <td>
989
+ <pre id="exp_96">OK</pre>
990
+ </td>
991
+ </tr>
992
+
993
+
994
+ <tr id="line_97" style="background: #ff8888">
995
+ <td>
996
+ <pre id="out_97"></pre>
997
+ </td>
998
+ <td>
999
+ <pre id="exp_97">"a"</pre>
1000
+ </td>
1001
+ </tr>
1002
+
1003
+
1004
+ <tr id="line_98" style="background: #ff8888">
1005
+ <td>
1006
+ <pre id="out_98"></pre>
1007
+ </td>
1008
+ <td>
1009
+ <pre id="exp_98">"a"</pre>
1010
+ </td>
1011
+ </tr>
1012
+
1013
+
1014
+ <tr id="line_99" style="background: #ff8888">
1015
+ <td>
1016
+ <pre id="out_99"></pre>
1017
+ </td>
1018
+ <td>
1019
+ <pre id="exp_99">true</pre>
1020
+ </td>
1021
+ </tr>
1022
+
1023
+
1024
+ <tr id="line_100" style="background: #ff8888">
1025
+ <td>
1026
+ <pre id="out_100"></pre>
1027
+ </td>
1028
+ <td>
1029
+ <pre id="exp_100">"b"</pre>
1030
+ </td>
1031
+ </tr>
1032
+
1033
+
1034
+ <tr id="line_101" style="background: #ff8888">
1035
+ <td>
1036
+ <pre id="out_101"></pre>
1037
+ </td>
1038
+ <td>
1039
+ <pre id="exp_101">false</pre>
1040
+ </td>
1041
+ </tr>
1042
+
1043
+
1044
+ <tr id="line_102" style="background: #ff8888">
1045
+ <td>
1046
+ <pre id="out_102"></pre>
1047
+ </td>
1048
+ <td>
1049
+ <pre id="exp_102">nil</pre>
1050
+ </td>
1051
+ </tr>
1052
+
1053
+
1054
+ <tr id="line_103" style="background: #ff8888">
1055
+ <td>
1056
+ <pre id="out_103"></pre>
1057
+ </td>
1058
+ <td>
1059
+ <pre id="exp_103">"a"</pre>
1060
+ </td>
1061
+ </tr>
1062
+
1063
+
1064
+ <tr id="line_104" style="background: #ff8888">
1065
+ <td>
1066
+ <pre id="out_104"></pre>
1067
+ </td>
1068
+ <td>
1069
+ <pre id="exp_104">"a"</pre>
1070
+ </td>
1071
+ </tr>
1072
+
1073
+
1074
+ <tr id="line_105" style="background: #ff8888">
1075
+ <td>
1076
+ <pre id="out_105"></pre>
1077
+ </td>
1078
+ <td>
1079
+ <pre id="exp_105">~~~~~~~~~~~~~~~~~~~~</pre>
1080
+ </td>
1081
+ </tr>
1082
+
1083
+
1084
+ <tr id="line_106" style="background: #ff8888">
1085
+ <td>
1086
+ <pre id="out_106"></pre>
1087
+ </td>
1088
+ <td>
1089
+ <pre id="exp_106">Test class</pre>
1090
+ </td>
1091
+ </tr>
1092
+
1093
+
1094
+ <tr id="line_107" style="background: #ff8888">
1095
+ <td>
1096
+ <pre id="out_107"></pre>
1097
+ </td>
1098
+ <td>
1099
+ <pre id="exp_107">~~~~~~~~~~~~~~~~~~~~</pre>
1100
+ </td>
1101
+ </tr>
1102
+
1103
+
1104
+ <tr id="line_108" style="background: #ff8888">
1105
+ <td>
1106
+ <pre id="out_108"></pre>
1107
+ </td>
1108
+ <td>
1109
+ <pre id="exp_108">true</pre>
1110
+ </td>
1111
+ </tr>
1112
+
1113
+
1114
+ <tr id="line_109" style="background: #ff8888">
1115
+ <td>
1116
+ <pre id="out_109"></pre>
1117
+ </td>
1118
+ <td>
1119
+ <pre id="exp_109">false</pre>
1120
+ </td>
1121
+ </tr>
1122
+
1123
+
1124
+ <tr id="line_110" style="background: #ff8888">
1125
+ <td>
1126
+ <pre id="out_110"></pre>
1127
+ </td>
1128
+ <td>
1129
+ <pre id="exp_110">false</pre>
1130
+ </td>
1131
+ </tr>
1132
+
1133
+
1134
+ <tr id="line_111" style="background: #ff8888">
1135
+ <td>
1136
+ <pre id="out_111"></pre>
1137
+ </td>
1138
+ <td>
1139
+ <pre id="exp_111">false</pre>
1140
+ </td>
1141
+ </tr>
1142
+
1143
+
1144
+ <tr id="line_112" style="background: #ff8888">
1145
+ <td>
1146
+ <pre id="out_112"></pre>
1147
+ </td>
1148
+ <td>
1149
+ <pre id="exp_112">false</pre>
1150
+ </td>
1151
+ </tr>
1152
+
1153
+
1154
+ <tr id="line_113" style="background: #ff8888">
1155
+ <td>
1156
+ <pre id="out_113"></pre>
1157
+ </td>
1158
+ <td>
1159
+ <pre id="exp_113">true</pre>
1160
+ </td>
1161
+ </tr>
1162
+
1163
+
1164
+ <tr id="line_114" style="background: #ff8888">
1165
+ <td>
1166
+ <pre id="out_114"></pre>
1167
+ </td>
1168
+ <td>
1169
+ <pre id="exp_114">false</pre>
1170
+ </td>
1171
+ </tr>
1172
+
1173
+
1174
+ <tr id="line_115" style="background: #ff8888">
1175
+ <td>
1176
+ <pre id="out_115"></pre>
1177
+ </td>
1178
+ <td>
1179
+ <pre id="exp_115">true</pre>
1180
+ </td>
1181
+ </tr>
1182
+
1183
+
1184
+ <tr id="line_116" style="background: #ff8888">
1185
+ <td>
1186
+ <pre id="out_116"></pre>
1187
+ </td>
1188
+ <td>
1189
+ <pre id="exp_116">true</pre>
1190
+ </td>
1191
+ </tr>
1192
+
1193
+
1194
+ <tr id="line_117" style="background: #ff8888">
1195
+ <td>
1196
+ <pre id="out_117"></pre>
1197
+ </td>
1198
+ <td>
1199
+ <pre id="exp_117">true</pre>
1200
+ </td>
1201
+ </tr>
1202
+
1203
+
1204
+ <tr id="line_118" style="background: #ff8888">
1205
+ <td>
1206
+ <pre id="out_118"></pre>
1207
+ </td>
1208
+ <td>
1209
+ <pre id="exp_118">true</pre>
1210
+ </td>
1211
+ </tr>
1212
+
1213
+
1214
+ <tr id="line_119" style="background: #ff8888">
1215
+ <td>
1216
+ <pre id="out_119"></pre>
1217
+ </td>
1218
+ <td>
1219
+ <pre id="exp_119">true</pre>
1220
+ </td>
1221
+ </tr>
1222
+
1223
+
1224
+ <tr id="line_120" style="background: #ff8888">
1225
+ <td>
1226
+ <pre id="out_120"></pre>
1227
+ </td>
1228
+ <td>
1229
+ <pre id="exp_120">true</pre>
1230
+ </td>
1231
+ </tr>
1232
+
1233
+
1234
+ <tr id="line_121" style="background: #ff8888">
1235
+ <td>
1236
+ <pre id="out_121"></pre>
1237
+ </td>
1238
+ <td>
1239
+ <pre id="exp_121">true</pre>
1240
+ </td>
1241
+ </tr>
1242
+
1243
+
1244
+ <tr id="line_122" style="background: #ff8888">
1245
+ <td>
1246
+ <pre id="out_122"></pre>
1247
+ </td>
1248
+ <td>
1249
+ <pre id="exp_122">false</pre>
1250
+ </td>
1251
+ </tr>
1252
+
1253
+
1254
+ <tr id="line_123" style="background: #ff8888">
1255
+ <td>
1256
+ <pre id="out_123"></pre>
1257
+ </td>
1258
+ <td>
1259
+ <pre id="exp_123">true</pre>
1260
+ </td>
1261
+ </tr>
1262
+
1263
+
1264
+ <tr id="line_124" style="background: #ff8888">
1265
+ <td>
1266
+ <pre id="out_124"></pre>
1267
+ </td>
1268
+ <td>
1269
+ <pre id="exp_124">true</pre>
1270
+ </td>
1271
+ </tr>
1272
+
1273
+
1274
+ <tr id="line_125" style="background: #ff8888">
1275
+ <td>
1276
+ <pre id="out_125"></pre>
1277
+ </td>
1278
+ <td>
1279
+ <pre id="exp_125">false</pre>
1280
+ </td>
1281
+ </tr>
1282
+
1283
+
1284
+ <tr id="line_126" style="background: #ff8888">
1285
+ <td>
1286
+ <pre id="out_126"></pre>
1287
+ </td>
1288
+ <td>
1289
+ <pre id="exp_126">"String"</pre>
1290
+ </td>
1291
+ </tr>
1292
+
1293
+
1294
+ <tr id="line_127" style="background: #ff8888">
1295
+ <td>
1296
+ <pre id="out_127"></pre>
1297
+ </td>
1298
+ <td>
1299
+ <pre id="exp_127">"NilClass"</pre>
1300
+ </td>
1301
+ </tr>
1302
+
1303
+
1304
+ <tr id="line_128" style="background: #ff8888">
1305
+ <td>
1306
+ <pre id="out_128"></pre>
1307
+ </td>
1308
+ <td>
1309
+ <pre id="exp_128">true</pre>
1310
+ </td>
1311
+ </tr>
1312
+
1313
+
1314
+ <tr id="line_129" style="background: #ff8888">
1315
+ <td>
1316
+ <pre id="out_129"></pre>
1317
+ </td>
1318
+ <td>
1319
+ <pre id="exp_129">true</pre>
1320
+ </td>
1321
+ </tr>
1322
+
1323
+
1324
+ <tr id="line_130" style="background: #ff8888">
1325
+ <td>
1326
+ <pre id="out_130"></pre>
1327
+ </td>
1328
+ <td>
1329
+ <pre id="exp_130">String</pre>
1330
+ </td>
1331
+ </tr>
1332
+
1333
+
1334
+ <tr id="line_131" style="background: #ff8888">
1335
+ <td>
1336
+ <pre id="out_131"></pre>
1337
+ </td>
1338
+ <td>
1339
+ <pre id="exp_131">T_TestClass::A</pre>
1340
+ </td>
1341
+ </tr>
1342
+
1343
+
1344
+ <tr id="line_132" style="background: #ff8888">
1345
+ <td>
1346
+ <pre id="out_132"></pre>
1347
+ </td>
1348
+ <td>
1349
+ <pre id="exp_132">T_TestClass::B</pre>
1350
+ </td>
1351
+ </tr>
1352
+
1353
+
1354
+ <tr id="line_133" style="background: #ff8888">
1355
+ <td>
1356
+ <pre id="out_133"></pre>
1357
+ </td>
1358
+ <td>
1359
+ <pre id="exp_133">T_TestClass::C</pre>
1360
+ </td>
1361
+ </tr>
1362
+
1363
+
1364
+ <tr id="line_134" style="background: #ff8888">
1365
+ <td>
1366
+ <pre id="out_134"></pre>
1367
+ </td>
1368
+ <td>
1369
+ <pre id="exp_134">T_TestClass::D</pre>
1370
+ </td>
1371
+ </tr>
1372
+
1373
+
1374
+ <tr id="line_135" style="background: #ff8888">
1375
+ <td>
1376
+ <pre id="out_135"></pre>
1377
+ </td>
1378
+ <td>
1379
+ <pre id="exp_135">T_TestClass::X</pre>
1380
+ </td>
1381
+ </tr>
1382
+
1383
+
1384
+ <tr id="line_136" style="background: #ff8888">
1385
+ <td>
1386
+ <pre id="out_136"></pre>
1387
+ </td>
1388
+ <td>
1389
+ <pre id="exp_136">"T_TestClass::X"</pre>
1390
+ </td>
1391
+ </tr>
1392
+
1393
+
1394
+ <tr id="line_137" style="background: #ff8888">
1395
+ <td>
1396
+ <pre id="out_137"></pre>
1397
+ </td>
1398
+ <td>
1399
+ <pre id="exp_137">"T_TestClass::A"</pre>
1400
+ </td>
1401
+ </tr>
1402
+
1403
+
1404
+ <tr id="line_138" style="background: #ff8888">
1405
+ <td>
1406
+ <pre id="out_138"></pre>
1407
+ </td>
1408
+ <td>
1409
+ <pre id="exp_138">"T_TestClass::B"</pre>
1410
+ </td>
1411
+ </tr>
1412
+
1413
+
1414
+ <tr id="line_139" style="background: #ff8888">
1415
+ <td>
1416
+ <pre id="out_139"></pre>
1417
+ </td>
1418
+ <td>
1419
+ <pre id="exp_139">~~~~~~~~~~~~~~~~~~~~</pre>
1420
+ </td>
1421
+ </tr>
1422
+
1423
+
1424
+ <tr id="line_140" style="background: #ff8888">
1425
+ <td>
1426
+ <pre id="out_140"></pre>
1427
+ </td>
1428
+ <td>
1429
+ <pre id="exp_140">Test case</pre>
1430
+ </td>
1431
+ </tr>
1432
+
1433
+
1434
+ <tr id="line_141" style="background: #ff8888">
1435
+ <td>
1436
+ <pre id="out_141"></pre>
1437
+ </td>
1438
+ <td>
1439
+ <pre id="exp_141">~~~~~~~~~~~~~~~~~~~~</pre>
1440
+ </td>
1441
+ </tr>
1442
+
1443
+
1444
+ <tr id="line_142" style="background: #ff8888">
1445
+ <td>
1446
+ <pre id="out_142"></pre>
1447
+ </td>
1448
+ <td>
1449
+ <pre id="exp_142">OKAY</pre>
1450
+ </td>
1451
+ </tr>
1452
+
1453
+
1454
+ <tr id="line_143" style="background: #ff8888">
1455
+ <td>
1456
+ <pre id="out_143"></pre>
1457
+ </td>
1458
+ <td>
1459
+ <pre id="exp_143">true</pre>
1460
+ </td>
1461
+ </tr>
1462
+
1463
+
1464
+ <tr id="line_144" style="background: #ff8888">
1465
+ <td>
1466
+ <pre id="out_144"></pre>
1467
+ </td>
1468
+ <td>
1469
+ <pre id="exp_144">true</pre>
1470
+ </td>
1471
+ </tr>
1472
+
1473
+
1474
+ <tr id="line_145" style="background: #ff8888">
1475
+ <td>
1476
+ <pre id="out_145"></pre>
1477
+ </td>
1478
+ <td>
1479
+ <pre id="exp_145">OK</pre>
1480
+ </td>
1481
+ </tr>
1482
+
1483
+
1484
+ <tr id="line_146" style="background: #ff8888">
1485
+ <td>
1486
+ <pre id="out_146"></pre>
1487
+ </td>
1488
+ <td>
1489
+ <pre id="exp_146">OKAY</pre>
1490
+ </td>
1491
+ </tr>
1492
+
1493
+
1494
+ <tr id="line_147" style="background: #ff8888">
1495
+ <td>
1496
+ <pre id="out_147"></pre>
1497
+ </td>
1498
+ <td>
1499
+ <pre id="exp_147">~~~~~~~~~~~~~~~~~~~~</pre>
1500
+ </td>
1501
+ </tr>
1502
+
1503
+
1504
+ <tr id="line_148" style="background: #ff8888">
1505
+ <td>
1506
+ <pre id="out_148"></pre>
1507
+ </td>
1508
+ <td>
1509
+ <pre id="exp_148">Test splat</pre>
1510
+ </td>
1511
+ </tr>
1512
+
1513
+
1514
+ <tr id="line_149" style="background: #ff8888">
1515
+ <td>
1516
+ <pre id="out_149"></pre>
1517
+ </td>
1518
+ <td>
1519
+ <pre id="exp_149">~~~~~~~~~~~~~~~~~~~~</pre>
1520
+ </td>
1521
+ </tr>
1522
+
1523
+
1524
+ <tr id="line_150" style="background: #ff8888">
1525
+ <td>
1526
+ <pre id="out_150"></pre>
1527
+ </td>
1528
+ <td>
1529
+ <pre id="exp_150">[]</pre>
1530
+ </td>
1531
+ </tr>
1532
+
1533
+
1534
+ <tr id="line_151" style="background: #ff8888">
1535
+ <td>
1536
+ <pre id="out_151"></pre>
1537
+ </td>
1538
+ <td>
1539
+ <pre id="exp_151">[]</pre>
1540
+ </td>
1541
+ </tr>
1542
+
1543
+
1544
+ <tr id="line_152" style="background: #ff8888">
1545
+ <td>
1546
+ <pre id="out_152"></pre>
1547
+ </td>
1548
+ <td>
1549
+ <pre id="exp_152">[1]</pre>
1550
+ </td>
1551
+ </tr>
1552
+
1553
+
1554
+ <tr id="line_153" style="background: #ff8888">
1555
+ <td>
1556
+ <pre id="out_153"></pre>
1557
+ </td>
1558
+ <td>
1559
+ <pre id="exp_153">[1]</pre>
1560
+ </td>
1561
+ </tr>
1562
+
1563
+
1564
+ <tr id="line_154" style="background: #ff8888">
1565
+ <td>
1566
+ <pre id="out_154"></pre>
1567
+ </td>
1568
+ <td>
1569
+ <pre id="exp_154">[1]</pre>
1570
+ </td>
1571
+ </tr>
1572
+
1573
+
1574
+ <tr id="line_155" style="background: #ff8888">
1575
+ <td>
1576
+ <pre id="out_155"></pre>
1577
+ </td>
1578
+ <td>
1579
+ <pre id="exp_155">[1, 2]</pre>
1580
+ </td>
1581
+ </tr>
1582
+
1583
+
1584
+ <tr id="line_156" style="background: #ff8888">
1585
+ <td>
1586
+ <pre id="out_156"></pre>
1587
+ </td>
1588
+ <td>
1589
+ <pre id="exp_156">[1, 2]</pre>
1590
+ </td>
1591
+ </tr>
1592
+
1593
+
1594
+ <tr id="line_157" style="background: #ff8888">
1595
+ <td>
1596
+ <pre id="out_157"></pre>
1597
+ </td>
1598
+ <td>
1599
+ <pre id="exp_157">[1, 2]</pre>
1600
+ </td>
1601
+ </tr>
1602
+
1603
+
1604
+ <tr id="line_158" style="background: #ff8888">
1605
+ <td>
1606
+ <pre id="out_158"></pre>
1607
+ </td>
1608
+ <td>
1609
+ <pre id="exp_158">[1, 1, 2]</pre>
1610
+ </td>
1611
+ </tr>
1612
+
1613
+
1614
+ <tr id="line_159" style="background: #ff8888">
1615
+ <td>
1616
+ <pre id="out_159"></pre>
1617
+ </td>
1618
+ <td>
1619
+ <pre id="exp_159">~~~~~~~~~~~~~~~~~~~~</pre>
1620
+ </td>
1621
+ </tr>
1622
+
1623
+
1624
+ <tr id="line_160" style="background: #ff8888">
1625
+ <td>
1626
+ <pre id="out_160"></pre>
1627
+ </td>
1628
+ <td>
1629
+ <pre id="exp_160">Test string</pre>
1630
+ </td>
1631
+ </tr>
1632
+
1633
+
1634
+ <tr id="line_161" style="background: #ff8888">
1635
+ <td>
1636
+ <pre id="out_161"></pre>
1637
+ </td>
1638
+ <td>
1639
+ <pre id="exp_161">~~~~~~~~~~~~~~~~~~~~</pre>
1640
+ </td>
1641
+ </tr>
1642
+
1643
+
1644
+ <tr id="line_162" style="background: #ff8888">
1645
+ <td>
1646
+ <pre id="out_162"></pre>
1647
+ </td>
1648
+ <td>
1649
+ <pre id="exp_162">"hello"</pre>
1650
+ </td>
1651
+ </tr>
1652
+
1653
+
1654
+ <tr id="line_163" style="background: #ff8888">
1655
+ <td>
1656
+ <pre id="out_163"></pre>
1657
+ </td>
1658
+ <td>
1659
+ <pre id="exp_163">"hallo\b\t\n"</pre>
1660
+ </td>
1661
+ </tr>
1662
+
1663
+
1664
+ <tr id="line_164" style="background: #ff8888">
1665
+ <td>
1666
+ <pre id="out_164"></pre>
1667
+ </td>
1668
+ <td>
1669
+ <pre id="exp_164">"hallo\\leute"</pre>
1670
+ </td>
1671
+ </tr>
1672
+
1673
+
1674
+ <tr id="line_165" style="background: #ff8888">
1675
+ <td>
1676
+ <pre id="out_165"></pre>
1677
+ </td>
1678
+ <td>
1679
+ <pre id="exp_165">"\"super\""</pre>
1680
+ </td>
1681
+ </tr>
1682
+
1683
+
1684
+ <tr id="line_166" style="background: #ff8888">
1685
+ <td>
1686
+ <pre id="out_166"></pre>
1687
+ </td>
1688
+ <td>
1689
+ <pre id="exp_166">1</pre>
1690
+ </td>
1691
+ </tr>
1692
+
1693
+
1694
+ <tr id="line_167" style="background: #ff8888">
1695
+ <td>
1696
+ <pre id="out_167"></pre>
1697
+ </td>
1698
+ <td>
1699
+ <pre id="exp_167">3</pre>
1700
+ </td>
1701
+ </tr>
1702
+
1703
+
1704
+ <tr id="line_168" style="background: #ff8888">
1705
+ <td>
1706
+ <pre id="out_168"></pre>
1707
+ </td>
1708
+ <td>
1709
+ <pre id="exp_168">nil</pre>
1710
+ </td>
1711
+ </tr>
1712
+
1713
+
1714
+ <tr id="line_169" style="background: #ff8888">
1715
+ <td>
1716
+ <pre id="out_169"></pre>
1717
+ </td>
1718
+ <td>
1719
+ <pre id="exp_169">2</pre>
1720
+ </td>
1721
+ </tr>
1722
+
1723
+
1724
+ <tr id="line_170" style="background: #ff8888">
1725
+ <td>
1726
+ <pre id="out_170"></pre>
1727
+ </td>
1728
+ <td>
1729
+ <pre id="exp_170">8</pre>
1730
+ </td>
1731
+ </tr>
1732
+
1733
+
1734
+ <tr id="line_171" style="background: #ff8888">
1735
+ <td>
1736
+ <pre id="out_171"></pre>
1737
+ </td>
1738
+ <td>
1739
+ <pre id="exp_171">"h"</pre>
1740
+ </td>
1741
+ </tr>
1742
+
1743
+
1744
+ <tr id="line_172" style="background: #ff8888">
1745
+ <td>
1746
+ <pre id="out_172"></pre>
1747
+ </td>
1748
+ <td>
1749
+ <pre id="exp_172">"ha"</pre>
1750
+ </td>
1751
+ </tr>
1752
+
1753
+
1754
+ <tr id="line_173" style="background: #ff8888">
1755
+ <td>
1756
+ <pre id="out_173"></pre>
1757
+ </td>
1758
+ <td>
1759
+ <pre id="exp_173">"hallo"</pre>
1760
+ </td>
1761
+ </tr>
1762
+
1763
+
1764
+ <tr id="line_174" style="background: #ff8888">
1765
+ <td>
1766
+ <pre id="out_174"></pre>
1767
+ </td>
1768
+ <td>
1769
+ <pre id="exp_174">"0000000010"</pre>
1770
+ </td>
1771
+ </tr>
1772
+
1773
+
1774
+ <tr id="line_175" style="background: #ff8888">
1775
+ <td>
1776
+ <pre id="out_175"></pre>
1777
+ </td>
1778
+ <td>
1779
+ <pre id="exp_175">"10"</pre>
1780
+ </td>
1781
+ </tr>
1782
+
1783
+
1784
+ <tr id="line_176" style="background: #ff8888">
1785
+ <td>
1786
+ <pre id="out_176"></pre>
1787
+ </td>
1788
+ <td>
1789
+ <pre id="exp_176">"()(x"</pre>
1790
+ </td>
1791
+ </tr>
1792
+
1793
+
1794
+ <tr id="line_177" style="background: #ff8888">
1795
+ <td>
1796
+ <pre id="out_177"></pre>
1797
+ </td>
1798
+ <td>
1799
+ <pre id="exp_177">"1000000000"</pre>
1800
+ </td>
1801
+ </tr>
1802
+
1803
+
1804
+ <tr id="line_178" style="background: #ff8888">
1805
+ <td>
1806
+ <pre id="out_178"></pre>
1807
+ </td>
1808
+ <td>
1809
+ <pre id="exp_178">"10"</pre>
1810
+ </td>
1811
+ </tr>
1812
+
1813
+
1814
+ <tr id="line_179" style="background: #ff8888">
1815
+ <td>
1816
+ <pre id="out_179"></pre>
1817
+ </td>
1818
+ <td>
1819
+ <pre id="exp_179">"x()("</pre>
1820
+ </td>
1821
+ </tr>
1822
+
1823
+
1824
+ <tr id="line_180" style="background: #ff8888">
1825
+ <td>
1826
+ <pre id="out_180"></pre>
1827
+ </td>
1828
+ <td>
1829
+ <pre id="exp_180">"abc 3 def"</pre>
1830
+ </td>
1831
+ </tr>
1832
+
1833
+
1834
+ <tr id="line_181" style="background: #ff8888">
1835
+ <td>
1836
+ <pre id="out_181"></pre>
1837
+ </td>
1838
+ <td>
1839
+ <pre id="exp_181">"\"hallo\",4.5"</pre>
1840
+ </td>
1841
+ </tr>
1842
+
1843
+
1844
+ <tr id="line_182" style="background: #ff8888">
1845
+ <td>
1846
+ <pre id="out_182"></pre>
1847
+ </td>
1848
+ <td>
1849
+ <pre id="exp_182">"harro"</pre>
1850
+ </td>
1851
+ </tr>
1852
+
1853
+
1854
+ <tr id="line_183" style="background: #ff8888">
1855
+ <td>
1856
+ <pre id="out_183"></pre>
1857
+ </td>
1858
+ <td>
1859
+ <pre id="exp_183">"harro"</pre>
1860
+ </td>
1861
+ </tr>
1862
+
1863
+
1864
+ <tr id="line_184" style="background: #ff8888">
1865
+ <td>
1866
+ <pre id="out_184"></pre>
1867
+ </td>
1868
+ <td>
1869
+ <pre id="exp_184">"harro"</pre>
1870
+ </td>
1871
+ </tr>
1872
+
1873
+
1874
+ <tr id="line_185" style="background: #ff8888">
1875
+ <td>
1876
+ <pre id="out_185"></pre>
1877
+ </td>
1878
+ <td>
1879
+ <pre id="exp_185">"hablah blaho"</pre>
1880
+ </td>
1881
+ </tr>
1882
+
1883
+
1884
+ <tr id="line_186" style="background: #ff8888">
1885
+ <td>
1886
+ <pre id="out_186"></pre>
1887
+ </td>
1888
+ <td>
1889
+ <pre id="exp_186">"ll"</pre>
1890
+ </td>
1891
+ </tr>
1892
+
1893
+
1894
+ <tr id="line_187" style="background: #ff8888">
1895
+ <td>
1896
+ <pre id="out_187"></pre>
1897
+ </td>
1898
+ <td>
1899
+ <pre id="exp_187">"ll"</pre>
1900
+ </td>
1901
+ </tr>
1902
+
1903
+
1904
+ <tr id="line_188" style="background: #ff8888">
1905
+ <td>
1906
+ <pre id="out_188"></pre>
1907
+ </td>
1908
+ <td>
1909
+ <pre id="exp_188">"ll"</pre>
1910
+ </td>
1911
+ </tr>
1912
+
1913
+
1914
+ <tr id="line_189" style="background: #ff8888">
1915
+ <td>
1916
+ <pre id="out_189"></pre>
1917
+ </td>
1918
+ <td>
1919
+ <pre id="exp_189">~~~~~~~~~~~~~~~~~~~~</pre>
1920
+ </td>
1921
+ </tr>
1922
+
1923
+
1924
+ <tr id="line_190" style="background: #ff8888">
1925
+ <td>
1926
+ <pre id="out_190"></pre>
1927
+ </td>
1928
+ <td>
1929
+ <pre id="exp_190">Test inspect</pre>
1930
+ </td>
1931
+ </tr>
1932
+
1933
+
1934
+ <tr id="line_191" style="background: #ff8888">
1935
+ <td>
1936
+ <pre id="out_191"></pre>
1937
+ </td>
1938
+ <td>
1939
+ <pre id="exp_191">~~~~~~~~~~~~~~~~~~~~</pre>
1940
+ </td>
1941
+ </tr>
1942
+
1943
+
1944
+ <tr id="line_192" style="background: #ff8888">
1945
+ <td>
1946
+ <pre id="out_192"></pre>
1947
+ </td>
1948
+ <td>
1949
+ <pre id="exp_192">[{"Hello"=&gt;"Rubyconf"}]</pre>
1950
+ </td>
1951
+ </tr>
1952
+
1953
+
1954
+ <tr id="line_193" style="background: #ff8888">
1955
+ <td>
1956
+ <pre id="out_193"></pre>
1957
+ </td>
1958
+ <td>
1959
+ <pre id="exp_193">~~~~~~~~~~~~~~~~~~~~</pre>
1960
+ </td>
1961
+ </tr>
1962
+
1963
+
1964
+ <tr id="line_194" style="background: #ff8888">
1965
+ <td>
1966
+ <pre id="out_194"></pre>
1967
+ </td>
1968
+ <td>
1969
+ <pre id="exp_194">Test regexp</pre>
1970
+ </td>
1971
+ </tr>
1972
+
1973
+
1974
+ <tr id="line_195" style="background: #ff8888">
1975
+ <td>
1976
+ <pre id="out_195"></pre>
1977
+ </td>
1978
+ <td>
1979
+ <pre id="exp_195">~~~~~~~~~~~~~~~~~~~~</pre>
1980
+ </td>
1981
+ </tr>
1982
+
1983
+
1984
+ <tr id="line_196" style="background: #ff8888">
1985
+ <td>
1986
+ <pre id="out_196"></pre>
1987
+ </td>
1988
+ <td>
1989
+ <pre id="exp_196">"okay"</pre>
1990
+ </td>
1991
+ </tr>
1992
+
1993
+
1994
+ <tr id="line_197" style="background: #ff8888">
1995
+ <td>
1996
+ <pre id="out_197"></pre>
1997
+ </td>
1998
+ <td>
1999
+ <pre id="exp_197">2</pre>
2000
+ </td>
2001
+ </tr>
2002
+
2003
+
2004
+ <tr id="line_198" style="background: #ff8888">
2005
+ <td>
2006
+ <pre id="out_198"></pre>
2007
+ </td>
2008
+ <td>
2009
+ <pre id="exp_198">"ll"</pre>
2010
+ </td>
2011
+ </tr>
2012
+
2013
+
2014
+ <tr id="line_199" style="background: #ff8888">
2015
+ <td>
2016
+ <pre id="out_199"></pre>
2017
+ </td>
2018
+ <td>
2019
+ <pre id="exp_199">nil</pre>
2020
+ </td>
2021
+ </tr>
2022
+
2023
+
2024
+ <tr id="line_200" style="background: #ff8888">
2025
+ <td>
2026
+ <pre id="out_200"></pre>
2027
+ </td>
2028
+ <td>
2029
+ <pre id="exp_200">nil</pre>
2030
+ </td>
2031
+ </tr>
2032
+
2033
+
2034
+ <tr id="line_201" style="background: #ff8888">
2035
+ <td>
2036
+ <pre id="out_201"></pre>
2037
+ </td>
2038
+ <td>
2039
+ <pre id="exp_201">"ll"</pre>
2040
+ </td>
2041
+ </tr>
2042
+
2043
+
2044
+ <tr id="line_202" style="background: #ff8888">
2045
+ <td>
2046
+ <pre id="out_202"></pre>
2047
+ </td>
2048
+ <td>
2049
+ <pre id="exp_202">"o"</pre>
2050
+ </td>
2051
+ </tr>
2052
+
2053
+
2054
+ <tr id="line_203" style="background: #ff8888">
2055
+ <td>
2056
+ <pre id="out_203"></pre>
2057
+ </td>
2058
+ <td>
2059
+ <pre id="exp_203">nil</pre>
2060
+ </td>
2061
+ </tr>
2062
+
2063
+
2064
+ <tr id="line_204" style="background: #ff8888">
2065
+ <td>
2066
+ <pre id="out_204"></pre>
2067
+ </td>
2068
+ <td>
2069
+ <pre id="exp_204">nil</pre>
2070
+ </td>
2071
+ </tr>
2072
+
2073
+
2074
+ <tr id="line_205" style="background: #ff8888">
2075
+ <td>
2076
+ <pre id="out_205"></pre>
2077
+ </td>
2078
+ <td>
2079
+ <pre id="exp_205">~~~~~~~~~~~~~~~~~~~~</pre>
2080
+ </td>
2081
+ </tr>
2082
+
2083
+
2084
+ <tr id="line_206" style="background: #ff8888">
2085
+ <td>
2086
+ <pre id="out_206"></pre>
2087
+ </td>
2088
+ <td>
2089
+ <pre id="exp_206">Test args</pre>
2090
+ </td>
2091
+ </tr>
2092
+
2093
+
2094
+ <tr id="line_207" style="background: #ff8888">
2095
+ <td>
2096
+ <pre id="out_207"></pre>
2097
+ </td>
2098
+ <td>
2099
+ <pre id="exp_207">~~~~~~~~~~~~~~~~~~~~</pre>
2100
+ </td>
2101
+ </tr>
2102
+
2103
+
2104
+ <tr id="line_208" style="background: #ff8888">
2105
+ <td>
2106
+ <pre id="out_208"></pre>
2107
+ </td>
2108
+ <td>
2109
+ <pre id="exp_208">0</pre>
2110
+ </td>
2111
+ </tr>
2112
+
2113
+
2114
+ <tr id="line_209" style="background: #ff8888">
2115
+ <td>
2116
+ <pre id="out_209"></pre>
2117
+ </td>
2118
+ <td>
2119
+ <pre id="exp_209">1</pre>
2120
+ </td>
2121
+ </tr>
2122
+
2123
+
2124
+ <tr id="line_210" style="background: #ff8888">
2125
+ <td>
2126
+ <pre id="out_210"></pre>
2127
+ </td>
2128
+ <td>
2129
+ <pre id="exp_210">"hallo"</pre>
2130
+ </td>
2131
+ </tr>
2132
+
2133
+
2134
+ <tr id="line_211" style="background: #ff8888">
2135
+ <td>
2136
+ <pre id="out_211"></pre>
2137
+ </td>
2138
+ <td>
2139
+ <pre id="exp_211">[]</pre>
2140
+ </td>
2141
+ </tr>
2142
+
2143
+
2144
+ <tr id="line_212" style="background: #ff8888">
2145
+ <td>
2146
+ <pre id="out_212"></pre>
2147
+ </td>
2148
+ <td>
2149
+ <pre id="exp_212">--</pre>
2150
+ </td>
2151
+ </tr>
2152
+
2153
+
2154
+ <tr id="line_213" style="background: #ff8888">
2155
+ <td>
2156
+ <pre id="out_213"></pre>
2157
+ </td>
2158
+ <td>
2159
+ <pre id="exp_213">1</pre>
2160
+ </td>
2161
+ </tr>
2162
+
2163
+
2164
+ <tr id="line_214" style="background: #ff8888">
2165
+ <td>
2166
+ <pre id="out_214"></pre>
2167
+ </td>
2168
+ <td>
2169
+ <pre id="exp_214">2</pre>
2170
+ </td>
2171
+ </tr>
2172
+
2173
+
2174
+ <tr id="line_215" style="background: #ff8888">
2175
+ <td>
2176
+ <pre id="out_215"></pre>
2177
+ </td>
2178
+ <td>
2179
+ <pre id="exp_215">"hallo"</pre>
2180
+ </td>
2181
+ </tr>
2182
+
2183
+
2184
+ <tr id="line_216" style="background: #ff8888">
2185
+ <td>
2186
+ <pre id="out_216"></pre>
2187
+ </td>
2188
+ <td>
2189
+ <pre id="exp_216">[]</pre>
2190
+ </td>
2191
+ </tr>
2192
+
2193
+
2194
+ <tr id="line_217" style="background: #ff8888">
2195
+ <td>
2196
+ <pre id="out_217"></pre>
2197
+ </td>
2198
+ <td>
2199
+ <pre id="exp_217">--</pre>
2200
+ </td>
2201
+ </tr>
2202
+
2203
+
2204
+ <tr id="line_218" style="background: #ff8888">
2205
+ <td>
2206
+ <pre id="out_218"></pre>
2207
+ </td>
2208
+ <td>
2209
+ <pre id="exp_218">1</pre>
2210
+ </td>
2211
+ </tr>
2212
+
2213
+
2214
+ <tr id="line_219" style="background: #ff8888">
2215
+ <td>
2216
+ <pre id="out_219"></pre>
2217
+ </td>
2218
+ <td>
2219
+ <pre id="exp_219">2</pre>
2220
+ </td>
2221
+ </tr>
2222
+
2223
+
2224
+ <tr id="line_220" style="background: #ff8888">
2225
+ <td>
2226
+ <pre id="out_220"></pre>
2227
+ </td>
2228
+ <td>
2229
+ <pre id="exp_220">9</pre>
2230
+ </td>
2231
+ </tr>
2232
+
2233
+
2234
+ <tr id="line_221" style="background: #ff8888">
2235
+ <td>
2236
+ <pre id="out_221"></pre>
2237
+ </td>
2238
+ <td>
2239
+ <pre id="exp_221">[]</pre>
2240
+ </td>
2241
+ </tr>
2242
+
2243
+
2244
+ <tr id="line_222" style="background: #ff8888">
2245
+ <td>
2246
+ <pre id="out_222"></pre>
2247
+ </td>
2248
+ <td>
2249
+ <pre id="exp_222">--</pre>
2250
+ </td>
2251
+ </tr>
2252
+
2253
+
2254
+ <tr id="line_223" style="background: #ff8888">
2255
+ <td>
2256
+ <pre id="out_223"></pre>
2257
+ </td>
2258
+ <td>
2259
+ <pre id="exp_223">1</pre>
2260
+ </td>
2261
+ </tr>
2262
+
2263
+
2264
+ <tr id="line_224" style="background: #ff8888">
2265
+ <td>
2266
+ <pre id="out_224"></pre>
2267
+ </td>
2268
+ <td>
2269
+ <pre id="exp_224">2</pre>
2270
+ </td>
2271
+ </tr>
2272
+
2273
+
2274
+ <tr id="line_225" style="background: #ff8888">
2275
+ <td>
2276
+ <pre id="out_225"></pre>
2277
+ </td>
2278
+ <td>
2279
+ <pre id="exp_225">9</pre>
2280
+ </td>
2281
+ </tr>
2282
+
2283
+
2284
+ <tr id="line_226" style="background: #ff8888">
2285
+ <td>
2286
+ <pre id="out_226"></pre>
2287
+ </td>
2288
+ <td>
2289
+ <pre id="exp_226">[5]</pre>
2290
+ </td>
2291
+ </tr>
2292
+
2293
+
2294
+ <tr id="line_227" style="background: #ff8888">
2295
+ <td>
2296
+ <pre id="out_227"></pre>
2297
+ </td>
2298
+ <td>
2299
+ <pre id="exp_227">--</pre>
2300
+ </td>
2301
+ </tr>
2302
+
2303
+
2304
+ <tr id="line_228" style="background: #ff8888">
2305
+ <td>
2306
+ <pre id="out_228"></pre>
2307
+ </td>
2308
+ <td>
2309
+ <pre id="exp_228">1</pre>
2310
+ </td>
2311
+ </tr>
2312
+
2313
+
2314
+ <tr id="line_229" style="background: #ff8888">
2315
+ <td>
2316
+ <pre id="out_229"></pre>
2317
+ </td>
2318
+ <td>
2319
+ <pre id="exp_229">2</pre>
2320
+ </td>
2321
+ </tr>
2322
+
2323
+
2324
+ <tr id="line_230" style="background: #ff8888">
2325
+ <td>
2326
+ <pre id="out_230"></pre>
2327
+ </td>
2328
+ <td>
2329
+ <pre id="exp_230">9</pre>
2330
+ </td>
2331
+ </tr>
2332
+
2333
+
2334
+ <tr id="line_231" style="background: #ff8888">
2335
+ <td>
2336
+ <pre id="out_231"></pre>
2337
+ </td>
2338
+ <td>
2339
+ <pre id="exp_231">[5, 6]</pre>
2340
+ </td>
2341
+ </tr>
2342
+
2343
+
2344
+ <tr id="line_232" style="background: #ff8888">
2345
+ <td>
2346
+ <pre id="out_232"></pre>
2347
+ </td>
2348
+ <td>
2349
+ <pre id="exp_232">--</pre>
2350
+ </td>
2351
+ </tr>
2352
+
2353
+
2354
+ <tr id="line_233" style="background: #ff8888">
2355
+ <td>
2356
+ <pre id="out_233"></pre>
2357
+ </td>
2358
+ <td>
2359
+ <pre id="exp_233">1</pre>
2360
+ </td>
2361
+ </tr>
2362
+
2363
+
2364
+ <tr id="line_234" style="background: #ff8888">
2365
+ <td>
2366
+ <pre id="out_234"></pre>
2367
+ </td>
2368
+ <td>
2369
+ <pre id="exp_234">2</pre>
2370
+ </td>
2371
+ </tr>
2372
+
2373
+
2374
+ <tr id="line_235" style="background: #ff8888">
2375
+ <td>
2376
+ <pre id="out_235"></pre>
2377
+ </td>
2378
+ <td>
2379
+ <pre id="exp_235">9</pre>
2380
+ </td>
2381
+ </tr>
2382
+
2383
+
2384
+ <tr id="line_236" style="background: #ff8888">
2385
+ <td>
2386
+ <pre id="out_236"></pre>
2387
+ </td>
2388
+ <td>
2389
+ <pre id="exp_236">[5, 6, 7, 8, 9, 10, 11, 12]</pre>
2390
+ </td>
2391
+ </tr>
2392
+
2393
+
2394
+ <tr id="line_237" style="background: #ff8888">
2395
+ <td>
2396
+ <pre id="out_237"></pre>
2397
+ </td>
2398
+ <td>
2399
+ <pre id="exp_237">~~~~~~~~~~~~~~~~~~~~</pre>
2400
+ </td>
2401
+ </tr>
2402
+
2403
+
2404
+ <tr id="line_238" style="background: #ff8888">
2405
+ <td>
2406
+ <pre id="out_238"></pre>
2407
+ </td>
2408
+ <td>
2409
+ <pre id="exp_238">Test array</pre>
2410
+ </td>
2411
+ </tr>
2412
+
2413
+
2414
+ <tr id="line_239" style="background: #ff8888">
2415
+ <td>
2416
+ <pre id="out_239"></pre>
2417
+ </td>
2418
+ <td>
2419
+ <pre id="exp_239">~~~~~~~~~~~~~~~~~~~~</pre>
2420
+ </td>
2421
+ </tr>
2422
+
2423
+
2424
+ <tr id="line_240" style="background: #ff8888">
2425
+ <td>
2426
+ <pre id="out_240"></pre>
2427
+ </td>
2428
+ <td>
2429
+ <pre id="exp_240">"b"</pre>
2430
+ </td>
2431
+ </tr>
2432
+
2433
+
2434
+ <tr id="line_241" style="background: #ff8888">
2435
+ <td>
2436
+ <pre id="out_241"></pre>
2437
+ </td>
2438
+ <td>
2439
+ <pre id="exp_241">["a", "c"]</pre>
2440
+ </td>
2441
+ </tr>
2442
+
2443
+
2444
+ <tr id="line_242" style="background: #ff8888">
2445
+ <td>
2446
+ <pre id="out_242"></pre>
2447
+ </td>
2448
+ <td>
2449
+ <pre id="exp_242">nil</pre>
2450
+ </td>
2451
+ </tr>
2452
+
2453
+
2454
+ <tr id="line_243" style="background: #ff8888">
2455
+ <td>
2456
+ <pre id="out_243"></pre>
2457
+ </td>
2458
+ <td>
2459
+ <pre id="exp_243">test native JS array mapping</pre>
2460
+ </td>
2461
+ </tr>
2462
+
2463
+
2464
+ <tr id="line_244" style="background: #ff8888">
2465
+ <td>
2466
+ <pre id="out_244"></pre>
2467
+ </td>
2468
+ <td>
2469
+ <pre id="exp_244">[1, 2, nil, [nil, nil, 4]]</pre>
2470
+ </td>
2471
+ </tr>
2472
+
2473
+
2474
+ <tr id="line_245" style="background: #ff8888">
2475
+ <td>
2476
+ <pre id="out_245"></pre>
2477
+ </td>
2478
+ <td>
2479
+ <pre id="exp_245">~~~~~~~~~~~~~~~~~~~~</pre>
2480
+ </td>
2481
+ </tr>
2482
+
2483
+
2484
+ <tr id="line_246" style="background: #ff8888">
2485
+ <td>
2486
+ <pre id="out_246"></pre>
2487
+ </td>
2488
+ <td>
2489
+ <pre id="exp_246">Test eql</pre>
2490
+ </td>
2491
+ </tr>
2492
+
2493
+
2494
+ <tr id="line_247" style="background: #ff8888">
2495
+ <td>
2496
+ <pre id="out_247"></pre>
2497
+ </td>
2498
+ <td>
2499
+ <pre id="exp_247">~~~~~~~~~~~~~~~~~~~~</pre>
2500
+ </td>
2501
+ </tr>
2502
+
2503
+
2504
+ <tr id="line_248" style="background: #ff8888">
2505
+ <td>
2506
+ <pre id="out_248"></pre>
2507
+ </td>
2508
+ <td>
2509
+ <pre id="exp_248">true</pre>
2510
+ </td>
2511
+ </tr>
2512
+
2513
+
2514
+ <tr id="line_249" style="background: #ff8888">
2515
+ <td>
2516
+ <pre id="out_249"></pre>
2517
+ </td>
2518
+ <td>
2519
+ <pre id="exp_249">false</pre>
2520
+ </td>
2521
+ </tr>
2522
+
2523
+
2524
+ <tr id="line_250" style="background: #ff8888">
2525
+ <td>
2526
+ <pre id="out_250"></pre>
2527
+ </td>
2528
+ <td>
2529
+ <pre id="exp_250">false</pre>
2530
+ </td>
2531
+ </tr>
2532
+
2533
+
2534
+ <tr id="line_251" style="background: #ff8888">
2535
+ <td>
2536
+ <pre id="out_251"></pre>
2537
+ </td>
2538
+ <td>
2539
+ <pre id="exp_251">true</pre>
2540
+ </td>
2541
+ </tr>
2542
+
2543
+
2544
+ <tr id="line_252" style="background: #ff8888">
2545
+ <td>
2546
+ <pre id="out_252"></pre>
2547
+ </td>
2548
+ <td>
2549
+ <pre id="exp_252">false</pre>
2550
+ </td>
2551
+ </tr>
2552
+
2553
+
2554
+ <tr id="line_253" style="background: #ff8888">
2555
+ <td>
2556
+ <pre id="out_253"></pre>
2557
+ </td>
2558
+ <td>
2559
+ <pre id="exp_253">~~~~~~~~~~~~~~~~~~~~</pre>
2560
+ </td>
2561
+ </tr>
2562
+
2563
+
2564
+ <tr id="line_254" style="background: #ff8888">
2565
+ <td>
2566
+ <pre id="out_254"></pre>
2567
+ </td>
2568
+ <td>
2569
+ <pre id="exp_254">Test send</pre>
2570
+ </td>
2571
+ </tr>
2572
+
2573
+
2574
+ <tr id="line_255" style="background: #ff8888">
2575
+ <td>
2576
+ <pre id="out_255"></pre>
2577
+ </td>
2578
+ <td>
2579
+ <pre id="exp_255">~~~~~~~~~~~~~~~~~~~~</pre>
2580
+ </td>
2581
+ </tr>
2582
+
2583
+
2584
+ <tr id="line_256" style="background: #ff8888">
2585
+ <td>
2586
+ <pre id="out_256"></pre>
2587
+ </td>
2588
+ <td>
2589
+ <pre id="exp_256">send</pre>
2590
+ </td>
2591
+ </tr>
2592
+
2593
+
2594
+ <tr id="line_257" style="background: #ff8888">
2595
+ <td>
2596
+ <pre id="out_257"></pre>
2597
+ </td>
2598
+ <td>
2599
+ <pre id="exp_257">1</pre>
2600
+ </td>
2601
+ </tr>
2602
+
2603
+
2604
+ <tr id="line_258" style="background: #ff8888">
2605
+ <td>
2606
+ <pre id="out_258"></pre>
2607
+ </td>
2608
+ <td>
2609
+ <pre id="exp_258">2</pre>
2610
+ </td>
2611
+ </tr>
2612
+
2613
+
2614
+ <tr id="line_259" style="background: #ff8888">
2615
+ <td>
2616
+ <pre id="out_259"></pre>
2617
+ </td>
2618
+ <td>
2619
+ <pre id="exp_259">nil</pre>
2620
+ </td>
2621
+ </tr>
2622
+
2623
+
2624
+ <tr id="line_260" style="background: #ff8888">
2625
+ <td>
2626
+ <pre id="out_260"></pre>
2627
+ </td>
2628
+ <td>
2629
+ <pre id="exp_260">"in B"</pre>
2630
+ </td>
2631
+ </tr>
2632
+
2633
+
2634
+ <tr id="line_261" style="background: #ff8888">
2635
+ <td>
2636
+ <pre id="out_261"></pre>
2637
+ </td>
2638
+ <td>
2639
+ <pre id="exp_261">1</pre>
2640
+ </td>
2641
+ </tr>
2642
+
2643
+
2644
+ <tr id="line_262" style="background: #ff8888">
2645
+ <td>
2646
+ <pre id="out_262"></pre>
2647
+ </td>
2648
+ <td>
2649
+ <pre id="exp_262">2</pre>
2650
+ </td>
2651
+ </tr>
2652
+
2653
+
2654
+ <tr id="line_263" style="background: #ff8888">
2655
+ <td>
2656
+ <pre id="out_263"></pre>
2657
+ </td>
2658
+ <td>
2659
+ <pre id="exp_263">nil</pre>
2660
+ </td>
2661
+ </tr>
2662
+
2663
+
2664
+ <tr id="line_264" style="background: #ff8888">
2665
+ <td>
2666
+ <pre id="out_264"></pre>
2667
+ </td>
2668
+ <td>
2669
+ <pre id="exp_264">respond_to?</pre>
2670
+ </td>
2671
+ </tr>
2672
+
2673
+
2674
+ <tr id="line_265" style="background: #ff8888">
2675
+ <td>
2676
+ <pre id="out_265"></pre>
2677
+ </td>
2678
+ <td>
2679
+ <pre id="exp_265">true</pre>
2680
+ </td>
2681
+ </tr>
2682
+
2683
+
2684
+ <tr id="line_266" style="background: #ff8888">
2685
+ <td>
2686
+ <pre id="out_266"></pre>
2687
+ </td>
2688
+ <td>
2689
+ <pre id="exp_266">true</pre>
2690
+ </td>
2691
+ </tr>
2692
+
2693
+
2694
+ <tr id="line_267" style="background: #ff8888">
2695
+ <td>
2696
+ <pre id="out_267"></pre>
2697
+ </td>
2698
+ <td>
2699
+ <pre id="exp_267">true</pre>
2700
+ </td>
2701
+ </tr>
2702
+
2703
+
2704
+ <tr id="line_268" style="background: #ff8888">
2705
+ <td>
2706
+ <pre id="out_268"></pre>
2707
+ </td>
2708
+ <td>
2709
+ <pre id="exp_268">false</pre>
2710
+ </td>
2711
+ </tr>
2712
+
2713
+
2714
+ <tr id="line_269" style="background: #ff8888">
2715
+ <td>
2716
+ <pre id="out_269"></pre>
2717
+ </td>
2718
+ <td>
2719
+ <pre id="exp_269">false</pre>
2720
+ </td>
2721
+ </tr>
2722
+
2723
+
2724
+ <tr id="line_270" style="background: #ff8888">
2725
+ <td>
2726
+ <pre id="out_270"></pre>
2727
+ </td>
2728
+ <td>
2729
+ <pre id="exp_270">method_missing</pre>
2730
+ </td>
2731
+ </tr>
2732
+
2733
+
2734
+ <tr id="line_271" style="background: #ff8888">
2735
+ <td>
2736
+ <pre id="out_271"></pre>
2737
+ </td>
2738
+ <td>
2739
+ <pre id="exp_271">false</pre>
2740
+ </td>
2741
+ </tr>
2742
+
2743
+
2744
+ <tr id="line_272" style="background: #ff8888">
2745
+ <td>
2746
+ <pre id="out_272"></pre>
2747
+ </td>
2748
+ <td>
2749
+ <pre id="exp_272">"mm: blah_blah, 123"</pre>
2750
+ </td>
2751
+ </tr>
2752
+
2753
+
2754
+ <tr id="line_273" style="background: #ff8888">
2755
+ <td>
2756
+ <pre id="out_273"></pre>
2757
+ </td>
2758
+ <td>
2759
+ <pre id="exp_273">catched!!!</pre>
2760
+ </td>
2761
+ </tr>
2762
+
2763
+
2764
+ <tr id="line_274" style="background: #ff8888">
2765
+ <td>
2766
+ <pre id="out_274"></pre>
2767
+ </td>
2768
+ <td>
2769
+ <pre id="exp_274">"goood"</pre>
2770
+ </td>
2771
+ </tr>
2772
+
2773
+
2774
+ <tr id="line_275" style="background: #ff8888">
2775
+ <td>
2776
+ <pre id="out_275"></pre>
2777
+ </td>
2778
+ <td>
2779
+ <pre id="exp_275">class Method</pre>
2780
+ </td>
2781
+ </tr>
2782
+
2783
+
2784
+ <tr id="line_276" style="background: #ff8888">
2785
+ <td>
2786
+ <pre id="out_276"></pre>
2787
+ </td>
2788
+ <td>
2789
+ <pre id="exp_276">#&lt;Method: String#to_s&gt;</pre>
2790
+ </td>
2791
+ </tr>
2792
+
2793
+
2794
+ <tr id="line_277" style="background: #ff8888">
2795
+ <td>
2796
+ <pre id="out_277"></pre>
2797
+ </td>
2798
+ <td>
2799
+ <pre id="exp_277">"hallo"</pre>
2800
+ </td>
2801
+ </tr>
2802
+
2803
+
2804
+ <tr id="line_278" style="background: #ff8888">
2805
+ <td>
2806
+ <pre id="out_278"></pre>
2807
+ </td>
2808
+ <td>
2809
+ <pre id="exp_278">#&lt;Method: Array#+&gt;</pre>
2810
+ </td>
2811
+ </tr>
2812
+
2813
+
2814
+ <tr id="line_279" style="background: #ff8888">
2815
+ <td>
2816
+ <pre id="out_279"></pre>
2817
+ </td>
2818
+ <td>
2819
+ <pre id="exp_279">[1, 2, 3, 2, 3]</pre>
2820
+ </td>
2821
+ </tr>
2822
+
2823
+
2824
+ <tr id="line_280" style="background: #ff8888">
2825
+ <td>
2826
+ <pre id="out_280"></pre>
2827
+ </td>
2828
+ <td>
2829
+ <pre id="exp_280">#&lt;Method: Array#+&gt;</pre>
2830
+ </td>
2831
+ </tr>
2832
+
2833
+
2834
+ <tr id="line_281" style="background: #ff8888">
2835
+ <td>
2836
+ <pre id="out_281"></pre>
2837
+ </td>
2838
+ <td>
2839
+ <pre id="exp_281">[1, 2, 3]</pre>
2840
+ </td>
2841
+ </tr>
2842
+
2843
+
2844
+ <tr id="line_282" style="background: #ff8888">
2845
+ <td>
2846
+ <pre id="out_282"></pre>
2847
+ </td>
2848
+ <td>
2849
+ <pre id="exp_282">~~~~~~~~~~~~~~~~~~~~</pre>
2850
+ </td>
2851
+ </tr>
2852
+
2853
+
2854
+ <tr id="line_283" style="background: #ff8888">
2855
+ <td>
2856
+ <pre id="out_283"></pre>
2857
+ </td>
2858
+ <td>
2859
+ <pre id="exp_283">Test range</pre>
2860
+ </td>
2861
+ </tr>
2862
+
2863
+
2864
+ <tr id="line_284" style="background: #ff8888">
2865
+ <td>
2866
+ <pre id="out_284"></pre>
2867
+ </td>
2868
+ <td>
2869
+ <pre id="exp_284">~~~~~~~~~~~~~~~~~~~~</pre>
2870
+ </td>
2871
+ </tr>
2872
+
2873
+
2874
+ <tr id="line_285" style="background: #ff8888">
2875
+ <td>
2876
+ <pre id="out_285"></pre>
2877
+ </td>
2878
+ <td>
2879
+ <pre id="exp_285">0</pre>
2880
+ </td>
2881
+ </tr>
2882
+
2883
+
2884
+ <tr id="line_286" style="background: #ff8888">
2885
+ <td>
2886
+ <pre id="out_286"></pre>
2887
+ </td>
2888
+ <td>
2889
+ <pre id="exp_286">2</pre>
2890
+ </td>
2891
+ </tr>
2892
+
2893
+
2894
+ <tr id="line_287" style="background: #ff8888">
2895
+ <td>
2896
+ <pre id="out_287"></pre>
2897
+ </td>
2898
+ <td>
2899
+ <pre id="exp_287">0..2</pre>
2900
+ </td>
2901
+ </tr>
2902
+
2903
+
2904
+ <tr id="line_288" style="background: #ff8888">
2905
+ <td>
2906
+ <pre id="out_288"></pre>
2907
+ </td>
2908
+ <td>
2909
+ <pre id="exp_288">"0..2"</pre>
2910
+ </td>
2911
+ </tr>
2912
+
2913
+
2914
+ <tr id="line_289" style="background: #ff8888">
2915
+ <td>
2916
+ <pre id="out_289"></pre>
2917
+ </td>
2918
+ <td>
2919
+ <pre id="exp_289">"0...2"</pre>
2920
+ </td>
2921
+ </tr>
2922
+
2923
+
2924
+ <tr id="line_290" style="background: #ff8888">
2925
+ <td>
2926
+ <pre id="out_290"></pre>
2927
+ </td>
2928
+ <td>
2929
+ <pre id="exp_290">0</pre>
2930
+ </td>
2931
+ </tr>
2932
+
2933
+
2934
+ <tr id="line_291" style="background: #ff8888">
2935
+ <td>
2936
+ <pre id="out_291"></pre>
2937
+ </td>
2938
+ <td>
2939
+ <pre id="exp_291">1</pre>
2940
+ </td>
2941
+ </tr>
2942
+
2943
+
2944
+ <tr id="line_292" style="background: #ff8888">
2945
+ <td>
2946
+ <pre id="out_292"></pre>
2947
+ </td>
2948
+ <td>
2949
+ <pre id="exp_292">2</pre>
2950
+ </td>
2951
+ </tr>
2952
+
2953
+
2954
+ <tr id="line_293" style="background: #ff8888">
2955
+ <td>
2956
+ <pre id="out_293"></pre>
2957
+ </td>
2958
+ <td>
2959
+ <pre id="exp_293">3</pre>
2960
+ </td>
2961
+ </tr>
2962
+
2963
+
2964
+ <tr id="line_294" style="background: #ff8888">
2965
+ <td>
2966
+ <pre id="out_294"></pre>
2967
+ </td>
2968
+ <td>
2969
+ <pre id="exp_294">4</pre>
2970
+ </td>
2971
+ </tr>
2972
+
2973
+
2974
+ <tr id="line_295" style="background: #ff8888">
2975
+ <td>
2976
+ <pre id="out_295"></pre>
2977
+ </td>
2978
+ <td>
2979
+ <pre id="exp_295">0</pre>
2980
+ </td>
2981
+ </tr>
2982
+
2983
+
2984
+ <tr id="line_296" style="background: #ff8888">
2985
+ <td>
2986
+ <pre id="out_296"></pre>
2987
+ </td>
2988
+ <td>
2989
+ <pre id="exp_296">1</pre>
2990
+ </td>
2991
+ </tr>
2992
+
2993
+
2994
+ <tr id="line_297" style="background: #ff8888">
2995
+ <td>
2996
+ <pre id="out_297"></pre>
2997
+ </td>
2998
+ <td>
2999
+ <pre id="exp_297">2</pre>
3000
+ </td>
3001
+ </tr>
3002
+
3003
+
3004
+ <tr id="line_298" style="background: #ff8888">
3005
+ <td>
3006
+ <pre id="out_298"></pre>
3007
+ </td>
3008
+ <td>
3009
+ <pre id="exp_298">3</pre>
3010
+ </td>
3011
+ </tr>
3012
+
3013
+
3014
+ <tr id="line_299" style="background: #ff8888">
3015
+ <td>
3016
+ <pre id="out_299"></pre>
3017
+ </td>
3018
+ <td>
3019
+ <pre id="exp_299">true</pre>
3020
+ </td>
3021
+ </tr>
3022
+
3023
+
3024
+ <tr id="line_300" style="background: #ff8888">
3025
+ <td>
3026
+ <pre id="out_300"></pre>
3027
+ </td>
3028
+ <td>
3029
+ <pre id="exp_300">false</pre>
3030
+ </td>
3031
+ </tr>
3032
+
3033
+
3034
+ <tr id="line_301" style="background: #ff8888">
3035
+ <td>
3036
+ <pre id="out_301"></pre>
3037
+ </td>
3038
+ <td>
3039
+ <pre id="exp_301">false</pre>
3040
+ </td>
3041
+ </tr>
3042
+
3043
+
3044
+ <tr id="line_302" style="background: #ff8888">
3045
+ <td>
3046
+ <pre id="out_302"></pre>
3047
+ </td>
3048
+ <td>
3049
+ <pre id="exp_302">false</pre>
3050
+ </td>
3051
+ </tr>
3052
+
3053
+
3054
+ <tr id="line_303" style="background: #ff8888">
3055
+ <td>
3056
+ <pre id="out_303"></pre>
3057
+ </td>
3058
+ <td>
3059
+ <pre id="exp_303">true</pre>
3060
+ </td>
3061
+ </tr>
3062
+
3063
+
3064
+ <tr id="line_304" style="background: #ff8888">
3065
+ <td>
3066
+ <pre id="out_304"></pre>
3067
+ </td>
3068
+ <td>
3069
+ <pre id="exp_304">true</pre>
3070
+ </td>
3071
+ </tr>
3072
+
3073
+
3074
+ <tr id="line_305" style="background: #ff8888">
3075
+ <td>
3076
+ <pre id="out_305"></pre>
3077
+ </td>
3078
+ <td>
3079
+ <pre id="exp_305">false</pre>
3080
+ </td>
3081
+ </tr>
3082
+
3083
+
3084
+ <tr id="line_306" style="background: #ff8888">
3085
+ <td>
3086
+ <pre id="out_306"></pre>
3087
+ </td>
3088
+ <td>
3089
+ <pre id="exp_306">[]</pre>
3090
+ </td>
3091
+ </tr>
3092
+
3093
+
3094
+ <tr id="line_307" style="background: #ff8888">
3095
+ <td>
3096
+ <pre id="out_307"></pre>
3097
+ </td>
3098
+ <td>
3099
+ <pre id="exp_307">[-5, -4, -3, -2, -1]</pre>
3100
+ </td>
3101
+ </tr>
3102
+
3103
+
3104
+ <tr id="line_308" style="background: #ff8888">
3105
+ <td>
3106
+ <pre id="out_308"></pre>
3107
+ </td>
3108
+ <td>
3109
+ <pre id="exp_308">0</pre>
3110
+ </td>
3111
+ </tr>
3112
+
3113
+
3114
+ <tr id="line_309" style="background: #ff8888">
3115
+ <td>
3116
+ <pre id="out_309"></pre>
3117
+ </td>
3118
+ <td>
3119
+ <pre id="exp_309">0</pre>
3120
+ </td>
3121
+ </tr>
3122
+
3123
+
3124
+ <tr id="line_310" style="background: #ff8888">
3125
+ <td>
3126
+ <pre id="out_310"></pre>
3127
+ </td>
3128
+ <td>
3129
+ <pre id="exp_310">4</pre>
3130
+ </td>
3131
+ </tr>
3132
+
3133
+
3134
+ <tr id="line_311" style="background: #ff8888">
3135
+ <td>
3136
+ <pre id="out_311"></pre>
3137
+ </td>
3138
+ <td>
3139
+ <pre id="exp_311">4</pre>
3140
+ </td>
3141
+ </tr>
3142
+
3143
+
3144
+ <tr id="line_312" style="background: #ff8888">
3145
+ <td>
3146
+ <pre id="out_312"></pre>
3147
+ </td>
3148
+ <td>
3149
+ <pre id="exp_312">false</pre>
3150
+ </td>
3151
+ </tr>
3152
+
3153
+
3154
+ <tr id="line_313" style="background: #ff8888">
3155
+ <td>
3156
+ <pre id="out_313"></pre>
3157
+ </td>
3158
+ <td>
3159
+ <pre id="exp_313">1</pre>
3160
+ </td>
3161
+ </tr>
3162
+
3163
+
3164
+ <tr id="line_314" style="background: #ff8888">
3165
+ <td>
3166
+ <pre id="out_314"></pre>
3167
+ </td>
3168
+ <td>
3169
+ <pre id="exp_314">1</pre>
3170
+ </td>
3171
+ </tr>
3172
+
3173
+
3174
+ <tr id="line_315" style="background: #ff8888">
3175
+ <td>
3176
+ <pre id="out_315"></pre>
3177
+ </td>
3178
+ <td>
3179
+ <pre id="exp_315">5</pre>
3180
+ </td>
3181
+ </tr>
3182
+
3183
+
3184
+ <tr id="line_316" style="background: #ff8888">
3185
+ <td>
3186
+ <pre id="out_316"></pre>
3187
+ </td>
3188
+ <td>
3189
+ <pre id="exp_316">5</pre>
3190
+ </td>
3191
+ </tr>
3192
+
3193
+
3194
+ <tr id="line_317" style="background: #ff8888">
3195
+ <td>
3196
+ <pre id="out_317"></pre>
3197
+ </td>
3198
+ <td>
3199
+ <pre id="exp_317">true</pre>
3200
+ </td>
3201
+ </tr>
3202
+
3203
+
3204
+ <tr id="line_318" style="background: #ff8888">
3205
+ <td>
3206
+ <pre id="out_318"></pre>
3207
+ </td>
3208
+ <td>
3209
+ <pre id="exp_318">true</pre>
3210
+ </td>
3211
+ </tr>
3212
+
3213
+
3214
+ <tr id="line_319" style="background: #ff8888">
3215
+ <td>
3216
+ <pre id="out_319"></pre>
3217
+ </td>
3218
+ <td>
3219
+ <pre id="exp_319">false</pre>
3220
+ </td>
3221
+ </tr>
3222
+
3223
+
3224
+ <tr id="line_320" style="background: #ff8888">
3225
+ <td>
3226
+ <pre id="out_320"></pre>
3227
+ </td>
3228
+ <td>
3229
+ <pre id="exp_320">false</pre>
3230
+ </td>
3231
+ </tr>
3232
+
3233
+
3234
+ <tr id="line_321" style="background: #ff8888">
3235
+ <td>
3236
+ <pre id="out_321"></pre>
3237
+ </td>
3238
+ <td>
3239
+ <pre id="exp_321">true</pre>
3240
+ </td>
3241
+ </tr>
3242
+
3243
+
3244
+ <tr id="line_322" style="background: #ff8888">
3245
+ <td>
3246
+ <pre id="out_322"></pre>
3247
+ </td>
3248
+ <td>
3249
+ <pre id="exp_322">true</pre>
3250
+ </td>
3251
+ </tr>
3252
+
3253
+
3254
+ <tr id="line_323" style="background: #ff8888">
3255
+ <td>
3256
+ <pre id="out_323"></pre>
3257
+ </td>
3258
+ <td>
3259
+ <pre id="exp_323">true</pre>
3260
+ </td>
3261
+ </tr>
3262
+
3263
+
3264
+ <tr id="line_324" style="background: #ff8888">
3265
+ <td>
3266
+ <pre id="out_324"></pre>
3267
+ </td>
3268
+ <td>
3269
+ <pre id="exp_324">false</pre>
3270
+ </td>
3271
+ </tr>
3272
+
3273
+
3274
+ <tr id="line_325" style="background: #ff8888">
3275
+ <td>
3276
+ <pre id="out_325"></pre>
3277
+ </td>
3278
+ <td>
3279
+ <pre id="exp_325">~~~~~~~~~~~~~~~~~~~~</pre>
3280
+ </td>
3281
+ </tr>
3282
+
3283
+
3284
+ <tr id="line_326" style="background: #ff8888">
3285
+ <td>
3286
+ <pre id="out_326"></pre>
3287
+ </td>
3288
+ <td>
3289
+ <pre id="exp_326">Test massign</pre>
3290
+ </td>
3291
+ </tr>
3292
+
3293
+
3294
+ <tr id="line_327" style="background: #ff8888">
3295
+ <td>
3296
+ <pre id="out_327"></pre>
3297
+ </td>
3298
+ <td>
3299
+ <pre id="exp_327">~~~~~~~~~~~~~~~~~~~~</pre>
3300
+ </td>
3301
+ </tr>
3302
+
3303
+
3304
+ <tr id="line_328" style="background: #ff8888">
3305
+ <td>
3306
+ <pre id="out_328"></pre>
3307
+ </td>
3308
+ <td>
3309
+ <pre id="exp_328">1</pre>
3310
+ </td>
3311
+ </tr>
3312
+
3313
+
3314
+ <tr id="line_329" style="background: #ff8888">
3315
+ <td>
3316
+ <pre id="out_329"></pre>
3317
+ </td>
3318
+ <td>
3319
+ <pre id="exp_329">2</pre>
3320
+ </td>
3321
+ </tr>
3322
+
3323
+
3324
+ <tr id="line_330" style="background: #ff8888">
3325
+ <td>
3326
+ <pre id="out_330"></pre>
3327
+ </td>
3328
+ <td>
3329
+ <pre id="exp_330">--</pre>
3330
+ </td>
3331
+ </tr>
3332
+
3333
+
3334
+ <tr id="line_331" style="background: #ff8888">
3335
+ <td>
3336
+ <pre id="out_331"></pre>
3337
+ </td>
3338
+ <td>
3339
+ <pre id="exp_331">1</pre>
3340
+ </td>
3341
+ </tr>
3342
+
3343
+
3344
+ <tr id="line_332" style="background: #ff8888">
3345
+ <td>
3346
+ <pre id="out_332"></pre>
3347
+ </td>
3348
+ <td>
3349
+ <pre id="exp_332">2</pre>
3350
+ </td>
3351
+ </tr>
3352
+
3353
+
3354
+ <tr id="line_333" style="background: #ff8888">
3355
+ <td>
3356
+ <pre id="out_333"></pre>
3357
+ </td>
3358
+ <td>
3359
+ <pre id="exp_333">--</pre>
3360
+ </td>
3361
+ </tr>
3362
+
3363
+
3364
+ <tr id="line_334" style="background: #ff8888">
3365
+ <td>
3366
+ <pre id="out_334"></pre>
3367
+ </td>
3368
+ <td>
3369
+ <pre id="exp_334">1</pre>
3370
+ </td>
3371
+ </tr>
3372
+
3373
+
3374
+ <tr id="line_335" style="background: #ff8888">
3375
+ <td>
3376
+ <pre id="out_335"></pre>
3377
+ </td>
3378
+ <td>
3379
+ <pre id="exp_335">2</pre>
3380
+ </td>
3381
+ </tr>
3382
+
3383
+
3384
+ <tr id="line_336" style="background: #ff8888">
3385
+ <td>
3386
+ <pre id="out_336"></pre>
3387
+ </td>
3388
+ <td>
3389
+ <pre id="exp_336">nil</pre>
3390
+ </td>
3391
+ </tr>
3392
+
3393
+
3394
+ <tr id="line_337" style="background: #ff8888">
3395
+ <td>
3396
+ <pre id="out_337"></pre>
3397
+ </td>
3398
+ <td>
3399
+ <pre id="exp_337">--</pre>
3400
+ </td>
3401
+ </tr>
3402
+
3403
+
3404
+ <tr id="line_338" style="background: #ff8888">
3405
+ <td>
3406
+ <pre id="out_338"></pre>
3407
+ </td>
3408
+ <td>
3409
+ <pre id="exp_338">1</pre>
3410
+ </td>
3411
+ </tr>
3412
+
3413
+
3414
+ <tr id="line_339" style="background: #ff8888">
3415
+ <td>
3416
+ <pre id="out_339"></pre>
3417
+ </td>
3418
+ <td>
3419
+ <pre id="exp_339">2</pre>
3420
+ </td>
3421
+ </tr>
3422
+
3423
+
3424
+ <tr id="line_340" style="background: #ff8888">
3425
+ <td>
3426
+ <pre id="out_340"></pre>
3427
+ </td>
3428
+ <td>
3429
+ <pre id="exp_340">3</pre>
3430
+ </td>
3431
+ </tr>
3432
+
3433
+
3434
+ <tr id="line_341" style="background: #ff8888">
3435
+ <td>
3436
+ <pre id="out_341"></pre>
3437
+ </td>
3438
+ <td>
3439
+ <pre id="exp_341">--</pre>
3440
+ </td>
3441
+ </tr>
3442
+
3443
+
3444
+ <tr id="line_342" style="background: #ff8888">
3445
+ <td>
3446
+ <pre id="out_342"></pre>
3447
+ </td>
3448
+ <td>
3449
+ <pre id="exp_342">swap</pre>
3450
+ </td>
3451
+ </tr>
3452
+
3453
+
3454
+ <tr id="line_343" style="background: #ff8888">
3455
+ <td>
3456
+ <pre id="out_343"></pre>
3457
+ </td>
3458
+ <td>
3459
+ <pre id="exp_343">1</pre>
3460
+ </td>
3461
+ </tr>
3462
+
3463
+
3464
+ <tr id="line_344" style="background: #ff8888">
3465
+ <td>
3466
+ <pre id="out_344"></pre>
3467
+ </td>
3468
+ <td>
3469
+ <pre id="exp_344">2</pre>
3470
+ </td>
3471
+ </tr>
3472
+
3473
+
3474
+ <tr id="line_345" style="background: #ff8888">
3475
+ <td>
3476
+ <pre id="out_345"></pre>
3477
+ </td>
3478
+ <td>
3479
+ <pre id="exp_345">2</pre>
3480
+ </td>
3481
+ </tr>
3482
+
3483
+
3484
+ <tr id="line_346" style="background: #ff8888">
3485
+ <td>
3486
+ <pre id="out_346"></pre>
3487
+ </td>
3488
+ <td>
3489
+ <pre id="exp_346">1</pre>
3490
+ </td>
3491
+ </tr>
3492
+
3493
+
3494
+ <tr id="line_347" style="background: #ff8888">
3495
+ <td>
3496
+ <pre id="out_347"></pre>
3497
+ </td>
3498
+ <td>
3499
+ <pre id="exp_347">--</pre>
3500
+ </td>
3501
+ </tr>
3502
+
3503
+
3504
+ <tr id="line_348" style="background: #ff8888">
3505
+ <td>
3506
+ <pre id="out_348"></pre>
3507
+ </td>
3508
+ <td>
3509
+ <pre id="exp_348">splat1</pre>
3510
+ </td>
3511
+ </tr>
3512
+
3513
+
3514
+ <tr id="line_349" style="background: #ff8888">
3515
+ <td>
3516
+ <pre id="out_349"></pre>
3517
+ </td>
3518
+ <td>
3519
+ <pre id="exp_349">1</pre>
3520
+ </td>
3521
+ </tr>
3522
+
3523
+
3524
+ <tr id="line_350" style="background: #ff8888">
3525
+ <td>
3526
+ <pre id="out_350"></pre>
3527
+ </td>
3528
+ <td>
3529
+ <pre id="exp_350">2</pre>
3530
+ </td>
3531
+ </tr>
3532
+
3533
+
3534
+ <tr id="line_351" style="background: #ff8888">
3535
+ <td>
3536
+ <pre id="out_351"></pre>
3537
+ </td>
3538
+ <td>
3539
+ <pre id="exp_351">nil</pre>
3540
+ </td>
3541
+ </tr>
3542
+
3543
+
3544
+ <tr id="line_352" style="background: #ff8888">
3545
+ <td>
3546
+ <pre id="out_352"></pre>
3547
+ </td>
3548
+ <td>
3549
+ <pre id="exp_352">[]</pre>
3550
+ </td>
3551
+ </tr>
3552
+
3553
+
3554
+ <tr id="line_353" style="background: #ff8888">
3555
+ <td>
3556
+ <pre id="out_353"></pre>
3557
+ </td>
3558
+ <td>
3559
+ <pre id="exp_353">--</pre>
3560
+ </td>
3561
+ </tr>
3562
+
3563
+
3564
+ <tr id="line_354" style="background: #ff8888">
3565
+ <td>
3566
+ <pre id="out_354"></pre>
3567
+ </td>
3568
+ <td>
3569
+ <pre id="exp_354">splat2</pre>
3570
+ </td>
3571
+ </tr>
3572
+
3573
+
3574
+ <tr id="line_355" style="background: #ff8888">
3575
+ <td>
3576
+ <pre id="out_355"></pre>
3577
+ </td>
3578
+ <td>
3579
+ <pre id="exp_355">1</pre>
3580
+ </td>
3581
+ </tr>
3582
+
3583
+
3584
+ <tr id="line_356" style="background: #ff8888">
3585
+ <td>
3586
+ <pre id="out_356"></pre>
3587
+ </td>
3588
+ <td>
3589
+ <pre id="exp_356">[2]</pre>
3590
+ </td>
3591
+ </tr>
3592
+
3593
+
3594
+ <tr id="line_357" style="background: #ff8888">
3595
+ <td>
3596
+ <pre id="out_357"></pre>
3597
+ </td>
3598
+ <td>
3599
+ <pre id="exp_357">--</pre>
3600
+ </td>
3601
+ </tr>
3602
+
3603
+
3604
+ <tr id="line_358" style="background: #ff8888">
3605
+ <td>
3606
+ <pre id="out_358"></pre>
3607
+ </td>
3608
+ <td>
3609
+ <pre id="exp_358">splat3</pre>
3610
+ </td>
3611
+ </tr>
3612
+
3613
+
3614
+ <tr id="line_359" style="background: #ff8888">
3615
+ <td>
3616
+ <pre id="out_359"></pre>
3617
+ </td>
3618
+ <td>
3619
+ <pre id="exp_359">1</pre>
3620
+ </td>
3621
+ </tr>
3622
+
3623
+
3624
+ <tr id="line_360" style="background: #ff8888">
3625
+ <td>
3626
+ <pre id="out_360"></pre>
3627
+ </td>
3628
+ <td>
3629
+ <pre id="exp_360">[2, 3, 4, 5]</pre>
3630
+ </td>
3631
+ </tr>
3632
+
3633
+
3634
+ <tr id="line_361" style="background: #ff8888">
3635
+ <td>
3636
+ <pre id="out_361"></pre>
3637
+ </td>
3638
+ <td>
3639
+ <pre id="exp_361">--</pre>
3640
+ </td>
3641
+ </tr>
3642
+
3643
+
3644
+ <tr id="line_362" style="background: #ff8888">
3645
+ <td>
3646
+ <pre id="out_362"></pre>
3647
+ </td>
3648
+ <td>
3649
+ <pre id="exp_362">splat with globals</pre>
3650
+ </td>
3651
+ </tr>
3652
+
3653
+
3654
+ <tr id="line_363" style="background: #ff8888">
3655
+ <td>
3656
+ <pre id="out_363"></pre>
3657
+ </td>
3658
+ <td>
3659
+ <pre id="exp_363">nil</pre>
3660
+ </td>
3661
+ </tr>
3662
+
3663
+
3664
+ <tr id="line_364" style="background: #ff8888">
3665
+ <td>
3666
+ <pre id="out_364"></pre>
3667
+ </td>
3668
+ <td>
3669
+ <pre id="exp_364">nil</pre>
3670
+ </td>
3671
+ </tr>
3672
+
3673
+
3674
+ <tr id="line_365" style="background: #ff8888">
3675
+ <td>
3676
+ <pre id="out_365"></pre>
3677
+ </td>
3678
+ <td>
3679
+ <pre id="exp_365">1</pre>
3680
+ </td>
3681
+ </tr>
3682
+
3683
+
3684
+ <tr id="line_366" style="background: #ff8888">
3685
+ <td>
3686
+ <pre id="out_366"></pre>
3687
+ </td>
3688
+ <td>
3689
+ <pre id="exp_366">2</pre>
3690
+ </td>
3691
+ </tr>
3692
+
3693
+
3694
+ <tr id="line_367" style="background: #ff8888">
3695
+ <td>
3696
+ <pre id="out_367"></pre>
3697
+ </td>
3698
+ <td>
3699
+ <pre id="exp_367">--</pre>
3700
+ </td>
3701
+ </tr>
3702
+
3703
+
3704
+ <tr id="line_368" style="background: #ff8888">
3705
+ <td>
3706
+ <pre id="out_368"></pre>
3707
+ </td>
3708
+ <td>
3709
+ <pre id="exp_368">~~~~~~~~~~~~~~~~~~~~</pre>
3710
+ </td>
3711
+ </tr>
3712
+
3713
+
3714
+ <tr id="line_369" style="background: #ff8888">
3715
+ <td>
3716
+ <pre id="out_369"></pre>
3717
+ </td>
3718
+ <td>
3719
+ <pre id="exp_369">Test new</pre>
3720
+ </td>
3721
+ </tr>
3722
+
3723
+
3724
+ <tr id="line_370" style="background: #ff8888">
3725
+ <td>
3726
+ <pre id="out_370"></pre>
3727
+ </td>
3728
+ <td>
3729
+ <pre id="exp_370">~~~~~~~~~~~~~~~~~~~~</pre>
3730
+ </td>
3731
+ </tr>
3732
+
3733
+
3734
+ <tr id="line_371" style="background: #ff8888">
3735
+ <td>
3736
+ <pre id="out_371"></pre>
3737
+ </td>
3738
+ <td>
3739
+ <pre id="exp_371">test</pre>
3740
+ </td>
3741
+ </tr>
3742
+
3743
+
3744
+ <tr id="line_372" style="background: #ff8888">
3745
+ <td>
3746
+ <pre id="out_372"></pre>
3747
+ </td>
3748
+ <td>
3749
+ <pre id="exp_372">~~~~~~~~~~~~~~~~~~~~</pre>
3750
+ </td>
3751
+ </tr>
3752
+
3753
+
3754
+ <tr id="line_373" style="background: #ff8888">
3755
+ <td>
3756
+ <pre id="out_373"></pre>
3757
+ </td>
3758
+ <td>
3759
+ <pre id="exp_373">Test exception</pre>
3760
+ </td>
3761
+ </tr>
3762
+
3763
+
3764
+ <tr id="line_374" style="background: #ff8888">
3765
+ <td>
3766
+ <pre id="out_374"></pre>
3767
+ </td>
3768
+ <td>
3769
+ <pre id="exp_374">~~~~~~~~~~~~~~~~~~~~</pre>
3770
+ </td>
3771
+ </tr>
3772
+
3773
+
3774
+ <tr id="line_375" style="background: #ff8888">
3775
+ <td>
3776
+ <pre id="out_375"></pre>
3777
+ </td>
3778
+ <td>
3779
+ <pre id="exp_375">"before block"</pre>
3780
+ </td>
3781
+ </tr>
3782
+
3783
+
3784
+ <tr id="line_376" style="background: #ff8888">
3785
+ <td>
3786
+ <pre id="out_376"></pre>
3787
+ </td>
3788
+ <td>
3789
+ <pre id="exp_376">"in block"</pre>
3790
+ </td>
3791
+ </tr>
3792
+
3793
+
3794
+ <tr id="line_377" style="background: #ff8888">
3795
+ <td>
3796
+ <pre id="out_377"></pre>
3797
+ </td>
3798
+ <td>
3799
+ <pre id="exp_377">"after block"</pre>
3800
+ </td>
3801
+ </tr>
3802
+
3803
+
3804
+ <tr id="line_378" style="background: #ff8888">
3805
+ <td>
3806
+ <pre id="out_378"></pre>
3807
+ </td>
3808
+ <td>
3809
+ <pre id="exp_378">"block"</pre>
3810
+ </td>
3811
+ </tr>
3812
+
3813
+
3814
+ <tr id="line_379" style="background: #ff8888">
3815
+ <td>
3816
+ <pre id="out_379"></pre>
3817
+ </td>
3818
+ <td>
3819
+ <pre id="exp_379">"else"</pre>
3820
+ </td>
3821
+ </tr>
3822
+
3823
+
3824
+ <tr id="line_380" style="background: #ff8888">
3825
+ <td>
3826
+ <pre id="out_380"></pre>
3827
+ </td>
3828
+ <td>
3829
+ <pre id="exp_380">#&lt;RuntimeError: test&gt;</pre>
3830
+ </td>
3831
+ </tr>
3832
+
3833
+
3834
+ <tr id="line_381" style="background: #ff8888">
3835
+ <td>
3836
+ <pre id="out_381"></pre>
3837
+ </td>
3838
+ <td>
3839
+ <pre id="exp_381">before begin</pre>
3840
+ </td>
3841
+ </tr>
3842
+
3843
+
3844
+ <tr id="line_382" style="background: #ff8888">
3845
+ <td>
3846
+ <pre id="out_382"></pre>
3847
+ </td>
3848
+ <td>
3849
+ <pre id="exp_382">before raise</pre>
3850
+ </td>
3851
+ </tr>
3852
+
3853
+
3854
+ <tr id="line_383" style="background: #ff8888">
3855
+ <td>
3856
+ <pre id="out_383"></pre>
3857
+ </td>
3858
+ <td>
3859
+ <pre id="exp_383">#&lt;Exception: blah&gt;</pre>
3860
+ </td>
3861
+ </tr>
3862
+
3863
+
3864
+ <tr id="line_384" style="background: #ff8888">
3865
+ <td>
3866
+ <pre id="out_384"></pre>
3867
+ </td>
3868
+ <td>
3869
+ <pre id="exp_384">yes</pre>
3870
+ </td>
3871
+ </tr>
3872
+
3873
+
3874
+ <tr id="line_385" style="background: #ff8888">
3875
+ <td>
3876
+ <pre id="out_385"></pre>
3877
+ </td>
3878
+ <td>
3879
+ <pre id="exp_385">ensure</pre>
3880
+ </td>
3881
+ </tr>
3882
+
3883
+
3884
+ <tr id="line_386" style="background: #ff8888">
3885
+ <td>
3886
+ <pre id="out_386"></pre>
3887
+ </td>
3888
+ <td>
3889
+ <pre id="exp_386">after begin</pre>
3890
+ </td>
3891
+ </tr>
3892
+
3893
+
3894
+ <tr id="line_387" style="background: #ff8888">
3895
+ <td>
3896
+ <pre id="out_387"></pre>
3897
+ </td>
3898
+ <td>
3899
+ <pre id="exp_387">--</pre>
3900
+ </td>
3901
+ </tr>
3902
+
3903
+
3904
+ <tr id="line_388" style="background: #ff8888">
3905
+ <td>
3906
+ <pre id="out_388"></pre>
3907
+ </td>
3908
+ <td>
3909
+ <pre id="exp_388">abc</pre>
3910
+ </td>
3911
+ </tr>
3912
+
3913
+
3914
+ <tr id="line_389" style="background: #ff8888">
3915
+ <td>
3916
+ <pre id="out_389"></pre>
3917
+ </td>
3918
+ <td>
3919
+ <pre id="exp_389">#&lt;RuntimeError: r&gt;</pre>
3920
+ </td>
3921
+ </tr>
3922
+
3923
+
3924
+ <tr id="line_390" style="background: #ff8888">
3925
+ <td>
3926
+ <pre id="out_390"></pre>
3927
+ </td>
3928
+ <td>
3929
+ <pre id="exp_390">b</pre>
3930
+ </td>
3931
+ </tr>
3932
+
3933
+
3934
+ <tr id="line_391" style="background: #ff8888">
3935
+ <td>
3936
+ <pre id="out_391"></pre>
3937
+ </td>
3938
+ <td>
3939
+ <pre id="exp_391">e</pre>
3940
+ </td>
3941
+ </tr>
3942
+
3943
+
3944
+ <tr id="line_392" style="background: #ff8888">
3945
+ <td>
3946
+ <pre id="out_392"></pre>
3947
+ </td>
3948
+ <td>
3949
+ <pre id="exp_392">#&lt;ArgumentError: wrong number of arguments (1 for 0)&gt;</pre>
3950
+ </td>
3951
+ </tr>
3952
+
3953
+
3954
+ <tr><td colspan="2" style="background: grey">&nbsp;</td></tr>
3955
+
3956
+ <tr id="line_393">
3957
+ <td>
3958
+ <pre id="out_393"></pre>
3959
+ </td>
3960
+ <td>
3961
+ <pre id="exp_393"></pre>
3962
+ </td>
3963
+ </tr>
3964
+
3965
+
3966
+ <tr id="line_394">
3967
+ <td>
3968
+ <pre id="out_394"></pre>
3969
+ </td>
3970
+ <td>
3971
+ <pre id="exp_394"></pre>
3972
+ </td>
3973
+ </tr>
3974
+
3975
+
3976
+ <tr id="line_395">
3977
+ <td>
3978
+ <pre id="out_395"></pre>
3979
+ </td>
3980
+ <td>
3981
+ <pre id="exp_395"></pre>
3982
+ </td>
3983
+ </tr>
3984
+
3985
+
3986
+ <tr id="line_396">
3987
+ <td>
3988
+ <pre id="out_396"></pre>
3989
+ </td>
3990
+ <td>
3991
+ <pre id="exp_396"></pre>
3992
+ </td>
3993
+ </tr>
3994
+
3995
+
3996
+ <tr id="line_397">
3997
+ <td>
3998
+ <pre id="out_397"></pre>
3999
+ </td>
4000
+ <td>
4001
+ <pre id="exp_397"></pre>
4002
+ </td>
4003
+ </tr>
4004
+
4005
+
4006
+ <tr id="line_398">
4007
+ <td>
4008
+ <pre id="out_398"></pre>
4009
+ </td>
4010
+ <td>
4011
+ <pre id="exp_398"></pre>
4012
+ </td>
4013
+ </tr>
4014
+
4015
+
4016
+ <tr id="line_399">
4017
+ <td>
4018
+ <pre id="out_399"></pre>
4019
+ </td>
4020
+ <td>
4021
+ <pre id="exp_399"></pre>
4022
+ </td>
4023
+ </tr>
4024
+
4025
+
4026
+ <tr id="line_400">
4027
+ <td>
4028
+ <pre id="out_400"></pre>
4029
+ </td>
4030
+ <td>
4031
+ <pre id="exp_400"></pre>
4032
+ </td>
4033
+ </tr>
4034
+
4035
+
4036
+ <tr id="line_401">
4037
+ <td>
4038
+ <pre id="out_401"></pre>
4039
+ </td>
4040
+ <td>
4041
+ <pre id="exp_401"></pre>
4042
+ </td>
4043
+ </tr>
4044
+
4045
+
4046
+ <tr id="line_402">
4047
+ <td>
4048
+ <pre id="out_402"></pre>
4049
+ </td>
4050
+ <td>
4051
+ <pre id="exp_402"></pre>
4052
+ </td>
4053
+ </tr>
4054
+
4055
+
4056
+ </tbody>
4057
+ </table>
4058
+ <pre id="source">require 'common'<br/><br/>#<br/># file: test/test_hash.rb<br/>#<br/><br/>module T_TestHash<br/>class TestHash<br/> if $RUBYJS<br/> def hash<br/> `var el = {}; el["1"] = null; return el`<br/> end<br/> else<br/> def hash<br/> {"1" =&gt; nil}<br/> end<br/> end<br/><br/> def test<br/> h = {"a" =&gt; 6, "b" =&gt; 7, "1" =&gt; 1, 1 =&gt; 2, "1,2" =&gt; "hello", [1,2] =&gt; "good"} <br/> p h["a"]<br/> p h["b"] <br/> p h["1"]<br/> p h[1]<br/> p h["1,2"]<br/> p h[[1,2]] <br/><br/> puts "test native JS hash"<br/> a = hash()<br/> #p a<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_yield.rb<br/>#<br/><br/>module T_TestYield<br/>class TestYield<br/> def three_times_yield<br/> yield 1<br/> yield 2<br/> yield 3<br/> end<br/><br/> def test_three_times_yield<br/> puts "three_times_yield"<br/> three_times_yield {|i| p i }<br/> puts "--"<br/> end<br/><br/> def three_times_block(&amp;block)<br/> block.call(1)<br/> block.call(2)<br/> block.call(3)<br/> end<br/><br/> def test_three_times_block<br/> puts "three_times_block"<br/> three_times_block {|i| p i }<br/> puts "--"<br/> end<br/><br/> def three_times_indirect(&amp;block)<br/> three_times_yield(&amp;block) <br/> three_times_block(&amp;block) <br/> end<br/><br/> def test_three_times_indirect<br/> puts "three_times_indirect"<br/> three_times_indirect {|i| p i}<br/> puts "--"<br/> end<br/><br/> def three_times_yield2<br/> p yield(1)<br/> p yield(2)<br/> p yield(3)<br/> end<br/><br/> def test_three_times_yield2<br/> puts "three_times_yield2"<br/> three_times_yield2 {|i|<br/> if i == 1<br/> i<br/> else<br/> next i+1<br/> end<br/> }<br/> end<br/><br/> def loop<br/> while true<br/> yield<br/> end<br/> p "not reached"<br/> end<br/><br/> def loop2(&amp;block)<br/> while true<br/> block.call<br/> end<br/> p "not reached"<br/> end<br/><br/> def test_loop<br/> puts "loop"<br/> i = 0 <br/> res = loop do <br/> i += 1<br/> next if i % 2 == 1 <br/> p i<br/> break "out", i if i &gt; 8<br/> end <br/> p res<br/> puts "--"<br/> end<br/><br/> def test_loop2<br/> puts "loop2"<br/> i = 0 <br/> res = loop2 do <br/> i += 1<br/> next if i % 2 == 1 <br/> p i<br/> break "out", i if i &gt; 8<br/> end <br/> p res<br/> puts "--"<br/> end<br/><br/> def test_while_loop<br/> puts "while-loop"<br/> i = 0 <br/> while true<br/> i += 1<br/> next if i % 2 == 1 <br/> p i<br/> break if i &gt; 8<br/> end<br/> puts "----"<br/> while i &gt; 0<br/> p i<br/> i -= 1<br/> end<br/> puts "--"<br/> end<br/><br/> def return_in_block(&amp;block)<br/> p "return_in_block before"<br/> block.call<br/> p "return_in_block after"<br/> end<br/><br/> def test_return_in_block<br/> p "before"<br/> return_in_block { return 4 }<br/> p "after (NOT)"<br/> end<br/><br/> def test_proc<br/> p "test_proc"<br/> a = proc { return 0 }<br/> p a.call<br/> a = Proc.new { break 3 }<br/> p a.call<br/> end<br/><br/> def test<br/> test_three_times_yield<br/> test_three_times_block<br/> test_three_times_indirect<br/> test_three_times_yield2<br/> test_loop<br/> test_loop2<br/> test_while_loop<br/><br/> begin<br/> test_proc<br/> rescue LocalJumpError =&gt; e<br/> p e<br/> end<br/><br/> p test_return_in_block()<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_lebewesen.rb<br/>#<br/><br/>module T_TestLebewesen<br/>class TestLebewesen<br/> def self.main<br/> leni = Katze.new("AA-BB", "Leni")<br/> flocki = Katze.new("AC-DC", "Flocki") <br/> bello = Hund.new("AA-ZZ")<br/> leni.miau<br/> bello.wau<br/> bello.jage(leni)<br/> end<br/>end<br/><br/>class Lebewesen<br/> def initialize(dns)<br/> @dns = dns<br/> end<br/>end<br/><br/>class Katze &lt; Lebewesen<br/> attr_reader :name<br/><br/> def initialize(dns, name)<br/> super(dns)<br/> @name = name<br/> end<br/><br/> def miau<br/> puts "miau, ich bin " + @name<br/> end<br/>end<br/><br/>class Hund &lt; Lebewesen<br/> def wau<br/> puts "wau wau"<br/> end<br/><br/> def jage(katze)<br/> puts "ich jage " + katze.name<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_expr.rb<br/>#<br/><br/>module T_TestExpr<br/>class TestExpr<br/> def test<br/> i = if true then 1 else 2 end<br/> p i<br/> i = true or return<br/> p i<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_simple_output.rb<br/>#<br/><br/>module T_TestSimpleOutput<br/>class TestSimpleOutput <br/> def self.main()<br/> puts "Hello World from RubyJS"<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_if.rb<br/>#<br/><br/>module T_TestIf<br/>class TestIf<br/> def test<br/> puts "OK" if true<br/> puts "NOT OK" if false<br/> puts "OK" unless false<br/> puts "NOT OK" unless true<br/> puts "OK" if true and true and (true or false) and (!false)<br/><br/> puts "OK" if 5 &lt; 6 and 6 &lt; 7<br/><br/> # test the "||" operator<br/> p(false || "a") # =&gt; "a"<br/> p(nil || "a") # =&gt; "a"<br/> p(true || "a") # =&gt; true<br/> p("b" || "a") # =&gt; "b"<br/><br/> # test the "&amp;&amp;" operator<br/><br/> p(false &amp;&amp; "a") # =&gt; false<br/> p(nil &amp;&amp; "a") # =&gt; nil<br/> p(true &amp;&amp; "a") # =&gt; "a"<br/> p("b" &amp;&amp; "a") # =&gt; "a"<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_class.rb<br/>#<br/><br/>module T_TestClass<br/>module X<br/>end<br/><br/>class A<br/> include X<br/>end<br/><br/>class B &lt; A<br/>end<br/><br/>class C &lt; B<br/>end<br/><br/>class D<br/>end<br/><br/>class TestClass<br/> def self.main<br/> p A.new.instance_of?(A) # =&gt; true<br/> p A.new.instance_of?(B) # =&gt; false<br/> p B.new.instance_of?(A) # =&gt; false<br/> p A.new.instance_of?(X) # =&gt; false<br/> p B.new.instance_of?(X) # =&gt; false<br/><br/> p A.new.kind_of?(A) # =&gt; true<br/> p A.new.kind_of?(B) # =&gt; false<br/> p B.new.kind_of?(A) # =&gt; true<br/> p A.new.kind_of?(X) # =&gt; true<br/> p B.new.kind_of?(X) # =&gt; true<br/><br/> p C.new.kind_of?(X) # =&gt; true<br/> p C.new.kind_of?(A) # =&gt; true<br/> p C.new.kind_of?(B) # =&gt; true<br/> p C.new.kind_of?(C) # =&gt; true<br/> p C.new.kind_of?(D) # =&gt; false<br/> p C.new.kind_of?(Object) # =&gt; true<br/> p C.new.kind_of?(Kernel) # =&gt; true<br/> p C.new.kind_of?(Class) # =&gt; false<br/><br/> p ("hallo".class.name)<br/> p (nil.class.name)<br/> p (nil.instance_of?(NilClass))<br/> p ("hallo".instance_of?(String))<br/> p ("hallo".class)<br/> p A<br/> p B<br/> p C<br/> p D<br/> p X<br/><br/> p X.name<br/> p A.name<br/> p B.name<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_case.rb<br/>#<br/><br/>module T_TestCase<br/>class TestCase<br/> def test<br/> case 1+1<br/> when 1, 3<br/> puts "NOT OKAY"<br/> when 2<br/> puts "OKAY"<br/> else<br/> puts "NOT OKAY"<br/> end<br/><br/> p (Array === [])<br/> p (RuntimeError === RuntimeError.new)<br/><br/> case 1<br/> when Fixnum <br/> puts "OK"<br/> when 1<br/> puts "OK"<br/> end<br/><br/> case 4<br/> when 0..3<br/> puts "NOT OKAY"<br/> when 1...4<br/> puts "NOT OKAY"<br/> when 2..4<br/> puts "OKAY"<br/> end<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_splat.rb<br/>#<br/><br/>module T_TestSplat<br/>class TestSplat<br/> def m(*args)<br/> p args<br/> end<br/><br/> def self.main<br/> obj = new()<br/><br/> obj.m<br/> obj.m(*[])<br/><br/> obj.m(1)<br/> obj.m(*[1])<br/> obj.m(1,*[])<br/><br/> obj.m(1,2)<br/> obj.m(*[1,2])<br/> obj.m(1,*[2])<br/> obj.m(1,*[1,2])<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_string.rb<br/>#<br/><br/>module T_TestString<br/>class TestString<br/> def test<br/> # inspect<br/> p "hello"<br/> p "hallo\b\t\n"<br/> p "hallo\\leute"<br/> p '"super"'<br/> <br/> # index<br/> p "hello".index('e')<br/> p "hello".index('lo')<br/> p "hello".index('a')<br/> p "hello hello".index('ll')<br/> p "hello hello".index('ll', 3)<br/><br/> # []<br/> p "hallo"[0,1]<br/> p "hallo"[0,2]<br/> p "hallo"[0,5]<br/><br/> p ("10".rjust(10, "0"))<br/> p ("10".rjust(1, "blah"))<br/> p ("x".rjust(4, "()"))<br/><br/> p ("10".ljust(10, "0"))<br/> p ("10".ljust(1, "blah"))<br/> p ("x".ljust(4, "()"))<br/><br/><br/> # string interpolation<br/> p "abc #{ 1 + 2 } def"<br/> @a = "hallo".inspect<br/> @b = 4.5<br/> p "#{@a},#{@b}"<br/><br/> # gsub<br/> s = "hallo".gsub("l", "r")<br/> p s<br/> s = "hallo".gsub(/ll/, "rr")<br/> p s<br/> s = "hallo".gsub(/l/) { "r" }<br/> p s<br/> s = "hallo".gsub(/ll/) { "blah blah" }<br/> p s<br/> "hallllllo".gsub(/(l)l/) {|i| p i }<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_inspect.rb<br/>#<br/><br/>module T_TestInspect<br/>class TestInspect<br/> def test<br/> o = [{"Hello"=&gt;'Rubyconf'}]<br/> puts o.inspect<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_regexp.rb<br/>#<br/><br/>module T_TestRegexp<br/>class TestRegexp<br/> def test<br/> p "okay" if "hallo" =~ /ll/<br/> pos = "hallo" =~ /ll/<br/> p pos<br/><br/> "hallo" =~ /(ll)/<br/> p $1<br/> p $2<br/> p $3<br/><br/> "hallo" =~ /a(ll)(o)/<br/> p $1<br/> p $2<br/> p $3<br/> p $4<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_args.rb<br/>#<br/><br/>module T_TestArgs<br/>class TestArgs<br/> def m(a, b=1, c="hallo", *args) <br/> p a<br/> p b<br/> p c<br/> p args<br/> end<br/><br/> def self.main<br/> obj = new()<br/><br/> obj.m(0)<br/> puts "--"<br/> obj.m(1,2)<br/> puts "--"<br/> obj.m(1,2,9)<br/> puts "--"<br/> obj.m(1,2,9,5)<br/> puts "--"<br/> obj.m(1,2,9,5,6)<br/> puts "--"<br/> obj.m(1,2,9,5,6,7,8,9,10,11,12)<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_array.rb<br/>#<br/><br/>module T_TestArray<br/>class TestArray<br/> if $RUBYJS<br/> def array<br/> [1, 2, `null`, [`null`, `null`, 4]]<br/> end<br/> else<br/> def array<br/> [1, 2, nil, [nil, nil, 4]]<br/> end<br/> end<br/><br/> def test<br/> # delete<br/> a = [ "a", "b", "b", "b", "c" ]<br/> p a.delete("b") #=&gt; "b"<br/> p a #=&gt; ["a", "c"]<br/> p a.delete("z") #=&gt; nil<br/><br/> puts "test native JS array mapping"<br/> p array()<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_eql.rb<br/>#<br/><br/>module T_TestEql<br/>class TestEql<br/> def self.main<br/> p "a".eql?("a") # =&gt; true<br/> p "a".eql?(1) # =&gt; false<br/> p "1".eql?(1) # =&gt; false<br/> p [1,2].eql?([1,2]) # =&gt; true<br/> p 1.eql?("1") # =&gt; false<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_send.rb<br/>#<br/><br/>module T_TestSend<br/>class A<br/> def a_method(a,b)<br/> p a, b<br/> end<br/>end<br/><br/>class B &lt; A<br/> def a_method(b, a)<br/> p "in B"<br/> super<br/> end<br/><br/> def c_method(b)<br/> end<br/>end<br/><br/>class C<br/> def method_missing(id, *args, &amp;block)<br/> p "mm: #{id}, #{args}"<br/> end<br/>end<br/><br/>class TestSend<br/> def self.main<br/> puts "send"<br/> p A.new.send("a_method", 1, 2)<br/> p B.new.send("a_method", 1, 2)<br/><br/> puts "respond_to?"<br/> p A.new.respond_to?(:a_method)<br/> p A.new.respond_to?(:to_s)<br/> p A.new.respond_to?(:inspect)<br/> p A.new.respond_to?(:b_method)<br/> p A.new.respond_to?(:c_method)<br/><br/> puts "method_missing"<br/> p C.new.respond_to?(:blah_blah)<br/> C.new.blah_blah(1,2,3)<br/><br/> begin<br/> A.new.blah_blah<br/> puts "FAILURE?"<br/> rescue NoMethodError<br/> puts "catched!!!"<br/> end<br/><br/> begin<br/> A.not_a_method<br/> rescue NoMethodError<br/> p "goood"<br/> end<br/><br/> puts "class Method"<br/> m = "hallo".method(:to_s)<br/> p m<br/> p m.call<br/><br/> a = [1,2,3]<br/> m = a.method(:+)<br/> p m<br/> p m.call([2,3])<br/> p m<br/> p a<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_range.rb<br/>#<br/><br/>module T_TestRange<br/>class TestRange<br/> def test<br/> a = Range.new(0,2)<br/> p a.first<br/> p a.last<br/> p a<br/><br/> p ((0..2).to_s)<br/> p ((0...2).to_s)<br/><br/> (0..4).each do |i| p i end<br/> (0...4).each do |i| p i end<br/> (-1..-4).each do |i| p i end<br/><br/> p ((0..4).include?(4))<br/> p ((0..4).include?(5))<br/> p ((0...4).include?(5))<br/> p ((0...4).include?(4))<br/> p ((0...4).include?(3))<br/> p ((0...4).include?(0))<br/> p ((0...4).include?(-1))<br/><br/> p ((-1..-5).to_a)<br/> p ((-5..-1).to_a)<br/><br/> r = Range.new(0, 4)<br/> p r.first<br/> p r.begin<br/> p r.last<br/> p r.end<br/> p r.exclude_end?<br/><br/> r = 1...5<br/> p r.first<br/> p r.begin<br/> p r.last<br/> p r.end<br/> p r.exclude_end?<br/><br/> p (false == false)<br/> p (false == true)<br/> p (true == false)<br/> p (true == true)<br/><br/> p ((0..2) == (0..2))<br/> p ((0..2) == Range.new(0,2))<br/> p ((0..2) == (0...2))<br/> end<br/><br/> def self.main<br/> new.test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_massign.rb<br/>#<br/><br/>module T_TestMassign<br/>class TestMassign<br/> def self.main<br/> a, b = 1, 2<br/> p a<br/> p b<br/> puts "--"<br/><br/> a, b = 1, 2, 3<br/> p a<br/> p b<br/> puts "--"<br/><br/> c = 5<br/> a, b, c = 1, 2 <br/> p a<br/> p b<br/> p c<br/> puts "--"<br/><br/> @a, b, @c = 1, 2, 3<br/> p @a<br/> p b<br/> p @c<br/> puts "--"<br/><br/> puts "swap"<br/> # swap<br/> a, b = 1, 2<br/> p a<br/> p b<br/> a, b = b, a<br/> p a<br/> p b<br/> puts "--"<br/><br/> puts "splat1"<br/> a, b, c, *d = 1, 2 <br/> p a<br/> p b<br/> p c<br/> p d<br/> puts "--"<br/><br/> puts "splat2"<br/> a, *b = 1, 2<br/> p a<br/> p b<br/> puts "--"<br/><br/> puts "splat3"<br/> a, *b = 1, 2, 3, 4, 5<br/> p a<br/> p b<br/> puts "--"<br/><br/> puts "splat with globals"<br/> p $a<br/> p $b<br/> $a, $b = 1, 2 <br/> p $a<br/> p $b<br/> puts "--"<br/> <br/> #TODO: a, b = 1 (to_ary)<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_new.rb<br/>#<br/><br/>module T_TestNew<br/>class TestNew<br/> def initialize<br/> end<br/><br/> def test<br/> puts "test"<br/> end<br/><br/> def self.main()<br/> new().test<br/> end<br/>end<br/>end<br/><br/><br/>#<br/># file: test/test_exception.rb<br/>#<br/><br/>module T_TestException<br/>class TestException<br/> def self.main<br/><br/> p "before block"<br/> begin<br/> p "in block"<br/> end<br/> p "after block"<br/><br/> ###<br/> begin<br/> p "block"<br/> rescue<br/> p "rescue"<br/> rescue Exception =&gt; a<br/> p "another rescue"<br/> p a<br/> else<br/> p "else"<br/> end<br/><br/> p RuntimeError.new("test")<br/><br/> puts "before begin"<br/> begin<br/> puts "before raise"<br/> raise Exception, "blah" <br/> puts "after raise"<br/> rescue<br/> puts "noooo"<br/> rescue Exception =&gt; a<br/> p a<br/> puts "yes"<br/> ensure<br/> puts "ensure"<br/> end<br/> puts "after begin"<br/><br/> puts "--"<br/><br/> begin<br/> puts "abc"<br/> raise "r"<br/> rescue<br/> p $!<br/> puts "b"<br/> ensure<br/> puts "e"<br/> end<br/><br/> #<br/> # Test arity checks<br/> #<br/><br/> begin<br/> p("hallo".to_s(2))<br/> rescue ArgumentError =&gt; a<br/> p a<br/> end<br/> end<br/>end<br/>end<br/><br/><br/><br/> class TestSuite<br/> def self.main<br/> begin<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test hash'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestHash::TestHash.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test yield'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestYield::TestYield.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test lebewesen'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestLebewesen::TestLebewesen.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test expr'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestExpr::TestExpr.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test simple output'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestSimpleOutput::TestSimpleOutput.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test if'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestIf::TestIf.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test class'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestClass::TestClass.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test case'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestCase::TestCase.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test splat'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestSplat::TestSplat.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test string'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestString::TestString.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test inspect'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestInspect::TestInspect.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test regexp'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestRegexp::TestRegexp.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test args'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestArgs::TestArgs.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test array'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestArray::TestArray.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test eql'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestEql::TestEql.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test send'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestSend::TestSend.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test range'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestRange::TestRange.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test massign'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestMassign::TestMassign.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test new'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestNew::TestNew.main<br/> <br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> puts 'Test exception'<br/> puts '~~~~~~~~~~~~~~~~~~~~'<br/> T_TestException::TestException.main<br/> <br/> rescue Exception =&gt; a<br/> p "unhandled exception"<br/> p a<br/> end<br/> end<br/> end<br/> TestSuite.main unless $RUBYJS<br/> </pre>
4059
+ </body></html>