aslakhellesoy-cucumber 0.3.3.6 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,10 @@
1
- == 0.3.4 (In Git)
1
+ == 0.3.4 2009-05-14
2
2
 
3
3
  A couple of great new features in this release. Running with Rake is faster than before,
4
4
  and there is a brand new JUnit formatter - great for Continuous Integration reports!
5
5
 
6
+ This release was made especially for the Oslo XP Meetup today.
7
+
6
8
  ** IMPORTANT UPGRADE NOTES FOR RAILS USERS **
7
9
 
8
10
  Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work,
@@ -22,6 +24,7 @@ Alternatively you can omit forking and run features like this:
22
24
  However, setting the RAILS_ENV is easy to forget, so I don't recommend relying on this.
23
25
 
24
26
  === Bugfixes
27
+ * Hooks (World, Before, After) are no longer executed when --dry-run (Aslak Hellesøy)
25
28
  * Proper UTF8 use in HTML formatter (Herminio Torres)
26
29
  * Problem with multiple terms in languages.yml (#321 Aslak Hellesøy)
27
30
 
@@ -32,6 +35,7 @@ However, setting the RAILS_ENV is easy to forget, so I don't recommend relying o
32
35
  * Support for Catalan (Francesc Esplugas)
33
36
 
34
37
  === Changed features
38
+ * The Java example under examples/java uses Ant instead of Rake - and the new JUnit formatter.
35
39
  * Rake task should not shell out (#297 Aslak Hellesøy)
36
40
  The Cucumber Rake task will run Cucumber in the same Ruby interpreter as Rake itself
37
41
  unless explicitly told to fork a new interpreter. This is to increase speed. You can
@@ -151,7 +151,7 @@ examples/i18n/zh-TW/features/division.feature
151
151
  examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
152
152
  examples/i18n/zh-TW/lib/calculator.rb
153
153
  examples/java/README.textile
154
- examples/java/Rakefile
154
+ examples/java/build.xml
155
155
  examples/java/features/hello.feature
156
156
  examples/java/features/step_definitons/hello_steps.rb
157
157
  examples/java/features/step_definitons/tree_steps.rb
@@ -3,13 +3,13 @@ Feature: Addition
3
3
  As a math idiot
4
4
  I want to be told the sum of two numbers
5
5
 
6
- Scenario: Add two numbers
7
- Given I have entered 50 into the calculator
8
- And I have entered 70 into the calculator
6
+ Scenario Outline: Add two numbers
7
+ Given I have entered <input_1> into the calculator
8
+ And I have entered <input_2> into the calculator
9
9
  When I press add
10
- Then the result should be 120 on the screen
10
+ Then the result should be <output> on the screen
11
11
 
12
- More Examples:
12
+ Examples:
13
13
  | input_1 | input_2 | output |
14
14
  | 20 | 30 | 50 |
15
15
  | 2 | 5 | 7 |
@@ -1,9 +1,9 @@
1
1
  require 'spec/expectations'
2
2
  $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
3
- require 'Calculator'
3
+ require 'Calculator' # Calculator.dll
4
4
 
5
5
  Before do
6
- @calc = Demo::Calculator.new
6
+ @calc = Demo::Calculator.new # A .NET class in Calculator.dll
7
7
  end
8
8
 
9
9
  Given "I have entered $n into the calculator" do |n|
@@ -1,11 +1,10 @@
1
1
  h1. Using Cucumber with Java
2
2
 
3
3
  This directory contains code to demonstrate how Cucumber can be used to develop Java code.
4
- You need JRuby 1.1.3 or higher installed and JRuby's bin directory on your PATH.
5
4
 
6
5
  h2. Installing required gems
7
6
 
8
- jruby -S gem install aslakhellesoy-cucumber
7
+ jruby -S gem install cucumber
9
8
  jruby -S gem install diff-lcs
10
9
 
11
10
  h2. Running the scenarios
@@ -13,10 +12,7 @@ h2. Running the scenarios
13
12
  Open a shell in this directory (java) and execute the following command:
14
13
 
15
14
  <pre><code>
16
- jruby -S rake features
15
+ ant
17
16
  </code></pre>
18
17
 
19
- This will compile the java code and package it in a jar file, and then run Cucumber against
20
- that code.
21
-
22
18
  There is a deliberate error. See if you can fix it!
@@ -0,0 +1,26 @@
1
+ <project name="Cucumber Demo" default="cucumber" basedir=".">
2
+ <target name ="compile" description="Compile classes">
3
+ <mkdir dir="build" />
4
+ <javac srcdir="src" destdir="build" />
5
+ </target>
6
+
7
+ <target name="cucumber" depends="compile" description="Run Cucumber">
8
+ <property environment="ENV" />
9
+ <java classname="org.jruby.Main" fork="true" failonerror="true">
10
+ <classpath>
11
+ <pathelement path="${ENV.JRUBY_HOME}/lib/jruby.jar"/>
12
+ <pathelement path="build"/>
13
+ </classpath>
14
+ <jvmarg value="-Djruby.home=${ENV.JRUBY_HOME}"/>
15
+ <arg value="-S"/>
16
+ <arg value="cucumber"/>
17
+ <arg value="--format"/>
18
+ <arg value="pretty"/>
19
+ <arg value="--format"/>
20
+ <arg value="junit"/>
21
+ <arg value="--out"/>
22
+ <arg value="build"/>
23
+ <arg value="features"/>
24
+ </java>
25
+ </target>
26
+ </project>
@@ -1,6 +1,4 @@
1
1
  require 'spec/expectations' # so we can call .should
2
- $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../src') # so the jar is found
3
- require 'cucumber_demo' # puts the jar on the classpath
4
2
  include_class 'cucumber.demo.Hello'
5
3
 
6
4
  Given /my name is (\w+)/ do |name|
@@ -2,15 +2,15 @@
2
2
  class Proc
3
3
  PROC_PATTERN = /[\d\w]+@(.*):(.*)>/
4
4
 
5
- if Proc.new{}.to_s =~ PROC_PATTERN
6
- def backtrace_line(name)
7
- "#{file_colon_line}:in `#{name}'"
8
- end
5
+ def to_comment_line
6
+ "# #{file_colon_line}"
7
+ end
9
8
 
10
- def to_comment_line
11
- "# #{file_colon_line}"
12
- end
9
+ def backtrace_line(name)
10
+ "#{file_colon_line}:in `#{name}'"
11
+ end
13
12
 
13
+ if Proc.new{}.to_s =~ PROC_PATTERN
14
14
  def file_colon_line
15
15
  path, line = *to_s.match(PROC_PATTERN)[1..2]
16
16
  path = File.expand_path(path)
@@ -22,12 +22,8 @@ class Proc
22
22
  # This Ruby implementation doesn't implement Proc#to_s correctly
23
23
  STDERR.puts "*** THIS RUBY IMPLEMENTATION DOESN'T REPORT FILE AND LINE FOR PROCS ***"
24
24
 
25
- def backtrace_line
26
- nil
27
- end
28
-
29
- def to_comment_line
30
- ""
25
+ def file_colon_line
26
+ "UNKNOWN:-1"
31
27
  end
32
28
  end
33
29
  end
@@ -66,7 +66,7 @@ module Cucumber
66
66
  private
67
67
 
68
68
  def convert_to_file_name(feature_name)
69
- @reportdir + "TEST-" + feature_name.gsub(/[^\w_\.]/, '_') + ".xml"
69
+ File.join(@reportdir, "TEST-" + feature_name.gsub(/[^\w_\.]/, '_') + ".xml")
70
70
  end
71
71
 
72
72
  def format_exception(exception)
@@ -262,6 +262,7 @@ module Cucumber
262
262
 
263
263
  # Creates a new world instance
264
264
  def new_world!
265
+ return if options[:dry_run]
265
266
  create_world!
266
267
  extend_world
267
268
  connect_world
@@ -309,12 +310,14 @@ module Cucumber
309
310
  end
310
311
 
311
312
  def execute_before(scenario)
313
+ return if options[:dry_run]
312
314
  hooks_for(:before, scenario).each do |hook|
313
315
  hook.execute_in(@current_world, scenario, 'Before')
314
316
  end
315
317
  end
316
318
 
317
319
  def execute_after(scenario)
320
+ return if options[:dry_run]
318
321
  hooks_for(:after, scenario).each do |hook|
319
322
  hook.execute_in(@current_world, scenario, 'After')
320
323
  end
@@ -2,8 +2,8 @@ module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 3
6
- PATCH = 6 # Set to nil for official release
5
+ TINY = 4
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.3.3.6
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Aslak Helles\xC3\xB8y"
@@ -228,7 +228,7 @@ files:
228
228
  - examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
229
229
  - examples/i18n/zh-TW/lib/calculator.rb
230
230
  - examples/java/README.textile
231
- - examples/java/Rakefile
231
+ - examples/java/build.xml
232
232
  - examples/java/features/hello.feature
233
233
  - examples/java/features/step_definitons/hello_steps.rb
234
234
  - examples/java/features/step_definitons/tree_steps.rb
@@ -1,13 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- raise "This example only works with JRuby" unless Cucumber::JRUBY
5
- Cucumber::Rake::Task.new(:features) do |t|
6
- t.cucumber_opts = %w{--format pretty}
7
- end
8
-
9
- task :features => :compile
10
-
11
- task :compile do
12
- sh "javac src/cucumber/demo/Hello.java && jar cf src/cucumber_demo.jar -C src cucumber/demo/Hello.class"
13
- end