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.
- 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
|
-
}
|