blockenspiel 0.2.2-java → 0.3.0-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/tests/tc_dynamic.rb CHANGED
@@ -51,7 +51,7 @@ module Blockenspiel
51
51
  # * Asserts that the simplest case works.
52
52
 
53
53
  def test_simple
54
- block_ = proc do
54
+ block_ = ::Proc.new do
55
55
  set_value(:a, 1)
56
56
  end
57
57
  hash_ = ::Hash.new
@@ -71,17 +71,17 @@ module Blockenspiel
71
71
 
72
72
  def test_renaming
73
73
  hash_ = ::Hash.new
74
- dsl_definition_ = proc do
74
+ dsl_definition_ = ::Proc.new do
75
75
  add_method(:set_value, :dsl_method => :renamed_set_value) do |key_, value_|
76
76
  hash_[key_] = value_
77
77
  end
78
78
  end
79
- block1_ = proc do
79
+ block1_ = ::Proc.new do
80
80
  renamed_set_value(:a, 1)
81
81
  assert_raise(::NoMethodError){ set_value(:b, 2) }
82
82
  end
83
83
  ::Blockenspiel.invoke(block1_, &dsl_definition_)
84
- block2_ = proc do |dsl_|
84
+ block2_ = ::Proc.new do |dsl_|
85
85
  dsl_.set_value(:c, 3)
86
86
  assert_raise(::NoMethodError){ renamed_set_value(:d, 4) }
87
87
  end
@@ -93,15 +93,53 @@ module Blockenspiel
93
93
  end
94
94
 
95
95
 
96
- # Test calls with blocks.
96
+ # Test calls with blocks passed the usual way.
97
+ # This works in MRI 1.8.7 or later. However, it does NOT currently
98
+ # work with JRuby 1.4 because of JRUBY-4180. So we disable this test
99
+ # for all versions of JRuby (for now) and for MRI < 1.8.7.
100
+ #
101
+ # * Asserts that a block passed the usual way works
102
+ # * Asserts that we can detect when a block has not been passed
103
+
104
+ if ::RUBY_PLATFORM != 'java' && ::RUBY_VERSION >= '1.8.7'
105
+ module_eval <<-END
106
+ def test_blocks_normal
107
+ hash_ = ::Hash.new
108
+ block_ = ::Proc.new do
109
+ set_value1(:a){ 1 }
110
+ set_value2(:b){ 2 }
111
+ set_value2(:c)
112
+ end
113
+ ::Blockenspiel.invoke(block_) do
114
+ add_method(:set_value1) do |key_, &bl_|
115
+ hash_[key_] = bl_.call
116
+ end
117
+ add_method(:set_value2) do |key_, &bl_|
118
+ hash_[key_] = bl_ ? true : false
119
+ end
120
+ end
121
+ assert_equal(1, hash_[:a])
122
+ assert_equal(true, hash_[:b])
123
+ assert_equal(false, hash_[:c])
124
+ end
125
+ END
126
+ end
127
+
128
+
129
+ # Test calls with blocks passed as non-block parameters.
97
130
  #
98
131
  # * Asserts that a block passed "first" works.
99
132
  # * Asserts that a block passed "last" works.
100
- # * Asserts that a block passed "last" works.
133
+ # * Asserts that a block passed "true" works.
101
134
 
102
135
  def test_blocks_first_and_last
103
136
  hash_ = ::Hash.new
104
- dsl_definition_ = proc do
137
+ block_ = ::Proc.new do
138
+ set_value1(:a){ 1 }
139
+ set_value2(:b){ 2 }
140
+ set_value2(:c){ 3 }
141
+ end
142
+ ::Blockenspiel.invoke(block_) do
105
143
  add_method(:set_value1, :block => :first) do |bl_, key_|
106
144
  hash_[key_] = bl_.call
107
145
  end
@@ -112,12 +150,6 @@ module Blockenspiel
112
150
  hash_[key_] = bl_.call
113
151
  end
114
152
  end
115
- block_ = proc do
116
- set_value1(:a){ 1 }
117
- set_value2(:b){ 2 }
118
- set_value2(:c){ 3 }
119
- end
120
- ::Blockenspiel.invoke(block_, &dsl_definition_)
121
153
  assert_equal(1, hash_[:a])
122
154
  assert_equal(2, hash_[:b])
123
155
  assert_equal(3, hash_[:c])
@@ -130,7 +162,11 @@ module Blockenspiel
130
162
 
131
163
  def test_blocks_nil
132
164
  hash_ = ::Hash.new
133
- dsl_definition_ = proc do
165
+ block_ = ::Proc.new do
166
+ set_value1(:a)
167
+ set_value2(:b)
168
+ end
169
+ ::Blockenspiel.invoke(block_) do
134
170
  add_method(:set_value1, :block => :first) do |bl_, key_|
135
171
  assert_nil(bl_)
136
172
  end
@@ -138,11 +174,6 @@ module Blockenspiel
138
174
  assert_nil(bl_)
139
175
  end
140
176
  end
141
- block_ = proc do
142
- set_value1(:a)
143
- set_value2(:b)
144
- end
145
- ::Blockenspiel.invoke(block_, &dsl_definition_)
146
177
  assert_nil(hash_[:a])
147
178
  assert_nil(hash_[:b])
148
179
  end
@@ -150,21 +181,18 @@ module Blockenspiel
150
181
 
151
182
  # Test calls with blocks (legacy api)
152
183
  #
153
- # * Asserts that a block passed "first" works.
154
- # * Asserts that a block passed "last" works.
155
- # * Asserts that a block passed "last" works.
184
+ # * Asserts that a block with receive_block works.
156
185
 
157
186
  def test_blocks_legacy
158
187
  hash_ = ::Hash.new
159
- dsl_definition_ = proc do
188
+ block_ = ::Proc.new do
189
+ set_value(:a){ 1 }
190
+ end
191
+ ::Blockenspiel.invoke(block_) do
160
192
  add_method(:set_value, :receive_block => true) do |key_, bl_|
161
193
  hash_[key_] = bl_.call
162
194
  end
163
195
  end
164
- block_ = proc do
165
- set_value(:a){ 1 }
166
- end
167
- ::Blockenspiel.invoke(block_, &dsl_definition_)
168
196
  assert_equal(1, hash_[:a])
169
197
  end
170
198
 
data/tests/tc_mixins.rb CHANGED
@@ -97,7 +97,7 @@ module Blockenspiel
97
97
  @my_instance_variable_test = :hello
98
98
  assert(!self.respond_to?(:set_value))
99
99
  assert(!self.respond_to?(:set_value2))
100
- block_ = proc do
100
+ block_ = ::Proc.new do
101
101
  set_value('a', 1)
102
102
  set_value2('b'){ 2 }
103
103
  assert_equal(:hello, @my_instance_variable_test)
@@ -121,7 +121,7 @@ module Blockenspiel
121
121
  assert(!self.respond_to?(:set_value))
122
122
  assert(!self.respond_to?(:set_value2))
123
123
  assert(!self.respond_to?(:set_value2_inmixin))
124
- block_ = proc do
124
+ block_ = ::Proc.new do
125
125
  set_value('a', 1)
126
126
  set_value2_inmixin('b'){ 2 }
127
127
  assert(!self.respond_to?(:set_value2))
@@ -146,11 +146,11 @@ module Blockenspiel
146
146
  assert(!self.respond_to?(:set_value))
147
147
  assert(!self.respond_to?(:set_value2))
148
148
  assert(!self.respond_to?(:set_value2_inmixin))
149
- ::Blockenspiel.invoke(proc do
149
+ ::Blockenspiel.invoke(::Proc.new do
150
150
  set_value('a', 1)
151
151
  set_value2('b'){ 2 }
152
152
  assert(!self.respond_to?(:set_value2_inmixin))
153
- ::Blockenspiel.invoke(proc do
153
+ ::Blockenspiel.invoke(::Proc.new do
154
154
  set_value('c', 1)
155
155
  set_value2_inmixin('d'){ 2 }
156
156
  end, Target2.new(hash_))
@@ -179,10 +179,10 @@ module Blockenspiel
179
179
  assert(!self.respond_to?(:set_value))
180
180
  assert(!self.respond_to?(:set_value2))
181
181
  assert(!self.respond_to?(:set_value2_inmixin))
182
- ::Blockenspiel.invoke(proc do
182
+ ::Blockenspiel.invoke(::Proc.new do
183
183
  set_value('a', 1)
184
184
  set_value2_inmixin('b'){ 2 }
185
- ::Blockenspiel.invoke(proc do
185
+ ::Blockenspiel.invoke(::Proc.new do
186
186
  set_value('c', 1)
187
187
  set_value2_inmixin('d'){ 2 }
188
188
  assert(!self.respond_to?(:set_value2))
@@ -208,12 +208,12 @@ module Blockenspiel
208
208
 
209
209
  def test_threads_same_mixin
210
210
  hash_ = ::Hash.new
211
- block1_ = proc do
211
+ block1_ = ::Proc.new do
212
212
  set_value('a', 1)
213
213
  sleep(0.5)
214
214
  set_value2('b'){ 2 }
215
215
  end
216
- block2_ = proc do
216
+ block2_ = ::Proc.new do
217
217
  set_value('c', 3)
218
218
  sleep(1)
219
219
  set_value2('d'){ 4 }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blockenspiel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: java
6
6
  authors:
7
7
  - Daniel Azuma
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-28 00:00:00 -07:00
12
+ date: 2009-11-04 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -21,6 +21,7 @@ extensions: []
21
21
 
22
22
  extra_rdoc_files:
23
23
  - README.rdoc
24
+ - Blockenspiel.rdoc
24
25
  - History.rdoc
25
26
  - ImplementingDSLblocks.rdoc
26
27
  files:
@@ -30,16 +31,18 @@ files:
30
31
  - lib/blockenspiel.rb
31
32
  - lib/blockenspiel/impl.rb
32
33
  - lib/blockenspiel/version.rb
34
+ - lib/blockenspiel_unmixer.jar
33
35
  - tests/tc_basic.rb
34
36
  - tests/tc_behaviors.rb
37
+ - tests/tc_dsl_attrs.rb
35
38
  - tests/tc_dsl_methods.rb
36
39
  - tests/tc_dynamic.rb
37
40
  - tests/tc_mixins.rb
41
+ - Blockenspiel.rdoc
38
42
  - History.rdoc
39
43
  - ImplementingDSLblocks.rdoc
40
44
  - README.rdoc
41
45
  - Rakefile
42
- - lib/blockenspiel_unmixer.jar
43
46
  has_rdoc: true
44
47
  homepage: http://virtuoso.rubyforge.org/blockenspiel
45
48
  licenses: []
@@ -71,6 +74,7 @@ summary: Blockenspiel is a helper library designed to make it easy to implement
71
74
  test_files:
72
75
  - tests/tc_basic.rb
73
76
  - tests/tc_behaviors.rb
77
+ - tests/tc_dsl_attrs.rb
74
78
  - tests/tc_dsl_methods.rb
75
79
  - tests/tc_dynamic.rb
76
80
  - tests/tc_mixins.rb