[macruby-changes] [2413] MacRuby/trunk/mspec
source_changes at macosforge.org
source_changes at macosforge.org
Fri Aug 28 16:39:55 PDT 2009
Revision: 2413
http://trac.macosforge.org/projects/ruby/changeset/2413
Author: eloy.de.enige at gmail.com
Date: 2009-08-28 16:39:55 -0700 (Fri, 28 Aug 2009)
Log Message:
-----------
Updated MSpec to ef4487f3cab0f9ce30c37e43cf9641c6ff791162
Modified Paths:
--------------
MacRuby/trunk/mspec/lib/mspec/mocks/mock.rb
MacRuby/trunk/mspec/lib/mspec/runner/object.rb
MacRuby/trunk/mspec/spec/mocks/mock_spec.rb
MacRuby/trunk/mspec/upstream
Removed Paths:
-------------
MacRuby/trunk/mspec/upstream_patch.diff
Modified: MacRuby/trunk/mspec/lib/mspec/mocks/mock.rb
===================================================================
--- MacRuby/trunk/mspec/lib/mspec/mocks/mock.rb 2009-08-28 23:39:32 UTC (rev 2412)
+++ MacRuby/trunk/mspec/lib/mspec/mocks/mock.rb 2009-08-28 23:39:55 UTC (rev 2413)
@@ -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 @@
end
def self.replaced_name(obj, sym)
- :"__mspec_#{obj.__id__}_#{sym}__"
+ :"__mspec_#{obj.__mspec_object_id__}_#{sym}__"
end
def self.replaced_key(obj, sym)
@@ -166,7 +170,7 @@
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
Modified: MacRuby/trunk/mspec/lib/mspec/runner/object.rb
===================================================================
--- MacRuby/trunk/mspec/lib/mspec/runner/object.rb 2009-08-28 23:39:32 UTC (rev 2412)
+++ MacRuby/trunk/mspec/lib/mspec/runner/object.rb 2009-08-28 23:39:55 UTC (rev 2413)
@@ -19,6 +19,10 @@
MSpec.current.it_should_behave_like desc
end
+ # For ReadRuby compatiability
+ def doc(*a)
+ end
+
alias_method :context, :describe
alias_method :specify, :it
end
Modified: MacRuby/trunk/mspec/spec/mocks/mock_spec.rb
===================================================================
--- MacRuby/trunk/mspec/spec/mocks/mock_spec.rb 2009-08-28 23:39:32 UTC (rev 2412)
+++ MacRuby/trunk/mspec/spec/mocks/mock_spec.rb 2009-08-28 23:39:55 UTC (rev 2413)
@@ -22,7 +22,7 @@
describe Mock, ".replaced_name" do
it "returns the name for a method that is being replaced by a mock method" 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 @@
describe Mock, ".replaced_key" do
it "returns a key used internally by Mock" 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
Modified: MacRuby/trunk/mspec/upstream
===================================================================
--- MacRuby/trunk/mspec/upstream 2009-08-28 23:39:32 UTC (rev 2412)
+++ MacRuby/trunk/mspec/upstream 2009-08-28 23:39:55 UTC (rev 2413)
@@ -1 +1 @@
-e8129536bba5624579112283197a5138134be28b
\ No newline at end of file
+ef4487f3cab0f9ce30c37e43cf9641c6ff791162
\ No newline at end of file
Deleted: MacRuby/trunk/mspec/upstream_patch.diff
===================================================================
--- MacRuby/trunk/mspec/upstream_patch.diff 2009-08-28 23:39:32 UTC (rev 2412)
+++ MacRuby/trunk/mspec/upstream_patch.diff 2009-08-28 23:39:55 UTC (rev 2413)
@@ -1,257 +0,0 @@
-diff --git a/lib/mspec/guards.rb b/lib/mspec/guards.rb
-index 71aa742..534e270 100644
---- a/lib/mspec/guards.rb
-+++ b/lib/mspec/guards.rb
-@@ -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 --git a/lib/mspec/guards/guard.rb b/lib/mspec/guards/guard.rb
-index 667909c..6a9d91d 100644
---- a/lib/mspec/guards/guard.rb
-+++ b/lib/mspec/guards/guard.rb
-@@ -123,6 +123,8 @@ class SpecGuard
- RUBY_NAME =~ /^ironruby/
- when :macruby
- RUBY_NAME =~ /^macruby/
-+ when :maglev
-+ RUBY_NAME =~ /^maglev/
- else
- false
- end
-diff --git a/lib/mspec/guards/user.rb b/lib/mspec/guards/user.rb
-new file mode 100644
-index 0000000..83e77ce
---- /dev/null
-+++ b/lib/mspec/guards/user.rb
-@@ -0,0 +1,17 @@
-+require 'mspec/guards/guard'
-+
-+class UserGuard < SpecGuard
-+ def match?
-+ Process.euid != 0
-+ end
-+end
-+
-+class Object
-+ def as_user
-+ g = UserGuard.new
-+ g.name = :as_user
-+ yield if g.yield?
-+ ensure
-+ g.unregister
-+ end
-+end
-diff --git a/lib/mspec/helpers.rb b/lib/mspec/helpers.rb
-index ec0ac44..47a2959 100644
---- a/lib/mspec/helpers.rb
-+++ b/lib/mspec/helpers.rb
-@@ -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 --git a/lib/mspec/helpers/infinity.rb b/lib/mspec/helpers/infinity.rb
-new file mode 100644
-index 0000000..0e757ed
---- /dev/null
-+++ b/lib/mspec/helpers/infinity.rb
-@@ -0,0 +1,5 @@
-+class Object
-+ def infinity_value
-+ 1/0.0
-+ end
-+end
-diff --git a/lib/mspec/helpers/nan.rb b/lib/mspec/helpers/nan.rb
-new file mode 100644
-index 0000000..2e7f50b
---- /dev/null
-+++ b/lib/mspec/helpers/nan.rb
-@@ -0,0 +1,5 @@
-+class Object
-+ def nan_value
-+ 0/0.0
-+ end
-+end
-diff --git a/lib/mspec/helpers/ruby_exe.rb b/lib/mspec/helpers/ruby_exe.rb
-index 1b71901..c72c0e5 100644
---- a/lib/mspec/helpers/ruby_exe.rb
-+++ b/lib/mspec/helpers/ruby_exe.rb
-@@ -76,6 +76,8 @@ class Object
- "bin/rbx"
- when 'jruby'
- "bin/jruby"
-+ when 'maglev'
-+ "maglev-ruby"
- when 'ironruby'
- "ir"
- end
-diff --git a/lib/mspec/utils/options.rb b/lib/mspec/utils/options.rb
-index c79de39..fe9c97c 100644
---- a/lib/mspec/utils/options.rb
-+++ b/lib/mspec/utils/options.rb
-@@ -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 " X or rbx invokes rbx in PATH"
- doc " j or jruby invokes jruby in PATH"
- doc " i or ironruby invokes ir in PATH"
-+ doc " m or maglev invokes maglev-ruby in PATH"
- doc " full path to EXE invokes EXE directly\n"
-
- on("-T", "--target-opt", "OPT",
-diff --git a/spec/guards/guard_spec.rb b/spec/guards/guard_spec.rb
-index ee4c6c7..dcac5b6 100644
---- a/spec/guards/guard_spec.rb
-+++ b/spec/guards/guard_spec.rb
-@@ -180,6 +180,11 @@ describe SpecGuard, "#implementation?" do
- @guard.implementation?(:ironruby).should == true
- end
-
-+ it "returns true if passed :maglev and RUBY_NAME == 'maglev'" do
-+ Object.const_set :RUBY_NAME, 'maglev'
-+ @guard.implementation?(:maglev).should == true
-+ end
-+
- it "returns true if passed :ruby and RUBY_NAME matches /^ruby/" do
- Object.const_set :RUBY_NAME, 'ruby'
- @guard.implementation?(:ruby).should == true
-@@ -238,7 +243,7 @@ describe SpecGuard, "#platform?" do
- end
-
- it "returns false when no arg matches RUBY_PLATFORM" do
-- @guard.platform?(:ruby, :jruby, :rubinius).should == false
-+ @guard.platform?(:ruby, :jruby, :rubinius, :maglev).should == false
- end
-
- it "returns true when arg matches RUBY_PLATFORM" do
-@@ -246,7 +251,7 @@ describe SpecGuard, "#platform?" do
- end
-
- it "returns true when any arg matches RUBY_PLATFORM" do
-- @guard.platform?(:ruby, :jruby, :solarce, :rubinius).should == true
-+ @guard.platform?(:ruby, :jruby, :solarce, :rubinius, :maglev).should == true
- end
-
- it "returns true when arg is :windows and RUBY_PLATFORM contains 'mswin'" do
-diff --git a/spec/guards/user_spec.rb b/spec/guards/user_spec.rb
-new file mode 100644
-index 0000000..ba58503
---- /dev/null
-+++ b/spec/guards/user_spec.rb
-@@ -0,0 +1,35 @@
-+require File.dirname(__FILE__) + '/../spec_helper'
-+require 'mspec/guards/user'
-+
-+describe Object, "#as_user" do
-+ before :each do
-+ @guard = UserGuard.new
-+ UserGuard.stub!(:new).and_return(@guard)
-+ ScratchPad.clear
-+ end
-+
-+ it "yields when the Process.euid is not 0" do
-+ Process.stub!(:euid).and_return(501)
-+ as_user { ScratchPad.record :yield }
-+ ScratchPad.recorded.should == :yield
-+ end
-+
-+ it "does not yield when the Process.euid is 0" do
-+ Process.stub!(:euid).and_return(0)
-+ as_user { ScratchPad.record :yield }
-+ ScratchPad.recorded.should_not == :yield
-+ end
-+
-+ it "sets the name of the guard to :as_user" do
-+ as_user { }
-+ @guard.name.should == :as_user
-+ end
-+
-+ it "calls #unregister even when an exception is raised in the guard block" do
-+ @guard.should_receive(:match?).and_return(true)
-+ @guard.should_receive(:unregister)
-+ lambda do
-+ as_user { raise Exception }
-+ end.should raise_error(Exception)
-+ end
-+end
-diff --git a/spec/helpers/infinity_spec.rb b/spec/helpers/infinity_spec.rb
-new file mode 100644
-index 0000000..4a11fac
---- /dev/null
-+++ b/spec/helpers/infinity_spec.rb
-@@ -0,0 +1,8 @@
-+require File.dirname(__FILE__) + '/../spec_helper'
-+require 'mspec/helpers/infinity'
-+
-+describe Object, "#infinity_value" do
-+ it "returns Infinity" do
-+ infinity_value.infinite?.should == 1
-+ end
-+end
-diff --git a/spec/helpers/nan_spec.rb b/spec/helpers/nan_spec.rb
-new file mode 100644
-index 0000000..3df2814
---- /dev/null
-+++ b/spec/helpers/nan_spec.rb
-@@ -0,0 +1,8 @@
-+require File.dirname(__FILE__) + '/../spec_helper'
-+require 'mspec/helpers/nan'
-+
-+describe Object, "#nan_value" do
-+ it "returns NaN" do
-+ nan_value.nan?.should be_true
-+ end
-+end
-diff --git a/spec/helpers/ruby_exe_spec.rb b/spec/helpers/ruby_exe_spec.rb
-index 88e953e..c667ab2 100644
---- a/spec/helpers/ruby_exe_spec.rb
-+++ b/spec/helpers/ruby_exe_spec.rb
-@@ -46,6 +46,11 @@ describe "#ruby_exe_options" do
- @script.ruby_exe_options(:engine).should == 'ir'
- end
-
-+ it "returns 'maglev-ruby' when passed :engine and RUBY_NAME is 'maglev'" do
-+ Object.const_set :RUBY_NAME, 'maglev'
-+ @script.ruby_exe_options(:engine).should == 'maglev-ruby'
-+ end
-+
- it "returns RUBY_NAME + $(EXEEXT) when passed :name" do
- bin = RUBY_NAME + (Config::CONFIG['EXEEXT'] || Config::CONFIG['exeext'] || '')
- name = File.join ".", bin
-diff --git a/spec/utils/options_spec.rb b/spec/utils/options_spec.rb
-index c8383f6..7f964a5 100644
---- a/spec/utils/options_spec.rb
-+++ b/spec/utils/options_spec.rb
-@@ -587,6 +587,15 @@ describe "The -t, --target TARGET option" do
- end
- end
-
-+ it "sets the target to 'maglev' with TARGET 'm' or 'maglev'" do
-+ ["-t", "--target"].each do |opt|
-+ ["m", "maglev"].each do |t|
-+ @options.parse [opt, t]
-+ @config[:target].should == "maglev-ruby"
-+ end
-+ end
-+ end
-+
- it "sets the target to TARGET" do
- ["-t", "--target"].each do |opt|
- @options.parse [opt, "whateva"]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090828/63d9829a/attachment-0001.html>
More information about the macruby-changes
mailing list