aslakhellesoy-cucumber 0.1.100.5 → 0.2.0
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 +11 -53
- data/Manifest.txt +0 -1
- data/lib/cucumber/ast/table.rb +9 -1
- data/lib/cucumber/version.rb +3 -3
- metadata +1 -2
data/History.txt
CHANGED
@@ -1,13 +1,12 @@
|
|
1
|
-
==
|
1
|
+
== 0.2.0 2009-03-18
|
2
2
|
|
3
|
-
This
|
4
|
-
debt and to have a code base that is easier to evolve and maintain.
|
5
|
-
|
6
|
-
|
7
|
-
"More Examples" no longer exist. See the "Removed features" section
|
8
|
-
on how to use alternatives.
|
3
|
+
This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
|
4
|
+
The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
|
5
|
+
|
6
|
+
There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
|
7
|
+
Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
|
8
|
+
below for more details on how to use alternatives.
|
9
9
|
|
10
|
-
**** CALL FOR TRANSLATORS ****
|
11
10
|
Since the grammar has changed, there are some new keywords. We have to rely on the community
|
12
11
|
to provide updated translations. This is much easier than before - just update languages.yml.
|
13
12
|
There is no static code generation anymore. To list all languages:
|
@@ -18,44 +17,10 @@ And to list the keywords for a particular language:
|
|
18
17
|
|
19
18
|
cucumber --lang en-lol help
|
20
19
|
|
21
|
-
So just go ahead and list the language of your choice and send us updated translations.
|
22
|
-
|
23
20
|
There are some really awesome new features in this release: Tagging, Autoformatting, automatic
|
24
|
-
aliasing of keywords in all languages,
|
21
|
+
aliasing of keywords in all languages, full Ruby 1.9 support and improved output
|
25
22
|
for multiline arguments are some of the highlights.
|
26
23
|
|
27
|
-
This version also brings Cucumber even closer to Java. Although it has been possible to
|
28
|
-
run Cucumber on JRuby since v0.1.11, it has required that step definitions be defined
|
29
|
-
in Ruby code. This has been a barrier for many Java developers who don't know Ruby.
|
30
|
-
|
31
|
-
With this version you can write step definitions in pure Java code! Java step definitions
|
32
|
-
are implemented simply by subclassing org.jbehave.scenario.steps.Steps. Example:
|
33
|
-
|
34
|
-
package super.duper;
|
35
|
-
|
36
|
-
public class MyJavaSteps extends Steps {
|
37
|
-
@Given("I have %count cucumbers in my belly")
|
38
|
-
public void cucumbersInTheBelly(int count) {
|
39
|
-
// talk to the Belly class
|
40
|
-
}
|
41
|
-
|
42
|
-
@Then("I should not be hungry for %n hours")
|
43
|
-
public void shouldNotBeHungry(int n) {
|
44
|
-
// Make assertions with JUnit or Hamcrest
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
The only Ruby code you have to write is a little wiring in your env.rb file:
|
49
|
-
|
50
|
-
require 'cucumber/jbehave'
|
51
|
-
JBehave(super.duper.MyJavaSteps.new)
|
52
|
-
|
53
|
-
You might be wondering what this brings over just using the whole JBehave tool
|
54
|
-
standalone. Well, it gives you access to the Gherkin language in your features,
|
55
|
-
which is a richer DSL than JBehave's language. -Over 20 spoken languages, Tables,
|
56
|
-
Scenario Outlines, the rich command line, the nice output format and everything
|
57
|
-
pure Ruby users have been enjoying for a while.
|
58
|
-
|
59
24
|
== Bugfixes
|
60
25
|
* New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
|
61
26
|
* Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
|
@@ -85,21 +50,14 @@ pure Ruby users have been enjoying for a while.
|
|
85
50
|
* Added Table#map_headers to to allow use of more readable headers (Rob Holland)
|
86
51
|
* New -S/--step-definitions option. Useful (among other things) for tools that implement automcompletion. (#208 Aslak Hellesøy).
|
87
52
|
* The cucumber.rake file defines a dummy :features task if Cucumber is not installed (#225 Josh Nichols)
|
88
|
-
* Added map_column! to
|
89
|
-
Given /^an expense report for (.*) with the following posts:$/ do |date, posts_table|
|
90
|
-
posts_table.map_column!('amount') { |a| a.to_i }
|
91
|
-
posts_table.hashes.each do |post|
|
92
|
-
# post['amount'] is a Fixnum, rather than a String
|
93
|
-
end
|
94
|
-
end
|
95
|
-
Mapping a column which is not specified in the table will produce an error unless you explicitly pass a 2nd false argument. This is to allow different Scenarios to re-use the step definition with different table columns.
|
53
|
+
* Added Table#map_column! to ease casting of cell values into relevant types (#223 Rob Holland)
|
96
54
|
* New --no-diff option (#218 Bryan Ash)
|
97
55
|
* Rails generators supports testunit and rspec option, defaulting to rspec (#217 Josh Nichols)
|
98
56
|
* Sinatra Example (#204 Rob Holland)
|
99
57
|
* Keywords can be aliased in languages.yml. See English for an example (examples: Examples|Scenarios)
|
100
58
|
* Adding support for Background (#153 Joseph Wilk)
|
101
59
|
* Added Česky/Czech (Vojtech Salbaba)
|
102
|
-
* New --no-multiline option to reduce noise. Useful if lots of features are failing.
|
60
|
+
* New --no-multiline option to reduce noise in output. Useful if lots of features are failing. (Aslak Hellesøy)
|
103
61
|
* Added ability to pass URIs to cucumber in addition to files and directories. Useful for troubleshooting! (Aslak Hellesøy)
|
104
62
|
* Groups of tabular scenarios (#57 Aslak Hellesøy)
|
105
63
|
* Tagging scenarios and features. Pick the ones to run with --tags (#54 Aslak Hellesøy)
|
@@ -116,7 +74,7 @@ pure Ruby users have been enjoying for a while.
|
|
116
74
|
* New --guess option tries to guess the best step definition match instead of raising Cucumber::Multiple. (Jake Howerton)
|
117
75
|
|
118
76
|
=== Removed features
|
119
|
-
* "GivenScenario" is gone. Instead you can call Steps from
|
77
|
+
* "GivenScenario" is gone. Instead you can call Steps from Step Definitions, or use the new Background feature (#153)
|
120
78
|
* "More Examples" is gone. "Scenario" + "More Examples" is no longer supported. Use "Scenario Outline" + "Examples" instead.
|
121
79
|
* Pure Ruby features are no longer supported.
|
122
80
|
* Remove --color option in autotest. Can be added manually in cucumber.yml (#215 Jean-Michel Garnier)
|
data/Manifest.txt
CHANGED
@@ -133,7 +133,6 @@ examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Stock.java
|
|
133
133
|
examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java
|
134
134
|
examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java
|
135
135
|
examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java
|
136
|
-
examples/jbehave/target/maven-archiver/pom.properties
|
137
136
|
examples/selenium/Rakefile
|
138
137
|
examples/selenium/features/search.feature
|
139
138
|
examples/selenium/features/step_definitons/search_steps.rb
|
data/lib/cucumber/ast/table.rb
CHANGED
@@ -128,7 +128,15 @@ module Cucumber
|
|
128
128
|
# Change how #hashes converts column values. The +column_name+ argument identifies the column
|
129
129
|
# and +conversion_proc+ performs the conversion for each cell in that column. If +strict+ is
|
130
130
|
# true, an error will be raised if the column named +column_name+ is not found. If +strict+
|
131
|
-
# is false, no error will be raised.
|
131
|
+
# is false, no error will be raised. Example:
|
132
|
+
#
|
133
|
+
# Given /^an expense report for (.*) with the following posts:$/ do |table|
|
134
|
+
# posts_table.map_column!('amount') { |a| a.to_i }
|
135
|
+
# posts_table.hashes.each do |post|
|
136
|
+
# # post['amount'] is a Fixnum, rather than a String
|
137
|
+
# end
|
138
|
+
# end
|
139
|
+
#
|
132
140
|
def map_column!(column_name, strict=true, &conversion_proc)
|
133
141
|
verify_column(column_name) if strict
|
134
142
|
@conversion_procs[column_name] = conversion_proc
|
data/lib/cucumber/version.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
module Cucumber #:nodoc:
|
2
2
|
class VERSION #:nodoc:
|
3
3
|
MAJOR = 0
|
4
|
-
MINOR =
|
5
|
-
TINY =
|
6
|
-
PATCH =
|
4
|
+
MINOR = 2
|
5
|
+
TINY = 0
|
6
|
+
PATCH = nil # Set to nil for official release
|
7
7
|
|
8
8
|
STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
|
9
9
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Aslak Helles\xC3\xB8y"
|
@@ -220,7 +220,6 @@ files:
|
|
220
220
|
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java
|
221
221
|
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java
|
222
222
|
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java
|
223
|
-
- examples/jbehave/target/maven-archiver/pom.properties
|
224
223
|
- examples/selenium/Rakefile
|
225
224
|
- examples/selenium/features/search.feature
|
226
225
|
- examples/selenium/features/step_definitons/search_steps.rb
|