aslakhellesoy-cucumber 0.1.14.2 → 0.1.15
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -1
- data/Manifest.txt +7 -2
- data/lib/autotest/cucumber_mixin.rb +4 -1
- data/lib/cucumber/core_ext/exception.rb +2 -2
- data/lib/cucumber/formatters/pretty_formatter.rb +2 -2
- data/lib/cucumber/formatters/unicode.rb +10 -2
- data/lib/cucumber/tree/step.rb +1 -1
- data/lib/cucumber/version.rb +2 -2
- data/spec/cucumber/formatters/pretty_formatter_spec.rb +37 -10
- data/spec/cucumber/formatters/profile_formatter_spec.rb +5 -0
- metadata +2 -2
- data/features/see_features.feature +0 -8
- data/features/steps/features_steps.rb +0 -9
data/History.txt
CHANGED
@@ -1,8 +1,15 @@
|
|
1
|
-
==
|
1
|
+
== 0.1.15 2009-01-08
|
2
|
+
|
3
|
+
Bugfix release
|
2
4
|
|
3
5
|
=== New features
|
4
6
|
* 한국어! (Korean!) (John Hwang)
|
5
7
|
|
8
|
+
=== Bugfixes
|
9
|
+
* Fix a minor bug in the console formatter's summary (David Chelimsky)
|
10
|
+
* Better quoting of Scenario names in Autotest (Peter Jaros)
|
11
|
+
* Added some small workarounds for unicode handling on Windows (Aslak Hellesøy)
|
12
|
+
|
6
13
|
== 0.1.14 2009-01-04
|
7
14
|
|
8
15
|
This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
|
data/Manifest.txt
CHANGED
@@ -104,6 +104,9 @@ examples/java/features/tree.feature
|
|
104
104
|
examples/selenium/Rakefile
|
105
105
|
examples/selenium/features/search.feature
|
106
106
|
examples/selenium/features/step_definitons/stories_steps.rb
|
107
|
+
examples/self_test/README.textile
|
108
|
+
examples/self_test/features/sample.feature
|
109
|
+
examples/self_test/features/step_definitions/sample_steps.rb
|
107
110
|
examples/test_unit/Rakefile
|
108
111
|
examples/test_unit/features/step_definitions/test_unit_steps.rb
|
109
112
|
examples/test_unit/features/test_unit.feature
|
@@ -120,8 +123,10 @@ examples/watir/Rakefile
|
|
120
123
|
examples/watir/features/search.feature
|
121
124
|
examples/watir/features/step_definitons/search_steps.rb
|
122
125
|
examples/watir/features/support/env.rb
|
123
|
-
features/
|
124
|
-
features/
|
126
|
+
features/cucumber_cli.feature
|
127
|
+
features/step_definitions/cucumber_steps.rb
|
128
|
+
features/step_definitions/extra_steps.rb
|
129
|
+
features/support/env.rb
|
125
130
|
gem_tasks/deployment.rake
|
126
131
|
gem_tasks/environment.rake
|
127
132
|
gem_tasks/features.rake
|
@@ -120,7 +120,10 @@ module Autotest::CucumberMixin
|
|
120
120
|
if scenarios_to_run == :all
|
121
121
|
scenario_args = nil
|
122
122
|
else
|
123
|
-
|
123
|
+
# We escape scenario names for the shell by wrapping them in $'...' and replacing
|
124
|
+
# every single quote with an escaped version, "\'". We use a double backslash for
|
125
|
+
# Ruby, and we put it in a block or gsub interpolates the sequence "\'" as $'.
|
126
|
+
scenario_args = scenarios_to_run.map { |s| "-s $'#{s.gsub("'") {"\\'"} }'" }.join(' ')
|
124
127
|
end
|
125
128
|
return "#{Cucumber::RUBY_BINARY} #{Cucumber::BINARY} #{args} #{scenario_args}"
|
126
129
|
end
|
@@ -183,8 +183,8 @@ module Cucumber
|
|
183
183
|
@io.puts pending(dump_count(@pending_scenarios.length, "scenario", "pending")) if @pending_scenarios.any?
|
184
184
|
|
185
185
|
@io.puts passed(dump_count(@passed.length, "step", "passed")) if @passed.any?
|
186
|
-
@io.puts
|
187
|
-
@io.puts
|
186
|
+
@io.puts failed(dump_count(@failed.length, "step", "failed")) if @failed.any?
|
187
|
+
@io.puts skipped(dump_count(@skipped.length, "step", "skipped")) if @skipped.any?
|
188
188
|
|
189
189
|
if @pending_steps.any?
|
190
190
|
@io.print pending(dump_count(@pending_steps.length, "step", "pending"))
|
@@ -15,12 +15,20 @@ if Cucumber::WINDOWS_MRI && `chcp` =~ /Active code page: (\d+)/
|
|
15
15
|
module Kernel
|
16
16
|
alias cucumber_print print
|
17
17
|
def print(*a)
|
18
|
-
|
18
|
+
begin
|
19
|
+
cucumber_print *Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a)
|
20
|
+
rescue Iconv::IllegalSequence
|
21
|
+
cucumber_print(*a)
|
22
|
+
end
|
19
23
|
end
|
20
24
|
|
21
25
|
alias cucumber_puts puts
|
22
26
|
def puts(*a)
|
23
|
-
|
27
|
+
begin
|
28
|
+
cucumber_puts *Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a)
|
29
|
+
rescue Iconv::IllegalSequence
|
30
|
+
cucumber_puts(*a)
|
31
|
+
end
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
data/lib/cucumber/tree/step.rb
CHANGED
@@ -64,7 +64,7 @@ module Cucumber
|
|
64
64
|
@error = e
|
65
65
|
# Remove lines underneath the plain text step
|
66
66
|
e.backtrace[strip_pos..-1] = nil unless strip_pos.nil?
|
67
|
-
e.backtrace.
|
67
|
+
e.backtrace.compact!
|
68
68
|
# Replace the step line with something more readable
|
69
69
|
e.backtrace.replace(e.backtrace.map{|l| l.gsub(/`#{proc.meth}'/, "`#{keyword} #{proc.name}'")})
|
70
70
|
if row?
|
data/lib/cucumber/version.rb
CHANGED
@@ -360,21 +360,48 @@ module Cucumber
|
|
360
360
|
|
361
361
|
describe "colour" do
|
362
362
|
|
363
|
-
before(:
|
364
|
-
Term::ANSIColor.coloring = true
|
363
|
+
before(:each) do
|
364
|
+
::Term::ANSIColor.coloring = true
|
365
|
+
@io = StringIO.new
|
366
|
+
@formatter = PrettyFormatter.new @io, mock('step_mother')
|
365
367
|
end
|
368
|
+
|
369
|
+
it "should show the scenario outline keyword and title as pending blue" do
|
370
|
+
@formatter.scenario_executing(mock_scenario(:outline? => true, :name => 'blue'))
|
366
371
|
|
367
|
-
|
368
|
-
Term::ANSIColor.coloring = false
|
372
|
+
@io.string.should =~ /\e\[36m\s*Scenario Outline: blue\e\[0m/
|
369
373
|
end
|
374
|
+
|
375
|
+
it "should show passing steps as green" do
|
376
|
+
@formatter.scenario_executing(mock_scenario)
|
377
|
+
@formatter.step_passed(mock_step, nil, nil)
|
378
|
+
@formatter.dump
|
370
379
|
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
formatter.scenario_executing(mock_scenario
|
380
|
+
@io.string.should =~ /\e\[32m1 step passed\e/
|
381
|
+
end
|
382
|
+
|
383
|
+
it "should show pending steps as yellow" do
|
384
|
+
@formatter.scenario_executing(mock_scenario)
|
385
|
+
@formatter.step_pending(mock_step, nil, nil)
|
386
|
+
@formatter.dump
|
387
|
+
|
388
|
+
@io.string.should =~ /\e\[33m1 step pending\e/
|
389
|
+
end
|
390
|
+
|
391
|
+
it "should show failed steps as red" do
|
392
|
+
@formatter.scenario_executing(mock_scenario)
|
393
|
+
@formatter.step_failed(mock_step(:error => mock_error(:cucumber_backtrace => [])), nil, nil)
|
394
|
+
@formatter.dump
|
395
|
+
|
396
|
+
@io.string.should =~ /\e\[31m1 step failed\e/
|
397
|
+
end
|
398
|
+
|
399
|
+
it "should show skipped steps as cyan" do
|
400
|
+
@formatter.scenario_executing(mock_scenario)
|
401
|
+
@formatter.step_skipped(mock_step, nil, nil)
|
402
|
+
@formatter.dump
|
376
403
|
|
377
|
-
io.string.should =~ /\e\[
|
404
|
+
@io.string.should =~ /\e\[36m1 step skipped\e/
|
378
405
|
end
|
379
406
|
|
380
407
|
end
|
@@ -20,10 +20,15 @@ module Cucumber
|
|
20
20
|
end
|
21
21
|
|
22
22
|
before(:each) do
|
23
|
+
::Term::ANSIColor.coloring = false
|
23
24
|
@io = StringIO.new
|
24
25
|
step_mother = stub('step_mother')
|
25
26
|
@formatter = ProfileFormatter.new(io, step_mother)
|
26
27
|
end
|
28
|
+
|
29
|
+
after(:each) do
|
30
|
+
::Term::ANSIColor.coloring = true
|
31
|
+
end
|
27
32
|
|
28
33
|
it "should print a heading" do
|
29
34
|
formatter.visit_features(nil)
|
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.
|
4
|
+
version: 0.1.15
|
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: 2009-01-
|
12
|
+
date: 2009-01-08 00:00:00 -08:00
|
13
13
|
default_executable: cucumber
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -1,8 +0,0 @@
|
|
1
|
-
Feature: See features
|
2
|
-
In order to make Cucumber features more accessible
|
3
|
-
I should be able to see the existing features in a system
|
4
|
-
|
5
|
-
Scenario: See features as HTML
|
6
|
-
Given the feature server is running
|
7
|
-
When I visit "/features"
|
8
|
-
Then I should see a link to "See features"
|