rubyjs 0.7.0

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