rubyjs 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. data/examples/client_server/README +18 -0
  2. data/examples/client_server/Rakefile +5 -0
  3. data/examples/client_server/client.js +749 -0
  4. data/examples/client_server/client.rb +12 -0
  5. data/examples/client_server/index.html +7 -0
  6. data/examples/client_server/server.rb +17 -0
  7. data/examples/hw/hw.js +234 -216
  8. data/rubyjs.gemspec +2 -2
  9. data/src/rubyjs.rb +0 -1
  10. data/src/rubyjs/compiler.rb +21 -8
  11. data/src/rubyjs/debug_name_generator.rb +23 -6
  12. data/src/rubyjs/model.rb +14 -8
  13. data/test/browser.test.html +1 -1
  14. data/test/browser.test.js +2337 -1992
  15. data/test/test_yield.rb +2 -0
  16. metadata +108 -158
  17. data/patches/parse_tree.rb.diff +0 -34
  18. data/vendor/ParseTree-1.7.1-patched/History.txt +0 -217
  19. data/vendor/ParseTree-1.7.1-patched/Manifest.txt +0 -22
  20. data/vendor/ParseTree-1.7.1-patched/README.txt +0 -110
  21. data/vendor/ParseTree-1.7.1-patched/Rakefile +0 -41
  22. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_abc +0 -89
  23. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_audit +0 -28
  24. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_deps +0 -62
  25. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_show +0 -49
  26. data/vendor/ParseTree-1.7.1-patched/demo/printer.rb +0 -20
  27. data/vendor/ParseTree-1.7.1-patched/lib/composite_sexp_processor.rb +0 -49
  28. data/vendor/ParseTree-1.7.1-patched/lib/parse_tree.rb +0 -1013
  29. data/vendor/ParseTree-1.7.1-patched/lib/sexp.rb +0 -235
  30. data/vendor/ParseTree-1.7.1-patched/lib/sexp_processor.rb +0 -330
  31. data/vendor/ParseTree-1.7.1-patched/lib/unique.rb +0 -15
  32. data/vendor/ParseTree-1.7.1-patched/test/pt_testcase.rb +0 -1221
  33. data/vendor/ParseTree-1.7.1-patched/test/something.rb +0 -53
  34. data/vendor/ParseTree-1.7.1-patched/test/test_all.rb +0 -13
  35. data/vendor/ParseTree-1.7.1-patched/test/test_composite_sexp_processor.rb +0 -69
  36. data/vendor/ParseTree-1.7.1-patched/test/test_parse_tree.rb +0 -216
  37. data/vendor/ParseTree-1.7.1-patched/test/test_sexp.rb +0 -291
  38. data/vendor/ParseTree-1.7.1-patched/test/test_sexp_processor.rb +0 -244
  39. data/vendor/ParseTree-1.7.1-patched/validate.sh +0 -31
  40. data/vendor/ParseTree-1.7.1/History.txt +0 -217
  41. data/vendor/ParseTree-1.7.1/Manifest.txt +0 -22
  42. data/vendor/ParseTree-1.7.1/README.txt +0 -110
  43. data/vendor/ParseTree-1.7.1/Rakefile +0 -41
  44. data/vendor/ParseTree-1.7.1/bin/parse_tree_abc +0 -89
  45. data/vendor/ParseTree-1.7.1/bin/parse_tree_audit +0 -28
  46. data/vendor/ParseTree-1.7.1/bin/parse_tree_deps +0 -62
  47. data/vendor/ParseTree-1.7.1/bin/parse_tree_show +0 -49
  48. data/vendor/ParseTree-1.7.1/demo/printer.rb +0 -20
  49. data/vendor/ParseTree-1.7.1/lib/composite_sexp_processor.rb +0 -49
  50. data/vendor/ParseTree-1.7.1/lib/parse_tree.rb +0 -1004
  51. data/vendor/ParseTree-1.7.1/lib/sexp.rb +0 -235
  52. data/vendor/ParseTree-1.7.1/lib/sexp_processor.rb +0 -330
  53. data/vendor/ParseTree-1.7.1/lib/unique.rb +0 -15
  54. data/vendor/ParseTree-1.7.1/test/pt_testcase.rb +0 -1221
  55. data/vendor/ParseTree-1.7.1/test/something.rb +0 -53
  56. data/vendor/ParseTree-1.7.1/test/test_all.rb +0 -13
  57. data/vendor/ParseTree-1.7.1/test/test_composite_sexp_processor.rb +0 -69
  58. data/vendor/ParseTree-1.7.1/test/test_parse_tree.rb +0 -216
  59. data/vendor/ParseTree-1.7.1/test/test_sexp.rb +0 -291
  60. data/vendor/ParseTree-1.7.1/test/test_sexp_processor.rb +0 -244
  61. data/vendor/ParseTree-1.7.1/validate.sh +0 -31
@@ -1,244 +0,0 @@
1
- #!/usr/local/bin/ruby -w
2
-
3
- $TESTING = true
4
-
5
- require 'sexp_processor'
6
- require 'stringio'
7
- require 'test/unit'
8
- require 'pp'
9
-
10
- # Fake test classes:
11
-
12
- class TestProcessor < SexpProcessor # ZenTest SKIP
13
- attr_accessor :auto_shift_type
14
-
15
- def process_acc1(exp)
16
- out = self.expected.new(:acc2, exp.thing_three, exp.thing_two, exp.thing_one)
17
- exp.clear
18
- return out
19
- end
20
-
21
- def process_acc2(exp)
22
- out = []
23
- out << exp.thing_one
24
- end
25
-
26
- def process_specific(exp)
27
- result = exp[1..-1]
28
- exp.clear
29
- self.expected.new(*result)
30
- end
31
-
32
- def process_strip(exp)
33
- result = exp.deep_clone
34
- exp.clear
35
- result
36
- end
37
-
38
- def process_nonempty(exp)
39
- s(*exp)
40
- end
41
-
42
- def process_broken(exp)
43
- result = [*exp]
44
- exp.clear
45
- result
46
- end
47
-
48
- def process_expected(exp)
49
- exp.clear
50
- return {}
51
- end
52
-
53
- def process_string(exp)
54
- return exp.shift
55
- end
56
-
57
- def rewrite_rewritable(exp) # (a b c) => (a c b)
58
- return s(exp.shift, exp.pop, exp.shift)
59
- end
60
-
61
- def process_rewritable(exp)
62
- return s(exp.shift, exp.shift == 2, exp.shift == 1)
63
- end
64
- end
65
-
66
- class TestProcessorDefault < SexpProcessor # ZenTest SKIP
67
- def initialize
68
- super
69
- self.default_method = :def_method
70
- end
71
-
72
- def def_method(exp)
73
- exp.clear
74
- self.expected.new(42)
75
- end
76
- end
77
-
78
- # Real test classes:
79
-
80
- class TestSexpProcessor < Test::Unit::TestCase
81
-
82
- def setup
83
- @processor = TestProcessor.new
84
- end
85
-
86
- def test_process_specific
87
- a = [:specific, 1, 2, 3]
88
- expected = a[1..-1]
89
- assert_equal(expected, @processor.process(a))
90
- end
91
-
92
- def test_process_general
93
- a = [:blah, 1, 2, 3]
94
- expected = a.deep_clone
95
- assert_equal(expected, @processor.process(a))
96
- end
97
-
98
- def test_process_default
99
- @processor = TestProcessorDefault.new
100
- @processor.warn_on_default = false
101
-
102
- a = s(:blah, 1, 2, 3)
103
- assert_equal(@processor.expected.new(42), @processor.process(a))
104
- end
105
-
106
- def test_process_not_sexp
107
- @processor = TestProcessor.new
108
- @processor.warn_on_default = false
109
-
110
- assert_raises(SexpTypeError) do
111
- @processor.process([:broken, 1, 2, 3])
112
- end
113
- end
114
-
115
- def test_process_unsupported_wrong
116
- @processor = TestProcessor.new
117
- @processor.unsupported << :strip
118
-
119
- assert_raises(UnsupportedNodeError) do
120
- @processor.process([:whatever])
121
- end
122
- end
123
-
124
- def test_unsupported_equal
125
- @processor.strict = true
126
- @processor.unsupported = [ :unsupported ]
127
- assert_raises(UnsupportedNodeError) do
128
- @processor.process([:unsupported, 42])
129
- end
130
- end
131
-
132
- def test_strict
133
- @processor.strict = true
134
- assert_raise(UnknownNodeError) do
135
- @processor.process([:blah, 1, 2, 3])
136
- end
137
- end
138
- def test_strict=; end #Handled
139
-
140
- def test_require_empty_false
141
- @processor.require_empty = false
142
-
143
- assert_nothing_raised do
144
- @processor.process([:nonempty, 1, 2, 3])
145
- end
146
- end
147
-
148
- def test_require_empty_true
149
- assert_raise(NotEmptyError) do
150
- @processor.process([:nonempty, 1, 2, 3])
151
- end
152
- end
153
- def test_require_empty=; end # handled
154
-
155
- def test_process_strip
156
- @processor.auto_shift_type = true
157
- assert_equal([1, 2, 3], @processor.process(s(:strip, 1, 2, 3)))
158
- end
159
-
160
- def test_rewrite
161
- assert_equal(s(:rewritable, :b, :a),
162
- @processor.rewrite(s(:rewritable, :a, :b)))
163
- end
164
-
165
- def test_rewrite_deep
166
- assert_equal(s(:specific, s(:rewritable, :b, :a)),
167
- @processor.rewrite(s(:specific, s(:rewritable, :a, :b))))
168
- end
169
-
170
- def test_process_rewrite
171
- assert_equal(s(:rewritable, true, true),
172
- @processor.process(s(:rewritable, 1, 2)))
173
- end
174
-
175
- def test_process_rewrite_deep
176
- assert_equal(s(s(:rewritable, :b, :a)),
177
- @processor.process(s(:specific, s(:rewritable, :a, :b))))
178
- end
179
-
180
- def test_process_rewrite_not_empty
181
- assert_raise(NotEmptyError) do
182
- @processor.process(s(:rewritable, 1, 2, 2))
183
- end
184
- end
185
-
186
- def test_assert_type_hit
187
- assert_nothing_raised do
188
- @processor.assert_type([:blah, 1, 2, 3], :blah)
189
- end
190
- end
191
-
192
- def test_assert_type_miss
193
- assert_raise(SexpTypeError) do
194
- @processor.assert_type([:thingy, 1, 2, 3], :blah)
195
- end
196
- end
197
-
198
- def test_generate
199
- # nothing to test at this time... soon.
200
- end
201
-
202
- def test_auto_shift_type
203
- @processor.auto_shift_type = false
204
- assert_equal(false, @processor.auto_shift_type)
205
- @processor.auto_shift_type = true
206
- assert_equal(true, @processor.auto_shift_type)
207
- end
208
- def test_auto_shift_type_equal; end # handled
209
-
210
- def test_default_method
211
- # default functionality tested in process_default
212
- assert_nil @processor.default_method
213
- @processor.default_method = :something
214
- assert_equal :something, @processor.default_method
215
- end
216
- def test_default_method=; end # handled
217
-
218
- def test_expected
219
- assert_equal Sexp, @processor.expected
220
- assert_raises(SexpTypeError) do
221
- @processor.process([:expected]) # should raise
222
- end
223
-
224
- @processor.process(s(:str, "string")) # shouldn't raise
225
-
226
- @processor.expected = Hash
227
- assert_equal Hash, @processor.expected
228
- assert !(Hash === s()), "Hash === s() should not be true"
229
-
230
- assert_raises(SexpTypeError) do
231
- @processor.process(s(:string, "string")) # should raise
232
- end
233
-
234
- @processor.process([:expected]) # shouldn't raise
235
- end
236
- def test_expected=; end # handled
237
-
238
- # Not Testing:
239
- def test_debug; end
240
- def test_debug=; end
241
- def test_warn_on_default; end
242
- def test_warn_on_default=; end
243
-
244
- end
@@ -1,31 +0,0 @@
1
- #!/bin/bash
2
-
3
- # set -xv
4
-
5
- trap "exit 1" 1 2 3 15
6
-
7
- DIRS="-I../../metaruby/dev/tests/builtin -I../../metaruby/dev/tests -Ilib"
8
- for d in $(ls -d ../../*/dev); do
9
- DIRS="-I$d $DIRS"
10
- done
11
-
12
- if [ -f rb.bad.txt ]; then
13
- mv rb.bad.txt rb.files.txt
14
- else
15
- find ../../*/dev /usr/local/lib/ruby/1.8/ -name \*.rb > rb.files.txt
16
- fi
17
-
18
- total_count=$(wc -l rb.files.txt | awk '{print $1}')
19
- curr_count=0
20
- for f in $(cat rb.files.txt); do
21
- curr_count=$(($curr_count + 1))
22
- if GEM_SKIP=ParseTree ruby $DIRS ./bin/parse_tree_show -q $f > /dev/null 2> rb.err.txt < /dev/null; then
23
- echo $f >> rb.good.txt
24
- status=pass
25
- else
26
- echo $f >> rb.bad.txt
27
- status=fail
28
- fi
29
- fname=`basename $f`
30
- printf "%4d/%4d: %s %s\n" $curr_count $total_count $status $fname
31
- done