cucumber 0.7.0.beta.4 → 0.7.0.beta.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/History.txt +8 -0
- data/Rakefile +2 -2
- data/VERSION.yml +1 -1
- data/bin/cucumber +1 -1
- data/cucumber.gemspec +10 -12
- data/cucumber.yml +7 -1
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/bg/features/support/env.rb +1 -1
- data/examples/i18n/ca/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +1 -1
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/en-lol/features/support/env.rb +1 -1
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/eo/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +1 -1
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
- data/examples/i18n/fr/features/support/env.rb +1 -1
- data/examples/i18n/he/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
- data/examples/i18n/ja/features/support/env.rb +1 -1
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/no/features/support/env.rb +1 -1
- data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/pl/features/support/env.rb +1 -1
- data/examples/i18n/pt/features/support/env.rb +1 -1
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/ru/features/support/env.rb +1 -1
- data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/sr-Cyrl/features/support/env.rb +1 -1
- data/examples/i18n/sr-Latn/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/sv/features/step_definitons/kalkulator_steps.rb +1 -1
- data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +1 -1
- data/examples/i18n/uk/features/support/env.rb +1 -1
- data/examples/i18n/uz/features/support/env.rb +1 -1
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/ramaze/features/support/env.rb +1 -1
- data/examples/self_test/features/support/env.rb +1 -1
- data/examples/sinatra/features/support/env.rb +1 -1
- data/examples/tickets/features/229/tagged_hooks.rb +1 -1
- data/examples/tickets/features/270/back.steps.rb +1 -1
- data/examples/tickets/features/272/hooks_steps.rb +1 -1
- data/examples/tickets/features/279/py_string_indent.steps.rb +1 -1
- data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +1 -1
- data/examples/tickets/features/step_definitons/tickets_steps.rb +1 -1
- data/examples/watir/features/support/env.rb +1 -1
- data/features/announce.feature +13 -0
- data/features/background.feature +2 -1
- data/features/cucumber_cli_diff_disabled.feature +5 -4
- data/features/html_formatter.feature +1 -1
- data/features/html_formatter/a.html +1 -2
- data/features/support/env.rb +5 -1
- data/gem_tasks/features.rake +1 -3
- data/gem_tasks/rspec.rake +10 -5
- data/lib/cucumber/cli/main.rb +1 -12
- data/lib/cucumber/rb_support/rb_language.rb +2 -1
- data/lib/cucumber/rspec/diffing.rb +17 -0
- data/lib/cucumber/{rspec_neuter.rb → rspec/disable_option_parser.rb} +0 -0
- data/lib/cucumber/step_match.rb +1 -0
- data/lib/cucumber/step_mother.rb +2 -1
- data/spec/cucumber/ast/table_spec.rb +8 -2
- data/spec/cucumber/cli/main_spec.rb +0 -34
- data/spec/cucumber/formatter/html_spec.rb +4 -2
- data/spec/cucumber/step_match_spec.rb +1 -0
- data/spec/spec_helper.rb +21 -9
- metadata +9 -11
- data/gem_tasks/treetop.rake +0 -13
- data/spec/spec.opts +0 -4
data/.gitignore
CHANGED
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 0.7.0.beta.5 (2010-04-27)
|
2
|
+
|
3
|
+
=== New Features
|
4
|
+
* Support RSpec 2. (RSpec >= 1.2.4 is still supported). (Aslak Hellesøy, Ryan Bigg)
|
5
|
+
|
6
|
+
=== Removed features
|
7
|
+
* No more support for RSpec <= 1.2.3. (Aslak Hellesøy)
|
8
|
+
|
1
9
|
== 0.7.0.beta.4 (2010-04-24)
|
2
10
|
|
3
11
|
=== New Features
|
data/Rakefile
CHANGED
@@ -11,12 +11,12 @@ begin
|
|
11
11
|
Jeweler::Tasks.new do |gem|
|
12
12
|
gem.name = "cucumber"
|
13
13
|
gem.summary = %Q{Behaviour Driven Development with elegance and joy}
|
14
|
-
gem.description = %Q{
|
14
|
+
gem.description = %Q{Behaviour Driven Development with elegance and joy}
|
15
15
|
gem.email = "cukes@googlegroups.com"
|
16
16
|
gem.homepage = "http://cukes.info"
|
17
17
|
gem.authors = ["Aslak Hellesøy"]
|
18
18
|
|
19
|
-
gem.add_dependency 'gherkin', '= 1.0.
|
19
|
+
gem.add_dependency 'gherkin', '= 1.0.21'
|
20
20
|
gem.add_dependency 'term-ansicolor', '>= 1.0.4'
|
21
21
|
gem.add_dependency 'builder', '>= 2.1.2'
|
22
22
|
gem.add_dependency 'diff-lcs', '>= 1.1.2'
|
data/VERSION.yml
CHANGED
data/bin/cucumber
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
|
3
3
|
|
4
|
-
require 'cucumber/
|
4
|
+
require 'cucumber/rspec/disable_option_parser'
|
5
5
|
require 'cucumber/cli/main'
|
6
6
|
begin
|
7
7
|
# The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
|
data/cucumber.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cucumber}
|
8
|
-
s.version = "0.7.0.beta.
|
8
|
+
s.version = "0.7.0.beta.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Aslak
|
12
|
-
s.date = %q{2010-04-
|
11
|
+
s.authors = ["Aslak Hellesøy"]
|
12
|
+
s.date = %q{2010-04-27}
|
13
13
|
s.default_executable = %q{cucumber}
|
14
|
-
s.description = %q{
|
14
|
+
s.description = %q{Behaviour Driven Development with elegance and joy}
|
15
15
|
s.email = %q{cukes@googlegroups.com}
|
16
16
|
s.executables = ["cucumber"]
|
17
17
|
s.extra_rdoc_files = [
|
@@ -402,7 +402,6 @@ Gem::Specification.new do |s|
|
|
402
402
|
"gem_tasks/rspec.rake",
|
403
403
|
"gem_tasks/sass.rake",
|
404
404
|
"gem_tasks/sdoc.rake",
|
405
|
-
"gem_tasks/treetop.rake",
|
406
405
|
"lib/README.rdoc",
|
407
406
|
"lib/autotest/cucumber.rb",
|
408
407
|
"lib/autotest/cucumber_mixin.rb",
|
@@ -482,7 +481,8 @@ Gem::Specification.new do |s|
|
|
482
481
|
"lib/cucumber/rb_support/rb_transform.rb",
|
483
482
|
"lib/cucumber/rb_support/rb_world.rb",
|
484
483
|
"lib/cucumber/rb_support/regexp_argument_matcher.rb",
|
485
|
-
"lib/cucumber/
|
484
|
+
"lib/cucumber/rspec/diffing.rb",
|
485
|
+
"lib/cucumber/rspec/disable_option_parser.rb",
|
486
486
|
"lib/cucumber/step_argument.rb",
|
487
487
|
"lib/cucumber/step_definition_light.rb",
|
488
488
|
"lib/cucumber/step_match.rb",
|
@@ -532,7 +532,6 @@ Gem::Specification.new do |s|
|
|
532
532
|
"spec/cucumber/wire_support/wire_packet_spec.rb",
|
533
533
|
"spec/cucumber/wire_support/wire_step_definition_spec.rb",
|
534
534
|
"spec/cucumber/world/pending_spec.rb",
|
535
|
-
"spec/spec.opts",
|
536
535
|
"spec/spec_helper.rb"
|
537
536
|
]
|
538
537
|
s.homepage = %q{http://cukes.info}
|
@@ -541,7 +540,7 @@ Gem::Specification.new do |s|
|
|
541
540
|
|
542
541
|
(::) U P G R A D I N G (::)
|
543
542
|
|
544
|
-
Thank you for installing cucumber-0.7.0.beta.
|
543
|
+
Thank you for installing cucumber-0.7.0.beta.5.
|
545
544
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
546
545
|
for important information about this release. Happy cuking!
|
547
546
|
|
@@ -681,7 +680,6 @@ for important information about this release. Happy cuking!
|
|
681
680
|
"examples/ruby2python/features/support/env.rb",
|
682
681
|
"examples/self_test/features/step_definitions/sample_steps.rb",
|
683
682
|
"examples/self_test/features/support/env.rb",
|
684
|
-
"examples/self_test/tmp/features/step_definitions/steps.rb",
|
685
683
|
"examples/sinatra/app.rb",
|
686
684
|
"examples/sinatra/features/step_definitions/add_steps.rb",
|
687
685
|
"examples/sinatra/features/support/env.rb",
|
@@ -714,7 +712,7 @@ for important information about this release. Happy cuking!
|
|
714
712
|
s.specification_version = 3
|
715
713
|
|
716
714
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
717
|
-
s.add_runtime_dependency(%q<gherkin>, ["= 1.0.
|
715
|
+
s.add_runtime_dependency(%q<gherkin>, ["= 1.0.21"])
|
718
716
|
s.add_runtime_dependency(%q<term-ansicolor>, [">= 1.0.4"])
|
719
717
|
s.add_runtime_dependency(%q<builder>, [">= 2.1.2"])
|
720
718
|
s.add_runtime_dependency(%q<diff-lcs>, [">= 1.1.2"])
|
@@ -727,7 +725,7 @@ for important information about this release. Happy cuking!
|
|
727
725
|
s.add_development_dependency(%q<syntax>, [">= 1.0.0"])
|
728
726
|
s.add_development_dependency(%q<spork>, [">= 0.7.5"])
|
729
727
|
else
|
730
|
-
s.add_dependency(%q<gherkin>, ["= 1.0.
|
728
|
+
s.add_dependency(%q<gherkin>, ["= 1.0.21"])
|
731
729
|
s.add_dependency(%q<term-ansicolor>, [">= 1.0.4"])
|
732
730
|
s.add_dependency(%q<builder>, [">= 2.1.2"])
|
733
731
|
s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
|
@@ -741,7 +739,7 @@ for important information about this release. Happy cuking!
|
|
741
739
|
s.add_dependency(%q<spork>, [">= 0.7.5"])
|
742
740
|
end
|
743
741
|
else
|
744
|
-
s.add_dependency(%q<gherkin>, ["= 1.0.
|
742
|
+
s.add_dependency(%q<gherkin>, ["= 1.0.21"])
|
745
743
|
s.add_dependency(%q<term-ansicolor>, [">= 1.0.4"])
|
746
744
|
s.add_dependency(%q<builder>, [">= 2.1.2"])
|
747
745
|
s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
|
data/cucumber.yml
CHANGED
@@ -2,11 +2,17 @@
|
|
2
2
|
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
3
3
|
rerun_opts = rerun.to_s.strip.empty? ? "--format progress features" : "--format pretty #{rerun}"
|
4
4
|
std_opts = "--format progress features --strict --tags ~@wip"
|
5
|
+
begin
|
6
|
+
require 'rspec/expectations'
|
7
|
+
std_opts << ' --tags ~@rspec1'
|
8
|
+
rescue LoadError
|
9
|
+
# rspec 1
|
10
|
+
std_opts << ' --tags ~@rspec2'
|
11
|
+
end
|
5
12
|
%>
|
6
13
|
default: <%= std_opts %>
|
7
14
|
jruby: <%= std_opts %> --tags ~@spork --tags ~@wire
|
8
15
|
jruby_win: <%= std_opts %> --tags ~@spork --tags ~@wire CUCUMBER_FORWARD_SLASH_PATHS=true
|
9
|
-
run_code_run: <%= std_opts %> --tags ~@spork
|
10
16
|
windows_mri: <%= std_opts %> --tags ~@spork --tags ~@wire --tags ~@needs-many-fonts CUCUMBER_FORWARD_SLASH_PATHS=true
|
11
17
|
ruby_1_9: <%= std_opts %> --tags ~@fails_on_1_9
|
12
18
|
wip: --tags @wip:3 --wip features
|
@@ -6,7 +6,7 @@ require app_file
|
|
6
6
|
# Force the application name because polyglot breaks the auto-detection logic.
|
7
7
|
Sinatra::Application.app_file = app_file
|
8
8
|
|
9
|
-
require 'spec/expectations'
|
9
|
+
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
|
10
10
|
require 'rack/test'
|
11
11
|
require 'capybara/cucumber'
|
12
12
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'spec/expectations'
|
1
|
+
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
|
2
2
|
|
3
3
|
require File.dirname(__FILE__) + '/../../../../features/step_definitions/cucumber_steps.rb'
|
4
4
|
require File.dirname(__FILE__) + '/../../../../features/support/env.rb'
|
data/features/announce.feature
CHANGED
@@ -139,6 +139,19 @@ Feature: Delayed announcement
|
|
139
139
|
...
|
140
140
|
"""
|
141
141
|
|
142
|
+
@rspec2
|
143
|
+
Scenario: announce world
|
144
|
+
When I run cucumber --format progress features/announce_world.feature
|
145
|
+
Then the output should contain
|
146
|
+
"""
|
147
|
+
WORLD:
|
148
|
+
Object
|
149
|
+
|
150
|
+
Rspec::Matchers
|
151
|
+
Cucumber::RbSupport::RbWorld
|
152
|
+
"""
|
153
|
+
|
154
|
+
@rspec1
|
142
155
|
Scenario: announce world
|
143
156
|
When I run cucumber --format progress features/announce_world.feature
|
144
157
|
Then the output should contain
|
data/features/background.feature
CHANGED
@@ -5,6 +5,7 @@ Feature: backgrounds
|
|
5
5
|
|
6
6
|
Scenario: run a specific scenario with a background
|
7
7
|
When I run cucumber -q features/background/passing_background.feature:9 --require features
|
8
|
+
Then STDERR should be empty
|
8
9
|
Then it should pass with
|
9
10
|
"""
|
10
11
|
Feature: Passing background sample
|
@@ -274,7 +275,7 @@ Feature: backgrounds
|
|
274
275
|
"""
|
275
276
|
And a file named "features/only_background_and_hooks_steps.rb" with:
|
276
277
|
"""
|
277
|
-
require 'spec/expectations'
|
278
|
+
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
|
278
279
|
|
279
280
|
Before do
|
280
281
|
$before = true
|
@@ -2,6 +2,7 @@ Feature: Cucumber command line
|
|
2
2
|
In order to write better software
|
3
3
|
Developers should be able to execute requirements as tests
|
4
4
|
|
5
|
+
@rspec2
|
5
6
|
Scenario: Run single failing scenario with default diff enabled
|
6
7
|
When I run cucumber -q features/failing_expectation.feature
|
7
8
|
Then it should fail with
|
@@ -12,12 +13,11 @@ Feature: Cucumber command line
|
|
12
13
|
Given failing expectation
|
13
14
|
expected: "that",
|
14
15
|
got: "this" (using ==)
|
15
|
-
|
16
|
-
Diff:
|
16
|
+
Diff:
|
17
17
|
@@ -1,2 +1,2 @@
|
18
18
|
-that
|
19
19
|
+this
|
20
|
-
(
|
20
|
+
(Rspec::Expectations::ExpectationNotMetError)
|
21
21
|
./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
|
22
22
|
features/failing_expectation.feature:4:in `Given failing expectation'
|
23
23
|
|
@@ -29,6 +29,7 @@ Feature: Cucumber command line
|
|
29
29
|
|
30
30
|
"""
|
31
31
|
|
32
|
+
@rspec2
|
32
33
|
Scenario: Run single failing scenario with diff output disabled
|
33
34
|
When I run cucumber -q --no-diff features/failing_expectation.feature
|
34
35
|
Then it should fail with
|
@@ -38,7 +39,7 @@ Feature: Cucumber command line
|
|
38
39
|
Scenario: Failing expectation
|
39
40
|
Given failing expectation
|
40
41
|
expected: "that",
|
41
|
-
got: "this" (using ==) (
|
42
|
+
got: "this" (using ==) (Rspec::Expectations::ExpectationNotMetError)
|
42
43
|
./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
|
43
44
|
features/failing_expectation.feature:4:in `Given failing expectation'
|
44
45
|
|
@@ -331,8 +331,7 @@ features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step
|
|
331
331
|
pending # express the regexp above with the code you wish you had
|
332
332
|
end</pre></li> <script type="text/javascript">moveProgressBar('38.4');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing expectation</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_19"><span class="keyword">Scenario</span> <span class="val">Failing expectation</span></h3><ol><script>makeRed('scenario_19');</script><li id='features_failing_expectation_feature_4' class='step failed'><div class="step_name"><span class="keyword">Given </span><span class="step val">failing expectation</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:62</span></div><div class="message"><pre>expected: "that",
|
333
333
|
got: "this" (using ==)
|
334
|
-
|
335
|
-
Diff:
|
334
|
+
Diff:
|
336
335
|
@@ -1,2 +1,2 @@
|
337
336
|
-that
|
338
337
|
+this
|
data/features/support/env.rb
CHANGED
data/gem_tasks/features.rake
CHANGED
@@ -3,9 +3,7 @@ require 'cucumber/rake/task'
|
|
3
3
|
require 'cucumber/platform'
|
4
4
|
|
5
5
|
Cucumber::Rake::Task.new do |t|
|
6
|
-
if(
|
7
|
-
t.profile = 'run_code_run'
|
8
|
-
elsif(Cucumber::JRUBY)
|
6
|
+
if(Cucumber::JRUBY)
|
9
7
|
t.profile = Cucumber::WINDOWS ? 'jruby_win' : 'jruby'
|
10
8
|
elsif(Cucumber::WINDOWS_MRI)
|
11
9
|
t.profile = 'windows_mri'
|
data/gem_tasks/rspec.rake
CHANGED
@@ -1,15 +1,20 @@
|
|
1
1
|
begin
|
2
|
-
require '
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
|
4
|
+
desc "Run RSpec"
|
5
|
+
Rspec::Core::RakeTask.new do |t|
|
6
|
+
t.rcov = ENV['RCOV']
|
7
|
+
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/}
|
8
|
+
t.verbose = true
|
9
|
+
end
|
10
|
+
rescue LoadError => e
|
3
11
|
require 'spec/rake/spectask'
|
4
12
|
|
5
13
|
desc "Run RSpec"
|
6
14
|
Spec::Rake::SpecTask.new do |t|
|
7
|
-
t.spec_opts =
|
8
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
15
|
+
t.spec_opts = %w{--color --diff}
|
9
16
|
t.rcov = ENV['RCOV']
|
10
17
|
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/}
|
11
18
|
t.verbose = true
|
12
19
|
end
|
13
|
-
rescue LoadError
|
14
|
-
task :spec
|
15
20
|
end
|
data/lib/cucumber/cli/main.rb
CHANGED
@@ -6,7 +6,6 @@ rescue LoadError
|
|
6
6
|
end
|
7
7
|
require 'optparse'
|
8
8
|
require 'cucumber'
|
9
|
-
require 'ostruct'
|
10
9
|
require 'logger'
|
11
10
|
require 'cucumber/parser'
|
12
11
|
require 'cucumber/feature_file'
|
@@ -102,17 +101,7 @@ module Cucumber
|
|
102
101
|
|
103
102
|
def enable_diffing
|
104
103
|
if configuration.diff_enabled?
|
105
|
-
|
106
|
-
require 'spec/expectations'
|
107
|
-
begin
|
108
|
-
require 'spec/runner/differs/default' # RSpec >=1.2.4
|
109
|
-
rescue ::LoadError
|
110
|
-
require 'spec/expectations/differs/default' # RSpec <=1.2.3
|
111
|
-
end
|
112
|
-
options = OpenStruct.new(:diff_format => :unified, :context_lines => 3)
|
113
|
-
::Spec::Expectations.differ = ::Spec::Expectations::Differs::Default.new(options)
|
114
|
-
rescue ::LoadError => ignore
|
115
|
-
end
|
104
|
+
require 'cucumber/rspec/diffing'
|
116
105
|
end
|
117
106
|
end
|
118
107
|
|
@@ -145,7 +145,8 @@ module Cucumber
|
|
145
145
|
|
146
146
|
def extend_world
|
147
147
|
@current_world.extend(RbWorld)
|
148
|
-
@current_world.extend(::Spec::Matchers) if defined?(::Spec::Matchers)
|
148
|
+
@current_world.extend(::Spec::Matchers) if defined?(::Spec::Matchers) # RSpec 1.x
|
149
|
+
@current_world.extend(::Rspec::Matchers) if defined?(::Rspec::Matchers) # RSpec 2.x
|
149
150
|
(@world_modules || []).each do |mod|
|
150
151
|
@current_world.extend(mod)
|
151
152
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'ostruct'
|
2
|
+
|
3
|
+
options = OpenStruct.new(:diff_format => :unified, :context_lines => 3)
|
4
|
+
|
5
|
+
begin
|
6
|
+
# RSpec >=2.0
|
7
|
+
require 'rspec/expectations'
|
8
|
+
require 'rspec/expectations/differs/default'
|
9
|
+
Rspec::Expectations.differ = ::Rspec::Expectations::Differs::Default.new(options)
|
10
|
+
rescue LoadError => try_rspec_1_2_4_or_higher
|
11
|
+
begin
|
12
|
+
require 'spec/expectations'
|
13
|
+
require 'spec/runner/differs/default'
|
14
|
+
Spec::Expectations.differ = Spec::Expectations::Differs::Default.new(options)
|
15
|
+
rescue LoadError => give_up
|
16
|
+
end
|
17
|
+
end
|
File without changes
|
data/lib/cucumber/step_match.rb
CHANGED
@@ -7,6 +7,7 @@ module Cucumber
|
|
7
7
|
#
|
8
8
|
def initialize(step_definition, name_to_match, name_to_report, step_arguments)
|
9
9
|
raise "name_to_match can't be nil" if name_to_match.nil?
|
10
|
+
raise "step_arguments can't be nil (but it can be an empty array)" if step_arguments.nil?
|
10
11
|
@step_definition, @name_to_match, @name_to_report, @step_arguments = step_definition, name_to_match, name_to_report, step_arguments
|
11
12
|
end
|
12
13
|
|
data/lib/cucumber/step_mother.rb
CHANGED
@@ -2,6 +2,7 @@ require 'cucumber/constantize'
|
|
2
2
|
require 'cucumber/core_ext/instance_exec'
|
3
3
|
require 'cucumber/language_support/language_methods'
|
4
4
|
require 'cucumber/formatter/duration'
|
5
|
+
require 'cucumber/cli/options'
|
5
6
|
require 'timeout'
|
6
7
|
|
7
8
|
module Cucumber
|
@@ -101,7 +102,7 @@ module Cucumber
|
|
101
102
|
|
102
103
|
# Returns the options passed on the command line.
|
103
104
|
def options
|
104
|
-
@options ||=
|
105
|
+
@options ||= Cli::Options.new
|
105
106
|
end
|
106
107
|
|
107
108
|
def step_visited(step) #:nodoc:
|
@@ -80,6 +80,7 @@ module Cucumber
|
|
80
80
|
@table.match('one,four,seven').should be_nil
|
81
81
|
end
|
82
82
|
end
|
83
|
+
|
83
84
|
describe "#transpose" do
|
84
85
|
before(:each) do
|
85
86
|
@table = Table.new([
|
@@ -272,6 +273,7 @@ module Cucumber
|
|
272
273
|
['aslak', true, 'hellesøy', false]
|
273
274
|
])
|
274
275
|
lambda{t1.diff!(t2)}.should raise_error
|
276
|
+
|
275
277
|
t1.to_s(:indent => 12, :color => false).should == %{
|
276
278
|
| name | male | lastname | swedish |
|
277
279
|
| (-) aslak | (-) (i) "true" | (-) hellesøy | (-) (i) "false" |
|
@@ -385,8 +387,12 @@ module Cucumber
|
|
385
387
|
})
|
386
388
|
lambda { t1.dup.diff!(t2) }.should raise_error
|
387
389
|
|
388
|
-
|
389
|
-
|
390
|
+
begin
|
391
|
+
pending "http://groups.google.com/group/cukes/browse_thread/thread/5d96431c8245f05f" do
|
392
|
+
lambda { t1.dup.diff!(t2, :surplus_row => false) }.should_not raise_error
|
393
|
+
end
|
394
|
+
rescue => e
|
395
|
+
warn(e.message + " - see http://www.ruby-forum.com/topic/208508")
|
390
396
|
end
|
391
397
|
end
|
392
398
|
|
@@ -1,10 +1,5 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
require 'yaml'
|
3
|
-
begin
|
4
|
-
require 'spec/runner/differs/default' # RSpec >=1.2.4
|
5
|
-
rescue ::LoadError
|
6
|
-
require 'spec/expectations/differs/default' # RSpec <=1.2.3
|
7
|
-
end
|
8
3
|
|
9
4
|
module Cucumber
|
10
5
|
module Cli
|
@@ -36,35 +31,6 @@ module Cucumber
|
|
36
31
|
|
37
32
|
end
|
38
33
|
|
39
|
-
describe "diffing" do
|
40
|
-
|
41
|
-
before :each do
|
42
|
-
@configuration = mock('Configuration', :null_object => true, :drb? => false)
|
43
|
-
Configuration.should_receive(:new).and_return(@configuration)
|
44
|
-
|
45
|
-
@step_mother = mock('StepMother', :null_object => true)
|
46
|
-
|
47
|
-
@cli = Main.new(nil, @out)
|
48
|
-
end
|
49
|
-
|
50
|
-
it "uses Spec Differ::Default when diff is enabled" do
|
51
|
-
@configuration.should_receive(:diff_enabled?).and_return(true)
|
52
|
-
|
53
|
-
::Spec::Expectations::Differs::Default.should_receive(:new)
|
54
|
-
|
55
|
-
@cli.execute!(@step_mother)
|
56
|
-
end
|
57
|
-
|
58
|
-
it "does not use Spec Differ::Default when diff is disabled" do
|
59
|
-
@configuration.should_receive(:diff_enabled?).and_return(false)
|
60
|
-
|
61
|
-
::Spec::Expectations::Differs::Default.should_not_receive(:new)
|
62
|
-
|
63
|
-
@cli.execute!(@step_mother)
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
34
|
describe "--format with class" do
|
69
35
|
|
70
36
|
describe "in module" do
|
@@ -10,8 +10,10 @@ module Cucumber
|
|
10
10
|
describe Html do
|
11
11
|
extend SpecHelperDsl
|
12
12
|
include SpecHelper
|
13
|
-
|
14
|
-
Spec::Matchers
|
13
|
+
|
14
|
+
matcher = defined?(Spec::Matchers) ? Spec::Matchers : Rspec::Matchers
|
15
|
+
|
16
|
+
matcher.define :have_css_node do |css, regexp|
|
15
17
|
match do |doc|
|
16
18
|
nodes = doc.css(css)
|
17
19
|
nodes.detect{ |node| node.text =~ regexp }
|
@@ -29,6 +29,7 @@ module Cucumber
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should deal with Unicode both inside and outside arguments" do
|
32
|
+
"Jæ vø ålsker døtte løndet".should =~ /Jæ (\w+) ålsker (\w+) løndet/
|
32
33
|
m = step_match(/Jæ (\w+) ålsker (\w+) løndet/, "Jæ vø ålsker døtte løndet")
|
33
34
|
m.format_args("<span>%s</span>").should == "Jæ <span>vø</span> ålsker <span>døtte</span> løndet"
|
34
35
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,17 +1,29 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
gem 'rspec'
|
3
|
-
require 'spec'
|
4
|
-
require 'spec/autorun'
|
5
|
-
|
6
1
|
ENV['CUCUMBER_COLORS']=nil
|
7
2
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
8
|
-
require 'cucumber'
|
9
3
|
$:.unshift(File.dirname(__FILE__))
|
10
4
|
|
11
|
-
|
12
|
-
|
13
|
-
|
5
|
+
require 'rubygems'
|
6
|
+
|
7
|
+
begin
|
8
|
+
require 'rspec'
|
9
|
+
require 'rspec/autorun'
|
10
|
+
Rspec.configure do |c|
|
11
|
+
c.color_enabled = true
|
12
|
+
c.before(:each) do
|
13
|
+
::Term::ANSIColor.coloring = true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rescue LoadError
|
17
|
+
require 'spec'
|
18
|
+
require 'spec/autorun'
|
19
|
+
Spec::Runner.configure do |c|
|
20
|
+
c.before(:each) do
|
21
|
+
::Term::ANSIColor.coloring = true
|
22
|
+
end
|
14
23
|
end
|
15
24
|
end
|
16
25
|
|
26
|
+
require 'cucumber'
|
27
|
+
$KCODE='u' unless Cucumber::RUBY_1_9
|
28
|
+
|
17
29
|
alias running lambda
|
metadata
CHANGED
@@ -7,8 +7,8 @@ version: !ruby/object:Gem::Version
|
|
7
7
|
- 7
|
8
8
|
- 0
|
9
9
|
- beta
|
10
|
-
-
|
11
|
-
version: 0.7.0.beta.
|
10
|
+
- 5
|
11
|
+
version: 0.7.0.beta.5
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- "Aslak Helles\xC3\xB8y"
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-04-
|
19
|
+
date: 2010-04-27 00:00:00 -05:00
|
20
20
|
default_executable: cucumber
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -29,8 +29,8 @@ dependencies:
|
|
29
29
|
segments:
|
30
30
|
- 1
|
31
31
|
- 0
|
32
|
-
-
|
33
|
-
version: 1.0.
|
32
|
+
- 21
|
33
|
+
version: 1.0.21
|
34
34
|
type: :runtime
|
35
35
|
version_requirements: *id001
|
36
36
|
- !ruby/object:Gem::Dependency
|
@@ -187,7 +187,7 @@ dependencies:
|
|
187
187
|
version: 0.7.5
|
188
188
|
type: :development
|
189
189
|
version_requirements: *id012
|
190
|
-
description:
|
190
|
+
description: Behaviour Driven Development with elegance and joy
|
191
191
|
email: cukes@googlegroups.com
|
192
192
|
executables:
|
193
193
|
- cucumber
|
@@ -580,7 +580,6 @@ files:
|
|
580
580
|
- gem_tasks/rspec.rake
|
581
581
|
- gem_tasks/sass.rake
|
582
582
|
- gem_tasks/sdoc.rake
|
583
|
-
- gem_tasks/treetop.rake
|
584
583
|
- lib/README.rdoc
|
585
584
|
- lib/autotest/cucumber.rb
|
586
585
|
- lib/autotest/cucumber_mixin.rb
|
@@ -660,7 +659,8 @@ files:
|
|
660
659
|
- lib/cucumber/rb_support/rb_transform.rb
|
661
660
|
- lib/cucumber/rb_support/rb_world.rb
|
662
661
|
- lib/cucumber/rb_support/regexp_argument_matcher.rb
|
663
|
-
- lib/cucumber/
|
662
|
+
- lib/cucumber/rspec/diffing.rb
|
663
|
+
- lib/cucumber/rspec/disable_option_parser.rb
|
664
664
|
- lib/cucumber/step_argument.rb
|
665
665
|
- lib/cucumber/step_definition_light.rb
|
666
666
|
- lib/cucumber/step_match.rb
|
@@ -710,7 +710,6 @@ files:
|
|
710
710
|
- spec/cucumber/wire_support/wire_packet_spec.rb
|
711
711
|
- spec/cucumber/wire_support/wire_step_definition_spec.rb
|
712
712
|
- spec/cucumber/world/pending_spec.rb
|
713
|
-
- spec/spec.opts
|
714
713
|
- spec/spec_helper.rb
|
715
714
|
has_rdoc: true
|
716
715
|
homepage: http://cukes.info
|
@@ -722,7 +721,7 @@ post_install_message: |+
|
|
722
721
|
|
723
722
|
(::) U P G R A D I N G (::)
|
724
723
|
|
725
|
-
Thank you for installing cucumber-0.7.0.beta.
|
724
|
+
Thank you for installing cucumber-0.7.0.beta.5.
|
726
725
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
727
726
|
for important information about this release. Happy cuking!
|
728
727
|
|
@@ -884,7 +883,6 @@ test_files:
|
|
884
883
|
- examples/ruby2python/features/support/env.rb
|
885
884
|
- examples/self_test/features/step_definitions/sample_steps.rb
|
886
885
|
- examples/self_test/features/support/env.rb
|
887
|
-
- examples/self_test/tmp/features/step_definitions/steps.rb
|
888
886
|
- examples/sinatra/app.rb
|
889
887
|
- examples/sinatra/features/step_definitions/add_steps.rb
|
890
888
|
- examples/sinatra/features/support/env.rb
|
data/gem_tasks/treetop.rake
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
namespace :tt do
|
2
|
-
files = %w{lib/cucumber/parser/common.tt lib/cucumber/parser/feature.tt lib/cucumber/parser/py_string.tt lib/cucumber/parser/table.tt}
|
3
|
-
|
4
|
-
desc 'Compile .tt files'
|
5
|
-
task :compile do
|
6
|
-
files.each {|tt| sh("tt #{tt}") }
|
7
|
-
end
|
8
|
-
|
9
|
-
desc 'Remove compiled .tt files'
|
10
|
-
task :rm do
|
11
|
-
rm_rf files.map{|tt| tt.gsub(/\.tt$/, '.rb')}
|
12
|
-
end
|
13
|
-
end
|
data/spec/spec.opts
DELETED