rubygem-shoulda-matchers/rubygem-shoulda-matchers.spec

148 lines
4.7 KiB
RPMSpec
Raw Normal View History

2020-08-28 14:20:55 +08:00
%global gem_name shoulda-matchers
2023-01-17 14:54:09 +08:00
Name: rubygem-%{gem_name}
Version: 5.1.0
Release: 1
Summary: Making tests easy on the fingers and eyes
License: MIT
URL: https://github.com/thoughtbot/shoulda-matchers
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
2022-06-29 18:08:21 +08:00
# git clone https://github.com/thoughtbot/shoulda-matchers.git && cd shoulda-matchers
2023-01-17 14:54:09 +08:00
# git archive -v -o shoulda-matchers-5.1.0-specs.tar.gz v5.1.0 spec/
Source1: %{gem_name}-%{version}-specs.tar.gz
2022-06-29 18:08:21 +08:00
# Fix bootsnap removal which is not enclosed in quotes.
2023-01-17 14:54:09 +08:00
# https://github.com/thoughtbot/shoulda-matchers/pull/1478
Patch0: rubygem-shoulda-matchers-5.1.0-Skip-bootsnap-on-the-test-project-creation.patch
# Fix RoR 7+ compatibility.
# https://github.com/thoughtbot/shoulda-matchers/pull/1485
Patch1: rubygem-shoulda-matchers-5.1.0-Only-mark-classes-as-unloadable-when-Rails-supports-it.patch
Patch2: rubygem-shoulda-matchers-5.1.0-conditionally-use-unloadable-in-another-spot.patch
Patch3: rubygem-shoulda-matchers-5.1.0-Use-a-hard-coded-DateTime-instead-of-DateTime.now-1.patch
Patch4: rubygem-shoulda-matchers-5.1.0-Address-differences-in-has_secure_password-in-Rails-7.patch
Patch5: rubygem-shoulda-matchers-5.1.0-Address-differences-in-has_secure_password-in-Rails-7-test.patch
# Don't try to connect to rubygems.org.
# https://github.com/thoughtbot/shoulda-matchers/pull/1504
Patch6: rubygem-shoulda-matchers-5.1.0-Using-local-gems-should-be-enough-for-testing.patch
# Use sqlite3 1.4 unconditionally.
# https://github.com/thoughtbot/shoulda-matchers/pull/1484/commits/7656cdf9abb4a0f7c4fd4cb9c971e474bfc0f9ee
Patch7: rubygem-shoulda-matchers-5.1.0-Always-use-sqlite-1.4.patch
BuildRequires: ruby(release) rubygems-devel ruby rubygem(bcrypt) rubygem(jbuilder)
BuildRequires: rubygem(puma) rubygem(rails) rubygem(rails-controller-testing) rubygem(rspec) rubygem(rspec-rails)
BuildRequires: rubygem(shoulda-context) rubygem(spring) rubygem(sqlite3)
BuildArch: noarch
2020-08-28 14:20:55 +08:00
%description
shoulda-matchers provides Test::Unit- and RSpec-compatible one-liners that
test common Rails functionality. These tests would otherwise be much longer,
more complex, and error-prone.
%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation for %{name}.
%prep
2022-06-29 18:08:21 +08:00
%setup -q -n %{gem_name}-%{version} -b 1
2023-01-17 14:54:09 +08:00
%patch4 -p1
2022-06-29 18:08:21 +08:00
pushd %{_builddir}
2020-08-28 14:20:55 +08:00
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
2023-01-17 14:54:09 +08:00
%patch5 -p1
%patch6 -p1
%patch7 -p1
2022-06-29 18:08:21 +08:00
popd
2020-08-28 14:20:55 +08:00
%build
gem build ../%{gem_name}-%{version}.gemspec
%gem_install
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
2023-01-17 14:54:09 +08:00
2020-08-28 14:20:55 +08:00
%check
pushd .%{gem_instdir}
2022-06-29 18:08:21 +08:00
ln -s %{_builddir}/spec spec
2020-08-28 14:20:55 +08:00
cat << GF > Gemfile
source 'https://rubygems.org'
2022-06-29 18:08:21 +08:00
gem 'actiontext'
2020-08-28 14:20:55 +08:00
gem 'bcrypt'
gem 'rails'
gem 'rails-controller-testing'
gem 'rspec'
gem 'rspec-rails'
gem 'sqlite3'
gem 'spring'
GF
sed -i "/require 'pry/ s/^/#/" spec/spec_helper.rb
2022-06-29 18:08:21 +08:00
sed -i "/current_bundle/ s/^/#/" \
spec/acceptance_spec_helper.rb \
spec/support/unit/load_environment.rb
sed -i "/CurrentBundle/ s/^/#/" \
spec/acceptance_spec_helper.rb \
spec/support/unit/load_environment.rb
2023-01-17 14:54:09 +08:00
sed -i '/def rails_new_command/,/^ end$/ {
/rails new/ s/"$/ --skip-git --skip-asset-pipeline&/
}' \
spec/support/unit/rails_application.rb
sed -i '/def rails_new_command/,/^ end$/ {
/rails new/ s/"$/ --skip-git --skip-asset-pipeline&/
}' \
2022-06-29 18:08:21 +08:00
spec/support/acceptance/helpers/step_helpers.rb
2023-01-17 14:54:09 +08:00
sed -i '/def load_file/,/end/ s/::load_file/::unsafe_load_file/' spec/support/tests/database_configuration.rb
2022-06-29 18:08:21 +08:00
2020-08-28 14:20:55 +08:00
bundle exec rspec spec/unit
2023-01-17 14:54:09 +08:00
2020-08-28 14:20:55 +08:00
sed -i "/add_gem 'spring-commands-rspec'/ s/^/#/" spec/support/acceptance/helpers/step_helpers.rb
2023-01-17 14:54:09 +08:00
sed -i "/updating_bundle do |bundle|/a \\
bundle.add_gem 'spring'" spec/support/acceptance/helpers/step_helpers.rb
2020-08-28 14:20:55 +08:00
sed -i "/updating_bundle do |bundle|/a \\
bundle.remove_gem 'capybara'" spec/support/acceptance/helpers/step_helpers.rb
sed -i "/updating_bundle do |bundle|/a \\
bundle.remove_gem 'selenium-webdriver'" spec/support/acceptance/helpers/step_helpers.rb
sed -i "/updating_bundle do |bundle|/a \\
2023-01-17 14:54:09 +08:00
bundle.remove_gem 'debug'" spec/support/acceptance/helpers/step_helpers.rb
bundle exec rspec spec/acceptance
2020-08-28 14:20:55 +08:00
popd
2023-01-17 14:54:09 +08:00
2020-08-28 14:20:55 +08:00
%files
%dir %{gem_instdir}
2022-06-29 18:08:21 +08:00
%license %{gem_instdir}/LICENSE
2020-08-28 14:20:55 +08:00
%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}
%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/README.md
%doc %{gem_instdir}/docs
%{gem_instdir}/shoulda-matchers.gemspec
%changelog
2023-01-17 14:54:09 +08:00
* Tue Jan 17 2023 wulei <wulei80@h-partners.com> - 5.1.0-1
- update to 5.1.0
2022-06-29 18:08:21 +08:00
* Wed Jun 29 2022 liyanan <liyanan32@h-partners.com> - 4.5.1-1
- Upgrade to version 4.5.1
* Thu Mar 3 2022 liyanan <liyanan32@huawei.com> - 3.1.2-2
- fix build error
2020-08-28 14:20:55 +08:00
* Mon Aug 10 2020 yanan li <liyanan032@huawei.com> - 3.1.2-1
- Package init