aslakhellesoy-cucumber 0.1.13 → 0.1.13.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/History.txt +10 -0
- data/README.txt +3 -2
- data/examples/tickets/features/scenario_outline.feature +26 -0
- data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +8 -0
- data/gem_tasks/deployment.rake +0 -23
- data/gem_tasks/gemspec.rake +4 -0
- data/lib/cucumber/formatters/pretty_formatter.rb +7 -3
- data/lib/cucumber/rails/world.rb +1 -1
- data/lib/cucumber/version.rb +2 -1
- data/spec/cucumber/formatters/pretty_formatter_spec.rb +14 -1
- data/spec/cucumber/model/table_spec.rb +19 -5
- data/spec/cucumber/tree/step_outline_spec.rb +2 -2
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
== In Git
|
2
|
+
|
3
|
+
=== New features
|
4
|
+
* Pretty formatter shows number of scenarios (#139 Joseph Wilk)
|
5
|
+
|
6
|
+
=== Bugfixes
|
7
|
+
* Fixed `load_missing_constant': uninitialized constant Dispatcher error with Rails (Aslak Hellesøy)
|
8
|
+
|
9
|
+
=== Removed features
|
10
|
+
|
1
11
|
== 0.1.13 2008-12-20
|
2
12
|
|
3
13
|
It's time for some new features again. Output is now much better since you can use diffing, tweak
|
data/README.txt
CHANGED
@@ -61,4 +61,30 @@ Feature: Outlines
|
|
61
61
|
| 4 | strawberrys| 1 |
|
62
62
|
| 2 | apricots | 5 |
|
63
63
|
|
64
|
+
Scenario Outline: placeholder in a multiline string
|
65
|
+
Given my shopping list
|
66
|
+
"""
|
67
|
+
Must buy some <fruits>
|
68
|
+
"""
|
69
|
+
Then my shopping list should equal
|
70
|
+
"""
|
71
|
+
Must buy some cucumbers
|
72
|
+
"""
|
73
|
+
|
74
|
+
Examples:
|
75
|
+
| fruits |
|
76
|
+
| cucumbers |
|
77
|
+
|
78
|
+
Scenario Outline: placeholder in step table
|
79
|
+
Given I have the following fruits in my pantry
|
80
|
+
| name | quantity |
|
81
|
+
| cucumbers | <quant_cukes> |
|
82
|
+
| strawberrys | <quant_straw> |
|
64
83
|
|
84
|
+
When I eat <number> <fruits> from the pantry
|
85
|
+
Then I should have <left> <fruits> in the pantry
|
86
|
+
|
87
|
+
Examples:
|
88
|
+
| quant_cukes | quant_straw | number | fruits | left |
|
89
|
+
| 10 | 5 | 2 | cucumbers | 8 |
|
90
|
+
| 5 | 5 | 4 | strawberrys | 1 |
|
@@ -12,6 +12,10 @@ Given "I have the following fruits in my pantry" do |pantry_table|
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
+
Given "my shopping list" do |list|
|
16
|
+
@shopping_list = list
|
17
|
+
end
|
18
|
+
|
15
19
|
When /^I eat (\d+) (\w+)$/ do |count, fruit|
|
16
20
|
@eattingMachine.eat(count)
|
17
21
|
@eattingMachine.belly_count = count.to_i
|
@@ -32,3 +36,7 @@ end
|
|
32
36
|
Then /^I should have (\d+) (\w+) in the pantry$/ do |count, fruit|
|
33
37
|
@pantry.count(fruit).should == count.to_i
|
34
38
|
end
|
39
|
+
|
40
|
+
Then /^my shopping list should equal$/ do |list|
|
41
|
+
@shopping_list.should == list
|
42
|
+
end
|
data/gem_tasks/deployment.rake
CHANGED
@@ -1,26 +1,3 @@
|
|
1
|
-
desc 'Release the website and new gem version'
|
2
|
-
task :deploy => [:check_version, :website, :release] do
|
3
|
-
puts "Remember to create SVN tag:"
|
4
|
-
puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
|
5
|
-
"svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
|
6
|
-
puts "Suggested comment:"
|
7
|
-
puts "Tagging release #{CHANGES}"
|
8
|
-
end
|
9
|
-
|
10
|
-
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
11
|
-
task :local_deploy => [:website_generate, :install_gem]
|
12
|
-
|
13
|
-
task :check_version do
|
14
|
-
unless ENV['VERSION']
|
15
|
-
puts 'Must pass a VERSION=x.y.z release version'
|
16
|
-
exit
|
17
|
-
end
|
18
|
-
unless ENV['VERSION'] == VERS
|
19
|
-
puts "Please update your version.rb to match the release version, currently #{VERS}"
|
20
|
-
exit
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
1
|
desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
|
25
2
|
task :install_gem_no_doc => [:clean, :package] do
|
26
3
|
sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
|
data/gem_tasks/gemspec.rake
CHANGED
@@ -2,5 +2,9 @@ namespace :gemspec do
|
|
2
2
|
desc 'Refresh cucumber.gemspec to include ALL files'
|
3
3
|
task :refresh => 'manifest:refresh' do
|
4
4
|
File.open('cucumber.gemspec', 'w') {|io| io.write($hoe.spec.to_ruby)}
|
5
|
+
puts "1) git commit -a -m \"Release #{Cucumber::VERSION::STRING}\""
|
6
|
+
puts "2) git tag -a \"v#{Cucumber::VERSION::STRING}\" -m \"Release #{Cucumber::VERSION::STRING}\""
|
7
|
+
puts "3) git push --tags"
|
8
|
+
puts "4) Bounce the version in version.rb"
|
5
9
|
end
|
6
10
|
end
|
@@ -19,6 +19,8 @@ module Cucumber
|
|
19
19
|
@last_executed_was_row = false
|
20
20
|
@pending_messages = {}
|
21
21
|
@forced_pending_step_count = 0
|
22
|
+
|
23
|
+
@total_scenario_count = 0
|
22
24
|
end
|
23
25
|
|
24
26
|
def feature_executing(feature)
|
@@ -81,6 +83,7 @@ module Cucumber
|
|
81
83
|
@io.puts
|
82
84
|
output_failing_step(@failed.last)
|
83
85
|
end
|
86
|
+
@total_scenario_count += 1
|
84
87
|
end
|
85
88
|
|
86
89
|
def step_passed(step, regexp, args)
|
@@ -100,14 +103,13 @@ module Cucumber
|
|
100
103
|
end
|
101
104
|
|
102
105
|
def step_failed(step, regexp, args)
|
106
|
+
@scenario_failed = true
|
103
107
|
if step.row?
|
104
108
|
args = step.visible_args if step.outline?
|
105
109
|
@failed << step
|
106
|
-
@scenario_failed = true
|
107
110
|
print_failed_args(args)
|
108
111
|
else
|
109
112
|
@failed << step
|
110
|
-
@scenario_failed = true
|
111
113
|
@io.print failed(" #{step.keyword} #{step.format(regexp){|param| failed_param(param) << failed}}")
|
112
114
|
if @options[:source]
|
113
115
|
@io.print padding_spaces(step)
|
@@ -176,6 +178,8 @@ module Cucumber
|
|
176
178
|
|
177
179
|
print_pending_messages if @pending_messages.any?
|
178
180
|
|
181
|
+
@io.puts "#{@total_scenario_count} scenarios"
|
182
|
+
|
179
183
|
@io.puts pending("#{@pending_scenarios.length} scenarios pending") if @pending_scenarios.any?
|
180
184
|
|
181
185
|
@io.puts passed("#{@passed.length} steps passed") if @passed.any?
|
@@ -199,7 +203,7 @@ module Cucumber
|
|
199
203
|
end
|
200
204
|
@io.puts
|
201
205
|
end
|
202
|
-
|
206
|
+
|
203
207
|
def print_snippets
|
204
208
|
snippets = @pending_steps
|
205
209
|
snippets.delete_if {|snippet| snippet.row? || @step_mother.has_step_definition?(snippet.name)}
|
data/lib/cucumber/rails/world.rb
CHANGED
data/lib/cucumber/version.rb
CHANGED
@@ -31,7 +31,8 @@ module Cucumber
|
|
31
31
|
:file => 'file',
|
32
32
|
:line => 1,
|
33
33
|
:padding_length => 2,
|
34
|
-
:outline? => false
|
34
|
+
:outline? => false,
|
35
|
+
:table_header => nil}.merge(stubs))
|
35
36
|
end
|
36
37
|
|
37
38
|
def mock_scenario_outline(stubs={})
|
@@ -314,6 +315,18 @@ module Cucumber
|
|
314
315
|
io.string.should include("1 with no step definition")
|
315
316
|
end
|
316
317
|
|
318
|
+
it "should display the total number of scenarios executed" do
|
319
|
+
io = StringIO.new
|
320
|
+
formatter = PrettyFormatter.new io, mock('step_mother')
|
321
|
+
|
322
|
+
formatter.scenario_executing(mock_scenario)
|
323
|
+
formatter.scenario_executed(mock_scenario)
|
324
|
+
|
325
|
+
formatter.dump
|
326
|
+
|
327
|
+
io.string.should include("1 scenarios")
|
328
|
+
end
|
329
|
+
|
317
330
|
describe "colour" do
|
318
331
|
|
319
332
|
before(:all) do
|
@@ -3,18 +3,32 @@ require File.dirname(__FILE__) + '/../../spec_helper'
|
|
3
3
|
module Cucumber
|
4
4
|
module Model
|
5
5
|
describe Table do
|
6
|
-
|
7
|
-
raw = [
|
6
|
+
before do
|
7
|
+
@raw = [
|
8
8
|
%w{name gender},
|
9
9
|
%w{aslak male},
|
10
10
|
%w{patty female},
|
11
|
-
|
12
|
-
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should convert into hash-array" do
|
15
|
+
ha = Table.new(@raw).hashes
|
13
16
|
ha.should == [
|
14
17
|
{'name' => 'aslak', 'gender' => 'male'},
|
15
18
|
{'name' => 'patty', 'gender' => 'female'}
|
16
19
|
]
|
17
20
|
end
|
21
|
+
|
22
|
+
it "should iterate over each row" do
|
23
|
+
rows = []
|
24
|
+
Table.new(@raw).raw[1..-1].each do |name, gender|
|
25
|
+
rows << [name, gender]
|
26
|
+
end
|
27
|
+
rows.should == [
|
28
|
+
%w{aslak male},
|
29
|
+
%w{patty female}
|
30
|
+
]
|
31
|
+
end
|
18
32
|
end
|
19
33
|
end
|
20
|
-
end
|
34
|
+
end
|
@@ -5,9 +5,9 @@ module Cucumber
|
|
5
5
|
describe StepOutline do
|
6
6
|
|
7
7
|
it "should be a outline" do
|
8
|
-
|
8
|
+
step_outline = StepOutline.new(mock("scenario"), 'Given', 'outline', 1)
|
9
9
|
|
10
|
-
|
10
|
+
step_outline.should be_a_outline
|
11
11
|
end
|
12
12
|
|
13
13
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aslakhellesoy-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.13
|
4
|
+
version: 0.1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Aslak Helles\xC3\xB8y"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-12-
|
12
|
+
date: 2008-12-24 00:00:00 -08:00
|
13
13
|
default_executable: cucumber
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|