aslakhellesoy-cucumber 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/License.txt +1 -1
  2. data/Manifest.txt +38 -24
  3. data/README.textile +31 -0
  4. data/TODO.txt +30 -0
  5. data/config/hoe.rb +6 -7
  6. data/examples/java/README.textile +52 -0
  7. data/examples/java/Rakefile +12 -0
  8. data/examples/java/features/hello.feature +11 -0
  9. data/examples/java/features/steps/hello_steps.rb +25 -0
  10. data/examples/java/features/steps/tree_steps.rb +14 -0
  11. data/examples/java/features/tree.feature +9 -0
  12. data/examples/java/src/cucumber/demo/Hello.java +15 -0
  13. data/examples/pure_ruby/Rakefile +6 -0
  14. data/examples/pure_ruby/features/addition.rb +23 -0
  15. data/examples/pure_ruby/{steps → features/steps}/addition_steps.rb +0 -0
  16. data/examples/simple_norwegian/Rakefile +6 -0
  17. data/examples/simple_norwegian/{steg → features/steps}/matte_steg.rb.rb +0 -0
  18. data/examples/simple_norwegian/{summering.story → features/summering.feature} +4 -1
  19. data/examples/web/Rakefile +6 -0
  20. data/examples/web/features/search.feature +9 -0
  21. data/examples/web/features/steps/stories_steps.rb +51 -0
  22. data/gem_tasks/treetop.rake +8 -14
  23. data/lib/cucumber.rb +10 -3
  24. data/lib/cucumber/cli.rb +29 -19
  25. data/lib/cucumber/core_ext/proc.rb +13 -5
  26. data/lib/cucumber/executor.rb +8 -10
  27. data/lib/cucumber/formatters/ansicolor.rb +2 -2
  28. data/lib/cucumber/formatters/html_formatter.rb +6 -6
  29. data/lib/cucumber/formatters/pretty_formatter.rb +68 -15
  30. data/lib/cucumber/{parser/languages.yml → languages.yml} +0 -4
  31. data/lib/cucumber/rake/task.rb +24 -26
  32. data/lib/cucumber/step_mother.rb +3 -3
  33. data/lib/cucumber/tree.rb +8 -117
  34. data/lib/cucumber/tree/feature.rb +45 -0
  35. data/lib/cucumber/tree/features.rb +21 -0
  36. data/lib/cucumber/tree/scenario.rb +79 -0
  37. data/lib/cucumber/tree/step.rb +133 -0
  38. data/lib/cucumber/tree/table.rb +26 -0
  39. data/lib/cucumber/{parser → tree}/top_down_visitor.rb +5 -8
  40. data/lib/cucumber/treetop_parser/feature.treetop.erb +98 -0
  41. data/lib/cucumber/treetop_parser/feature_en.rb +923 -0
  42. data/lib/cucumber/treetop_parser/feature_fr.rb +923 -0
  43. data/lib/cucumber/treetop_parser/feature_no.rb +923 -0
  44. data/lib/cucumber/treetop_parser/feature_parser.rb +32 -0
  45. data/lib/cucumber/treetop_parser/feature_pt.rb +923 -0
  46. data/lib/cucumber/version.rb +2 -2
  47. data/script/console +1 -1
  48. data/spec/cucumber/executor_spec.rb +9 -9
  49. data/spec/cucumber/formatters/{stories.html → features.html} +9 -9
  50. data/spec/cucumber/formatters/html_formatter_spec.rb +11 -11
  51. data/spec/cucumber/{sell_cucumbers.story → sell_cucumbers.feature} +1 -1
  52. data/spec/spec_helper.rb +8 -1
  53. metadata +61 -30
  54. data/README.txt +0 -78
  55. data/examples/Rakefile +0 -7
  56. data/examples/pure_ruby/addition.rb +0 -16
  57. data/examples/simple/addition.story +0 -12
  58. data/examples/simple/division.story +0 -17
  59. data/examples/simple/steps/addition_steps.rb +0 -43
  60. data/examples/web/run_stories.story +0 -10
  61. data/examples/web/steps/stories_steps.rb +0 -39
  62. data/lib/cucumber/parser/nodes.rb +0 -88
  63. data/lib/cucumber/parser/story_parser.rb +0 -13
  64. data/lib/cucumber/parser/story_parser.treetop.erb +0 -41
  65. data/lib/cucumber/parser/story_parser_en.rb +0 -554
  66. data/lib/cucumber/parser/story_parser_fr.rb +0 -554
  67. data/lib/cucumber/parser/story_parser_no.rb +0 -554
  68. data/lib/cucumber/parser/story_parser_pt.rb +0 -554
  69. data/lib/cucumber/ruby_tree.rb +0 -14
  70. data/lib/cucumber/ruby_tree/nodes.rb +0 -68
@@ -1,14 +0,0 @@
1
- require 'cucumber/ruby_tree/nodes'
2
-
3
- module Cucumber
4
- # Classes in this module implement the pure ruby stories in Cucumber.
5
- module RubyTree
6
- def Story(header, narrative, &proc)
7
- stories << RubyStory.new(header, narrative, &proc)
8
- end
9
-
10
- def stories #:nodoc:
11
- @stories ||= Tree::Stories.new
12
- end
13
- end
14
- end
@@ -1,68 +0,0 @@
1
- require 'cucumber/tree'
2
-
3
- module Cucumber
4
- module RubyTree
5
- class RubyStory
6
- include Tree::Story
7
-
8
- def initialize(header, narrative, &proc)
9
- @header, @narrative = header, narrative
10
- @scenarios = []
11
- instance_eval(&proc)
12
- end
13
-
14
- def Scenario(name, &proc)
15
- @scenarios << RubyScenario.new(name, &proc)
16
- end
17
-
18
- protected
19
-
20
- attr_reader :header, :narrative, :scenarios
21
-
22
- end
23
-
24
- class RubyScenario
25
- include Tree::Scenario
26
-
27
- def initialize(name, &proc)
28
- @name = name
29
- @steps = []
30
- @line = *caller[2].split(':')[1].to_i
31
- instance_eval(&proc)
32
- end
33
-
34
- def Given(name)
35
- @steps << RubyStep.new('Given', name)
36
- end
37
-
38
- def When(name)
39
- @steps << RubyStep.new('When', name)
40
- end
41
-
42
- def Then(name)
43
- @steps << RubyStep.new('Then', name)
44
- end
45
-
46
- def And(name)
47
- @steps << RubyStep.new('And', name)
48
- end
49
-
50
- attr_reader :name, :steps, :line
51
-
52
- end
53
-
54
- class RubyStep
55
- include Tree::Step
56
- attr_accessor :error
57
-
58
- def initialize(keyword, name)
59
- @keyword, @name = keyword, name
60
- @file, @line, _ = *caller[2].split(':')
61
- end
62
-
63
- attr_reader :keyword, :name, :file, :line
64
-
65
- end
66
- end
67
- end
68
-