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 CHANGED
@@ -1,13 +1,12 @@
1
- == Git (0.2 alpha)
1
+ == 0.2.0 2009-03-18
2
2
 
3
- This is a major rewrite of Cucumber's internals. The rewrite was done to address technical
4
- debt and to have a code base that is easier to evolve and maintain. There are some major
5
- changes to the Gherkin language, so this release is not fully backwards compatible with the 0.1.x series.
6
- You may have to edit your feature files a little. Most importantly, "GivenScenario" and
7
- "More Examples" no longer exist. See the "Removed features" section below for more details
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, much better Ruby 1.9 support and improved output
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 AST tables to ease casting of cell values into relevant types (#223 Rob Holland)
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 Steps, or wait for "Background (#153)"
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
@@ -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
@@ -1,9 +1,9 @@
1
1
  module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 1
5
- TINY = 100
6
- PATCH = 5 # Set to nil for official release
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.1.100.5
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