slowhandcuke 0.0.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.
@@ -0,0 +1,3 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in slowhandcuke.gemspec
4
+ gemspec
@@ -0,0 +1,11 @@
1
+ ##What is it?
2
+ SlowHandCuke is a simple cucumber formatter whose sole purpose is to give you feedback on the *currently running* step in the console.
3
+
4
+ ##Why?
5
+ With the stock cucumber formatters you only find out which steps are running after they have completed running. If you have slow running tests it can be confusing during a test run if you cannot see the currently running test.
6
+
7
+ ##SlowHandCuke in action
8
+
9
+ [ Check out a 10 second screencast ]( http://www.screencast.com/users/PeteHodgson/folders/Jing/media/9ee39009-0fd1-4850-85b8-8eed8beecd06 ). The second run (with --format pretty) shows what the stock console output looks like *without* SlowHandCuke.
10
+
11
+ <object id="scPlayer" class="embeddedObject" width="865" height="684" type="application/x-shockwave-flash" data="http://content.screencast.com/users/PeteHodgson/folders/Jing/media/9ee39009-0fd1-4850-85b8-8eed8beecd06/jingswfplayer.swf" > <param name="movie" value="http://content.screencast.com/users/PeteHodgson/folders/Jing/media/9ee39009-0fd1-4850-85b8-8eed8beecd06/jingswfplayer.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#FFFFFF" /> <param name="flashVars" value="thumb=http://content.screencast.com/users/PeteHodgson/folders/Jing/media/9ee39009-0fd1-4850-85b8-8eed8beecd06/FirstFrame.jpg&containerwidth=865&containerheight=684&content=http://content.screencast.com/users/PeteHodgson/folders/Jing/media/9ee39009-0fd1-4850-85b8-8eed8beecd06/00000018.swf&blurover=false" /> <param name="allowFullScreen" value="true" /> <param name="scale" value="showall" /> <param name="allowScriptAccess" value="always" /> <param name="base" value="http://content.screencast.com/users/PeteHodgson/folders/Jing/media/9ee39009-0fd1-4850-85b8-8eed8beecd06/" /> </object>
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1 @@
1
+ default: --format 'Slowhandcuke::Formatter'
@@ -0,0 +1,10 @@
1
+ Feature: Improve cuke feedback during slow-running tests
2
+
3
+ Scenario: slow failing test
4
+ Given I wait 2 seconds
5
+ When I wait 3 seconds
6
+ Then the test fails
7
+
8
+ Scenario: slow passing test
9
+ Given I wait 1 seconds
10
+ Then the test passes!
@@ -0,0 +1,13 @@
1
+ Given /^I wait (\d+) seconds$/ do |seconds|
2
+ seconds = seconds.to_i
3
+ sleep seconds
4
+ end
5
+
6
+ Then /^the test fails$/ do
7
+ (2+2).should == 5
8
+ end
9
+
10
+ Then /^the test passes!$/ do
11
+ (2+2).should == 4
12
+ end
13
+
@@ -0,0 +1 @@
1
+ require 'slowhandcuke/formatter'
@@ -0,0 +1,14 @@
1
+ require 'cucumber/formatter/pretty'
2
+ module Slowhandcuke
3
+ class Formatter < Cucumber::Formatter::Pretty
4
+ def before_step( step )
5
+ @io.printf "... #{step.name}"
6
+ @io.flush
7
+ end
8
+
9
+ def before_step_result( *args )
10
+ @io.printf "\r"
11
+ super
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ module Slowhandcuke
2
+ VERSION = "0.0.3"
3
+ end
@@ -0,0 +1,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "slowhandcuke/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "slowhandcuke"
7
+ s.version = Slowhandcuke::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Pete Hodgson"]
10
+ s.email = ["public@thepete.net"]
11
+ s.homepage = "http://github.com/moredip/slowhandcuke"
12
+ s.summary = %q{Cucumber formatter which gives feedback on the currently running step}
13
+ s.description = %q{Cucumber formatter which gives feedback on the currently running step}
14
+
15
+ s.add_dependency "cucumber"
16
+
17
+ s.post_install_message = <<-EOS
18
+
19
+ *****************************************************************
20
+ * To use the slowhandcuke formatter, simple add *
21
+ * --format 'Slowhandcuke::Formatter' *
22
+ * to your cucumber.yml, Rakefile, or command line call *
23
+ *****************************************************************
24
+
25
+ EOS
26
+
27
+ s.files = `git ls-files`.split("\n")
28
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
29
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
30
+ s.require_paths = ["lib"]
31
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: slowhandcuke
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 3
9
+ version: 0.0.3
10
+ platform: ruby
11
+ authors:
12
+ - Pete Hodgson
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-11-07 01:00:00 -07:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: cucumber
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ description: Cucumber formatter which gives feedback on the currently running step
33
+ email:
34
+ - public@thepete.net
35
+ executables: []
36
+
37
+ extensions: []
38
+
39
+ extra_rdoc_files: []
40
+
41
+ files:
42
+ - .gitignore
43
+ - Gemfile
44
+ - README.md
45
+ - Rakefile
46
+ - example/cucumber.yml
47
+ - example/features/example.feature
48
+ - example/features/step_definitions/example_steps.rb
49
+ - lib/slowhandcuke.rb
50
+ - lib/slowhandcuke/formatter.rb
51
+ - lib/slowhandcuke/version.rb
52
+ - slowhandcuke.gemspec
53
+ has_rdoc: true
54
+ homepage: http://github.com/moredip/slowhandcuke
55
+ licenses: []
56
+
57
+ post_install_message: |+
58
+
59
+ *****************************************************************
60
+ * To use the slowhandcuke formatter, simple add *
61
+ * --format 'Slowhandcuke::Formatter' *
62
+ * to your cucumber.yml, Rakefile, or command line call *
63
+ *****************************************************************
64
+
65
+ rdoc_options: []
66
+
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ segments:
81
+ - 0
82
+ version: "0"
83
+ requirements: []
84
+
85
+ rubyforge_project:
86
+ rubygems_version: 1.3.6
87
+ signing_key:
88
+ specification_version: 3
89
+ summary: Cucumber formatter which gives feedback on the currently running step
90
+ test_files: []
91
+