cucumber-wire 6.2.0 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fd0ef9db88f635f118ea111bfcacf07c78c9ba12188bf9665f1295b1a62c109
4
- data.tar.gz: d6711c945d6dc8d73df55acd712857ccea77f1ef61cbdc31acedda8f7f159236
3
+ metadata.gz: ab0eaea2ed5f84dd6c54cb2e4a42cae7bc36050fe8157894d029dcbea1f050f0
4
+ data.tar.gz: 71e8d3474a165b7ba3ad09828f2b669cc518128394c39df8371d6cd16f2a78de
5
5
  SHA512:
6
- metadata.gz: 3f8e6bfcdd0864a50bf3213cbe4704308100fa67affdf4cb945646433bf9f3434d943dfb04429f15a1be8c12b3ada3f2bea39f750ea2b5f4f693063180fb7c2c
7
- data.tar.gz: b19e74fb0b2ed1ed30fd0fb027569982f67128bc749e7d006eec7cf7e54607651a07a83e9fa0f5f19d64596172308481b04c222712dcab94fc92901745223306
6
+ metadata.gz: 4596a04fe83127c356e3817359594fa635112dfdf6d715321e2a3382a1a03f3bda47eb520b40bf88b9e09b7c553194b0ac06e90ee938b3e6bd3563e1a343d8c7
7
+ data.tar.gz: 605efb4ff4f0e32a564c1b21e19bbcbc23abdd7d54144564f39b3eb93b4a31d4fe50fe4f187413ed7d20b560a755cdf7ebf104de83d3058c24d07213cca7a564
data/CHANGELOG.md CHANGED
@@ -10,28 +10,33 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo
10
10
 
11
11
  ## [Unreleased]
12
12
 
13
- ### Changed
14
-
13
+ ## [7.0.0] - 2023-11-10
15
14
  ### Added
16
15
 
16
+ ### Changed
17
+ - Minimum ruby version is now 2.6 ([#68](https://github.com/cucumber/cucumber-ruby-wire/pull/68))
18
+ - Compatibility with cucumber versions up to cucumber 9.x now added ([#68](https://github.com/cucumber/cucumber-ruby-wire/pull/68))
19
+
17
20
  ### Fixed
21
+ - Fixed up some basic style incompatibilities with old rspec tests ([#68](https://github.com/cucumber/cucumber-ruby-wire/pull/68))
18
22
 
19
23
  ### Removed
20
24
 
21
- ## [6.2.0]
25
+ ## [6.2.1] - 2022-01-07
26
+ ### Fixed
27
+ - Fix usage with message-related formatters like `html-formatter` ([#57](https://github.com/cucumber/cucumber-ruby-wire/pull/57))
28
+ - Removed dependency to `cucumber-messages`
22
29
 
30
+ ## [6.2.0] - 2021-10-12
23
31
  ### Changed
24
-
25
32
  - Patched `cucumber-core`, `cucumber-expressions` and `cucumber-messages`
26
33
 
27
- ## [6.1.1]
28
-
34
+ ## [6.1.1] - 2021-08-27
29
35
  ### Changed
30
-
31
36
  - Use the new `InstallPlugin` hook rather than `AfterConfiguration`.
32
- ([#52](https://github.com/cucumber/cucumber-ruby-wire/pull/52))
37
+ ([#52](https://github.com/cucumber/cucumber-ruby-wire/pull/52))
33
38
 
34
- ## [6.1.0]
39
+ ## [6.1.0] - 2021-08-09
35
40
  ### Added
36
41
  - The possibility to verify if the plugin has already been installed or not. To
37
42
  do so, use `Cucumber::Wire::Plugin.installed?`.
@@ -41,88 +46,21 @@ do so, use `Cucumber::Wire::Plugin.installed?`.
41
46
  - `cucumber-wire` is now able to install itself as a plugin into `cucumber-ruby`.
42
47
  ([46](https://github.com/cucumber/cucumber-ruby-wire/pull/46))
43
48
 
44
- ## [6.0.1]
49
+ ## [6.0.1] - 2021-07-19
45
50
  ### Changed
46
51
  - Patched `cucumber-core` and `cucumber-messages`
47
52
 
48
- ## [6.0.0]
53
+ ## [6.0.0] - 2021-07-09
49
54
  ### Changed
50
55
  - Updated `cucumber-core` ~> 10.0.0 and `cucumber-messages` ~> 17.0.0
51
56
  This brings breaking changes because of internal changes in Cucumber::Messages.
52
57
  ([#44](https://github.com/cucumber/cucumber-ruby-wire/pull/44))
53
58
 
54
- ## [5.0.1]
55
- ### Changed
56
- - Updated `cucumber-core` ~> 9.0.1
57
-
58
- ## [5.0.0]
59
- ### Changed
60
- - Update from cucumber-expressions 10 to 12 introduces significant underlying changes
61
- in how step definitions are matched. This should be backward compatible but there
62
- is a risk of regressions.
63
- - Updated dependencies (look at the diff for details)
64
-
65
- ## [4.0.1]
66
- ### Changed
67
- - Updated dependencies (look at the diff for details)
68
-
69
- ## [3.1.0]
70
- ### Changed
71
- - `cucumber-core` ~> 7.1.0
72
- - `cucumber-messages` ~> 12.2.0
73
- - Updated gems:
74
-
75
- ## [3.0.0]
76
- ### Changed
77
- - Use `cucumber-ruby-core` 7.0.0
78
- - cucumber-cucumber-expressions ~> 10
79
- - cucumber-messages ~> 12
80
- - Updated monorepo libraries:
81
-
82
- ## [2.0.1]
83
- ### Removed
84
- - Replace use of `MultiJSON` to use native JSON gem
85
-
86
- ## [2.0.0]
87
- ### Changed
88
- - Use `cucumber-ruby-core` 6.0.0
89
-
90
- ## [1.2.0]
91
- ### Added
92
- - Use `Cucumber:Messages::IdGenerator::UUID` to provide ids for `Hooks`
93
-
94
- ### Removed
95
- - Multiline arguments do not need `Location` anymore
96
-
97
- ## [1.1.0]
98
- ### Changed
99
- - Update to cucumber-expressions 8.0.2
100
- - Update to cucumber 4.0.0
101
-
102
- ## [1.0.0]
103
- ### Added
104
- - Added this CHANGELOG.md file per [cucumber/cucumber #251](https://github.com/cucumber/cucumber/issues/251) ([#13](https://github.com/cucumber/cucumber-ruby-wire/pull/13) [jaysonesmith](https://github.com/jaysonesmith))
105
-
106
- ### Changed
107
- - Changes to work with a modern Cucumber-Ruby ([#14](https://github.com/cucumber/cucumber-ruby-wire/pull/14) [brasmusson](https://github.com/brasmusson))
108
- - Adapt to the move of Location to Cucumber::Core::Test ([#14](https://github.com/cucumber/cucumber-ruby-wire/pull/14) [brasmusson](https://github.com/brasmusson))
109
-
110
- [Unreleased]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.2.0...main
59
+ [Unreleased]: https://github.com/cucumber/cucumber-ruby-wire/compare/v7.0.0...HEAD
60
+ [7.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.2.1...v7.0.0
61
+ [6.2.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.2.0...v6.2.1
111
62
  [6.2.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.1.1...v6.2.0
112
63
  [6.1.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.1.0...v6.1.1
113
64
  [6.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.1...v6.1.0
114
65
  [6.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.0...v6.0.1
115
66
  [6.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v5.0.1...v6.0.0
116
- [5.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v5.0.0...v5.0.1
117
- [5.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v4.0.1...v5.0.0
118
- [4.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v4.0.0...v4.0.1
119
- [3.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v3.0.0...v3.1.0
120
- [3.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v2.0.1...v3.0.0
121
- [2.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v2.0.0...v2.0.1
122
- [2.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.2.0...v2.0.0
123
- [1.2.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.1.0...v1.2.0
124
- [1.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.0.0...v1.1.0
125
- [1.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v0.0.1...v1.0.0
126
- ire/compare/v6.1.0...main
127
- [6.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.1...v6.1.0
128
- [6.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.0...v6.0.1
data/CHANGELOG.old.md ADDED
@@ -0,0 +1,71 @@
1
+ # Changelog
2
+
3
+ Please see [CONTRIBUTING.md](https://github.com/cucumber/cucumber-ruby-wire/blob/main/CONTRIBUTING.md)
4
+ on how to contribute to Cucumber.
5
+
6
+ ## [5.0.1]
7
+ ### Changed
8
+ - Updated `cucumber-core` ~> 9.0.1
9
+
10
+ ## [5.0.0]
11
+ ### Changed
12
+ - Update from cucumber-expressions 10 to 12 introduces significant underlying changes
13
+ in how step definitions are matched. This should be backward compatible but there
14
+ is a risk of regressions.
15
+ - Updated dependencies (look at the diff for details)
16
+
17
+ ## [4.0.1]
18
+ ### Changed
19
+ - Updated dependencies (look at the diff for details)
20
+
21
+ ## [3.1.0]
22
+ ### Changed
23
+ - `cucumber-core` ~> 7.1.0
24
+ - `cucumber-messages` ~> 12.2.0
25
+ - Updated gems:
26
+
27
+ ## [3.0.0]
28
+ ### Changed
29
+ - Use `cucumber-ruby-core` 7.0.0
30
+ - cucumber-cucumber-expressions ~> 10
31
+ - cucumber-messages ~> 12
32
+ - Updated monorepo libraries:
33
+
34
+ ## [2.0.1]
35
+ ### Removed
36
+ - Replace use of `MultiJSON` to use native JSON gem
37
+
38
+ ## [2.0.0]
39
+ ### Changed
40
+ - Use `cucumber-ruby-core` 6.0.0
41
+
42
+ ## [1.2.0]
43
+ ### Added
44
+ - Use `Cucumber:Messages::IdGenerator::UUID` to provide ids for `Hooks`
45
+
46
+ ### Removed
47
+ - Multiline arguments do not need `Location` anymore
48
+
49
+ ## [1.1.0]
50
+ ### Changed
51
+ - Update to cucumber-expressions 8.0.2
52
+ - Update to cucumber 4.0.0
53
+
54
+ ## [1.0.0]
55
+ ### Added
56
+ - Added this CHANGELOG.md file per [cucumber/cucumber #251](https://github.com/cucumber/cucumber/issues/251) ([#13](https://github.com/cucumber/cucumber-ruby-wire/pull/13) [jaysonesmith](https://github.com/jaysonesmith))
57
+
58
+ ### Changed
59
+ - Changes to work with a modern Cucumber-Ruby ([#14](https://github.com/cucumber/cucumber-ruby-wire/pull/14) [brasmusson](https://github.com/brasmusson))
60
+ - Adapt to the move of Location to Cucumber::Core::Test ([#14](https://github.com/cucumber/cucumber-ruby-wire/pull/14) [brasmusson](https://github.com/brasmusson))
61
+
62
+ [5.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v5.0.0...v5.0.1
63
+ [5.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v4.0.1...v5.0.0
64
+ [4.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v4.0.0...v4.0.1
65
+ [3.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v3.0.0...v3.1.0
66
+ [3.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v2.0.1...v3.0.0
67
+ [2.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v2.0.0...v2.0.1
68
+ [2.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.2.0...v2.0.0
69
+ [1.2.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.1.0...v1.2.0
70
+ [1.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.0.0...v1.1.0
71
+ [1.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v0.0.1...v1.0.0
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![CircleCI](https://circleci.com/gh/cucumber/cucumber-ruby-wire.svg?style=svg)](https://circleci.com/gh/cucumber/cucumber-ruby-wire)
1
+ [![Test cucumber-wire](https://github.com/cucumber/cucumber-ruby-wire/actions/workflows/cucumber-ruby-wire.yml/badge.svg)](https://github.com/cucumber/cucumber-ruby-wire/actions/workflows/cucumber-ruby-wire.yml)
2
2
 
3
3
  # cucumber-wire
4
4
 
@@ -1,6 +1,3 @@
1
- # coding: utf-8
2
- require 'cucumber/messages'
3
-
4
1
  module Cucumber
5
2
  module Wire
6
3
  class AddHooksFilter < Core::Filter.new(:connections)
@@ -13,19 +10,45 @@ module Cucumber
13
10
  def before_hook(test_case)
14
11
  # TODO: is this dependency on Cucumber::Hooks OK? Feels a bit internal..
15
12
  # TODO: how do we express the location of the hook? Should we create one hook per connection so we can use the host:port of the connection?
16
- Cucumber::Hooks.before_hook(id_generator.new_id, Core::Test::Location.new('TODO:wire')) do
17
- connections.begin_scenario(test_case)
18
- end
13
+
14
+ hook = instanciate_wire_hook(:begin_scenario)
15
+ action = ->(result) { hook.invoke('Before', [Cucumber::RunningTestCase.new(test_case).with_result(result), connections]) }
16
+
17
+ hook_step = Cucumber::Hooks.before_hook(id_generator.new_id, Core::Test::Location.new('wire'), &action)
18
+
19
+ configuration.event_bus.hook_test_step_created(hook_step, hook)
20
+
21
+ hook_step
19
22
  end
20
23
 
21
24
  def after_hook(test_case)
22
- Cucumber::Hooks.after_hook(id_generator.new_id, Core::Test::Location.new('TODO:wire')) do
23
- connections.end_scenario(test_case)
24
- end
25
+ hook = instanciate_wire_hook(:end_scenario)
26
+ action = ->(result) { hook.invoke('After', [Cucumber::RunningTestCase.new(test_case).with_result(result), connections]) }
27
+
28
+ hook_step = Cucumber::Hooks.after_hook(id_generator.new_id, Core::Test::Location.new('wire'), &action)
29
+
30
+ configuration.event_bus.hook_test_step_created(hook_step, hook)
31
+
32
+ hook_step
25
33
  end
26
34
 
27
35
  def id_generator
28
- @id_generator ||= Cucumber::Messages::IdGenerator::UUID.new
36
+ @id_generator ||= connections.configuration.id_generator
37
+ end
38
+
39
+ def configuration
40
+ @configuration ||= connections.configuration
41
+ end
42
+
43
+ private
44
+
45
+ def instanciate_wire_hook(hook_method)
46
+ Cucumber::Glue::Hook.new(
47
+ id_generator.new_id,
48
+ connections.registry,
49
+ [],
50
+ ->(test_case, connections) { connections.send(hook_method, test_case) }
51
+ )
29
52
  end
30
53
  end
31
54
  end
@@ -13,7 +13,7 @@ module Cucumber
13
13
  module Wire
14
14
 
15
15
  class Connections
16
- attr_reader :connections
16
+ attr_reader :connections, :configuration, :registry
17
17
  private :connections
18
18
 
19
19
  def initialize(connections, configuration, registry)
@@ -45,7 +45,6 @@ module Cucumber
45
45
  def snippets(code_keyword, step_name, multiline_arg_class_name)
46
46
  connections.map { |c| c.snippet_text(code_keyword, step_name, multiline_arg_class_name) }.flatten
47
47
  end
48
-
49
48
  end
50
49
  end
51
50
  end
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  require 'cucumber/wire/request_handler'
3
2
  require 'cucumber/wire/step_argument'
4
3
 
@@ -3,7 +3,7 @@ require 'cucumber/core/test/location'
3
3
  module Cucumber
4
4
  module Wire
5
5
  class StepDefinition
6
- attr_reader :regexp_source, :location, :registry, :expression
6
+ attr_reader :id, :regexp_source, :location, :registry, :expression
7
7
 
8
8
  def initialize(connection, data, registry)
9
9
  @connection = connection
metadata CHANGED
@@ -1,75 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-wire
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wynne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-12 00:00:00.000000000 Z
11
+ date: 2023-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '10.1'
20
- - - ">="
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 10.1.0
22
+ version: '14'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ">"
28
28
  - !ruby/object:Gem::Version
29
29
  version: '10.1'
30
- - - ">="
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 10.1.0
32
+ version: '14'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: cucumber-cucumber-expressions
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">"
38
38
  - !ruby/object:Gem::Version
39
- version: '14.0'
40
- - - ">="
39
+ version: '14'
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 14.0.0
42
+ version: '18'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ">"
48
48
  - !ruby/object:Gem::Version
49
- version: '14.0'
50
- - - ">="
49
+ version: '14'
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 14.0.0
53
- - !ruby/object:Gem::Dependency
54
- name: cucumber-messages
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '17.1'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 17.1.1
63
- type: :runtime
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '17.1'
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 17.1.1
52
+ version: '18'
73
53
  - !ruby/object:Gem::Dependency
74
54
  name: aruba
75
55
  requirement: !ruby/object:Gem::Requirement
@@ -77,9 +57,6 @@ dependencies:
77
57
  - - "~>"
78
58
  - !ruby/object:Gem::Version
79
59
  version: '2.0'
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 2.0.0
83
60
  type: :development
84
61
  prerelease: false
85
62
  version_requirements: !ruby/object:Gem::Requirement
@@ -87,69 +64,54 @@ dependencies:
87
64
  - - "~>"
88
65
  - !ruby/object:Gem::Version
89
66
  version: '2.0'
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 2.0.0
93
67
  - !ruby/object:Gem::Dependency
94
68
  name: cucumber
95
69
  requirement: !ruby/object:Gem::Requirement
96
70
  requirements:
97
- - - "~>"
71
+ - - ">"
98
72
  - !ruby/object:Gem::Version
99
- version: '7.0'
100
- - - ">="
73
+ version: '7.1'
74
+ - - "<"
101
75
  - !ruby/object:Gem::Version
102
- version: 7.0.0
76
+ version: '10'
103
77
  type: :development
104
78
  prerelease: false
105
79
  version_requirements: !ruby/object:Gem::Requirement
106
80
  requirements:
107
- - - "~>"
81
+ - - ">"
108
82
  - !ruby/object:Gem::Version
109
- version: '7.0'
110
- - - ">="
83
+ version: '7.1'
84
+ - - "<"
111
85
  - !ruby/object:Gem::Version
112
- version: 7.0.0
86
+ version: '10'
113
87
  - !ruby/object:Gem::Dependency
114
88
  name: rake
115
89
  requirement: !ruby/object:Gem::Requirement
116
90
  requirements:
117
91
  - - "~>"
118
92
  - !ruby/object:Gem::Version
119
- version: '13.0'
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 13.0.6
93
+ version: '13.1'
123
94
  type: :development
124
95
  prerelease: false
125
96
  version_requirements: !ruby/object:Gem::Requirement
126
97
  requirements:
127
98
  - - "~>"
128
99
  - !ruby/object:Gem::Version
129
- version: '13.0'
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: 13.0.6
100
+ version: '13.1'
133
101
  - !ruby/object:Gem::Dependency
134
102
  name: rspec
135
103
  requirement: !ruby/object:Gem::Requirement
136
104
  requirements:
137
105
  - - "~>"
138
106
  - !ruby/object:Gem::Version
139
- version: '3.10'
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 3.10.0
107
+ version: '3.12'
143
108
  type: :development
144
109
  prerelease: false
145
110
  version_requirements: !ruby/object:Gem::Requirement
146
111
  requirements:
147
112
  - - "~>"
148
113
  - !ruby/object:Gem::Version
149
- version: '3.10'
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 3.10.0
114
+ version: '3.12'
153
115
  description: Wire protocol for Cucumber
154
116
  email: cukes@googlegroups.com
155
117
  executables: []
@@ -157,6 +119,7 @@ extensions: []
157
119
  extra_rdoc_files: []
158
120
  files:
159
121
  - CHANGELOG.md
122
+ - CHANGELOG.old.md
160
123
  - CONTRIBUTING.md
161
124
  - LICENSE
162
125
  - README.md
@@ -174,12 +137,6 @@ files:
174
137
  - lib/cucumber/wire/snippet.rb
175
138
  - lib/cucumber/wire/step_argument.rb
176
139
  - lib/cucumber/wire/step_definition.rb
177
- - lib/cucumber/wire/version
178
- - spec/cucumber/wire/configuration_spec.rb
179
- - spec/cucumber/wire/connection_spec.rb
180
- - spec/cucumber/wire/connections_spec.rb
181
- - spec/cucumber/wire/data_packet_spec.rb
182
- - spec/cucumber/wire/exception_spec.rb
183
140
  homepage: http://cucumber.io
184
141
  licenses:
185
142
  - MIT
@@ -193,20 +150,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
150
  requirements:
194
151
  - - ">="
195
152
  - !ruby/object:Gem::Version
196
- version: '2.3'
153
+ version: '2.6'
197
154
  required_rubygems_version: !ruby/object:Gem::Requirement
198
155
  requirements:
199
156
  - - ">="
200
157
  - !ruby/object:Gem::Version
201
158
  version: '0'
202
159
  requirements: []
203
- rubygems_version: 3.1.2
160
+ rubygems_version: 3.3.5
204
161
  signing_key:
205
162
  specification_version: 4
206
- summary: cucumber-wire-6.2.0
207
- test_files:
208
- - spec/cucumber/wire/connections_spec.rb
209
- - spec/cucumber/wire/connection_spec.rb
210
- - spec/cucumber/wire/data_packet_spec.rb
211
- - spec/cucumber/wire/exception_spec.rb
212
- - spec/cucumber/wire/configuration_spec.rb
163
+ summary: cucumber-wire-7.0.0
164
+ test_files: []
@@ -1 +0,0 @@
1
- 6.2.0
@@ -1,63 +0,0 @@
1
- require 'cucumber/wire/configuration'
2
- require 'tempfile'
3
-
4
- module Cucumber
5
- module Wire
6
- describe Configuration do
7
- let(:wire_file) { Tempfile.new('wire') }
8
- let(:config) { Configuration.from_file(wire_file.path) }
9
-
10
- def write_wire_file(contents)
11
- wire_file << contents
12
- wire_file.close
13
- end
14
-
15
- it "reads the hostname / port from the file" do
16
- write_wire_file %q{
17
- host: localhost
18
- port: 54321
19
- }
20
-
21
- expect(config.host).to eq 'localhost'
22
- expect(config.port).to eq 54321
23
- end
24
-
25
- it "reads the timeout for a specific message" do
26
- write_wire_file %q{
27
- host: localhost
28
- port: 54321
29
- timeout:
30
- invoke: 99
31
- }
32
-
33
- expect(config.timeout('invoke')).to eq 99
34
- end
35
-
36
- it "reads the timeout for a connect message" do
37
- write_wire_file %q{
38
- host: localhost
39
- port: 54321
40
- timeout:
41
- connect: 99
42
- }
43
-
44
- expect(config.timeout('connect')).to eq 99
45
- end
46
-
47
- describe "a wire file with no timeouts specified" do
48
- before(:each) do
49
- write_wire_file %q{
50
- host: localhost
51
- port: 54321
52
- }
53
- end
54
-
55
- %w(invoke begin_scenario end_scenario).each do |message|
56
- it "sets the default timeout for '#{message}' to 120 seconds" do
57
- expect(config.timeout(message)).to eq 120
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,64 +0,0 @@
1
- require 'cucumber/wire/connection'
2
- require 'cucumber/wire/configuration'
3
-
4
- module Cucumber
5
- module Wire
6
- describe Connection do
7
- class TestConnection < Connection
8
- attr_accessor :socket
9
- end
10
-
11
- class TestConfiguration
12
- attr_reader :custom_timeout
13
-
14
- def initialize
15
- @custom_timeout = {}
16
- end
17
-
18
- def timeout(message = nil)
19
- return :default_timeout if message.nil?
20
- @custom_timeout[message] || Configuration::DEFAULT_TIMEOUTS.fetch(message)
21
- end
22
-
23
- def host
24
- 'localhost'
25
- end
26
-
27
- def port
28
- '3902'
29
- end
30
- end
31
-
32
- before(:each) do
33
- @config = TestConfiguration.new
34
- @connection = TestConnection.new(@config)
35
- @connection.socket = @socket = double('socket').as_null_object
36
- @response = %q{["response"]}
37
- end
38
-
39
- it "re-raises a timeout error" do
40
- allow(Timeout).to receive(:timeout).and_raise(Timeout::Error.new(''))
41
- expect(-> { @connection.call_remote(nil, :foo, []) }).to raise_error(Timeout::Error)
42
- end
43
-
44
- it "ignores timeout errors when configured to do so" do
45
- @config.custom_timeout[:foo] = :never
46
-
47
- allow(@socket).to receive(:gets) { @response }
48
-
49
- handler = double(:handle_response => :response)
50
-
51
- expect(@connection.call_remote(handler, :foo, [])).to eq :response
52
- end
53
-
54
- it "raises an exception on remote connection closed" do
55
- @config.custom_timeout[:foo] = :never
56
-
57
- allow(@socket).to receive(:gets)
58
- expect(-> {
59
- @connection.call_remote(nil, :foo, [])
60
- }).to raise_error(Wire::Exception, 'Remote Socket with localhost:3902 closed.')
61
- end
62
- end
63
- end
64
- end
@@ -1,23 +0,0 @@
1
- require 'cucumber/wire/connections'
2
- require 'cucumber/wire/configuration'
3
-
4
- module Cucumber
5
- module Wire
6
- describe Connections do
7
- describe "#step_matches" do
8
- it "returns the matches from each of the RemoteSteps" do
9
- connection1 = double(step_matches: [:a, :b])
10
- connection2 = double(step_matches: [:c])
11
-
12
- connections = Connections.new([connection1, connection2], double, double)
13
- expect(connections.step_matches('')).to eq [:a, :b, :c]
14
- end
15
-
16
- it "copes with no connections" do
17
- connections = Connections.new([], double, double)
18
- expect(connections.step_matches('')).to eq []
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,43 +0,0 @@
1
- require 'cucumber/wire/data_packet'
2
-
3
- module Cucumber
4
- module Wire
5
- describe DataPacket do
6
- describe "#to_json" do
7
- it "converts params to a JSON hash" do
8
- packet = DataPacket.new('test_message', :foo => :bar)
9
-
10
- expect(packet.to_json).to eq "[\"test_message\",{\"foo\":\"bar\"}]"
11
- end
12
-
13
- it "does not pass blank params" do
14
- packet = DataPacket.new('test_message')
15
-
16
- expect(packet.to_json).to eq "[\"test_message\"]"
17
- end
18
- end
19
-
20
- describe ".parse" do
21
- it "understands a raw packet containing null parameters" do
22
- packet = DataPacket.parse("[\"test_message\",null]")
23
-
24
- expect(packet.message).to eq 'test_message'
25
- expect(packet.params).to be_nil
26
- end
27
-
28
- it "understands a raw packet containing no parameters" do
29
- packet = DataPacket.parse("[\"test_message\"]")
30
-
31
- expect(packet.message).to eq 'test_message'
32
- expect(packet.params).to be_nil
33
- end
34
-
35
- it "understands a raw packet containging parameters data" do
36
- packet = DataPacket.parse("[\"test_message\",{\"foo\":\"bar\"}]")
37
-
38
- expect(packet.params['foo']).to eq 'bar'
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,50 +0,0 @@
1
- require 'cucumber/wire/exception'
2
- require 'cucumber/wire/configuration'
3
-
4
- module Cucumber
5
- module Wire
6
- describe Exception do
7
- before(:each) do
8
- @config = Configuration.new('host' => 'localhost', 'port' => 54321)
9
- end
10
-
11
- def exception
12
- Wire::Exception.new(@data, @config)
13
- end
14
-
15
- describe "with just a message" do
16
- before(:each) do
17
- @data = {'message' => 'foo'}
18
- end
19
-
20
- it "#to_s as expecteds" do
21
- expect(exception.to_s).to eq "foo"
22
- end
23
- end
24
-
25
- describe "with a message and an exception" do
26
- before(:each) do
27
- @data = {'message' => 'foo', 'exception' => 'Bar'}
28
- end
29
-
30
- it "#to_s as expecteds" do
31
- expect(exception.to_s).to eq "foo"
32
- end
33
-
34
- it "#class.to_s returns the name of the exception" do
35
- expect(exception.class.to_s).to eq 'Bar from localhost:54321'
36
- end
37
- end
38
-
39
- describe "with a custom backtrace" do
40
- before(:each) do
41
- @data = {'message' => 'foo', 'backtrace' => ['foo', 'bar', 'baz']}
42
- end
43
-
44
- it "#backrace returns the custom backtrace" do
45
- expect(exception.backtrace).to eq ['foo', 'bar', 'baz']
46
- end
47
- end
48
- end
49
- end
50
- end