<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>features/support/version_check.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -38,6 +38,9 @@ development:
 test:
   &lt;&lt;: *shared
 
+cucumber:
+  &lt;&lt;: *shared
+
 staging:
   &lt;&lt;: *shared
 </diff>
      <filename>config/authentication_engine.yml</filename>
    </modified>
    <modified>
      <diff>@@ -15,11 +15,12 @@ test: &amp;TEST
   pool: 5
   timeout: 5000
 
+cucumber:
+  &lt;&lt;: *TEST
+
 production:
   adapter: sqlite3
   database: db/production.sqlite3
   pool: 5
   timeout: 5000
 
-cucumber:
-  &lt;&lt;: *TEST</diff>
      <filename>config/database.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,7 @@
+# IMPORTANT: This file was generated by Cucumber 0.4.2
+# Edit at your own peril - it's recommended to regenerate this file
+# in the future when you upgrade to a newer version of Cucumber.
+
 config.cache_classes = true # This must be true for Cucumber to operate correctly!
 
 # Log error messages when you accidentally call methods on nil.
@@ -15,8 +19,8 @@ config.action_controller.allow_forgery_protection    = false
 # ActionMailer::Base.deliveries array.
 config.action_mailer.delivery_method = :test
 
-config.gem 'cucumber', :lib =&gt; false, :version =&gt; '&gt;=0.3.99' unless File.directory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
-config.gem 'webrat', :lib =&gt; false, :version =&gt; '&gt;=0.5.3' unless File.directory?(File.join(Rails.root, 'vendor/plugins/webrat'))
-config.gem 'rspec', :lib =&gt; false, :version =&gt; '&gt;=1.2.8' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec'))
-config.gem 'rspec-rails', :lib =&gt; 'spec/rails', :version =&gt; '&gt;=1.2.7' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
-config.gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :source =&gt; 'http://gems.github.com', :version =&gt; '&gt;=0.3.1'
\ No newline at end of file
+config.gem 'cucumber',    :lib =&gt; false,        :version =&gt; '&gt;=0.4.2' unless File.directory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
+config.gem 'webrat',      :lib =&gt; false,        :version =&gt; '&gt;=0.5.3' unless File.directory?(File.join(Rails.root, 'vendor/plugins/webrat'))
+config.gem 'rspec',       :lib =&gt; false,        :version =&gt; '&gt;=1.2.9' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec'))
+config.gem 'rspec-rails', :lib =&gt; false,        :version =&gt; '&gt;=1.2.9' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
+config.gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :source =&gt; 'http://gems.github.com', :version =&gt; '&gt;=0.3.4'</diff>
      <filename>config/environments/cucumber.rb</filename>
    </modified>
    <modified>
      <diff>@@ -26,8 +26,8 @@ config.action_mailer.delivery_method = :test
 # This is necessary if your schema can't be completely dumped by the schema dumper,
 # like if you have constraints or database-specific column types
 # config.active_record.schema_format = :sql
-config.gem 'rspec', :lib =&gt; false, :version =&gt; '&gt;= 1.2.8'
-config.gem 'rspec-rails', :lib =&gt; false, :version =&gt; '&gt;= 1.2.7'
-config.gem 'cucumber', :lib =&gt; false, :version =&gt; '&gt;=0.3.99'
+config.gem 'rspec', :lib =&gt; false, :version =&gt; '&gt;= 1.2.9'
+config.gem 'rspec-rails', :lib =&gt; false, :version =&gt; '&gt;= 1.2.9'
+config.gem 'cucumber', :lib =&gt; false, :version =&gt; '&gt;=0.4.2'
 config.gem 'webrat', :lib =&gt; 'webrat', :version =&gt; '&gt;=0.5.3'
-config.gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :source =&gt; 'http://gems.github.com', :version =&gt; '&gt;=0.3.1'
+config.gem 'bmabey-email_spec', :lib =&gt; 'email_spec', :source =&gt; 'http://gems.github.com', :version =&gt; '&gt;=0.3.4'</diff>
      <filename>config/environments/test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,6 +36,6 @@ ActionController::Routing::Routes.draw do |map|
   # paths that should be added manually to main routes.rb of application
   # map.root :controller =&gt; 'home', :action =&gt; 'index'
   # map.namespace :admin do |admin|
-  #   admin.root :controller =&gt; &quot;admin&quot;, :action =&gt; &quot;dashboard&quot;
+  #   admin.root :controller =&gt; &quot;home&quot;, :action =&gt; &quot;dashboard&quot;
   # end
 end</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,8 @@
+# IMPORTANT: This file was generated by Cucumber 0.4.2
+# Edit at your own peril - it's recommended to regenerate this file
+# in the future when you upgrade to a newer version of Cucumber.
+# Consider adding your own code to a new file instead of editing this one.
+
 require File.expand_path(File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;support&quot;, &quot;paths&quot;))
 
 # Commonly used webrat steps
@@ -24,7 +29,7 @@ When /^I follow &quot;([^\&quot;]*)&quot; within &quot;([^\&quot;]*)&quot;$/ do |link, parent|
 end
 
 When /^I fill in &quot;([^\&quot;]*)&quot; with &quot;([^\&quot;]*)&quot;$/ do |field, value|
-  fill_in(field, :with =&gt; value) 
+  fill_in(field, :with =&gt; value)
 end
 
 When /^I fill in &quot;([^\&quot;]*)&quot; for &quot;([^\&quot;]*)&quot;$/ do |value, field|
@@ -49,16 +54,16 @@ When /^I fill in the following:$/ do |fields|
 end
 
 When /^I select &quot;([^\&quot;]*)&quot; from &quot;([^\&quot;]*)&quot;$/ do |value, field|
-  select(value, :from =&gt; field) 
+  select(value, :from =&gt; field)
 end
 
 # Use this step in conjunction with Rail's datetime_select helper. For example:
-# When I select &quot;December 25, 2008 10:00&quot; as the date and time 
+# When I select &quot;December 25, 2008 10:00&quot; as the date and time
 When /^I select &quot;([^\&quot;]*)&quot; as the date and time$/ do |time|
   select_datetime(time)
 end
 
-# Use this step when using multiple datetime_select helpers on a page or 
+# Use this step when using multiple datetime_select helpers on a page or
 # you want to specify which datetime to select. Given the following view:
 #   &lt;%= f.label :preferred %&gt;&lt;br /&gt;
 #   &lt;%= f.datetime_select :preferred %&gt;
@@ -74,7 +79,7 @@ end
 # Use this step in conjunction with Rail's time_select helper. For example:
 # When I select &quot;2:20PM&quot; as the time
 # Note: Rail's default time helper provides 24-hour time-- not 12 hour time. Webrat
-# will convert the 2:20PM to 14:20 and then select it. 
+# will convert the 2:20PM to 14:20 and then select it.
 When /^I select &quot;([^\&quot;]*)&quot; as the time$/ do |time|
   select_time(time)
 end
@@ -100,11 +105,11 @@ When /^I select &quot;([^\&quot;]*)&quot; as the &quot;([^\&quot;]*)&quot; date$/ do |date, date_label|
 end
 
 When /^I check &quot;([^\&quot;]*)&quot;$/ do |field|
-  check(field) 
+  check(field)
 end
 
 When /^I uncheck &quot;([^\&quot;]*)&quot;$/ do |field|
-  uncheck(field) 
+  uncheck(field)
 end
 
 When /^I choose &quot;([^\&quot;]*)&quot;$/ do |field|
@@ -119,20 +124,46 @@ Then /^I should see &quot;([^\&quot;]*)&quot;$/ do |text|
   response.should contain(text)
 end
 
+Then /^I should see &quot;([^\&quot;]*)&quot; within &quot;([^\&quot;]*)&quot;$/ do |text, selector|
+  within(selector) do |content|
+    content.should contain(text)
+  end
+end
+
 Then /^I should see \/([^\/]*)\/$/ do |regexp|
   regexp = Regexp.new(regexp)
   response.should contain(regexp)
 end
 
+Then /^I should see \/([^\/]*)\/ within &quot;([^\&quot;]*)&quot;$/ do |regexp, selector|
+  within(selector) do |content|
+    regexp = Regexp.new(regexp)
+    content.should contain(regexp)
+  end
+end
+
 Then /^I should not see &quot;([^\&quot;]*)&quot;$/ do |text|
   response.should_not contain(text)
 end
 
+Then /^I should not see &quot;([^\&quot;]*)&quot; within &quot;([^\&quot;]*)&quot;$/ do |text, selector|
+  within(selector) do |content|
+    content.should_not contain(text)
+  end
+end
+
 Then /^I should not see \/([^\/]*)\/$/ do |regexp|
   regexp = Regexp.new(regexp)
   response.should_not contain(regexp)
 end
 
+Then /^I should not see \/([^\/]*)\/ within &quot;([^\&quot;]*)&quot;$/ do |regexp, selector|
+  within(selector) do |content|
+    regexp = Regexp.new(regexp)
+    content.should_not contain(regexp)
+  end
+end
+
 Then /^the &quot;([^\&quot;]*)&quot; field should contain &quot;([^\&quot;]*)&quot;$/ do |field, value|
   field_labeled(field).value.should =~ /#{value}/
 end
@@ -140,7 +171,7 @@ end
 Then /^the &quot;([^\&quot;]*)&quot; field should not contain &quot;([^\&quot;]*)&quot;$/ do |field, value|
   field_labeled(field).value.should_not =~ /#{value}/
 end
-    
+
 Then /^the &quot;([^\&quot;]*)&quot; checkbox should be checked$/ do |label|
   field_labeled(label).should be_checked
 end</diff>
      <filename>features/step_definitions/webrat_steps.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,28 +1,50 @@
+# IMPORTANT: This file was generated by Cucumber 0.4.2
+# Edit at your own peril - it's recommended to regenerate this file
+# in the future when you upgrade to a newer version of Cucumber.
+# Consider adding your own code to a new file instead of editing this one.
+
 # Sets up the Rails environment for Cucumber
 ENV[&quot;RAILS_ENV&quot;] ||= &quot;cucumber&quot;
-require File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
+require File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','..','..','config','environment'))
 require 'cucumber/rails/world'
 
+# If you set this to true, each scenario will run in a database transaction.
+# You can still turn off transactions on a per-scenario basis, simply tagging 
+# a feature or scenario with the @no-txn tag. 
+#
+# If you set this to false, transactions will be off for all scenarios,
+# regardless of whether you use @no-txn or not.
+#
+# Beware that turning transactions off will leave data in your database 
+# after each scenario, which can lead to hard-to-debug failures in 
+# subsequent scenarios. If you do this, we recommend you create a Before
+# block that will explicitly put your database in a known state.
+Cucumber::Rails::World.use_transactional_fixtures = true
+
+# If you set this to false, any error raised from within your app will bubble 
+# up to your step definition and out to cucumber unless you catch it somewhere
+# on the way. You can make Rails rescue errors and render error pages on a
+# per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
+#
+# If you set this to true, Rails will rescue all errors and render error
+# pages, more or less in the same way your application would behave in the
+# default production environment. It's not recommended to do this for all
+# of your scenarios, as this makes it hard to discover errors in your application.
+ActionController::Base.allow_rescue = false
+
+require 'cucumber'
 # Comment out the next line if you don't want Cucumber Unicode support
 require 'cucumber/formatter/unicode'
-
-# Comment out the next line if you don't want transactions to
-# open/roll back around each scenario
-Cucumber::Rails.use_transactional_fixtures
-
-# Comment out the next line if you want Rails' own error handling
-# (e.g. rescue_action_in_public / rescue_responses / rescue_from)
-Cucumber::Rails.bypass_rescue
-
-require 'webrat'
 require 'cucumber/webrat/element_locator' # Lets you do table.diff!(element_at('#my_table_or_dl_or_ul_or_ol').to_table)
+require 'cucumber/rails/rspec'
 
+require 'webrat'
+require 'webrat/core/matchers' 
 Webrat.configure do |config|
   config.mode = :rails
+  config.open_error_files = false # Set to true if you want error pages to pop up in the browser
 end
 
-require 'cucumber/rails/rspec'
-require 'webrat/core/matchers'
 require 'email_spec/cucumber'
 require 'factory_girl'
 </diff>
      <filename>features/support/env.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ module NavigationHelpers
   def path_to(page_name)
     case page_name
 
-    when /the homepage/
+    when /the home\s?page/
       root_path
     when /the login page/
       login_path</diff>
      <filename>features/support/paths.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ else
     require 'state_machine'
   rescue LoadError
     begin
-      gem 'authlogic', '2.1.1'
+      gem 'authlogic', '2.1.2'
       gem 'authlogic-oid', '1.0.4'
       gem 'ruby-openid', '2.1.7'
       gem 'declarative_authorization', '0.3.2.2'</diff>
      <filename>init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,21 @@
 # This file is copied to ~/spec when you run 'ruby script/generate rspec'
 # from the project root directory.
 ENV[&quot;RAILS_ENV&quot;] ||= 'test'
-require File.dirname(__FILE__) + &quot;/../config/environment&quot; unless defined?(RAILS_ROOT)
+require File.expand_path(File.join(File.dirname(__FILE__),'..','config','environment'))
 require 'spec/autorun'
 require 'spec/rails'
-require &quot;email_spec/helpers&quot;
-require &quot;email_spec/matchers&quot;
+
+require 'email_spec/helpers'
+require 'email_spec/matchers'
 require 'remarkable_rails'
 
+# Uncomment the next line to use webrat's matchers
+#require 'webrat/integrations/rspec-rails'
+
+# Requires supporting files with custom matchers and macros, etc,
+# in ./support/ and its subdirectories.
+Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
+
 Spec::Runner.configure do |config|
   config.include(EmailSpec::Helpers)
   config.include(EmailSpec::Matchers)
@@ -48,6 +56,6 @@ Spec::Runner.configure do |config|
   # config.mock_with :rr
   #
   # == Notes
-  # 
+  #
   # For more information take a look at Spec::Runner::Configuration and Spec::Runner
 end</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,13 +22,16 @@ namespace :authentication_engine do
   begin
     require 'cucumber/rake/task'
 
-    Cucumber::Rake::Task.new(:features, &quot;Run Features of authentication_engine with Cucumber&quot;) do |t|
-      t.fork = true
-      t.cucumber_opts = %w{--format pretty}
-      t.feature_pattern = &quot;#{plugin_path}/features/**/*.feature&quot;
-      t.step_pattern = &quot;#{plugin_path}/features/**/*.rb&quot;
+    # Use vendored cucumber binary if possible. If it's not vendored,
+    # Cucumber::Rake::Task will automatically use installed gem's cucumber binary
+    vendored_cucumber_binary = Dir[&quot;#{RAILS_ROOT}/vendor/{gems,plugins}/cucumber*/bin/cucumber&quot;].first
+
+    Cucumber::Rake::Task.new({:features =&gt; 'db:test:prepare'}, &quot;Run Features of authentication_engine with Cucumber&quot;) do |t|
+      t.binary = vendored_cucumber_binary
+      t.fork = true # You may get faster startup if you set this to false
+      t.cucumber_opts = &quot;--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{plugin_path}/features&quot;
+      # t.profile = &quot;authentication_engine&quot;
     end
-    task :features =&gt; 'db:test:prepare'
   rescue LoadError
     desc 'Cucumber rake task not available'
     task :features do</diff>
      <filename>tasks/authentication_engine_tasks.rake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f290836a37f74d96af26b3d100557c7c379be409</id>
    </parent>
  </parents>
  <author>
    <name>Tse-Ching Ho</name>
    <email>tsechingho@gmail.com</email>
  </author>
  <url>http://github.com/angantyr/authentication_engine/commit/602e4db57b1882af97e01b3020c190a708c9f0e4</url>
  <id>602e4db57b1882af97e01b3020c190a708c9f0e4</id>
  <committed-date>2009-10-15T22:13:31-07:00</committed-date>
  <authored-date>2009-10-15T22:13:31-07:00</authored-date>
  <message>update cucumber to 0.4.2</message>
  <tree>ff3300892c240e29dbf4c038b8364c95aa062b4f</tree>
  <committer>
    <name>Tse-Ching Ho</name>
    <email>tsechingho@gmail.com</email>
  </committer>
</commit>
