diff --git a/0001-fix-features-incompative.patch b/0001-fix-features-incompative.patch deleted file mode 100644 index 8216993..0000000 --- a/0001-fix-features-incompative.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e1170fbb7515309a5a27b7945c52f6a4c79e3abf Mon Sep 17 00:00:00 2001 -From: baizg1107 -Date: Wed, 2 Mar 2022 16:17:36 +0800 -Subject: [PATCH] fix features incompative - ---- - features/timeouts.feature | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/features/timeouts.feature b/features/timeouts.feature -index f05fcd5..40d1f7c 100644 ---- a/features/timeouts.feature -+++ b/features/timeouts.feature -@@ -52,6 +52,7 @@ Feature: Wire protocol timeouts - Scenario: Wired - Given we're all wired - Timed out calling wire server with message 'invoke' (Timeout::Error) -+ /usr/share/ruby/timeout.rb:112:in `timeout' - features/wired.feature:3:in `Given we're all wired' - - Failing Scenarios: --- -2.27.0 - diff --git a/cucumber-wire-0.0.1.gem b/cucumber-wire-0.0.1.gem deleted file mode 100644 index fbac256..0000000 Binary files a/cucumber-wire-0.0.1.gem and /dev/null differ diff --git a/cucumber-wire-6.2.0.gem b/cucumber-wire-6.2.0.gem new file mode 100644 index 0000000..78adb95 Binary files /dev/null and b/cucumber-wire-6.2.0.gem differ diff --git a/rubygem-cucumber-wire-0.0.1-Adapt-to-the-move-of-Location-to-Cucumber-Core-Test.patch b/rubygem-cucumber-wire-0.0.1-Adapt-to-the-move-of-Location-to-Cucumber-Core-Test.patch deleted file mode 100644 index bb8bd36..0000000 --- a/rubygem-cucumber-wire-0.0.1-Adapt-to-the-move-of-Location-to-Cucumber-Core-Test.patch +++ /dev/null @@ -1,206 +0,0 @@ -From 51ff0156094757ad21b8f380e2427d5b366924fa Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B6rn=20Rasmusson?= -Date: Sun, 22 Jul 2018 21:23:34 +0200 -Subject: [PATCH] Fixes to work with modern Cucucmber-Ruby - -* Pass the registry all the way down to the step definitions. -* Move the class StepArgument from Cucumber-Ruby and update it to match - the expectations of Cucumber-Ruby when using cucumber-expressions. ---- - features/step_matches_message.feature | 2 +- - lib/cucumber/wire/connections.rb | 5 +++-- - lib/cucumber/wire/plugin.rb | 9 +++++---- - lib/cucumber/wire/protocol.rb | 4 ++-- - lib/cucumber/wire/protocol/requests.rb | 4 ++-- - lib/cucumber/wire/request_handler.rb | 3 ++- - lib/cucumber/wire/step_argument.rb | 24 ++++++++++++++++++++++++ - lib/cucumber/wire/step_definition.rb | 6 ++++-- - spec/cucumber/wire/connections_spec.rb | 4 ++-- - 9 files changed, 45 insertions(+), 16 deletions(-) - create mode 100644 lib/cucumber/wire/step_argument.rb - -diff --git a/features/step_matches_message.feature b/features/step_matches_message.feature -index b0051f8..afa70be 100644 ---- a/features/step_matches_message.feature -+++ b/features/step_matches_message.feature -@@ -70,7 +70,7 @@ Feature: Step matches message - """ - - - -- we.* # MyApp.MyClass:123 -+ "we.*" # MyApp.MyClass:123 - - 1 scenario (1 skipped) - 1 step (1 skipped) -diff --git a/lib/cucumber/wire/connections.rb b/lib/cucumber/wire/connections.rb -index 7856fea..4e57a22 100644 ---- a/lib/cucumber/wire/connections.rb -+++ b/lib/cucumber/wire/connections.rb -@@ -16,10 +16,11 @@ class Connections - attr_reader :connections - private :connections - -- def initialize(connections, configuration) -+ def initialize(connections, configuration, registry) - raise ArgumentError unless connections - @connections = connections - @configuration = configuration -+ @registry = registry - end - - def find_match(test_step) -@@ -30,7 +31,7 @@ def find_match(test_step) - end - - def step_matches(step_name) -- connections.map{ |c| c.step_matches(step_name)}.flatten -+ connections.map{ |c| c.step_matches(step_name, @registry)}.flatten - end - - def begin_scenario(test_case) -diff --git a/lib/cucumber/wire/plugin.rb b/lib/cucumber/wire/plugin.rb -index d1d6277..79843cd 100644 ---- a/lib/cucumber/wire/plugin.rb -+++ b/lib/cucumber/wire/plugin.rb -@@ -5,15 +5,16 @@ - module Cucumber - module Wire - class Plugin -- attr_reader :config -- private :config -+ attr_reader :config, :registry -+ private :config, :registry - -- def initialize(config) -+ def initialize(config, registry) - @config = config -+ @registry = registry - end - - def install -- connections = Connections.new(wire_files.map { |f| create_connection(f) }, @config) -+ connections = Connections.new(wire_files.map { |f| create_connection(f) }, config, registry) - config.filters << Filters::ActivateSteps.new(StepMatchSearch.new(connections.method(:step_matches), @config), @config) - config.filters << AddHooksFilter.new(connections) unless @config.dry_run? - config.register_snippet_generator Snippet::Generator.new(connections) -diff --git a/lib/cucumber/wire/protocol.rb b/lib/cucumber/wire/protocol.rb -index 328c728..738577e 100644 ---- a/lib/cucumber/wire/protocol.rb -+++ b/lib/cucumber/wire/protocol.rb -@@ -3,8 +3,8 @@ - module Cucumber - module Wire - module Protocol -- def step_matches(name_to_match) -- handler = Requests::StepMatches.new(self) -+ def step_matches(name_to_match, registry) -+ handler = Requests::StepMatches.new(self, registry) - handler.execute(name_to_match) - end - -diff --git a/lib/cucumber/wire/protocol/requests.rb b/lib/cucumber/wire/protocol/requests.rb -index eff80b0..5e32d11 100644 ---- a/lib/cucumber/wire/protocol/requests.rb -+++ b/lib/cucumber/wire/protocol/requests.rb -@@ -1,5 +1,5 @@ - require 'cucumber/wire/request_handler' --require 'cucumber/step_argument' -+require 'cucumber/wire/step_argument' - - module Cucumber - module Wire -@@ -25,7 +25,7 @@ def handle_success(params) - private - - def create_step_match(raw_step_match) -- step_definition = StepDefinition.new(@connection, raw_step_match) -+ step_definition = StepDefinition.new(@connection, raw_step_match, @registry) - step_args = raw_step_match['args'].map do |raw_arg| - StepArgument.new(raw_arg['pos'], raw_arg['val']) - end -diff --git a/lib/cucumber/wire/request_handler.rb b/lib/cucumber/wire/request_handler.rb -index ee8f2f1..118f9cd 100644 ---- a/lib/cucumber/wire/request_handler.rb -+++ b/lib/cucumber/wire/request_handler.rb -@@ -1,9 +1,10 @@ - module Cucumber - module Wire - class RequestHandler -- def initialize(connection) -+ def initialize(connection, registry = nil) - @connection = connection - @message = underscore(self.class.name.split('::').last) -+ @registry = registry - end - - def execute(request_params = nil) -diff --git a/lib/cucumber/wire/step_argument.rb b/lib/cucumber/wire/step_argument.rb -new file mode 100644 -index 0000000..116ee3a ---- /dev/null -+++ b/lib/cucumber/wire/step_argument.rb -@@ -0,0 +1,24 @@ -+# frozen_string_literal: true -+require 'cucumber/cucumber_expressions/group' -+ -+module Cucumber -+ module Wire -+ # Defines the location and value of a captured argument from the step -+ # text -+ class StepArgument -+ attr_reader :offset -+ -+ def initialize(offset, val) -+ @offset, @value = offset, val -+ end -+ -+ def value(_current_world) -+ @value -+ end -+ -+ def group -+ CucumberExpressions::Group.new(@value, @offset, @offset + @value.length, []) -+ end -+ end -+ end -+end -diff --git a/lib/cucumber/wire/step_definition.rb b/lib/cucumber/wire/step_definition.rb -index 09a4f1d..b453cdc 100644 ---- a/lib/cucumber/wire/step_definition.rb -+++ b/lib/cucumber/wire/step_definition.rb -@@ -3,12 +3,14 @@ - module Cucumber - module Wire - class StepDefinition -- attr_reader :regexp_source, :location -+ attr_reader :regexp_source, :location, :registry, :expression - -- def initialize(connection, data) -+ def initialize(connection, data, registry) - @connection = connection -+ @registry = registry - @id = data['id'] - @regexp_source = data['regexp'] || "Unknown" -+ @expression = registry.create_expression(@regexp_source) - @location = Core::Ast::Location.from_file_colon_line(data['source'] || "unknown:0") - end - -diff --git a/spec/cucumber/wire/connections_spec.rb b/spec/cucumber/wire/connections_spec.rb -index 449e19f..62c9f1a 100644 ---- a/spec/cucumber/wire/connections_spec.rb -+++ b/spec/cucumber/wire/connections_spec.rb -@@ -9,12 +9,12 @@ module Wire - connection1 = double(step_matches: [:a, :b]) - connection2 = double(step_matches: [:c]) - -- connections = Connections.new([connection1, connection2], double) -+ connections = Connections.new([connection1, connection2], double, double) - expect(connections.step_matches('')).to eq [:a, :b, :c] - end - - it "copes with no connections" do -- connections = Connections.new([], double) -+ connections = Connections.new([], double, double) - expect(connections.step_matches('')).to eq [] - end - end diff --git a/rubygem-cucumber-wire.spec b/rubygem-cucumber-wire.spec index db2f13f..c115a7e 100644 --- a/rubygem-cucumber-wire.spec +++ b/rubygem-cucumber-wire.spec @@ -1,14 +1,13 @@ %global gem_name cucumber-wire %{?_with_bootstrap: %global bootstrap 1} Name: rubygem-%{gem_name} -Version: 0.0.1 -Release: 2 +Version: 6.2.0 +Release: 1 Summary: Wire protocol for Cucumber License: MIT URL: http://cucumber.io Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem -Patch0: rubygem-cucumber-wire-0.0.1-Adapt-to-the-move-of-Location-to-Cucumber-Core-Test.patch -Patch1: 0001-fix-features-incompative.patch +Source1: https://github.com/cucumber/cucumber-ruby-wire/archive/refs/tags/v%{version}.tar.gz BuildRequires: ruby(release) rubygems-devel ruby %if ! 0%{?bootstrap} BuildRequires: rubygem(aruba) rubygem(cucumber) rubygem(rspec) rubygem(did_you_mean) @@ -27,10 +26,13 @@ Obsoletes: %{name}-doc < %{version}-%{release} Documentation for %{name}. %prep -%setup -q -n %{gem_name}-%{version} -%patch0 -p1 -%patch1 -p1 -%gemspec_add_file 'lib/cucumber/wire/step_argument.rb' +%setup -q -n %{gem_name}-%{version} -b1 + +%gemspec_remove_dep -g cucumber-cucumber-expressions "~> 14.0", ">= 14.0.0" +%gemspec_add_dep -g cucumber-cucumber-expressions ">= 14.0" + +%gemspec_remove_dep -g cucumber-messages "~> 17.1", ">= 17.1.1" +%gemspec_add_dep -g cucumber-messages ">= 17.0" %build gem build ../%{gem_name}-%{version}.gemspec @@ -44,8 +46,13 @@ cp -a .%{gem_dir}/* \ %check pushd .%{gem_instdir} -LANG=C.UTF-8 rspec spec -RUBYOPT="-I$(pwd)/lib" cucumber + +rspec -Ilib spec + +ln -s %{_builddir}/cucumber-ruby-wire-6.2.0/features features + +RUBYOPT="-I$(pwd)/lib" cucumber --format progress --publish-quiet + popd %endif @@ -55,17 +62,19 @@ popd %{gem_libdir} %exclude %{gem_cache} %{gem_spec} +%license %{gem_instdir}/LICENSE %files help %doc %{gem_docdir} -%{gem_instdir}/Gemfile %doc %{gem_instdir}/README.md -%{gem_instdir}/Rakefile -%{gem_instdir}/cucumber-wire.gemspec -%{gem_instdir}/features +%doc %{gem_instdir}/CHANGELOG.md +%doc %{gem_instdir}/CONTRIBUTING.md %{gem_instdir}/spec %changelog +* Mon Jan 9 2023 liyanan - 6.2.0-1 +- Update to 6.2.0 + * Wed Mar 02 2022 baizhonggui - 0.0.1-2 - Add support ruby 3.0 for fixing build error diff --git a/v6.2.0.tar.gz b/v6.2.0.tar.gz new file mode 100644 index 0000000..2dbcb42 Binary files /dev/null and b/v6.2.0.tar.gz differ