Qualified constants (and method calls) in 'define?' are actually quite 
interesting.

In:

defined? x(f(1))::y(f(2))::D

methods f, x, f, y are called (in this order) and if any of them throws an 
exception the exception is swallowed ($! is not set).
It seems that the code should actually do something like:

begin
  x(f(1))::y(f(2)).const_defined?(:D) ? 'constant' : nil
rescue Exception
end

Also 'defined?' on a method call:

defined? foo(1,2,3).bar(1,2,3)

should do:

begin
  foo(1,2,3).instance_methods.include? 'bar'
rescue Exception
end

Tomas

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Orion Edwards
Sent: Tuesday, October 21, 2008 7:04 PM
To: [email protected]
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner

I just ran rspec 1.1.9 (straight from github) on IronRuby build 167, and it 
appears to work (I only have a simple test, but hey).

I only had to make 2 changes:

rspec\lib\spec\extensions\main.rb:26 is

args.last[:spec_path] = File.expand_path(caller(0)[1])
IronRuby still doesn't seem to handle caller quite the same as MRI. I have no 
idea what that code is for, but I replaced it with this as a quick hack

args.last[:spec_path] = "."

and it seemed to work.
I encountered another problem using the 'have' matcher - rspec does this

if inflector = (defined?(ActiveSupport::Inflector) ? ActiveSupport::Inflector : 
(defined?(Inflector) ? Inflector : nil))
IronRuby throws uninitialized constant Object::ActiveSupport, whereas MRI just 
returns nil - it looks like IR isn't handling defined? on nested things 
properly yet.

To work around this I just put

module ActiveSupport; end
at the top of my ruby file to get around the nested module issue.

And presto!

C:\development\irtest>ir rspectest.rb

.



Finished in 2.072133 seconds



1 example, 0 failures



C:\development\irtest>ruby rspectest.rb

.



Finished in 0.053 seconds



1 example, 0 failures


The only problem now is that 2.07 seconds is somewhat larger than 0.053... I am 
using the debug build of ir though, as that's what rake:compile seems to give 
me.

Just playing with VS now to see if I can build a release version and try that

Ben Hall wrote:

Hi,



To get rspec to work you will need to modify the actual Ironruby

source.  I've raised bugs to get the changes required fixed, however I

did this based on 1.1.4, I think Cucumber will have a whole load more

bugs attached as it has more dependencies.



I know for a fact you won't be able to run Cucumber unmodified due to

existing bugs around gems.  (for example, gem needing .rb at the end

of the file to be able to find it)



However, I haven't had chance to take a closer look.



Ben







On Fri, Oct 17, 2008 at 2:53 PM, Curt Hagenlocher <[EMAIL 
PROTECTED]><mailto:[EMAIL PROTECTED]> wrote:



If you explicitly set the GEM_PATH before requiring gems, you should be able to 
use gems that are already present.  I haven't tried any other gem operations.



I assume you're running with the latest source?



-----Original Message-----

From: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> [mailto:[EMAIL PROTECTED] On 
Behalf Of Pat Gannon

Sent: Friday, October 17, 2008 1:30 AM

To: [email protected]<mailto:[email protected]>

Subject: [Ironruby-core] Cucumber / RSpec Story Runner



Has anyone tried to get Cucumber (or it's predecessor: the RSpec story

runner) to work with IronRuby?  I have not had any luck thus far (I am

extremely new to Ruby), and I would really like to be able to use

Cucumber to write executable feature documentation for my .NET code.



http://github.com/aslakhellesoy/cucumber/wikis



I copied it under the "lib" directory, as well as several of its

dependencies, but when I try to do "require

'cucumber-0.1.7/lib/cucumber'", ir (interactive ruby) fails with a stack

overflow.  The same thing happens when I try to require some its

dependencies manually (eg. "require 'hoe-1.8.0/lib/hoe'" and "require

'rake-0.8.3/lib/rake'"), but some work just fine (eg. "require

'polyglot-0.2.3/lib/polyglot'" and "require

'treetop-1.2.4/lib/treetop'").



I also tried to get gem working to aide me in this process, but I had

problems with that too.  Has anyone got gem working with IronRuby?



Thanks in advance!

Pat Gannon

--

Posted via http://www.ruby-forum.com/.

_______________________________________________

Ironruby-core mailing list

[email protected]<mailto:[email protected]>

http://rubyforge.org/mailman/listinfo/ironruby-core



_______________________________________________

Ironruby-core mailing list

[email protected]<mailto:[email protected]>

http://rubyforge.org/mailman/listinfo/ironruby-core





_______________________________________________

Ironruby-core mailing list

[email protected]<mailto:[email protected]>

http://rubyforge.org/mailman/listinfo/ironruby-core



--
Orion Edwards
Web Application Developer

T: +64 7 859 2120
F: +64 7 859 2320
E: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>

Open2view.com
The Real Estate Website

[cid:[email protected]]

<<inline: image001.jpg>>

_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to