cucumber 0.7.0.beta.4 → 0.7.0.beta.5
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/.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