cucumber 0.1.6

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.
Files changed (153) hide show
  1. data/History.txt +3 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +152 -0
  4. data/README.txt +42 -0
  5. data/Rakefile +4 -0
  6. data/TODO.txt +26 -0
  7. data/bin/cucumber +4 -0
  8. data/config/hoe.rb +69 -0
  9. data/config/requirements.rb +15 -0
  10. data/cucumber.yml +1 -0
  11. data/examples/calculator/Rakefile +6 -0
  12. data/examples/calculator/cucumber.yml +1 -0
  13. data/examples/calculator/features/addition.feature +16 -0
  14. data/examples/calculator/features/division.feature +10 -0
  15. data/examples/calculator/features/steps/calculator_steps.rb +31 -0
  16. data/examples/calculator/lib/calculator.rb +16 -0
  17. data/examples/calculator_ruby_features/Rakefile +6 -0
  18. data/examples/calculator_ruby_features/features/addition.rb +23 -0
  19. data/examples/calculator_ruby_features/features/steps/calculator_steps.rb +43 -0
  20. data/examples/calculatrice_francaise_avec_soit_scenario/Rakefile +6 -0
  21. data/examples/calculatrice_francaise_avec_soit_scenario/features/addition.feature +13 -0
  22. data/examples/calculatrice_francaise_avec_soit_scenario/features/calculatrice_steps.rb +31 -0
  23. data/examples/cs/README.textile +22 -0
  24. data/examples/cs/Rakefile +12 -0
  25. data/examples/cs/features/hello.feature +11 -0
  26. data/examples/cs/features/steps/hello_steps.rb +25 -0
  27. data/examples/cs/features/steps/tree_steps.rb +14 -0
  28. data/examples/cs/features/tree.feature +9 -0
  29. data/examples/cs/src/Hello.cs +18 -0
  30. data/examples/danish_calculator/Rakefile +6 -0
  31. data/examples/danish_calculator/features/steps/kalkulator_steps.rb +22 -0
  32. data/examples/danish_calculator/features/summering.feature +17 -0
  33. data/examples/danish_calculator/lib/kalkulator.rb +11 -0
  34. data/examples/estonian_calculator/Rakefile +6 -0
  35. data/examples/estonian_calculator/features/kalkulaator_steps.rb +35 -0
  36. data/examples/estonian_calculator/features/liitmine.feature +16 -0
  37. data/examples/java/README.textile +22 -0
  38. data/examples/java/Rakefile +12 -0
  39. data/examples/java/features/hello.feature +11 -0
  40. data/examples/java/features/steps/hello_steps.rb +25 -0
  41. data/examples/java/features/steps/tree_steps.rb +14 -0
  42. data/examples/java/features/tree.feature +9 -0
  43. data/examples/java/src/cucumber/demo/Hello.java +16 -0
  44. data/examples/norwegian_calculator/Rakefile +6 -0
  45. data/examples/norwegian_calculator/features/steps/kalkulator_steps.rb +22 -0
  46. data/examples/norwegian_calculator/features/summering.feature +17 -0
  47. data/examples/norwegian_calculator/lib/kalkulator.rb +11 -0
  48. data/examples/portuguese_calculator/Rakefile +6 -0
  49. data/examples/portuguese_calculator/features/adicao.feature +10 -0
  50. data/examples/portuguese_calculator/features/calculadora_steps.rb +31 -0
  51. data/examples/selenium/Rakefile +6 -0
  52. data/examples/selenium/features/search.feature +9 -0
  53. data/examples/selenium/features/steps/stories_steps.rb +41 -0
  54. data/examples/spanish_calculator/Rakefile +6 -0
  55. data/examples/spanish_calculator/features/adicion.feature +17 -0
  56. data/examples/spanish_calculator/features/steps/calculador_steps.rb +22 -0
  57. data/examples/spanish_calculator/lib/Calculador.rb +11 -0
  58. data/examples/tickets/Rakefile +4 -0
  59. data/examples/tickets/features/steps/tickets_steps.rb +5 -0
  60. data/examples/tickets/features/tickets.feature +7 -0
  61. data/examples/watir/Rakefile +6 -0
  62. data/examples/watir/features/search.feature +9 -0
  63. data/examples/watir/features/steps/stories_steps.rb +51 -0
  64. data/features/see_features.feature +8 -0
  65. data/features/steps/features_steps.rb +9 -0
  66. data/gem_tasks/deployment.rake +34 -0
  67. data/gem_tasks/environment.rake +7 -0
  68. data/gem_tasks/features.rake +6 -0
  69. data/gem_tasks/fix_cr_lf.rake +10 -0
  70. data/gem_tasks/flog.rake +4 -0
  71. data/gem_tasks/gemspec.rake +6 -0
  72. data/gem_tasks/rspec.rake +21 -0
  73. data/gem_tasks/treetop.rake +27 -0
  74. data/generators/cucumber/cucumber_generator.rb +27 -0
  75. data/generators/cucumber/templates/common_webrat.rb +51 -0
  76. data/generators/cucumber/templates/cucumber +2 -0
  77. data/generators/cucumber/templates/cucumber.rake +7 -0
  78. data/generators/cucumber/templates/env.rb +8 -0
  79. data/generators/feature/feature_generator.rb +17 -0
  80. data/generators/feature/templates/feature.erb +27 -0
  81. data/generators/feature/templates/steps.erb +22 -0
  82. data/lib/cucumber.rb +32 -0
  83. data/lib/cucumber/cli.rb +163 -0
  84. data/lib/cucumber/core_ext/proc.rb +43 -0
  85. data/lib/cucumber/core_ext/string.rb +22 -0
  86. data/lib/cucumber/executor.rb +120 -0
  87. data/lib/cucumber/formatters.rb +1 -0
  88. data/lib/cucumber/formatters/ansicolor.rb +90 -0
  89. data/lib/cucumber/formatters/cucumber.css +132 -0
  90. data/lib/cucumber/formatters/cucumber.js +11 -0
  91. data/lib/cucumber/formatters/html_formatter.rb +125 -0
  92. data/lib/cucumber/formatters/jquery.js +32 -0
  93. data/lib/cucumber/formatters/pretty_formatter.rb +126 -0
  94. data/lib/cucumber/formatters/progress_formatter.rb +42 -0
  95. data/lib/cucumber/languages.yml +83 -0
  96. data/lib/cucumber/rails/rspec.rb +12 -0
  97. data/lib/cucumber/rails/world.rb +75 -0
  98. data/lib/cucumber/rake/task.rb +75 -0
  99. data/lib/cucumber/step_methods.rb +45 -0
  100. data/lib/cucumber/step_mother.rb +82 -0
  101. data/lib/cucumber/tree.rb +18 -0
  102. data/lib/cucumber/tree/feature.rb +53 -0
  103. data/lib/cucumber/tree/features.rb +21 -0
  104. data/lib/cucumber/tree/given_scenario.rb +13 -0
  105. data/lib/cucumber/tree/scenario.rb +110 -0
  106. data/lib/cucumber/tree/step.rb +123 -0
  107. data/lib/cucumber/tree/table.rb +26 -0
  108. data/lib/cucumber/tree/top_down_visitor.rb +23 -0
  109. data/lib/cucumber/treetop_parser/feature.treetop.erb +159 -0
  110. data/lib/cucumber/treetop_parser/feature_da.rb +1214 -0
  111. data/lib/cucumber/treetop_parser/feature_de.rb +1214 -0
  112. data/lib/cucumber/treetop_parser/feature_en.rb +1214 -0
  113. data/lib/cucumber/treetop_parser/feature_es.rb +1214 -0
  114. data/lib/cucumber/treetop_parser/feature_et.rb +1214 -0
  115. data/lib/cucumber/treetop_parser/feature_fr.rb +1214 -0
  116. data/lib/cucumber/treetop_parser/feature_no.rb +1214 -0
  117. data/lib/cucumber/treetop_parser/feature_parser.rb +32 -0
  118. data/lib/cucumber/treetop_parser/feature_pt.rb +1214 -0
  119. data/lib/cucumber/treetop_parser/feature_ru.rb +1214 -0
  120. data/lib/cucumber/treetop_parser/feature_se.rb +1214 -0
  121. data/lib/cucumber/version.rb +9 -0
  122. data/script/console +10 -0
  123. data/script/console.cmd +1 -0
  124. data/script/destroy +14 -0
  125. data/script/destroy.cmd +1 -0
  126. data/script/generate +14 -0
  127. data/script/generate.cmd +1 -0
  128. data/script/txt2html +74 -0
  129. data/script/txt2html.cmd +1 -0
  130. data/setup.rb +1585 -0
  131. data/spec/cucumber/cli_spec.rb +36 -0
  132. data/spec/cucumber/core_ext/proc_spec.rb +39 -0
  133. data/spec/cucumber/core_ext/string_spec.rb +34 -0
  134. data/spec/cucumber/executor_spec.rb +131 -0
  135. data/spec/cucumber/formatters/ansicolor_spec.rb +23 -0
  136. data/spec/cucumber/formatters/features.html +269 -0
  137. data/spec/cucumber/formatters/html_formatter_spec.rb +59 -0
  138. data/spec/cucumber/formatters/pretty_formatter_spec.rb +17 -0
  139. data/spec/cucumber/formatters/progress_formatter_spec.rb +44 -0
  140. data/spec/cucumber/sell_cucumbers.feature +9 -0
  141. data/spec/cucumber/step_mother_spec.rb +53 -0
  142. data/spec/cucumber/tree/scenario_spec.rb +15 -0
  143. data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  144. data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  145. data/spec/cucumber/treetop_parser/feature_parser_spec.rb +73 -0
  146. data/spec/cucumber/treetop_parser/fit_scenario.feature +7 -0
  147. data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  148. data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
  149. data/spec/cucumber/treetop_parser/spaces.feature +10 -0
  150. data/spec/cucumber/treetop_parser/with_comments.feature +6 -0
  151. data/spec/spec.opts +2 -0
  152. data/spec/spec_helper.rb +23 -0
  153. metadata +259 -0
@@ -0,0 +1,59 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+ require 'stringio'
3
+ require 'cucumber/tree/top_down_visitor'
4
+
5
+ module Cucumber
6
+ module Formatters
7
+ class MiniExecutor < Cucumber::Tree::TopDownVisitor
8
+ def initialize(f)
9
+ @f = f
10
+ end
11
+
12
+ def visit_step(step)
13
+ if step.regexp == //
14
+ # Just make sure there are some params so we can get <span>s
15
+ proc = lambda do |_|
16
+ case(step.id % 3)
17
+ when 0
18
+ raise Pending
19
+ when 1
20
+ raise "This one failed"
21
+ end
22
+ end
23
+ proc.extend(CoreExt::CallIn)
24
+ proc.name = "WHATEVER"
25
+ step.attach(/(\w+).*/, proc, ['xxx'])
26
+ o = Object.new
27
+ step.execute_in(o) rescue nil
28
+ else
29
+ @f.step_executed(step)
30
+ end
31
+ end
32
+ end
33
+
34
+ describe HtmlFormatter do
35
+ SIMPLE_DIR = File.dirname(__FILE__) + '/../../../examples/simple'
36
+
37
+ before do
38
+ p = Cucumber::TreetopParser::FeatureParser.new
39
+ @features = Tree::Features.new
40
+ Dir["#{SIMPLE_DIR}/*.feature"].each do |f|
41
+ @features << p.parse_feature(f)
42
+ end
43
+ @io = StringIO.new
44
+ @formatter = HtmlFormatter.new(@io)
45
+ @me = MiniExecutor.new(@formatter)
46
+ end
47
+
48
+ xit "should render HTML" do
49
+ @me.visit_features(@features) # set regexp+proc+args and execute
50
+ @formatter.visit_features(@features)
51
+ @me.visit_features(@features) # output result of execution
52
+ @formatter.dump
53
+ expected_html = File.dirname(__FILE__) + '/features.html'
54
+ #File.open(expected_html, 'w') {|io| io.write(@io.string)}
55
+ @io.string.should eql(IO.read(expected_html))
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,17 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ module Cucumber
4
+ module Formatters
5
+ describe PrettyFormatter do
6
+ it "should print step file and line when passed" do
7
+ io = StringIO.new
8
+ formatter = PrettyFormatter.new io
9
+ step = stub('step',
10
+ :error => nil, :row? => false, :keyword => 'Given', :format => 'formatted yes'
11
+ )
12
+ formatter.step_passed(step,nil,nil)
13
+ io.string.should == " Given formatted yes\n"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,44 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ module Cucumber
4
+ module Formatters
5
+ describe ProgressFormatter do
6
+ it "should print . when passed" do
7
+ io = StringIO.new
8
+ formatter = ProgressFormatter.new io
9
+ step = stub('step',
10
+ :error => nil
11
+ )
12
+ formatter.step_passed(step,nil,nil)
13
+ io.string.should =~ /^\.$/
14
+ end
15
+
16
+ it "should print F when failed" do
17
+ io = StringIO.new
18
+ formatter = ProgressFormatter.new io
19
+ step = stub('step',
20
+ :error => StandardError.new
21
+ )
22
+ formatter.step_failed(step,nil,nil)
23
+ io.string.should =~ /^\F$/
24
+ end
25
+
26
+ it "should print P when pending" do
27
+ io = StringIO.new
28
+ formatter = ProgressFormatter.new io
29
+ step = stub('step',
30
+ :error => Pending.new
31
+ )
32
+ formatter.step_pending(step,nil,nil)
33
+ io.string.should =~ /^\P$/
34
+ end
35
+
36
+ it "should print _ when skipped" do
37
+ io = StringIO.new
38
+ formatter = ProgressFormatter.new io
39
+ formatter.step_skipped(nil,nil,nil)
40
+ io.string.should =~ /^_$/
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,9 @@
1
+ Feature: Sell cucumbers
2
+ As a cucumber farmer
3
+ I want to sell cucumbers
4
+ So that I buy meat
5
+
6
+ Scenario: Sell a dozen
7
+ Given there are 5 cucumbers
8
+ When I sell 12 cucumbers
9
+ Then I should owe 7 cucumbers
@@ -0,0 +1,53 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ module Cucumber
4
+ describe StepMother do
5
+ it "should report file and line numbers for both duplicate step definitions" do
6
+ m = StepMother.new
7
+
8
+ m.register_step_proc /Three (.*) mice/ do |disability|
9
+ end
10
+
11
+ begin
12
+ m.register_step_proc /Three (.*) mice/ do |disability|
13
+ end
14
+ violated("Should raise error")
15
+ rescue => e
16
+ e.message.should =~ %r{Duplicate step definitions:.+step_mother_spec\.rb:8:in `/Three \(\.\*\) mice/'.+step_mother_spec\.rb\:12:in `/Three \(\.\*\) mice/'}m
17
+
18
+ end
19
+ end
20
+
21
+ it "should report file and line numbers for multiple step definitions" do
22
+ m = StepMother.new
23
+
24
+ m.register_step_proc /Three (.*) mice/ do |disability|
25
+ end
26
+
27
+ m.register_step_proc /Three blind (.*)/ do |animal|
28
+ end
29
+
30
+ begin
31
+ m.regexp_args_proc('Three blind mice')
32
+ violated("Should raise error")
33
+ rescue => e
34
+ e.message.should =~ %r{Multiple step definitions match "Three blind mice":
35
+
36
+ .+step_mother_spec\.rb:24:in `/Three \(\.\*\) mice/'
37
+ .+step_mother_spec\.rb:27:in `/Three blind \(\.\*\)/'
38
+
39
+ }m
40
+ end
41
+ end
42
+
43
+ it "should mark step as pending when it doesn't match any procs" do
44
+ pending "think some more about what to expect here" do
45
+ m = StepMother.new
46
+ step = mock('step')
47
+ step.should_receive(:pending!)
48
+ raise "FIXME"
49
+ m.execute(step)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ module Cucumber
4
+ module Tree
5
+ describe Scenario do
6
+ xit "should reuse steps in GivenScenario" do
7
+ given_scenario = GivenScenario.new(scenario_2, "First", 99)
8
+
9
+ scenario_2.add_step(given_scenario)
10
+ scenario_2.add_step(step_a)
11
+ scenario_2.steps.should == [step_1, step_2, step_a]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,4 @@
1
+ Feature: No scenarios yet
2
+ I order to ...
3
+ As a ...
4
+ I want to ...
@@ -0,0 +1,9 @@
1
+ Feature: Empty Scenarios should work
2
+
3
+ Scenario: Complete scenario
4
+ Given a valid API key
5
+
6
+ Scenario: Will write at somepoint
7
+
8
+ Scenario: Another Complete scenario
9
+ Given an invalid API key
@@ -0,0 +1,73 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ module Cucumber
4
+ module TreetopParser
5
+ describe FeatureParser do
6
+ it "should parse features with weird spaces" do
7
+ p = FeatureParser.new
8
+ f = p.parse_feature(File.dirname(__FILE__) + '/spaces.feature')
9
+ f.header.should == "Some title"
10
+ f.should have(2).scenarios
11
+
12
+ first = f.scenarios[0]
13
+ first.name.should == "first"
14
+ first.should have(1).steps
15
+ first.steps[0].name.should == "a"
16
+
17
+ second = f.scenarios[1]
18
+ second.name.should == "second"
19
+ second.should have(1).steps
20
+ second.steps[0].name.should == "b"
21
+ end
22
+
23
+ it "should parse GivenScenario" do
24
+ p = FeatureParser.new
25
+ f = p.parse_feature(File.dirname(__FILE__) + '/given_scenario.feature')
26
+
27
+ f.header.should == "Some title"
28
+ f.should have(2).scenarios
29
+
30
+ first = f.scenarios[0]
31
+ first.should have(2).steps
32
+
33
+ second = f.scenarios[1]
34
+ second.should have(3).steps
35
+ end
36
+
37
+ it "should allow spaces between FIT values" do
38
+ p = FeatureParser.new
39
+ Cucumber::Tree::RowScenario.should_receive(:new).with(anything, anything, ['I can have spaces'], anything)
40
+
41
+ f = p.parse_feature(File.dirname(__FILE__) + '/fit_scenario.feature')
42
+ end
43
+
44
+ it "should allow comments in feature files" do
45
+ p = FeatureParser.new
46
+ f = p.parse_feature(File.dirname(__FILE__) + '/with_comments.feature')
47
+ f.scenarios[0].should have(2).steps
48
+ end
49
+
50
+ it "should allow empty scenarios" do
51
+ p = FeatureParser.new
52
+ f = p.parse_feature(File.dirname(__FILE__) + '/empty_scenario.feature')
53
+ f.scenarios[0].should have(1).steps
54
+ f.scenarios[1].should have(0).steps
55
+ f.scenarios[2].should have(1).steps
56
+ end
57
+
58
+ it "should allow multiple tables" do
59
+ p = FeatureParser.new
60
+ f = p.parse_feature(File.dirname(__FILE__) + '/multiple_tables.feature')
61
+ f.should have(6).scenarios
62
+ f.scenarios[0].should have(5).steps
63
+ end
64
+
65
+ it "should allow empty features" do
66
+ p = FeatureParser.new
67
+ f = p.parse_feature(File.dirname(__FILE__) + '/empty_feature.feature')
68
+ f.should have(0).scenarios
69
+ end
70
+
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,7 @@
1
+ Some title
2
+
3
+ Scenario: second
4
+ Given 'bind me please'
5
+
6
+ |c|
7
+ |I can have spaces|
@@ -0,0 +1,9 @@
1
+ Some title
2
+
3
+ Scenario: first
4
+ Given a
5
+ Given b
6
+
7
+ Scenario: second
8
+ GivenScenario: first
9
+ Given c
@@ -0,0 +1,27 @@
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
+ | input_1 | input_2 | button | output | class |
14
+ | 20 | 30 | add | 50 | Fixnum |
15
+ | 2 | 5 | add | 7 | Fixnum |
16
+ | 0 | 40 | add | 40 | Fixnum |
17
+
18
+ Scenario: Add three numbers
19
+ Given I have entered 25 into the calculator
20
+ And I have entered 12 into the calculator
21
+ And I have entered 13 into the calculator
22
+ When I press add
23
+ Then the result should be 50 on the screen
24
+ And the result class should be Fixnum
25
+
26
+ | input_1 | input_2 | input_3 | button | output | class |
27
+ | 1 | 2 | 3 | add | 6 | Fixnum |
@@ -0,0 +1,10 @@
1
+ Some title
2
+
3
+ Scenario: first
4
+
5
+ Given a
6
+
7
+ Scenario: second
8
+
9
+ Given b
10
+
@@ -0,0 +1,6 @@
1
+ Some title
2
+
3
+ Scenario: hello
4
+ Given one
5
+ # When two
6
+ Then three
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --diff
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+ gem 'rspec'
3
+ require 'spec'
4
+
5
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
6
+ require 'cucumber'
7
+ require 'cucumber/treetop_parser/feature_en'
8
+
9
+ # Prevent CLI's exit hook from running
10
+ class Cucumber::CLI
11
+ def self.execute_called?
12
+ true
13
+ end
14
+ end
15
+
16
+ # Open up the tree classes a little for easier inspection.
17
+ module Cucumber
18
+ module Tree
19
+ class Feature
20
+ attr_reader :header, :scenarios
21
+ end
22
+ end
23
+ end
metadata ADDED
@@ -0,0 +1,259 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cucumber
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
5
+ platform: ruby
6
+ authors:
7
+ - "Aslak Helles\xC3\xB8y"
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-10-01 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: term-ansicolor
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.0.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: treetop
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.2.4
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rspec
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.1.5
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: diff-lcs
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.1.2
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: hoe
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.7.0
64
+ version:
65
+ description: Executable Feature scenarios
66
+ email:
67
+ - aslak.hellesoy@gmail.com
68
+ executables:
69
+ - cucumber
70
+ extensions: []
71
+
72
+ extra_rdoc_files:
73
+ - History.txt
74
+ - License.txt
75
+ - Manifest.txt
76
+ - README.txt
77
+ - TODO.txt
78
+ files:
79
+ - History.txt
80
+ - License.txt
81
+ - Manifest.txt
82
+ - README.txt
83
+ - Rakefile
84
+ - TODO.txt
85
+ - bin/cucumber
86
+ - config/hoe.rb
87
+ - config/requirements.rb
88
+ - cucumber.yml
89
+ - examples/calculator/Rakefile
90
+ - examples/calculator/cucumber.yml
91
+ - examples/calculator/features/addition.feature
92
+ - examples/calculator/features/division.feature
93
+ - examples/calculator/features/steps/calculator_steps.rb
94
+ - examples/calculator/lib/calculator.rb
95
+ - examples/calculator_ruby_features/Rakefile
96
+ - examples/calculator_ruby_features/features/addition.rb
97
+ - examples/calculator_ruby_features/features/steps/calculator_steps.rb
98
+ - examples/calculatrice_francaise_avec_soit_scenario/Rakefile
99
+ - examples/calculatrice_francaise_avec_soit_scenario/features/addition.feature
100
+ - examples/calculatrice_francaise_avec_soit_scenario/features/calculatrice_steps.rb
101
+ - examples/cs/README.textile
102
+ - examples/cs/Rakefile
103
+ - examples/cs/features/hello.feature
104
+ - examples/cs/features/steps/hello_steps.rb
105
+ - examples/cs/features/steps/tree_steps.rb
106
+ - examples/cs/features/tree.feature
107
+ - examples/cs/src/Hello.cs
108
+ - examples/danish_calculator/Rakefile
109
+ - examples/danish_calculator/features/steps/kalkulator_steps.rb
110
+ - examples/danish_calculator/features/summering.feature
111
+ - examples/danish_calculator/lib/kalkulator.rb
112
+ - examples/estonian_calculator/Rakefile
113
+ - examples/estonian_calculator/features/kalkulaator_steps.rb
114
+ - examples/estonian_calculator/features/liitmine.feature
115
+ - examples/java/README.textile
116
+ - examples/java/Rakefile
117
+ - examples/java/features/hello.feature
118
+ - examples/java/features/steps/hello_steps.rb
119
+ - examples/java/features/steps/tree_steps.rb
120
+ - examples/java/features/tree.feature
121
+ - examples/java/src/cucumber/demo/Hello.java
122
+ - examples/norwegian_calculator/Rakefile
123
+ - examples/norwegian_calculator/features/steps/kalkulator_steps.rb
124
+ - examples/norwegian_calculator/features/summering.feature
125
+ - examples/norwegian_calculator/lib/kalkulator.rb
126
+ - examples/portuguese_calculator/Rakefile
127
+ - examples/portuguese_calculator/features/adicao.feature
128
+ - examples/portuguese_calculator/features/calculadora_steps.rb
129
+ - examples/selenium/Rakefile
130
+ - examples/selenium/features/search.feature
131
+ - examples/selenium/features/steps/stories_steps.rb
132
+ - examples/spanish_calculator/Rakefile
133
+ - examples/spanish_calculator/features/adicion.feature
134
+ - examples/spanish_calculator/features/steps/calculador_steps.rb
135
+ - examples/spanish_calculator/lib/Calculador.rb
136
+ - examples/tickets/Rakefile
137
+ - examples/tickets/features/steps/tickets_steps.rb
138
+ - examples/tickets/features/tickets.feature
139
+ - examples/watir/Rakefile
140
+ - examples/watir/features/search.feature
141
+ - examples/watir/features/steps/stories_steps.rb
142
+ - features/see_features.feature
143
+ - features/steps/features_steps.rb
144
+ - gem_tasks/deployment.rake
145
+ - gem_tasks/environment.rake
146
+ - gem_tasks/features.rake
147
+ - gem_tasks/fix_cr_lf.rake
148
+ - gem_tasks/flog.rake
149
+ - gem_tasks/gemspec.rake
150
+ - gem_tasks/rspec.rake
151
+ - gem_tasks/treetop.rake
152
+ - generators/cucumber/cucumber_generator.rb
153
+ - generators/cucumber/templates/common_webrat.rb
154
+ - generators/cucumber/templates/cucumber
155
+ - generators/cucumber/templates/cucumber.rake
156
+ - generators/cucumber/templates/env.rb
157
+ - generators/feature/feature_generator.rb
158
+ - generators/feature/templates/feature.erb
159
+ - generators/feature/templates/steps.erb
160
+ - lib/cucumber.rb
161
+ - lib/cucumber/cli.rb
162
+ - lib/cucumber/core_ext/proc.rb
163
+ - lib/cucumber/core_ext/string.rb
164
+ - lib/cucumber/executor.rb
165
+ - lib/cucumber/formatters.rb
166
+ - lib/cucumber/formatters/ansicolor.rb
167
+ - lib/cucumber/formatters/cucumber.css
168
+ - lib/cucumber/formatters/cucumber.js
169
+ - lib/cucumber/formatters/html_formatter.rb
170
+ - lib/cucumber/formatters/jquery.js
171
+ - lib/cucumber/formatters/pretty_formatter.rb
172
+ - lib/cucumber/formatters/progress_formatter.rb
173
+ - lib/cucumber/languages.yml
174
+ - lib/cucumber/rails/rspec.rb
175
+ - lib/cucumber/rails/world.rb
176
+ - lib/cucumber/rake/task.rb
177
+ - lib/cucumber/step_methods.rb
178
+ - lib/cucumber/step_mother.rb
179
+ - lib/cucumber/tree.rb
180
+ - lib/cucumber/tree/feature.rb
181
+ - lib/cucumber/tree/features.rb
182
+ - lib/cucumber/tree/given_scenario.rb
183
+ - lib/cucumber/tree/scenario.rb
184
+ - lib/cucumber/tree/step.rb
185
+ - lib/cucumber/tree/table.rb
186
+ - lib/cucumber/tree/top_down_visitor.rb
187
+ - lib/cucumber/treetop_parser/feature.treetop.erb
188
+ - lib/cucumber/treetop_parser/feature_da.rb
189
+ - lib/cucumber/treetop_parser/feature_de.rb
190
+ - lib/cucumber/treetop_parser/feature_en.rb
191
+ - lib/cucumber/treetop_parser/feature_es.rb
192
+ - lib/cucumber/treetop_parser/feature_et.rb
193
+ - lib/cucumber/treetop_parser/feature_fr.rb
194
+ - lib/cucumber/treetop_parser/feature_no.rb
195
+ - lib/cucumber/treetop_parser/feature_parser.rb
196
+ - lib/cucumber/treetop_parser/feature_pt.rb
197
+ - lib/cucumber/treetop_parser/feature_ru.rb
198
+ - lib/cucumber/treetop_parser/feature_se.rb
199
+ - lib/cucumber/version.rb
200
+ - script/console
201
+ - script/console.cmd
202
+ - script/destroy
203
+ - script/destroy.cmd
204
+ - script/generate
205
+ - script/generate.cmd
206
+ - script/txt2html
207
+ - script/txt2html.cmd
208
+ - setup.rb
209
+ - spec/cucumber/cli_spec.rb
210
+ - spec/cucumber/core_ext/proc_spec.rb
211
+ - spec/cucumber/core_ext/string_spec.rb
212
+ - spec/cucumber/executor_spec.rb
213
+ - spec/cucumber/formatters/ansicolor_spec.rb
214
+ - spec/cucumber/formatters/features.html
215
+ - spec/cucumber/formatters/html_formatter_spec.rb
216
+ - spec/cucumber/formatters/pretty_formatter_spec.rb
217
+ - spec/cucumber/formatters/progress_formatter_spec.rb
218
+ - spec/cucumber/sell_cucumbers.feature
219
+ - spec/cucumber/step_mother_spec.rb
220
+ - spec/cucumber/tree/scenario_spec.rb
221
+ - spec/cucumber/treetop_parser/empty_feature.feature
222
+ - spec/cucumber/treetop_parser/empty_scenario.feature
223
+ - spec/cucumber/treetop_parser/feature_parser_spec.rb
224
+ - spec/cucumber/treetop_parser/fit_scenario.feature
225
+ - spec/cucumber/treetop_parser/given_scenario.feature
226
+ - spec/cucumber/treetop_parser/multiple_tables.feature
227
+ - spec/cucumber/treetop_parser/spaces.feature
228
+ - spec/cucumber/treetop_parser/with_comments.feature
229
+ - spec/spec.opts
230
+ - spec/spec_helper.rb
231
+ has_rdoc: true
232
+ homepage: http://github.com/aslakhellesoy/cucumber
233
+ post_install_message:
234
+ rdoc_options:
235
+ - --main
236
+ - README.txt
237
+ require_paths:
238
+ - lib
239
+ required_ruby_version: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: "0"
244
+ version:
245
+ required_rubygems_version: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: "0"
250
+ version:
251
+ requirements: []
252
+
253
+ rubyforge_project: rspec
254
+ rubygems_version: 1.2.0
255
+ signing_key:
256
+ specification_version: 2
257
+ summary: Executable Feature scenarios
258
+ test_files: []
259
+