I don't know if this is due to rspec behavior or rubyclr behavior, so I have posted in both places. (Sorry for
the dupe.)
I'm trying to use rspec with .NET code. I've toyed with rubyclr before and it works. For example, the following prints
out "count = 0":
require 'rubyclr'
include System::Collections
list = ArrayList.new
puts "count = #{list.Count}"
Now, when I try to do something similar using rspec, I get errors. The error is when calling the ArrayList constructor
inside the rspec context/setup.
__Code__:
require 'rubyclr'
include System::Collections
context "An array list" do
setup do
@list = ArrayList.new
end
specify "starts empty" do
@list.Count.should == 0
end
end
__Error__:
C:\>spec arraylist_spec.rb -f s -b
An array list
- starts empty (ERROR - 1)
1)
NoMethodError in 'An array list starts empty'
undefined method `ldc_i4' for #<Generator:0x3f95f08>
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/expectations/sugar.rb:13:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/expectations/sugar.rb:13:in
`_method_missing'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/expectations/sugar.rb:9:in `method_missing'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/generate.rb:31:in `match_sig'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/generate.rb:156:in `ctor_shim'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/dynamicmethod.rb:63:in `instance_eval'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/dynamicmethod.rb:63:in `core_create_sa
fe_ruby_method'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/dynamicmethod.rb:48:in `core_create_ru
by_method'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/dynamicmethod.rb:61:in `core_create_sa
fe_ruby_method'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/dynamicmethod.rb:89:in `create_safe_ru
by_instance_method'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/generate.rb:153:in `ctor_shim'
c:/ruby/lib/ruby/gems/1.8/gems/rubyclr-0.5.2-
mswin32/Src/Ruby/core.rb:21:in `initialize'
./arraylist_spec.rb:7:in `new'
./arraylist_spec.rb:7:
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_eval.rb:129:in
`instance_eval'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_eval.rb:129:in
`create_block_fr
om_parts'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_eval.rb:125:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_eval.rb:125:in
`create_block_fr
om_parts'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/specification.rb:47:in
`instance_eval'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/specification.rb:47:in `setup_spec'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/specification.rb:29:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context.rb:57:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context.rb:54:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context.rb:54:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_runner.rb:23:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_runner.rb:22:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/context_runner.rb:22:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-
0.7.5.1/lib/spec/runner/command_line.rb:26:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rspec-0.7.5.1/bin/spec:4
c:/ruby/bin/spec:16:in `load'
c:/ruby/bin/spec:16
Finished in 0.157 seconds
1 specification, 1 failure |