cucumber_priority 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +61 -0
- data/cucumber_priority.gemspec +5 -3
- data/lib/cucumber_priority/resolve_ambiguous_error.rb +21 -4
- data/lib/cucumber_priority/version.rb +1 -1
- metadata +18 -26
- checksums.yaml +0 -7
- data/Gemfile +0 -1
- data/Gemfile.lock +0 -1
- data/gemfiles/Gemfile.cucumber-1.3 +0 -12
- data/gemfiles/Gemfile.cucumber-1.3.lock +0 -37
- data/gemfiles/Gemfile.cucumber-2.4 +0 -12
- data/gemfiles/Gemfile.cucumber-2.4.lock +0 -53
- data/gemfiles/Gemfile.cucumber-3.0 +0 -12
- data/gemfiles/Gemfile.cucumber-3.0.lock +0 -67
- data/gemfiles/Gemfile.cucumber-3.1 +0 -12
- data/gemfiles/Gemfile.cucumber-3.1.lock +0 -67
- data/spec/cucumber_priority/support_code_ext_spec.rb +0 -39
- data/spec/spec.opts +0 -1
- data/spec/spec_helper.rb +0 -7
- data/spec/support/cucumber_helper.rb +0 -31
data/.gitignore
CHANGED
data/Gemfile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Runtime dependencies
|
4
|
+
gem 'cucumber', '~> 2.4.0'
|
5
|
+
|
6
|
+
# Development dependencies
|
7
|
+
gem 'rspec', '~> 3.0'
|
8
|
+
gem 'gemika'
|
9
|
+
gem 'rake'
|
10
|
+
gem 'aruba', '<0.7'
|
11
|
+
|
12
|
+
# Gem under test
|
13
|
+
gem 'cucumber_priority', :path => '..'
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
cucumber_priority (0.3.2)
|
5
|
+
cucumber
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
aruba (0.6.2)
|
11
|
+
childprocess (>= 0.3.6)
|
12
|
+
cucumber (>= 1.1.1)
|
13
|
+
rspec-expectations (>= 2.7.0)
|
14
|
+
builder (3.2.3)
|
15
|
+
childprocess (0.9.0)
|
16
|
+
ffi (~> 1.0, >= 1.0.11)
|
17
|
+
cucumber (2.4.0)
|
18
|
+
builder (>= 2.1.2)
|
19
|
+
cucumber-core (~> 1.5.0)
|
20
|
+
cucumber-wire (~> 0.0.1)
|
21
|
+
diff-lcs (>= 1.1.3)
|
22
|
+
gherkin (~> 4.0)
|
23
|
+
multi_json (>= 1.7.5, < 2.0)
|
24
|
+
multi_test (>= 0.1.2)
|
25
|
+
cucumber-core (1.5.0)
|
26
|
+
gherkin (~> 4.0)
|
27
|
+
cucumber-wire (0.0.1)
|
28
|
+
diff-lcs (1.3)
|
29
|
+
ffi (1.9.23)
|
30
|
+
gemika (0.3.2)
|
31
|
+
gherkin (4.1.3)
|
32
|
+
multi_json (1.13.1)
|
33
|
+
multi_test (0.1.2)
|
34
|
+
rake (10.1.0)
|
35
|
+
rspec (3.4.0)
|
36
|
+
rspec-core (~> 3.4.0)
|
37
|
+
rspec-expectations (~> 3.4.0)
|
38
|
+
rspec-mocks (~> 3.4.0)
|
39
|
+
rspec-core (3.4.3)
|
40
|
+
rspec-support (~> 3.4.0)
|
41
|
+
rspec-expectations (3.4.0)
|
42
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
43
|
+
rspec-support (~> 3.4.0)
|
44
|
+
rspec-mocks (3.4.1)
|
45
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
+
rspec-support (~> 3.4.0)
|
47
|
+
rspec-support (3.4.1)
|
48
|
+
|
49
|
+
PLATFORMS
|
50
|
+
ruby
|
51
|
+
|
52
|
+
DEPENDENCIES
|
53
|
+
aruba (< 0.7)
|
54
|
+
cucumber (~> 2.4.0)
|
55
|
+
cucumber_priority!
|
56
|
+
gemika
|
57
|
+
rake
|
58
|
+
rspec (~> 3.0)
|
59
|
+
|
60
|
+
BUNDLED WITH
|
61
|
+
1.16.1
|
data/cucumber_priority.gemspec
CHANGED
@@ -12,9 +12,11 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.description = %q{cucumber_priority provides a way to mark step definitions as overridable, meaning that they can always be overshadowed by a more specific version without raising an error.}
|
13
13
|
s.license = 'MIT'
|
14
14
|
|
15
|
-
s.files = `git ls-files`.split("\
|
16
|
-
|
17
|
-
|
15
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
16
|
+
f.match(%r{^(gemfiles|bin|test|spec|features)/})
|
17
|
+
end
|
18
|
+
s.bindir = "exe"
|
19
|
+
s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
20
|
s.require_paths = ["lib"]
|
19
21
|
|
20
22
|
s.add_dependency('cucumber')
|
@@ -44,13 +44,15 @@ if Cucumber::VERSION >= '3'
|
|
44
44
|
|
45
45
|
elsif Cucumber::VERSION >= '2.3'
|
46
46
|
|
47
|
+
|
48
|
+
# Cucumber 2.3 or higher has methods that return an array of Cucumber::StepMatch objects.
|
49
|
+
# These methods raise Cucumber::Ambiguous if the array has more than one element.
|
50
|
+
# Why this is implemented twice, noone knows...
|
51
|
+
#
|
47
52
|
module Cucumber
|
53
|
+
|
48
54
|
class Runtime
|
49
55
|
class SupportCode
|
50
|
-
|
51
|
-
# Cucumber 2.3 or higher has a single method #step_matches which returns an
|
52
|
-
# array of Cucumber::StepMatch objects.
|
53
|
-
# This method raises Cucumber::Ambiguous if the array has more than one element.
|
54
56
|
def step_matches_with_priority(*args)
|
55
57
|
step_matches_without_priority(*args)
|
56
58
|
rescue Ambiguous => e
|
@@ -60,6 +62,21 @@ elsif Cucumber::VERSION >= '2.3'
|
|
60
62
|
CucumberPriority::Util.alias_chain self, :step_matches, :priority
|
61
63
|
end
|
62
64
|
end
|
65
|
+
|
66
|
+
module StepMatchSearch
|
67
|
+
class AssertUnambiguousMatch
|
68
|
+
|
69
|
+
def call_with_priority(*args)
|
70
|
+
call_without_priority(*args)
|
71
|
+
rescue Ambiguous => e
|
72
|
+
[CucumberPriority::Resolver.resolve_ambiguity_through_priority(e)]
|
73
|
+
end
|
74
|
+
|
75
|
+
CucumberPriority::Util.alias_chain self, :call, :priority
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
63
80
|
end
|
64
81
|
|
65
82
|
else
|
metadata
CHANGED
@@ -1,27 +1,30 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber_priority
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Henning Koch
|
8
9
|
autorequire:
|
9
|
-
bindir:
|
10
|
+
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date: 2018-
|
12
|
+
date: 2018-04-27 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: cucumber
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
description: cucumber_priority provides a way to mark step definitions as overridable,
|
@@ -32,24 +35,16 @@ executables: []
|
|
32
35
|
extensions: []
|
33
36
|
extra_rdoc_files: []
|
34
37
|
files:
|
35
|
-
-
|
36
|
-
-
|
37
|
-
-
|
38
|
-
-
|
38
|
+
- .gitignore
|
39
|
+
- .rspec
|
40
|
+
- .ruby-version
|
41
|
+
- .travis.yml
|
39
42
|
- Gemfile
|
40
43
|
- Gemfile.lock
|
41
44
|
- LICENSE
|
42
45
|
- README.md
|
43
46
|
- Rakefile
|
44
47
|
- cucumber_priority.gemspec
|
45
|
-
- gemfiles/Gemfile.cucumber-1.3
|
46
|
-
- gemfiles/Gemfile.cucumber-1.3.lock
|
47
|
-
- gemfiles/Gemfile.cucumber-2.4
|
48
|
-
- gemfiles/Gemfile.cucumber-2.4.lock
|
49
|
-
- gemfiles/Gemfile.cucumber-3.0
|
50
|
-
- gemfiles/Gemfile.cucumber-3.0.lock
|
51
|
-
- gemfiles/Gemfile.cucumber-3.1
|
52
|
-
- gemfiles/Gemfile.cucumber-3.1.lock
|
53
48
|
- lib/cucumber_priority.rb
|
54
49
|
- lib/cucumber_priority/ambiguous_error_ext.rb
|
55
50
|
- lib/cucumber_priority/require_cucumber.rb
|
@@ -57,32 +52,29 @@ files:
|
|
57
52
|
- lib/cucumber_priority/step_definition_ext.rb
|
58
53
|
- lib/cucumber_priority/util.rb
|
59
54
|
- lib/cucumber_priority/version.rb
|
60
|
-
- spec/cucumber_priority/support_code_ext_spec.rb
|
61
|
-
- spec/spec.opts
|
62
|
-
- spec/spec_helper.rb
|
63
|
-
- spec/support/cucumber_helper.rb
|
64
55
|
homepage: http://github.com/makandra/cucumber_priority
|
65
56
|
licenses:
|
66
57
|
- MIT
|
67
|
-
metadata: {}
|
68
58
|
post_install_message:
|
69
59
|
rdoc_options: []
|
70
60
|
require_paths:
|
71
61
|
- lib
|
72
62
|
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
73
64
|
requirements:
|
74
|
-
- -
|
65
|
+
- - ! '>='
|
75
66
|
- !ruby/object:Gem::Version
|
76
67
|
version: '0'
|
77
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
78
70
|
requirements:
|
79
|
-
- -
|
71
|
+
- - ! '>='
|
80
72
|
- !ruby/object:Gem::Version
|
81
73
|
version: '0'
|
82
74
|
requirements: []
|
83
75
|
rubyforge_project:
|
84
|
-
rubygems_version:
|
76
|
+
rubygems_version: 1.8.23
|
85
77
|
signing_key:
|
86
|
-
specification_version:
|
78
|
+
specification_version: 3
|
87
79
|
summary: Overridable step definitions for Cucumber
|
88
80
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA256:
|
3
|
-
metadata.gz: a079b181ab4eaea2b39c27db2fda7c8f299821de5f56bfcb49207e3f77fd32a1
|
4
|
-
data.tar.gz: 7f32402851987a27f43b15ab21bad90aa689de363ea0985fa177ceb2590d70ae
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 4c92ea01431f7327765bc948447d6418718156214982a058249974391634820e90d8d60a59adb06347f6023c074fa3d53c35206c934fe16866ea1ca8426047fe
|
7
|
-
data.tar.gz: 21330e0c5712f14db7e4a63c5768580e26c12522abc9b27418014982f1a439a45ceac16e08ff749bc38e567efd7700ac29634add935c46e64299ba1bd102e851
|
data/Gemfile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
./gemfiles/Gemfile.cucumber-2.4
|
data/Gemfile.lock
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
./gemfiles/Gemfile.cucumber-2.4.lock
|
@@ -1,37 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ..
|
3
|
-
specs:
|
4
|
-
cucumber_priority (0.2.0)
|
5
|
-
cucumber
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
builder (3.2.2)
|
11
|
-
cucumber (1.3.20)
|
12
|
-
builder (>= 2.1.2)
|
13
|
-
diff-lcs (>= 1.1.3)
|
14
|
-
gherkin (~> 2.12)
|
15
|
-
multi_json (>= 1.7.5, < 2.0)
|
16
|
-
multi_test (>= 0.1.2)
|
17
|
-
diff-lcs (1.2.5)
|
18
|
-
gemika (0.3.2)
|
19
|
-
gherkin (2.12.2)
|
20
|
-
multi_json (~> 1.3)
|
21
|
-
multi_json (1.11.2)
|
22
|
-
multi_test (0.1.2)
|
23
|
-
rake (10.0.4)
|
24
|
-
rspec (1.3.2)
|
25
|
-
|
26
|
-
PLATFORMS
|
27
|
-
ruby
|
28
|
-
|
29
|
-
DEPENDENCIES
|
30
|
-
cucumber (~> 1.3.20)
|
31
|
-
cucumber_priority!
|
32
|
-
gemika
|
33
|
-
rake (= 10.0.4)
|
34
|
-
rspec (~> 1.0)
|
35
|
-
|
36
|
-
BUNDLED WITH
|
37
|
-
1.16.1
|
@@ -1,53 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ..
|
3
|
-
specs:
|
4
|
-
cucumber_priority (0.2.0)
|
5
|
-
cucumber
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
builder (3.2.3)
|
11
|
-
cucumber (2.4.0)
|
12
|
-
builder (>= 2.1.2)
|
13
|
-
cucumber-core (~> 1.5.0)
|
14
|
-
cucumber-wire (~> 0.0.1)
|
15
|
-
diff-lcs (>= 1.1.3)
|
16
|
-
gherkin (~> 4.0)
|
17
|
-
multi_json (>= 1.7.5, < 2.0)
|
18
|
-
multi_test (>= 0.1.2)
|
19
|
-
cucumber-core (1.5.0)
|
20
|
-
gherkin (~> 4.0)
|
21
|
-
cucumber-wire (0.0.1)
|
22
|
-
diff-lcs (1.3)
|
23
|
-
gemika (0.3.2)
|
24
|
-
gherkin (4.1.3)
|
25
|
-
multi_json (1.13.1)
|
26
|
-
multi_test (0.1.2)
|
27
|
-
rake (10.1.0)
|
28
|
-
rspec (3.4.0)
|
29
|
-
rspec-core (~> 3.4.0)
|
30
|
-
rspec-expectations (~> 3.4.0)
|
31
|
-
rspec-mocks (~> 3.4.0)
|
32
|
-
rspec-core (3.4.3)
|
33
|
-
rspec-support (~> 3.4.0)
|
34
|
-
rspec-expectations (3.4.0)
|
35
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
-
rspec-support (~> 3.4.0)
|
37
|
-
rspec-mocks (3.4.1)
|
38
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
39
|
-
rspec-support (~> 3.4.0)
|
40
|
-
rspec-support (3.4.1)
|
41
|
-
|
42
|
-
PLATFORMS
|
43
|
-
ruby
|
44
|
-
|
45
|
-
DEPENDENCIES
|
46
|
-
cucumber (~> 2.4.0)
|
47
|
-
cucumber_priority!
|
48
|
-
gemika
|
49
|
-
rake
|
50
|
-
rspec (~> 3.0)
|
51
|
-
|
52
|
-
BUNDLED WITH
|
53
|
-
1.16.1
|
@@ -1,67 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
activesupport (5.0.1)
|
5
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
|
-
i18n (~> 0.7)
|
7
|
-
minitest (~> 5.1)
|
8
|
-
tzinfo (~> 1.1)
|
9
|
-
backports (3.11.1)
|
10
|
-
builder (3.2.3)
|
11
|
-
concurrent-ruby (1.0.3)
|
12
|
-
cucumber (3.0.2)
|
13
|
-
builder (>= 2.1.2)
|
14
|
-
cucumber-core (~> 3.0.0)
|
15
|
-
cucumber-expressions (~> 4.0.3)
|
16
|
-
cucumber-wire (~> 0.0.1)
|
17
|
-
diff-lcs (~> 1.3)
|
18
|
-
gherkin (~> 4.0)
|
19
|
-
multi_json (>= 1.7.5, < 2.0)
|
20
|
-
multi_test (>= 0.1.2)
|
21
|
-
cucumber-core (3.0.0)
|
22
|
-
backports (>= 3.8.0)
|
23
|
-
cucumber-tag_expressions (>= 1.0.1)
|
24
|
-
gherkin (>= 4.1.3)
|
25
|
-
cucumber-expressions (4.0.4)
|
26
|
-
cucumber-tag_expressions (1.1.1)
|
27
|
-
cucumber-wire (0.0.1)
|
28
|
-
cucumber_priority (0.1.2)
|
29
|
-
activesupport
|
30
|
-
cucumber
|
31
|
-
diff-lcs (1.3)
|
32
|
-
gemika (0.3.2)
|
33
|
-
gherkin (4.1.3)
|
34
|
-
i18n (0.7.0)
|
35
|
-
minitest (5.10.1)
|
36
|
-
multi_json (1.13.1)
|
37
|
-
multi_test (0.1.2)
|
38
|
-
rake (10.4.2)
|
39
|
-
rspec (3.5.0)
|
40
|
-
rspec-core (~> 3.5.0)
|
41
|
-
rspec-expectations (~> 3.5.0)
|
42
|
-
rspec-mocks (~> 3.5.0)
|
43
|
-
rspec-core (3.5.4)
|
44
|
-
rspec-support (~> 3.5.0)
|
45
|
-
rspec-expectations (3.5.0)
|
46
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
47
|
-
rspec-support (~> 3.5.0)
|
48
|
-
rspec-mocks (3.5.0)
|
49
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
50
|
-
rspec-support (~> 3.5.0)
|
51
|
-
rspec-support (3.5.0)
|
52
|
-
thread_safe (0.3.5)
|
53
|
-
tzinfo (1.2.2)
|
54
|
-
thread_safe (~> 0.1)
|
55
|
-
|
56
|
-
PLATFORMS
|
57
|
-
ruby
|
58
|
-
|
59
|
-
DEPENDENCIES
|
60
|
-
cucumber (~> 3.0.0)
|
61
|
-
cucumber_priority
|
62
|
-
gemika
|
63
|
-
rake
|
64
|
-
rspec (~> 3.0)
|
65
|
-
|
66
|
-
BUNDLED WITH
|
67
|
-
1.16.1
|
@@ -1,67 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
activesupport (5.0.1)
|
5
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
|
-
i18n (~> 0.7)
|
7
|
-
minitest (~> 5.1)
|
8
|
-
tzinfo (~> 1.1)
|
9
|
-
backports (3.11.1)
|
10
|
-
builder (3.2.3)
|
11
|
-
concurrent-ruby (1.0.3)
|
12
|
-
cucumber (3.1.0)
|
13
|
-
builder (>= 2.1.2)
|
14
|
-
cucumber-core (~> 3.1.0)
|
15
|
-
cucumber-expressions (~> 5.0.4)
|
16
|
-
cucumber-wire (~> 0.0.1)
|
17
|
-
diff-lcs (~> 1.3)
|
18
|
-
gherkin (~> 5.0)
|
19
|
-
multi_json (>= 1.7.5, < 2.0)
|
20
|
-
multi_test (>= 0.1.2)
|
21
|
-
cucumber-core (3.1.0)
|
22
|
-
backports (>= 3.8.0)
|
23
|
-
cucumber-tag_expressions (~> 1.1.0)
|
24
|
-
gherkin (>= 5.0.0)
|
25
|
-
cucumber-expressions (5.0.13)
|
26
|
-
cucumber-tag_expressions (1.1.1)
|
27
|
-
cucumber-wire (0.0.1)
|
28
|
-
cucumber_priority (0.1.2)
|
29
|
-
activesupport
|
30
|
-
cucumber
|
31
|
-
diff-lcs (1.3)
|
32
|
-
gemika (0.3.2)
|
33
|
-
gherkin (5.0.0)
|
34
|
-
i18n (0.7.0)
|
35
|
-
minitest (5.10.1)
|
36
|
-
multi_json (1.13.1)
|
37
|
-
multi_test (0.1.2)
|
38
|
-
rake (10.4.2)
|
39
|
-
rspec (3.5.0)
|
40
|
-
rspec-core (~> 3.5.0)
|
41
|
-
rspec-expectations (~> 3.5.0)
|
42
|
-
rspec-mocks (~> 3.5.0)
|
43
|
-
rspec-core (3.5.4)
|
44
|
-
rspec-support (~> 3.5.0)
|
45
|
-
rspec-expectations (3.5.0)
|
46
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
47
|
-
rspec-support (~> 3.5.0)
|
48
|
-
rspec-mocks (3.5.0)
|
49
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
50
|
-
rspec-support (~> 3.5.0)
|
51
|
-
rspec-support (3.5.0)
|
52
|
-
thread_safe (0.3.5)
|
53
|
-
tzinfo (1.2.2)
|
54
|
-
thread_safe (~> 0.1)
|
55
|
-
|
56
|
-
PLATFORMS
|
57
|
-
ruby
|
58
|
-
|
59
|
-
DEPENDENCIES
|
60
|
-
cucumber (~> 3.1.0)
|
61
|
-
cucumber_priority
|
62
|
-
gemika
|
63
|
-
rake
|
64
|
-
rspec (~> 3.0)
|
65
|
-
|
66
|
-
BUNDLED WITH
|
67
|
-
1.16.1
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cucumber::Runtime, 'extended with cucumber_priority' do
|
4
|
-
|
5
|
-
before(:each) do
|
6
|
-
prepare_cucumber_example
|
7
|
-
end
|
8
|
-
|
9
|
-
describe '#step_matches' do
|
10
|
-
|
11
|
-
it 'returns an overriding step if the only other match is a overridable step' do
|
12
|
-
overridable_step = @main.Given(/^there is a movie with a (.*?) tone$/){ }.overridable
|
13
|
-
overriding_step = @main.Given(/^there is a movie with a funny tone$/){ }
|
14
|
-
match = first_step_match('there is a movie with a funny tone')
|
15
|
-
match.step_definition.should == overriding_step
|
16
|
-
match.should be_a(Cucumber::StepMatch)
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'raises Cucumber::Ambiguous if more than two overriding steps match' do
|
20
|
-
@main.Given(/^there is a movie with (.*?) tone$/){}.overridable(:priority => 1000)
|
21
|
-
@main.Given(/^there is a movie with a [^ ]+ tone$/){}
|
22
|
-
@main.Given(/^there is a movie with a funny tone$/){}
|
23
|
-
expect do
|
24
|
-
first_step_match('there is a movie with a funny tone')
|
25
|
-
end.to raise_error(Cucumber::Ambiguous)
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'returns the overridable step with the highest priority if no overriding steps match' do
|
29
|
-
overridable_step = @main.Given(/^there is a movie with a (.*?) tone$/){ }.overridable
|
30
|
-
higher_overridable_step = @main.Given(/^there is a movie with a [^ ]+ tone$/){ }.overridable(:priority => 5)
|
31
|
-
lower_overridable_step = @main.Given(/^there is a movie with a [^ ]+ tone$/){ }.overridable(:priority => -5)
|
32
|
-
match = first_step_match('there is a movie with a funny tone')
|
33
|
-
match.step_definition.should == higher_overridable_step
|
34
|
-
match.should be_a(Cucumber::StepMatch)
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
data/spec/spec.opts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--colour
|
data/spec/spec_helper.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
def prepare_cucumber_example
|
2
|
-
if Cucumber::VERSION >= '3'
|
3
|
-
@runtime = Cucumber::Runtime.new
|
4
|
-
scenario = double('scenario', :language => 'en', :accept_hook? => true)
|
5
|
-
@runtime.send(:begin_scenario, scenario)
|
6
|
-
@main = Object.new
|
7
|
-
@main.extend(Cucumber::Glue::Dsl)
|
8
|
-
else
|
9
|
-
@runtime = Cucumber::Runtime.new
|
10
|
-
language = support_code.ruby if support_code.respond_to?(:ruby)
|
11
|
-
language ||= support_code.load_programming_language('rb')
|
12
|
-
language
|
13
|
-
scenario = double('scenario', :language => 'en', :accept_hook? => true)
|
14
|
-
language.send(:begin_scenario, scenario)
|
15
|
-
@world = language.current_world
|
16
|
-
@main = Object.new
|
17
|
-
@main.extend(Cucumber::RbSupport::RbDsl)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def invoke_cucumber_step(step)
|
22
|
-
first_step_match(step).invoke(nil) # nil means no multiline args
|
23
|
-
end
|
24
|
-
|
25
|
-
def support_code
|
26
|
-
@runtime.instance_variable_get(:@support_code)
|
27
|
-
end
|
28
|
-
|
29
|
-
def first_step_match(*args)
|
30
|
-
support_code.send(:step_matches, *args).first
|
31
|
-
end
|