History.txt

Path: History.txt
Last Update: Mon May 14 13:55:26 +0000 2018

2009-09-24

This release gives you back some of the control over the Rails environment that was accidentally taken away from you in the previous release.

Using this release on a Rails project requires a rerun of script/generate cucumber.

New Features

  • Added a new @no-txn tag to selectively turn off transactions for a particlular scenario.
  • Added back a way to globally turn off transactions.
  • Renamed @allow_rescue tag to @allow-rescue.

Bugfixes

  • Gracefully handle cases when optional regexp groups are not matched. Ex: /should( not)? be flashed ’([^’]*?)’$/ (Aslak Hellesøy)

Changed Features

  • The Formatter API has completely changed. Formatters are no longer a double-dispacth visitor - just a single-dispatch listener (438 Matt Wynne)

2009-09-22

This release has some changes in the Rails support, so make sure you run "script/generate cucumber" after you upgrade. Other noteworthy new features are improved Hook, tags and Transform support, and as always - several smaler bug fixes.

New Features

  • Added new internal API for Regexp and groups, allowing other programming languages to leverage native regexps. (Aslak Hellesøy)
  • New @allow_rescue tag for Rails scenarios. Causes exceptions raised in actions to be caught by rails and not bubble up to Cucumber (Aslak Hellesøy)
  • Negative tags can now be used in hooks, just like the command line‘s —tags option: Before(’~@yarr’) - will run for all scenarios that *don‘t* have the @yarr tag. (Aslak Hellesøy)
  • Transform has current "World" scope (Larry Diehl)
  • Other Transforms can be reused by calling Transform with a string inside of another Transform definition (Larry Diehl)
  • Execute "After" hooks in reverse order of declaration for better behavior with dependent blocks and to mimic the behavior of at_exit (David Waite)

Bugfixes

  • features/support/env.rb runs commands twice (bugfix cuts total time by almost 50% w00t) (452 Jim Meyer)
  • Problems adding custom formatters to features/support. (features/support is added to $LOAD_PATH) (449 Aslak Hellesøy)
  • Some options set in cucumber.yml profiles are ignored (446 Leonard CHIN)
  • Missing step_definition snippets not properly displayed (433 Aslak Hellesøy)
  • rspec-rails, :lib => false (447 David Chelimsky)
  • Cucumber with Spork breaks on OS X Snow Leopard (431 David Chelimsky)

Changed Features

  • Tag names passed on the command line always have to use the @ sign. —tags foo or —tags ~bar won‘t work. Use —tags @foo or —tags ~@bar (Aslak Hellesøy)

Removed features

  • The Cucumber::Rails.bypass_rescue no longer exists. Errors will always bubble up, unless you use the new @allow_rescue tag. (Aslak Hellesøy)
  • The Cucumber::Rails.use_transactional_fixtures no longer exists. Transactional fixtures are always enabled for the cucumber environment. (Aslak Hellesøy)

0.3.101 2009-09-15

Two exciting things in this release. Step Argument Transforms and a PDF formatter you can use to send your features to your customer for review!

New Features

  • New pdf formatter (425 Mads Buus)
  • Step Argument Transforms: These let you use the Transform method to register regular expressions to catch and transform/coerce arguments before they are yielded to step definitions: wiki.github.com/aslakhellesoy/cucumber/step-argument-transforms (Larry Diehl & Dave Astels)
  • Adding webrat steps for asserting content does or does not exist within a particular element (using webrat‘s within method) (Kieran Pilkington)

0.3.100 2009-09-09

The JavaZone release!

New Features

  • Added support for Uzbek (msarvar)
  • The file argument on the cucumber command line will replace contents of file on cli if file is prefixed with @ (Tero Tilus)

Bugfixes

  • Backtraces on JRuby are handled in a cleaner way when the exception comes from Java (NativeException). (Aslak Hellesøy)
  • When exceptions occur in a Before block the rest of the scenario is now skipped (331 Matt Wynne)

0.3.99 2009-09-03

New Features

  • Support for Croatian (Bkrsta)
  • Make feature available from scenario so you can do: Before{|scenario| scenario.feature}. (Aslak Hellesøy)
  • cucumber.yml parsing supports ERB syntax (427 Gregory Hnatiuk)
  • New AfterConfiguration hook added; a block can be specified that takes Cucumber::Cli::Configuration (423 Brent Snook)
  • Cucumber::Cli::Configuration#feature_dirs and out_stream exposed as public attributes so that they may be used in AfterConfiguration hook (423 Brent Snook)

0.3.98 2009-08-25

Just a small release to help Cuke4Duke, which will be presented at Agile2009 in 2 days.

New Features

  • Backtrace filtering now happens in StepInvocation class, meaning other languages (Cuke4Duke) can get backtraces stripped. (Aslak Hellesøy)
  • Cucumber::Ast::Table#map_headers now allows for a block that will convert all the headers. See docs for details. (Ben Mabey)

0.3.97 2009-08-23

The AA-FTT release. Creating a release for the AA-FTT meeting in Chicago so that we can play with the new language API and maybe knock out some better .NET support.

Bugfixes

  • Allow comments on examples sections underneath scenario outlines (420 Mike Sassak)
  • Table.map_headers! will fail with a decent error message when 0 or 2+ headers are matched. (Aslak Hellesøy)
  • Fixed an issue with comments with preceding spaces after a background causing a parse error (401 Joseph Wilk)

New Features

  • The public API is documented and there is a new :sdoc task to generate nice searchable API docs.
  • Add :default => :cucumber when setting up Rake tasks for Cucumber in Rails (Aslak Hellesøy)
  • New When /^I fill in "([^\"]*)" for "([^\"]*)"$/ Webrat step for Rails (Aslak Hellesøy)

Changed Features

  • Changed the Programming Language API to support languages without "bleed through" (e.g. rubypython can‘t invoke ruby objs) (Aslak Hellesøy)
  • The Programming Language API manages hooks on the language level instead of on the step mother level (Aslak Hellesøy)

0.3.96 2009-08-15

This release doesn‘t have any significant new features or bug fixes, but there are big internal changes. This release has a new API for plugging in other programming languages. You can read more about that here: groups.google.com/group/cukes/browse_thread/thread/b9db8bf1f3ec9708

This might break other tools that are using Cucumber‘s internal APIs. For example Spork broke and had to be patched. Please upgrade to Spork 0.5.9 if you are using Spork.

New Features

  • Ability to preload natural language in Spork‘s prefork. Rerun script/generate cucumber —spork to see how. (Aslak Hellesøy)
  • Ability to control which DRb port is used via the —port flag or by setting CUCUMBER_DRB environment variable. (Chris Flipse)
  • Upgrade Rails generator to use webrat 0.5.0. (Aslak Hellesøy)
  • Upgrade Sinatra example to work with rack-test 0.4.1 and webrat 0.5.0. (Aslak Hellesøy)

Changed Features

  • —strict will cause an exit code 1 for missing and pending (used to be for missing only). (Mads Buus)
  • junit formatter doesn‘t report pending steps unless —strict is used. (Mads Buus)

0.3.95 2009-08-13

This release improves Webrat support for table-like HTML markup. Now you can easily turn the HTML elements table, dl, ol and ul elements into a 2D array. This is particularly useful for comparing data in your HTML with a Cucumber table using Cucumber::Ast::Table#diff!

This release also fixes several bugs related to —drb (Spork) and profiles (cucumber.yml)

Bug Fixes

  • —guess will always prefer the longest regexp with no groups if they exist.
  • Prevent delays if a NoMethodError is raise in a step definition. Define a light inspect in World. (374 Aslak Hellesøy)
  • Restore ‘features’ as the default feature running path. (412 Ben Mabey)
  • —drb degrades gracefully when no drb server is running and no formatter is provided. (410 Ben Mabey)
  • —language picked up from profiles again. (409 Ben Mabey)
  • Resolved infinite loop problem when —drb was defined in a profile. (408 Ben Mabey)

New Features

  • Cucumber::World#table has been overloaded to work with 2D Array in addition to a table String to be parsed.
  • New When /^I fill in the following:$/ step definition for Webrat. Useful for filling out a form with a Table. (Aslak Hellesøy)
  • The object returned by element_at (Webrat::Element) has a to_table that works for table, dl, ol and ul. (Aslak Hellesøy)
  • An explanation of why failures are ok is printed when —wip is used. (Aslak Hellesøy)
  • Added cucumber alias for cucumber:ok in Rails Rake tasks. (Aslak Hellesøy)

Changed features

  • element_at(‘table’).to_table should be used instead of table_at(‘table’).to_a. The old way is deprecated but still works. (Aslak Hellesøy)
  • element_at (and the depracated table_at) no longer takes a DOM id, only CSS selectors. Change "my_id" to "my_id". (Aslak Hellesøy)

0.3.94 2009-08-06

Kanban take II.

Release 0.3.6 introduced a new —wip switch that can be used to limit work in progress (WIP). Limiting WIP is central for Kanban Software Development (www.infoq.com/articles/hiranabe-lean-agile-kanban).

However, this feature went mostly unnoticed, and because we think it‘s so great we have decided to make it the default for Rails projects. When you bootstrap your Rails project for Cucumber you will now get 2 Cucumber Rake tasks for Kanban development:

  cucumber:ok  : Run features that should pass. This runs your "good,old" features
  cucumber:wip : Run the features you're working on that don't pass yet. Tag them with @wip. Max 2!

So upgrade today and get into the habit of tagging new features with @wip (or invent your own tags). You‘ll achieve better flow this way.

New features

  • Support limiting the number of feature elements with certain tags (353 Joseph Wilk)
  • script/generate cucumber sets up ‘cucumber:ok’ and ‘cucumber:wip’ tasks and deprecates ‘features’. More Kanban love. (344 Aslak Hellesøy)
  • Better JUnit formatter: feature->testsuite, scenario->testcase. Better timing and support for background and scenario outline. (Mads Buus Westmark)
  • Added examples/python that uses rubypython. (Aslak Hellesøy)
  • Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed. This prevents Apple‘s Terminal.app from stalling (Yugui - Yuki Sonoda).
    • Set ‘xterm-256color’ to TERM if your terminal supports grey.
    • ruby-terminfo is available as genki-ruby-terminfo gem from github.
  • Document builtin formatters with —help. (406 Aslak Hellesøy)
  • Added support for using regular expressions when mapping table headers. (Peter Williams)

0.3.93 2009-08-03

Highlights in this release: Improved profile handling (cucumber.yml) and a fix for cucumber hanging.

New features

  • script/generate cucumber —spork now sets up a spork gem dependency in the cucumber.rb environment. (Aslak Hellesøy)
  • Feature files defined on the command line override any that are present in profiles. (344 Ben Mabey)
  • Default (STDOUT) formatter defined in profile can be overridden from the command line. (344 Ben Mabey)
  • Displays which profile, if any, is being used. (Ben Mabey)
  • click_link_within(parent, link) webrat step (Joakim Kolsjö)

Bugfixes

  • script/cucumber correctly loads the gem‘s binary if the plugin isn‘t installed.
  • Cucumber hangs waiting for Ctrl+C if an Error is raised. (374 Aslak Hellesøy)

0.3.92 2009-07-29

This release has some minor improvements to the new Table.diff! functionality. For example, if you‘re using Webrat and you want to compare a feature table with a HTML table containing links in one of the columns, you can do:

  actual = Cucumber::Ast::Table.new(table_at('table').to_a)
  actual.map_column!('Name') { |text| text.strip.match(/>(.*)</)[1] }
  table.diff!(actual)

New features

  • Allow Step Definitions to accept mix of required & optional args (Niels Ganser)
  • table_a.diff!(table_b) now uses column conversions from both tables (Table#map_column!) (Aslak Hellesøy)

Bugfixes

  • Upgrade Sinatra example to work with rack-test 0.3.0 and aslakhellesoy-webrat 0.4.4.1 (Aslak Hellesøy)
  • require ‘cucumber/webrat/table_locator’ added to Spork environment for Rails (Anders Furseth)

Changed Features

  • The ‘default’ profile is now ALWAYS used unless you specify another profile or use the -P or —no-profile flag. (344 Ben Mabey)

0.3.91 2009-07-27

New Features

  • CTRL-C will exit immediately instead of carrying on until all features are run. (Aslak Hellesøy)
  • Run can be stopped programmatically by setting $cucumber_interrupted = true, for example in an After block. (Aslak Hellesøy)
  • Support limiting the number of feature elements with certain tags (353 Joseph Wilk)
  • Table support for cuke4duke

0.3.90 2009-07-22

The Hot summer release

This is a hot summer in Norway, and Cucumbers are growing in abundance. To celebrate this we give you a new release with lots of new features and bugfixes. This is also one of the last releases in the 0.3 series (hence the 0.3.90 number), so 0.4 (or maybe 1.0!) will be coming up soon. The highlights of this release are:

Egality

English is not the world‘s most spoken language, so why should Cucumber force non-English speakers to use the

[Validate]