package init

This commit is contained in:
wangchong1995924 2020-08-22 10:10:39 +08:00
parent 9562481122
commit 11763dccd9
4 changed files with 174 additions and 0 deletions

BIN
mocha-1.1.0.gem Normal file

Binary file not shown.

View File

@ -0,0 +1,101 @@
From a65ea1ed3dce43cbc2cc16b3660afd2cce3db33e Mon Sep 17 00:00:00 2001
From: James Mead <james@floehopper.org>
Date: Mon, 2 Mar 2015 19:37:21 +0000
Subject: [PATCH] As of Ruby v2.2, nil is frozen so these tests are irrelevant.
In all these scenarios in the latest versions of Ruby, a `Mocha::StubbingError`
will be raised with the message: "can't stub method on frozen object: nil".
This behaviour is already tested in the more generic `StubbingFrozenObjectTest`
and so it's safe to ignore these tests for the relevant versions of Ruby.
---
test/acceptance/stubbing_nil_test.rb | 68 +++++++++++++++++++-----------------
1 file changed, 35 insertions(+), 33 deletions(-)
diff --git a/test/acceptance/stubbing_nil_test.rb b/test/acceptance/stubbing_nil_test.rb
index ac163e7..f8c55cd 100644
--- a/test/acceptance/stubbing_nil_test.rb
+++ b/test/acceptance/stubbing_nil_test.rb
@@ -13,47 +13,49 @@ def teardown
teardown_acceptance_test
end
- def test_should_allow_stubbing_method_on_nil
- Mocha::Configuration.allow(:stubbing_method_on_nil)
- test_result = run_as_test do
- nil.stubs(:stubbed_method)
+ if RUBY_VERSION < '2.2.0'
+ def test_should_allow_stubbing_method_on_nil
+ Mocha::Configuration.allow(:stubbing_method_on_nil)
+ test_result = run_as_test do
+ nil.stubs(:stubbed_method)
+ end
+ assert_passed(test_result)
+ assert !@logger.warnings.include?("stubbing method on nil: nil.stubbed_method")
end
- assert_passed(test_result)
- assert !@logger.warnings.include?("stubbing method on nil: nil.stubbed_method")
- end
- def test_should_warn_on_stubbing_method_on_nil
- Mocha::Configuration.warn_when(:stubbing_method_on_nil)
- test_result = run_as_test do
- nil.stubs(:stubbed_method)
+ def test_should_warn_on_stubbing_method_on_nil
+ Mocha::Configuration.warn_when(:stubbing_method_on_nil)
+ test_result = run_as_test do
+ nil.stubs(:stubbed_method)
+ end
+ assert_passed(test_result)
+ assert @logger.warnings.include?("stubbing method on nil: nil.stubbed_method")
end
- assert_passed(test_result)
- assert @logger.warnings.include?("stubbing method on nil: nil.stubbed_method")
- end
- def test_should_prevent_stubbing_method_on_nil
- Mocha::Configuration.prevent(:stubbing_method_on_nil)
- test_result = run_as_test do
- nil.stubs(:stubbed_method)
+ def test_should_prevent_stubbing_method_on_nil
+ Mocha::Configuration.prevent(:stubbing_method_on_nil)
+ test_result = run_as_test do
+ nil.stubs(:stubbed_method)
+ end
+ assert_failed(test_result)
+ assert test_result.error_messages.include?("Mocha::StubbingError: stubbing method on nil: nil.stubbed_method")
end
- assert_failed(test_result)
- assert test_result.error_messages.include?("Mocha::StubbingError: stubbing method on nil: nil.stubbed_method")
- end
- def test_should_default_to_prevent_stubbing_method_on_non_mock_object
- test_result = run_as_test do
- nil.stubs(:stubbed_method)
+ def test_should_default_to_prevent_stubbing_method_on_non_mock_object
+ test_result = run_as_test do
+ nil.stubs(:stubbed_method)
+ end
+ assert_failed(test_result)
+ assert test_result.error_messages.include?("Mocha::StubbingError: stubbing method on nil: nil.stubbed_method")
end
- assert_failed(test_result)
- assert test_result.error_messages.include?("Mocha::StubbingError: stubbing method on nil: nil.stubbed_method")
- end
- def test_should_allow_stubbing_method_on_non_nil_object
- Mocha::Configuration.prevent(:stubbing_method_on_nil)
- object = Object.new
- test_result = run_as_test do
- object.stubs(:stubbed_method)
+ def test_should_allow_stubbing_method_on_non_nil_object
+ Mocha::Configuration.prevent(:stubbing_method_on_nil)
+ object = Object.new
+ test_result = run_as_test do
+ object.stubs(:stubbed_method)
+ end
+ assert_passed(test_result)
end
- assert_passed(test_result)
end
end

69
rubygem-mocha.spec Normal file
View File

@ -0,0 +1,69 @@
%global gem_name mocha
Summary: Mocking and stubbing library
Name: rubygem-%{gem_name}
Version: 1.1.0
Release: 1
License: MIT or Ruby or BSD
URL: https://github.com/freerange/mocha
Source0: http://rubygems.org/gems/mocha-%{version}.gem
Patch0: rubygem-mocha-1.1.0-As-of-Ruby-v2.2-nil-is-frozen-so-these-tests-are-irrelevant.patch
BuildRequires: ruby(release) rubygems-devel ruby rubygem(metaclass) rubygem(introspection)
BuildRequires: rubygem(minitest)
BuildArch: noarch
%description
Mocking and stubbing library with JMock/SchMock syntax, which allows mocking
and stubbing of methods on real (non-mock) classes.
%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
This package contains documentation for %{name}.
%prep
%setup -q -c -T
%gem_install -n %{SOURCE0}
pushd .%{gem_instdir}
%patch0 -p1
popd
%build
%install
mkdir -p %{buildroot}%{gem_dir}
cp -pa .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
%check
pushd .%{gem_instdir}
ruby -e "Dir.glob('./test/{unit,acceptance}/**/*_test.rb').each {|t| require t}"
ruby -e "Dir.glob('./test/integration/**/*_test.rb').each {|t| require t}"
popd
%files
%exclude %{gem_instdir}/.*
%exclude %{gem_instdir}/init.rb
%doc %{gem_instdir}/COPYING.md
%doc %{gem_instdir}/README.md
%doc %{gem_instdir}/MIT-LICENSE.md
%doc %{gem_instdir}/RELEASE.md
%dir %{gem_instdir}
%{gem_instdir}/bin
%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}
%files doc
%{gem_instdir}/Gemfile*
%doc %{gem_docdir}
%doc %{gem_instdir}/CONTRIBUTING.md
%{gem_instdir}/Rakefile
%{gem_instdir}/mocha.gemspec
%{gem_instdir}/gemfiles/
%{gem_instdir}/test/
%{gem_instdir}/yard-templates/
%changelog
* Wed Aug 5 2020 wangchong <wangchong56@huawei.com> - 1.1.0-1
- package init

4
rubygem-mocha.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: freerange/mocha
tag_prefix: "^v"
seperator: "."