kosmas58-cucumber 0.1.100.5 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +11 -53
- 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/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: kosmas58-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
|