boc 0.4.2-java
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/CHANGES.rdoc +21 -0
- data/README.rdoc +119 -0
- data/Rakefile +139 -0
- data/devel/levitate.rb +852 -0
- data/ext/boc/boc.c +136 -0
- data/ext/boc/extconf.rb +2 -0
- data/jext/boc/BocService.java +111 -0
- data/lib/boc.rb +108 -0
- data/lib/boc/binding_of_caller.rb +11 -0
- data/lib/boc/boc.jar +0 -0
- data/lib/boc/version.rb +3 -0
- data/test/basic_test.rb +209 -0
- data/test/jruby_trial.rb +20 -0
- data/test/main.rb +56 -0
- data/test/readme_test.rb +9 -0
- data/test/shim_test.rb +26 -0
- metadata +88 -0
data/test/jruby_trial.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative 'main'
|
2
|
+
|
3
|
+
class JrubyTest < BocTest
|
4
|
+
require 'jruby'
|
5
|
+
prop = "jruby.astInspector.enabled"
|
6
|
+
puts("#{prop}: " + java.lang.System.get_properties[prop].inspect)
|
7
|
+
|
8
|
+
class A
|
9
|
+
def f
|
10
|
+
eval("x", Boc.value)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_explosion
|
15
|
+
#p { }
|
16
|
+
Boc.enable A, :f
|
17
|
+
x = 33
|
18
|
+
assert_equal 33, A.new.f
|
19
|
+
end
|
20
|
+
end if RUBY_ENGINE == "jruby"
|
data/test/main.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
|
2
|
+
|
3
|
+
require 'minitest/unit'
|
4
|
+
require 'minitest/autorun' unless defined? Rake
|
5
|
+
|
6
|
+
require 'pp'
|
7
|
+
require 'boc'
|
8
|
+
|
9
|
+
class JLMiniTest < MiniTest::Unit::TestCase
|
10
|
+
def self.test_methods
|
11
|
+
default = super
|
12
|
+
onlies = default.select { |m| m =~ %r!__only\Z! }
|
13
|
+
if onlies.empty?
|
14
|
+
default
|
15
|
+
else
|
16
|
+
puts "\nNOTE: running ONLY *__only tests for #{self}"
|
17
|
+
onlies
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def delim(char)
|
22
|
+
"\n" << (char*72) << "\n"
|
23
|
+
end
|
24
|
+
|
25
|
+
def mu_pp(obj)
|
26
|
+
delim("_") <<
|
27
|
+
obj.pretty_inspect.chomp <<
|
28
|
+
delim("=")
|
29
|
+
end
|
30
|
+
|
31
|
+
def unfixable
|
32
|
+
begin
|
33
|
+
yield
|
34
|
+
raise "claimed to be unfixable, but assertion succeeded"
|
35
|
+
rescue MiniTest::Assertion
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def assert_nothing_raised
|
40
|
+
yield
|
41
|
+
assert_nil nil
|
42
|
+
rescue => ex
|
43
|
+
raise MiniTest::Assertion,
|
44
|
+
exception_details(ex, "Expected nothing raised, but got:")
|
45
|
+
end
|
46
|
+
|
47
|
+
%w[
|
48
|
+
empty equal in_delta in_epsilon includes instance_of
|
49
|
+
kind_of match nil operator respond_to same
|
50
|
+
].each { |name|
|
51
|
+
alias_method "assert_not_#{name}", "refute_#{name}"
|
52
|
+
}
|
53
|
+
end
|
54
|
+
|
55
|
+
BocTest = JLMiniTest
|
56
|
+
|
data/test/readme_test.rb
ADDED
data/test/shim_test.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative 'main'
|
2
|
+
|
3
|
+
class ShimTest < BocTest
|
4
|
+
def initialize(*args)
|
5
|
+
super
|
6
|
+
require 'boc/binding_of_caller'
|
7
|
+
end
|
8
|
+
|
9
|
+
class A
|
10
|
+
def f
|
11
|
+
Binding.of_caller do |bind|
|
12
|
+
eval("x", bind) + 11
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def g
|
17
|
+
x = 33
|
18
|
+
f
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_old_style
|
23
|
+
Boc.enable A, :f
|
24
|
+
assert_equal 44, A.new.g
|
25
|
+
end
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: boc
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.4.2
|
6
|
+
platform: java
|
7
|
+
authors:
|
8
|
+
- James M. Lawrence
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-03-21 00:00:00 -04:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: rake-compiler
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.7.6
|
25
|
+
type: :development
|
26
|
+
version_requirements: *id001
|
27
|
+
description: "Binding of caller: obtain a caller's binding."
|
28
|
+
email:
|
29
|
+
- quixoticsycophant@gmail.com
|
30
|
+
executables: []
|
31
|
+
|
32
|
+
extensions: []
|
33
|
+
|
34
|
+
extra_rdoc_files:
|
35
|
+
- README.rdoc
|
36
|
+
- CHANGES.rdoc
|
37
|
+
files:
|
38
|
+
- CHANGES.rdoc
|
39
|
+
- README.rdoc
|
40
|
+
- Rakefile
|
41
|
+
- devel/levitate.rb
|
42
|
+
- ext/boc/boc.c
|
43
|
+
- ext/boc/extconf.rb
|
44
|
+
- jext/boc/BocService.java
|
45
|
+
- lib/boc.rb
|
46
|
+
- lib/boc/binding_of_caller.rb
|
47
|
+
- lib/boc/version.rb
|
48
|
+
- test/basic_test.rb
|
49
|
+
- test/jruby_trial.rb
|
50
|
+
- test/main.rb
|
51
|
+
- test/readme_test.rb
|
52
|
+
- test/shim_test.rb
|
53
|
+
- lib/boc/boc.jar
|
54
|
+
has_rdoc: true
|
55
|
+
homepage: http://quix.github.com/boc
|
56
|
+
licenses: []
|
57
|
+
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options:
|
60
|
+
- --main
|
61
|
+
- README.rdoc
|
62
|
+
- --title
|
63
|
+
- "boc: Binding of caller"
|
64
|
+
- --exclude
|
65
|
+
- lib/boc/binding_of_caller.rb
|
66
|
+
require_paths:
|
67
|
+
- lib
|
68
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 1.9.2
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "0"
|
80
|
+
requirements: []
|
81
|
+
|
82
|
+
rubyforge_project:
|
83
|
+
rubygems_version: 1.6.2
|
84
|
+
signing_key:
|
85
|
+
specification_version: 3
|
86
|
+
summary: Binding of caller.
|
87
|
+
test_files: []
|
88
|
+
|