johnson 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|