aslakhellesoy-cucumber 0.1.13 → 0.1.13.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|