<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>mspec/lib/mspec/guards/user.rb</filename>
    </added>
    <added>
      <filename>mspec/lib/mspec/helpers/infinity.rb</filename>
    </added>
    <added>
      <filename>mspec/lib/mspec/helpers/nan.rb</filename>
    </added>
    <added>
      <filename>mspec/spec/guards/user_spec.rb</filename>
    </added>
    <added>
      <filename>mspec/spec/helpers/infinity_spec.rb</filename>
    </added>
    <added>
      <filename>mspec/spec/helpers/nan_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -13,4 +13,5 @@ require 'mspec/guards/runner'
 require 'mspec/guards/support'
 require 'mspec/guards/superuser'
 require 'mspec/guards/tty'
+require 'mspec/guards/user'
 require 'mspec/guards/version'</diff>
      <filename>mspec/lib/mspec/guards.rb</filename>
    </modified>
    <modified>
      <diff>@@ -123,6 +123,8 @@ class SpecGuard
         RUBY_NAME =~ /^ironruby/
       when :macruby
         RUBY_NAME =~ /^macruby/
+      when :maglev
+        RUBY_NAME =~ /^maglev/
       else
         false
       end</diff>
      <filename>mspec/lib/mspec/guards/guard.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,9 +7,11 @@ require 'mspec/helpers/environment'
 require 'mspec/helpers/fixture'
 require 'mspec/helpers/flunk'
 require 'mspec/helpers/hash'
+require 'mspec/helpers/infinity'
 require 'mspec/helpers/io'
 require 'mspec/helpers/language_version'
 require 'mspec/helpers/metaclass'
+require 'mspec/helpers/nan'
 require 'mspec/helpers/ruby_exe'
 require 'mspec/helpers/scratch'
 require 'mspec/helpers/tmp'</diff>
      <filename>mspec/lib/mspec/helpers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -76,6 +76,8 @@ class Object
         &quot;bin/rbx&quot;
       when 'jruby'
         &quot;bin/jruby&quot;
+      when 'maglev'
+        &quot;maglev-ruby&quot;
       when 'ironruby'
         &quot;ir&quot;
       end</diff>
      <filename>mspec/lib/mspec/helpers/ruby_exe.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,11 +37,7 @@ class RaiseErrorMatcher
   end
 
   def negative_failure_message
-    if @exception == Exception
-      [&quot;Expect to get no exception, but got #{@actual.class} (#{@actual.message})&quot;,&quot;&quot;]
-    else
-      [&quot;Expected to not get #{@exception}#{%[ (#{@message})] if @message}&quot;, &quot;&quot;]
-    end
+    [&quot;Expected to not get #{@exception}#{%[ (#{@message})] if @message}&quot;, &quot;&quot;]
   end
 end
 </diff>
      <filename>mspec/lib/mspec/matchers/raise_error.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,10 @@
 require 'mspec/expectations/expectations'
 require 'mspec/helpers/metaclass'
 
+class Object
+  alias_method :__mspec_object_id__, :object_id
+end
+
 module Mock
   def self.reset
     @mocks = @stubs = @objects = nil
@@ -19,7 +23,7 @@ module Mock
   end
 
   def self.replaced_name(obj, sym)
-    :&quot;__mspec_#{obj.__id__}_#{sym}__&quot;
+    :&quot;__mspec_#{obj.__mspec_object_id__}_#{sym}__&quot;
   end
 
   def self.replaced_key(obj, sym)
@@ -166,7 +170,7 @@ module Mock
       sym = key.last
       meta = obj.metaclass
 
-      if meta.instance_methods.map { |x| x.to_sym }.include?(replaced)
+      if mock_respond_to? obj, replaced
         meta.__send__ :alias_method, sym, replaced
         meta.__send__ :remove_method, replaced
       else</diff>
      <filename>mspec/lib/mspec/mocks/mock.rb</filename>
    </modified>
    <modified>
      <diff>@@ -221,6 +221,8 @@ class MSpecOptions
         config[:target] = 'jruby'
       when 'i','ironruby'
         config[:target] = 'ir'
+      when 'm','maglev'
+        config[:target] = 'maglev-ruby'
       else
         config[:target] = t
       end
@@ -233,6 +235,7 @@ class MSpecOptions
     doc &quot;     X or rbx               invokes rbx in PATH&quot;
     doc &quot;     j or jruby             invokes jruby in PATH&quot;
     doc &quot;     i or ironruby          invokes ir in PATH&quot;
+    doc &quot;     m or maglev            invokes maglev-ruby in PATH&quot;
     doc &quot;     full path to EXE       invokes EXE directly\n&quot;
 
     on(&quot;-T&quot;, &quot;--target-opt&quot;, &quot;OPT&quot;,</diff>
      <filename>mspec/lib/mspec/utils/options.rb</filename>
    </modified>
    <modified>
      <diff>@@ -180,6 +180,11 @@ describe SpecGuard, &quot;#implementation?&quot; do
     @guard.implementation?(:ironruby).should == true
   end
 
+  it &quot;returns true if passed :maglev and RUBY_NAME == 'maglev'&quot; do
+    Object.const_set :RUBY_NAME, 'maglev'
+    @guard.implementation?(:maglev).should == true
+  end
+
   it &quot;returns true if passed :ruby and RUBY_NAME matches /^ruby/&quot; do
     Object.const_set :RUBY_NAME, 'ruby'
     @guard.implementation?(:ruby).should == true
@@ -238,7 +243,7 @@ describe SpecGuard, &quot;#platform?&quot; do
   end
 
   it &quot;returns false when no arg matches RUBY_PLATFORM&quot; do
-    @guard.platform?(:ruby, :jruby, :rubinius).should == false
+    @guard.platform?(:ruby, :jruby, :rubinius, :maglev).should == false
   end
 
   it &quot;returns true when arg matches RUBY_PLATFORM&quot; do
@@ -246,7 +251,7 @@ describe SpecGuard, &quot;#platform?&quot; do
   end
 
   it &quot;returns true when any arg matches RUBY_PLATFORM&quot; do
-    @guard.platform?(:ruby, :jruby, :solarce, :rubinius).should == true
+    @guard.platform?(:ruby, :jruby, :solarce, :rubinius, :maglev).should == true
   end
 
   it &quot;returns true when arg is :windows and RUBY_PLATFORM contains 'mswin'&quot; do</diff>
      <filename>mspec/spec/guards/guard_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -46,6 +46,11 @@ describe &quot;#ruby_exe_options&quot; do
     @script.ruby_exe_options(:engine).should == 'ir'
   end
 
+  it &quot;returns 'maglev-ruby' when passed :engine and RUBY_NAME is 'maglev'&quot; do
+    Object.const_set :RUBY_NAME, 'maglev'
+    @script.ruby_exe_options(:engine).should == 'maglev-ruby'
+  end
+
   it &quot;returns RUBY_NAME + $(EXEEXT) when passed :name&quot; do
     bin = RUBY_NAME + (Config::CONFIG['EXEEXT'] || Config::CONFIG['exeext'] || '')
     name = File.join &quot;.&quot;, bin</diff>
      <filename>mspec/spec/helpers/ruby_exe_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,7 +22,7 @@ end
 describe Mock, &quot;.replaced_name&quot; do
   it &quot;returns the name for a method that is being replaced by a mock method&quot; do
     m = mock('a fake id')
-    m.stub!(:__id__).and_return(42)
+    m.stub!(:__mspec_object_id__).and_return(42)
     Mock.replaced_name(m, :method_call).should == :__mspec_42_method_call__
   end
 end
@@ -30,7 +30,7 @@ end
 describe Mock, &quot;.replaced_key&quot; do
   it &quot;returns a key used internally by Mock&quot; do
     m = mock('a fake id')
-    m.stub!(:__id__).and_return(42)
+    m.stub!(:__mspec_object_id__).and_return(42)
     Mock.replaced_key(m, :method_call).should == [:__mspec_42_method_call__, :method_call]
   end
 end</diff>
      <filename>mspec/spec/mocks/mock_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -587,6 +587,15 @@ describe &quot;The -t, --target TARGET option&quot; do
     end
   end
 
+  it &quot;sets the target to 'maglev' with TARGET 'm' or 'maglev'&quot; do
+    [&quot;-t&quot;, &quot;--target&quot;].each do |opt|
+      [&quot;m&quot;, &quot;maglev&quot;].each do |t|
+        @options.parse [opt, t]
+        @config[:target].should == &quot;maglev-ruby&quot;
+      end
+    end
+  end
+
   it &quot;sets the target to TARGET&quot; do
     [&quot;-t&quot;, &quot;--target&quot;].each do |opt|
       @options.parse [opt, &quot;whateva&quot;]</diff>
      <filename>mspec/spec/utils/options_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6eae43533ab0e994de789b01f2e689f7ef51e88b</id>
    </parent>
  </parents>
  <author>
    <name>Brian Ford</name>
    <email>bford@engineyard.com</email>
  </author>
  <url>http://github.com/evanphx/rubinius/commit/046e04f2008c4de85c9f7d57be5f40d11db072a4</url>
  <id>046e04f2008c4de85c9f7d57be5f40d11db072a4</id>
  <committed-date>2009-07-08T15:43:59-07:00</committed-date>
  <authored-date>2009-07-08T15:43:59-07:00</authored-date>
  <message>Updated MSpec source to fe6cb0ab.</message>
  <tree>dc2fcc724788cd74f442e209beade16e7ea3967e</tree>
  <committer>
    <name>Brian Ford</name>
    <email>bford@engineyard.com</email>
  </committer>
</commit>
