aslakhellesoy-cucumber 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. metadata +14 -2
  2. data/History.txt +0 -4
  3. data/License.txt +0 -20
  4. data/Manifest.txt +0 -98
  5. data/README.txt +0 -42
  6. data/Rakefile +0 -4
  7. data/TODO.txt +0 -30
  8. data/bin/cucumber +0 -3
  9. data/config/hoe.rb +0 -69
  10. data/config/requirements.rb +0 -15
  11. data/examples/calculator/Rakefile +0 -6
  12. data/examples/calculator/features/addition.feature +0 -16
  13. data/examples/calculator/features/division.feature +0 -11
  14. data/examples/calculator/features/steps/calculator_steps.rb +0 -30
  15. data/examples/calculator/lib/calculator.rb +0 -16
  16. data/examples/calculator_ruby_features/Rakefile +0 -6
  17. data/examples/calculator_ruby_features/features/addition.rb +0 -23
  18. data/examples/calculator_ruby_features/features/steps/calculator_steps.rb +0 -43
  19. data/examples/java/README.textile +0 -22
  20. data/examples/java/Rakefile +0 -12
  21. data/examples/java/features/hello.feature +0 -11
  22. data/examples/java/features/steps/hello_steps.rb +0 -25
  23. data/examples/java/features/steps/tree_steps.rb +0 -14
  24. data/examples/java/features/tree.feature +0 -9
  25. data/examples/java/src/cucumber/demo/Hello.java +0 -15
  26. data/examples/norwegian_calculator/Rakefile +0 -6
  27. data/examples/norwegian_calculator/features/kalkulator_steps.rb +0 -31
  28. data/examples/norwegian_calculator/features/summering.feature +0 -13
  29. data/examples/watir/Rakefile +0 -6
  30. data/examples/watir/features/search.feature +0 -9
  31. data/examples/watir/features/steps/stories_steps.rb +0 -51
  32. data/gem_tasks/deployment.rake +0 -34
  33. data/gem_tasks/environment.rake +0 -7
  34. data/gem_tasks/fix_cr_lf.rake +0 -10
  35. data/gem_tasks/gemspec.rake +0 -6
  36. data/gem_tasks/rspec.rake +0 -21
  37. data/gem_tasks/treetop.rake +0 -27
  38. data/gem_tasks/website.rake +0 -17
  39. data/generators/cucumber/cucumber_generator.rb +0 -20
  40. data/generators/cucumber/templates/common_webrat.rb +0 -30
  41. data/generators/cucumber/templates/cucumber.rake +0 -7
  42. data/generators/cucumber/templates/env.rb +0 -6
  43. data/generators/feature/feature_generator.rb +0 -17
  44. data/generators/feature/templates/feature.erb +0 -27
  45. data/generators/feature/templates/steps.erb +0 -22
  46. data/lib/cucumber/cli.rb +0 -133
  47. data/lib/cucumber/core_ext/proc.rb +0 -43
  48. data/lib/cucumber/core_ext/string.rb +0 -17
  49. data/lib/cucumber/executor.rb +0 -79
  50. data/lib/cucumber/formatters/ansicolor.rb +0 -89
  51. data/lib/cucumber/formatters/html_formatter.rb +0 -272
  52. data/lib/cucumber/formatters/pretty_formatter.rb +0 -129
  53. data/lib/cucumber/formatters/progress_formatter.rb +0 -41
  54. data/lib/cucumber/formatters.rb +0 -1
  55. data/lib/cucumber/languages.yml +0 -31
  56. data/lib/cucumber/rails/rspec.rb +0 -12
  57. data/lib/cucumber/rails/world.rb +0 -71
  58. data/lib/cucumber/rake/task.rb +0 -75
  59. data/lib/cucumber/step_methods.rb +0 -41
  60. data/lib/cucumber/step_mother.rb +0 -38
  61. data/lib/cucumber/tree/feature.rb +0 -45
  62. data/lib/cucumber/tree/features.rb +0 -21
  63. data/lib/cucumber/tree/scenario.rb +0 -85
  64. data/lib/cucumber/tree/step.rb +0 -141
  65. data/lib/cucumber/tree/table.rb +0 -26
  66. data/lib/cucumber/tree/top_down_visitor.rb +0 -23
  67. data/lib/cucumber/tree.rb +0 -18
  68. data/lib/cucumber/treetop_parser/feature.treetop.erb +0 -102
  69. data/lib/cucumber/treetop_parser/feature_en.rb +0 -974
  70. data/lib/cucumber/treetop_parser/feature_fr.rb +0 -974
  71. data/lib/cucumber/treetop_parser/feature_no.rb +0 -974
  72. data/lib/cucumber/treetop_parser/feature_parser.rb +0 -32
  73. data/lib/cucumber/treetop_parser/feature_pt.rb +0 -974
  74. data/lib/cucumber/version.rb +0 -9
  75. data/lib/cucumber.rb +0 -32
  76. data/script/console +0 -10
  77. data/script/console.cmd +0 -1
  78. data/script/destroy +0 -14
  79. data/script/destroy.cmd +0 -1
  80. data/script/generate +0 -14
  81. data/script/generate.cmd +0 -1
  82. data/script/txt2html +0 -74
  83. data/script/txt2html.cmd +0 -1
  84. data/setup.rb +0 -1585
  85. data/spec/cucumber/core_ext/string_spec.rb +0 -20
  86. data/spec/cucumber/executor_spec.rb +0 -55
  87. data/spec/cucumber/formatters/ansicolor_spec.rb +0 -18
  88. data/spec/cucumber/formatters/features.html +0 -274
  89. data/spec/cucumber/formatters/html_formatter_spec.rb +0 -59
  90. data/spec/cucumber/sell_cucumbers.feature +0 -9
  91. data/spec/cucumber/treetop_parser/feature_parser_spec.rb +0 -40
  92. data/spec/cucumber/treetop_parser/spaces.feature +0 -10
  93. data/spec/spec.opts +0 -2
  94. data/spec/spec_helper.rb +0 -14
  95. data/website/index.html +0 -11
  96. data/website/index.txt +0 -39
  97. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  98. data/website/stylesheets/screen.css +0 -138
  99. data/website/template.html.erb +0 -48
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aslakhellesoy-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
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-08-21 00:00:00 -07:00
12
+ date: 2008-08-28 00:00:00 -07:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -89,6 +89,9 @@ files:
89
89
  - examples/calculator_ruby_features/Rakefile
90
90
  - examples/calculator_ruby_features/features/addition.rb
91
91
  - examples/calculator_ruby_features/features/steps/calculator_steps.rb
92
+ - examples/calculatrice_francaise_avec_soit_scenario/Rakefile
93
+ - examples/calculatrice_francaise_avec_soit_scenario/features/addition.feature
94
+ - examples/calculatrice_francaise_avec_soit_scenario/features/calculatrice_steps.rb
92
95
  - examples/java/README.textile
93
96
  - examples/java/Rakefile
94
97
  - examples/java/features/hello.feature
@@ -105,12 +108,14 @@ files:
105
108
  - gem_tasks/deployment.rake
106
109
  - gem_tasks/environment.rake
107
110
  - gem_tasks/fix_cr_lf.rake
111
+ - gem_tasks/flog.rake
108
112
  - gem_tasks/gemspec.rake
109
113
  - gem_tasks/rspec.rake
110
114
  - gem_tasks/treetop.rake
111
115
  - gem_tasks/website.rake
112
116
  - generators/cucumber/cucumber_generator.rb
113
117
  - generators/cucumber/templates/common_webrat.rb
118
+ - generators/cucumber/templates/cucumber
114
119
  - generators/cucumber/templates/cucumber.rake
115
120
  - generators/cucumber/templates/env.rb
116
121
  - generators/feature/feature_generator.rb
@@ -123,7 +128,10 @@ files:
123
128
  - lib/cucumber/executor.rb
124
129
  - lib/cucumber/formatters.rb
125
130
  - lib/cucumber/formatters/ansicolor.rb
131
+ - lib/cucumber/formatters/cucumber.css
132
+ - lib/cucumber/formatters/cucumber.js
126
133
  - lib/cucumber/formatters/html_formatter.rb
134
+ - lib/cucumber/formatters/jquery.js
127
135
  - lib/cucumber/formatters/pretty_formatter.rb
128
136
  - lib/cucumber/formatters/progress_formatter.rb
129
137
  - lib/cucumber/languages.yml
@@ -135,6 +143,7 @@ files:
135
143
  - lib/cucumber/tree.rb
136
144
  - lib/cucumber/tree/feature.rb
137
145
  - lib/cucumber/tree/features.rb
146
+ - lib/cucumber/tree/given_scenario.rb
138
147
  - lib/cucumber/tree/scenario.rb
139
148
  - lib/cucumber/tree/step.rb
140
149
  - lib/cucumber/tree/table.rb
@@ -161,7 +170,10 @@ files:
161
170
  - spec/cucumber/formatters/features.html
162
171
  - spec/cucumber/formatters/html_formatter_spec.rb
163
172
  - spec/cucumber/sell_cucumbers.feature
173
+ - spec/cucumber/step_mother_spec.rb
174
+ - spec/cucumber/tree/scenario_spec.rb
164
175
  - spec/cucumber/treetop_parser/feature_parser_spec.rb
176
+ - spec/cucumber/treetop_parser/given_scenario.feature
165
177
  - spec/cucumber/treetop_parser/spaces.feature
166
178
  - spec/spec.opts
167
179
  - spec/spec_helper.rb
data/History.txt DELETED
@@ -1,4 +0,0 @@
1
- == 0.0.1 2008-04-08
2
-
3
- * 1 major enhancement:
4
- * Initial release
data/License.txt DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2008 Aslak Hellesøy
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest.txt DELETED
@@ -1,98 +0,0 @@
1
- History.txt
2
- License.txt
3
- Manifest.txt
4
- README.txt
5
- Rakefile
6
- TODO.txt
7
- bin/cucumber
8
- config/hoe.rb
9
- config/requirements.rb
10
- examples/calculator/Rakefile
11
- examples/calculator/features/addition.feature
12
- examples/calculator/features/division.feature
13
- examples/calculator/features/steps/calculator_steps.rb
14
- examples/calculator/lib/calculator.rb
15
- examples/calculator_ruby_features/Rakefile
16
- examples/calculator_ruby_features/features/addition.rb
17
- examples/calculator_ruby_features/features/steps/calculator_steps.rb
18
- examples/java/README.textile
19
- examples/java/Rakefile
20
- examples/java/features/hello.feature
21
- examples/java/features/steps/hello_steps.rb
22
- examples/java/features/steps/tree_steps.rb
23
- examples/java/features/tree.feature
24
- examples/java/src/cucumber/demo/Hello.java
25
- examples/norwegian_calculator/Rakefile
26
- examples/norwegian_calculator/features/kalkulator_steps.rb
27
- examples/norwegian_calculator/features/summering.feature
28
- examples/watir/Rakefile
29
- examples/watir/features/search.feature
30
- examples/watir/features/steps/stories_steps.rb
31
- gem_tasks/deployment.rake
32
- gem_tasks/environment.rake
33
- gem_tasks/fix_cr_lf.rake
34
- gem_tasks/gemspec.rake
35
- gem_tasks/rspec.rake
36
- gem_tasks/treetop.rake
37
- gem_tasks/website.rake
38
- generators/cucumber/cucumber_generator.rb
39
- generators/cucumber/templates/common_webrat.rb
40
- generators/cucumber/templates/cucumber.rake
41
- generators/cucumber/templates/env.rb
42
- generators/feature/feature_generator.rb
43
- generators/feature/templates/feature.erb
44
- generators/feature/templates/steps.erb
45
- lib/cucumber.rb
46
- lib/cucumber/cli.rb
47
- lib/cucumber/core_ext/proc.rb
48
- lib/cucumber/core_ext/string.rb
49
- lib/cucumber/executor.rb
50
- lib/cucumber/formatters.rb
51
- lib/cucumber/formatters/ansicolor.rb
52
- lib/cucumber/formatters/html_formatter.rb
53
- lib/cucumber/formatters/pretty_formatter.rb
54
- lib/cucumber/formatters/progress_formatter.rb
55
- lib/cucumber/languages.yml
56
- lib/cucumber/rails/rspec.rb
57
- lib/cucumber/rails/world.rb
58
- lib/cucumber/rake/task.rb
59
- lib/cucumber/step_methods.rb
60
- lib/cucumber/step_mother.rb
61
- lib/cucumber/tree.rb
62
- lib/cucumber/tree/feature.rb
63
- lib/cucumber/tree/features.rb
64
- lib/cucumber/tree/scenario.rb
65
- lib/cucumber/tree/step.rb
66
- lib/cucumber/tree/table.rb
67
- lib/cucumber/tree/top_down_visitor.rb
68
- lib/cucumber/treetop_parser/feature.treetop.erb
69
- lib/cucumber/treetop_parser/feature_en.rb
70
- lib/cucumber/treetop_parser/feature_fr.rb
71
- lib/cucumber/treetop_parser/feature_no.rb
72
- lib/cucumber/treetop_parser/feature_parser.rb
73
- lib/cucumber/treetop_parser/feature_pt.rb
74
- lib/cucumber/version.rb
75
- script/console
76
- script/console.cmd
77
- script/destroy
78
- script/destroy.cmd
79
- script/generate
80
- script/generate.cmd
81
- script/txt2html
82
- script/txt2html.cmd
83
- setup.rb
84
- spec/cucumber/core_ext/string_spec.rb
85
- spec/cucumber/executor_spec.rb
86
- spec/cucumber/formatters/ansicolor_spec.rb
87
- spec/cucumber/formatters/features.html
88
- spec/cucumber/formatters/html_formatter_spec.rb
89
- spec/cucumber/sell_cucumbers.feature
90
- spec/cucumber/treetop_parser/feature_parser_spec.rb
91
- spec/cucumber/treetop_parser/spaces.feature
92
- spec/spec.opts
93
- spec/spec_helper.rb
94
- website/index.html
95
- website/index.txt
96
- website/javascripts/rounded_corners_lite.inc.js
97
- website/stylesheets/screen.css
98
- website/template.html.erb
data/README.txt DELETED
@@ -1,42 +0,0 @@
1
- = Cucumber
2
-
3
- * http://github.com/aslakhellesoy/cucumber
4
-
5
- == DESCRIPTION:
6
-
7
- Cucumber executes plain text documentation of code against that code.
8
- Documentation: http://github.com/aslakhellesoy/cucumber/wikis/home
9
-
10
- == REQUIREMENTS:
11
-
12
- * FIX (list of requirements)
13
-
14
- == INSTALL:
15
-
16
- * gem sources --add http://gems.github.com/
17
- * gem install aslakhellesoy-cucumber
18
-
19
- == LICENSE:
20
-
21
- (The MIT License)
22
-
23
- Copyright (c) 2008 Aslak Hellesøy
24
-
25
- Permission is hereby granted, free of charge, to any person obtaining
26
- a copy of this software and associated documentation files (the
27
- 'Software'), to deal in the Software without restriction, including
28
- without limitation the rights to use, copy, modify, merge, publish,
29
- distribute, sublicense, and/or sell copies of the Software, and to
30
- permit persons to whom the Software is furnished to do so, subject to
31
- the following conditions:
32
-
33
- The above copyright notice and this permission notice shall be
34
- included in all copies or substantial portions of the Software.
35
-
36
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
37
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
38
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
39
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
40
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
41
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
42
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile DELETED
@@ -1,4 +0,0 @@
1
- require 'config/requirements'
2
- require 'config/hoe' # setup Hoe + all gem configuration
3
-
4
- Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
data/TODO.txt DELETED
@@ -1,30 +0,0 @@
1
- == FEATURES/PROBLEMS:
2
-
3
- * Run examples with:
4
- ** ruby -Ilib bin/cucumber examples/simple --require examples/simple/steps
5
- ** ruby -Ilib bin/cucumber examples/web --require examples/web/steps
6
-
7
- * TODO: OK Refactor: Extract explicit node classes with RDoc (for better API doc)
8
- * TODO: OK Get rid of the compile method. Compile the parser in Rake.
9
- * TODO: OK Make grammar support \r\n, \r and \n (Add some fixture features for that)
10
- * TODO: OK Make grammar support indentation
11
- * TODO: OK Make grammar be totally relaxed about narrative
12
- * TODO: OK Add a yaml file for different languages
13
- * TODO: OK Custom nodes for the syntax tree
14
- * TODO: OK Actually execute the features
15
- * TODO: Make rake run specs by default
16
- * TODO: OK Make it work with pure ruby regexen
17
- * TODO: Make it work with string steps
18
- * TODO: bin/cucumber --require [dir|file|glob]* --language no --format [file]*
19
- * TODO: OK Pending steps shold print a block of code that can be pasted into code
20
- * TODO: cucumber --where "Some text from a step" that prints "__FILE__:__LINE__ (STEP PATTERN)"
21
- * TODO: Customisable trace output (like javascriptlint)
22
- * TODO: Experiment: Make $variables become @variables
23
- * TODO: GivenScenario
24
- * TODO: OK PureRuby
25
- * Make two trees include accept mixin
26
- * TODO: Call steps from steps
27
- * TODO: i18n in ruby too
28
- * TODO: Don't load any treetop files if no .feature files are found
29
- * TODO: Summary prints execution time
30
- * TODO: --nocolor option
data/bin/cucumber DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'cucumber/cli'
3
- Cucumber::CLI.execute
data/config/hoe.rb DELETED
@@ -1,69 +0,0 @@
1
- require 'cucumber/version'
2
-
3
- AUTHOR = 'Aslak Hellesøy' # can also be an array of Authors
4
- EMAIL = "aslak.hellesoy@gmail.com"
5
- DESCRIPTION = "Executable Feature scenarios"
6
- GEM_NAME = 'cucumber' # what ppl will type to install your gem
7
- HOMEPATH = "http://github.com/aslakhellesoy/cucumber"
8
- RUBYFORGE_PROJECT = nil
9
-
10
- @config_file = "~/.rubyforge/user-config.yml"
11
- @config = nil
12
- RUBYFORGE_USERNAME = "aslak_hellesoy"
13
- def rubyforge_username
14
- unless @config
15
- begin
16
- @config = YAML.load(File.read(File.expand_path(@config_file)))
17
- rescue
18
- puts <<-EOS
19
- ERROR: No rubyforge config file found: #{@config_file}
20
- Run 'rubyforge setup' to prepare your env for access to Rubyforge
21
- - See http://newgem.rubyforge.org/rubyforge.html for more details
22
- EOS
23
- exit
24
- end
25
- end
26
- RUBYFORGE_USERNAME.replace @config["username"]
27
- end
28
-
29
-
30
- REV = nil
31
- # UNCOMMENT IF REQUIRED:
32
- # REV = YAML.load(`svn info`)['Revision']
33
- VERS = Cucumber::VERSION::STRING + (REV ? ".#{REV}" : "")
34
- RDOC_OPTS = ['--quiet', '--title', 'Cucumber documentation',
35
- "--opname", "index.html",
36
- "--line-numbers",
37
- "--main", "README.textile",
38
- "--inline-source"]
39
-
40
- class Hoe
41
- def extra_deps
42
- @extra_deps.reject! { |x| Array(x).first == 'hoe' }
43
- @extra_deps
44
- end
45
- end
46
-
47
- # Generate all the Rake tasks
48
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
49
- $hoe = Hoe.new(GEM_NAME, VERS) do |p|
50
- p.developer(AUTHOR, EMAIL)
51
- p.description = DESCRIPTION
52
- p.summary = DESCRIPTION
53
- p.url = HOMEPATH
54
- p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
55
- p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', '**/*.class', '**/*.jar'] #An array of file patterns to delete on clean.
56
-
57
- # == Optional
58
- p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
59
- #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
60
- p.extra_deps = [ ['term-ansicolor', '>= 1.0.3'], ['treetop', '>= 1.2.4'], ['rspec', '>= 1.1.4'], ['diff-lcs', '>= 1.1.2'] ]
61
-
62
- #p.spec_extras = {} # A hash of extra values to set in the gemspec.
63
-
64
- end
65
-
66
- CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
67
- PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
68
- $hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
69
- $hoe.rsync_args = '-av --delete --ignore-errors'
@@ -1,15 +0,0 @@
1
- require 'fileutils'
2
- include FileUtils
3
-
4
- require 'rubygems'
5
- %w[rake hoe].each do |req_gem|
6
- begin
7
- require req_gem
8
- rescue LoadError
9
- puts "This Rakefile requires the '#{req_gem}' RubyGem."
10
- puts "Installation: gem install #{req_gem} -y"
11
- exit
12
- end
13
- end
14
-
15
- $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--format pretty"
6
- end
@@ -1,16 +0,0 @@
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 130 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 |
@@ -1,11 +0,0 @@
1
- Feature: Division
2
- In order to avoid silly mistakes
3
- As a math idiot
4
- I want to be told the division of two numbers
5
-
6
- Scenario: Regular numbers
7
- Given I have entered 3 into the calculator
8
- And I have entered 2 into the calculator
9
- When I press divide
10
- Then the result should be 1.5 on the screen
11
- And the result class should be Float
@@ -1,30 +0,0 @@
1
- require 'spec'
2
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
- require 'calculator'
4
-
5
- Before do
6
- @calc = Calculator.new
7
- end
8
-
9
- After do
10
- end
11
-
12
- Given /I have entered (\d+) into the calculator/ do |n|
13
- @calc.push n.to_i
14
- end
15
-
16
- When /I press (\w+)/ do |op|
17
- @result = @calc.send op
18
- end
19
-
20
- Then /the result should be (.*) on the screen/ do |result|
21
- @result.should == result.to_f
22
- end
23
-
24
- Then /the result class should be (\w*)/ do |class_name|
25
- @result.class.name.should == class_name
26
- end
27
-
28
- Given /it should rain on (\w+)/ do |day|
29
- @calc.rain?(day).should == true
30
- end
@@ -1,16 +0,0 @@
1
- class Calculator
2
- def push(n)
3
- n += 2 if n == 0 # a really stupiud bug
4
-
5
- @args ||= []
6
- @args << n
7
- end
8
-
9
- def add
10
- @args.inject(0){|n,sum| sum+=n}
11
- end
12
-
13
- def divide
14
- @args[0].to_f / @args[1].to_f
15
- end
16
- end
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--format pretty"
6
- end
@@ -1,23 +0,0 @@
1
- require 'cucumber/cli' # Needed in order to run the feature with ruby
2
-
3
- Feature %|Addition
4
- In order to avoid silly mistakes
5
- As a math idiot
6
- I want to be told the sum of two numbers| do
7
-
8
- Scenario "Add two numbers" do
9
- Given "I have entered 50 into the calculator"
10
- And "I have entered 70 into the calculator"
11
- When "I add"
12
- Then "the result should be 120 on the screen"
13
- And "the result class should be Float"
14
- end
15
-
16
- Table do |t|
17
- t | "input_1" | "input_2" | "output" | "class" | t
18
- # This is kind of dumb - but it illustrates how scenarios can be "generated" in code.
19
- 10.times do |n|
20
- t | n | n*2 | n*3 | Fixnum | t
21
- end
22
- end
23
- end
@@ -1,43 +0,0 @@
1
- require 'spec'
2
-
3
- class Calculator
4
- def push(n)
5
- @args ||= []
6
- @args << n
7
- end
8
-
9
- def add
10
- @args.inject(0){|n,sum| sum+=n}
11
- end
12
-
13
- def divide
14
- @args[0].to_f / @args[1].to_f
15
- end
16
- end
17
-
18
- Before do
19
- @calc = Calculator.new
20
- end
21
-
22
- After do
23
- end
24
-
25
- Given /I have entered (\d+) into the calculator/ do |n|
26
- @calc.push n.to_i
27
- end
28
-
29
- When 'I add' do
30
- @result = @calc.add
31
- end
32
-
33
- When 'I divide' do
34
- @result = @calc.divide
35
- end
36
-
37
- Then /the result should be (\d*) on the screen/ do |result|
38
- @result.should == result.to_i
39
- end
40
-
41
- Then /the result class should be (\w*)/ do |class_name|
42
- @result.class.name.should == class_name
43
- end
@@ -1,22 +0,0 @@
1
- h1. Using Cucumber with Java
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,12 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new(:features) do |t|
5
- t.cucumber_opts = "--format pretty"
6
- end
7
-
8
- task :features => :compile
9
-
10
- task :compile do
11
- sh "javac src/cucumber/demo/Hello.java && jar cf src/cucumber_demo.jar -C src cucumber/demo/Hello.class"
12
- end
@@ -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 'cucumber_demo' # puts the jar on the classpath
4
- include_class 'cucumber.demo.Hello'
5
-
6
- Given /my name is (\w+)/ do |name|
7
- @hello = Hello.new # A java 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.friend?(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
- include_class 'java.util.TreeSet'
3
-
4
- Given /I have an empty set/ do
5
- @set = TreeSet.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
@@ -1,9 +0,0 @@
1
- Feature: Tree
2
- In order to have more robust Java software
3
- I want to use Cucumber against Java classes
4
-
5
- Scenario: Use java.util.TreeSet
6
- Given I have an empty set
7
- When I add hello
8
- And I add world
9
- Then the contents should be hello world
@@ -1,15 +0,0 @@
1
- package cucumber.demo;
2
-
3
- public class Hello {
4
- public String greet(String who, String from) {
5
- return "Hi, " + who + ". I'm " + from;
6
- }
7
-
8
- public boolean isFriend(String who) {
9
- return true;
10
- }
11
-
12
- public String getPhoneNumber(String who) {
13
- throw new RuntimeException("My phone is secret!");
14
- }
15
- }
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = "--format pretty --language no"
6
- end