cucumber 0.1.11 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +17 -2
- data/Manifest.txt +4 -5
- data/examples/cs/README.textile +1 -22
- data/examples/cs/Rakefile +1 -1
- data/examples/cs/compile.bat +1 -0
- data/examples/cs/features/addition.feature +17 -0
- data/examples/cs/features/step_definitons/calculator_steps.rb +23 -0
- data/examples/cs/src/demo/Calculator.cs +20 -0
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +0 -5
- data/lib/autotest/cucumber_mixin.rb +1 -1
- data/lib/cucumber/platform.rb +0 -4
- data/lib/cucumber/tree/step.rb +8 -0
- data/lib/cucumber/version.rb +1 -1
- metadata +6 -7
- data/examples/cs/features/hello.feature +0 -11
- data/examples/cs/features/step_definitons/hello_steps.rb +0 -25
- data/examples/cs/features/step_definitons/tree_steps.rb +0 -14
- data/examples/cs/features/tree.feature +0 -9
- data/examples/cs/src/Hello.cs +0 -18
data/History.txt
CHANGED
@@ -1,4 +1,19 @@
|
|
1
|
-
== 0.1.
|
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
|
|
data/Manifest.txt
CHANGED
@@ -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/
|
17
|
-
examples/cs/features/
|
18
|
-
examples/cs/features/step_definitons/
|
19
|
-
examples/cs/
|
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
|
data/examples/cs/README.textile
CHANGED
@@ -1,22 +1 @@
|
|
1
|
-
|
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
|
data/examples/cs/Rakefile
CHANGED
@@ -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
|
+
}
|
@@ -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
|
data/lib/cucumber/platform.rb
CHANGED
@@ -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
|
data/lib/cucumber/tree/step.rb
CHANGED
@@ -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)
|
data/lib/cucumber/version.rb
CHANGED
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.
|
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-
|
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/
|
86
|
-
- examples/cs/features/
|
87
|
-
- examples/cs/features/step_definitons/
|
88
|
-
- examples/cs/
|
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
|
data/examples/cs/src/Hello.cs
DELETED
@@ -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
|
-
}
|