cucumber-wire 6.2.1 → 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: 130cb3e95181e3075510187b0744f75c054ee7262cd959d702cf46530b933ea3
4
- data.tar.gz: 80ca9b30f9a5eab812757808107fdb84560538fb96cc896c7b70278038f95a4d
3
+ metadata.gz: ab0eaea2ed5f84dd6c54cb2e4a42cae7bc36050fe8157894d029dcbea1f050f0
4
+ data.tar.gz: 71e8d3474a165b7ba3ad09828f2b669cc518128394c39df8371d6cd16f2a78de
5
5
  SHA512:
6
- metadata.gz: a4071edb6e2ee0ebafee6ed6be51ab2d5c04683ce1eaacd475c0f4db55ee6a18a16cf13b5e6f7e44a70c8969de4e30fbd9a872f8124bc280c94be274fc06bf9d
7
- data.tar.gz: 3010136c5cda24d87f1bca45e8d13a0839505d5e74f8a66df6b63e0318ac79d816f30c4a11b94665182e399107b5476bb5ba4b2375419e5c0e6a1852375e055b
6
+ metadata.gz: 4596a04fe83127c356e3817359594fa635112dfdf6d715321e2a3382a1a03f3bda47eb520b40bf88b9e09b7c553194b0ac06e90ee938b3e6bd3563e1a343d8c7
7
+ data.tar.gz: 605efb4ff4f0e32a564c1b21e19bbcbc23abdd7d54144564f39b3eb93b4a31d4fe50fe4f187413ed7d20b560a755cdf7ebf104de83d3058c24d07213cca7a564
data/CHANGELOG.md CHANGED
@@ -10,38 +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.1]
22
-
25
+ ## [6.2.1] - 2022-01-07
23
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`
24
29
 
25
- - Fix usage with message-related formatters like the html formatter
26
- ([PR#57](https://github.com/cucumber/cucumber-ruby-wire/pull/57)
27
- [Issue#56](https://github.com/cucumber/cucumber-ruby-wire/issues/56))
28
-
29
- - Removed dependency to cucumber-messages
30
-
31
- ## [6.2.0]
32
-
30
+ ## [6.2.0] - 2021-10-12
33
31
  ### Changed
34
-
35
32
  - Patched `cucumber-core`, `cucumber-expressions` and `cucumber-messages`
36
33
 
37
- ## [6.1.1]
38
-
34
+ ## [6.1.1] - 2021-08-27
39
35
  ### Changed
40
-
41
36
  - Use the new `InstallPlugin` hook rather than `AfterConfiguration`.
42
- ([#52](https://github.com/cucumber/cucumber-ruby-wire/pull/52))
37
+ ([#52](https://github.com/cucumber/cucumber-ruby-wire/pull/52))
43
38
 
44
- ## [6.1.0]
39
+ ## [6.1.0] - 2021-08-09
45
40
  ### Added
46
41
  - The possibility to verify if the plugin has already been installed or not. To
47
42
  do so, use `Cucumber::Wire::Plugin.installed?`.
@@ -51,89 +46,21 @@ do so, use `Cucumber::Wire::Plugin.installed?`.
51
46
  - `cucumber-wire` is now able to install itself as a plugin into `cucumber-ruby`.
52
47
  ([46](https://github.com/cucumber/cucumber-ruby-wire/pull/46))
53
48
 
54
- ## [6.0.1]
49
+ ## [6.0.1] - 2021-07-19
55
50
  ### Changed
56
51
  - Patched `cucumber-core` and `cucumber-messages`
57
52
 
58
- ## [6.0.0]
53
+ ## [6.0.0] - 2021-07-09
59
54
  ### Changed
60
55
  - Updated `cucumber-core` ~> 10.0.0 and `cucumber-messages` ~> 17.0.0
61
56
  This brings breaking changes because of internal changes in Cucumber::Messages.
62
57
  ([#44](https://github.com/cucumber/cucumber-ruby-wire/pull/44))
63
58
 
64
- ## [5.0.1]
65
- ### Changed
66
- - Updated `cucumber-core` ~> 9.0.1
67
-
68
- ## [5.0.0]
69
- ### Changed
70
- - Update from cucumber-expressions 10 to 12 introduces significant underlying changes
71
- in how step definitions are matched. This should be backward compatible but there
72
- is a risk of regressions.
73
- - Updated dependencies (look at the diff for details)
74
-
75
- ## [4.0.1]
76
- ### Changed
77
- - Updated dependencies (look at the diff for details)
78
-
79
- ## [3.1.0]
80
- ### Changed
81
- - `cucumber-core` ~> 7.1.0
82
- - `cucumber-messages` ~> 12.2.0
83
- - Updated gems:
84
-
85
- ## [3.0.0]
86
- ### Changed
87
- - Use `cucumber-ruby-core` 7.0.0
88
- - cucumber-cucumber-expressions ~> 10
89
- - cucumber-messages ~> 12
90
- - Updated monorepo libraries:
91
-
92
- ## [2.0.1]
93
- ### Removed
94
- - Replace use of `MultiJSON` to use native JSON gem
95
-
96
- ## [2.0.0]
97
- ### Changed
98
- - Use `cucumber-ruby-core` 6.0.0
99
-
100
- ## [1.2.0]
101
- ### Added
102
- - Use `Cucumber:Messages::IdGenerator::UUID` to provide ids for `Hooks`
103
-
104
- ### Removed
105
- - Multiline arguments do not need `Location` anymore
106
-
107
- ## [1.1.0]
108
- ### Changed
109
- - Update to cucumber-expressions 8.0.2
110
- - Update to cucumber 4.0.0
111
-
112
- ## [1.0.0]
113
- ### Added
114
- - 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))
115
-
116
- ### Changed
117
- - Changes to work with a modern Cucumber-Ruby ([#14](https://github.com/cucumber/cucumber-ruby-wire/pull/14) [brasmusson](https://github.com/brasmusson))
118
- - 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))
119
-
120
- [Unreleased]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.2.1...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
121
61
  [6.2.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.2.0...v6.2.1
122
62
  [6.2.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.1.1...v6.2.0
123
63
  [6.1.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.1.0...v6.1.1
124
64
  [6.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.1...v6.1.0
125
65
  [6.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.0...v6.0.1
126
66
  [6.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v5.0.1...v6.0.0
127
- [5.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v5.0.0...v5.0.1
128
- [5.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v4.0.1...v5.0.0
129
- [4.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v4.0.0...v4.0.1
130
- [3.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v3.0.0...v3.1.0
131
- [3.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v2.0.1...v3.0.0
132
- [2.0.1]: https://github.com/cucumber/cucumber-ruby-wire/compare/v2.0.0...v2.0.1
133
- [2.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.2.0...v2.0.0
134
- [1.2.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.1.0...v1.2.0
135
- [1.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v1.0.0...v1.1.0
136
- [1.0.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v0.0.1...v1.0.0
137
- ire/compare/v6.1.0...main
138
- [6.1.0]: https://github.com/cucumber/cucumber-ruby-wire/compare/v6.0.1...v6.1.0
139
- [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,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  module Cucumber
4
2
  module Wire
5
3
  class AddHooksFilter < Core::Filter.new(:connections)
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  require 'cucumber/wire/request_handler'
3
2
  require 'cucumber/wire/step_argument'
4
3
 
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-wire
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.1
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: 2022-01-07 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
52
+ version: '18'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: aruba
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -57,9 +57,6 @@ dependencies:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '2.0'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 2.0.0
63
60
  type: :development
64
61
  prerelease: false
65
62
  version_requirements: !ruby/object:Gem::Requirement
@@ -67,69 +64,54 @@ dependencies:
67
64
  - - "~>"
68
65
  - !ruby/object:Gem::Version
69
66
  version: '2.0'
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 2.0.0
73
67
  - !ruby/object:Gem::Dependency
74
68
  name: cucumber
75
69
  requirement: !ruby/object:Gem::Requirement
76
70
  requirements:
77
- - - "~>"
71
+ - - ">"
78
72
  - !ruby/object:Gem::Version
79
73
  version: '7.1'
80
- - - ">="
74
+ - - "<"
81
75
  - !ruby/object:Gem::Version
82
- version: 7.1.0
76
+ version: '10'
83
77
  type: :development
84
78
  prerelease: false
85
79
  version_requirements: !ruby/object:Gem::Requirement
86
80
  requirements:
87
- - - "~>"
81
+ - - ">"
88
82
  - !ruby/object:Gem::Version
89
83
  version: '7.1'
90
- - - ">="
84
+ - - "<"
91
85
  - !ruby/object:Gem::Version
92
- version: 7.1.0
86
+ version: '10'
93
87
  - !ruby/object:Gem::Dependency
94
88
  name: rake
95
89
  requirement: !ruby/object:Gem::Requirement
96
90
  requirements:
97
91
  - - "~>"
98
92
  - !ruby/object:Gem::Version
99
- version: '13.0'
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: 13.0.6
93
+ version: '13.1'
103
94
  type: :development
104
95
  prerelease: false
105
96
  version_requirements: !ruby/object:Gem::Requirement
106
97
  requirements:
107
98
  - - "~>"
108
99
  - !ruby/object:Gem::Version
109
- version: '13.0'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 13.0.6
100
+ version: '13.1'
113
101
  - !ruby/object:Gem::Dependency
114
102
  name: rspec
115
103
  requirement: !ruby/object:Gem::Requirement
116
104
  requirements:
117
105
  - - "~>"
118
106
  - !ruby/object:Gem::Version
119
- version: '3.10'
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 3.10.0
107
+ version: '3.12'
123
108
  type: :development
124
109
  prerelease: false
125
110
  version_requirements: !ruby/object:Gem::Requirement
126
111
  requirements:
127
112
  - - "~>"
128
113
  - !ruby/object:Gem::Version
129
- version: '3.10'
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: 3.10.0
114
+ version: '3.12'
133
115
  description: Wire protocol for Cucumber
134
116
  email: cukes@googlegroups.com
135
117
  executables: []
@@ -137,6 +119,7 @@ extensions: []
137
119
  extra_rdoc_files: []
138
120
  files:
139
121
  - CHANGELOG.md
122
+ - CHANGELOG.old.md
140
123
  - CONTRIBUTING.md
141
124
  - LICENSE
142
125
  - README.md
@@ -154,12 +137,6 @@ files:
154
137
  - lib/cucumber/wire/snippet.rb
155
138
  - lib/cucumber/wire/step_argument.rb
156
139
  - lib/cucumber/wire/step_definition.rb
157
- - lib/cucumber/wire/version
158
- - spec/cucumber/wire/configuration_spec.rb
159
- - spec/cucumber/wire/connection_spec.rb
160
- - spec/cucumber/wire/connections_spec.rb
161
- - spec/cucumber/wire/data_packet_spec.rb
162
- - spec/cucumber/wire/exception_spec.rb
163
140
  homepage: http://cucumber.io
164
141
  licenses:
165
142
  - MIT
@@ -173,20 +150,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
150
  requirements:
174
151
  - - ">="
175
152
  - !ruby/object:Gem::Version
176
- version: '2.3'
153
+ version: '2.6'
177
154
  required_rubygems_version: !ruby/object:Gem::Requirement
178
155
  requirements:
179
156
  - - ">="
180
157
  - !ruby/object:Gem::Version
181
158
  version: '0'
182
159
  requirements: []
183
- rubygems_version: 3.1.2
160
+ rubygems_version: 3.3.5
184
161
  signing_key:
185
162
  specification_version: 4
186
- summary: cucumber-wire-6.2.1
187
- test_files:
188
- - spec/cucumber/wire/configuration_spec.rb
189
- - spec/cucumber/wire/connections_spec.rb
190
- - spec/cucumber/wire/connection_spec.rb
191
- - spec/cucumber/wire/data_packet_spec.rb
192
- - spec/cucumber/wire/exception_spec.rb
163
+ summary: cucumber-wire-7.0.0
164
+ test_files: []
@@ -1 +0,0 @@
1
- 6.2.1
@@ -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