cucumber 0.4.4 → 0.4.5.rc1
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 +2 -1
- data/Caliper.yml +5 -0
- data/History.txt +24 -1
- data/Rakefile +1 -1
- data/VERSION.yml +2 -2
- data/cucumber.gemspec +18 -27
- data/cucumber.yml +10 -4
- data/examples/i18n/README.textile +1 -1
- data/examples/i18n/bg/features/consecutive_calculations.feature +1 -1
- data/examples/i18n/bg/features/division.feature +1 -1
- data/examples/i18n/en-lol/Rakefile +1 -3
- data/examples/i18n/en/features/division.feature +4 -4
- data/examples/i18n/et/features/jagamine.feature +1 -1
- data/examples/i18n/fr/features/addition2.feature +17 -0
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +13 -0
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +3 -3
- data/examples/i18n/lt/features/addition.feature +2 -2
- data/examples/i18n/lt/features/division.feature +1 -1
- data/examples/i18n/zh-CN/Rakefile +1 -3
- data/examples/i18n/zh-TW/Rakefile +1 -3
- data/examples/tcl/README.textile +11 -0
- data/examples/tcl/Rakefile +6 -0
- data/examples/tcl/features/fibonnacci.feature +17 -0
- data/examples/tcl/features/step_definitions/fib_steps.rb +7 -0
- data/examples/tcl/features/support/env.rb +6 -0
- data/examples/tcl/src/fib.tcl +3 -0
- data/examples/tickets/features/177/1.feature +3 -4
- data/examples/tickets/features/177/2.feature +2 -3
- data/examples/tickets/features/241.feature +2 -3
- data/examples/tickets/features/301/filter_background_tagged_hooks.feature +1 -1
- data/features/cucumber_cli.feature +4 -2
- data/features/custom_formatter.feature +32 -31
- data/features/html_formatter/a.html +319 -102
- data/features/language_help.feature +12 -14
- data/features/support/env.rb +1 -1
- data/features/transform.feature +17 -3
- data/gem_tasks/features.rake +3 -1
- data/lib/cucumber/ast/scenario_outline.rb +1 -1
- data/lib/cucumber/ast/step_invocation.rb +2 -2
- data/lib/cucumber/cli/configuration.rb +2 -17
- data/lib/cucumber/cli/language_help_formatter.rb +1 -1
- data/lib/cucumber/cli/options.rb +5 -4
- data/lib/cucumber/formatter/cucumber.css +198 -82
- data/lib/cucumber/formatter/cucumber.sass +173 -71
- data/lib/cucumber/formatter/html.rb +371 -195
- data/lib/cucumber/formatter/io.rb +33 -0
- data/lib/cucumber/formatter/junit.rb +16 -7
- data/lib/cucumber/formatter/pdf.rb +5 -5
- data/lib/cucumber/formatter/pretty.rb +6 -8
- data/lib/cucumber/formatter/progress.rb +4 -2
- data/lib/cucumber/formatter/rerun.rb +4 -2
- data/lib/cucumber/formatter/steps.rb +2 -2
- data/lib/cucumber/formatter/tag_cloud.rb +6 -2
- data/lib/cucumber/formatter/usage.rb +2 -2
- data/lib/cucumber/languages.yml +205 -281
- data/lib/cucumber/parser/feature.rb +348 -82
- data/lib/cucumber/parser/feature.tt +47 -11
- data/lib/cucumber/parser/i18n.tt +7 -17
- data/lib/cucumber/parser/natural_language.rb +45 -18
- data/lib/cucumber/rb_support/rb_transform.rb +1 -1
- data/lib/cucumber/step_mother.rb +2 -3
- data/lib/cucumber/webrat/element_locator.rb +9 -5
- data/spec/cucumber/cli/options_spec.rb +0 -3
- data/spec/cucumber/formatter/html_spec.rb +15 -2
- data/spec/cucumber/formatter/junit_spec.rb +3 -0
- data/spec/cucumber/treetop_parser/fit_scenario.feature +2 -2
- data/spec/cucumber/treetop_parser/given_scenario.feature +1 -1
- data/spec/cucumber/treetop_parser/multiple_tables.feature +2 -2
- data/spec/cucumber/treetop_parser/test_dos.feature +1 -1
- metadata +17 -26
- data/Manifest.txt +0 -0
- data/lib/cucumber/rails/action_controller.rb +0 -38
- data/lib/cucumber/rails/active_record.rb +0 -30
- data/lib/cucumber/rails/rspec.rb +0 -10
- data/lib/cucumber/rails/test_unit.rb +0 -9
- data/lib/cucumber/rails/world.rb +0 -30
- data/rails_generators/cucumber/USAGE +0 -11
- data/rails_generators/cucumber/cucumber_generator.rb +0 -117
- data/rails_generators/cucumber/templates/cucumber +0 -17
- data/rails_generators/cucumber/templates/cucumber.rake +0 -46
- data/rails_generators/cucumber/templates/cucumber_environment.rb +0 -30
- data/rails_generators/cucumber/templates/env.rb +0 -49
- data/rails_generators/cucumber/templates/paths.rb +0 -27
- data/rails_generators/cucumber/templates/spork_env.rb +0 -57
- data/rails_generators/cucumber/templates/version_check.rb +0 -31
- data/rails_generators/cucumber/templates/webrat_steps.rb +0 -241
- data/rails_generators/feature/USAGE +0 -12
- data/rails_generators/feature/feature_generator.rb +0 -40
- data/rails_generators/feature/templates/feature.erb +0 -31
- data/rails_generators/feature/templates/steps.erb +0 -14
@@ -76,8 +76,8 @@ module Cucumber
|
|
76
76
|
steps.at_line?(line)
|
77
77
|
end
|
78
78
|
|
79
|
-
def matches_tags?(
|
80
|
-
Ast::Tags.matches?(self.parent.tags.tag_names,
|
79
|
+
def matches_tags?(tag_names)
|
80
|
+
Ast::Tags.matches?(self.parent.tags.tag_names, tag_names)
|
81
81
|
end
|
82
82
|
|
83
83
|
def build
|
@@ -116,10 +116,10 @@ module Cucumber
|
|
116
116
|
tags.at_line?(line)
|
117
117
|
end
|
118
118
|
|
119
|
-
def matches_tags?(
|
119
|
+
def matches_tags?(tag_names)
|
120
120
|
feature_tag_names = self.parent.parent.tags.tag_names
|
121
121
|
source_tag_names = (feature_tag_names + tags.tag_names).uniq
|
122
|
-
Ast::Tags.matches?(source_tag_names,
|
122
|
+
Ast::Tags.matches?(source_tag_names, tag_names)
|
123
123
|
end
|
124
124
|
|
125
125
|
def matches_name?(regexp_to_match)
|
@@ -153,10 +153,10 @@ module Cucumber
|
|
153
153
|
steps.at_line?(line)
|
154
154
|
end
|
155
155
|
|
156
|
-
def matches_tags?(
|
156
|
+
def matches_tags?(tag_names)
|
157
157
|
feature_tag_names = self.parent.parent.tags.tag_names
|
158
158
|
source_tag_names = (feature_tag_names + tags.tag_names).uniq
|
159
|
-
Ast::Tags.matches?(source_tag_names,
|
159
|
+
Ast::Tags.matches?(source_tag_names, tag_names)
|
160
160
|
end
|
161
161
|
|
162
162
|
def matches_name?(regexp_to_match)
|
@@ -195,7 +195,7 @@ module Cucumber
|
|
195
195
|
end
|
196
196
|
|
197
197
|
rule step
|
198
|
-
comment space* step_keyword
|
198
|
+
comment space* step_keyword space* name:line_to_eol (eol+ / eof) multi:multiline_arg? white {
|
199
199
|
def at_line?(line)
|
200
200
|
step_keyword.line == line ||
|
201
201
|
(multi.respond_to?(:at_line?) && multi.at_line?(line))
|
@@ -203,9 +203,9 @@ module Cucumber
|
|
203
203
|
|
204
204
|
def build
|
205
205
|
if multi.respond_to?(:build)
|
206
|
-
Ast::Step.new(step_keyword.line, step_keyword.text_value, name.text_value.strip, multi.build)
|
206
|
+
Ast::Step.new(step_keyword.line, step_keyword.text_value.strip, name.text_value.strip, multi.build)
|
207
207
|
else
|
208
|
-
Ast::Step.new(step_keyword.line, step_keyword.text_value, name.text_value.strip)
|
208
|
+
Ast::Step.new(step_keyword.line, step_keyword.text_value.strip, name.text_value.strip)
|
209
209
|
end
|
210
210
|
end
|
211
211
|
}
|
@@ -238,7 +238,7 @@ module Cucumber
|
|
238
238
|
table.at_line?(line)
|
239
239
|
end
|
240
240
|
|
241
|
-
def matches_tags?(
|
241
|
+
def matches_tags?(tag_names)
|
242
242
|
true
|
243
243
|
end
|
244
244
|
|
@@ -273,7 +273,43 @@ module Cucumber
|
|
273
273
|
end
|
274
274
|
|
275
275
|
rule reserved_words_and_symbols
|
276
|
-
(step_keyword
|
276
|
+
(step_keyword) / scenario_keyword / scenario_outline_keyword / table / tag / comment_line
|
277
|
+
end
|
278
|
+
|
279
|
+
rule py_string
|
280
|
+
open_py_string s:(!close_py_string .)* close_py_string {
|
281
|
+
def at_line?(line)
|
282
|
+
line >= open_py_string.line && line <= close_py_string.line
|
283
|
+
end
|
284
|
+
|
285
|
+
def build
|
286
|
+
Ast::PyString.new(open_py_string.line, close_py_string.line, s.text_value, open_py_string.indentation)
|
287
|
+
end
|
288
|
+
}
|
289
|
+
end
|
290
|
+
|
291
|
+
rule open_py_string
|
292
|
+
indent:space* '"""' space* eol {
|
293
|
+
def indentation
|
294
|
+
indent.text_value.length
|
295
|
+
end
|
296
|
+
|
297
|
+
def line
|
298
|
+
indent.line
|
299
|
+
end
|
300
|
+
}
|
301
|
+
end
|
302
|
+
|
303
|
+
rule close_py_string
|
304
|
+
eol space* quotes:'"""' white {
|
305
|
+
def line
|
306
|
+
quotes.line
|
307
|
+
end
|
308
|
+
}
|
309
|
+
end
|
310
|
+
|
311
|
+
rule white
|
312
|
+
(space / eol)*
|
277
313
|
end
|
278
314
|
|
279
315
|
end
|
data/lib/cucumber/parser/i18n.tt
CHANGED
@@ -1,44 +1,34 @@
|
|
1
1
|
module Cucumber
|
2
2
|
module Parser
|
3
3
|
module I18n
|
4
|
-
grammar <%= keywords('grammar_name'
|
5
|
-
include Common
|
4
|
+
grammar <%= keywords('grammar_name')[0] %>
|
6
5
|
include Feature
|
7
6
|
include Table
|
8
|
-
include PyString
|
9
7
|
|
10
8
|
rule feature
|
11
9
|
feature_sub
|
12
10
|
end
|
13
11
|
|
14
12
|
rule background_keyword
|
15
|
-
|
13
|
+
<%= treetop_keywords(background_keywords) %> ':'
|
16
14
|
end
|
17
15
|
|
18
16
|
rule scenario_keyword
|
19
|
-
|
17
|
+
<%= treetop_keywords(scenario_keywords) %> ':'
|
20
18
|
end
|
21
19
|
|
22
20
|
rule scenario_outline_keyword
|
23
|
-
|
21
|
+
<%= treetop_keywords(scenario_outline_keywords) %> ':'
|
24
22
|
end
|
25
23
|
|
26
24
|
rule step_keyword
|
27
|
-
|
28
|
-
(<%= keywords('when') %>) /
|
29
|
-
(<%= keywords('then') %>) /
|
30
|
-
(<%= keywords('and') %>) /
|
31
|
-
(<%= keywords('but') %>)
|
32
|
-
end
|
33
|
-
|
34
|
-
rule keyword_space
|
35
|
-
<%= keywords('space_after_keyword', true) ? 'space+' : 'space*' %>
|
25
|
+
<%= treetop_keywords(step_keywords) %>
|
36
26
|
end
|
37
27
|
|
38
28
|
rule examples_keyword
|
39
|
-
|
29
|
+
<%= treetop_keywords(examples_keywords) %> ':'?
|
40
30
|
end
|
41
31
|
end
|
42
32
|
end
|
43
33
|
end
|
44
|
-
end
|
34
|
+
end
|
@@ -1,7 +1,9 @@
|
|
1
|
+
# TODO: REMOVE ME
|
2
|
+
# Most of this class now lives in Gherkin's i18n.rb
|
1
3
|
module Cucumber
|
2
4
|
module Parser
|
3
5
|
class NaturalLanguage
|
4
|
-
KEYWORD_KEYS = %w{name native
|
6
|
+
KEYWORD_KEYS = %w{name native feature background scenario scenario_outline examples given when then and but}
|
5
7
|
|
6
8
|
class << self
|
7
9
|
def get(step_mother, lang)
|
@@ -11,6 +13,11 @@ module Cucumber
|
|
11
13
|
def languages
|
12
14
|
@languages ||= {}
|
13
15
|
end
|
16
|
+
|
17
|
+
# Used by code generators for other lexer tools like pygments lexer and textmate bundle
|
18
|
+
def all(step_mother=nil)
|
19
|
+
Cucumber::LANGUAGES.keys.sort.map{|lang| get(step_mother, lang)}
|
20
|
+
end
|
14
21
|
end
|
15
22
|
|
16
23
|
def initialize(step_mother, lang)
|
@@ -22,7 +29,7 @@ module Cucumber
|
|
22
29
|
end
|
23
30
|
|
24
31
|
def register_adverbs(step_mother)
|
25
|
-
adverbs = %w{given when then and but}.map{|keyword| @keywords[keyword].split('|').map{|w| w.gsub(
|
32
|
+
adverbs = %w{given when then and but}.map{|keyword| @keywords[keyword].split('|').map{|w| w.gsub(/[\s<']/, '')}}.flatten
|
26
33
|
step_mother.register_adverbs(adverbs) if step_mother
|
27
34
|
end
|
28
35
|
|
@@ -46,35 +53,55 @@ module Cucumber
|
|
46
53
|
feature
|
47
54
|
end
|
48
55
|
|
49
|
-
def keywords(key, raw=false)
|
50
|
-
return @keywords[key] if raw
|
51
|
-
return nil unless @keywords[key]
|
52
|
-
values = @keywords[key].to_s.split('|')
|
53
|
-
values.map{|value| "'#{value}'"}.join(" / ")
|
54
|
-
end
|
55
|
-
|
56
56
|
def incomplete?
|
57
57
|
KEYWORD_KEYS.detect{|key| @keywords[key].nil?}
|
58
58
|
end
|
59
59
|
|
60
|
-
def
|
61
|
-
|
60
|
+
def feature_keywords
|
61
|
+
keywords('feature')
|
62
62
|
end
|
63
63
|
|
64
|
-
def
|
65
|
-
|
64
|
+
def scenario_keywords
|
65
|
+
keywords('scenario')
|
66
66
|
end
|
67
67
|
|
68
|
-
def
|
69
|
-
|
68
|
+
def scenario_outline_keywords
|
69
|
+
keywords('scenario_outline')
|
70
|
+
end
|
71
|
+
|
72
|
+
def background_keywords
|
73
|
+
keywords('background')
|
74
|
+
end
|
75
|
+
|
76
|
+
def examples_keywords
|
77
|
+
keywords('examples')
|
78
|
+
end
|
79
|
+
|
80
|
+
def but_keywords(space=true)
|
81
|
+
keywords('but', space)
|
82
|
+
end
|
83
|
+
|
84
|
+
def and_keywords(space=true)
|
85
|
+
keywords('and', space)
|
70
86
|
end
|
71
87
|
|
72
88
|
def step_keywords
|
73
|
-
%w{given when then and but}.map{|key|
|
89
|
+
%w{given when then and but}.map{|key| keywords(key, true)}.flatten.uniq
|
90
|
+
end
|
91
|
+
|
92
|
+
def keywords(key, space=false)
|
93
|
+
raise "No #{key} in #{@keywords.inspect}" if @keywords[key].nil?
|
94
|
+
@keywords[key].split('|').map{|kw| space ? keyword_space(kw) : kw}
|
95
|
+
end
|
96
|
+
|
97
|
+
private
|
98
|
+
|
99
|
+
def treetop_keywords(keywords)
|
100
|
+
"(" + keywords.map{|k| %{"#{k}"}}.join(" / ") + ")"
|
74
101
|
end
|
75
102
|
|
76
|
-
def
|
77
|
-
|
103
|
+
def keyword_space(val)
|
104
|
+
(val + ' ').sub(/< $/,'')
|
78
105
|
end
|
79
106
|
end
|
80
107
|
end
|
data/lib/cucumber/step_mother.rb
CHANGED
@@ -171,14 +171,13 @@ module Cucumber
|
|
171
171
|
# Then I should not be thirsty
|
172
172
|
# })
|
173
173
|
def invoke_steps(steps_text, natural_language)
|
174
|
-
ored_keywords = natural_language.step_keywords.join("|")
|
175
|
-
after_keyword = natural_language.space_after_keyword ? ' ' : ''
|
174
|
+
ored_keywords = natural_language.step_keywords.map{|kw| Regexp.escape(kw)}.join("|")
|
176
175
|
# TODO Gherkin:
|
177
176
|
# This a bit hacky and fragile. When we move to Gherkin we should replace this entire method body
|
178
177
|
# with a call to the parser - parsing the body of a scenario. We may need to put the parser/policy in the
|
179
178
|
# appropriate state (the same state it's in after parsing a Scenario: line).
|
180
179
|
steps_text.strip.split(/(?=^\s*(?:#{ored_keywords}))/).map { |step| step.strip }.each do |step|
|
181
|
-
output = step.match(/^\s*(#{ored_keywords})
|
180
|
+
output = step.match(/^\s*(#{ored_keywords})([^\n]+)(\n.*)?$/m)
|
182
181
|
|
183
182
|
action, step_name, table_or_string = output[1], output[2], output[3]
|
184
183
|
if table_or_string.to_s.strip =~ /^\|/
|
@@ -1,3 +1,7 @@
|
|
1
|
+
warning = "\nWARNING: #{caller.detect{|l| l =~ /features/}}: cucumber/webrat/element_locator.rb is deprecated and will be removed in Cucumber 0.5.0.\nUse cucumber/web/tableish instead.\n"
|
2
|
+
at_exit do
|
3
|
+
warn warning
|
4
|
+
end
|
1
5
|
require 'webrat'
|
2
6
|
|
3
7
|
module Webrat
|
@@ -28,8 +32,8 @@ module Webrat
|
|
28
32
|
|
29
33
|
def table_from_table #:nodoc:
|
30
34
|
col_count = nil
|
31
|
-
|
32
|
-
cols =
|
35
|
+
element.css('tr').map do |row|
|
36
|
+
cols = row.css('th,td')
|
33
37
|
col_count ||= cols.length
|
34
38
|
cols[0...col_count].map do |col|
|
35
39
|
col.inner_html
|
@@ -38,7 +42,7 @@ module Webrat
|
|
38
42
|
end
|
39
43
|
|
40
44
|
def table_from_dl #:nodoc:
|
41
|
-
|
45
|
+
element.css('dt').map do |dt|
|
42
46
|
next_node = dt.next_sibling
|
43
47
|
while next_node.name != 'dd'
|
44
48
|
next_node = next_node.next_sibling
|
@@ -48,7 +52,7 @@ module Webrat
|
|
48
52
|
end
|
49
53
|
|
50
54
|
def table_from_list #:nodoc:
|
51
|
-
|
55
|
+
element.css('li').map do |li|
|
52
56
|
[li.inner_html]
|
53
57
|
end
|
54
58
|
end
|
@@ -63,7 +67,7 @@ module Webrat
|
|
63
67
|
end
|
64
68
|
|
65
69
|
def table_element
|
66
|
-
|
70
|
+
@dom.css(@value)[0]
|
67
71
|
end
|
68
72
|
|
69
73
|
def error_message
|
@@ -26,13 +26,26 @@ module Cucumber
|
|
26
26
|
it "should not raise an error when visiting a blank feature name" do
|
27
27
|
lambda { @formatter.feature_name("") }.should_not raise_error
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
describe "given a single feature" do
|
31
31
|
before(:each) do
|
32
32
|
run_defined_feature
|
33
33
|
@doc = Nokogiri.HTML(@out.string)
|
34
34
|
end
|
35
|
-
|
35
|
+
|
36
|
+
describe "basic feature" do
|
37
|
+
define_feature <<-FEATURE
|
38
|
+
Feature: Bananas
|
39
|
+
In order to find my inner monkey
|
40
|
+
As a human
|
41
|
+
I must eat bananas
|
42
|
+
FEATURE
|
43
|
+
|
44
|
+
it "should output a main container div" do
|
45
|
+
@out.string.should =~ /\<div class="cucumber"\>/
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
36
49
|
describe "with a comment" do
|
37
50
|
define_feature <<-FEATURE
|
38
51
|
# Healthy
|
@@ -9,7 +9,7 @@ Feature: Addition
|
|
9
9
|
When I press add
|
10
10
|
Then the result should be 120 on the screen
|
11
11
|
|
12
|
-
|
12
|
+
Examples:
|
13
13
|
| input_1 | input_2 | button | output |
|
14
14
|
| 20 | 30 | add | 50 |
|
15
15
|
| 2 | 5 | add | 7 |
|
@@ -22,6 +22,6 @@ Feature: Addition
|
|
22
22
|
When I press add
|
23
23
|
Then the result should be 50 on the screen
|
24
24
|
|
25
|
-
|
25
|
+
Examples:
|
26
26
|
| input_1 | input_2 | input_3 | button | output |
|
27
27
|
| 1 | 2 | 3 | add | 6 |
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5.rc1
|
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: 2009-
|
12
|
+
date: 2009-12-07 00:00:00 +01:00
|
13
13
|
default_executable: cucumber
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -70,7 +70,7 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - "="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 1.
|
73
|
+
version: 1.4.0
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: prawn
|
@@ -114,9 +114,9 @@ extra_rdoc_files:
|
|
114
114
|
files:
|
115
115
|
- .gitattributes
|
116
116
|
- .gitignore
|
117
|
+
- Caliper.yml
|
117
118
|
- History.txt
|
118
119
|
- LICENSE
|
119
|
-
- Manifest.txt
|
120
120
|
- README.rdoc
|
121
121
|
- Rakefile
|
122
122
|
- VERSION.yml
|
@@ -182,6 +182,7 @@ files:
|
|
182
182
|
- examples/i18n/fi/lib/laskin.rb
|
183
183
|
- examples/i18n/fr/Rakefile
|
184
184
|
- examples/i18n/fr/features/addition.feature
|
185
|
+
- examples/i18n/fr/features/addition2.feature
|
185
186
|
- examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
|
186
187
|
- examples/i18n/fr/lib/calculatrice.rb
|
187
188
|
- examples/i18n/he/Rakefile
|
@@ -363,6 +364,12 @@ files:
|
|
363
364
|
- examples/sinatra/views/layout.erb
|
364
365
|
- examples/steps_library/features/step_definitions/steps_lib1.rb
|
365
366
|
- examples/steps_library/features/step_definitions/steps_lib2.rb
|
367
|
+
- examples/tcl/README.textile
|
368
|
+
- examples/tcl/Rakefile
|
369
|
+
- examples/tcl/features/fibonnacci.feature
|
370
|
+
- examples/tcl/features/step_definitions/fib_steps.rb
|
371
|
+
- examples/tcl/features/support/env.rb
|
372
|
+
- examples/tcl/src/fib.tcl
|
366
373
|
- examples/test_unit/Rakefile
|
367
374
|
- examples/test_unit/features/step_definitions/test_unit_steps.rb
|
368
375
|
- examples/test_unit/features/test_unit.feature
|
@@ -508,6 +515,7 @@ files:
|
|
508
515
|
- lib/cucumber/formatter/debug.rb
|
509
516
|
- lib/cucumber/formatter/duration.rb
|
510
517
|
- lib/cucumber/formatter/html.rb
|
518
|
+
- lib/cucumber/formatter/io.rb
|
511
519
|
- lib/cucumber/formatter/junit.rb
|
512
520
|
- lib/cucumber/formatter/ordered_xml_markup.rb
|
513
521
|
- lib/cucumber/formatter/pdf.rb
|
@@ -539,11 +547,6 @@ files:
|
|
539
547
|
- lib/cucumber/py_support/py_dsl.py
|
540
548
|
- lib/cucumber/py_support/py_language.py
|
541
549
|
- lib/cucumber/py_support/py_language.rb
|
542
|
-
- lib/cucumber/rails/action_controller.rb
|
543
|
-
- lib/cucumber/rails/active_record.rb
|
544
|
-
- lib/cucumber/rails/rspec.rb
|
545
|
-
- lib/cucumber/rails/test_unit.rb
|
546
|
-
- lib/cucumber/rails/world.rb
|
547
550
|
- lib/cucumber/rake/task.rb
|
548
551
|
- lib/cucumber/rb_support/rb_dsl.rb
|
549
552
|
- lib/cucumber/rb_support/rb_hook.rb
|
@@ -566,20 +569,6 @@ files:
|
|
566
569
|
- lib/cucumber/wire_support/wire_packet.rb
|
567
570
|
- lib/cucumber/wire_support/wire_protocol.rb
|
568
571
|
- lib/cucumber/wire_support/wire_step_definition.rb
|
569
|
-
- rails_generators/cucumber/USAGE
|
570
|
-
- rails_generators/cucumber/cucumber_generator.rb
|
571
|
-
- rails_generators/cucumber/templates/cucumber
|
572
|
-
- rails_generators/cucumber/templates/cucumber.rake
|
573
|
-
- rails_generators/cucumber/templates/cucumber_environment.rb
|
574
|
-
- rails_generators/cucumber/templates/env.rb
|
575
|
-
- rails_generators/cucumber/templates/paths.rb
|
576
|
-
- rails_generators/cucumber/templates/spork_env.rb
|
577
|
-
- rails_generators/cucumber/templates/version_check.rb
|
578
|
-
- rails_generators/cucumber/templates/webrat_steps.rb
|
579
|
-
- rails_generators/feature/USAGE
|
580
|
-
- rails_generators/feature/feature_generator.rb
|
581
|
-
- rails_generators/feature/templates/feature.erb
|
582
|
-
- rails_generators/feature/templates/steps.erb
|
583
572
|
- spec/cucumber/ast/background_spec.rb
|
584
573
|
- spec/cucumber/ast/feature_element_spec.rb
|
585
574
|
- spec/cucumber/ast/feature_factory.rb
|
@@ -643,7 +632,7 @@ post_install_message: |+
|
|
643
632
|
|
644
633
|
(::) U P G R A D I N G (::)
|
645
634
|
|
646
|
-
Thank you for installing cucumber-0.4.
|
635
|
+
Thank you for installing cucumber-0.4.5.
|
647
636
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
648
637
|
for important information about this release. Happy cuking!
|
649
638
|
|
@@ -661,9 +650,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
661
650
|
version:
|
662
651
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
663
652
|
requirements:
|
664
|
-
- - "
|
653
|
+
- - ">"
|
665
654
|
- !ruby/object:Gem::Version
|
666
|
-
version:
|
655
|
+
version: 1.3.1
|
667
656
|
version:
|
668
657
|
requirements: []
|
669
658
|
|
@@ -804,6 +793,8 @@ test_files:
|
|
804
793
|
- examples/sinatra/features/support/env.rb
|
805
794
|
- examples/steps_library/features/step_definitions/steps_lib1.rb
|
806
795
|
- examples/steps_library/features/step_definitions/steps_lib2.rb
|
796
|
+
- examples/tcl/features/step_definitions/fib_steps.rb
|
797
|
+
- examples/tcl/features/support/env.rb
|
807
798
|
- examples/test_unit/features/step_definitions/test_unit_steps.rb
|
808
799
|
- examples/tickets/features/229/tagged_hooks.rb
|
809
800
|
- examples/tickets/features/270/back.steps.rb
|