jbarnette-johnson 1.0.0.200806240111
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +5 -0
- data/MANIFEST +385 -0
- data/MINGW32.mk +124 -0
- data/README.rdoc +51 -0
- data/Rakefile +166 -0
- data/bin/johnson +107 -0
- data/cross-compile.txt +38 -0
- data/ext/spidermonkey/context.c +122 -0
- data/ext/spidermonkey/context.h +19 -0
- data/ext/spidermonkey/conversions.c +286 -0
- data/ext/spidermonkey/conversions.h +18 -0
- data/ext/spidermonkey/debugger.c +208 -0
- data/ext/spidermonkey/debugger.h +9 -0
- data/ext/spidermonkey/extconf.rb +25 -0
- data/ext/spidermonkey/extensions.c +37 -0
- data/ext/spidermonkey/extensions.h +12 -0
- data/ext/spidermonkey/global.c +40 -0
- data/ext/spidermonkey/global.h +11 -0
- data/ext/spidermonkey/idhash.c +16 -0
- data/ext/spidermonkey/idhash.h +8 -0
- data/ext/spidermonkey/immutable_node.c.erb +522 -0
- data/ext/spidermonkey/immutable_node.h +22 -0
- data/ext/spidermonkey/jroot.h +187 -0
- data/ext/spidermonkey/js_land_proxy.c +609 -0
- data/ext/spidermonkey/js_land_proxy.h +20 -0
- data/ext/spidermonkey/ruby_land_proxy.c +537 -0
- data/ext/spidermonkey/ruby_land_proxy.h +17 -0
- data/ext/spidermonkey/runtime.c +304 -0
- data/ext/spidermonkey/runtime.h +25 -0
- data/ext/spidermonkey/spidermonkey.c +20 -0
- data/ext/spidermonkey/spidermonkey.h +29 -0
- data/js/johnson/browser.js +9 -0
- data/js/johnson/browser/env.js +687 -0
- data/js/johnson/browser/jquery.js +3444 -0
- data/js/johnson/browser/xmlsax.js +1564 -0
- data/js/johnson/browser/xmlw3cdom.js +4189 -0
- data/js/johnson/cli.js +30 -0
- data/js/johnson/prelude.js +80 -0
- data/js/johnson/template.js +29 -0
- data/lib/hoe.rb +748 -0
- data/lib/johnson.rb +46 -0
- data/lib/johnson/cli.rb +7 -0
- data/lib/johnson/cli/options.rb +56 -0
- data/lib/johnson/error.rb +4 -0
- data/lib/johnson/nodes.rb +7 -0
- data/lib/johnson/nodes/binary_node.rb +64 -0
- data/lib/johnson/nodes/for.rb +14 -0
- data/lib/johnson/nodes/for_in.rb +12 -0
- data/lib/johnson/nodes/function.rb +13 -0
- data/lib/johnson/nodes/list.rb +27 -0
- data/lib/johnson/nodes/node.rb +68 -0
- data/lib/johnson/nodes/ternary_node.rb +20 -0
- data/lib/johnson/parser.rb +21 -0
- data/lib/johnson/parser/syntax_error.rb +13 -0
- data/lib/johnson/runtime.rb +55 -0
- data/lib/johnson/spidermonkey/context.rb +10 -0
- data/lib/johnson/spidermonkey/debugger.rb +67 -0
- data/lib/johnson/spidermonkey/immutable_node.rb +280 -0
- data/lib/johnson/spidermonkey/js_land_proxy.rb +62 -0
- data/lib/johnson/spidermonkey/mutable_tree_visitor.rb +233 -0
- data/lib/johnson/spidermonkey/ruby_land_proxy.rb +52 -0
- data/lib/johnson/spidermonkey/runtime.rb +94 -0
- data/lib/johnson/version.rb +4 -0
- data/lib/johnson/visitable.rb +16 -0
- data/lib/johnson/visitors.rb +4 -0
- data/lib/johnson/visitors/dot_visitor.rb +167 -0
- data/lib/johnson/visitors/ecma_visitor.rb +315 -0
- data/lib/johnson/visitors/enumerating_visitor.rb +115 -0
- data/lib/johnson/visitors/sexp_visitor.rb +172 -0
- data/lib/rails/init.rb +37 -0
- data/test/assets/index.html +38 -0
- data/test/assets/jquery_test.html +186 -0
- data/test/helper.rb +58 -0
- data/test/johnson/browser_test.rb +38 -0
- data/test/johnson/conversions/array_test.rb +32 -0
- data/test/johnson/conversions/boolean_test.rb +17 -0
- data/test/johnson/conversions/callable_test.rb +34 -0
- data/test/johnson/conversions/file_test.rb +15 -0
- data/test/johnson/conversions/nil_test.rb +20 -0
- data/test/johnson/conversions/number_test.rb +34 -0
- data/test/johnson/conversions/regexp_test.rb +24 -0
- data/test/johnson/conversions/string_test.rb +26 -0
- data/test/johnson/conversions/struct_test.rb +15 -0
- data/test/johnson/conversions/symbol_test.rb +19 -0
- data/test/johnson/conversions/thread_test.rb +24 -0
- data/test/johnson/error_test.rb +9 -0
- data/test/johnson/extensions_test.rb +56 -0
- data/test/johnson/nodes/array_literal_test.rb +57 -0
- data/test/johnson/nodes/array_node_test.rb +26 -0
- data/test/johnson/nodes/binary_node_test.rb +61 -0
- data/test/johnson/nodes/bracket_access_test.rb +16 -0
- data/test/johnson/nodes/delete_test.rb +11 -0
- data/test/johnson/nodes/do_while_test.rb +12 -0
- data/test/johnson/nodes/dot_accessor_test.rb +15 -0
- data/test/johnson/nodes/export_test.rb +9 -0
- data/test/johnson/nodes/for_test.rb +54 -0
- data/test/johnson/nodes/function_test.rb +71 -0
- data/test/johnson/nodes/if_test.rb +41 -0
- data/test/johnson/nodes/import_test.rb +13 -0
- data/test/johnson/nodes/label_test.rb +19 -0
- data/test/johnson/nodes/object_literal_test.rb +110 -0
- data/test/johnson/nodes/return_test.rb +16 -0
- data/test/johnson/nodes/semi_test.rb +8 -0
- data/test/johnson/nodes/switch_test.rb +55 -0
- data/test/johnson/nodes/ternary_test.rb +25 -0
- data/test/johnson/nodes/throw_test.rb +9 -0
- data/test/johnson/nodes/try_node_test.rb +59 -0
- data/test/johnson/nodes/typeof_test.rb +11 -0
- data/test/johnson/nodes/unary_node_test.rb +23 -0
- data/test/johnson/nodes/void_test.rb +11 -0
- data/test/johnson/nodes/while_test.rb +26 -0
- data/test/johnson/nodes/with_test.rb +10 -0
- data/test/johnson/prelude_test.rb +56 -0
- data/test/johnson/runtime_test.rb +46 -0
- data/test/johnson/spidermonkey/context_test.rb +21 -0
- data/test/johnson/spidermonkey/immutable_node_test.rb +34 -0
- data/test/johnson/spidermonkey/js_land_proxy_test.rb +236 -0
- data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +225 -0
- data/test/johnson/spidermonkey/runtime_test.rb +17 -0
- data/test/johnson/version_test.rb +13 -0
- data/test/johnson/visitors/dot_visitor_test.rb +39 -0
- data/test/johnson/visitors/enumerating_visitor_test.rb +12 -0
- data/test/johnson_test.rb +16 -0
- data/test/jquery_units/test.js +27 -0
- data/test/jquery_units/test_helper.js +197 -0
- data/test/jquery_units/units/ajax.js +795 -0
- data/test/jquery_units/units/core.js +1563 -0
- data/test/jquery_units/units/event.js +299 -0
- data/test/jquery_units/units/fx.js +427 -0
- data/test/jquery_units/units/offset.js +112 -0
- data/test/jquery_units/units/selector.js +224 -0
- data/test/jspec/helper.js +7 -0
- data/test/jspec/jspec.js +192 -0
- data/test/jspec/simple_spec.js +68 -0
- data/test/parser_test.rb +276 -0
- data/todo/.keep +0 -0
- metadata +501 -0
@@ -0,0 +1,68 @@
|
|
1
|
+
Johnson.require("test/jspec/helper");
|
2
|
+
|
3
|
+
var setup = function() {
|
4
|
+
var fileLocation = "file://" + Ruby.File.expand_path(Ruby.Dir.pwd()) + "/test/assets/index.html";
|
5
|
+
window.location = fileLocation;
|
6
|
+
Johnson.waitForThreads();
|
7
|
+
}
|
8
|
+
|
9
|
+
setup();
|
10
|
+
|
11
|
+
jspec.describe("browser emulator", function() {
|
12
|
+
|
13
|
+
it("can set its location", function() {
|
14
|
+
var uriLocation = "file:" + Ruby.File.expand_path(Ruby.Dir.pwd()) + "/test/assets/index.html";
|
15
|
+
expect(window.location).to("==", uriLocation);
|
16
|
+
});
|
17
|
+
|
18
|
+
it("makes the document node a DOMDocument element", function() {
|
19
|
+
// setup();
|
20
|
+
expect(document).to("have_constructor", DOMDocument);
|
21
|
+
});
|
22
|
+
|
23
|
+
it("makes the document body a DOMNode", function() {
|
24
|
+
// setup();
|
25
|
+
expect(document.body).to("have_constructor", DOMNode);
|
26
|
+
})
|
27
|
+
|
28
|
+
it("makes childNodes a DOMNodeList", function() {
|
29
|
+
// setup();
|
30
|
+
expect(document.body.childNodes).to("have_constructor", DOMNodeList);
|
31
|
+
})
|
32
|
+
|
33
|
+
it("knows how to get an element by ID and get its correct tagName", function() {
|
34
|
+
// setup();
|
35
|
+
expect(document.getElementById('test').tagName).to("==", "HR");
|
36
|
+
})
|
37
|
+
|
38
|
+
it("sets the constructor of elements gotten via getElementsByTagName to DOMNode", function() {
|
39
|
+
// setup();
|
40
|
+
expect(document.getElementsByTagName("hr")[0]).to("have_constructor", DOMNode);
|
41
|
+
})
|
42
|
+
|
43
|
+
it("knows how to get the right tagName from elements gotten via getElementsByTagName", function() {
|
44
|
+
// setup();
|
45
|
+
expect(document.getElementsByTagName("hr")[0].tagName).to("==", "HR");
|
46
|
+
})
|
47
|
+
|
48
|
+
});
|
49
|
+
|
50
|
+
jspec.describe("jQuery Support", function() {
|
51
|
+
it("loads jQuery", function() {
|
52
|
+
Johnson.require("johnson/browser/jquery");
|
53
|
+
expect($).to("==", jQuery);
|
54
|
+
});
|
55
|
+
|
56
|
+
it("gets elements with $(tag)", function() {
|
57
|
+
expect($("hr").length).to("==", 2);
|
58
|
+
});
|
59
|
+
});
|
60
|
+
|
61
|
+
Johnson.require("johnson/browser/jquery");
|
62
|
+
jspec.describe("The jQuery file", function() {
|
63
|
+
it("loads the jQuery HTML files", function() {
|
64
|
+
window.location = "file:" + Ruby.File.expand_path(Ruby.Dir.pwd()) + "/test/assets/jquery_test.html";
|
65
|
+
Johnson.waitForThreads();
|
66
|
+
expect($("h1").length).to("==", 1);
|
67
|
+
});
|
68
|
+
});
|
data/test/parser_test.rb
ADDED
@@ -0,0 +1,276 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
|
2
|
+
|
3
|
+
require 'stringio'
|
4
|
+
class ParserTest < Test::Unit::TestCase
|
5
|
+
include Johnson::Nodes
|
6
|
+
def setup
|
7
|
+
@parser = Johnson::Parser
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_parser_init
|
11
|
+
assert @parser
|
12
|
+
tree = @parser.parse(StringIO.new(""))
|
13
|
+
assert_kind_of SourceElements, tree
|
14
|
+
assert_equal 0, tree.line
|
15
|
+
assert_equal 0, tree.column
|
16
|
+
assert_sexp([], tree)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_exception_raised
|
20
|
+
assert_raises(Johnson::Parser::SyntaxError) {
|
21
|
+
@parser.parse('if(')
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_exception_has_info
|
26
|
+
begin
|
27
|
+
@parser.parse('if(')
|
28
|
+
rescue Johnson::Parser::SyntaxError => ex
|
29
|
+
assert_equal(1, ex.line_number)
|
30
|
+
assert_equal('', ex.file_name)
|
31
|
+
assert_equal('syntax error', ex.message)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_exception_has_filename
|
36
|
+
begin
|
37
|
+
@parser.parse('if(', 'test.js')
|
38
|
+
rescue Johnson::Parser::SyntaxError => ex
|
39
|
+
assert_equal(1, ex.line_number)
|
40
|
+
assert_equal('test.js', ex.file_name)
|
41
|
+
assert_equal('syntax error', ex.message)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_exception_has_linenum
|
46
|
+
begin
|
47
|
+
@parser.parse('if(', 'test.js', 10)
|
48
|
+
rescue Johnson::Parser::SyntaxError => ex
|
49
|
+
assert_equal(10, ex.line_number)
|
50
|
+
assert_equal('test.js', ex.file_name)
|
51
|
+
assert_equal('syntax error', ex.message)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_variable_declaration_no_init
|
56
|
+
assert_sexp(
|
57
|
+
[[:var, [[:name, 'foo']]]],
|
58
|
+
@parser.parse('var foo;')
|
59
|
+
)
|
60
|
+
assert_ecma('var foo;', @parser.parse('var foo;'))
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_new_foo
|
64
|
+
assert_sexp([[:var, [[:assign, [:name, "a"], [:new, [[:name, "foo"]]]]]]],
|
65
|
+
@parser.parse('var a = new foo;'))
|
66
|
+
assert_sexp([[:new, [[:name, "foo"]]]],
|
67
|
+
@parser.parse('new foo;'))
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_function_call
|
71
|
+
assert_sexp([[:bracket_access,
|
72
|
+
[:function_call, [[:name, "bar"]]],
|
73
|
+
[:lit, 1]]],
|
74
|
+
@parser.parse('bar()[1];'))
|
75
|
+
assert_ecma('bar()[1];', @parser.parse('bar()[1]'))
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_postfix_inc
|
79
|
+
assert_sexp([[:postfix_inc, [:name, "x"]]],
|
80
|
+
@parser.parse('x++;'))
|
81
|
+
assert_ecma('x++;', @parser.parse('x++;'))
|
82
|
+
assert_sexp([[:postfix_inc, [:dot_accessor, [:name, "x"], [:name, "foo"]]]],
|
83
|
+
@parser.parse('foo.x++;'))
|
84
|
+
assert_ecma('foo.x++;', @parser.parse('foo.x++;'))
|
85
|
+
assert_sexp([[:postfix_inc, [:bracket_access, [:name, "x"], [:lit, 1]]]],
|
86
|
+
@parser.parse('x[1]++;'))
|
87
|
+
assert_ecma('x[1]++;', @parser.parse('x[1]++;'))
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_prefix_inc
|
91
|
+
assert_sexp([[:prefix_inc, [:name, "x"]]],
|
92
|
+
@parser.parse('++x;'))
|
93
|
+
assert_ecma('++x;', @parser.parse('++x;'))
|
94
|
+
assert_sexp([[:prefix_inc, [:dot_accessor, [:name, "x"], [:name, "foo"]]]],
|
95
|
+
@parser.parse('++foo.x;'))
|
96
|
+
assert_ecma('++foo.x;', @parser.parse('++foo.x;'))
|
97
|
+
assert_sexp([[:prefix_inc, [:bracket_access, [:name, "x"], [:lit, 1]]]],
|
98
|
+
@parser.parse('++x[1];'))
|
99
|
+
assert_ecma('++x[1];', @parser.parse('++x[1];'))
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_postfix_dec
|
103
|
+
assert_sexp([[:postfix_dec, [:name, "x"]]],
|
104
|
+
@parser.parse('x--;'))
|
105
|
+
assert_ecma('x--;', @parser.parse('x--;'))
|
106
|
+
assert_sexp([[:postfix_dec, [:dot_accessor, [:name, "x"], [:name, "foo"]]]],
|
107
|
+
@parser.parse('foo.x--;'))
|
108
|
+
assert_ecma('foo.x--;', @parser.parse('foo.x--;'))
|
109
|
+
assert_sexp([[:postfix_dec, [:bracket_access, [:name, "x"], [:lit, 1]]]],
|
110
|
+
@parser.parse('x[1]--;'))
|
111
|
+
assert_ecma('x[1]--;', @parser.parse('x[1]--;'))
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_prefix_dec
|
115
|
+
assert_sexp([[:prefix_dec, [:name, "x"]]],
|
116
|
+
@parser.parse('--x;'))
|
117
|
+
assert_ecma('--x;', @parser.parse('--x;'))
|
118
|
+
assert_sexp([[:prefix_dec, [:dot_accessor, [:name, "x"], [:name, "foo"]]]],
|
119
|
+
@parser.parse('--foo.x;'))
|
120
|
+
assert_ecma('--foo.x;', @parser.parse('--foo.x;'))
|
121
|
+
assert_sexp([[:prefix_dec, [:bracket_access, [:name, "x"], [:lit, 1]]]],
|
122
|
+
@parser.parse('--x[1];'))
|
123
|
+
assert_ecma('--x[1];', @parser.parse('--x[1];'))
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_expr_comma
|
127
|
+
assert_sexp([[:comma,
|
128
|
+
[[:op_equal, [:name, 'i'], [:lit, 10]],
|
129
|
+
[:op_equal, [:name, 'j'], [:lit, 11]]]]],
|
130
|
+
@parser.parse('i = 10, j = 11;')
|
131
|
+
)
|
132
|
+
assert_ecma('i = 10, j = 11;', @parser.parse('i = 10, j = 11'))
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_primary_expr_paren
|
136
|
+
assert_sexp(
|
137
|
+
[[:var,
|
138
|
+
[[:assign, [:name, "a"], [:paren, [:lit, 10]]]]
|
139
|
+
]],
|
140
|
+
@parser.parse('var a = (10);'))
|
141
|
+
assert_ecma('var a = (10);', @parser.parse('var a = (10);'))
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_parser_var_ints
|
145
|
+
assert @parser
|
146
|
+
tree = @parser.parse(StringIO.new("var foo = 10, bar = 1;"))
|
147
|
+
assert_kind_of SourceElements, tree
|
148
|
+
assert_kind_of VarStatement, tree.value.first
|
149
|
+
assert_sexp(
|
150
|
+
[[:var,
|
151
|
+
[
|
152
|
+
[:assign, [:name, "foo"], [:lit, 10]],
|
153
|
+
[:assign, [:name, "bar"], [:lit, 1]],
|
154
|
+
]]],
|
155
|
+
tree
|
156
|
+
)
|
157
|
+
assert_ecma('var foo = 10, bar = 1;',
|
158
|
+
@parser.parse('var foo = 10, bar = 1'))
|
159
|
+
end
|
160
|
+
|
161
|
+
def test_parser_var_string_lit
|
162
|
+
assert @parser
|
163
|
+
tree = @parser.parse(StringIO.new("var foo = 'hello world';"))
|
164
|
+
assert_sexp(
|
165
|
+
[[:var,
|
166
|
+
[
|
167
|
+
[:assign, [:name, "foo"], [:str, 'hello world']],
|
168
|
+
]]],
|
169
|
+
tree
|
170
|
+
)
|
171
|
+
assert_ecma('var foo = "hello world";',
|
172
|
+
@parser.parse('var foo = "hello world"'))
|
173
|
+
end
|
174
|
+
|
175
|
+
def test_accessor_as_square_brace
|
176
|
+
assert_ecma("foo['hello-world'];",
|
177
|
+
@parser.parse("foo['hello-world']"))
|
178
|
+
end
|
179
|
+
|
180
|
+
def test_paren_around_function
|
181
|
+
assert_ecma("(function() { }).foo();",
|
182
|
+
@parser.parse('(function() { }).foo()'))
|
183
|
+
assert_ecma("(function() { })();",
|
184
|
+
@parser.parse('(function() { })()'))
|
185
|
+
end
|
186
|
+
|
187
|
+
def test_parser_var_nil_lit
|
188
|
+
assert @parser
|
189
|
+
tree = @parser.parse(StringIO.new("var foo = null;"))
|
190
|
+
assert_sexp(
|
191
|
+
[[:var,
|
192
|
+
[
|
193
|
+
[:assign, [:name, "foo"], [:nil]],
|
194
|
+
]]],
|
195
|
+
tree
|
196
|
+
)
|
197
|
+
assert_ecma('var foo = null;', @parser.parse('var foo = null'))
|
198
|
+
end
|
199
|
+
|
200
|
+
def test_parser_var_true_lit
|
201
|
+
assert @parser
|
202
|
+
tree = @parser.parse(StringIO.new("var foo = true;"))
|
203
|
+
assert_sexp(
|
204
|
+
[[:var,
|
205
|
+
[
|
206
|
+
[:assign, [:name, "foo"], [:true]],
|
207
|
+
]]],
|
208
|
+
tree
|
209
|
+
)
|
210
|
+
assert_ecma('var foo = true;', @parser.parse('var foo = true'))
|
211
|
+
end
|
212
|
+
|
213
|
+
def test_parser_var_false_lit
|
214
|
+
assert @parser
|
215
|
+
tree = @parser.parse(StringIO.new("var foo = false;"))
|
216
|
+
assert_sexp(
|
217
|
+
[[:var,
|
218
|
+
[
|
219
|
+
[:assign, [:name, "foo"], [:false]],
|
220
|
+
]]],
|
221
|
+
tree
|
222
|
+
)
|
223
|
+
assert_ecma('var foo = false;', @parser.parse('var foo = false'))
|
224
|
+
end
|
225
|
+
|
226
|
+
def test_parser_var_this_lit
|
227
|
+
assert @parser
|
228
|
+
tree = @parser.parse(StringIO.new("var foo = this;"))
|
229
|
+
assert_sexp(
|
230
|
+
[[:var,
|
231
|
+
[
|
232
|
+
[:assign, [:name, "foo"], [:this]],
|
233
|
+
]]],
|
234
|
+
tree
|
235
|
+
)
|
236
|
+
assert_ecma('var foo = this;', @parser.parse('var foo = this'))
|
237
|
+
end
|
238
|
+
|
239
|
+
def test_parser_var_regex_lit
|
240
|
+
assert @parser
|
241
|
+
tree = @parser.parse(StringIO.new("var foo = /abc/;"))
|
242
|
+
assert_sexp(
|
243
|
+
[[:var,
|
244
|
+
[
|
245
|
+
[:assign, [:name, "foo"], [:lit, "/abc/"]],
|
246
|
+
]]],
|
247
|
+
tree
|
248
|
+
)
|
249
|
+
assert_ecma('var foo = /abc/;', @parser.parse('var foo = /abc/'))
|
250
|
+
end
|
251
|
+
|
252
|
+
def test_parser_var_float
|
253
|
+
assert @parser
|
254
|
+
tree = @parser.parse(StringIO.new("var foo = 10, bar = 1.1;"))
|
255
|
+
assert_kind_of SourceElements, tree
|
256
|
+
assert_kind_of VarStatement, tree.value.first
|
257
|
+
assert_sexp(
|
258
|
+
[[:var,
|
259
|
+
[
|
260
|
+
[:assign, [:name, "foo"], [:lit, 10]],
|
261
|
+
[:assign, [:name, "bar"], [:lit, 1.1]],
|
262
|
+
]]],
|
263
|
+
tree
|
264
|
+
)
|
265
|
+
assert_ecma('var foo = 10, bar = 1.1;',
|
266
|
+
@parser.parse('var foo = 10, bar = 1.1'))
|
267
|
+
end
|
268
|
+
|
269
|
+
def assert_sexp(expected, node)
|
270
|
+
assert_equal(expected, node.to_sexp)
|
271
|
+
end
|
272
|
+
|
273
|
+
def assert_ecma(expected, node)
|
274
|
+
assert_equal(expected, node.to_ecma)
|
275
|
+
end
|
276
|
+
end
|
data/todo/.keep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,501 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jbarnette-johnson
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.200806240111
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- John Barnette
|
8
|
+
- Aaron Patterson
|
9
|
+
- Yehuda Katz
|
10
|
+
- Matthew Draper
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
|
15
|
+
date: 2008-06-24 00:00:00 -07:00
|
16
|
+
default_executable: johnson
|
17
|
+
dependencies:
|
18
|
+
- !ruby/object:Gem::Dependency
|
19
|
+
name: rake
|
20
|
+
version_requirement:
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: "0"
|
26
|
+
version:
|
27
|
+
description: Johnson wraps JavaScript in a loving Ruby embrace.
|
28
|
+
email: johnson-talk@googlegroups.com
|
29
|
+
executables:
|
30
|
+
- johnson
|
31
|
+
extensions:
|
32
|
+
- Rakefile
|
33
|
+
extra_rdoc_files:
|
34
|
+
- README.rdoc
|
35
|
+
- cross-compile.txt
|
36
|
+
files:
|
37
|
+
- CHANGELOG
|
38
|
+
- MANIFEST
|
39
|
+
- MINGW32.mk
|
40
|
+
- README.rdoc
|
41
|
+
- Rakefile
|
42
|
+
- bin/johnson
|
43
|
+
- cross-compile.txt
|
44
|
+
- ext/spidermonkey/context.c
|
45
|
+
- ext/spidermonkey/context.h
|
46
|
+
- ext/spidermonkey/conversions.c
|
47
|
+
- ext/spidermonkey/conversions.h
|
48
|
+
- ext/spidermonkey/debugger.c
|
49
|
+
- ext/spidermonkey/debugger.h
|
50
|
+
- ext/spidermonkey/extconf.rb
|
51
|
+
- ext/spidermonkey/extensions.c
|
52
|
+
- ext/spidermonkey/extensions.h
|
53
|
+
- ext/spidermonkey/global.c
|
54
|
+
- ext/spidermonkey/global.h
|
55
|
+
- ext/spidermonkey/idhash.c
|
56
|
+
- ext/spidermonkey/idhash.h
|
57
|
+
- ext/spidermonkey/immutable_node.c
|
58
|
+
- ext/spidermonkey/immutable_node.c.erb
|
59
|
+
- ext/spidermonkey/immutable_node.h
|
60
|
+
- ext/spidermonkey/jroot.h
|
61
|
+
- ext/spidermonkey/js_land_proxy.c
|
62
|
+
- ext/spidermonkey/js_land_proxy.h
|
63
|
+
- ext/spidermonkey/ruby_land_proxy.c
|
64
|
+
- ext/spidermonkey/ruby_land_proxy.h
|
65
|
+
- ext/spidermonkey/runtime.c
|
66
|
+
- ext/spidermonkey/runtime.h
|
67
|
+
- ext/spidermonkey/spidermonkey.c
|
68
|
+
- ext/spidermonkey/spidermonkey.h
|
69
|
+
- js/johnson/browser.js
|
70
|
+
- js/johnson/browser/env.js
|
71
|
+
- js/johnson/browser/jquery.js
|
72
|
+
- js/johnson/browser/xmlsax.js
|
73
|
+
- js/johnson/browser/xmlw3cdom.js
|
74
|
+
- js/johnson/cli.js
|
75
|
+
- js/johnson/prelude.js
|
76
|
+
- js/johnson/template.js
|
77
|
+
- lib/hoe.rb
|
78
|
+
- lib/johnson.rb
|
79
|
+
- lib/johnson/cli.rb
|
80
|
+
- lib/johnson/cli/options.rb
|
81
|
+
- lib/johnson/error.rb
|
82
|
+
- lib/johnson/nodes.rb
|
83
|
+
- lib/johnson/nodes/binary_node.rb
|
84
|
+
- lib/johnson/nodes/for.rb
|
85
|
+
- lib/johnson/nodes/for_in.rb
|
86
|
+
- lib/johnson/nodes/function.rb
|
87
|
+
- lib/johnson/nodes/list.rb
|
88
|
+
- lib/johnson/nodes/node.rb
|
89
|
+
- lib/johnson/nodes/ternary_node.rb
|
90
|
+
- lib/johnson/parser.rb
|
91
|
+
- lib/johnson/parser/syntax_error.rb
|
92
|
+
- lib/johnson/runtime.rb
|
93
|
+
- lib/johnson/spidermonkey/context.rb
|
94
|
+
- lib/johnson/spidermonkey/debugger.rb
|
95
|
+
- lib/johnson/spidermonkey/immutable_node.rb
|
96
|
+
- lib/johnson/spidermonkey/js_land_proxy.rb
|
97
|
+
- lib/johnson/spidermonkey/mutable_tree_visitor.rb
|
98
|
+
- lib/johnson/spidermonkey/ruby_land_proxy.rb
|
99
|
+
- lib/johnson/spidermonkey/runtime.rb
|
100
|
+
- lib/johnson/version.rb
|
101
|
+
- lib/johnson/visitable.rb
|
102
|
+
- lib/johnson/visitors.rb
|
103
|
+
- lib/johnson/visitors/dot_visitor.rb
|
104
|
+
- lib/johnson/visitors/ecma_visitor.rb
|
105
|
+
- lib/johnson/visitors/enumerating_visitor.rb
|
106
|
+
- lib/johnson/visitors/sexp_visitor.rb
|
107
|
+
- lib/rails/init.rb
|
108
|
+
- test/assets/index.html
|
109
|
+
- test/assets/jquery_test.html
|
110
|
+
- test/helper.rb
|
111
|
+
- test/johnson/browser_test.rb
|
112
|
+
- test/johnson/conversions/array_test.rb
|
113
|
+
- test/johnson/conversions/boolean_test.rb
|
114
|
+
- test/johnson/conversions/callable_test.rb
|
115
|
+
- test/johnson/conversions/file_test.rb
|
116
|
+
- test/johnson/conversions/nil_test.rb
|
117
|
+
- test/johnson/conversions/number_test.rb
|
118
|
+
- test/johnson/conversions/regexp_test.rb
|
119
|
+
- test/johnson/conversions/string_test.rb
|
120
|
+
- test/johnson/conversions/struct_test.rb
|
121
|
+
- test/johnson/conversions/symbol_test.rb
|
122
|
+
- test/johnson/conversions/thread_test.rb
|
123
|
+
- test/johnson/error_test.rb
|
124
|
+
- test/johnson/extensions_test.rb
|
125
|
+
- test/johnson/nodes/array_literal_test.rb
|
126
|
+
- test/johnson/nodes/array_node_test.rb
|
127
|
+
- test/johnson/nodes/binary_node_test.rb
|
128
|
+
- test/johnson/nodes/bracket_access_test.rb
|
129
|
+
- test/johnson/nodes/delete_test.rb
|
130
|
+
- test/johnson/nodes/do_while_test.rb
|
131
|
+
- test/johnson/nodes/dot_accessor_test.rb
|
132
|
+
- test/johnson/nodes/export_test.rb
|
133
|
+
- test/johnson/nodes/for_test.rb
|
134
|
+
- test/johnson/nodes/function_test.rb
|
135
|
+
- test/johnson/nodes/if_test.rb
|
136
|
+
- test/johnson/nodes/import_test.rb
|
137
|
+
- test/johnson/nodes/label_test.rb
|
138
|
+
- test/johnson/nodes/object_literal_test.rb
|
139
|
+
- test/johnson/nodes/return_test.rb
|
140
|
+
- test/johnson/nodes/semi_test.rb
|
141
|
+
- test/johnson/nodes/switch_test.rb
|
142
|
+
- test/johnson/nodes/ternary_test.rb
|
143
|
+
- test/johnson/nodes/throw_test.rb
|
144
|
+
- test/johnson/nodes/try_node_test.rb
|
145
|
+
- test/johnson/nodes/typeof_test.rb
|
146
|
+
- test/johnson/nodes/unary_node_test.rb
|
147
|
+
- test/johnson/nodes/void_test.rb
|
148
|
+
- test/johnson/nodes/while_test.rb
|
149
|
+
- test/johnson/nodes/with_test.rb
|
150
|
+
- test/johnson/prelude_test.rb
|
151
|
+
- test/johnson/runtime_test.rb
|
152
|
+
- test/johnson/spidermonkey/context_test.rb
|
153
|
+
- test/johnson/spidermonkey/immutable_node_test.rb
|
154
|
+
- test/johnson/spidermonkey/js_land_proxy_test.rb
|
155
|
+
- test/johnson/spidermonkey/ruby_land_proxy_test.rb
|
156
|
+
- test/johnson/spidermonkey/runtime_test.rb
|
157
|
+
- test/johnson/version_test.rb
|
158
|
+
- test/johnson/visitors/dot_visitor_test.rb
|
159
|
+
- test/johnson/visitors/enumerating_visitor_test.rb
|
160
|
+
- test/johnson_test.rb
|
161
|
+
- test/jquery_units/test.js
|
162
|
+
- test/jquery_units/test_helper.js
|
163
|
+
- test/jquery_units/units/ajax.js
|
164
|
+
- test/jquery_units/units/core.js
|
165
|
+
- test/jquery_units/units/event.js
|
166
|
+
- test/jquery_units/units/fx.js
|
167
|
+
- test/jquery_units/units/offset.js
|
168
|
+
- test/jquery_units/units/selector.js
|
169
|
+
- test/jspec/helper.js
|
170
|
+
- test/jspec/jspec.js
|
171
|
+
- test/jspec/simple_spec.js
|
172
|
+
- test/parser_test.rb
|
173
|
+
- todo/.keep
|
174
|
+
- vendor/spidermonkey/.cvsignore
|
175
|
+
- vendor/spidermonkey/Makefile.in
|
176
|
+
- vendor/spidermonkey/Makefile.ref
|
177
|
+
- vendor/spidermonkey/README.html
|
178
|
+
- vendor/spidermonkey/SpiderMonkey.rsp
|
179
|
+
- vendor/spidermonkey/Y.js
|
180
|
+
- vendor/spidermonkey/build.mk
|
181
|
+
- vendor/spidermonkey/config.mk
|
182
|
+
- vendor/spidermonkey/config/AIX4.1.mk
|
183
|
+
- vendor/spidermonkey/config/AIX4.2.mk
|
184
|
+
- vendor/spidermonkey/config/AIX4.3.mk
|
185
|
+
- vendor/spidermonkey/config/Darwin.mk
|
186
|
+
- vendor/spidermonkey/config/Darwin1.3.mk
|
187
|
+
- vendor/spidermonkey/config/Darwin1.4.mk
|
188
|
+
- vendor/spidermonkey/config/Darwin5.2.mk
|
189
|
+
- vendor/spidermonkey/config/Darwin5.3.mk
|
190
|
+
- vendor/spidermonkey/config/HP-UXB.10.10.mk
|
191
|
+
- vendor/spidermonkey/config/HP-UXB.10.20.mk
|
192
|
+
- vendor/spidermonkey/config/HP-UXB.11.00.mk
|
193
|
+
- vendor/spidermonkey/config/IRIX.mk
|
194
|
+
- vendor/spidermonkey/config/IRIX5.3.mk
|
195
|
+
- vendor/spidermonkey/config/IRIX6.1.mk
|
196
|
+
- vendor/spidermonkey/config/IRIX6.2.mk
|
197
|
+
- vendor/spidermonkey/config/IRIX6.3.mk
|
198
|
+
- vendor/spidermonkey/config/IRIX6.5.mk
|
199
|
+
- vendor/spidermonkey/config/Linux_All.mk
|
200
|
+
- vendor/spidermonkey/config/Mac_OS10.0.mk
|
201
|
+
- vendor/spidermonkey/config/OSF1V4.0.mk
|
202
|
+
- vendor/spidermonkey/config/OSF1V5.0.mk
|
203
|
+
- vendor/spidermonkey/config/SunOS4.1.4.mk
|
204
|
+
- vendor/spidermonkey/config/SunOS5.10.mk
|
205
|
+
- vendor/spidermonkey/config/SunOS5.3.mk
|
206
|
+
- vendor/spidermonkey/config/SunOS5.4.mk
|
207
|
+
- vendor/spidermonkey/config/SunOS5.5.1.mk
|
208
|
+
- vendor/spidermonkey/config/SunOS5.5.mk
|
209
|
+
- vendor/spidermonkey/config/SunOS5.6.mk
|
210
|
+
- vendor/spidermonkey/config/SunOS5.7.mk
|
211
|
+
- vendor/spidermonkey/config/SunOS5.8.mk
|
212
|
+
- vendor/spidermonkey/config/SunOS5.9.mk
|
213
|
+
- vendor/spidermonkey/config/WINNT4.0.mk
|
214
|
+
- vendor/spidermonkey/config/WINNT5.0.mk
|
215
|
+
- vendor/spidermonkey/config/WINNT5.1.mk
|
216
|
+
- vendor/spidermonkey/config/WINNT5.2.mk
|
217
|
+
- vendor/spidermonkey/config/WINNT6.0.mk
|
218
|
+
- vendor/spidermonkey/config/dgux.mk
|
219
|
+
- vendor/spidermonkey/editline/Makefile.ref
|
220
|
+
- vendor/spidermonkey/editline/README
|
221
|
+
- vendor/spidermonkey/editline/editline.3
|
222
|
+
- vendor/spidermonkey/editline/editline.c
|
223
|
+
- vendor/spidermonkey/editline/editline.h
|
224
|
+
- vendor/spidermonkey/editline/sysunix.c
|
225
|
+
- vendor/spidermonkey/editline/unix.h
|
226
|
+
- vendor/spidermonkey/fdlibm/.cvsignore
|
227
|
+
- vendor/spidermonkey/fdlibm/Makefile.in
|
228
|
+
- vendor/spidermonkey/fdlibm/Makefile.ref
|
229
|
+
- vendor/spidermonkey/fdlibm/e_acos.c
|
230
|
+
- vendor/spidermonkey/fdlibm/e_acosh.c
|
231
|
+
- vendor/spidermonkey/fdlibm/e_asin.c
|
232
|
+
- vendor/spidermonkey/fdlibm/e_atan2.c
|
233
|
+
- vendor/spidermonkey/fdlibm/e_atanh.c
|
234
|
+
- vendor/spidermonkey/fdlibm/e_cosh.c
|
235
|
+
- vendor/spidermonkey/fdlibm/e_exp.c
|
236
|
+
- vendor/spidermonkey/fdlibm/e_fmod.c
|
237
|
+
- vendor/spidermonkey/fdlibm/e_gamma.c
|
238
|
+
- vendor/spidermonkey/fdlibm/e_gamma_r.c
|
239
|
+
- vendor/spidermonkey/fdlibm/e_hypot.c
|
240
|
+
- vendor/spidermonkey/fdlibm/e_j0.c
|
241
|
+
- vendor/spidermonkey/fdlibm/e_j1.c
|
242
|
+
- vendor/spidermonkey/fdlibm/e_jn.c
|
243
|
+
- vendor/spidermonkey/fdlibm/e_lgamma.c
|
244
|
+
- vendor/spidermonkey/fdlibm/e_lgamma_r.c
|
245
|
+
- vendor/spidermonkey/fdlibm/e_log.c
|
246
|
+
- vendor/spidermonkey/fdlibm/e_log10.c
|
247
|
+
- vendor/spidermonkey/fdlibm/e_pow.c
|
248
|
+
- vendor/spidermonkey/fdlibm/e_rem_pio2.c
|
249
|
+
- vendor/spidermonkey/fdlibm/e_remainder.c
|
250
|
+
- vendor/spidermonkey/fdlibm/e_scalb.c
|
251
|
+
- vendor/spidermonkey/fdlibm/e_sinh.c
|
252
|
+
- vendor/spidermonkey/fdlibm/e_sqrt.c
|
253
|
+
- vendor/spidermonkey/fdlibm/fdlibm.h
|
254
|
+
- vendor/spidermonkey/fdlibm/fdlibm.mak
|
255
|
+
- vendor/spidermonkey/fdlibm/fdlibm.mdp
|
256
|
+
- vendor/spidermonkey/fdlibm/k_cos.c
|
257
|
+
- vendor/spidermonkey/fdlibm/k_rem_pio2.c
|
258
|
+
- vendor/spidermonkey/fdlibm/k_sin.c
|
259
|
+
- vendor/spidermonkey/fdlibm/k_standard.c
|
260
|
+
- vendor/spidermonkey/fdlibm/k_tan.c
|
261
|
+
- vendor/spidermonkey/fdlibm/s_asinh.c
|
262
|
+
- vendor/spidermonkey/fdlibm/s_atan.c
|
263
|
+
- vendor/spidermonkey/fdlibm/s_cbrt.c
|
264
|
+
- vendor/spidermonkey/fdlibm/s_ceil.c
|
265
|
+
- vendor/spidermonkey/fdlibm/s_copysign.c
|
266
|
+
- vendor/spidermonkey/fdlibm/s_cos.c
|
267
|
+
- vendor/spidermonkey/fdlibm/s_erf.c
|
268
|
+
- vendor/spidermonkey/fdlibm/s_expm1.c
|
269
|
+
- vendor/spidermonkey/fdlibm/s_fabs.c
|
270
|
+
- vendor/spidermonkey/fdlibm/s_finite.c
|
271
|
+
- vendor/spidermonkey/fdlibm/s_floor.c
|
272
|
+
- vendor/spidermonkey/fdlibm/s_frexp.c
|
273
|
+
- vendor/spidermonkey/fdlibm/s_ilogb.c
|
274
|
+
- vendor/spidermonkey/fdlibm/s_isnan.c
|
275
|
+
- vendor/spidermonkey/fdlibm/s_ldexp.c
|
276
|
+
- vendor/spidermonkey/fdlibm/s_lib_version.c
|
277
|
+
- vendor/spidermonkey/fdlibm/s_log1p.c
|
278
|
+
- vendor/spidermonkey/fdlibm/s_logb.c
|
279
|
+
- vendor/spidermonkey/fdlibm/s_matherr.c
|
280
|
+
- vendor/spidermonkey/fdlibm/s_modf.c
|
281
|
+
- vendor/spidermonkey/fdlibm/s_nextafter.c
|
282
|
+
- vendor/spidermonkey/fdlibm/s_rint.c
|
283
|
+
- vendor/spidermonkey/fdlibm/s_scalbn.c
|
284
|
+
- vendor/spidermonkey/fdlibm/s_signgam.c
|
285
|
+
- vendor/spidermonkey/fdlibm/s_significand.c
|
286
|
+
- vendor/spidermonkey/fdlibm/s_sin.c
|
287
|
+
- vendor/spidermonkey/fdlibm/s_tan.c
|
288
|
+
- vendor/spidermonkey/fdlibm/s_tanh.c
|
289
|
+
- vendor/spidermonkey/fdlibm/w_acos.c
|
290
|
+
- vendor/spidermonkey/fdlibm/w_acosh.c
|
291
|
+
- vendor/spidermonkey/fdlibm/w_asin.c
|
292
|
+
- vendor/spidermonkey/fdlibm/w_atan2.c
|
293
|
+
- vendor/spidermonkey/fdlibm/w_atanh.c
|
294
|
+
- vendor/spidermonkey/fdlibm/w_cosh.c
|
295
|
+
- vendor/spidermonkey/fdlibm/w_exp.c
|
296
|
+
- vendor/spidermonkey/fdlibm/w_fmod.c
|
297
|
+
- vendor/spidermonkey/fdlibm/w_gamma.c
|
298
|
+
- vendor/spidermonkey/fdlibm/w_gamma_r.c
|
299
|
+
- vendor/spidermonkey/fdlibm/w_hypot.c
|
300
|
+
- vendor/spidermonkey/fdlibm/w_j0.c
|
301
|
+
- vendor/spidermonkey/fdlibm/w_j1.c
|
302
|
+
- vendor/spidermonkey/fdlibm/w_jn.c
|
303
|
+
- vendor/spidermonkey/fdlibm/w_lgamma.c
|
304
|
+
- vendor/spidermonkey/fdlibm/w_lgamma_r.c
|
305
|
+
- vendor/spidermonkey/fdlibm/w_log.c
|
306
|
+
- vendor/spidermonkey/fdlibm/w_log10.c
|
307
|
+
- vendor/spidermonkey/fdlibm/w_pow.c
|
308
|
+
- vendor/spidermonkey/fdlibm/w_remainder.c
|
309
|
+
- vendor/spidermonkey/fdlibm/w_scalb.c
|
310
|
+
- vendor/spidermonkey/fdlibm/w_sinh.c
|
311
|
+
- vendor/spidermonkey/fdlibm/w_sqrt.c
|
312
|
+
- vendor/spidermonkey/javascript-trace.d
|
313
|
+
- vendor/spidermonkey/js.c
|
314
|
+
- vendor/spidermonkey/js.mak
|
315
|
+
- vendor/spidermonkey/js.mdp
|
316
|
+
- vendor/spidermonkey/js.msg
|
317
|
+
- vendor/spidermonkey/js.pkg
|
318
|
+
- vendor/spidermonkey/js3240.rc
|
319
|
+
- vendor/spidermonkey/jsOS240.def
|
320
|
+
- vendor/spidermonkey/jsapi.c
|
321
|
+
- vendor/spidermonkey/jsapi.h
|
322
|
+
- vendor/spidermonkey/jsarena.c
|
323
|
+
- vendor/spidermonkey/jsarena.h
|
324
|
+
- vendor/spidermonkey/jsarray.c
|
325
|
+
- vendor/spidermonkey/jsarray.h
|
326
|
+
- vendor/spidermonkey/jsatom.c
|
327
|
+
- vendor/spidermonkey/jsatom.h
|
328
|
+
- vendor/spidermonkey/jsbit.h
|
329
|
+
- vendor/spidermonkey/jsbool.c
|
330
|
+
- vendor/spidermonkey/jsbool.h
|
331
|
+
- vendor/spidermonkey/jsclist.h
|
332
|
+
- vendor/spidermonkey/jscntxt.c
|
333
|
+
- vendor/spidermonkey/jscntxt.h
|
334
|
+
- vendor/spidermonkey/jscompat.h
|
335
|
+
- vendor/spidermonkey/jsconfig.h
|
336
|
+
- vendor/spidermonkey/jsconfig.mk
|
337
|
+
- vendor/spidermonkey/jscpucfg.c
|
338
|
+
- vendor/spidermonkey/jscpucfg.h
|
339
|
+
- vendor/spidermonkey/jsdate.c
|
340
|
+
- vendor/spidermonkey/jsdate.h
|
341
|
+
- vendor/spidermonkey/jsdbgapi.c
|
342
|
+
- vendor/spidermonkey/jsdbgapi.h
|
343
|
+
- vendor/spidermonkey/jsdhash.c
|
344
|
+
- vendor/spidermonkey/jsdhash.h
|
345
|
+
- vendor/spidermonkey/jsdtoa.c
|
346
|
+
- vendor/spidermonkey/jsdtoa.h
|
347
|
+
- vendor/spidermonkey/jsdtracef.c
|
348
|
+
- vendor/spidermonkey/jsdtracef.h
|
349
|
+
- vendor/spidermonkey/jsemit.c
|
350
|
+
- vendor/spidermonkey/jsemit.h
|
351
|
+
- vendor/spidermonkey/jsexn.c
|
352
|
+
- vendor/spidermonkey/jsexn.h
|
353
|
+
- vendor/spidermonkey/jsfile.c
|
354
|
+
- vendor/spidermonkey/jsfile.h
|
355
|
+
- vendor/spidermonkey/jsfile.msg
|
356
|
+
- vendor/spidermonkey/jsfun.c
|
357
|
+
- vendor/spidermonkey/jsfun.h
|
358
|
+
- vendor/spidermonkey/jsgc.c
|
359
|
+
- vendor/spidermonkey/jsgc.h
|
360
|
+
- vendor/spidermonkey/jshash.c
|
361
|
+
- vendor/spidermonkey/jshash.h
|
362
|
+
- vendor/spidermonkey/jsify.pl
|
363
|
+
- vendor/spidermonkey/jsinterp.c
|
364
|
+
- vendor/spidermonkey/jsinterp.h
|
365
|
+
- vendor/spidermonkey/jsinvoke.c
|
366
|
+
- vendor/spidermonkey/jsiter.c
|
367
|
+
- vendor/spidermonkey/jsiter.h
|
368
|
+
- vendor/spidermonkey/jskeyword.tbl
|
369
|
+
- vendor/spidermonkey/jskwgen.c
|
370
|
+
- vendor/spidermonkey/jslibmath.h
|
371
|
+
- vendor/spidermonkey/jslock.c
|
372
|
+
- vendor/spidermonkey/jslock.h
|
373
|
+
- vendor/spidermonkey/jslocko.asm
|
374
|
+
- vendor/spidermonkey/jslog2.c
|
375
|
+
- vendor/spidermonkey/jslong.c
|
376
|
+
- vendor/spidermonkey/jslong.h
|
377
|
+
- vendor/spidermonkey/jsmath.c
|
378
|
+
- vendor/spidermonkey/jsmath.h
|
379
|
+
- vendor/spidermonkey/jsnum.c
|
380
|
+
- vendor/spidermonkey/jsnum.h
|
381
|
+
- vendor/spidermonkey/jsobj.c
|
382
|
+
- vendor/spidermonkey/jsobj.h
|
383
|
+
- vendor/spidermonkey/jsopcode.c
|
384
|
+
- vendor/spidermonkey/jsopcode.h
|
385
|
+
- vendor/spidermonkey/jsopcode.tbl
|
386
|
+
- vendor/spidermonkey/jsotypes.h
|
387
|
+
- vendor/spidermonkey/jsparse.c
|
388
|
+
- vendor/spidermonkey/jsparse.h
|
389
|
+
- vendor/spidermonkey/jsprf.c
|
390
|
+
- vendor/spidermonkey/jsprf.h
|
391
|
+
- vendor/spidermonkey/jsproto.tbl
|
392
|
+
- vendor/spidermonkey/jsprvtd.h
|
393
|
+
- vendor/spidermonkey/jspubtd.h
|
394
|
+
- vendor/spidermonkey/jsregexp.c
|
395
|
+
- vendor/spidermonkey/jsregexp.h
|
396
|
+
- vendor/spidermonkey/jsreops.tbl
|
397
|
+
- vendor/spidermonkey/jsscan.c
|
398
|
+
- vendor/spidermonkey/jsscan.h
|
399
|
+
- vendor/spidermonkey/jsscope.c
|
400
|
+
- vendor/spidermonkey/jsscope.h
|
401
|
+
- vendor/spidermonkey/jsscript.c
|
402
|
+
- vendor/spidermonkey/jsscript.h
|
403
|
+
- vendor/spidermonkey/jsshell.msg
|
404
|
+
- vendor/spidermonkey/jsstddef.h
|
405
|
+
- vendor/spidermonkey/jsstr.c
|
406
|
+
- vendor/spidermonkey/jsstr.h
|
407
|
+
- vendor/spidermonkey/jstypes.h
|
408
|
+
- vendor/spidermonkey/jsutil.c
|
409
|
+
- vendor/spidermonkey/jsutil.h
|
410
|
+
- vendor/spidermonkey/jsxdrapi.c
|
411
|
+
- vendor/spidermonkey/jsxdrapi.h
|
412
|
+
- vendor/spidermonkey/jsxml.c
|
413
|
+
- vendor/spidermonkey/jsxml.h
|
414
|
+
- vendor/spidermonkey/lock_SunOS.s
|
415
|
+
- vendor/spidermonkey/perfect.js
|
416
|
+
- vendor/spidermonkey/plify_jsdhash.sed
|
417
|
+
- vendor/spidermonkey/prmjtime.c
|
418
|
+
- vendor/spidermonkey/prmjtime.h
|
419
|
+
- vendor/spidermonkey/resource.h
|
420
|
+
- vendor/spidermonkey/rules.mk
|
421
|
+
- vendor/spidermonkey/win32.order
|
422
|
+
has_rdoc: true
|
423
|
+
homepage: http://github.com/jbarnette/johnson/wikis
|
424
|
+
post_install_message:
|
425
|
+
rdoc_options:
|
426
|
+
- --main
|
427
|
+
- README.rdoc
|
428
|
+
require_paths:
|
429
|
+
- lib
|
430
|
+
- ext
|
431
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
432
|
+
requirements:
|
433
|
+
- - ">="
|
434
|
+
- !ruby/object:Gem::Version
|
435
|
+
version: "0"
|
436
|
+
version:
|
437
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
438
|
+
requirements:
|
439
|
+
- - ">="
|
440
|
+
- !ruby/object:Gem::Version
|
441
|
+
version: "0"
|
442
|
+
version:
|
443
|
+
requirements: []
|
444
|
+
|
445
|
+
rubyforge_project: johnson
|
446
|
+
rubygems_version: 1.0.1
|
447
|
+
signing_key:
|
448
|
+
specification_version: 2
|
449
|
+
summary: Johnson wraps JavaScript in a loving Ruby embrace.
|
450
|
+
test_files:
|
451
|
+
- test/johnson/browser_test.rb
|
452
|
+
- test/johnson/conversions/array_test.rb
|
453
|
+
- test/johnson/conversions/boolean_test.rb
|
454
|
+
- test/johnson/conversions/callable_test.rb
|
455
|
+
- test/johnson/conversions/file_test.rb
|
456
|
+
- test/johnson/conversions/nil_test.rb
|
457
|
+
- test/johnson/conversions/number_test.rb
|
458
|
+
- test/johnson/conversions/regexp_test.rb
|
459
|
+
- test/johnson/conversions/string_test.rb
|
460
|
+
- test/johnson/conversions/struct_test.rb
|
461
|
+
- test/johnson/conversions/symbol_test.rb
|
462
|
+
- test/johnson/conversions/thread_test.rb
|
463
|
+
- test/johnson/error_test.rb
|
464
|
+
- test/johnson/extensions_test.rb
|
465
|
+
- test/johnson/nodes/array_literal_test.rb
|
466
|
+
- test/johnson/nodes/array_node_test.rb
|
467
|
+
- test/johnson/nodes/binary_node_test.rb
|
468
|
+
- test/johnson/nodes/bracket_access_test.rb
|
469
|
+
- test/johnson/nodes/delete_test.rb
|
470
|
+
- test/johnson/nodes/do_while_test.rb
|
471
|
+
- test/johnson/nodes/dot_accessor_test.rb
|
472
|
+
- test/johnson/nodes/export_test.rb
|
473
|
+
- test/johnson/nodes/for_test.rb
|
474
|
+
- test/johnson/nodes/function_test.rb
|
475
|
+
- test/johnson/nodes/if_test.rb
|
476
|
+
- test/johnson/nodes/import_test.rb
|
477
|
+
- test/johnson/nodes/label_test.rb
|
478
|
+
- test/johnson/nodes/object_literal_test.rb
|
479
|
+
- test/johnson/nodes/return_test.rb
|
480
|
+
- test/johnson/nodes/semi_test.rb
|
481
|
+
- test/johnson/nodes/switch_test.rb
|
482
|
+
- test/johnson/nodes/ternary_test.rb
|
483
|
+
- test/johnson/nodes/throw_test.rb
|
484
|
+
- test/johnson/nodes/try_node_test.rb
|
485
|
+
- test/johnson/nodes/typeof_test.rb
|
486
|
+
- test/johnson/nodes/unary_node_test.rb
|
487
|
+
- test/johnson/nodes/void_test.rb
|
488
|
+
- test/johnson/nodes/while_test.rb
|
489
|
+
- test/johnson/nodes/with_test.rb
|
490
|
+
- test/johnson/prelude_test.rb
|
491
|
+
- test/johnson/runtime_test.rb
|
492
|
+
- test/johnson/spidermonkey/context_test.rb
|
493
|
+
- test/johnson/spidermonkey/immutable_node_test.rb
|
494
|
+
- test/johnson/spidermonkey/js_land_proxy_test.rb
|
495
|
+
- test/johnson/spidermonkey/ruby_land_proxy_test.rb
|
496
|
+
- test/johnson/spidermonkey/runtime_test.rb
|
497
|
+
- test/johnson/version_test.rb
|
498
|
+
- test/johnson/visitors/dot_visitor_test.rb
|
499
|
+
- test/johnson/visitors/enumerating_visitor_test.rb
|
500
|
+
- test/johnson_test.rb
|
501
|
+
- test/parser_test.rb
|