diff options
author | Hans de Graaff <graaff@gentoo.org> | 2018-03-09 07:13:43 +0100 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2018-03-09 07:13:43 +0100 |
commit | ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b (patch) | |
tree | 88f89c8a59c1cfde021291f28623a7631e155a7a /dev-ruby/rspec-mocks | |
parent | dev-ruby/rspec-expectations: add ruby25 (diff) | |
download | gentoo-ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.tar.gz gentoo-ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.tar.bz2 gentoo-ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.zip |
dev-ruby/rspec-mocks: add ruby25
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'dev-ruby/rspec-mocks')
3 files changed, 69 insertions, 2 deletions
diff --git a/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch new file mode 100644 index 000000000000..6b545ae3cf7a --- /dev/null +++ b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch @@ -0,0 +1,27 @@ +From 871eb31e3bfe50705ca57e754771aa1e0164f12d Mon Sep 17 00:00:00 2001 +From: Myron Marston <myron.marston@gmail.com> +Date: Sat, 30 Dec 2017 17:45:43 -0800 +Subject: [PATCH] Skip spec that does not apply to Ruby 2.5. + +Ruby 2.5 has removed the ability to access top-level constants +via a confusing nested form (e.g. `MyClass::Hash`), so we no +longer need this spec there. + +For #1192. +--- + spec/rspec/mocks/mutate_const_spec.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spec/rspec/mocks/mutate_const_spec.rb b/spec/rspec/mocks/mutate_const_spec.rb +index fe8d4128..9d80dd73 100644 +--- a/spec/rspec/mocks/mutate_const_spec.rb ++++ b/spec/rspec/mocks/mutate_const_spec.rb +@@ -170,7 +170,7 @@ def change_const_value_to(value) + expect(::Hash).to equal(top_level_hash) + end + +- it 'does not affect the ability to access the top-level constant from nested contexts', :silence_warnings do ++ it 'does not affect the ability to access the top-level constant from nested contexts', :silence_warnings, :if => RUBY_VERSION < '2.5' do + top_level_hash = ::Hash + + hide_const("TestClass::Hash") diff --git a/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch new file mode 100644 index 000000000000..3ac448938416 --- /dev/null +++ b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch @@ -0,0 +1,38 @@ +From 783923d6879a2f9df9fee8ef24cecca6ac21136e Mon Sep 17 00:00:00 2001 +From: Myron Marston <myron.marston@gmail.com> +Date: Sat, 30 Dec 2017 23:35:27 -0800 +Subject: [PATCH] Make spec less brittle. + +On Ruby 2.5, this spec failed, apparently due to the fact that +Method equality has changed on 2.5 slightly. The method instances +have always been different but 2.4 and before considered them +equivalent. Instead, we can show that the two method objects +_behave_ the same, which is what we really care about. + +Fixes #1192. +--- + spec/rspec/mocks/and_wrap_original_spec.rb | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/spec/rspec/mocks/and_wrap_original_spec.rb b/spec/rspec/mocks/and_wrap_original_spec.rb +index df9cae46..2d4d0a8b 100644 +--- a/spec/rspec/mocks/and_wrap_original_spec.rb ++++ b/spec/rspec/mocks/and_wrap_original_spec.rb +@@ -26,12 +26,13 @@ def results + }.to raise_error NameError + end + +- it "passes in the original method" do +- value = nil ++ it "passes along the original method" do ++ passed_method = nil + original_method = instance.method(:results) +- allow_it.to receive(:results).and_wrap_original { |m| value = m } ++ allow_it.to receive(:results).and_wrap_original { |m| passed_method = m } + instance.results +- expect(value).to eq original_method ++ ++ expect(passed_method.call).to eq(original_method.call) + end + + it "passes along the message arguments" do diff --git a/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild b/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild index d7c6b8dbc418..31797ab2b003 100644 --- a/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild +++ b/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 -USE_RUBY="ruby22 ruby23 ruby24" +USE_RUBY="ruby22 ruby23 ruby24 ruby25" RUBY_FAKEGEM_RECIPE_TEST="rspec3" @@ -22,6 +22,8 @@ IUSE="" SUBVERSION="$(get_version_component_range 1-2)" +PATCHES=( "${FILESDIR}/${P}-ruby25-1.patch" "${FILESDIR}/${P}-ruby25-2.patch" ) + ruby_add_rdepend "=dev-ruby/rspec-support-${SUBVERSION}* >=dev-ruby/diff-lcs-1.2.0 =dev-ruby/diff-lcs-1*" |