kosmas58-cucumber 0.3.99 → 0.3.100

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,8 +1,15 @@
1
- == (In Git)
1
+ == 0.3.100 2009-09-09
2
+
3
+ The JavaZone release!
2
4
 
3
5
  === New Features
6
+ * Added support for Uzbek (msarvar)
4
7
  * The file argument on the cucumber command line will replace contents of file on cli if file is prefixed with @ (Tero Tilus)
5
8
 
9
+ === Bugfixes
10
+ * Backtraces on JRuby are handled in a cleaner way when the exception comes from Java (NativeException). (Aslak Hellesøy)
11
+ * When exceptions occur in a Before block the rest of the scenario is now skipped (#331 Matt Wynne)
12
+
6
13
  == 0.3.99 2009-09-03
7
14
 
8
15
  === New Features
@@ -68,7 +75,7 @@ data in your HTML with a Cucumber table using Cucumber::Ast::Table#diff!
68
75
  This release also fixes several bugs related to --drb (Spork) and profiles (cucumber.yml)
69
76
 
70
77
  === Bug Fixes
71
- * --guess will always prefer the longest regexp with no groups if they exist.
78
+ * --guess will always prefer the longest regexp with no groups if they exist.
72
79
  * Prevent delays if a NoMethodError is raise in a step definition. Define a light #inspect in World. (#374 Aslak Hellesøy)
73
80
  * Restore 'features' as the default feature running path. (#412 Ben Mabey)
74
81
  * --drb degrades gracefully when no drb server is running and no formatter is provided. (#410 Ben Mabey)
@@ -76,7 +83,7 @@ This release also fixes several bugs related to --drb (Spork) and profiles (cucu
76
83
  * Resolved infinite loop problem when --drb was defined in a profile. (#408 Ben Mabey)
77
84
 
78
85
  === New Features
79
- * Cucumber::World#table has been overloaded to work with 2D Array in addition to a table String to be parsed.
86
+ * Cucumber::World#table has been overloaded to work with 2D Array in addition to a table String to be parsed.
80
87
  * New When /^I fill in the following:$/ step definition for Webrat. Useful for filling out a form with a Table. (Aslak Hellesøy)
81
88
  * The object returned by element_at (Webrat::Element) has a #to_table that works for table, dl, ol and ul. (Aslak Hellesøy)
82
89
  * An explanation of why failures are ok is printed when --wip is used. (Aslak Hellesøy)
@@ -104,7 +111,7 @@ So upgrade today and get into the habit of tagging new features with @wip (or in
104
111
  You'll achieve better flow this way.
105
112
 
106
113
  === New features
107
- * Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
114
+ * Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
108
115
  * script/generate cucumber sets up 'cucumber:ok' and 'cucumber:wip' tasks and deprecates 'features'. More Kanban love. (#344 Aslak Hellesøy)
109
116
  * Better JUnit formatter: feature->testsuite, scenario->testcase. Better timing and support for background and scenario outline. (Mads Buus Westmark)
110
117
  * Added examples/python that uses rubypython. (Aslak Hellesøy)
@@ -127,8 +134,8 @@ Highlights in this release: Improved profile handling (cucumber.yml) and a fix f
127
134
  * click_link_within(parent, link) webrat step (Joakim Kolsjö)
128
135
 
129
136
  === Bugfixes
130
- * script/cucumber correctly loads the gem's binary if the plugin isn't installed.
131
- * Cucumber hangs waiting for Ctrl+C if an Error is raised. (#374 Aslak Hellesøy)
137
+ * script/cucumber correctly loads the gem's binary if the plugin isn't installed.
138
+ * Cucumber hangs waiting for Ctrl+C if an Error is raised. (#374 Aslak Hellesøy)
132
139
 
133
140
  == 0.3.92 2009-07-29
134
141
 
@@ -202,7 +209,7 @@ or simply another Ast::Table object. Here is a simple example:
202
209
  expected_cukes_table.diff!(actual_table)
203
210
  end
204
211
 
205
- As an extra bonus we provide Webrat users with a new #table_at(selector) method that you can use to transform
212
+ As an extra bonus we provide Webrat users with a new #table_at(selector) method that you can use to transform
206
213
  an HTML table into an Array of Array, so that you can easily compare the contents of your HTML table to
207
214
  expected data passed to a step. Here is an example:
208
215
 
@@ -211,7 +218,7 @@ expected data passed to a step. Here is an example:
211
218
  end
212
219
 
213
220
  You can do the same trick to compare data from a Rails ActiveRecord table (although this is not a
214
- recommended practice - your Then steps should compare against what users *see*, not what's in the
221
+ recommended practice - your Then steps should compare against what users *see*, not what's in the
215
222
  database):
216
223
 
217
224
  # This requires that you use the column names in the header of the plain text expected table
@@ -248,7 +255,7 @@ This release also has several bugfixes related to --format and Before/After hook
248
255
  === New Features
249
256
  * I should see should support regexes (#382 John Ferlito)
250
257
  * Access to scenario outline name from After hook scenario parameter (#342 Aslak Hellesøy)
251
- * Allow multiple --tags switches to be passed
258
+ * Allow multiple --tags switches to be passed
252
259
  * Load step definitions from vendored gems and plugins (#388 Mike Burns)
253
260
  * New --format steps formatter. Variant of the usage formatter that lists available step definitions (Demetrius Nunes)
254
261
  * Possibility to specify scenario language as part of the .feature file (#345 Aslak Hellesøy)
@@ -912,7 +919,7 @@ spaces removed too.
912
919
  == 0.1.8 2008-10-18
913
920
 
914
921
  This release extends the support for tables. PLEASE NOTE THAT TABLES ARE STILL EXPERIMENTAL.
915
- In previous releases it has been possible to use tables to define "more examples" of a scenario in
922
+ In previous releases it has been possible to use tables to define "more examples" of a scenario in
916
923
  a FIT-style column fixture kind of way. Now you can also use tables as arguments to steps.
917
924
 
918
925
  Tables used to define more examples after a scenario must now be prefixed. In English it looks like this:
data/Manifest.txt CHANGED
@@ -147,6 +147,14 @@ examples/i18n/sk/features/addition.feature
147
147
  examples/i18n/sk/features/division.feature
148
148
  examples/i18n/sk/features/step_definitons/calculator_steps.rb
149
149
  examples/i18n/sk/lib/calculator.rb
150
+ examples/i18n/uz/Rakefile
151
+ examples/i18n/uz/features/addition.feature
152
+ examples/i18n/uz/features/consecutive_calculations.feature
153
+ examples/i18n/uz/features/division.feature
154
+ examples/i18n/uz/features/step_definitons/calculator_steps.rb
155
+ examples/i18n/uz/features/support/env.rb
156
+ examples/i18n/uz/features/support/world.rb
157
+ examples/i18n/uz/lib/calculator.rb
150
158
  examples/i18n/zh-CN/Rakefile
151
159
  examples/i18n/zh-CN/features/addition.feature
152
160
  examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb
@@ -204,6 +212,7 @@ examples/self_test/features/support/env.rb
204
212
  examples/self_test/features/tags_sample.feature
205
213
  examples/self_test/features/tons_of_cukes.feature
206
214
  examples/self_test/features/undefined_multiline_args.feature
215
+ examples/self_test/list-of-features.txt
207
216
  examples/sinatra/README.textile
208
217
  examples/sinatra/Rakefile
209
218
  examples/sinatra/app.rb
@@ -253,8 +262,6 @@ examples/watir/Rakefile
253
262
  examples/watir/features/search.feature
254
263
  examples/watir/features/step_definitons/search_steps.rb
255
264
  examples/watir/features/support/env.rb
256
- features/after_block_exceptions.feature
257
- features/after_step_block_exceptions.feature
258
265
  features/background.feature
259
266
  features/bug_371.feature
260
267
  features/cucumber_cli.feature
@@ -262,6 +269,9 @@ features/cucumber_cli_diff_disabled.feature
262
269
  features/cucumber_cli_outlines.feature
263
270
  features/custom_formatter.feature
264
271
  features/drb_server_integration.feature
272
+ features/exception_in_after_block.feature
273
+ features/exception_in_after_step_block.feature
274
+ features/exception_in_before_block.feature
265
275
  features/exclude_files.feature
266
276
  features/expand.feature
267
277
  features/html_formatter.feature
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = %w{--format pretty}
6
+ end
@@ -0,0 +1,10 @@
1
+ # language: uz
2
+ Функционал: Сонларни кушиш
3
+ Хаелда кушмаслик учун
4
+ Купчилик сонларни атомат равищда кушишни истайди
5
+
6
+ Сценарий: Икки бутун сонни кушиш
7
+ Агар 50 сонини киритсам
8
+ Ва ундан сунг 70 сонини киритсам
9
+ Агар "+" боссам
10
+ Унда жавоб 120 сони булиши керак
@@ -0,0 +1,17 @@
1
+ # language: uz
2
+ Функционал: Кетма кет хисобот
3
+ Мураккаб амалларни хисоблаш учун
4
+ Ишлатувчилар олдинги жавоблар устидан амаллар бажармокчилардыдущей операций
5
+
6
+ Тарих:
7
+ Агар 3 ва 5 сонини кушсам
8
+
9
+ Сценарий: охирги жавоб билан кушиш амали
10
+ Агар 4 сонини киритсам
11
+ Ва "+"ни боссам
12
+ Унда жавоб 12 сони булиши керак
13
+
14
+ Сценарий: охирги жавобни булиш
15
+ Агар 2 сонини киритсам
16
+ Ва "/"ни боссам
17
+ Унда жавоб 4 сони булиши керак
@@ -0,0 +1,17 @@
1
+ # language: uz
2
+ Функционал: Сонларни булиш
3
+ Булиш кийин амал булганлиги сабабли
4
+ Одамларга бу амални калькуляторда килишни имконини бериш керак
5
+
6
+ Сценарий структураси: Бутун сонли булиш
7
+ Агар ман <булинувчи> сонини киритсам
8
+ Ва унда сунг <булувчи> сонини киритсам
9
+ Агар "/"ни боссам
10
+ Унда жавоб <булинма> сони булиши керак
11
+
12
+ Мисоллар:
13
+ | булинувчи | булувчи | булинма |
14
+ | 100 | 2 | 50 |
15
+ | 28 | 7 | 4 |
16
+ | 0 | 5 | 0 |
17
+
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+
3
+ Агар /(\d+) сонини киритсам/ do |сон|
4
+ calc.push сон.to_i
5
+ end
6
+
7
+ Ва /"(.*)"(.*) боссам/ do |операция, _|
8
+ calc.send операция
9
+ end
10
+
11
+ Унда /жавоб (\d+) сони булиши керак/ do |жавоб|
12
+ calc.result.should == жавоб.to_f
13
+ end
14
+
15
+ Агар /(\d+) ва (\d+) сонини кушсам/ do |кушилувчи1, кушилувчи2|
16
+ Агар %{#{кушилувчи1} сонини киритсам}
17
+ Агар %{ундан сунг #{кушилувчи2} сонини киритсам}
18
+ Агар %{"+"ни боссам}
19
+ end
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
4
+ require 'cucumber/formatter/unicode'
5
+ require 'calculator'
6
+ $KCODE='u' unless Cucumber::RUBY_1_9
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ module LazyCalc
3
+ def calc
4
+ @calc ||= Calculator.new
5
+ end
6
+ end
7
+
8
+ World(LazyCalc)
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+
3
+ class Calculator
4
+ def initialize
5
+ @stack = []
6
+ end
7
+
8
+ def push(arg)
9
+ @stack.push arg
10
+ end
11
+
12
+ def result
13
+ @stack.last
14
+ end
15
+
16
+ def +
17
+ @stack.push @stack.pop + @stack.pop
18
+ end
19
+
20
+ def /
21
+ divisor, dividend = [@stack.pop, @stack.pop] # Hm, @stack.pop(2) doesn't work
22
+ @stack.push dividend / divisor
23
+ end
24
+ end
@@ -0,0 +1 @@
1
+ features/sample.feature:12
@@ -1,8 +1,8 @@
1
- Feature: After Block Exceptions
1
+ Feature: Exception in After Block
2
2
  In order to use custom assertions at the end of each scenario
3
3
  As a developer
4
4
  I want exceptions raised in After blocks to be handled gracefully and reported by the formatters
5
-
5
+
6
6
  Background:
7
7
  Given a standard Cucumber project directory structure
8
8
  And a file named "features/step_definitions/steps.rb" with:
@@ -11,7 +11,7 @@ Feature: After Block Exceptions
11
11
  @naughty = true
12
12
  end
13
13
 
14
- Given /^this step works$/ do
14
+ Given /^this step works$/ do
15
15
  end
16
16
  """
17
17
  And a file named "features/support/env.rb" with:
@@ -37,10 +37,10 @@ Feature: After Block Exceptions
37
37
  Given this step works
38
38
  """
39
39
  When I run cucumber features
40
- Then it should fail with
40
+ Then it should fail with
41
41
  """
42
42
  Feature: Sample
43
-
43
+
44
44
  Scenario: Naughty Step # features/naughty_step_in_scenario.feature:3
45
45
  Given this step does something naughty # features/step_definitions/steps.rb:1
46
46
  This scenario has been very very naughty (NaughtyScenarioException)
@@ -48,13 +48,13 @@ Feature: After Block Exceptions
48
48
 
49
49
  Scenario: Success # features/naughty_step_in_scenario.feature:6
50
50
  Given this step works # features/step_definitions/steps.rb:5
51
-
51
+
52
52
  Failing Scenarios:
53
53
  cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
54
-
54
+
55
55
  2 scenarios (1 failed, 1 passed)
56
56
  2 steps (2 passed)
57
-
57
+
58
58
  """
59
59
 
60
60
  @mri186
@@ -65,7 +65,7 @@ Feature: After Block Exceptions
65
65
 
66
66
  Scenario Outline: Naughty Step
67
67
  Given this step <Might Work>
68
-
68
+
69
69
  Examples:
70
70
  | Might Work |
71
71
  | works |
@@ -74,16 +74,16 @@ Feature: After Block Exceptions
74
74
 
75
75
  Scenario: Success
76
76
  Given this step works
77
-
77
+
78
78
  """
79
79
  When I run cucumber features
80
- Then it should fail with
80
+ Then it should fail with
81
81
  """
82
82
  Feature: Sample
83
-
83
+
84
84
  Scenario Outline: Naughty Step # features/naughty_step_in_scenario_outline.feature:3
85
85
  Given this step <Might Work> # features/step_definitions/steps.rb:5
86
-
86
+
87
87
  Examples:
88
88
  | Might Work |
89
89
  | works |
@@ -91,12 +91,12 @@ Feature: After Block Exceptions
91
91
  This scenario has been very very naughty (NaughtyScenarioException)
92
92
  ./features/support/env.rb:4:in `After'
93
93
  | works |
94
-
94
+
95
95
  Scenario: Success # features/naughty_step_in_scenario_outline.feature:12
96
96
  Given this step works # features/step_definitions/steps.rb:5
97
-
97
+
98
98
  4 scenarios (1 failed, 3 passed)
99
99
  4 steps (4 passed)
100
-
100
+
101
101
  """
102
-
102
+
@@ -1,8 +1,8 @@
1
- Feature: AfterStep Block Exceptions
1
+ Feature: Exception in AfterStep Block
2
2
  In order to use custom assertions at the end of each step
3
3
  As a developer
4
4
  I want exceptions raised in AfterStep blocks to be handled gracefully and reported by the formatters
5
-
5
+
6
6
  Background:
7
7
  Given a standard Cucumber project directory structure
8
8
  And a file named "features/step_definitions/steps.rb" with:
@@ -11,7 +11,7 @@ Feature: AfterStep Block Exceptions
11
11
  @naughty = true
12
12
  end
13
13
 
14
- Given /^this step works$/ do
14
+ Given /^this step works$/ do
15
15
  end
16
16
  """
17
17
  And a file named "features/support/env.rb" with:
@@ -37,10 +37,10 @@ Feature: AfterStep Block Exceptions
37
37
  Given this step works
38
38
  """
39
39
  When I run cucumber features
40
- Then it should fail with
40
+ Then it should fail with
41
41
  """
42
42
  Feature: Sample
43
-
43
+
44
44
  Scenario: Naughty Step # features/naughty_step_in_scenario.feature:3
45
45
  Given this step does something naughty # features/step_definitions/steps.rb:1
46
46
  This step has been very very naughty (NaughtyStepException)
@@ -49,13 +49,13 @@ Feature: AfterStep Block Exceptions
49
49
 
50
50
  Scenario: Success # features/naughty_step_in_scenario.feature:6
51
51
  Given this step works # features/step_definitions/steps.rb:5
52
-
52
+
53
53
  Failing Scenarios:
54
54
  cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
55
-
55
+
56
56
  2 scenarios (1 failed, 1 passed)
57
57
  2 steps (1 failed, 1 passed)
58
-
58
+
59
59
  """
60
60
 
61
61
  @mri186
@@ -78,7 +78,7 @@ Feature: AfterStep Block Exceptions
78
78
 
79
79
  """
80
80
  When I run cucumber features
81
- Then it should fail with
81
+ Then it should fail with
82
82
  """
83
83
  Feature: Sample
84
84
 
@@ -0,0 +1,47 @@
1
+ Feature: Exception in Before Block
2
+ In order to know with confidence that my before blocks have run OK
3
+ As a developer
4
+ I want exceptions raised in Before blocks to be handled gracefully and reported by the formatters
5
+
6
+ Background:
7
+ Given a standard Cucumber project directory structure
8
+ And a file named "features/step_definitions/steps.rb" with:
9
+ """
10
+ Given /^this step works$/ do
11
+ end
12
+ """
13
+ And a file named "features/support/env.rb" with:
14
+ """
15
+ class SomeSetupException < Exception; end
16
+ class BadStepException < Exception; end
17
+ Before do
18
+ raise SomeSetupException.new("I cannot even start this scenario")
19
+ end
20
+ """
21
+
22
+ @mri186
23
+ Scenario: Handle Exception in standard scenario step and carry on
24
+ Given a file named "features/naughty_step_in_scenario.feature" with:
25
+ """
26
+ Feature: Sample
27
+
28
+ Scenario: Run a good step
29
+ Given this step works
30
+ """
31
+ When I run cucumber features
32
+ Then it should fail with
33
+ """
34
+ Feature: Sample
35
+
36
+ Scenario: Run a good step # features/naughty_step_in_scenario.feature:3
37
+ I cannot even start this scenario (SomeSetupException)
38
+ ./features/support/env.rb:4:in `Before'
39
+ Given this step works # features/step_definitions/steps.rb:1
40
+
41
+ Failing Scenarios:
42
+ cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Run a good step
43
+
44
+ 1 scenario (1 failed)
45
+ 1 step (1 skipped)
46
+
47
+ """
@@ -7,33 +7,45 @@ module Cucumber
7
7
 
8
8
  attr_reader :name, :line
9
9
 
10
+ class EmptyBackground
11
+ def failed?
12
+ false
13
+ end
14
+
15
+ def feature_elements
16
+ []
17
+ end
18
+
19
+ def step_collection(step_invocations)
20
+ StepCollection.new(step_invocations)
21
+ end
22
+ end
23
+
10
24
  def initialize(background, comment, tags, line, keyword, name, steps)
11
- @background, @comment, @tags, @line, @keyword, @name = background, comment, tags, line, keyword, name
25
+ @background = background || EmptyBackground.new
26
+ @comment, @tags, @line, @keyword, @name = comment, tags, line, keyword, name
12
27
  attach_steps(steps)
13
28
 
14
29
  step_invocations = steps.map{|step| step.step_invocation}
15
- if @background
16
- @steps = @background.step_collection(step_invocations)
17
- @background.feature_elements << self
18
- else
19
- @steps = StepCollection.new(step_invocations)
20
- end
30
+ @steps = @background.step_collection(step_invocations)
31
+ @background.feature_elements << self
21
32
  end
22
33
 
23
34
  def accept(visitor)
24
35
  return if $cucumber_interrupted
25
- visitor.visit_comment(@comment) unless @comment.empty?
26
- visitor.visit_tags(@tags)
27
- visitor.visit_scenario_name(@keyword, @name, file_colon_line(@line), source_indent(first_line_length))
36
+
37
+ with_visitor(visitor) do
38
+ visitor.visit_comment(@comment) unless @comment.empty?
39
+ visitor.visit_tags(@tags)
40
+ visitor.visit_scenario_name(@keyword, @name, file_colon_line(@line), source_indent(first_line_length))
28
41
 
29
- background_failed = @background && @background.failed?
30
- skip_invoke! if background_failed
31
- skip_hooks = background_failed || @executed
32
- visitor.step_mother.before_and_after(self, skip_hooks) do
33
- visitor.visit_steps(@steps)
42
+ skip_invoke! if @background.failed?
43
+ visitor.step_mother.before_and_after(self, skip_hooks?) do
44
+ skip_invoke! if failed?
45
+ visitor.visit_steps(@steps)
46
+ end
47
+ @executed = true
34
48
  end
35
- visitor.visit_exception(@exception, :failed) if @exception
36
- @executed = true
37
49
  end
38
50
 
39
51
  # Returns true if one or more steps failed
@@ -43,6 +55,7 @@ module Cucumber
43
55
 
44
56
  def fail!(exception)
45
57
  @exception = exception
58
+ @current_visitor.visit_exception(@exception, :failed)
46
59
  end
47
60
 
48
61
  # Returns true if all steps passed
@@ -78,7 +91,18 @@ module Cucumber
78
91
  sexp += steps if steps.any?
79
92
  sexp
80
93
  end
81
-
94
+
95
+ private
96
+
97
+ def with_visitor(visitor)
98
+ @current_visitor = visitor
99
+ yield
100
+ @current_visitor = nil
101
+ end
102
+
103
+ def skip_hooks?
104
+ @background.failed? || @executed
105
+ end
82
106
  end
83
107
  end
84
108
  end
@@ -89,12 +89,18 @@ module Cucumber
89
89
  BACKTRACE_FILTER_PATTERNS.detect { |p| line =~ p }
90
90
  end
91
91
 
92
- if Cucumber::JRUBY
93
- # In order to filter backtraces properly on JRuby, we need to
94
- # create a new Exception - otherwise the backtrace is *not*
95
- # filtered. The rescue is for org.jruby.NativeException, which
96
- # cannot be new'ed.
97
- e = e.class.new(e.message) rescue Exception.new(e.message)
92
+ if Cucumber::JRUBY && e.class.name == 'NativeException'
93
+ # JRuby's NativeException ignores #set_backtrace.
94
+ # We're fixing it.
95
+ e.instance_eval do
96
+ def set_backtrace(backtrace)
97
+ @backtrace = backtrace
98
+ end
99
+
100
+ def backtrace
101
+ @backtrace
102
+ end
103
+ end
98
104
  end
99
105
  e.set_backtrace(filtered)
100
106
  e
@@ -1,3 +1,4 @@
1
+ require 'logger'
1
2
  require 'cucumber/cli/options'
2
3
  require 'cucumber/constantize'
3
4
 
@@ -140,8 +141,22 @@ module Cucumber
140
141
  paths.map { |f| File.directory?(f) ? f : File.dirname(f) }.uniq
141
142
  end
142
143
 
144
+ def log
145
+ logger = Logger.new(@out_stream)
146
+ logger.formatter = LogFormatter.new
147
+ logger.level = Logger::INFO
148
+ logger.level = Logger::DEBUG if self.verbose?
149
+ logger
150
+ end
151
+
143
152
  private
144
153
 
154
+ class LogFormatter < ::Logger::Formatter
155
+ def call(severity, time, progname, msg)
156
+ msg
157
+ end
158
+ end
159
+
145
160
  def paths
146
161
  @options[:paths].empty? ? ['features'] : @options[:paths]
147
162
  end
@@ -14,12 +14,6 @@ module Cucumber
14
14
  class Main
15
15
  FAILURE = 1
16
16
 
17
- class LogFormatter < ::Logger::Formatter
18
- def call(severity, time, progname, msg)
19
- msg
20
- end
21
- end
22
-
23
17
  class << self
24
18
  def step_mother
25
19
  @step_mother ||= StepMother.new
@@ -46,12 +40,7 @@ module Cucumber
46
40
  end
47
41
  end
48
42
  step_mother.options = configuration.options
49
-
50
- logger = Logger.new(@out_stream)
51
- logger.formatter = LogFormatter.new
52
- logger.level = Logger::INFO
53
- logger.level = Logger::DEBUG if configuration.verbose?
54
- step_mother.log = logger
43
+ step_mother.log = configuration.log
55
44
 
56
45
  step_mother.load_code_files(configuration.support_to_load)
57
46
  step_mother.after_configuration(configuration)
@@ -97,10 +86,6 @@ module Cucumber
97
86
  @configuration
98
87
  end
99
88
 
100
- def verbose_log(string)
101
- @out_stream.puts(string) if configuration.verbose?
102
- end
103
-
104
89
  private
105
90
 
106
91
  def enable_diffing
@@ -500,6 +500,20 @@
500
500
  and: A
501
501
  but: Ale
502
502
  space_after_keyword: true
503
+ "uz":
504
+ name: Uzbek
505
+ native: Узбекча
506
+ encoding: UTF-8
507
+ feature: Функционал
508
+ background: Тарих
509
+ scenario: Сценарий
510
+ scenario_outline: Сценарий структураси
511
+ examples: Мисоллар
512
+ given: Агар
513
+ when: Агар
514
+ then: Унда
515
+ and: Ва
516
+ but: Лекин|Бирок|Аммо
503
517
  "vi":
504
518
  name: Vietnamese
505
519
  native: Tiếng Việt
@@ -1,4 +1,3 @@
1
- require 'logger'
2
1
  require 'cucumber/constantize'
3
2
  require 'cucumber/core_ext/instance_exec'
4
3
  require 'cucumber/parser/natural_language'
@@ -2,7 +2,7 @@ module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 99
5
+ TINY = 100
6
6
  PATCH = nil # Set to nil for official release
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
@@ -109,6 +109,15 @@ module Cucumber
109
109
  end
110
110
  })
111
111
  end
112
+
113
+ it "should be helpful with tables" do
114
+ @rb.snippet_text('Given', 'A "first" arg', Cucumber::Ast::Table).should == unindented(%{
115
+ Given /^A "([^\\"]*)" arg$/ do |arg1, table|
116
+ # table is a Cucumber::Ast::Table
117
+ pending
118
+ end
119
+ })
120
+ end
112
121
  end
113
122
  end
114
123
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kosmas58-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.99
4
+ version: 0.3.100
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-09-03 00:00:00 -07:00
12
+ date: 2009-09-09 00:00:00 -07:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -74,6 +74,7 @@ extra_rdoc_files:
74
74
  - License.txt
75
75
  - Manifest.txt
76
76
  - README.txt
77
+ - examples/self_test/list-of-features.txt
77
78
  files:
78
79
  - History.txt
79
80
  - License.txt
@@ -224,6 +225,14 @@ files:
224
225
  - examples/i18n/sk/features/division.feature
225
226
  - examples/i18n/sk/features/step_definitons/calculator_steps.rb
226
227
  - examples/i18n/sk/lib/calculator.rb
228
+ - examples/i18n/uz/Rakefile
229
+ - examples/i18n/uz/features/addition.feature
230
+ - examples/i18n/uz/features/consecutive_calculations.feature
231
+ - examples/i18n/uz/features/division.feature
232
+ - examples/i18n/uz/features/step_definitons/calculator_steps.rb
233
+ - examples/i18n/uz/features/support/env.rb
234
+ - examples/i18n/uz/features/support/world.rb
235
+ - examples/i18n/uz/lib/calculator.rb
227
236
  - examples/i18n/zh-CN/Rakefile
228
237
  - examples/i18n/zh-CN/features/addition.feature
229
238
  - examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb
@@ -281,6 +290,7 @@ files:
281
290
  - examples/self_test/features/tags_sample.feature
282
291
  - examples/self_test/features/tons_of_cukes.feature
283
292
  - examples/self_test/features/undefined_multiline_args.feature
293
+ - examples/self_test/list-of-features.txt
284
294
  - examples/sinatra/README.textile
285
295
  - examples/sinatra/Rakefile
286
296
  - examples/sinatra/app.rb
@@ -330,8 +340,6 @@ files:
330
340
  - examples/watir/features/search.feature
331
341
  - examples/watir/features/step_definitons/search_steps.rb
332
342
  - examples/watir/features/support/env.rb
333
- - features/after_block_exceptions.feature
334
- - features/after_step_block_exceptions.feature
335
343
  - features/background.feature
336
344
  - features/bug_371.feature
337
345
  - features/cucumber_cli.feature
@@ -339,6 +347,9 @@ files:
339
347
  - features/cucumber_cli_outlines.feature
340
348
  - features/custom_formatter.feature
341
349
  - features/drb_server_integration.feature
350
+ - features/exception_in_after_block.feature
351
+ - features/exception_in_after_step_block.feature
352
+ - features/exception_in_before_block.feature
342
353
  - features/exclude_files.feature
343
354
  - features/expand.feature
344
355
  - features/html_formatter.feature