Hello community, here is the log from the commit of package rubygem-rspec-core for openSUSE:Factory checked in at 2020-05-11 13:32:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-rspec-core (Old) and /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rspec-core" Mon May 11 13:32:05 2020 rev:29 rq:802373 version:3.9.2 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-rspec-core/rubygem-rspec-core.changes 2020-01-30 09:35:17.465293926 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.2738/rubygem-rspec-core.changes 2020-05-11 13:34:39.232274897 +0200 @@ -1,0 +2,21 @@ +Thu May 7 21:25:45 UTC 2020 - Stephan Kulow <[email protected]> + +- updated to version 3.9.2 + see installed Changelog.md + + ### 3.9.2 / 2020-05-02 + [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.1...v3.9.2) + + Bug Fixes: + + * Emit a warning when `around` hook is used with `:context` scope + (Phil Pirozhkov, #2687) + * Prevent invalid implementations of `Exception#cause` from being treated as a + valid cause (and causing strange errors) in `RSpec::Core::Formatters::ExceptionPresenter`. + (Jon Rowe, #2703) + * Correctly detect patterns when `rspec_opts` is an array in `RSpec::Core::RakeTask`. + (Marc-André Lafortune, #2704) + * Make `RSpec.clear_examples` reset example counts for example groups. This fixes + an issue with re-running specs not matching ids. (Agis Anastasopoulos, #2723) + +------------------------------------------------------------------- Old: ---- rspec-core-3.9.1.gem New: ---- rspec-core-3.9.2.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-rspec-core.spec ++++++ --- /var/tmp/diff_new_pack.1EuZdU/_old 2020-05-11 13:34:40.144276809 +0200 +++ /var/tmp/diff_new_pack.1EuZdU/_new 2020-05-11 13:34:40.144276809 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-rspec-core # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-rspec-core -Version: 3.9.1 +Version: 3.9.2 Release: 0 %define mod_name rspec-core %define mod_full_name %{mod_name}-%{version} @@ -34,7 +34,7 @@ BuildRequires: %{rubygem rdoc > 3.10} BuildRequires: ruby-macros >= 5 BuildRequires: update-alternatives -Url: https://github.com/rspec/rspec-core +URL: https://github.com/rspec/rspec-core Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1: gem2rpm.yml Summary: RSpec runner and formatters ++++++ rspec-core-3.9.1.gem -> rspec-core-3.9.2.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Changelog.md new/Changelog.md --- old/Changelog.md 2019-12-28 19:56:33.000000000 +0100 +++ new/Changelog.md 2020-05-02 23:10:02.000000000 +0200 @@ -1,3 +1,18 @@ +### 3.9.2 / 2020-05-02 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.1...v3.9.2) + +Bug Fixes: + +* Emit a warning when `around` hook is used with `:context` scope + (Phil Pirozhkov, #2687) +* Prevent invalid implementations of `Exception#cause` from being treated as a + valid cause (and causing strange errors) in `RSpec::Core::Formatters::ExceptionPresenter`. + (Jon Rowe, #2703) +* Correctly detect patterns when `rspec_opts` is an array in `RSpec::Core::RakeTask`. + (Marc-André Lafortune, #2704) +* Make `RSpec.clear_examples` reset example counts for example groups. This fixes + an issue with re-running specs not matching ids. (Agis Anastasopoulos, #2723) + ### 3.9.1 / 2019-12-28 [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.0...v3.9.1) @@ -11,6 +26,7 @@ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.2...v3.9.0) Enhancements: + * Improve the handling of errors during loading support files, if a file errors before loading specs, RSpec will now skip loading the specs. (David Rodríguez, #2568) @@ -2128,6 +2144,7 @@ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.0...v2.2.1) Bug fixes + * alias_method instead of override Kernel#method_missing (John Wilger) * changed --autotest to --tty in generated command (MIKAMI Yoshiyuki) * revert change to debugger (had introduced conflict with Rails) Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ Binary files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ Binary files old/data.tar.gz.sig and new/data.tar.gz.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/configuration.rb new/lib/rspec/core/configuration.rb --- old/lib/rspec/core/configuration.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/configuration.rb 2020-05-02 23:10:02.000000000 +0200 @@ -1350,6 +1350,12 @@ # end # end # + # module PreferencesHelpers + # def preferences(user, preferences = {}) + # # ... + # end + # end + # # module UserHelpers # def users(username) # # ... @@ -1358,12 +1364,17 @@ # # RSpec.configure do |config| # config.include(UserHelpers) # included in all groups + # + # # included in examples with `:preferences` metadata + # config.include(PreferenceHelpers, :preferences) + # + # # included in examples with `:type => :request` metadata # config.include(AuthenticationHelpers, :type => :request) # end # - # describe "edit profile", :type => :request do + # describe "edit profile", :preferences, :type => :request do # it "can be viewed by owning user" do - # login_as users(:jdoe) + # login_as preferences(users(:jdoe), :lang => 'es') # get "/profiles/jdoe" # assert_select ".username", :text => 'jdoe' # end @@ -1391,17 +1402,21 @@ # # @example # - # RSpec.shared_context "example users" do + # RSpec.shared_context "example admin user" do # let(:admin_user) { create_user(:admin) } + # end + # + # RSpec.shared_context "example guest user" do # let(:guest_user) { create_user(:guest) } # end # # RSpec.configure do |config| - # config.include_context "example users", :type => :request + # config.include_context "example guest user", :type => :request + # config.include_context "example admin user", :admin, :type => :request # end # # RSpec.describe "The admin page", :type => :request do - # it "can be viewed by admins" do + # it "can be viewed by admins", :admin do # login_with admin_user # get "/admin" # expect(response).to be_ok @@ -1443,12 +1458,20 @@ # end # end # + # module PermissionHelpers + # def define_permissions + # # ... + # end + # end + # # RSpec.configure do |config| # config.extend(UiHelpers, :type => :request) + # config.extend(PermissionHelpers, :with_permissions, :type => :request) # end # - # describe "edit profile", :type => :request do + # describe "edit profile", :with_permissions, :type => :request do # run_in_browser + # define_permissions # # it "does stuff in the client" do # # ... @@ -1906,7 +1929,8 @@ # # This method differs from {Hooks#before} in only one way: it supports # the `:suite` scope. Hooks with the `:suite` scope will be run once before - # the first example of the entire suite is executed. + # the first example of the entire suite is executed. Conditions passed along + # with `:suite` are effectively ignored. # # @see #prepend_before # @see #after @@ -1935,7 +1959,8 @@ # # This method differs from {Hooks#prepend_before} in only one way: it supports # the `:suite` scope. Hooks with the `:suite` scope will be run once before - # the first example of the entire suite is executed. + # the first example of the entire suite is executed. Conditions passed along + # with `:suite` are effectively ignored. # # @see #before # @see #after @@ -1959,7 +1984,8 @@ # # This method differs from {Hooks#after} in only one way: it supports # the `:suite` scope. Hooks with the `:suite` scope will be run once after - # the last example of the entire suite is executed. + # the last example of the entire suite is executed. Conditions passed along + # with `:suite` are effectively ignored. # # @see #append_after # @see #before @@ -1988,7 +2014,8 @@ # # This method differs from {Hooks#append_after} in only one way: it supports # the `:suite` scope. Hooks with the `:suite` scope will be run once after - # the last example of the entire suite is executed. + # the last example of the entire suite is executed. Conditions passed along + # with `:suite` are effectively ignored. # # @see #append_after # @see #before diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/example_group.rb new/lib/rspec/core/example_group.rb --- old/lib/rspec/core/example_group.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/example_group.rb 2020-05-02 23:10:02.000000000 +0200 @@ -111,16 +111,14 @@ # @overload $1 # @overload $1(&example_implementation) # @param example_implementation [Block] The implementation of the example. - # @overload $1(doc_string, *metadata_keys, metadata={}) + # @overload $1(doc_string, *metadata) # @param doc_string [String] The example's doc string. - # @param metadata [Hash] Metadata for the example. - # @param metadata_keys [Array<Symbol>] Metadata tags for the example. - # Will be transformed into hash entries with `true` values. - # @overload $1(doc_string, *metadata_keys, metadata={}, &example_implementation) + # @param metadata [Array<Symbol>, Hash] Metadata for the example. + # Symbols will be transformed into hash entries with `true` values. + # @overload $1(doc_string, *metadata, &example_implementation) # @param doc_string [String] The example's doc string. - # @param metadata [Hash] Metadata for the example. - # @param metadata_keys [Array<Symbol>] Metadata tags for the example. - # Will be transformed into hash entries with `true` values. + # @param metadata [Array<Symbol>, Hash] Metadata for the example. + # Symbols will be transformed into hash entries with `true` values. # @param example_implementation [Block] The implementation of the example. # @yield [Example] the example object # @example @@ -139,6 +137,11 @@ # $1 "does something" do |ex| # # ex is the Example object that contains metadata about the example # end + # + # @example + # $1 "does something", :slow, :load_factor => 100 do + # end + # def self.define_example_method(name, extra_options={}) idempotently_define_singleton_method(name) do |*all_args, &block| desc, *args = *all_args @@ -204,11 +207,10 @@ # @overload $1 # @overload $1(&example_group_definition) # @param example_group_definition [Block] The definition of the example group. - # @overload $1(doc_string, *metadata_keys, metadata={}, &example_implementation) + # @overload $1(doc_string, *metadata, &example_implementation) # @param doc_string [String] The group's doc string. - # @param metadata [Hash] Metadata for the group. - # @param metadata_keys [Array<Symbol>] Metadata tags for the group. - # Will be transformed into hash entries with `true` values. + # @param metadata [Array<Symbol>, Hash] Metadata for the group. + # Symbols will be transformed into hash entries with `true` values. # @param example_group_definition [Block] The definition of the example group. # # Generates a subclass of this example group which inherits @@ -223,12 +225,21 @@ # do_something_before # end # + # before(:example, :clean_env) do + # env.clear! + # end + # # let(:thing) { Thing.new } # # $1 "attribute (of something)" do # # examples in the group get the before hook # # declared above, and can access `thing` # end + # + # $1 "needs additional setup", :clean_env, :implementation => JSON do + # # specifies that hooks with matching metadata + # # should be be run additionally + # end # end # # @see DSL#describe diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/formatters/exception_presenter.rb new/lib/rspec/core/formatters/exception_presenter.rb --- old/lib/rspec/core/formatters/exception_presenter.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/formatters/exception_presenter.rb 2020-05-02 23:10:02.000000000 +0200 @@ -43,7 +43,7 @@ if RSpec::Support::RubyFeatures.supports_exception_cause? def formatted_cause(exception) - last_cause = final_exception(exception) + last_cause = final_exception(exception, [exception]) cause = [] if exception.cause @@ -55,7 +55,9 @@ cause << " #{line}" end - cause << (" #{backtrace_formatter.format_backtrace(last_cause.backtrace, example.metadata).first}") + unless last_cause.backtrace.empty? + cause << (" #{backtrace_formatter.format_backtrace(last_cause.backtrace, example.metadata).first}") + end end cause @@ -96,7 +98,8 @@ def final_exception(exception, previous=[]) cause = exception.cause - if cause && !previous.include?(cause) + + if cause && Exception === cause && !previous.include?(cause) previous << cause final_exception(cause, previous) else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/formatters.rb new/lib/rspec/core/formatters.rb --- old/lib/rspec/core/formatters.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/formatters.rb 2020-05-02 23:10:02.000000000 +0200 @@ -1,4 +1,5 @@ RSpec::Support.require_rspec_support "directory_maker" + # ## Built-in Formatters # # * progress (default) - Prints dots for passing examples, `F` for failures, `*` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/hooks.rb new/lib/rspec/core/hooks.rb --- old/lib/rspec/core/hooks.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/hooks.rb 2020-05-02 23:10:02.000000000 +0200 @@ -13,13 +13,14 @@ # @overload before(scope, &block) # @param scope [Symbol] `:example`, `:context`, or `:suite` # (defaults to `:example`) - # @overload before(scope, conditions, &block) + # @overload before(scope, *conditions, &block) # @param scope [Symbol] `:example`, `:context`, or `:suite` # (defaults to `:example`) - # @param conditions [Hash] - # constrains this hook to examples matching these conditions e.g. + # @param conditions [Array<Symbol>, Hash] constrains this hook to + # examples matching these conditions e.g. # `before(:example, :ui => true) { ... }` will only run with examples - # or groups declared with `:ui => true`. + # or groups declared with `:ui => true`. Symbols will be transformed + # into hash entries with `true` values. # @overload before(conditions, &block) # @param conditions [Hash] # constrains this hook to examples matching these conditions e.g. @@ -214,13 +215,14 @@ # @overload after(scope, &block) # @param scope [Symbol] `:example`, `:context`, or `:suite` (defaults to # `:example`) - # @overload after(scope, conditions, &block) + # @overload after(scope, *conditions, &block) # @param scope [Symbol] `:example`, `:context`, or `:suite` (defaults to # `:example`) - # @param conditions [Hash] - # constrains this hook to examples matching these conditions e.g. + # @param conditions [Array<Symbol>, Hash] constrains this hook to + # examples matching these conditions e.g. # `after(:example, :ui => true) { ... }` will only run with examples - # or groups declared with `:ui => true`. + # or groups declared with `:ui => true`. Symbols will be transformed + # into hash entries with `true` values. # @overload after(conditions, &block) # @param conditions [Hash] # constrains this hook to examples matching these conditions e.g. @@ -290,13 +292,15 @@ # @param scope [Symbol] `:example` (defaults to `:example`) # present for syntax parity with `before` and `after`, but # `:example`/`:each` is the only supported value. - # @overload around(scope, conditions, &block) + # @overload around(scope, *conditions, &block) # @param scope [Symbol] `:example` (defaults to `:example`) # present for syntax parity with `before` and `after`, but # `:example`/`:each` is the only supported value. - # @param conditions [Hash] constrains this hook to examples matching - # these conditions e.g. `around(:example, :ui => true) { ... }` will - # only run with examples or groups declared with `:ui => true`. + # @param conditions [Array<Symbol>, Hash] constrains this hook to + # examples matching these conditions e.g. + # `around(:example, :ui => true) { ... }` will only run with examples + # or groups declared with `:ui => true`. Symbols will be transformed + # into hash entries with `true` values. # @overload around(conditions, &block) # @param conditions [Hash] constrains this hook to examples matching # these conditions e.g. `around(:example, :ui => true) { ... }` will @@ -448,6 +452,11 @@ "`#{position}(:suite)` hook, registered on an example " \ "group, will be ignored." return + elsif scope == :context && position == :around + # TODO: consider making this an error in RSpec 4. For SemVer reasons, + # we are only warning in RSpec 3. + RSpec.warn_with "WARNING: `around(:context)` hooks are not supported and " \ + "behave like `around(:example)." end hook = HOOK_TYPES[position][scope].new(block, options) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/rake_task.rb new/lib/rspec/core/rake_task.rb --- old/lib/rspec/core/rake_task.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/rake_task.rb 2020-05-02 23:10:02.000000000 +0200 @@ -122,7 +122,7 @@ if ENV['SPEC'] FileList[ENV['SPEC']].sort elsif String === pattern && !File.exist?(pattern) - return if rspec_opts =~ /--pattern/ + return if [*rspec_opts].any? { |opt| opt =~ /--pattern/ } "--pattern #{escape pattern}" else # Before RSpec 3.1, we used `FileList` to get the list of matched diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/shared_example_group.rb new/lib/rspec/core/shared_example_group.rb --- old/lib/rspec/core/shared_example_group.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/shared_example_group.rb 2020-05-02 23:10:02.000000000 +0200 @@ -1,3 +1,5 @@ +RSpec::Support.require_rspec_support "with_keywords_when_needed" + module RSpec module Core # Represents some functionality that is shared with multiple example groups. @@ -33,7 +35,7 @@ klass.update_inherited_metadata(@metadata) unless @metadata.empty? SharedExampleGroupInclusionStackFrame.with_frame(@description, inclusion_line) do - klass.class_exec(*args, &@definition) + RSpec::Support::WithKeywordsWhenNeeded.class_exec(klass, *args, &@definition) klass.class_exec(&customization_block) if customization_block end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/version.rb new/lib/rspec/core/version.rb --- old/lib/rspec/core/version.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/version.rb 2020-05-02 23:10:02.000000000 +0200 @@ -3,7 +3,7 @@ # Version information for RSpec Core. module Version # Current version of RSpec Core, in semantic versioning format. - STRING = '3.9.1' + STRING = '3.9.2' end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/world.rb new/lib/rspec/core/world.rb --- old/lib/rspec/core/world.rb 2019-12-28 19:56:33.000000000 +0100 +++ new/lib/rspec/core/world.rb 2020-05-02 23:10:02.000000000 +0200 @@ -5,7 +5,7 @@ # Internal container for global non-configuration data. class World # @private - attr_reader :example_groups, :filtered_examples + attr_reader :example_groups, :filtered_examples, :example_group_counts_by_spec_file # Used internally to determine what to do when a SIGINT is received. attr_accessor :wants_to_quit @@ -53,6 +53,7 @@ example_groups.clear @sources_by_path.clear if defined?(@sources_by_path) @syntax_highlighter = nil + @example_group_counts_by_spec_file = Hash.new(0) end # @private diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2019-12-28 19:56:33.000000000 +0100 +++ new/metadata 2020-05-02 23:10:02.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: rspec-core version: !ruby/object:Gem::Version - version: 3.9.1 + version: 3.9.2 platform: ruby authors: - Steven Baker @@ -46,7 +46,7 @@ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ F3MdtaDehhjC -----END CERTIFICATE----- -date: 2019-12-28 00:00:00.000000000 Z +date: 2020-05-02 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rspec-support @@ -54,14 +54,14 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: 3.9.1 + version: 3.9.3 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: 3.9.1 + version: 3.9.3 - !ruby/object:Gem::Dependency name: cucumber requirement: !ruby/object:Gem::Requirement @@ -267,7 +267,7 @@ - MIT metadata: bug_tracker_uri: https://github.com/rspec/rspec-core/issues - changelog_uri: https://github.com/rspec/rspec-core/blob/v3.9.1/Changelog.md + changelog_uri: https://github.com/rspec/rspec-core/blob/v3.9.2/Changelog.md documentation_uri: https://rspec.info/documentation/ mailing_list_uri: https://groups.google.com/forum/#!forum/rspec source_code_uri: https://github.com/rspec/rspec-core @@ -290,5 +290,5 @@ rubygems_version: 3.1.2 signing_key: specification_version: 4 -summary: rspec-core-3.9.1 +summary: rspec-core-3.9.2 test_files: [] Binary files old/metadata.gz.sig and new/metadata.gz.sig differ
