aslakhellesoy-cucumber 0.1.99.3 → 0.1.99.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. data/Manifest.txt +6 -0
  2. metadata +1 -1
  3. data/cucumber.yml +0 -1
  4. data/examples/cs/README.textile +0 -1
  5. data/examples/cs/Rakefile +0 -12
  6. data/examples/cs/compile.bat +0 -1
  7. data/examples/cs/features/addition.feature +0 -16
  8. data/examples/cs/features/step_definitons/calculator_steps.rb +0 -19
  9. data/examples/cs/src/demo/Calculator.cs +0 -20
  10. data/examples/dos_line_endings/Rakefile +0 -6
  11. data/examples/dos_line_endings/features/dos_line_endings.feature +0 -9
  12. data/examples/i18n/README.textile +0 -18
  13. data/examples/i18n/Rakefile +0 -32
  14. data/examples/i18n/ar/Rakefile +0 -6
  15. data/examples/i18n/ar/features/addition.feature +0 -17
  16. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +0 -28
  17. data/examples/i18n/ar/lib/calculator.rb +0 -10
  18. data/examples/i18n/da/Rakefile +0 -6
  19. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +0 -24
  20. data/examples/i18n/da/features/summering.feature +0 -17
  21. data/examples/i18n/da/lib/kalkulator.rb +0 -11
  22. data/examples/i18n/de/Rakefile +0 -6
  23. data/examples/i18n/de/features/addition.feature +0 -16
  24. data/examples/i18n/de/features/division.feature +0 -9
  25. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +0 -24
  26. data/examples/i18n/de/lib/calculator.rb +0 -14
  27. data/examples/i18n/en/Rakefile +0 -6
  28. data/examples/i18n/en/features/addition.feature +0 -16
  29. data/examples/i18n/en/features/division.feature +0 -9
  30. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +0 -24
  31. data/examples/i18n/en/lib/calculator.rb +0 -14
  32. data/examples/i18n/es/Rakefile +0 -6
  33. data/examples/i18n/es/features/adicion.feature +0 -17
  34. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +0 -24
  35. data/examples/i18n/es/lib/calculador.rb +0 -11
  36. data/examples/i18n/et/Rakefile +0 -6
  37. data/examples/i18n/et/features/liitmine.feature +0 -17
  38. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -24
  39. data/examples/i18n/et/lib/kalkulaator.rb +0 -10
  40. data/examples/i18n/fi/Rakefile +0 -6
  41. data/examples/i18n/fi/features/jakolasku.feature +0 -9
  42. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +0 -24
  43. data/examples/i18n/fi/features/yhteenlasku.feature +0 -16
  44. data/examples/i18n/fi/lib/laskin.rb +0 -14
  45. data/examples/i18n/fr/Rakefile +0 -6
  46. data/examples/i18n/fr/features/addition.feature +0 -15
  47. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -27
  48. data/examples/i18n/fr/lib/calculatrice.rb +0 -10
  49. data/examples/i18n/id/Rakefile +0 -6
  50. data/examples/i18n/id/features/addition.feature +0 -16
  51. data/examples/i18n/id/features/division.feature +0 -9
  52. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +0 -24
  53. data/examples/i18n/id/lib/calculator.rb +0 -14
  54. data/examples/i18n/it/Rakefile +0 -6
  55. data/examples/i18n/it/features/somma.feature +0 -10
  56. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +0 -24
  57. data/examples/i18n/it/lib/calcolatrice.rb +0 -11
  58. data/examples/i18n/ja/README.txt +0 -5
  59. data/examples/i18n/ja/Rakefile +0 -6
  60. data/examples/i18n/ja/features/addition.feature +0 -16
  61. data/examples/i18n/ja/features/division.feature +0 -9
  62. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +0 -24
  63. data/examples/i18n/ja/lib/calculator.rb +0 -14
  64. data/examples/i18n/ko/Rakefile +0 -6
  65. data/examples/i18n/ko/features/addition.feature +0 -16
  66. data/examples/i18n/ko/features/division.feature +0 -10
  67. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +0 -24
  68. data/examples/i18n/ko/lib/calculator.rb +0 -14
  69. data/examples/i18n/lt/Rakefile +0 -6
  70. data/examples/i18n/lt/features/addition.feature +0 -17
  71. data/examples/i18n/lt/features/division.feature +0 -9
  72. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +0 -24
  73. data/examples/i18n/lt/lib/calculator.rb +0 -14
  74. data/examples/i18n/no/Rakefile +0 -6
  75. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +0 -24
  76. data/examples/i18n/no/features/summering.feature +0 -18
  77. data/examples/i18n/no/lib/kalkulator.rb +0 -11
  78. data/examples/i18n/pt/Rakefile +0 -6
  79. data/examples/i18n/pt/features/adicao.feature +0 -10
  80. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -24
  81. data/examples/i18n/pt/lib/calculadora.rb +0 -10
  82. data/examples/i18n/ro/Rakefile +0 -6
  83. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +0 -24
  84. data/examples/i18n/ro/features/suma.feature +0 -10
  85. data/examples/i18n/ro/lib/calculator.rb +0 -11
  86. data/examples/i18n/se/Rakefile +0 -6
  87. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +0 -24
  88. data/examples/i18n/se/features/summering.feature +0 -17
  89. data/examples/i18n/se/lib/kalkulator.rb +0 -11
  90. data/examples/i18n/zh-CN/Rakefile +0 -6
  91. data/examples/i18n/zh-CN/features/addition.feature +0 -17
  92. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +0 -26
  93. data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
  94. data/examples/java/README.textile +0 -22
  95. data/examples/java/Rakefile +0 -12
  96. data/examples/java/features/hello.feature +0 -11
  97. data/examples/java/features/step_definitons/hello_steps.rb +0 -25
  98. data/examples/java/features/step_definitons/tree_steps.rb +0 -14
  99. data/examples/java/features/tree.feature +0 -9
  100. data/examples/jbehave/README.textile +0 -17
  101. data/examples/jbehave/features/support/env.rb +0 -7
  102. data/examples/jbehave/features/trading.feature +0 -24
  103. data/examples/jbehave/pom.xml +0 -48
  104. data/examples/selenium/Rakefile +0 -6
  105. data/examples/selenium/features/search.feature +0 -9
  106. data/examples/selenium/features/step_definitons/stories_steps.rb +0 -40
  107. data/examples/self_test/README.textile +0 -6
  108. data/examples/self_test/features/call_undefined_step_from_step_def.feature +0 -7
  109. data/examples/self_test/features/lots_of_undefined.feature +0 -8
  110. data/examples/self_test/features/outline_sample.feature +0 -12
  111. data/examples/self_test/features/sample.feature +0 -16
  112. data/examples/self_test/features/step_definitions/sample_steps.rb +0 -25
  113. data/examples/test_unit/Rakefile +0 -6
  114. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -26
  115. data/examples/test_unit/features/test_unit.feature +0 -9
  116. data/examples/tickets/Rakefile +0 -11
  117. data/examples/tickets/cucumber.yml +0 -2
  118. data/examples/tickets/features/lib/eatting_machine.rb +0 -18
  119. data/examples/tickets/features/lib/pantry.rb +0 -20
  120. data/examples/tickets/features/scenario_outline.feature +0 -90
  121. data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +0 -42
  122. data/examples/tickets/features/step_definitons/tickets_steps.rb +0 -61
  123. data/examples/tickets/features/tickets.feature +0 -28
  124. data/examples/watir/README.textile +0 -16
  125. data/examples/watir/Rakefile +0 -6
  126. data/examples/watir/features/search.feature +0 -9
  127. data/examples/watir/features/step_definitons/search_steps.rb +0 -24
  128. data/examples/watir/features/support/env.rb +0 -32
  129. data/features/cucumber_cli.feature +0 -327
  130. data/features/cucumber_cli_outlines.feature +0 -81
  131. data/features/report_called_undefined_steps.feature +0 -32
  132. data/features/step_definitions/cucumber_steps.rb +0 -31
  133. data/features/step_definitions/extra_steps.rb +0 -2
  134. data/features/support/env.rb +0 -7
  135. data/gem_tasks/deployment.rake +0 -11
  136. data/gem_tasks/environment.rake +0 -7
  137. data/gem_tasks/features.rake +0 -6
  138. data/gem_tasks/fix_cr_lf.rake +0 -10
  139. data/gem_tasks/flog.rake +0 -4
  140. data/gem_tasks/gemspec.rake +0 -10
  141. data/gem_tasks/rspec.rake +0 -35
  142. data/gem_tasks/yard.rake +0 -8
  143. data/lib/autotest/cucumber.rb +0 -6
  144. data/lib/autotest/cucumber_mixin.rb +0 -124
  145. data/lib/autotest/cucumber_rails.rb +0 -6
  146. data/lib/autotest/cucumber_rails_rspec.rb +0 -6
  147. data/lib/autotest/cucumber_rspec.rb +0 -6
  148. data/lib/autotest/discover.rb +0 -9
  149. data/lib/cucumber/ast/comment.rb +0 -26
  150. data/lib/cucumber/ast/examples.rb +0 -22
  151. data/lib/cucumber/ast/feature.rb +0 -60
  152. data/lib/cucumber/ast/features.rb +0 -39
  153. data/lib/cucumber/ast/filter.rb +0 -22
  154. data/lib/cucumber/ast/outline_table.rb +0 -49
  155. data/lib/cucumber/ast/py_string.rb +0 -52
  156. data/lib/cucumber/ast/scenario.rb +0 -95
  157. data/lib/cucumber/ast/scenario_outline.rb +0 -83
  158. data/lib/cucumber/ast/step.rb +0 -139
  159. data/lib/cucumber/ast/table.rb +0 -214
  160. data/lib/cucumber/ast/tags.rb +0 -33
  161. data/lib/cucumber/ast/visitor.rb +0 -93
  162. data/lib/cucumber/ast.rb +0 -27
  163. data/lib/cucumber/broadcaster.rb +0 -15
  164. data/lib/cucumber/cli.rb +0 -410
  165. data/lib/cucumber/core_ext/exception.rb +0 -53
  166. data/lib/cucumber/core_ext/instance_exec.rb +0 -54
  167. data/lib/cucumber/core_ext/proc.rb +0 -33
  168. data/lib/cucumber/core_ext/string.rb +0 -48
  169. data/lib/cucumber/formatter/ansicolor.rb +0 -106
  170. data/lib/cucumber/formatter/console.rb +0 -116
  171. data/lib/cucumber/formatter/pretty.rb +0 -158
  172. data/lib/cucumber/formatter/profile.rb +0 -77
  173. data/lib/cucumber/formatter/progress.rb +0 -68
  174. data/lib/cucumber/formatter/rerun.rb +0 -35
  175. data/lib/cucumber/formatter.rb +0 -1
  176. data/lib/cucumber/formatters/autotest_formatter.rb +0 -21
  177. data/lib/cucumber/formatters/cucumber.css +0 -132
  178. data/lib/cucumber/formatters/cucumber.js +0 -11
  179. data/lib/cucumber/formatters/html_formatter.rb +0 -152
  180. data/lib/cucumber/formatters/jquery.js +0 -32
  181. data/lib/cucumber/formatters/pretty_formatter.rb +0 -285
  182. data/lib/cucumber/formatters/unicode.rb +0 -35
  183. data/lib/cucumber/jbehave.rb +0 -104
  184. data/lib/cucumber/languages.yml +0 -314
  185. data/lib/cucumber/parser/basic.rb +0 -0
  186. data/lib/cucumber/parser/feature.rb +0 -1315
  187. data/lib/cucumber/parser/feature.tt +0 -160
  188. data/lib/cucumber/parser/i18n.tt +0 -27
  189. data/lib/cucumber/parser/table.rb +0 -396
  190. data/lib/cucumber/parser/table.tt +0 -53
  191. data/lib/cucumber/parser/treetop_ext.rb +0 -67
  192. data/lib/cucumber/parser.rb +0 -24
  193. data/lib/cucumber/platform.rb +0 -18
  194. data/lib/cucumber/rails/rspec.rb +0 -5
  195. data/lib/cucumber/rails/world.rb +0 -73
  196. data/lib/cucumber/rake/task.rb +0 -106
  197. data/lib/cucumber/step_definition.rb +0 -87
  198. data/lib/cucumber/step_mother.rb +0 -164
  199. data/lib/cucumber/treetop_parser/feature_fi.rb +0 -1951
  200. data/lib/cucumber/version.rb +0 -10
  201. data/lib/cucumber.rb +0 -72
  202. data/pretty.txt +0 -486
  203. data/rails_generators/cucumber/USAGE +0 -11
  204. data/rails_generators/cucumber/cucumber_generator.rb +0 -31
  205. data/rails_generators/cucumber/templates/cucumber +0 -8
  206. data/rails_generators/cucumber/templates/cucumber.rake +0 -7
  207. data/rails_generators/cucumber/templates/env.rb +0 -16
  208. data/rails_generators/cucumber/templates/paths.rb +0 -12
  209. data/rails_generators/cucumber/templates/webrat_steps.rb +0 -99
  210. data/rails_generators/feature/USAGE +0 -12
  211. data/rails_generators/feature/feature_generator.rb +0 -36
  212. data/rails_generators/feature/templates/feature.erb +0 -31
  213. data/rails_generators/feature/templates/steps.erb +0 -24
  214. data/spec/cucumber/ast/feature_factory.rb +0 -54
  215. data/spec/cucumber/ast/feature_spec.rb +0 -60
  216. data/spec/cucumber/ast/py_string_spec.rb +0 -40
  217. data/spec/cucumber/ast/scenario_outline_spec.rb +0 -64
  218. data/spec/cucumber/ast/scenario_spec.rb +0 -82
  219. data/spec/cucumber/ast/step_spec.rb +0 -45
  220. data/spec/cucumber/ast/table_spec.rb +0 -81
  221. data/spec/cucumber/broadcaster_spec.rb +0 -14
  222. data/spec/cucumber/cli_spec.rb +0 -416
  223. data/spec/cucumber/core_ext/proc_spec.rb +0 -37
  224. data/spec/cucumber/core_ext/string_spec.rb +0 -42
  225. data/spec/cucumber/formatter/ansicolor_spec.rb +0 -35
  226. data/spec/cucumber/formatter/html/cucumber.css +0 -37
  227. data/spec/cucumber/formatter/html/cucumber.js +0 -11
  228. data/spec/cucumber/formatter/html/index.html +0 -45
  229. data/spec/cucumber/formatter/html/jquery-1.3.min.js +0 -19
  230. data/spec/cucumber/formatter/html/jquery.uitableedit.js +0 -100
  231. data/spec/cucumber/formatters/autotest_formatter_spec.rb +0 -27
  232. data/spec/cucumber/formatters/features.html +0 -269
  233. data/spec/cucumber/formatters/profile_formatter_spec.rb +0 -198
  234. data/spec/cucumber/parser/feature_parser_spec.rb +0 -247
  235. data/spec/cucumber/parser/table_parser_spec.rb +0 -48
  236. data/spec/cucumber/rails/stubs/mini_rails.rb +0 -18
  237. data/spec/cucumber/rails/stubs/test_help.rb +0 -1
  238. data/spec/cucumber/rails/world_spec.rb +0 -11
  239. data/spec/cucumber/sell_cucumbers.feature +0 -19
  240. data/spec/cucumber/step_definition_spec.rb +0 -62
  241. data/spec/cucumber/step_mom_spec.rb +0 -49
  242. data/spec/cucumber/treetop_parser/empty_feature.feature +0 -4
  243. data/spec/cucumber/treetop_parser/empty_scenario.feature +0 -9
  244. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +0 -3
  245. data/spec/cucumber/treetop_parser/fit_scenario.feature +0 -8
  246. data/spec/cucumber/treetop_parser/given_scenario.feature +0 -9
  247. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +0 -7
  248. data/spec/cucumber/treetop_parser/multiline_steps.feature +0 -17
  249. data/spec/cucumber/treetop_parser/multiple_tables.feature +0 -27
  250. data/spec/cucumber/treetop_parser/scenario_outline.feature +0 -16
  251. data/spec/cucumber/treetop_parser/spaces.feature +0 -12
  252. data/spec/cucumber/treetop_parser/test_dos.feature +0 -25
  253. data/spec/cucumber/treetop_parser/with_comments.feature +0 -10
  254. data/spec/cucumber/treetop_parser/with_tags.feature +0 -18
  255. data/spec/cucumber/world/pending_spec.rb +0 -47
  256. data/spec/spec.opts +0 -2
  257. data/spec/spec_helper.rb +0 -21
@@ -1,285 +0,0 @@
1
- require 'cucumber/formatters/ansicolor'
2
-
3
- module Cucumber
4
- module Formatters
5
- class PrettyFormatter
6
- include ANSIColor
7
-
8
- INDENT = "\n "
9
-
10
- def initialize(io, step_mother, options={})
11
- @io = (io == STDOUT) ? Kernel : io
12
- @options = options
13
- @step_mother = step_mother
14
- @pending_scenarios = []
15
- @passed = []
16
- @failed = []
17
- @pending_steps = []
18
- @skipped = []
19
- @last_executed_was_row = false
20
- @pending_messages = {}
21
- @forced_pending_step_count = 0
22
-
23
- @total_scenario_count = 0
24
- end
25
-
26
- def feature_executing(feature)
27
- @feature = feature
28
- end
29
-
30
- def header_executing(header)
31
- @io.puts if @feature_newline
32
- @feature_newline = true
33
-
34
- header_lines = header.split("\n")
35
- header_lines.each_with_index do |line, index|
36
- @io.print line
37
- if @options[:source] && index==0
38
- @io.print padding_spaces(@feature)
39
- @io.print comment("# #{@feature.file}")
40
- end
41
- @io.puts
42
- end
43
- end
44
-
45
- def scenario_executing(scenario)
46
- scenario_or_scenario_outline_keyword = scenario.outline? ? Cucumber.language['scenario_outline'] : Cucumber.language['scenario']
47
-
48
- @scenario_failed = false
49
- @io.puts if @last_executed_was_row && !scenario.row?
50
- if scenario.row?
51
- @last_executed_was_row = true
52
- @io.print " |"
53
- else
54
- scenario_text = "#{scenario_or_scenario_outline_keyword}: #{scenario.name}"
55
-
56
- if scenario.pending?
57
- @pending_scenarios << scenario
58
- @io.print pending(" #{scenario_text}")
59
- elsif scenario.outline?
60
- @io.print skipped(" #{scenario_text}")
61
- else
62
- @io.print passed(" #{scenario_text}")
63
- end
64
- @last_executed_was_row = false
65
-
66
- if @options[:source]
67
- @io.print padding_spaces(scenario)
68
- @io.print comment("# #{scenario.file}:#{scenario.line}")
69
- end
70
- @io.puts
71
- end
72
- end
73
-
74
- def scenario_executed(scenario)
75
- @io.puts
76
- if !scenario.row? && scenario.table_header
77
- @table_column_widths = scenario.table_column_widths
78
- @current_column = -1
79
- @io.print " |"
80
- print_row(scenario.table_header)
81
- @io.puts
82
- elsif scenario.row? && @scenario_failed
83
- @io.puts
84
- output_failing_step(@failed.last)
85
- end
86
- @total_scenario_count += 1
87
- end
88
-
89
- def step_passed(step, regexp, args)
90
- if step.row?
91
- args = step.visible_args if step.outline?
92
- @passed << step
93
- print_passed_args(args)
94
- else
95
- @passed << step
96
- @io.print passed(" #{step.keyword} #{step.format(regexp){|param| passed_param(param) << passed}}")
97
- if @options[:source]
98
- @io.print padding_spaces(step)
99
- @io.print source_comment(step)
100
- end
101
- @io.puts
102
- end
103
- end
104
-
105
- def step_failed(step, regexp, args)
106
- @scenario_failed = true
107
- if step.row?
108
- args = step.visible_args if step.outline?
109
- @failed << step
110
- print_failed_args(args)
111
- else
112
- @failed << step
113
- @io.print failed(" #{step.keyword} #{step.format(regexp){|param| failed_param(param) << failed}}")
114
- if @options[:source]
115
- @io.print padding_spaces(step)
116
- @io.print source_comment(step)
117
- end
118
- @io.puts
119
- output_failing_step(step)
120
- end
121
- end
122
-
123
- def step_skipped(step, regexp, args)
124
- @skipped << step
125
- if step.row?
126
- args = step.visible_args if step.outline?
127
- print_skipped_args(args)
128
- else
129
- @io.print skipped(" #{step.keyword} #{step.format(regexp){|param| skipped_param(param) << skipped}}")
130
- if @options[:source]
131
- @io.print padding_spaces(step)
132
- if step.outline?
133
- @io.print comment("# #{step.file}:#{step.line}")
134
- else
135
- @io.print source_comment(step)
136
- end
137
- end
138
- @io.puts
139
- end
140
- end
141
-
142
- def step_pending(step, regexp, args)
143
- if step.row?
144
- args = step.visible_args if step.outline?
145
- @pending_steps << step
146
- print_pending_args(args)
147
- else
148
- @pending_steps << step
149
- @io.print pending(" #{step.keyword} #{step.name}")
150
- if @options[:source]
151
- @io.print padding_spaces(step)
152
- @io.print comment("# #{step.file}:#{step.line}")
153
- end
154
- @io.puts
155
- end
156
- if step.forced_to_pending?
157
- @pending_messages[regexp.inspect] ||= "#{step.keyword} #{regexp.inspect} (#{step.error.message}) #{source_comment(step)}"
158
- @forced_pending_step_count += 1
159
- end
160
- end
161
-
162
- def step_traced(step, regexp, args)
163
- @io.print skipped(" #{step.keyword} #{step.format(regexp){|param| skipped_param(param) << skipped}}")
164
- if @options[:source]
165
- @io.print padding_spaces(step)
166
- @io.print comment("# #{step.file}:#{step.line}")
167
- end
168
- @io.puts
169
- end
170
-
171
- def output_failing_step(step)
172
- @io.puts failed(" #{step.error.message.split("\n").join(INDENT)} (#{step.error.class})")
173
- @io.puts failed(" #{step.error.backtrace.join(INDENT)}")
174
- end
175
-
176
- def dump
177
- @io.puts
178
-
179
- print_pending_messages if @pending_messages.any?
180
-
181
- @io.puts dump_count(@total_scenario_count, "scenario")
182
-
183
- @io.puts pending(dump_count(@pending_scenarios.length, "scenario", "pending")) if @pending_scenarios.any?
184
-
185
- @io.puts passed(dump_count(@passed.length, "step", "passed")) if @passed.any?
186
- @io.puts failed(dump_count(@failed.length, "step", "failed")) if @failed.any?
187
- @io.puts skipped(dump_count(@skipped.length, "step", "skipped")) if @skipped.any?
188
-
189
- if @pending_steps.any?
190
- @io.print pending(dump_count(@pending_steps.length, "step", "pending"))
191
- @io.print pending(" (#{number_of_unimplemented_steps} with no step definition)") if number_of_unimplemented_steps > 0
192
- @io.puts
193
- end
194
-
195
- @io.print reset
196
-
197
- print_snippets if @options[:snippets]
198
- end
199
-
200
- def dump_count(count, what, state=nil)
201
- return [count, "#{what}#{count == 1 ? '' : 's'}", state].compact.join(" ")
202
- end
203
-
204
- def print_pending_messages
205
- @io.puts "Pending Notes:"
206
- @pending_messages.each_value do |message|
207
- @io.puts message
208
- end
209
- @io.puts
210
- end
211
-
212
- def print_snippets
213
- snippets = @pending_steps
214
- snippets.delete_if {|snippet| snippet.row? || @step_mother.has_step_definition?(snippet.name)}
215
-
216
- unless snippets.empty?
217
- @io.puts "\nYou can use these snippets to implement pending steps which have no step definition:\n\n"
218
-
219
- prev_keyword = nil
220
- snippets = snippets.map do |step|
221
- snippet = "#{step.actual_keyword} /^#{escape_regexp_characters(step.name)}$/ do\nend\n\n"
222
- prev_keyword = step.keyword
223
- snippet
224
- end.compact.uniq
225
-
226
- snippets.each do |snippet|
227
- @io.puts snippet
228
- end
229
- end
230
- end
231
-
232
- private
233
-
234
- def number_of_unimplemented_steps
235
- @pending_steps.length - @forced_pending_step_count
236
- end
237
-
238
- def escape_regexp_characters(string)
239
- Regexp.escape(string).gsub('\ ', ' ').gsub('/', '\/') unless string.nil?
240
- end
241
-
242
- def source_comment(step)
243
- _, _, proc = step.regexp_args_proc(@step_mother)
244
- comment(proc.to_comment_line)
245
- end
246
-
247
- def padding_spaces(tree_item)
248
- " " * tree_item.padding_length
249
- end
250
-
251
- def next_column_index
252
- @current_column ||= -1
253
- @current_column += 1
254
- @current_column = 0 if @current_column >= @table_column_widths.size
255
- @current_column
256
- end
257
-
258
- def print_row(row_args, &colorize_proc)
259
- colorize_proc = Proc.new{|row_element| row_element} unless colorize_proc
260
-
261
- row_args.each do |row_arg|
262
- column_index = next_column_index
263
- @io.print colorize_proc[row_arg.ljust(@table_column_widths[column_index])]
264
- @io.print "|"
265
- end
266
- end
267
-
268
- def print_passed_args(args)
269
- print_row(args) {|arg| passed(arg)}
270
- end
271
-
272
- def print_skipped_args(args)
273
- print_row(args) {|arg| skipped(arg)}
274
- end
275
-
276
- def print_failed_args(args)
277
- print_row(args) {|arg| failed(arg)}
278
- end
279
-
280
- def print_pending_args(args)
281
- print_row(args) {|arg| pending(arg)}
282
- end
283
- end
284
- end
285
- end
@@ -1,35 +0,0 @@
1
- # Require this file if you need Unicode support.
2
- require 'cucumber/platform'
3
- require 'cucumber/formatter/ansicolor'
4
-
5
- $KCODE='u' unless Cucumber::RUBY_1_9
6
-
7
- if Cucumber::WINDOWS_MRI && `chcp` =~ /(\d+)/
8
- codepage = $1.to_i
9
- codepages = (1251..1252)
10
-
11
- if codepages.include?(codepage)
12
- Cucumber::CODEPAGE = "cp#{codepage}"
13
-
14
- require 'iconv'
15
- module Kernel
16
- alias cucumber_print print
17
- def print(*a)
18
- begin
19
- cucumber_print(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a))
20
- rescue Iconv::IllegalSequence
21
- cucumber_print(*a)
22
- end
23
- end
24
-
25
- alias cucumber_puts puts
26
- def puts(*a)
27
- begin
28
- cucumber_puts(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a))
29
- rescue Iconv::IllegalSequence
30
- cucumber_puts(*a)
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,104 +0,0 @@
1
- require 'java'
2
-
3
- $:.unshift(ENV['HOME'] + '/.m2/repository/org/hamcrest/hamcrest-all/1.1')
4
- $:.unshift(ENV['HOME'] + '/.m2/repository/junit/junit/4.4')
5
- $:.unshift(ENV['HOME'] + '/.m2/repository/org/jbehave/jbehave-core/2.1')
6
-
7
- require 'hamcrest-all-1.1.jar'
8
- require 'junit-4.4.jar'
9
- require 'jbehave-core-2.1.jar'
10
-
11
- Exception::CUCUMBER_FILTER_PATTERNS.unshift(/^org\/jruby|^org\/jbehave|^org\/junit|^java\/|^sun\/|^\$_dot_dot_/)
12
-
13
- module Cucumber
14
- module JBehave
15
- # Register an instance of org.jbehave.scenario.steps.Steps
16
- def JBehave(jbehave_steps)
17
- jbehave_steps.getSteps.each do |jbehave_candidate_step|
18
- step_definitions << JBehaveStepDefinition.new(jbehave_steps, jbehave_candidate_step)
19
- end
20
- end
21
-
22
- # Open up so we can get the pattern....
23
- JBehaveCandidateStep = org.jbehave.scenario.steps.CandidateStep
24
- class JBehaveCandidateStep
25
- field_reader :pattern
26
- end
27
-
28
- # Adapter for JBehave org.jbehave.scenario.steps.CandidateStep
29
- class JBehaveStepDefinition
30
- def initialize(jbehave_steps, jbehave_candidate_step)
31
- @jbehave_steps = jbehave_steps
32
- @jbehave_candidate_step = jbehave_candidate_step
33
- end
34
-
35
- def match(step_name)
36
- full_text = "Given #{step_name}" # JBehave doesn't distinguish GWT internally :-)
37
- @jbehave_candidate_step.matches(full_text)
38
- end
39
-
40
- def file_colon_line
41
- @jbehave_steps.java_class.name
42
- end
43
-
44
- def format_args(step_name, format)
45
- java_pattern = @jbehave_candidate_step.pattern.pattern
46
- regexp = Regexp.new(java_pattern)
47
- step_name.gzub(regexp, format)
48
- end
49
-
50
- def matched_args(step_name)
51
- java_pattern = @jbehave_candidate_step.pattern.pattern
52
- regexp = Regexp.new(java_pattern)
53
- step_name.match(regexp).captures
54
- end
55
-
56
- def execute(step_name, world, *args)
57
- step = @jbehave_candidate_step.createFrom("Given #{step_name}")
58
- result = step.perform
59
- result.describeTo(JBehave::REPORTER)
60
- end
61
- end
62
-
63
- class JBehaveException < Exception
64
- end
65
-
66
- # Implements the org.jbehave.scenario.reporters.ScenarioReporter methods
67
- class Reporter
68
- def successful(step_text)
69
- # noop
70
- end
71
-
72
- def failed(step, java_exception)
73
- raise java_exception_to_ruby_exception(java_exception)
74
- end
75
-
76
- private
77
-
78
- def java_exception_to_ruby_exception(java_exception)
79
- # OK, this is a little funky - JRuby weirdness
80
- ruby_exception = org.jruby.NativeException.new(JRuby.runtime, JBehaveException, java_exception)
81
- ruby_exception.set_backtrace([]) # work around backtrace bug in jruby
82
-
83
- exception = JBehaveException.new(java_exception.getMessage)
84
- bt = ruby_exception.backtrace
85
- Exception.cucumber_strip_backtrace!(bt, nil, nil)
86
- exception.set_backtrace(bt)
87
- exception
88
- end
89
- end
90
-
91
- REPORTER = Reporter.new
92
-
93
- def self.snippet_text(step_keyword, step_name)
94
- camel = step_name.gsub(/(\s.)/) {$1.upcase.strip}
95
- method = camel[0..0].downcase + camel[1..-1]
96
- snippet = %{ @#{step_keyword}("#{step_name}")
97
- public void #{method}() {
98
- }}
99
- end
100
- end
101
- end
102
-
103
- self.extend(Cucumber::JBehave)
104
- self.snippet_generator = Cucumber::JBehave