cucumber 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- }