cucumber 0.1.11 → 0.1.12

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.
@@ -1,4 +1,19 @@
1
- == 0.1.11
1
+ == 0.1.12 2008-12-04
2
+
3
+ This is the "getting serious with IronRuby release" - largely based on
4
+ "Patrick Gannon":http://www.patrickgannon.net/archive/2008/10/23/bdd-style-feature-tests-using-ironruby-and-rspeccucumber.aspx's
5
+ blog entry.
6
+
7
+ == New features
8
+ * Cucumber works with IronRuby/.NET - http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net (Aslak Hellesøy)
9
+
10
+ == Bugfixes
11
+ * Fixed bug which was preventing coloring under Autotest (#111, Alan Larkin)
12
+
13
+ == Removed features
14
+ None
15
+
16
+ == 0.1.11 2008-12-02
2
17
 
3
18
  Bugfix release with a couple of minor additional features to the command line options.
4
19
 
@@ -14,7 +29,7 @@ Bugfix release with a couple of minor additional features to the command line op
14
29
  * Support including modules for class passed to --format (#109 Joseph Wilk)
15
30
 
16
31
  == Removed features
17
- * The cucumber gem no longer depends on the rspec gem. It must be downloaded manually if RSpec is used.
32
+ * The cucumber gem no longer depends on the rspec gem. It must be downloaded manually if RSpec is used. (Jeff Rafter)
18
33
 
19
34
  == 0.1.10 2008-11-25
20
35
 
@@ -13,11 +13,10 @@ examples/calculator_ruby_features/features/addition.rb
13
13
  examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb
14
14
  examples/cs/README.textile
15
15
  examples/cs/Rakefile
16
- examples/cs/features/hello.feature
17
- examples/cs/features/step_definitons/hello_steps.rb
18
- examples/cs/features/step_definitons/tree_steps.rb
19
- examples/cs/features/tree.feature
20
- examples/cs/src/Hello.cs
16
+ examples/cs/compile.bat
17
+ examples/cs/features/addition.feature
18
+ examples/cs/features/step_definitons/calculator_steps.rb
19
+ examples/cs/src/demo/Calculator.cs
21
20
  examples/dos_line_endings/Rakefile
22
21
  examples/dos_line_endings/features/dos_line_endings.feature
23
22
  examples/i18n/README.textile
@@ -1,22 +1 @@
1
- h1. Using Cucumber with Java
2
-
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
-
6
- h2. Installing required gems
7
-
8
- jruby -S gem install aslakhellesoy-cucumber
9
- jruby -S gem install diff-lcs
10
-
11
- h2. Running the scenarios
12
-
13
- Open a shell in this directory (java) and execute the following command:
14
-
15
- <pre><code>
16
- jruby -S rake features
17
- </code></pre>
18
-
19
- This will compile the java code and package it in a jar file, and then run Cucumber against
20
- that code.
21
-
22
- There is a deliberate error. See if you can fix it!
1
+ See "IronRuby and .NET":http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net
@@ -8,5 +8,5 @@ end
8
8
  task :features => :compile
9
9
 
10
10
  task :compile do
11
- sh "csc /target:library /out:Cucumber.Demo.dll src\\Hello.cs"
11
+ sh "csc /target:library /out:Demo.dll src\\demo\\Calculator.cs"
12
12
  end
@@ -0,0 +1 @@
1
+ csc /target:library /out:Calculator.dll src\demo\Calculator.cs
@@ -0,0 +1,17 @@
1
+ Feature: Addition
2
+ In order to avoid silly mistakes
3
+ As a math idiot
4
+ I want to be told the sum of two numbers
5
+
6
+ Scenario: Add two numbers
7
+ Given I have entered 50 into the calculator
8
+ And I have entered 70 into the calculator
9
+ When I press add
10
+ Then the result should be 120 on the screen
11
+ And the result class should be Fixnum
12
+
13
+ More Examples:
14
+ | input_1 | input_2 | output | class |
15
+ | 20 | 30 | 50 | Fixnum |
16
+ | 2 | 5 | 7 | Fixnum |
17
+ | 0 | 40 | 40 | Fixnum |
@@ -0,0 +1,23 @@
1
+ require 'spec'
2
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
+ require 'Calculator'
4
+
5
+ Before do
6
+ @calc = Demo::Calculator.new
7
+ end
8
+
9
+ Given "I have entered $n into the calculator" do |n|
10
+ @calc.push n.to_i
11
+ end
12
+
13
+ When /I press add/ do
14
+ @result = @calc.Add
15
+ end
16
+
17
+ Then /the result should be (.*) on the screen/ do |result|
18
+ @result.should == result.to_i
19
+ end
20
+
21
+ Then /the result class should be (\w*)/ do |class_name|
22
+ @result.class.name.should == class_name
23
+ end
@@ -0,0 +1,20 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+
4
+ namespace Demo {
5
+ public class Calculator {
6
+ private List<int>args = new List<int>();
7
+
8
+ public void Push(int n) {
9
+ args.Add(n);
10
+ }
11
+
12
+ public int Add() {
13
+ int result = 0;
14
+ foreach(int n in args) {
15
+ result += n;
16
+ }
17
+ return result;
18
+ }
19
+ }
20
+ }
@@ -24,8 +24,3 @@ end
24
24
  Then /the result class should be (\w*)/ do |class_name|
25
25
  @result.class.name.should == class_name
26
26
  end
27
-
28
- Given /it should rain on (\w+)/ do |day|
29
- @calc.rain?(day).should == true
30
- end
31
-
@@ -113,7 +113,7 @@ module Autotest::CucumberMixin
113
113
  else
114
114
  args = %w{features --format} << (scenarios_to_run == :all ? "progress" : "pretty")
115
115
  end
116
- args += %w{--format autotest --out} << dirty_scenarios_filename
116
+ args += %w{--format autotest --color --out} << dirty_scenarios_filename
117
117
  args = args.join(' ')
118
118
 
119
119
  if scenarios_to_run == :all
@@ -7,7 +7,3 @@ $CUCUMBER_IRONRUBY = Config::CONFIG['sitedir'] =~ /IronRuby/
7
7
  $CUCUMBER_WINDOWS = Config::CONFIG['host_os'] =~ /mswin|mingw/
8
8
  $CUCUMBER_WINDOWS_MRI = $CUCUMBER_WINDOWS && !$CUCUMBER_JRUBY && !$CUCUMBER_IRONRUBY
9
9
  $CUCUMBER_RAILS = defined?(Rails)
10
-
11
- if $CUCUMBER_IRONRUBY
12
- ENV['GEM_PATH'] ||= "C:/ruby/lib/ruby/gems/1.8"
13
- end
@@ -41,6 +41,14 @@ module Cucumber
41
41
  format_error(strip_pos, proc, e)
42
42
  rescue => e
43
43
  method_line = "#{__FILE__}:#{__LINE__ - 6}:in `execute_in'"
44
+
45
+ # IronRuby returns nil for backtrace...
46
+ if e.backtrace.nil?
47
+ def e.backtrace
48
+ @cucumber_backtrace ||= []
49
+ end
50
+ end
51
+
44
52
  method_line_pos = e.backtrace.index(method_line)
45
53
  if method_line_pos
46
54
  strip_pos = method_line_pos - (Pending === e ? PENDING_ADJUSTMENT : REGULAR_ADJUSTMENT)
@@ -2,7 +2,7 @@ module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 11
5
+ TINY = 12
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Aslak Helles\xC3\xB8y"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-02 00:00:00 +01:00
12
+ date: 2008-12-04 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -82,11 +82,10 @@ files:
82
82
  - examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb
83
83
  - examples/cs/README.textile
84
84
  - examples/cs/Rakefile
85
- - examples/cs/features/hello.feature
86
- - examples/cs/features/step_definitons/hello_steps.rb
87
- - examples/cs/features/step_definitons/tree_steps.rb
88
- - examples/cs/features/tree.feature
89
- - examples/cs/src/Hello.cs
85
+ - examples/cs/compile.bat
86
+ - examples/cs/features/addition.feature
87
+ - examples/cs/features/step_definitons/calculator_steps.rb
88
+ - examples/cs/src/demo/Calculator.cs
90
89
  - examples/dos_line_endings/Rakefile
91
90
  - examples/dos_line_endings/features/dos_line_endings.feature
92
91
  - examples/i18n/README.textile
@@ -1,11 +0,0 @@
1
- Feature: Hello
2
- In order to have more friends
3
- I want to say hello
4
-
5
- Scenario: Personal greeting
6
- Given my name is Aslak
7
- When I greet David
8
- Then he should hear Hi, David. I'm Aslak.
9
- And I should remember David as a friend
10
- And I should get David's phone number
11
-
@@ -1,25 +0,0 @@
1
- require 'spec' # so we can call .should
2
- $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../src') # so the jar is found
3
- require 'dotnet'
4
- loadLibrary 'Cucumber.Demo'
5
-
6
- Given /my name is (\w+)/ do |name|
7
- @hello = Hello.new # A .net object
8
- @name = name
9
- end
10
-
11
- When /I greet (.*)/ do |someone|
12
- @greeting = @hello.greet(someone, @name)
13
- end
14
-
15
- Then /he should hear (.*)\./ do |message|
16
- @greeting.should == message
17
- end
18
-
19
- Then /I should remember (\w+) as a friend/ do |name|
20
- @hello.isFriend(name).should == true
21
- end
22
-
23
- Then /I should get (\w+)'s phone number/ do |name|
24
- @hello.getPhoneNumber(name).should_not == nil
25
- end
@@ -1,14 +0,0 @@
1
- require 'spec'
2
- require 'dotnet'
3
-
4
- Given /I have an empty set/ do
5
- @set = System.Collections.ArrayList.new
6
- end
7
-
8
- When /I add (\w+)/ do |s|
9
- @set.add(s)
10
- end
11
-
12
- Then /the contents should be (.*)/ do |s|
13
- @set.to_a.join(" ").should == s
14
- end
@@ -1,9 +0,0 @@
1
- Feature: Tree
2
- In order to have more robust Java software
3
- I want to use Cucumber against Java classes
4
-
5
- Scenario: Use java.util.TreeSet
6
- Given I have an empty set
7
- When I add hello
8
- And I add world
9
- Then the contents should be hello world
@@ -1,18 +0,0 @@
1
- using System;
2
-
3
- namespace Cucumber.Demo {
4
- public class Hello {
5
- public string Greet(string who, string from) {
6
- return "Hi, " + who + ". I'm " + from;
7
- }
8
-
9
- public bool IsFriend(string who) {
10
- return true;
11
- }
12
-
13
- public string GetPhoneNumber(string who) {
14
- return "99999";
15
- //throw new Exception("My phone is secret!");
16
- }
17
- }
18
- }