cucumber 0.10.2 → 0.10.3
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/.travis.yml +4 -0
- data/History.txt +10 -1
- data/README.rdoc +1 -1
- data/Rakefile +0 -1
- data/cucumber.gemspec +4 -5
- data/examples/i18n/ru/features/division.feature +2 -2
- data/fixtures/junit/features/pending.feature +3 -1
- data/fixtures/junit/features/some_subdirectory/one_passing_one_failing.feature +8 -0
- data/gem_tasks/cucumber.rake +4 -1
- data/gem_tasks/downloads.rb +7 -0
- data/gem_tasks/versions.txt +74 -0
- data/legacy_features/junit_formatter.feature +48 -5
- data/lib/cucumber/ast/table.rb +3 -1
- data/lib/cucumber/formatter/console.rb +7 -5
- data/lib/cucumber/formatter/junit.rb +23 -21
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/rake/task.rb +44 -23
- data/spec/cucumber/ast/table_spec.rb +4 -0
- data/spec/cucumber/formatter/junit_spec.rb +13 -0
- data/spec/cucumber/formatter/spec_helper.rb +4 -3
- data/spec/cucumber/rake/forked_spec.rb +62 -0
- data/spec/cucumber/rake/rcov_spec.rb +71 -0
- data/spec/cucumber/rake/task_spec.rb +22 -0
- data/spec/spec_helper.rb +1 -0
- metadata +38 -34
data/.travis.yml
ADDED
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 0.10.3 (2011-05-23)
|
2
|
+
|
3
|
+
=== New Features
|
4
|
+
* Better JUnit formatter support for sub directories and scenario outlines (#59 Matt Simpson)
|
5
|
+
* Coloured output that spans several lines sets colours for each line. (Aslak Hellesøy)
|
6
|
+
* New bundler attribute on the Rake task, allowing faster execution. (Aslak Hellesøy)
|
7
|
+
* Fix Table#rows cell ordering in ruby 1.8. (#47_github Brian Dunn)
|
8
|
+
* JUnit Formatter: record skipped/pending/undefined scenario results (#655 meeee)
|
9
|
+
|
1
10
|
== 0.10.2 (2011-03-21)
|
2
11
|
|
3
12
|
=== Bugfixes
|
@@ -20,7 +29,7 @@
|
|
20
29
|
|
21
30
|
=== Bugfixes
|
22
31
|
* Missing methods in Runtime::ForProgrammingLanguages - make v8 example run again (Chris Mytton)
|
23
|
-
* Features files are sorted before they are executed, giving consistent results
|
32
|
+
* Features files are sorted before they are executed, giving consistent results across different OSes (Guewen Baconnier)
|
24
33
|
* Remove duplicate lines in backtraces in the HTML report (Jari Bakken)
|
25
34
|
|
26
35
|
== 0.10.0 (2010-12-07)
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
data/cucumber.gemspec
CHANGED
@@ -12,7 +12,6 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.homepage = "http://cukes.info"
|
13
13
|
|
14
14
|
s.platform = Gem::Platform::RUBY
|
15
|
-
s.default_executable = "cucumber"
|
16
15
|
s.post_install_message = %{
|
17
16
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
18
17
|
|
@@ -24,15 +23,15 @@ for important information about this release. Happy cuking!
|
|
24
23
|
|
25
24
|
}
|
26
25
|
|
27
|
-
s.add_dependency 'gherkin', '>= 2.3.
|
26
|
+
s.add_dependency 'gherkin', '>= 2.3.8'
|
28
27
|
s.add_dependency 'term-ansicolor', '>= 1.0.5'
|
29
28
|
s.add_dependency 'builder', '>= 2.1.2'
|
30
29
|
s.add_dependency 'diff-lcs', '>= 1.1.2'
|
31
30
|
s.add_dependency 'json', '>= 1.4.6'
|
32
31
|
|
33
|
-
s.add_development_dependency 'aruba', '>= 0.3.
|
32
|
+
s.add_development_dependency 'aruba', '>= 0.3.6'
|
34
33
|
s.add_development_dependency 'rake', '>= 0.8.7'
|
35
|
-
s.add_development_dependency 'rspec', '>= 2.
|
34
|
+
s.add_development_dependency 'rspec', '>= 2.6.0'
|
36
35
|
s.add_development_dependency 'nokogiri', '>= 1.4.4'
|
37
36
|
s.add_development_dependency 'prawn', '= 0.8.4'
|
38
37
|
s.add_development_dependency 'prawn-layout', '= 0.8.4'
|
@@ -45,7 +44,7 @@ for important information about this release. Happy cuking!
|
|
45
44
|
s.add_development_dependency 'rack-test', '>= 0.5.7'
|
46
45
|
s.add_development_dependency 'webrat', '>= 0.7.3'
|
47
46
|
s.add_development_dependency 'sinatra', '>= 1.2.0'
|
48
|
-
s.add_development_dependency 'capybara', '>= 0.
|
47
|
+
s.add_development_dependency 'capybara', '>= 1.0.0.beta1'
|
49
48
|
|
50
49
|
s.rubygems_version = ">= 1.6.1"
|
51
50
|
s.files = `git ls-files`.split("\n")
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# language: ru
|
2
|
-
|
2
|
+
Функция: Деление чисел
|
3
3
|
Поскольку деление сложный процесс и люди часто допускают ошибки
|
4
4
|
Нужно дать им возможность делить на калькуляторе
|
5
5
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
Если я нажимаю "/"
|
10
10
|
То результатом должно быть число <частное>
|
11
11
|
|
12
|
-
|
12
|
+
Примеры:
|
13
13
|
| делимое | делитель | частное |
|
14
14
|
| 100 | 2 | 50 |
|
15
15
|
| 28 | 7 | 4 |
|
data/gem_tasks/cucumber.rake
CHANGED
@@ -2,9 +2,12 @@ $:.unshift(File.dirname(__FILE__) + '/../lib')
|
|
2
2
|
require 'cucumber/rake/task'
|
3
3
|
require 'cucumber/platform'
|
4
4
|
|
5
|
-
Cucumber::Rake::Task.new(:features)
|
5
|
+
Cucumber::Rake::Task.new(:features) do |t|
|
6
|
+
t.fork = false
|
7
|
+
end
|
6
8
|
|
7
9
|
Cucumber::Rake::Task.new(:legacy_features) do |t|
|
10
|
+
t.fork = false
|
8
11
|
t.cucumber_opts = %w{legacy_features}
|
9
12
|
if(Cucumber::JRUBY)
|
10
13
|
t.profile = Cucumber::WINDOWS ? 'jruby_win' : 'jruby'
|
@@ -0,0 +1,74 @@
|
|
1
|
+
0.10.2
|
2
|
+
0.10.1
|
3
|
+
0.10.0
|
4
|
+
0.9.4
|
5
|
+
0.9.3
|
6
|
+
0.9.2
|
7
|
+
0.9.1
|
8
|
+
0.9.0
|
9
|
+
0.8.5
|
10
|
+
0.8.4
|
11
|
+
0.8.3
|
12
|
+
0.8.2
|
13
|
+
0.8.1
|
14
|
+
0.8.0
|
15
|
+
0.7.3
|
16
|
+
0.7.2
|
17
|
+
0.7.1
|
18
|
+
0.7.0
|
19
|
+
0.6.4
|
20
|
+
0.6.3
|
21
|
+
0.6.2
|
22
|
+
0.6.1
|
23
|
+
0.6.0
|
24
|
+
0.5.3
|
25
|
+
0.5.2
|
26
|
+
0.5.1
|
27
|
+
0.5.0
|
28
|
+
0.4.4
|
29
|
+
0.4.3
|
30
|
+
0.4.2
|
31
|
+
0.4.1
|
32
|
+
0.4.0
|
33
|
+
0.3.104
|
34
|
+
0.3.103
|
35
|
+
0.3.102
|
36
|
+
0.3.101
|
37
|
+
0.3.100
|
38
|
+
0.3.99
|
39
|
+
0.3.98
|
40
|
+
0.3.97
|
41
|
+
0.3.96
|
42
|
+
0.3.95
|
43
|
+
0.3.94
|
44
|
+
0.3.93
|
45
|
+
0.3.92
|
46
|
+
0.3.91
|
47
|
+
0.3.90
|
48
|
+
0.3.11
|
49
|
+
0.3.10
|
50
|
+
0.3.9
|
51
|
+
0.3.8
|
52
|
+
0.3.7
|
53
|
+
0.3.6
|
54
|
+
0.3.5
|
55
|
+
0.3.4
|
56
|
+
0.3.3
|
57
|
+
0.3.2
|
58
|
+
0.3.1
|
59
|
+
0.3.0
|
60
|
+
0.2.3
|
61
|
+
0.2.2
|
62
|
+
0.2.1
|
63
|
+
0.2.0
|
64
|
+
0.1.16
|
65
|
+
0.1.15
|
66
|
+
0.1.14
|
67
|
+
0.1.13
|
68
|
+
0.1.12
|
69
|
+
0.1.11
|
70
|
+
0.1.10
|
71
|
+
0.1.9
|
72
|
+
0.1.8
|
73
|
+
0.1.7
|
74
|
+
0.1.6
|
@@ -15,7 +15,7 @@ Feature: JUnit output formatter
|
|
15
15
|
And "fixtures/junit/tmp/TEST-one_passing_one_failing.xml" with junit duration "0.005" should contain
|
16
16
|
"""
|
17
17
|
<?xml version="1.0" encoding="UTF-8"?>
|
18
|
-
<testsuite errors="0" failures="1" name="One passing scenario, one failing scenario" tests="2" time="0.005">
|
18
|
+
<testsuite errors="0" failures="1" name="One passing scenario, one failing scenario" skipped="0" tests="2" time="0.005">
|
19
19
|
<testcase classname="One passing scenario, one failing scenario.Passing" name="Passing" time="0.005">
|
20
20
|
</testcase>
|
21
21
|
<testcase classname="One passing scenario, one failing scenario.Failing" name="Failing" time="0.005">
|
@@ -34,7 +34,35 @@ Feature: JUnit output formatter
|
|
34
34
|
|
35
35
|
"""
|
36
36
|
|
37
|
-
Scenario:
|
37
|
+
Scenario: one feature in a subdirectory, one passing scenario, one failing scenario
|
38
|
+
When I run cucumber --format junit --out tmp/ features/some_subdirectory/one_passing_one_failing.feature --require features
|
39
|
+
Then it should fail with
|
40
|
+
"""
|
41
|
+
|
42
|
+
"""
|
43
|
+
And "fixtures/junit/tmp/TEST-some_subdirectory_one_passing_one_failing.xml" with junit duration "0.005" should contain
|
44
|
+
"""
|
45
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
46
|
+
<testsuite errors="0" failures="1" name="Subdirectory - One passing scenario, one failing scenario" skipped="0" tests="2" time="0.005">
|
47
|
+
<testcase classname="Subdirectory - One passing scenario, one failing scenario.Passing" name="Passing" time="0.005">
|
48
|
+
</testcase>
|
49
|
+
<testcase classname="Subdirectory - One passing scenario, one failing scenario.Failing" name="Failing" time="0.005">
|
50
|
+
<failure message="failed Failing" type="failed">
|
51
|
+
<![CDATA[Scenario: Failing
|
52
|
+
|
53
|
+
Given a failing scenario
|
54
|
+
|
55
|
+
Message:
|
56
|
+
]]>
|
57
|
+
<![CDATA[ (RuntimeError)
|
58
|
+
features/some_subdirectory/one_passing_one_failing.feature:7:in `Given a failing scenario']]>
|
59
|
+
</failure>
|
60
|
+
</testcase>
|
61
|
+
</testsuite>
|
62
|
+
|
63
|
+
"""
|
64
|
+
|
65
|
+
Scenario: pending and undefined steps are reported as skipped
|
38
66
|
When I run cucumber --format junit --out tmp/ features/pending.feature
|
39
67
|
Then it should pass with
|
40
68
|
"""
|
@@ -43,12 +71,18 @@ Feature: JUnit output formatter
|
|
43
71
|
And "fixtures/junit/tmp/TEST-pending.xml" with junit duration "0.009" should contain
|
44
72
|
"""
|
45
73
|
<?xml version="1.0" encoding="UTF-8"?>
|
46
|
-
<testsuite errors="0" failures="0" name="Pending step" tests="
|
74
|
+
<testsuite errors="0" failures="0" name="Pending step" skipped="2" tests="2" time="0.009">
|
75
|
+
<testcase classname="Pending step.Pending" name="Pending" time="0.009">
|
76
|
+
<skipped/>
|
77
|
+
</testcase>
|
78
|
+
<testcase classname="Pending step.Undefined" name="Undefined" time="0.009">
|
79
|
+
<skipped/>
|
80
|
+
</testcase>
|
47
81
|
</testsuite>
|
48
82
|
|
49
83
|
"""
|
50
84
|
|
51
|
-
Scenario: pending
|
85
|
+
Scenario: pending and undefined steps with strict option should fail
|
52
86
|
When I run cucumber --format junit --out tmp/ features/pending.feature --strict
|
53
87
|
Then it should fail with
|
54
88
|
"""
|
@@ -57,7 +91,7 @@ Feature: JUnit output formatter
|
|
57
91
|
And "fixtures/junit/tmp/TEST-pending.xml" with junit duration "0.000160" should contain
|
58
92
|
"""
|
59
93
|
<?xml version="1.0" encoding="UTF-8"?>
|
60
|
-
<testsuite errors="0" failures="
|
94
|
+
<testsuite errors="0" failures="2" name="Pending step" skipped="0" tests="2" time="0.000160">
|
61
95
|
<testcase classname="Pending step.Pending" name="Pending" time="0.000160">
|
62
96
|
<failure message="pending Pending" type="pending">
|
63
97
|
<![CDATA[Scenario: Pending
|
@@ -67,6 +101,15 @@ Feature: JUnit output formatter
|
|
67
101
|
features/pending.feature:4:in `Given a pending step']]>
|
68
102
|
</failure>
|
69
103
|
</testcase>
|
104
|
+
<testcase classname="Pending step.Undefined" name="Undefined" time="0.000160">
|
105
|
+
<failure message="undefined Undefined" type="undefined">
|
106
|
+
<![CDATA[Scenario: Undefined
|
107
|
+
|
108
|
+
]]>
|
109
|
+
<![CDATA[Undefined step: "an undefined step" (Cucumber::Undefined)
|
110
|
+
features/pending.feature:7:in `Given an undefined step']]>
|
111
|
+
</failure>
|
112
|
+
</testcase>
|
70
113
|
</testsuite>
|
71
114
|
|
72
115
|
"""
|
data/lib/cucumber/ast/table.rb
CHANGED
@@ -28,11 +28,13 @@ module Cucumber
|
|
28
28
|
|
29
29
|
def format_string(string, status)
|
30
30
|
fmt = format_for(status)
|
31
|
-
|
32
|
-
fmt
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
string.split("\n").map do |line|
|
32
|
+
if Proc === fmt
|
33
|
+
fmt.call(line)
|
34
|
+
else
|
35
|
+
fmt % line
|
36
|
+
end
|
37
|
+
end.join("\n")
|
36
38
|
end
|
37
39
|
|
38
40
|
def print_steps(status)
|
@@ -21,7 +21,7 @@ module Cucumber
|
|
21
21
|
|
22
22
|
def before_feature(feature)
|
23
23
|
@current_feature = feature
|
24
|
-
@failures = @errors = @tests = 0
|
24
|
+
@failures = @errors = @tests = @skipped = 0
|
25
25
|
@builder = OrderedXmlMarkup.new( :indent => 2 )
|
26
26
|
@time = 0
|
27
27
|
end
|
@@ -32,6 +32,7 @@ module Cucumber
|
|
32
32
|
@testsuite.testsuite(
|
33
33
|
:failures => @failures,
|
34
34
|
:errors => @errors,
|
35
|
+
:skipped => @skipped,
|
35
36
|
:tests => @tests,
|
36
37
|
:time => "%.6f" % @time,
|
37
38
|
:name => @feature_name ) do
|
@@ -56,13 +57,8 @@ module Cucumber
|
|
56
57
|
end
|
57
58
|
|
58
59
|
def scenario_name(keyword, name, file_colon_line, source_indent)
|
59
|
-
|
60
|
-
|
61
|
-
scenario_name = "Unnamed scenario" if name == ""
|
62
|
-
@scenario = scenario_name
|
63
|
-
description = "Scenario"
|
64
|
-
description << " outline" if keyword.include?('Scenario Outline')
|
65
|
-
@output = "#{description}: #{@scenario}\n\n"
|
60
|
+
@scenario = (name.nil? || name == "") ? "Unnamed scenario" : name.split("\n")[0]
|
61
|
+
@output = "#{keyword}: #{@scenario}\n\n"
|
66
62
|
end
|
67
63
|
|
68
64
|
def before_steps(steps)
|
@@ -116,20 +112,23 @@ module Cucumber
|
|
116
112
|
@time += duration
|
117
113
|
classname = "#{@feature_name}.#{@scenario}"
|
118
114
|
name = "#{@scenario}#{suffix}"
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
end
|
128
|
-
@failures += 1
|
115
|
+
pending = [:pending, :undefined].include?(status)
|
116
|
+
passed = (status == :passed || (pending && !@options[:strict]))
|
117
|
+
|
118
|
+
@builder.testcase(:classname => classname, :name => name, :time => "%.6f" % duration) do
|
119
|
+
unless passed
|
120
|
+
@builder.failure(:message => "#{status.to_s} #{name}", :type => status.to_s) do
|
121
|
+
@builder.cdata! @output
|
122
|
+
@builder.cdata!(format_exception(exception)) if exception
|
129
123
|
end
|
124
|
+
@failures += 1
|
125
|
+
end
|
126
|
+
if passed and (status == :skipped || pending)
|
127
|
+
@builder.skipped
|
128
|
+
@skipped += 1
|
130
129
|
end
|
131
|
-
@tests += 1
|
132
130
|
end
|
131
|
+
@tests += 1
|
133
132
|
end
|
134
133
|
|
135
134
|
def format_exception(exception)
|
@@ -137,9 +136,12 @@ module Cucumber
|
|
137
136
|
end
|
138
137
|
|
139
138
|
def feature_result_filename(feature_file)
|
139
|
+
File.join(@reportdir, "TEST-#{basename(feature_file)}.xml")
|
140
|
+
end
|
141
|
+
|
142
|
+
def basename(feature_file)
|
140
143
|
ext_length = File.extname(feature_file).length
|
141
|
-
|
142
|
-
File.join(@reportdir, "TEST-#{basename}.xml")
|
144
|
+
feature_file.gsub('features/', '').gsub(File::SEPARATOR, '_')[0...-ext_length]
|
143
145
|
end
|
144
146
|
|
145
147
|
def write_file(feature_filename, data)
|
data/lib/cucumber/platform.rb
CHANGED
@@ -4,7 +4,7 @@ require 'rbconfig'
|
|
4
4
|
|
5
5
|
module Cucumber
|
6
6
|
unless defined?(Cucumber::VERSION)
|
7
|
-
VERSION = '0.10.
|
7
|
+
VERSION = '0.10.3'
|
8
8
|
BINARY = File.expand_path(File.dirname(__FILE__) + '/../../bin/cucumber')
|
9
9
|
LIBDIR = File.expand_path(File.dirname(__FILE__) + '/../../lib')
|
10
10
|
JRUBY = defined?(JRUBY_VERSION)
|
data/lib/cucumber/rake/task.rb
CHANGED
@@ -52,45 +52,59 @@ module Cucumber
|
|
52
52
|
end
|
53
53
|
|
54
54
|
class ForkedCucumberRunner #:nodoc:
|
55
|
-
attr_reader :args
|
56
55
|
|
57
|
-
def initialize(libs, cucumber_bin, cucumber_opts, feature_files)
|
58
|
-
@
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
).flatten
|
56
|
+
def initialize(libs, cucumber_bin, cucumber_opts, bundler, feature_files)
|
57
|
+
@libs = libs
|
58
|
+
@cucumber_bin = cucumber_bin
|
59
|
+
@cucumber_opts = cucumber_opts
|
60
|
+
@bundler = bundler
|
61
|
+
@feature_files = feature_files
|
64
62
|
end
|
65
63
|
|
66
64
|
def load_path(libs)
|
67
|
-
['"%s"' % libs.join(File::PATH_SEPARATOR)]
|
65
|
+
['"%s"' % @libs.join(File::PATH_SEPARATOR)]
|
68
66
|
end
|
69
67
|
|
70
68
|
def quoted_binary(cucumber_bin)
|
71
69
|
['"%s"' % cucumber_bin]
|
72
70
|
end
|
73
71
|
|
74
|
-
def
|
75
|
-
File.exist?("./Gemfile") && Gem.available?("bundler")
|
72
|
+
def use_bundler
|
73
|
+
@bundler.nil? ? File.exist?("./Gemfile") && Gem.available?("bundler") : @bundler
|
74
|
+
end
|
75
|
+
|
76
|
+
def cmd
|
77
|
+
if use_bundler
|
78
|
+
[ RUBY, '-S', 'bundle', 'exec', 'cucumber', @cucumber_opts,
|
79
|
+
@feature_files ].flatten
|
80
|
+
else
|
81
|
+
[ RUBY, '-I', load_path(@libs), quoted_binary(@cucumber_bin),
|
82
|
+
@cucumber_opts, @feature_files ].flatten
|
83
|
+
end
|
76
84
|
end
|
77
85
|
|
78
86
|
def run
|
79
|
-
sh(
|
87
|
+
sh(cmd.join(" "))
|
80
88
|
end
|
81
89
|
end
|
82
90
|
|
83
91
|
class RCovCucumberRunner < ForkedCucumberRunner #:nodoc:
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
quoted_binary(cucumber_bin) +
|
89
|
-
['--'] +
|
90
|
-
cucumber_opts +
|
91
|
-
feature_files
|
92
|
-
).flatten
|
92
|
+
|
93
|
+
def initialize(libs, cucumber_bin, cucumber_opts, bundler, feature_files, rcov_opts)
|
94
|
+
super( libs, cucumber_bin, cucumber_opts, bundler, feature_files )
|
95
|
+
@rcov_opts = rcov_opts
|
93
96
|
end
|
97
|
+
|
98
|
+
def cmd
|
99
|
+
if use_bundler
|
100
|
+
[RUBY, '-S', 'bundle', 'exec', 'rcov', @rcov_opts,
|
101
|
+
quoted_binary(@cucumber_bin), '--', @cucumber_opts, @feature_files].flatten
|
102
|
+
else
|
103
|
+
[RUBY, '-I', load_path(@libs), '-S', 'rcov', @rcov_opts,
|
104
|
+
quoted_binary(@cucumber_bin), '--', @cucumber_opts, @feature_files].flatten
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
94
108
|
end
|
95
109
|
|
96
110
|
LIB = File.expand_path(File.dirname(__FILE__) + '/../..') #:nodoc:
|
@@ -128,6 +142,13 @@ module Cucumber
|
|
128
142
|
# to it. Will be ignored when CUCUMBER_OPTS is used.
|
129
143
|
attr_accessor :profile
|
130
144
|
|
145
|
+
# Whether or not to run with bundler (bundle exec). Setting this to false may speed
|
146
|
+
# up the execution. The default value is true if Bundler is installed and you have
|
147
|
+
# a Gemfile, false otherwise.
|
148
|
+
#
|
149
|
+
# Note that this attribute has no effect if you don't run in forked mode.
|
150
|
+
attr_accessor :bundler
|
151
|
+
|
131
152
|
# Define Cucumber Rake task
|
132
153
|
def initialize(task_name = "cucumber", desc = "Run Cucumber features")
|
133
154
|
@task_name, @desc = task_name, desc
|
@@ -153,9 +174,9 @@ module Cucumber
|
|
153
174
|
def runner(task_args = nil) #:nodoc:
|
154
175
|
cucumber_opts = [(ENV['CUCUMBER_OPTS'] ? ENV['CUCUMBER_OPTS'].split(/\s+/) : nil) || cucumber_opts_with_profile]
|
155
176
|
if(@rcov)
|
156
|
-
RCovCucumberRunner.new(libs, binary, cucumber_opts, feature_files, rcov_opts)
|
177
|
+
RCovCucumberRunner.new(libs, binary, cucumber_opts, bundler, feature_files, rcov_opts)
|
157
178
|
elsif(@fork)
|
158
|
-
ForkedCucumberRunner.new(libs, binary, cucumber_opts, feature_files)
|
179
|
+
ForkedCucumberRunner.new(libs, binary, cucumber_opts, bundler, feature_files)
|
159
180
|
else
|
160
181
|
InProcessCucumberRunner.new(libs, cucumber_opts, feature_files)
|
161
182
|
end
|
@@ -61,6 +61,10 @@ module Cucumber
|
|
61
61
|
@table.rows.first.should_not include('4444')
|
62
62
|
end
|
63
63
|
|
64
|
+
it "should return the row values in order" do
|
65
|
+
@table.rows.first.should == %w{4444 55555 666666}
|
66
|
+
end
|
67
|
+
|
64
68
|
it "should pass silently if a mapped column does not exist in non-strict mode" do
|
65
69
|
lambda {
|
66
70
|
@table.map_column!('two', false) { |v| v.to_i }
|
@@ -51,6 +51,19 @@ module Cucumber::Formatter
|
|
51
51
|
|
52
52
|
it { @doc.to_s.should =~ /One passing scenario, one failing scenario/ }
|
53
53
|
end
|
54
|
+
|
55
|
+
describe "with a scenario in a subdirectory" do
|
56
|
+
define_feature %{
|
57
|
+
Feature: One passing scenario, one failing scenario
|
58
|
+
|
59
|
+
Scenario: Passing
|
60
|
+
Given a passing scenario
|
61
|
+
}, File.join('features', 'some', 'path', 'spec.feature')
|
62
|
+
|
63
|
+
it 'writes the filename including the subdirectory' do
|
64
|
+
@formatter.written_files.keys.first.should == File.join('', 'TEST-some_path_spec.xml')
|
65
|
+
end
|
66
|
+
end
|
54
67
|
|
55
68
|
describe "with a scenario outline table" do
|
56
69
|
define_steps do
|
@@ -2,10 +2,11 @@ module Cucumber
|
|
2
2
|
module Formatter
|
3
3
|
|
4
4
|
module SpecHelperDsl
|
5
|
-
attr_reader :feature_content, :step_defs
|
5
|
+
attr_reader :feature_content, :step_defs, :feature_filename
|
6
6
|
|
7
|
-
def define_feature(string)
|
7
|
+
def define_feature(string, feature_file = 'spec.feature')
|
8
8
|
@feature_content = string
|
9
|
+
@feature_filename = feature_file
|
9
10
|
end
|
10
11
|
|
11
12
|
def define_steps(&block)
|
@@ -25,7 +26,7 @@ module Cucumber
|
|
25
26
|
end
|
26
27
|
|
27
28
|
def load_features(content)
|
28
|
-
feature_file = FeatureFile.new(
|
29
|
+
feature_file = FeatureFile.new(self.class.feature_filename, content)
|
29
30
|
features = Ast::Features.new
|
30
31
|
filters = []
|
31
32
|
feature = feature_file.parse(filters, {})
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
require 'cucumber/rake/task'
|
3
|
+
require 'rake'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
module Rake
|
7
|
+
|
8
|
+
describe Task::ForkedCucumberRunner do
|
9
|
+
|
10
|
+
let(:libs) { ['lib'] }
|
11
|
+
let(:binary) { Cucumber::BINARY }
|
12
|
+
let(:cucumber_opts) { ['--cuke-option'] }
|
13
|
+
let(:feature_files) { ['./some.feature'] }
|
14
|
+
|
15
|
+
context "when running with bundler" do
|
16
|
+
|
17
|
+
let(:bundler) { true }
|
18
|
+
|
19
|
+
subject { Task::ForkedCucumberRunner.new(
|
20
|
+
libs, binary, cucumber_opts, bundler, feature_files) }
|
21
|
+
|
22
|
+
it "does use bundler if bundler is set to true" do
|
23
|
+
subject.use_bundler.should be_true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "uses bundle exec to find cucumber and libraries" do
|
27
|
+
subject.cmd.should == [RUBY,
|
28
|
+
'-S',
|
29
|
+
'bundle',
|
30
|
+
'exec',
|
31
|
+
'cucumber',
|
32
|
+
'--cuke-option'] + feature_files
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
context "when running without bundler" do
|
38
|
+
|
39
|
+
let(:bundler) { false }
|
40
|
+
|
41
|
+
subject { Task::ForkedCucumberRunner.new(
|
42
|
+
libs, binary, cucumber_opts, bundler, feature_files) }
|
43
|
+
|
44
|
+
it "does not use bundler if bundler is set to false" do
|
45
|
+
subject.use_bundler.should be_false
|
46
|
+
end
|
47
|
+
|
48
|
+
it "uses well known cucumber location and specified libraries" do
|
49
|
+
subject.cmd.should == [RUBY,
|
50
|
+
"-I",
|
51
|
+
"\"lib\"",
|
52
|
+
"\"#{Cucumber::BINARY }\"",
|
53
|
+
"--cuke-option"] + feature_files
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
require 'cucumber/rake/task'
|
3
|
+
require 'rake'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
module Rake
|
7
|
+
|
8
|
+
describe Task::RCovCucumberRunner do
|
9
|
+
|
10
|
+
let(:libs) { ['lib'] }
|
11
|
+
let(:binary) { Cucumber::BINARY }
|
12
|
+
let(:cucumber_opts) { ['--cuke-option'] }
|
13
|
+
let(:feature_files) { [] }
|
14
|
+
let(:rcov_opts) { ['--rcov-option'] }
|
15
|
+
|
16
|
+
|
17
|
+
context "when running with bundler" do
|
18
|
+
|
19
|
+
let(:bundler) { true }
|
20
|
+
|
21
|
+
subject { Task::RCovCucumberRunner.new(
|
22
|
+
libs, binary, cucumber_opts, bundler, feature_files, rcov_opts) }
|
23
|
+
|
24
|
+
it "does use bundler if bundler is set to true" do
|
25
|
+
subject.use_bundler.should be_true
|
26
|
+
end
|
27
|
+
|
28
|
+
it "uses bundle exec to find cucumber and libraries" do
|
29
|
+
subject.cmd.should == [RUBY,
|
30
|
+
'-S',
|
31
|
+
'bundle',
|
32
|
+
'exec',
|
33
|
+
'rcov',
|
34
|
+
'--rcov-option',
|
35
|
+
"\"#{Cucumber::BINARY }\"",
|
36
|
+
'--',
|
37
|
+
'--cuke-option'] + feature_files
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
context "when running without bundler" do
|
43
|
+
|
44
|
+
let(:bundler) { false }
|
45
|
+
|
46
|
+
subject { Task::RCovCucumberRunner.new(
|
47
|
+
libs, binary, cucumber_opts, bundler, feature_files, rcov_opts) }
|
48
|
+
|
49
|
+
it "does not use bundler if bundler is set to false" do
|
50
|
+
subject.use_bundler.should be_false
|
51
|
+
end
|
52
|
+
|
53
|
+
it "uses well known cucumber location and specified libraries" do
|
54
|
+
subject.cmd.should == [RUBY,
|
55
|
+
'-I',
|
56
|
+
'"lib"',
|
57
|
+
'-S',
|
58
|
+
'rcov',
|
59
|
+
'--rcov-option',
|
60
|
+
"\"#{Cucumber::BINARY }\"",
|
61
|
+
'--',
|
62
|
+
'--cuke-option'] + feature_files
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
require 'cucumber/rake/task'
|
3
|
+
require 'rake'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
module Rake
|
7
|
+
|
8
|
+
describe Task do
|
9
|
+
|
10
|
+
context "when running rcov" do
|
11
|
+
let(:task) { Task.new { |t| t.rcov = true } }
|
12
|
+
|
13
|
+
it "correctly builds an RCovCucumberRunner" do
|
14
|
+
runner = task.runner
|
15
|
+
runner.should be_a(Task::RCovCucumberRunner)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.10.
|
5
|
+
version: 0.10.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- "Aslak Helles\xC3\xB8y"
|
@@ -10,22 +10,23 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
14
|
-
default_executable:
|
13
|
+
date: 2011-05-23 00:00:00 +01:00
|
14
|
+
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: gherkin
|
18
|
+
prerelease: false
|
18
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
19
20
|
none: false
|
20
21
|
requirements:
|
21
22
|
- - ">="
|
22
23
|
- !ruby/object:Gem::Version
|
23
|
-
version: 2.3.
|
24
|
+
version: 2.3.8
|
24
25
|
type: :runtime
|
25
|
-
prerelease: false
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: term-ansicolor
|
29
|
+
prerelease: false
|
29
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
30
31
|
none: false
|
31
32
|
requirements:
|
@@ -33,10 +34,10 @@ dependencies:
|
|
33
34
|
- !ruby/object:Gem::Version
|
34
35
|
version: 1.0.5
|
35
36
|
type: :runtime
|
36
|
-
prerelease: false
|
37
37
|
version_requirements: *id002
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: builder
|
40
|
+
prerelease: false
|
40
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
41
42
|
none: false
|
42
43
|
requirements:
|
@@ -44,10 +45,10 @@ dependencies:
|
|
44
45
|
- !ruby/object:Gem::Version
|
45
46
|
version: 2.1.2
|
46
47
|
type: :runtime
|
47
|
-
prerelease: false
|
48
48
|
version_requirements: *id003
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: diff-lcs
|
51
|
+
prerelease: false
|
51
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
52
53
|
none: false
|
53
54
|
requirements:
|
@@ -55,10 +56,10 @@ dependencies:
|
|
55
56
|
- !ruby/object:Gem::Version
|
56
57
|
version: 1.1.2
|
57
58
|
type: :runtime
|
58
|
-
prerelease: false
|
59
59
|
version_requirements: *id004
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: json
|
62
|
+
prerelease: false
|
62
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
63
64
|
none: false
|
64
65
|
requirements:
|
@@ -66,21 +67,21 @@ dependencies:
|
|
66
67
|
- !ruby/object:Gem::Version
|
67
68
|
version: 1.4.6
|
68
69
|
type: :runtime
|
69
|
-
prerelease: false
|
70
70
|
version_requirements: *id005
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: aruba
|
73
|
+
prerelease: false
|
73
74
|
requirement: &id006 !ruby/object:Gem::Requirement
|
74
75
|
none: false
|
75
76
|
requirements:
|
76
77
|
- - ">="
|
77
78
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.3.
|
79
|
+
version: 0.3.6
|
79
80
|
type: :development
|
80
|
-
prerelease: false
|
81
81
|
version_requirements: *id006
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: rake
|
84
|
+
prerelease: false
|
84
85
|
requirement: &id007 !ruby/object:Gem::Requirement
|
85
86
|
none: false
|
86
87
|
requirements:
|
@@ -88,21 +89,21 @@ dependencies:
|
|
88
89
|
- !ruby/object:Gem::Version
|
89
90
|
version: 0.8.7
|
90
91
|
type: :development
|
91
|
-
prerelease: false
|
92
92
|
version_requirements: *id007
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rspec
|
95
|
+
prerelease: false
|
95
96
|
requirement: &id008 !ruby/object:Gem::Requirement
|
96
97
|
none: false
|
97
98
|
requirements:
|
98
99
|
- - ">="
|
99
100
|
- !ruby/object:Gem::Version
|
100
|
-
version: 2.
|
101
|
+
version: 2.6.0
|
101
102
|
type: :development
|
102
|
-
prerelease: false
|
103
103
|
version_requirements: *id008
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: nokogiri
|
106
|
+
prerelease: false
|
106
107
|
requirement: &id009 !ruby/object:Gem::Requirement
|
107
108
|
none: false
|
108
109
|
requirements:
|
@@ -110,10 +111,10 @@ dependencies:
|
|
110
111
|
- !ruby/object:Gem::Version
|
111
112
|
version: 1.4.4
|
112
113
|
type: :development
|
113
|
-
prerelease: false
|
114
114
|
version_requirements: *id009
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: prawn
|
117
|
+
prerelease: false
|
117
118
|
requirement: &id010 !ruby/object:Gem::Requirement
|
118
119
|
none: false
|
119
120
|
requirements:
|
@@ -121,10 +122,10 @@ dependencies:
|
|
121
122
|
- !ruby/object:Gem::Version
|
122
123
|
version: 0.8.4
|
123
124
|
type: :development
|
124
|
-
prerelease: false
|
125
125
|
version_requirements: *id010
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: prawn-layout
|
128
|
+
prerelease: false
|
128
129
|
requirement: &id011 !ruby/object:Gem::Requirement
|
129
130
|
none: false
|
130
131
|
requirements:
|
@@ -132,10 +133,10 @@ dependencies:
|
|
132
133
|
- !ruby/object:Gem::Version
|
133
134
|
version: 0.8.4
|
134
135
|
type: :development
|
135
|
-
prerelease: false
|
136
136
|
version_requirements: *id011
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: syntax
|
139
|
+
prerelease: false
|
139
140
|
requirement: &id012 !ruby/object:Gem::Requirement
|
140
141
|
none: false
|
141
142
|
requirements:
|
@@ -143,10 +144,10 @@ dependencies:
|
|
143
144
|
- !ruby/object:Gem::Version
|
144
145
|
version: 1.0.0
|
145
146
|
type: :development
|
146
|
-
prerelease: false
|
147
147
|
version_requirements: *id012
|
148
148
|
- !ruby/object:Gem::Dependency
|
149
149
|
name: spork
|
150
|
+
prerelease: false
|
150
151
|
requirement: &id013 !ruby/object:Gem::Requirement
|
151
152
|
none: false
|
152
153
|
requirements:
|
@@ -154,10 +155,10 @@ dependencies:
|
|
154
155
|
- !ruby/object:Gem::Version
|
155
156
|
version: 0.8.4
|
156
157
|
type: :development
|
157
|
-
prerelease: false
|
158
158
|
version_requirements: *id013
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: simplecov
|
161
|
+
prerelease: false
|
161
162
|
requirement: &id014 !ruby/object:Gem::Requirement
|
162
163
|
none: false
|
163
164
|
requirements:
|
@@ -165,10 +166,10 @@ dependencies:
|
|
165
166
|
- !ruby/object:Gem::Version
|
166
167
|
version: 0.4.1
|
167
168
|
type: :development
|
168
|
-
prerelease: false
|
169
169
|
version_requirements: *id014
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: ramaze
|
172
|
+
prerelease: false
|
172
173
|
requirement: &id015 !ruby/object:Gem::Requirement
|
173
174
|
none: false
|
174
175
|
requirements:
|
@@ -176,10 +177,10 @@ dependencies:
|
|
176
177
|
- !ruby/object:Gem::Version
|
177
178
|
version: "0"
|
178
179
|
type: :development
|
179
|
-
prerelease: false
|
180
180
|
version_requirements: *id015
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: rack-test
|
183
|
+
prerelease: false
|
183
184
|
requirement: &id016 !ruby/object:Gem::Requirement
|
184
185
|
none: false
|
185
186
|
requirements:
|
@@ -187,10 +188,10 @@ dependencies:
|
|
187
188
|
- !ruby/object:Gem::Version
|
188
189
|
version: 0.5.7
|
189
190
|
type: :development
|
190
|
-
prerelease: false
|
191
191
|
version_requirements: *id016
|
192
192
|
- !ruby/object:Gem::Dependency
|
193
193
|
name: webrat
|
194
|
+
prerelease: false
|
194
195
|
requirement: &id017 !ruby/object:Gem::Requirement
|
195
196
|
none: false
|
196
197
|
requirements:
|
@@ -198,10 +199,10 @@ dependencies:
|
|
198
199
|
- !ruby/object:Gem::Version
|
199
200
|
version: 0.7.3
|
200
201
|
type: :development
|
201
|
-
prerelease: false
|
202
202
|
version_requirements: *id017
|
203
203
|
- !ruby/object:Gem::Dependency
|
204
204
|
name: sinatra
|
205
|
+
prerelease: false
|
205
206
|
requirement: &id018 !ruby/object:Gem::Requirement
|
206
207
|
none: false
|
207
208
|
requirements:
|
@@ -209,18 +210,17 @@ dependencies:
|
|
209
210
|
- !ruby/object:Gem::Version
|
210
211
|
version: 1.2.0
|
211
212
|
type: :development
|
212
|
-
prerelease: false
|
213
213
|
version_requirements: *id018
|
214
214
|
- !ruby/object:Gem::Dependency
|
215
215
|
name: capybara
|
216
|
+
prerelease: false
|
216
217
|
requirement: &id019 !ruby/object:Gem::Requirement
|
217
218
|
none: false
|
218
219
|
requirements:
|
219
220
|
- - ">="
|
220
221
|
- !ruby/object:Gem::Version
|
221
|
-
version: 0.
|
222
|
+
version: 1.0.0.beta1
|
222
223
|
type: :development
|
223
|
-
prerelease: false
|
224
224
|
version_requirements: *id019
|
225
225
|
description: Behaviour Driven Development with elegance and joy
|
226
226
|
email: cukes@googlegroups.com
|
@@ -237,6 +237,7 @@ files:
|
|
237
237
|
- .gitignore
|
238
238
|
- .rspec
|
239
239
|
- .rvmrc
|
240
|
+
- .travis.yml
|
240
241
|
- Gemfile
|
241
242
|
- History.txt
|
242
243
|
- LICENSE
|
@@ -512,6 +513,7 @@ files:
|
|
512
513
|
- fixtures/json/features/tables.feature
|
513
514
|
- fixtures/junit/features/one_passing_one_failing.feature
|
514
515
|
- fixtures/junit/features/pending.feature
|
516
|
+
- fixtures/junit/features/some_subdirectory/one_passing_one_failing.feature
|
515
517
|
- fixtures/junit/features/step_definitions/steps.rb
|
516
518
|
- fixtures/self_test/.gitignore
|
517
519
|
- fixtures/self_test/README.textile
|
@@ -571,6 +573,7 @@ files:
|
|
571
573
|
- fixtures/tickets/features/tickets.feature
|
572
574
|
- gem_tasks/contributors.rake
|
573
575
|
- gem_tasks/cucumber.rake
|
576
|
+
- gem_tasks/downloads.rb
|
574
577
|
- gem_tasks/environment.rake
|
575
578
|
- gem_tasks/examples.rake
|
576
579
|
- gem_tasks/fix_cr_lf.rake
|
@@ -578,6 +581,7 @@ files:
|
|
578
581
|
- gem_tasks/rspec.rake
|
579
582
|
- gem_tasks/sass.rake
|
580
583
|
- gem_tasks/sdoc.rake
|
584
|
+
- gem_tasks/versions.txt
|
581
585
|
- legacy_features/announce.feature
|
582
586
|
- legacy_features/api/list_step_defs_as_json.feature
|
583
587
|
- legacy_features/api/run_cli_main_with_existing_runtime.feature
|
@@ -761,6 +765,9 @@ files:
|
|
761
765
|
- spec/cucumber/formatter/junit_spec.rb
|
762
766
|
- spec/cucumber/formatter/progress_spec.rb
|
763
767
|
- spec/cucumber/formatter/spec_helper.rb
|
768
|
+
- spec/cucumber/rake/forked_spec.rb
|
769
|
+
- spec/cucumber/rake/rcov_spec.rb
|
770
|
+
- spec/cucumber/rake/task_spec.rb
|
764
771
|
- spec/cucumber/rb_support/rb_language_spec.rb
|
765
772
|
- spec/cucumber/rb_support/rb_step_definition_spec.rb
|
766
773
|
- spec/cucumber/rb_support/rb_transform_spec.rb
|
@@ -783,7 +790,7 @@ licenses: []
|
|
783
790
|
|
784
791
|
post_install_message: "\n\
|
785
792
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n\
|
786
|
-
Thank you for installing cucumber-0.10.
|
793
|
+
Thank you for installing cucumber-0.10.3.\n\
|
787
794
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading\n\
|
788
795
|
for important information about this release. Happy cuking!\n\n\
|
789
796
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)\n\n"
|
@@ -796,18 +803,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
796
803
|
requirements:
|
797
804
|
- - ">="
|
798
805
|
- !ruby/object:Gem::Version
|
799
|
-
hash: -4431173531369610521
|
800
|
-
segments:
|
801
|
-
- 0
|
802
806
|
version: "0"
|
803
807
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
804
808
|
none: false
|
805
809
|
requirements:
|
806
810
|
- - ">="
|
807
811
|
- !ruby/object:Gem::Version
|
808
|
-
hash: -4431173531369610521
|
809
|
-
segments:
|
810
|
-
- 0
|
811
812
|
version: "0"
|
812
813
|
requirements: []
|
813
814
|
|
@@ -815,7 +816,7 @@ rubyforge_project:
|
|
815
816
|
rubygems_version: 1.6.2
|
816
817
|
signing_key:
|
817
818
|
specification_version: 3
|
818
|
-
summary: cucumber-0.10.
|
819
|
+
summary: cucumber-0.10.3
|
819
820
|
test_files:
|
820
821
|
- features/background.feature
|
821
822
|
- features/bootstrap.feature
|
@@ -854,6 +855,9 @@ test_files:
|
|
854
855
|
- spec/cucumber/formatter/junit_spec.rb
|
855
856
|
- spec/cucumber/formatter/progress_spec.rb
|
856
857
|
- spec/cucumber/formatter/spec_helper.rb
|
858
|
+
- spec/cucumber/rake/forked_spec.rb
|
859
|
+
- spec/cucumber/rake/rcov_spec.rb
|
860
|
+
- spec/cucumber/rake/task_spec.rb
|
857
861
|
- spec/cucumber/rb_support/rb_language_spec.rb
|
858
862
|
- spec/cucumber/rb_support/rb_step_definition_spec.rb
|
859
863
|
- spec/cucumber/rb_support/rb_transform_spec.rb
|