jbarnette-johnson 1.0.0.20090326122910 → 1.0.0.20090326154650
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +26 -19
- data/Rakefile +16 -215
- data/{cross-compile.txt → docs/cross-compile.txt} +0 -0
- data/ext/spidermonkey/extconf.rb +20 -15
- data/johnson.gemspec +7 -5
- data/lib/tasks/gem.rake +9 -0
- data/lib/tasks/parsing.rake +37 -0
- data/lib/tasks/testing.rake +36 -0
- data/lib/tasks/vendor.rake +20 -0
- data/test/helper.rb +0 -3
- data/test/johnson/prelude_test.rb +7 -7
- metadata +22 -29
- data/MANIFEST.txt +0 -389
- data/js/johnson/browser/env.js +0 -705
- data/js/johnson/browser/jquery.js +0 -3446
- data/js/johnson/browser/xmlsax.js +0 -1564
- data/js/johnson/browser/xmlw3cdom.js +0 -4189
- data/js/johnson/browser.js +0 -9
- data/js/johnson/template.js +0 -29
- data/srcs/xmlparser-0.6.8.tar +0 -0
- data/test/assets/index.html +0 -38
- data/test/assets/jquery_test.html +0 -186
- data/test/jquery_units/simple.js +0 -12
- data/test/jquery_units/test.js +0 -31
- data/test/jquery_units/test_helper.js +0 -197
- data/test/jquery_units/units/ajax.js +0 -795
- data/test/jquery_units/units/core.js +0 -1571
- data/test/jquery_units/units/event.js +0 -299
- data/test/jquery_units/units/fx.js +0 -427
- data/test/jquery_units/units/offset.js +0 -112
- data/test/jquery_units/units/selector.js +0 -224
- data/test/jspec/helper.js +0 -7
- data/test/jspec/jspec.js +0 -192
- data/test/jspec/simple_spec.js +0 -68
data/README.rdoc
CHANGED
@@ -6,35 +6,42 @@ Johnson wraps JavaScript in a loving Ruby embrace.
|
|
6
6
|
* {Bug Tracker}[http://johnson.lighthouseapp.com]
|
7
7
|
* {RubyForge Project}[http://johnson.rubyforge.org]
|
8
8
|
|
9
|
-
==
|
9
|
+
== Examples
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
Johnson.evaluate("4 + 4") # => 8
|
15
|
-
Johnson.evaluate("4 + foo", :foo => 4) # => 8
|
16
|
-
|
17
|
-
== Installing
|
11
|
+
# FIXME: write some decent examples
|
12
|
+
require "johnson"
|
18
13
|
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
Johnson.evaluate("4 + 4") # => 8
|
15
|
+
Johnson.evaluate("4 + foo", :foo => 4) # => 8
|
16
|
+
|
17
|
+
== Installation
|
18
|
+
|
19
|
+
We haven't rolled an official 1.x for Johnson, though we plan to Real
|
20
|
+
Soon Now. For the moment, follow the instructions in "Installing
|
21
|
+
Development Versions". Once we push a 1.0 to RubyForge, it'll be as
|
22
|
+
easy as:
|
22
23
|
|
23
24
|
[sudo] gem install johnson
|
24
25
|
|
25
|
-
|
26
|
+
=== Restrictions
|
27
|
+
|
28
|
+
Johnson is currently developed and tested on Mac OS X with Ruby
|
29
|
+
1.8.6. We'd like to widen our support: contributions are very welcome!
|
30
|
+
|
31
|
+
=== Development Versions
|
26
32
|
|
27
|
-
We periodically update Johnson's gemspec on Github. Rather than
|
28
|
-
official releases (hosted on RubyForge), you can track
|
29
|
-
Development versions will have a timestamped
|
33
|
+
We periodically update Johnson's gemspec on Github. Rather than
|
34
|
+
installing the official releases (hosted on RubyForge), you can track
|
35
|
+
the development version. Development versions will have a timestamped
|
36
|
+
version number, like 1.0.0.200806232349.
|
30
37
|
|
31
|
-
|
32
|
-
|
33
|
-
[sudo] gem install jbarnette-johnson
|
38
|
+
$ [sudo] gem sources -a http://gems.github.com # once
|
39
|
+
$ [sudo] gem install jbarnette-johnson
|
34
40
|
|
35
41
|
== License
|
36
42
|
|
37
|
-
Copyright 2008 John Barnette, Aaron Patterson, Yehuda Katz,
|
43
|
+
Copyright 2008-2009 John Barnette, Aaron Patterson, Yehuda Katz,
|
44
|
+
Matthew Draper
|
38
45
|
|
39
46
|
Permission is hereby granted, free of charge, to any person obtaining
|
40
47
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -1,237 +1,38 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
require "hoe"
|
3
|
-
require "
|
3
|
+
require "rake/extensiontask"
|
4
4
|
|
5
5
|
require "./lib/johnson/version.rb"
|
6
|
-
abort "Need Ruby version 1.8.x!" unless RUBY_VERSION > "1.8"
|
7
6
|
|
8
|
-
|
9
|
-
kind = Config::CONFIG["DLEXT"]
|
10
|
-
|
11
|
-
CROSS = ENV["CROSS"]
|
12
|
-
MAKE = ENV["MAKE"] || RUBY_PLATFORM =~ /freebsd/ ? 'gmake' : 'make'
|
13
|
-
LIBJS = FileList["vendor/spidermonkey/#{CROSS || ''}*.OBJ/libjs.{#{kind},so}"].first || :libjs
|
14
|
-
|
15
|
-
GENERATED_NODE = "ext/spidermonkey/immutable_node.c"
|
16
|
-
|
17
|
-
HOE = Hoe.new("johnson", Johnson::VERSION) do |p|
|
7
|
+
HOE = Hoe.new "johnson", Johnson::VERSION do |p|
|
18
8
|
p.developer "John Barnette", "jbarnette@rubyforge.org"
|
19
9
|
p.developer "Aaron Patterson", "aaron.patterson@gmail.com"
|
20
10
|
p.developer "Yehuda Katz", "wycats@gmail.com"
|
21
11
|
p.developer "Matthew Draper", "matthew@trebex.net"
|
22
12
|
|
23
|
-
p.summary = "Johnson wraps JavaScript in a loving Ruby embrace."
|
24
13
|
p.history_file = "CHANGELOG.rdoc"
|
25
14
|
p.readme_file = "README.rdoc"
|
26
|
-
p.
|
27
|
-
p.need_tar = false
|
15
|
+
p.summary = "Johnson wraps JavaScript in a loving Ruby embrace."
|
28
16
|
p.url = "http://github.com/jbarnette/johnson/wikis"
|
29
17
|
|
30
|
-
p.
|
31
|
-
|
32
|
-
|
33
|
-
"ext/spidermonkey/*.{o,so,bundle,log}",
|
34
|
-
GENERATED_NODE,
|
35
|
-
"vendor/spidermonkey/**/*.OBJ"]
|
36
|
-
|
37
|
-
p.test_globs = %w(test/**/*_test.rb)
|
38
|
-
p.spec_extras = { :extensions => ["Rakefile"] }
|
39
|
-
p.extra_deps = ["rake"]
|
40
|
-
end
|
41
|
-
|
42
|
-
namespace :gem do
|
43
|
-
task :spec do
|
44
|
-
File.open("#{HOE.name}.gemspec", "w") do |f|
|
45
|
-
HOE.spec.version = "#{HOE.version}.#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
46
|
-
f.puts(HOE.spec.to_ruby)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
namespace :test do
|
52
|
-
task :jspec => :extensions do
|
53
|
-
$LOAD_PATH << File.expand_path(File.dirname(__FILE__) + "/lib")
|
54
|
-
Johnson.send(:remove_const, :VERSION)
|
55
|
-
require "johnson"
|
56
|
-
|
57
|
-
Dir["test/jspec/**/*_spec.js"].each do |file|
|
58
|
-
Johnson::Runtime.new.load(file)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
task :jquery => :extensions do
|
63
|
-
$LOAD_PATH << File.expand_path(File.dirname(__FILE__) + "/lib")
|
64
|
-
$LOAD_PATH << File.expand_path(File.dirname(__FILE__) + "/../taka/lib")
|
65
|
-
Johnson.send(:remove_const, :VERSION)
|
66
|
-
require 'johnson'
|
67
|
-
Johnson::Runtime.new.load('test/jquery_units/test.js')
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
# make sure the C bits are up-to-date when testing
|
72
|
-
Rake::Task[:test].prerequisites << :extensions
|
73
|
-
|
74
|
-
Rake::Task[:check_manifest].prerequisites << GENERATED_NODE
|
75
|
-
|
76
|
-
task :install_expat do
|
77
|
-
Dir.chdir("./srcs") do
|
78
|
-
`tar -xf xmlparser-0.6.8.tar`
|
79
|
-
Dir.chdir("xmlparser") do
|
80
|
-
puts `#{Gem.ruby} extconf.rb`
|
81
|
-
puts `#{MAKE}`
|
82
|
-
puts `sudo #{MAKE} install`
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
task :build => :extensions
|
88
|
-
task :extension => :build # FIXME: why is this here?
|
89
|
-
|
90
|
-
task :extensions => ["lib/johnson/spidermonkey.#{kind}"]
|
91
|
-
|
92
|
-
namespace :extensions do
|
93
|
-
task :clean do
|
94
|
-
Dir.chdir("ext/spidermonkey") do
|
95
|
-
sh "rm -f Makefile"
|
96
|
-
sh "rm -f *.{o,so,bundle,log}"
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
build_sm = lambda do
|
102
|
-
cmd = "#{MAKE} -f Makefile.ref"
|
103
|
-
cmd << " OS_CONFIG=#{CROSS}" if CROSS
|
104
|
-
Dir.chdir("vendor/spidermonkey") { sh cmd }
|
105
|
-
end
|
106
|
-
|
107
|
-
if Symbol === LIBJS
|
108
|
-
task LIBJS, &build_sm
|
109
|
-
else
|
110
|
-
file LIBJS, &build_sm
|
111
|
-
|
112
|
-
task LIBJS => "vendor/spidermonkey/Makefile.ref"
|
113
|
-
task LIBJS => Dir["vendor/spidermonkey/*.[ch]"]
|
114
|
-
task LIBJS => Dir["vendor/spidermonkey/config/*.mk"]
|
115
|
-
end
|
116
|
-
|
117
|
-
task LIBJS => "vendor/spidermonkey/jsapi.h"
|
118
|
-
task LIBJS => "vendor/spidermonkey/config/#{CROSS}.mk" if CROSS
|
119
|
-
|
120
|
-
file "vendor/spidermonkey/config/MINGW32.mk" => "MINGW32.mk" do |t|
|
121
|
-
cp t.prerequisites.first, t.name
|
122
|
-
end
|
123
|
-
|
124
|
-
file "ext/spidermonkey/spidermonkey.#{kind}" =>
|
125
|
-
["ext/spidermonkey/Makefile"] + FileList["ext/spidermonkey/*.{c,h}"].to_a do |t|
|
126
|
-
|
127
|
-
old_time = File.mtime(t.name) rescue nil
|
128
|
-
Dir.chdir("ext/spidermonkey") { sh "#{MAKE}" }
|
129
|
-
|
130
|
-
# If make chose not to rebuild the file, we'll touch it, so we don't
|
131
|
-
# bother to call make again next time.
|
132
|
-
sh "touch #{t.name}" if old_time && File.mtime(t.name) <= old_time
|
133
|
-
end
|
134
|
-
|
135
|
-
# for testing, we toss the SpiderMonkey extension in lib/johnson
|
136
|
-
file "lib/johnson/spidermonkey.#{kind}" =>
|
137
|
-
"ext/spidermonkey/spidermonkey.#{kind}" do |t|
|
138
|
-
|
139
|
-
cp t.prerequisites.first, t.name
|
140
|
-
end
|
141
|
-
|
142
|
-
file "ext/spidermonkey/Makefile" =>
|
143
|
-
[LIBJS, GENERATED_NODE, "ext/spidermonkey/extconf.rb"] do
|
144
|
-
|
145
|
-
dirs = (CROSS ? [ENV["CROSSLIB"]] : []) + $:
|
146
|
-
if defined?(RbConfig)
|
147
|
-
ruby_exec = File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"])
|
148
|
-
end
|
149
|
-
ruby_exec ||= "ruby"
|
150
|
-
command = [ruby_exec] + dirs.map{|dir| "-I#{File.expand_path dir}"} + ["extconf.rb"]
|
151
|
-
Dir.chdir("ext/spidermonkey") { sh *command }
|
152
|
-
end
|
153
|
-
|
154
|
-
def jsops
|
155
|
-
ops = []
|
156
|
-
File.open("vendor/spidermonkey/jsopcode.tbl", "rb") { |f|
|
157
|
-
f.each_line do |line|
|
158
|
-
if line =~ /^OPDEF\((\w+),/
|
159
|
-
ops << $1
|
160
|
-
end
|
161
|
-
end
|
162
|
-
}
|
163
|
-
ops
|
164
|
-
end
|
18
|
+
p.extra_rdoc_files = [p.readme_file]
|
19
|
+
p.need_tar = false
|
20
|
+
p.test_globs = %w(test/**/*_test.rb)
|
165
21
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
f.each_line do |line|
|
170
|
-
line.scan(/TOK_\w+/).each do |token|
|
171
|
-
next if token == "TOK_ERROR"
|
172
|
-
toks << token
|
173
|
-
end
|
174
|
-
end
|
175
|
-
}
|
176
|
-
toks.uniq
|
177
|
-
end
|
22
|
+
p.clean_globs << "lib/johnson/spidermonkey.bundle"
|
23
|
+
p.clean_globs << "tmp"
|
24
|
+
p.clean_globs << "vendor/spidermonkey/**/*.OBJ"
|
178
25
|
|
179
|
-
|
180
|
-
|
181
|
-
File.open(GENERATED_NODE, "wb") { |f|
|
182
|
-
f.write template.result(binding)
|
183
|
-
}
|
26
|
+
p.extra_deps << "rake"
|
27
|
+
p.extra_dev_deps << "rake-compiler"
|
184
28
|
end
|
185
29
|
|
186
|
-
|
187
|
-
|
188
|
-
files = []
|
189
|
-
Find.find("test") do |f|
|
190
|
-
files << f if File.basename(f) =~ /.*test.*\.rb$/
|
191
|
-
end
|
192
|
-
cmdline = "ruby -w -I.:lib:ext:test -rtest/unit -e '%w[#{files.join(' ')}].each {|f| require f}'"
|
30
|
+
Rake::ExtensionTask.new "spidermonkey", HOE.spec do |ext|
|
31
|
+
ext.lib_dir = "lib/johnson"
|
193
32
|
end
|
194
33
|
|
195
|
-
|
196
|
-
# partial-loads-ok and undef-value-errors necessary to ignore
|
197
|
-
# spurious (and eminently ignorable) warnings from the ruby
|
198
|
-
# interpreter
|
199
|
-
VALGRIND_BASIC_OPTS = "--num-callers=50 --error-limit=no --partial-loads-ok=yes --undef-value-errors=no"
|
200
|
-
|
201
|
-
desc "run test suite under valgrind with basic ruby options"
|
202
|
-
task :valgrind => :build do
|
203
|
-
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} #{test_suite_cmdline}"
|
204
|
-
puts cmdline
|
205
|
-
system cmdline
|
206
|
-
end
|
207
|
-
|
208
|
-
desc "run test suite under valgrind with memory-fill ruby options"
|
209
|
-
task :valgrind_mem => :build do
|
210
|
-
# fill malloced memory with "m" and freed memory with "f"
|
211
|
-
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} --freelist-vol=100000000 --malloc-fill=6D --free-fill=66 #{test_suite_cmdline}"
|
212
|
-
puts cmdline
|
213
|
-
system cmdline
|
214
|
-
end
|
34
|
+
HOE.spec.extensions = Dir["ext/**/extconf.rb"]
|
215
35
|
|
216
|
-
|
217
|
-
task :valgrind_mem0 => :build do
|
218
|
-
# fill malloced and freed memory with 0
|
219
|
-
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} --freelist-vol=100000000 --malloc-fill=00 --free-fill=00 #{test_suite_cmdline}"
|
220
|
-
puts cmdline
|
221
|
-
system cmdline
|
222
|
-
end
|
36
|
+
task :test => :compile
|
223
37
|
|
224
|
-
|
225
|
-
task :gdb => :build do
|
226
|
-
cmdline = "gdb --args #{test_suite_cmdline}"
|
227
|
-
puts cmdline
|
228
|
-
system cmdline
|
229
|
-
end
|
230
|
-
end
|
231
|
-
|
232
|
-
# Evil evil hack. Do not run tests when gem installs
|
233
|
-
if ENV['RUBYARCHDIR']
|
234
|
-
prereqs = Rake::Task[:default].prerequisites
|
235
|
-
prereqs.clear
|
236
|
-
prereqs << :build
|
237
|
-
end
|
38
|
+
Dir["lib/tasks/*.rake"].each { |f| load f }
|
File without changes
|
data/ext/spidermonkey/extconf.rb
CHANGED
@@ -1,25 +1,30 @@
|
|
1
|
-
# this needs to happen before mkmf is required
|
1
|
+
# this needs to happen before mkmf is required
|
2
2
|
ENV["ARCHFLAGS"] = "-arch #{`uname -p` =~ /powerpc/ ? 'ppc' : 'i386'}"
|
3
3
|
|
4
|
+
require "find"
|
4
5
|
require "mkmf"
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
$CFLAGS << " -DXP_WIN -DXP_WIN32"
|
9
|
-
else
|
10
|
-
$CFLAGS << " -g -DXP_UNIX"
|
11
|
-
end
|
12
|
-
$CFLAGS << " -O3 -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline"
|
7
|
+
cflags = %w(g)
|
8
|
+
defines = %w(XP_UNIX)
|
13
9
|
|
14
|
-
|
10
|
+
warnings = %w(all extra cast-qual write-strings conversion missing-noreturn)
|
11
|
+
warnings << "inline"
|
15
12
|
|
16
|
-
|
13
|
+
cflags.concat warnings.collect { |w| "W#{w}" }
|
14
|
+
cflags.concat defines.collect { |d| "D#{d}" }
|
17
15
|
|
18
|
-
|
16
|
+
$CFLAGS << cflags.collect { |f| " -#{f}" }.join(" ")
|
19
17
|
|
20
|
-
|
21
|
-
|
18
|
+
spidermonkey_dir = File.expand_path File.dirname(__FILE__) +
|
19
|
+
"/../../vendor/spidermonkey"
|
22
20
|
|
23
|
-
|
21
|
+
libjs = Dir[spidermonkey_dir + "/**/libjs.a"].first
|
22
|
+
abort "libjs.a isn't built!" unless libjs
|
23
|
+
$LOCAL_LIBS<< libjs
|
24
24
|
|
25
|
-
|
25
|
+
dir_config "spidermonkey"
|
26
|
+
|
27
|
+
find_header "jsautocfg.h", File.dirname(libjs)
|
28
|
+
find_header "jsapi.h", spidermonkey_dir
|
29
|
+
|
30
|
+
create_makefile "spidermonkey"
|
data/johnson.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{johnson}
|
5
|
-
s.version = "1.0.0.
|
5
|
+
s.version = "1.0.0.20090326154650"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["John Barnette", "Aaron Patterson", "Yehuda Katz", "Matthew Draper"]
|
@@ -11,16 +11,15 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.description = %q{}
|
12
12
|
s.email = ["jbarnette@rubyforge.org", "aaron.patterson@gmail.com", "wycats@gmail.com", "matthew@trebex.net"]
|
13
13
|
s.executables = ["johnson"]
|
14
|
-
s.
|
15
|
-
s.extra_rdoc_files = ["MANIFEST.txt", "cross-compile.txt", "README.rdoc"]
|
16
|
-
s.files = [".autotest", "CHANGELOG.rdoc", "MANIFEST.txt", "MINGW32.mk", "README.rdoc", "Rakefile", "bin/johnson", "cross-compile.txt", "ext/spidermonkey/context.c", "ext/spidermonkey/context.h", "ext/spidermonkey/conversions.c", "ext/spidermonkey/conversions.h", "ext/spidermonkey/debugger.c", "ext/spidermonkey/debugger.h", "ext/spidermonkey/extconf.rb", "ext/spidermonkey/extensions.c", "ext/spidermonkey/extensions.h", "ext/spidermonkey/global.c", "ext/spidermonkey/global.h", "ext/spidermonkey/idhash.c", "ext/spidermonkey/idhash.h", "ext/spidermonkey/immutable_node.c", "ext/spidermonkey/immutable_node.c.erb", "ext/spidermonkey/immutable_node.h", "ext/spidermonkey/jroot.h", "ext/spidermonkey/js_land_proxy.c", "ext/spidermonkey/js_land_proxy.h", "ext/spidermonkey/ruby_land_proxy.c", "ext/spidermonkey/ruby_land_proxy.h", "ext/spidermonkey/runtime.c", "ext/spidermonkey/runtime.h", "ext/spidermonkey/spidermonkey.c", "ext/spidermonkey/spidermonkey.h", "johnson.gemspec", "js/johnson/browser.js", "js/johnson/browser/env.js", "js/johnson/browser/jquery.js", "js/johnson/browser/xmlsax.js", "js/johnson/browser/xmlw3cdom.js", "js/johnson/cli.js", "js/johnson/prelude.js", "js/johnson/template.js", "lib/johnson.rb", "lib/johnson/cli.rb", "lib/johnson/cli/options.rb", "lib/johnson/error.rb", "lib/johnson/nodes.rb", "lib/johnson/nodes/binary_node.rb", "lib/johnson/nodes/for.rb", "lib/johnson/nodes/for_in.rb", "lib/johnson/nodes/function.rb", "lib/johnson/nodes/list.rb", "lib/johnson/nodes/node.rb", "lib/johnson/nodes/ternary_node.rb", "lib/johnson/parser.rb", "lib/johnson/parser/syntax_error.rb", "lib/johnson/runtime.rb", "lib/johnson/spidermonkey/context.rb", "lib/johnson/spidermonkey/debugger.rb", "lib/johnson/spidermonkey/immutable_node.rb", "lib/johnson/spidermonkey/js_land_proxy.rb", "lib/johnson/spidermonkey/mutable_tree_visitor.rb", "lib/johnson/spidermonkey/ruby_land_proxy.rb", "lib/johnson/spidermonkey/runtime.rb", "lib/johnson/version.rb", "lib/johnson/visitable.rb", "lib/johnson/visitors.rb", "lib/johnson/visitors/dot_visitor.rb", "lib/johnson/visitors/ecma_visitor.rb", "lib/johnson/visitors/enumerating_visitor.rb", "lib/johnson/visitors/sexp_visitor.rb", "lib/johnson/visitors/visitor.rb", "lib/rails/init.rb", "srcs/xmlparser-0.6.8.tar", "test/assets/index.html", "test/assets/jquery_test.html", "test/helper.rb", "test/johnson/browser_test.rb", "test/johnson/conversions/array_test.rb", "test/johnson/conversions/boolean_test.rb", "test/johnson/conversions/callable_test.rb", "test/johnson/conversions/file_test.rb", "test/johnson/conversions/nil_test.rb", "test/johnson/conversions/number_test.rb", "test/johnson/conversions/regexp_test.rb", "test/johnson/conversions/string_test.rb", "test/johnson/conversions/struct_test.rb", "test/johnson/conversions/symbol_test.rb", "test/johnson/conversions/thread_test.rb", "test/johnson/error_test.rb", "test/johnson/extensions_test.rb", "test/johnson/nodes/array_literal_test.rb", "test/johnson/nodes/array_node_test.rb", "test/johnson/nodes/binary_node_test.rb", "test/johnson/nodes/bracket_access_test.rb", "test/johnson/nodes/delete_test.rb", "test/johnson/nodes/do_while_test.rb", "test/johnson/nodes/dot_accessor_test.rb", "test/johnson/nodes/export_test.rb", "test/johnson/nodes/for_test.rb", "test/johnson/nodes/function_test.rb", "test/johnson/nodes/if_test.rb", "test/johnson/nodes/import_test.rb", "test/johnson/nodes/label_test.rb", "test/johnson/nodes/let_test.rb", "test/johnson/nodes/object_literal_test.rb", "test/johnson/nodes/return_test.rb", "test/johnson/nodes/semi_test.rb", "test/johnson/nodes/switch_test.rb", "test/johnson/nodes/ternary_test.rb", "test/johnson/nodes/throw_test.rb", "test/johnson/nodes/try_node_test.rb", "test/johnson/nodes/typeof_test.rb", "test/johnson/nodes/unary_node_test.rb", "test/johnson/nodes/void_test.rb", "test/johnson/nodes/while_test.rb", "test/johnson/nodes/with_test.rb", "test/johnson/prelude_test.rb", "test/johnson/runtime_test.rb", "test/johnson/spidermonkey/context_test.rb", "test/johnson/spidermonkey/immutable_node_test.rb", "test/johnson/spidermonkey/js_land_proxy_test.rb", "test/johnson/spidermonkey/ruby_land_proxy_test.rb", "test/johnson/spidermonkey/runtime_test.rb", "test/johnson/version_test.rb", "test/johnson/visitors/dot_visitor_test.rb", "test/johnson/visitors/enumerating_visitor_test.rb", "test/johnson_test.rb", "test/jquery_units/simple.js", "test/jquery_units/test.js", "test/jquery_units/test_helper.js", "test/jquery_units/units/ajax.js", "test/jquery_units/units/core.js", "test/jquery_units/units/event.js", "test/jquery_units/units/fx.js", "test/jquery_units/units/offset.js", "test/jquery_units/units/selector.js", "test/jspec/helper.js", "test/jspec/jspec.js", "test/jspec/simple_spec.js", "test/parser_test.rb", "vendor/spidermonkey/.cvsignore", "vendor/spidermonkey/Makefile.in", "vendor/spidermonkey/Makefile.ref", "vendor/spidermonkey/README.html", "vendor/spidermonkey/SpiderMonkey.rsp", "vendor/spidermonkey/Y.js", "vendor/spidermonkey/build.mk", "vendor/spidermonkey/config.mk", "vendor/spidermonkey/config/AIX4.1.mk", "vendor/spidermonkey/config/AIX4.2.mk", "vendor/spidermonkey/config/AIX4.3.mk", "vendor/spidermonkey/config/Darwin.mk", "vendor/spidermonkey/config/Darwin1.3.mk", "vendor/spidermonkey/config/Darwin1.4.mk", "vendor/spidermonkey/config/Darwin5.2.mk", "vendor/spidermonkey/config/Darwin5.3.mk", "vendor/spidermonkey/config/FreeBSD.mk", "vendor/spidermonkey/config/HP-UXB.10.10.mk", "vendor/spidermonkey/config/HP-UXB.10.20.mk", "vendor/spidermonkey/config/HP-UXB.11.00.mk", "vendor/spidermonkey/config/IRIX.mk", "vendor/spidermonkey/config/IRIX5.3.mk", "vendor/spidermonkey/config/IRIX6.1.mk", "vendor/spidermonkey/config/IRIX6.2.mk", "vendor/spidermonkey/config/IRIX6.3.mk", "vendor/spidermonkey/config/IRIX6.5.mk", "vendor/spidermonkey/config/Linux_All.mk", "vendor/spidermonkey/config/Mac_OS10.0.mk", "vendor/spidermonkey/config/OSF1V4.0.mk", "vendor/spidermonkey/config/OSF1V5.0.mk", "vendor/spidermonkey/config/SunOS4.1.4.mk", "vendor/spidermonkey/config/SunOS5.10.mk", "vendor/spidermonkey/config/SunOS5.3.mk", "vendor/spidermonkey/config/SunOS5.4.mk", "vendor/spidermonkey/config/SunOS5.5.1.mk", "vendor/spidermonkey/config/SunOS5.5.mk", "vendor/spidermonkey/config/SunOS5.6.mk", "vendor/spidermonkey/config/SunOS5.7.mk", "vendor/spidermonkey/config/SunOS5.8.mk", "vendor/spidermonkey/config/SunOS5.9.mk", "vendor/spidermonkey/config/WINNT4.0.mk", "vendor/spidermonkey/config/WINNT5.0.mk", "vendor/spidermonkey/config/WINNT5.1.mk", "vendor/spidermonkey/config/WINNT5.2.mk", "vendor/spidermonkey/config/WINNT6.0.mk", "vendor/spidermonkey/config/dgux.mk", "vendor/spidermonkey/editline/Makefile.ref", "vendor/spidermonkey/editline/README", "vendor/spidermonkey/editline/editline.3", "vendor/spidermonkey/editline/editline.c", "vendor/spidermonkey/editline/editline.h", "vendor/spidermonkey/editline/sysunix.c", "vendor/spidermonkey/editline/unix.h", "vendor/spidermonkey/fdlibm/.cvsignore", "vendor/spidermonkey/fdlibm/Makefile.in", "vendor/spidermonkey/fdlibm/Makefile.ref", "vendor/spidermonkey/fdlibm/e_acos.c", "vendor/spidermonkey/fdlibm/e_acosh.c", "vendor/spidermonkey/fdlibm/e_asin.c", "vendor/spidermonkey/fdlibm/e_atan2.c", "vendor/spidermonkey/fdlibm/e_atanh.c", "vendor/spidermonkey/fdlibm/e_cosh.c", "vendor/spidermonkey/fdlibm/e_exp.c", "vendor/spidermonkey/fdlibm/e_fmod.c", "vendor/spidermonkey/fdlibm/e_gamma.c", "vendor/spidermonkey/fdlibm/e_gamma_r.c", "vendor/spidermonkey/fdlibm/e_hypot.c", "vendor/spidermonkey/fdlibm/e_j0.c", "vendor/spidermonkey/fdlibm/e_j1.c", "vendor/spidermonkey/fdlibm/e_jn.c", "vendor/spidermonkey/fdlibm/e_lgamma.c", "vendor/spidermonkey/fdlibm/e_lgamma_r.c", "vendor/spidermonkey/fdlibm/e_log.c", "vendor/spidermonkey/fdlibm/e_log10.c", "vendor/spidermonkey/fdlibm/e_pow.c", "vendor/spidermonkey/fdlibm/e_rem_pio2.c", "vendor/spidermonkey/fdlibm/e_remainder.c", "vendor/spidermonkey/fdlibm/e_scalb.c", "vendor/spidermonkey/fdlibm/e_sinh.c", "vendor/spidermonkey/fdlibm/e_sqrt.c", "vendor/spidermonkey/fdlibm/fdlibm.h", "vendor/spidermonkey/fdlibm/fdlibm.mak", "vendor/spidermonkey/fdlibm/fdlibm.mdp", "vendor/spidermonkey/fdlibm/k_cos.c", "vendor/spidermonkey/fdlibm/k_rem_pio2.c", "vendor/spidermonkey/fdlibm/k_sin.c", "vendor/spidermonkey/fdlibm/k_standard.c", "vendor/spidermonkey/fdlibm/k_tan.c", "vendor/spidermonkey/fdlibm/s_asinh.c", "vendor/spidermonkey/fdlibm/s_atan.c", "vendor/spidermonkey/fdlibm/s_cbrt.c", "vendor/spidermonkey/fdlibm/s_ceil.c", "vendor/spidermonkey/fdlibm/s_copysign.c", "vendor/spidermonkey/fdlibm/s_cos.c", "vendor/spidermonkey/fdlibm/s_erf.c", "vendor/spidermonkey/fdlibm/s_expm1.c", "vendor/spidermonkey/fdlibm/s_fabs.c", "vendor/spidermonkey/fdlibm/s_finite.c", "vendor/spidermonkey/fdlibm/s_floor.c", "vendor/spidermonkey/fdlibm/s_frexp.c", "vendor/spidermonkey/fdlibm/s_ilogb.c", "vendor/spidermonkey/fdlibm/s_isnan.c", "vendor/spidermonkey/fdlibm/s_ldexp.c", "vendor/spidermonkey/fdlibm/s_lib_version.c", "vendor/spidermonkey/fdlibm/s_log1p.c", "vendor/spidermonkey/fdlibm/s_logb.c", "vendor/spidermonkey/fdlibm/s_matherr.c", "vendor/spidermonkey/fdlibm/s_modf.c", "vendor/spidermonkey/fdlibm/s_nextafter.c", "vendor/spidermonkey/fdlibm/s_rint.c", "vendor/spidermonkey/fdlibm/s_scalbn.c", "vendor/spidermonkey/fdlibm/s_signgam.c", "vendor/spidermonkey/fdlibm/s_significand.c", "vendor/spidermonkey/fdlibm/s_sin.c", "vendor/spidermonkey/fdlibm/s_tan.c", "vendor/spidermonkey/fdlibm/s_tanh.c", "vendor/spidermonkey/fdlibm/w_acos.c", "vendor/spidermonkey/fdlibm/w_acosh.c", "vendor/spidermonkey/fdlibm/w_asin.c", "vendor/spidermonkey/fdlibm/w_atan2.c", "vendor/spidermonkey/fdlibm/w_atanh.c", "vendor/spidermonkey/fdlibm/w_cosh.c", "vendor/spidermonkey/fdlibm/w_exp.c", "vendor/spidermonkey/fdlibm/w_fmod.c", "vendor/spidermonkey/fdlibm/w_gamma.c", "vendor/spidermonkey/fdlibm/w_gamma_r.c", "vendor/spidermonkey/fdlibm/w_hypot.c", "vendor/spidermonkey/fdlibm/w_j0.c", "vendor/spidermonkey/fdlibm/w_j1.c", "vendor/spidermonkey/fdlibm/w_jn.c", "vendor/spidermonkey/fdlibm/w_lgamma.c", "vendor/spidermonkey/fdlibm/w_lgamma_r.c", "vendor/spidermonkey/fdlibm/w_log.c", "vendor/spidermonkey/fdlibm/w_log10.c", "vendor/spidermonkey/fdlibm/w_pow.c", "vendor/spidermonkey/fdlibm/w_remainder.c", "vendor/spidermonkey/fdlibm/w_scalb.c", "vendor/spidermonkey/fdlibm/w_sinh.c", "vendor/spidermonkey/fdlibm/w_sqrt.c", "vendor/spidermonkey/javascript-trace.d", "vendor/spidermonkey/js.c", "vendor/spidermonkey/js.mak", "vendor/spidermonkey/js.mdp", "vendor/spidermonkey/js.msg", "vendor/spidermonkey/js3240.rc", "vendor/spidermonkey/jsOS240.def", "vendor/spidermonkey/jsapi.c", "vendor/spidermonkey/jsapi.h", "vendor/spidermonkey/jsarena.c", "vendor/spidermonkey/jsarena.h", "vendor/spidermonkey/jsarray.c", "vendor/spidermonkey/jsarray.h", "vendor/spidermonkey/jsatom.c", "vendor/spidermonkey/jsatom.h", "vendor/spidermonkey/jsbit.h", "vendor/spidermonkey/jsbool.c", "vendor/spidermonkey/jsbool.h", "vendor/spidermonkey/jsclist.h", "vendor/spidermonkey/jscntxt.c", "vendor/spidermonkey/jscntxt.h", "vendor/spidermonkey/jscompat.h", "vendor/spidermonkey/jsconfig.h", "vendor/spidermonkey/jsconfig.mk", "vendor/spidermonkey/jscpucfg.c", "vendor/spidermonkey/jscpucfg.h", "vendor/spidermonkey/jsdate.c", "vendor/spidermonkey/jsdate.h", "vendor/spidermonkey/jsdbgapi.c", "vendor/spidermonkey/jsdbgapi.h", "vendor/spidermonkey/jsdhash.c", "vendor/spidermonkey/jsdhash.h", "vendor/spidermonkey/jsdtoa.c", "vendor/spidermonkey/jsdtoa.h", "vendor/spidermonkey/jsdtracef.c", "vendor/spidermonkey/jsdtracef.h", "vendor/spidermonkey/jsemit.c", "vendor/spidermonkey/jsemit.h", "vendor/spidermonkey/jsexn.c", "vendor/spidermonkey/jsexn.h", "vendor/spidermonkey/jsfile.c", "vendor/spidermonkey/jsfile.h", "vendor/spidermonkey/jsfile.msg", "vendor/spidermonkey/jsfun.c", "vendor/spidermonkey/jsfun.h", "vendor/spidermonkey/jsgc.c", "vendor/spidermonkey/jsgc.h", "vendor/spidermonkey/jshash.c", "vendor/spidermonkey/jshash.h", "vendor/spidermonkey/jsify.pl", "vendor/spidermonkey/jsinterp.c", "vendor/spidermonkey/jsinterp.h", "vendor/spidermonkey/jsinvoke.c", "vendor/spidermonkey/jsiter.c", "vendor/spidermonkey/jsiter.h", "vendor/spidermonkey/jskeyword.tbl", "vendor/spidermonkey/jskwgen.c", "vendor/spidermonkey/jslibmath.h", "vendor/spidermonkey/jslock.c", "vendor/spidermonkey/jslock.h", "vendor/spidermonkey/jslocko.asm", "vendor/spidermonkey/jslog2.c", "vendor/spidermonkey/jslong.c", "vendor/spidermonkey/jslong.h", "vendor/spidermonkey/jsmath.c", "vendor/spidermonkey/jsmath.h", "vendor/spidermonkey/jsnum.c", "vendor/spidermonkey/jsnum.h", "vendor/spidermonkey/jsobj.c", "vendor/spidermonkey/jsobj.h", "vendor/spidermonkey/jsopcode.c", "vendor/spidermonkey/jsopcode.h", "vendor/spidermonkey/jsopcode.tbl", "vendor/spidermonkey/jsotypes.h", "vendor/spidermonkey/jsparse.c", "vendor/spidermonkey/jsparse.h", "vendor/spidermonkey/jsprf.c", "vendor/spidermonkey/jsprf.h", "vendor/spidermonkey/jsproto.tbl", "vendor/spidermonkey/jsprvtd.h", "vendor/spidermonkey/jspubtd.h", "vendor/spidermonkey/jsregexp.c", "vendor/spidermonkey/jsregexp.h", "vendor/spidermonkey/jsreops.tbl", "vendor/spidermonkey/jsscan.c", "vendor/spidermonkey/jsscan.h", "vendor/spidermonkey/jsscope.c", "vendor/spidermonkey/jsscope.h", "vendor/spidermonkey/jsscript.c", "vendor/spidermonkey/jsscript.h", "vendor/spidermonkey/jsshell.msg", "vendor/spidermonkey/jsstddef.h", "vendor/spidermonkey/jsstr.c", "vendor/spidermonkey/jsstr.h", "vendor/spidermonkey/jstypes.h", "vendor/spidermonkey/jsutil.c", "vendor/spidermonkey/jsutil.h", "vendor/spidermonkey/jsxdrapi.c", "vendor/spidermonkey/jsxdrapi.h", "vendor/spidermonkey/jsxml.c", "vendor/spidermonkey/jsxml.h", "vendor/spidermonkey/lock_SunOS.s", "vendor/spidermonkey/perfect.js", "vendor/spidermonkey/plify_jsdhash.sed", "vendor/spidermonkey/prmjtime.c", "vendor/spidermonkey/prmjtime.h", "vendor/spidermonkey/resource.h", "vendor/spidermonkey/rules.mk", "vendor/spidermonkey/win32.order"]
|
14
|
+
s.extra_rdoc_files = ["Manifest.txt", "docs/cross-compile.txt", "README.rdoc"]
|
15
|
+
s.files = [".autotest", "CHANGELOG.rdoc", "MINGW32.mk", "Manifest.txt", "README.rdoc", "Rakefile", "bin/johnson", "docs/cross-compile.txt", "ext/spidermonkey/context.c", "ext/spidermonkey/context.h", "ext/spidermonkey/conversions.c", "ext/spidermonkey/conversions.h", "ext/spidermonkey/debugger.c", "ext/spidermonkey/debugger.h", "ext/spidermonkey/extconf.rb", "ext/spidermonkey/extensions.c", "ext/spidermonkey/extensions.h", "ext/spidermonkey/global.c", "ext/spidermonkey/global.h", "ext/spidermonkey/idhash.c", "ext/spidermonkey/idhash.h", "ext/spidermonkey/immutable_node.c", "ext/spidermonkey/immutable_node.c.erb", "ext/spidermonkey/immutable_node.h", "ext/spidermonkey/jroot.h", "ext/spidermonkey/js_land_proxy.c", "ext/spidermonkey/js_land_proxy.h", "ext/spidermonkey/ruby_land_proxy.c", "ext/spidermonkey/ruby_land_proxy.h", "ext/spidermonkey/runtime.c", "ext/spidermonkey/runtime.h", "ext/spidermonkey/spidermonkey.c", "ext/spidermonkey/spidermonkey.h", "johnson.gemspec", "js/johnson/cli.js", "js/johnson/prelude.js", "lib/johnson.rb", "lib/johnson/cli.rb", "lib/johnson/cli/options.rb", "lib/johnson/error.rb", "lib/johnson/nodes.rb", "lib/johnson/nodes/binary_node.rb", "lib/johnson/nodes/for.rb", "lib/johnson/nodes/for_in.rb", "lib/johnson/nodes/function.rb", "lib/johnson/nodes/list.rb", "lib/johnson/nodes/node.rb", "lib/johnson/nodes/ternary_node.rb", "lib/johnson/parser.rb", "lib/johnson/parser/syntax_error.rb", "lib/johnson/runtime.rb", "lib/johnson/spidermonkey/context.rb", "lib/johnson/spidermonkey/debugger.rb", "lib/johnson/spidermonkey/immutable_node.rb", "lib/johnson/spidermonkey/js_land_proxy.rb", "lib/johnson/spidermonkey/mutable_tree_visitor.rb", "lib/johnson/spidermonkey/ruby_land_proxy.rb", "lib/johnson/spidermonkey/runtime.rb", "lib/johnson/version.rb", "lib/johnson/visitable.rb", "lib/johnson/visitors.rb", "lib/johnson/visitors/dot_visitor.rb", "lib/johnson/visitors/ecma_visitor.rb", "lib/johnson/visitors/enumerating_visitor.rb", "lib/johnson/visitors/sexp_visitor.rb", "lib/johnson/visitors/visitor.rb", "lib/rails/init.rb", "lib/tasks/gem.rake", "lib/tasks/parsing.rake", "lib/tasks/testing.rake", "lib/tasks/vendor.rake", "test/helper.rb", "test/johnson/browser_test.rb", "test/johnson/conversions/array_test.rb", "test/johnson/conversions/boolean_test.rb", "test/johnson/conversions/callable_test.rb", "test/johnson/conversions/file_test.rb", "test/johnson/conversions/nil_test.rb", "test/johnson/conversions/number_test.rb", "test/johnson/conversions/regexp_test.rb", "test/johnson/conversions/string_test.rb", "test/johnson/conversions/struct_test.rb", "test/johnson/conversions/symbol_test.rb", "test/johnson/conversions/thread_test.rb", "test/johnson/error_test.rb", "test/johnson/extensions_test.rb", "test/johnson/nodes/array_literal_test.rb", "test/johnson/nodes/array_node_test.rb", "test/johnson/nodes/binary_node_test.rb", "test/johnson/nodes/bracket_access_test.rb", "test/johnson/nodes/delete_test.rb", "test/johnson/nodes/do_while_test.rb", "test/johnson/nodes/dot_accessor_test.rb", "test/johnson/nodes/export_test.rb", "test/johnson/nodes/for_test.rb", "test/johnson/nodes/function_test.rb", "test/johnson/nodes/if_test.rb", "test/johnson/nodes/import_test.rb", "test/johnson/nodes/label_test.rb", "test/johnson/nodes/let_test.rb", "test/johnson/nodes/object_literal_test.rb", "test/johnson/nodes/return_test.rb", "test/johnson/nodes/semi_test.rb", "test/johnson/nodes/switch_test.rb", "test/johnson/nodes/ternary_test.rb", "test/johnson/nodes/throw_test.rb", "test/johnson/nodes/try_node_test.rb", "test/johnson/nodes/typeof_test.rb", "test/johnson/nodes/unary_node_test.rb", "test/johnson/nodes/void_test.rb", "test/johnson/nodes/while_test.rb", "test/johnson/nodes/with_test.rb", "test/johnson/prelude_test.rb", "test/johnson/runtime_test.rb", "test/johnson/spidermonkey/context_test.rb", "test/johnson/spidermonkey/immutable_node_test.rb", "test/johnson/spidermonkey/js_land_proxy_test.rb", "test/johnson/spidermonkey/ruby_land_proxy_test.rb", "test/johnson/spidermonkey/runtime_test.rb", "test/johnson/version_test.rb", "test/johnson/visitors/dot_visitor_test.rb", "test/johnson/visitors/enumerating_visitor_test.rb", "test/johnson_test.rb", "test/parser_test.rb", "vendor/spidermonkey/.cvsignore", "vendor/spidermonkey/Makefile.in", "vendor/spidermonkey/Makefile.ref", "vendor/spidermonkey/README.html", "vendor/spidermonkey/SpiderMonkey.rsp", "vendor/spidermonkey/Y.js", "vendor/spidermonkey/build.mk", "vendor/spidermonkey/config.mk", "vendor/spidermonkey/config/AIX4.1.mk", "vendor/spidermonkey/config/AIX4.2.mk", "vendor/spidermonkey/config/AIX4.3.mk", "vendor/spidermonkey/config/Darwin.mk", "vendor/spidermonkey/config/Darwin1.3.mk", "vendor/spidermonkey/config/Darwin1.4.mk", "vendor/spidermonkey/config/Darwin5.2.mk", "vendor/spidermonkey/config/Darwin5.3.mk", "vendor/spidermonkey/config/FreeBSD.mk", "vendor/spidermonkey/config/HP-UXB.10.10.mk", "vendor/spidermonkey/config/HP-UXB.10.20.mk", "vendor/spidermonkey/config/HP-UXB.11.00.mk", "vendor/spidermonkey/config/IRIX.mk", "vendor/spidermonkey/config/IRIX5.3.mk", "vendor/spidermonkey/config/IRIX6.1.mk", "vendor/spidermonkey/config/IRIX6.2.mk", "vendor/spidermonkey/config/IRIX6.3.mk", "vendor/spidermonkey/config/IRIX6.5.mk", "vendor/spidermonkey/config/Linux_All.mk", "vendor/spidermonkey/config/Mac_OS10.0.mk", "vendor/spidermonkey/config/OSF1V4.0.mk", "vendor/spidermonkey/config/OSF1V5.0.mk", "vendor/spidermonkey/config/SunOS4.1.4.mk", "vendor/spidermonkey/config/SunOS5.10.mk", "vendor/spidermonkey/config/SunOS5.3.mk", "vendor/spidermonkey/config/SunOS5.4.mk", "vendor/spidermonkey/config/SunOS5.5.1.mk", "vendor/spidermonkey/config/SunOS5.5.mk", "vendor/spidermonkey/config/SunOS5.6.mk", "vendor/spidermonkey/config/SunOS5.7.mk", "vendor/spidermonkey/config/SunOS5.8.mk", "vendor/spidermonkey/config/SunOS5.9.mk", "vendor/spidermonkey/config/WINNT4.0.mk", "vendor/spidermonkey/config/WINNT5.0.mk", "vendor/spidermonkey/config/WINNT5.1.mk", "vendor/spidermonkey/config/WINNT5.2.mk", "vendor/spidermonkey/config/WINNT6.0.mk", "vendor/spidermonkey/config/dgux.mk", "vendor/spidermonkey/editline/Makefile.ref", "vendor/spidermonkey/editline/README", "vendor/spidermonkey/editline/editline.3", "vendor/spidermonkey/editline/editline.c", "vendor/spidermonkey/editline/editline.h", "vendor/spidermonkey/editline/sysunix.c", "vendor/spidermonkey/editline/unix.h", "vendor/spidermonkey/fdlibm/.cvsignore", "vendor/spidermonkey/fdlibm/Makefile.in", "vendor/spidermonkey/fdlibm/Makefile.ref", "vendor/spidermonkey/fdlibm/e_acos.c", "vendor/spidermonkey/fdlibm/e_acosh.c", "vendor/spidermonkey/fdlibm/e_asin.c", "vendor/spidermonkey/fdlibm/e_atan2.c", "vendor/spidermonkey/fdlibm/e_atanh.c", "vendor/spidermonkey/fdlibm/e_cosh.c", "vendor/spidermonkey/fdlibm/e_exp.c", "vendor/spidermonkey/fdlibm/e_fmod.c", "vendor/spidermonkey/fdlibm/e_gamma.c", "vendor/spidermonkey/fdlibm/e_gamma_r.c", "vendor/spidermonkey/fdlibm/e_hypot.c", "vendor/spidermonkey/fdlibm/e_j0.c", "vendor/spidermonkey/fdlibm/e_j1.c", "vendor/spidermonkey/fdlibm/e_jn.c", "vendor/spidermonkey/fdlibm/e_lgamma.c", "vendor/spidermonkey/fdlibm/e_lgamma_r.c", "vendor/spidermonkey/fdlibm/e_log.c", "vendor/spidermonkey/fdlibm/e_log10.c", "vendor/spidermonkey/fdlibm/e_pow.c", "vendor/spidermonkey/fdlibm/e_rem_pio2.c", "vendor/spidermonkey/fdlibm/e_remainder.c", "vendor/spidermonkey/fdlibm/e_scalb.c", "vendor/spidermonkey/fdlibm/e_sinh.c", "vendor/spidermonkey/fdlibm/e_sqrt.c", "vendor/spidermonkey/fdlibm/fdlibm.h", "vendor/spidermonkey/fdlibm/fdlibm.mak", "vendor/spidermonkey/fdlibm/fdlibm.mdp", "vendor/spidermonkey/fdlibm/k_cos.c", "vendor/spidermonkey/fdlibm/k_rem_pio2.c", "vendor/spidermonkey/fdlibm/k_sin.c", "vendor/spidermonkey/fdlibm/k_standard.c", "vendor/spidermonkey/fdlibm/k_tan.c", "vendor/spidermonkey/fdlibm/s_asinh.c", "vendor/spidermonkey/fdlibm/s_atan.c", "vendor/spidermonkey/fdlibm/s_cbrt.c", "vendor/spidermonkey/fdlibm/s_ceil.c", "vendor/spidermonkey/fdlibm/s_copysign.c", "vendor/spidermonkey/fdlibm/s_cos.c", "vendor/spidermonkey/fdlibm/s_erf.c", "vendor/spidermonkey/fdlibm/s_expm1.c", "vendor/spidermonkey/fdlibm/s_fabs.c", "vendor/spidermonkey/fdlibm/s_finite.c", "vendor/spidermonkey/fdlibm/s_floor.c", "vendor/spidermonkey/fdlibm/s_frexp.c", "vendor/spidermonkey/fdlibm/s_ilogb.c", "vendor/spidermonkey/fdlibm/s_isnan.c", "vendor/spidermonkey/fdlibm/s_ldexp.c", "vendor/spidermonkey/fdlibm/s_lib_version.c", "vendor/spidermonkey/fdlibm/s_log1p.c", "vendor/spidermonkey/fdlibm/s_logb.c", "vendor/spidermonkey/fdlibm/s_matherr.c", "vendor/spidermonkey/fdlibm/s_modf.c", "vendor/spidermonkey/fdlibm/s_nextafter.c", "vendor/spidermonkey/fdlibm/s_rint.c", "vendor/spidermonkey/fdlibm/s_scalbn.c", "vendor/spidermonkey/fdlibm/s_signgam.c", "vendor/spidermonkey/fdlibm/s_significand.c", "vendor/spidermonkey/fdlibm/s_sin.c", "vendor/spidermonkey/fdlibm/s_tan.c", "vendor/spidermonkey/fdlibm/s_tanh.c", "vendor/spidermonkey/fdlibm/w_acos.c", "vendor/spidermonkey/fdlibm/w_acosh.c", "vendor/spidermonkey/fdlibm/w_asin.c", "vendor/spidermonkey/fdlibm/w_atan2.c", "vendor/spidermonkey/fdlibm/w_atanh.c", "vendor/spidermonkey/fdlibm/w_cosh.c", "vendor/spidermonkey/fdlibm/w_exp.c", "vendor/spidermonkey/fdlibm/w_fmod.c", "vendor/spidermonkey/fdlibm/w_gamma.c", "vendor/spidermonkey/fdlibm/w_gamma_r.c", "vendor/spidermonkey/fdlibm/w_hypot.c", "vendor/spidermonkey/fdlibm/w_j0.c", "vendor/spidermonkey/fdlibm/w_j1.c", "vendor/spidermonkey/fdlibm/w_jn.c", "vendor/spidermonkey/fdlibm/w_lgamma.c", "vendor/spidermonkey/fdlibm/w_lgamma_r.c", "vendor/spidermonkey/fdlibm/w_log.c", "vendor/spidermonkey/fdlibm/w_log10.c", "vendor/spidermonkey/fdlibm/w_pow.c", "vendor/spidermonkey/fdlibm/w_remainder.c", "vendor/spidermonkey/fdlibm/w_scalb.c", "vendor/spidermonkey/fdlibm/w_sinh.c", "vendor/spidermonkey/fdlibm/w_sqrt.c", "vendor/spidermonkey/javascript-trace.d", "vendor/spidermonkey/js.c", "vendor/spidermonkey/js.mak", "vendor/spidermonkey/js.mdp", "vendor/spidermonkey/js.msg", "vendor/spidermonkey/js3240.rc", "vendor/spidermonkey/jsOS240.def", "vendor/spidermonkey/jsapi.c", "vendor/spidermonkey/jsapi.h", "vendor/spidermonkey/jsarena.c", "vendor/spidermonkey/jsarena.h", "vendor/spidermonkey/jsarray.c", "vendor/spidermonkey/jsarray.h", "vendor/spidermonkey/jsatom.c", "vendor/spidermonkey/jsatom.h", "vendor/spidermonkey/jsbit.h", "vendor/spidermonkey/jsbool.c", "vendor/spidermonkey/jsbool.h", "vendor/spidermonkey/jsclist.h", "vendor/spidermonkey/jscntxt.c", "vendor/spidermonkey/jscntxt.h", "vendor/spidermonkey/jscompat.h", "vendor/spidermonkey/jsconfig.h", "vendor/spidermonkey/jsconfig.mk", "vendor/spidermonkey/jscpucfg.c", "vendor/spidermonkey/jscpucfg.h", "vendor/spidermonkey/jsdate.c", "vendor/spidermonkey/jsdate.h", "vendor/spidermonkey/jsdbgapi.c", "vendor/spidermonkey/jsdbgapi.h", "vendor/spidermonkey/jsdhash.c", "vendor/spidermonkey/jsdhash.h", "vendor/spidermonkey/jsdtoa.c", "vendor/spidermonkey/jsdtoa.h", "vendor/spidermonkey/jsdtracef.c", "vendor/spidermonkey/jsdtracef.h", "vendor/spidermonkey/jsemit.c", "vendor/spidermonkey/jsemit.h", "vendor/spidermonkey/jsexn.c", "vendor/spidermonkey/jsexn.h", "vendor/spidermonkey/jsfile.c", "vendor/spidermonkey/jsfile.h", "vendor/spidermonkey/jsfile.msg", "vendor/spidermonkey/jsfun.c", "vendor/spidermonkey/jsfun.h", "vendor/spidermonkey/jsgc.c", "vendor/spidermonkey/jsgc.h", "vendor/spidermonkey/jshash.c", "vendor/spidermonkey/jshash.h", "vendor/spidermonkey/jsify.pl", "vendor/spidermonkey/jsinterp.c", "vendor/spidermonkey/jsinterp.h", "vendor/spidermonkey/jsinvoke.c", "vendor/spidermonkey/jsiter.c", "vendor/spidermonkey/jsiter.h", "vendor/spidermonkey/jskeyword.tbl", "vendor/spidermonkey/jskwgen.c", "vendor/spidermonkey/jslibmath.h", "vendor/spidermonkey/jslock.c", "vendor/spidermonkey/jslock.h", "vendor/spidermonkey/jslocko.asm", "vendor/spidermonkey/jslog2.c", "vendor/spidermonkey/jslong.c", "vendor/spidermonkey/jslong.h", "vendor/spidermonkey/jsmath.c", "vendor/spidermonkey/jsmath.h", "vendor/spidermonkey/jsnum.c", "vendor/spidermonkey/jsnum.h", "vendor/spidermonkey/jsobj.c", "vendor/spidermonkey/jsobj.h", "vendor/spidermonkey/jsopcode.c", "vendor/spidermonkey/jsopcode.h", "vendor/spidermonkey/jsopcode.tbl", "vendor/spidermonkey/jsotypes.h", "vendor/spidermonkey/jsparse.c", "vendor/spidermonkey/jsparse.h", "vendor/spidermonkey/jsprf.c", "vendor/spidermonkey/jsprf.h", "vendor/spidermonkey/jsproto.tbl", "vendor/spidermonkey/jsprvtd.h", "vendor/spidermonkey/jspubtd.h", "vendor/spidermonkey/jsregexp.c", "vendor/spidermonkey/jsregexp.h", "vendor/spidermonkey/jsreops.tbl", "vendor/spidermonkey/jsscan.c", "vendor/spidermonkey/jsscan.h", "vendor/spidermonkey/jsscope.c", "vendor/spidermonkey/jsscope.h", "vendor/spidermonkey/jsscript.c", "vendor/spidermonkey/jsscript.h", "vendor/spidermonkey/jsshell.msg", "vendor/spidermonkey/jsstddef.h", "vendor/spidermonkey/jsstr.c", "vendor/spidermonkey/jsstr.h", "vendor/spidermonkey/jstypes.h", "vendor/spidermonkey/jsutil.c", "vendor/spidermonkey/jsutil.h", "vendor/spidermonkey/jsxdrapi.c", "vendor/spidermonkey/jsxdrapi.h", "vendor/spidermonkey/jsxml.c", "vendor/spidermonkey/jsxml.h", "vendor/spidermonkey/lock_SunOS.s", "vendor/spidermonkey/perfect.js", "vendor/spidermonkey/plify_jsdhash.sed", "vendor/spidermonkey/prmjtime.c", "vendor/spidermonkey/prmjtime.h", "vendor/spidermonkey/resource.h", "vendor/spidermonkey/rules.mk", "vendor/spidermonkey/win32.order"]
|
17
16
|
s.has_rdoc = true
|
18
17
|
s.homepage = %q{http://github.com/jbarnette/johnson/wikis}
|
19
18
|
s.rdoc_options = ["--main", "README.rdoc"]
|
20
19
|
s.require_paths = ["lib", "ext"]
|
21
20
|
s.rubyforge_project = %q{johnson}
|
22
21
|
s.rubygems_version = %q{1.3.1}
|
23
|
-
s.summary = %q{}
|
22
|
+
s.summary = %q{Johnson wraps JavaScript in a loving Ruby embrace.}
|
24
23
|
s.test_files = ["test/johnson/browser_test.rb", "test/johnson/conversions/array_test.rb", "test/johnson/conversions/boolean_test.rb", "test/johnson/conversions/callable_test.rb", "test/johnson/conversions/file_test.rb", "test/johnson/conversions/nil_test.rb", "test/johnson/conversions/number_test.rb", "test/johnson/conversions/regexp_test.rb", "test/johnson/conversions/string_test.rb", "test/johnson/conversions/struct_test.rb", "test/johnson/conversions/symbol_test.rb", "test/johnson/conversions/thread_test.rb", "test/johnson/error_test.rb", "test/johnson/extensions_test.rb", "test/johnson/nodes/array_literal_test.rb", "test/johnson/nodes/array_node_test.rb", "test/johnson/nodes/binary_node_test.rb", "test/johnson/nodes/bracket_access_test.rb", "test/johnson/nodes/delete_test.rb", "test/johnson/nodes/do_while_test.rb", "test/johnson/nodes/dot_accessor_test.rb", "test/johnson/nodes/export_test.rb", "test/johnson/nodes/for_test.rb", "test/johnson/nodes/function_test.rb", "test/johnson/nodes/if_test.rb", "test/johnson/nodes/import_test.rb", "test/johnson/nodes/label_test.rb", "test/johnson/nodes/let_test.rb", "test/johnson/nodes/object_literal_test.rb", "test/johnson/nodes/return_test.rb", "test/johnson/nodes/semi_test.rb", "test/johnson/nodes/switch_test.rb", "test/johnson/nodes/ternary_test.rb", "test/johnson/nodes/throw_test.rb", "test/johnson/nodes/try_node_test.rb", "test/johnson/nodes/typeof_test.rb", "test/johnson/nodes/unary_node_test.rb", "test/johnson/nodes/void_test.rb", "test/johnson/nodes/while_test.rb", "test/johnson/nodes/with_test.rb", "test/johnson/prelude_test.rb", "test/johnson/runtime_test.rb", "test/johnson/spidermonkey/context_test.rb", "test/johnson/spidermonkey/immutable_node_test.rb", "test/johnson/spidermonkey/js_land_proxy_test.rb", "test/johnson/spidermonkey/ruby_land_proxy_test.rb", "test/johnson/spidermonkey/runtime_test.rb", "test/johnson/version_test.rb", "test/johnson/visitors/dot_visitor_test.rb", "test/johnson/visitors/enumerating_visitor_test.rb", "test/johnson_test.rb", "test/parser_test.rb"]
|
25
24
|
|
26
25
|
if s.respond_to? :specification_version then
|
@@ -29,13 +28,16 @@ Gem::Specification.new do |s|
|
|
29
28
|
|
30
29
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
31
30
|
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
31
|
+
s.add_development_dependency(%q<rake-compiler>, [">= 0"])
|
32
32
|
s.add_development_dependency(%q<hoe>, [">= 1.11.0"])
|
33
33
|
else
|
34
34
|
s.add_dependency(%q<rake>, [">= 0"])
|
35
|
+
s.add_dependency(%q<rake-compiler>, [">= 0"])
|
35
36
|
s.add_dependency(%q<hoe>, [">= 1.11.0"])
|
36
37
|
end
|
37
38
|
else
|
38
39
|
s.add_dependency(%q<rake>, [">= 0"])
|
40
|
+
s.add_dependency(%q<rake-compiler>, [">= 0"])
|
39
41
|
s.add_dependency(%q<hoe>, [">= 1.11.0"])
|
40
42
|
end
|
41
43
|
end
|
data/lib/tasks/gem.rake
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require "erb"
|
2
|
+
|
3
|
+
GENERATED_NODE = "ext/spidermonkey/immutable_node.c"
|
4
|
+
HOE.clean_globs << GENERATED_NODE
|
5
|
+
task :check_manifest => GENERATED_NODE
|
6
|
+
|
7
|
+
def jsops
|
8
|
+
ops = []
|
9
|
+
File.open("vendor/spidermonkey/jsopcode.tbl", "rb") { |f|
|
10
|
+
f.each_line do |line|
|
11
|
+
if line =~ /^OPDEF\((\w+),/
|
12
|
+
ops << $1
|
13
|
+
end
|
14
|
+
end
|
15
|
+
}
|
16
|
+
ops
|
17
|
+
end
|
18
|
+
|
19
|
+
def tokens
|
20
|
+
toks = []
|
21
|
+
File.open("vendor/spidermonkey/jsscan.h", "rb") { |f|
|
22
|
+
f.each_line do |line|
|
23
|
+
line.scan(/TOK_\w+/).each do |token|
|
24
|
+
next if token == "TOK_ERROR"
|
25
|
+
toks << token
|
26
|
+
end
|
27
|
+
end
|
28
|
+
}
|
29
|
+
toks.uniq
|
30
|
+
end
|
31
|
+
|
32
|
+
file GENERATED_NODE => "ext/spidermonkey/immutable_node.c.erb" do |t|
|
33
|
+
template = ERB.new(File.open(t.prerequisites.first, "rb") { |x| x.read })
|
34
|
+
File.open(GENERATED_NODE, "wb") { |f| f.write template.result(binding) }
|
35
|
+
end
|
36
|
+
|
37
|
+
file "ext/spidermonkey/extconf.rb" => GENERATED_NODE
|
@@ -0,0 +1,36 @@
|
|
1
|
+
namespace :test do
|
2
|
+
# partial-loads-ok and undef-value-errors necessary to ignore
|
3
|
+
# spurious (and eminently ignorable) warnings from the ruby
|
4
|
+
# interpreter
|
5
|
+
VALGRIND_BASIC_OPTS = "--num-callers=50 --error-limit=no --partial-loads-ok=yes --undef-value-errors=no"
|
6
|
+
|
7
|
+
desc "run test suite under valgrind with basic ruby options"
|
8
|
+
task :valgrind => :build do
|
9
|
+
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} #{test_suite_cmdline}"
|
10
|
+
puts cmdline
|
11
|
+
system cmdline
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "run test suite under valgrind with memory-fill ruby options"
|
15
|
+
task :valgrind_mem => :build do
|
16
|
+
# fill malloced memory with "m" and freed memory with "f"
|
17
|
+
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} --freelist-vol=100000000 --malloc-fill=6D --free-fill=66 #{test_suite_cmdline}"
|
18
|
+
puts cmdline
|
19
|
+
system cmdline
|
20
|
+
end
|
21
|
+
|
22
|
+
desc "run test suite under valgrind with memory-zero ruby options"
|
23
|
+
task :valgrind_mem0 => :build do
|
24
|
+
# fill malloced and freed memory with 0
|
25
|
+
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} --freelist-vol=100000000 --malloc-fill=00 --free-fill=00 #{test_suite_cmdline}"
|
26
|
+
puts cmdline
|
27
|
+
system cmdline
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "run test suite under gdb"
|
31
|
+
task :gdb => :build do
|
32
|
+
cmdline = "gdb --args #{test_suite_cmdline}"
|
33
|
+
puts cmdline
|
34
|
+
system cmdline
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
namespace :vendor do
|
2
|
+
namespace :spidermonkey do
|
3
|
+
desc "Clean the vendored SpiderMonkey."
|
4
|
+
task :clean do
|
5
|
+
Dir.chdir "vendor/spidermonkey" do
|
6
|
+
sh "make clean -f Makefile.ref" unless Dir["**/libjs.a"].empty?
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
desc "Compile the vendored SpiderMonkey."
|
11
|
+
task :compile do
|
12
|
+
Dir.chdir "vendor/spidermonkey" do
|
13
|
+
sh "make -f Makefile.ref" if Dir["**/libjs.a"].empty?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
task :clean => "vendor:spidermonkey:clean"
|
20
|
+
file "ext/spidermonkey/extconf.rb" => "vendor:spidermonkey:compile"
|
data/test/helper.rb
CHANGED
@@ -5,9 +5,6 @@ require "test/unit"
|
|
5
5
|
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), path)))
|
6
6
|
end
|
7
7
|
|
8
|
-
# If the test isn't running from Rake, make sure the extension's current.
|
9
|
-
Rake rescue Dir.chdir(File.dirname(__FILE__) + "/..") { %x(rake extensions) }
|
10
|
-
|
11
8
|
require "johnson"
|
12
9
|
|
13
10
|
module Johnson
|
@@ -33,14 +33,14 @@ module Johnson
|
|
33
33
|
assert_kind_of(Set, @runtime.evaluate("Ruby.Set.new()"))
|
34
34
|
end
|
35
35
|
|
36
|
-
def test_require_an_existing_js_file_without_extension
|
37
|
-
|
38
|
-
end
|
36
|
+
# def test_require_an_existing_js_file_without_extension
|
37
|
+
# assert_js("Johnson.require('johnson/template')")
|
38
|
+
# end
|
39
39
|
|
40
|
-
def test_require_returns_false_the_second_time_around
|
41
|
-
|
42
|
-
|
43
|
-
end
|
40
|
+
# def test_require_returns_false_the_second_time_around
|
41
|
+
# assert_js("Johnson.require('johnson/template')")
|
42
|
+
# assert(!@runtime.evaluate("Johnson.require('johnson/template')"))
|
43
|
+
# end
|
44
44
|
|
45
45
|
def test_missing_requires_throw_LoadError
|
46
46
|
assert_js(<<-END)
|