johnson 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +8 -2
- data/Manifest.txt +0 -3
- data/README.rdoc +14 -21
- data/Rakefile +22 -24
- data/ext/spidermonkey/conversions.c +5 -5
- data/lib/johnson/version.rb +1 -1
- data/test/helper.rb +12 -0
- data/test/johnson/spidermonkey/js_land_proxy_test.rb +41 -0
- data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +18 -4
- metadata +13 -11
- data/johnson.gemspec +0 -44
- data/lib/tasks/gem.rake +0 -9
- data/lib/tasks/testing.rake +0 -36
data/CHANGELOG.rdoc
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
=== 1.1.
|
1
|
+
=== 1.1.1 / 2009-06-27
|
2
|
+
|
3
|
+
* Stress GC during tests by setting JOHNSON_GC env var. [Mike Dalessio]
|
4
|
+
* Better cross-language exception stack traces. [Mike Dalessio]
|
5
|
+
* Modernize our use of Hoe and plugins.
|
6
|
+
|
7
|
+
=== 1.1.0 / 2009-04-04
|
2
8
|
|
3
9
|
* Enough delays. First real/RubyForge release!
|
4
10
|
* Cleaned up the build.
|
@@ -6,6 +12,6 @@
|
|
6
12
|
* Fixed allocation-during-GC bugs.
|
7
13
|
* Added some new GC bugs.
|
8
14
|
|
9
|
-
=== 1.0.0
|
15
|
+
=== 1.0.0 / 2008-03-11
|
10
16
|
|
11
17
|
* Birthday!
|
data/Manifest.txt
CHANGED
@@ -31,7 +31,6 @@ ext/spidermonkey/runtime.c
|
|
31
31
|
ext/spidermonkey/runtime.h
|
32
32
|
ext/spidermonkey/spidermonkey.c
|
33
33
|
ext/spidermonkey/spidermonkey.h
|
34
|
-
johnson.gemspec
|
35
34
|
js/johnson/cli.js
|
36
35
|
js/johnson/prelude.js
|
37
36
|
lib/johnson.rb
|
@@ -65,9 +64,7 @@ lib/johnson/visitors/enumerating_visitor.rb
|
|
65
64
|
lib/johnson/visitors/sexp_visitor.rb
|
66
65
|
lib/johnson/visitors/visitor.rb
|
67
66
|
lib/rails/init.rb
|
68
|
-
lib/tasks/gem.rake
|
69
67
|
lib/tasks/parsing.rake
|
70
|
-
lib/tasks/testing.rake
|
71
68
|
lib/tasks/vendor.rake
|
72
69
|
test/helper.rb
|
73
70
|
test/johnson/browser_test.rb
|
data/README.rdoc
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
= Johnson
|
2
2
|
|
3
|
-
|
3
|
+
* http://github.com/jbarnette/johnson
|
4
|
+
* http://johnson.lighthouseapp.com
|
5
|
+
* http://groups.google.com/group/johnson-talk
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
|
7
|
+
== Description
|
8
|
+
|
9
|
+
Johnson wraps JavaScript in a loving Ruby embrace. It embeds the
|
10
|
+
Mozilla SpiderMonkey JavaScript runtime as a C extension.
|
8
11
|
|
9
12
|
== Examples
|
10
13
|
|
@@ -16,28 +19,18 @@ Johnson wraps JavaScript in a loving Ruby embrace.
|
|
16
19
|
|
17
20
|
== Installation
|
18
21
|
|
19
|
-
|
20
|
-
|
21
|
-
=== Restrictions
|
22
|
-
|
23
|
-
Johnson is currently developed and tested on Mac OS X with Ruby
|
24
|
-
1.8.6. We'd like to widen our support: contributions are very welcome!
|
25
|
-
|
26
|
-
It's also kinda segfaulty at the moment. GC is hard.
|
27
|
-
|
28
|
-
=== Development Versions
|
22
|
+
$ gem install johnson
|
29
23
|
|
30
|
-
|
31
|
-
installing the official releases (hosted on RubyForge), you can track
|
32
|
-
the development version. Development versions will have a timestamped
|
33
|
-
version number, like 1.0.0.200806232349.
|
24
|
+
=== TODO
|
34
25
|
|
35
|
-
|
36
|
-
|
26
|
+
* Support more than just Mac OS X / Ruby 1.8.6.
|
27
|
+
* Stop freaking segfaulting.
|
37
28
|
|
38
29
|
== License
|
39
30
|
|
40
|
-
Copyright 2008-2009 John Barnette,
|
31
|
+
Copyright 2008-2009 John Barnette,
|
32
|
+
Aaron Patterson,
|
33
|
+
Yehuda Katz,
|
41
34
|
Matthew Draper
|
42
35
|
|
43
36
|
Permission is hereby granted, free of charge, to any person obtaining
|
data/Rakefile
CHANGED
@@ -2,30 +2,28 @@ require "rubygems"
|
|
2
2
|
require "hoe"
|
3
3
|
require "rake/extensiontask"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
HOE = Hoe.
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
p.extra_dev_deps << "rake-compiler"
|
28
|
-
p.spec_extras = { :extensions => %w(Rakefile) }
|
5
|
+
Hoe.plugin :debugging, :git
|
6
|
+
|
7
|
+
HOE = Hoe.spec "johnson" do
|
8
|
+
developer "John Barnette", "jbarnette@rubyforge.org"
|
9
|
+
developer "Aaron Patterson", "aaron.patterson@gmail.com"
|
10
|
+
developer "Yehuda Katz", "wycats@gmail.com"
|
11
|
+
developer "Matthew Draper", "matthew@trebex.net"
|
12
|
+
|
13
|
+
self.extra_rdoc_files = FileList["*.rdoc"]
|
14
|
+
self.history_file = "CHANGELOG.rdoc"
|
15
|
+
self.readme_file = "README.rdoc"
|
16
|
+
self.test_globs = %w(test/**/*_test.rb)
|
17
|
+
|
18
|
+
clean_globs << "lib/johnson/spidermonkey.bundle"
|
19
|
+
clean_globs << "tmp"
|
20
|
+
clean_globs << "vendor/spidermonkey/**/*.OBJ"
|
21
|
+
clean_globs << "ext/**/*.{o,so,bundle,a,log}"
|
22
|
+
|
23
|
+
# FIX: this crap needs to die
|
24
|
+
extra_deps << "rake"
|
25
|
+
extra_dev_deps << "rake-compiler"
|
26
|
+
self.spec_extras = { :extensions => %w(Rakefile) }
|
29
27
|
end
|
30
28
|
|
31
29
|
Rake::ExtensionTask.new "spidermonkey", HOE.spec do |ext|
|
@@ -297,12 +297,12 @@ JSBool report_ruby_error_in_js(JohnsonRuntime* runtime, int state, VALUE old_err
|
|
297
297
|
case TAG_RAISE:
|
298
298
|
{
|
299
299
|
VALUE local_error = ruby_errinfo;
|
300
|
-
jsval js_err;
|
301
300
|
ruby_errinfo = old_errinfo;
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
301
|
+
|
302
|
+
local_error = rb_funcall(local_error, rb_intern("inspect"), 0);
|
303
|
+
JS_ReportError(context, StringValuePtr(local_error));
|
304
|
+
|
305
|
+
return JS_FALSE ;
|
306
306
|
}
|
307
307
|
|
308
308
|
case TAG_THROW:
|
data/lib/johnson/version.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -8,7 +8,18 @@ end
|
|
8
8
|
require "johnson"
|
9
9
|
|
10
10
|
module Johnson
|
11
|
+
module GCTearDown
|
12
|
+
def teardown
|
13
|
+
if ENV['JOHNSON_GC']
|
14
|
+
STDOUT.putc '!'
|
15
|
+
GC.start
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
11
20
|
class TestCase < Test::Unit::TestCase
|
21
|
+
include GCTearDown
|
22
|
+
|
12
23
|
class TestLogger
|
13
24
|
def debug(string)
|
14
25
|
puts string
|
@@ -36,6 +47,7 @@ module Johnson
|
|
36
47
|
end
|
37
48
|
|
38
49
|
class NodeTestCase < Test::Unit::TestCase
|
50
|
+
include GCTearDown
|
39
51
|
include Johnson::Nodes
|
40
52
|
|
41
53
|
undef :default_test if method_defined? :default_test
|
@@ -231,6 +231,47 @@ module Johnson
|
|
231
231
|
def test_raises_exception_to_ruby
|
232
232
|
assert_raise(Johnson::Error) { @runtime.evaluate("undefinedValue();") }
|
233
233
|
end
|
234
|
+
|
235
|
+
def test_js_property_false_should_not_invoke
|
236
|
+
klass = Class.new do
|
237
|
+
def bar ; 10 ; end
|
238
|
+
def js_property?(name) ; false ; end
|
239
|
+
end
|
240
|
+
@runtime['foo'] = foo = klass.new
|
241
|
+
assert_equal foo.method(:bar), @runtime.evaluate("foo.bar")
|
242
|
+
end
|
243
|
+
|
244
|
+
def test_js_property_nil_should_not_invoke
|
245
|
+
klass = Class.new do
|
246
|
+
def bar ; 10 ; end
|
247
|
+
def js_property?(name) ; nil ; end
|
248
|
+
end
|
249
|
+
foo = klass.new
|
250
|
+
assert_js_equal(foo.method(:bar), "foo.bar", :foo => foo)
|
251
|
+
end
|
252
|
+
|
253
|
+
def test_js_property_true_should_invoke_0_arity
|
254
|
+
klass = Class.new do
|
255
|
+
def bar ; 10 ; end
|
256
|
+
def js_property?(name) ; true ; end
|
257
|
+
end
|
258
|
+
assert_js_equal(10, "foo.bar", :foo => klass.new)
|
259
|
+
end
|
260
|
+
|
261
|
+
def test_js_property_on_n_arity_should_raise_exception
|
262
|
+
klass = Class.new do
|
263
|
+
def bar(n) ; 10 + n ; end
|
264
|
+
def js_property?(name) ; true ; end
|
265
|
+
end
|
266
|
+
@runtime['foo'] = klass.new
|
267
|
+
begin
|
268
|
+
@runtime.evaluate("foo.bar")
|
269
|
+
rescue Exception => e
|
270
|
+
assert_match(/ArgumentError/, e.message)
|
271
|
+
else
|
272
|
+
flunk "did not raise an exception"
|
273
|
+
end
|
274
|
+
end
|
234
275
|
end
|
235
276
|
end
|
236
277
|
end
|
@@ -204,11 +204,25 @@ module Johnson
|
|
204
204
|
end
|
205
205
|
|
206
206
|
def test_raises_in_js
|
207
|
-
|
208
|
-
|
209
|
-
|
207
|
+
@runtime["foo"] = lambda { raise RuntimeError.new("an exception") }
|
208
|
+
raised = @runtime.evaluate "x = null; try { foo(); } catch(ex) { x = ex; }; x"
|
209
|
+
assert_equal "#<RuntimeError: an exception>", raised.message
|
210
210
|
end
|
211
|
-
|
211
|
+
|
212
|
+
def test_uncaught_exceptions_have_decent_stack_trace
|
213
|
+
@runtime["foo"] = lambda { raise RuntimeError.new("an exception") }
|
214
|
+
line_number = __LINE__ - 1 # reference to previous line
|
215
|
+
begin
|
216
|
+
@runtime.evaluate "foo()"
|
217
|
+
rescue Exception => e
|
218
|
+
assert_equal "#<RuntimeError: an exception> at (none):1", e.message
|
219
|
+
assert_match %r/none:1\b/, e.backtrace[0]
|
220
|
+
assert_match %r/#{__FILE__}:#{line_number}\b/, e.backtrace[1]
|
221
|
+
else
|
222
|
+
flunk "exception was not raised"
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
212
226
|
def test_array_multiple_assignment
|
213
227
|
a = @runtime.evaluate("[1,2,3]")
|
214
228
|
x, y, z = a
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: johnson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-
|
15
|
+
date: 2009-06-27 00:00:00 -07:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
@@ -43,9 +43,11 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 2.3.1
|
47
47
|
version:
|
48
|
-
description:
|
48
|
+
description: |-
|
49
|
+
Johnson wraps JavaScript in a loving Ruby embrace. It embeds the
|
50
|
+
Mozilla SpiderMonkey JavaScript runtime as a C extension.
|
49
51
|
email:
|
50
52
|
- jbarnette@rubyforge.org
|
51
53
|
- aaron.patterson@gmail.com
|
@@ -58,6 +60,7 @@ extensions:
|
|
58
60
|
extra_rdoc_files:
|
59
61
|
- Manifest.txt
|
60
62
|
- docs/cross-compile.txt
|
63
|
+
- CHANGELOG.rdoc
|
61
64
|
- README.rdoc
|
62
65
|
files:
|
63
66
|
- .autotest
|
@@ -93,7 +96,6 @@ files:
|
|
93
96
|
- ext/spidermonkey/runtime.h
|
94
97
|
- ext/spidermonkey/spidermonkey.c
|
95
98
|
- ext/spidermonkey/spidermonkey.h
|
96
|
-
- johnson.gemspec
|
97
99
|
- js/johnson/cli.js
|
98
100
|
- js/johnson/prelude.js
|
99
101
|
- lib/johnson.rb
|
@@ -127,9 +129,7 @@ files:
|
|
127
129
|
- lib/johnson/visitors/sexp_visitor.rb
|
128
130
|
- lib/johnson/visitors/visitor.rb
|
129
131
|
- lib/rails/init.rb
|
130
|
-
- lib/tasks/gem.rake
|
131
132
|
- lib/tasks/parsing.rake
|
132
|
-
- lib/tasks/testing.rake
|
133
133
|
- lib/tasks/vendor.rake
|
134
134
|
- test/helper.rb
|
135
135
|
- test/johnson/browser_test.rb
|
@@ -431,7 +431,9 @@ files:
|
|
431
431
|
- vendor/spidermonkey/rules.mk
|
432
432
|
- vendor/spidermonkey/win32.order
|
433
433
|
has_rdoc: true
|
434
|
-
homepage: http://github.com/jbarnette/johnson
|
434
|
+
homepage: http://github.com/jbarnette/johnson
|
435
|
+
licenses: []
|
436
|
+
|
435
437
|
post_install_message:
|
436
438
|
rdoc_options:
|
437
439
|
- --main
|
@@ -454,10 +456,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
454
456
|
requirements: []
|
455
457
|
|
456
458
|
rubyforge_project: johnson
|
457
|
-
rubygems_version: 1.3.
|
459
|
+
rubygems_version: 1.3.4
|
458
460
|
signing_key:
|
459
|
-
specification_version:
|
460
|
-
summary: Johnson wraps JavaScript in a loving Ruby embrace
|
461
|
+
specification_version: 3
|
462
|
+
summary: Johnson wraps JavaScript in a loving Ruby embrace
|
461
463
|
test_files:
|
462
464
|
- test/johnson/browser_test.rb
|
463
465
|
- test/johnson/conversions/array_test.rb
|
data/johnson.gemspec
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = %q{johnson}
|
5
|
-
s.version = "1.0.0.20090402155420"
|
6
|
-
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["John Barnette", "Aaron Patterson", "Yehuda Katz", "Matthew Draper"]
|
9
|
-
s.date = %q{2009-04-02}
|
10
|
-
s.default_executable = %q{johnson}
|
11
|
-
s.description = %q{}
|
12
|
-
s.email = ["jbarnette@rubyforge.org", "aaron.patterson@gmail.com", "wycats@gmail.com", "matthew@trebex.net"]
|
13
|
-
s.executables = ["johnson"]
|
14
|
-
s.extensions = ["Rakefile"]
|
15
|
-
s.extra_rdoc_files = ["Manifest.txt", "docs/cross-compile.txt", "README.rdoc"]
|
16
|
-
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
|
-
s.has_rdoc = true
|
18
|
-
s.homepage = %q{http://github.com/jbarnette/johnson/wikis}
|
19
|
-
s.rdoc_options = ["--main", "README.rdoc"]
|
20
|
-
s.require_paths = ["lib", "ext"]
|
21
|
-
s.rubyforge_project = %q{johnson}
|
22
|
-
s.rubygems_version = %q{1.3.1}
|
23
|
-
s.summary = %q{Johnson wraps JavaScript in a loving Ruby embrace.}
|
24
|
-
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
|
-
|
26
|
-
if s.respond_to? :specification_version then
|
27
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
28
|
-
s.specification_version = 2
|
29
|
-
|
30
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
31
|
-
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
32
|
-
s.add_development_dependency(%q<rake-compiler>, [">= 0"])
|
33
|
-
s.add_development_dependency(%q<hoe>, [">= 1.12.1"])
|
34
|
-
else
|
35
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
36
|
-
s.add_dependency(%q<rake-compiler>, [">= 0"])
|
37
|
-
s.add_dependency(%q<hoe>, [">= 1.12.1"])
|
38
|
-
end
|
39
|
-
else
|
40
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
41
|
-
s.add_dependency(%q<rake-compiler>, [">= 0"])
|
42
|
-
s.add_dependency(%q<hoe>, [">= 1.12.1"])
|
43
|
-
end
|
44
|
-
end
|
data/lib/tasks/gem.rake
DELETED
data/lib/tasks/testing.rake
DELETED
@@ -1,36 +0,0 @@
|
|
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 => :compile do
|
9
|
-
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} ruby #{HOE.make_test_cmd}"
|
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 => :compile 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 ruby #{HOE.make_test_cmd}"
|
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 => :compile do
|
24
|
-
# fill malloced and freed memory with 0
|
25
|
-
cmdline = "valgrind #{VALGRIND_BASIC_OPTS} --freelist-vol=100000000 --malloc-fill=00 --free-fill=00 ruby #{HOE.make_test_cmd}"
|
26
|
-
puts cmdline
|
27
|
-
system cmdline
|
28
|
-
end
|
29
|
-
|
30
|
-
desc "run test suite under gdb"
|
31
|
-
task :gdb => :compile do
|
32
|
-
cmdline = "gdb --args ruby #{HOE.make_test_cmd}"
|
33
|
-
puts cmdline
|
34
|
-
system cmdline
|
35
|
-
end
|
36
|
-
end
|