gherkin 1.0.22-i386-mingw32 → 1.0.23-i386-mingw32

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.
@@ -1,3 +1,8 @@
1
+ == 1.0.23 (2010-05-02)
2
+
3
+ === Changed Features
4
+ * Java API now uses camelCased method names instead of underscored (more Java-like) (Aslak Hellesøy)
5
+
1
6
  == 1.0.22 (2010-04-28)
2
7
 
3
8
  === Bugfixes
@@ -8,12 +13,12 @@
8
13
  === Bugfixes
9
14
  * Fix compile warning on ruby 1.9.2dev (2009-07-18 trunk 24186) (#53 Aslak Hellesøy)
10
15
 
11
- == 1.0.20
16
+ == 1.0.20 (2010-04-20)
12
17
 
13
18
  === Bugfixes
14
19
  * The gherkin CLI is working again (Gregory Hnatiuk)
15
20
 
16
- == 1.0.19
21
+ == 1.0.19 (2010-04-20)
17
22
 
18
23
  === New Features
19
24
  * Works with JRuby 1.5.0.RC1 (Aslak Hellesøy)
@@ -21,7 +26,7 @@
21
26
  === Changed Features
22
27
  * I18n.code_keywords now return And and But as well, making Cucumber StepDefs a little more flexible (Aslak Hellesøy)
23
28
 
24
- == 1.0.18 (2010-04-21)
29
+ == 1.0.18 (2010-04-20)
25
30
 
26
31
  === Bugfixes
27
32
  * Explicitly use UTF-8 encoding when scanning source with Java lexer. (Aslak Hellesøy)
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ begin
20
20
  gem.executables = ["gherkin"]
21
21
  gem.add_dependency "trollop", ">= 1.15"
22
22
  gem.add_development_dependency "rspec", ">= 1.3.0"
23
- gem.add_development_dependency "cucumber", ">= 0.7.0.beta.1"
23
+ gem.add_development_dependency "cucumber", ">= 0.7.0.beta.8"
24
24
  gem.add_development_dependency "rake-compiler", ">= 0.7.0" unless defined?(JRUBY_VERSION)
25
25
 
26
26
  gem.files -= FileList['ikvm/**/*']
@@ -2,4 +2,4 @@
2
2
  :major: 1
3
3
  :minor: 0
4
4
  :build:
5
- :patch: 22
5
+ :patch: 23
@@ -53,7 +53,7 @@ module Gherkin
53
53
  @io.puts "\n#{grab_comments!(' ')}#{grab_tags!(' ')} #{keyword}: #{indent(name, ' ')}"
54
54
  end
55
55
 
56
- def step(keyword, name, line, status=nil, arguments=nil, location=nil)
56
+ def step(keyword, name, line, status=nil, exception=nil, arguments=nil, location=nil)
57
57
  flush_table
58
58
  status_param = "#{status}_param" if status
59
59
  name = Gherkin::Formatter::Argument.format(name, @format, (arguments || []))
@@ -1,6 +1,6 @@
1
1
  module Gherkin
2
2
  module Parser
3
- class Sexp < Array
3
+ class Event < Array
4
4
  def initialize(*args)
5
5
  super
6
6
  self[1] = self[1].to_a if event == :row # Special JRuby handling
@@ -1,4 +1,4 @@
1
- require 'gherkin/parser/sexp'
1
+ require 'gherkin/parser/event'
2
2
  require 'gherkin/parser/tag_expression'
3
3
 
4
4
  module Gherkin
@@ -34,32 +34,32 @@ module Gherkin
34
34
 
35
35
  private
36
36
 
37
- def method_missing(*sexp_args)
38
- sexp = Sexp.new(sexp_args)
37
+ def method_missing(*event_args)
38
+ event = Event.new(event_args)
39
39
 
40
- return sexp.replay(@listener) if no_filters?
40
+ return event.replay(@listener) if no_filters?
41
41
 
42
- case(sexp.event)
42
+ case(event.event)
43
43
  when :tag
44
- @meta_buffer << sexp
44
+ @meta_buffer << event
45
45
  when :comment
46
- @meta_buffer << sexp
46
+ @meta_buffer << event
47
47
  when :feature
48
48
  @feature_buffer = @meta_buffer
49
- @feature_buffer << sexp
49
+ @feature_buffer << event
50
50
  @feature_tags = extract_tags
51
51
  @meta_buffer = []
52
- @feature_ok = true if filter_match?(sexp)
52
+ @feature_ok = true if filter_match?(event)
53
53
  when :background
54
54
  @feature_buffer += @meta_buffer
55
- @feature_buffer << sexp
55
+ @feature_buffer << event
56
56
  @meta_buffer = []
57
57
  @table_state = :background
58
- @background_ok = true if filter_match?(sexp)
58
+ @background_ok = true if filter_match?(event)
59
59
  when :scenario
60
60
  replay_examples_rows_buffer
61
61
  @scenario_buffer = @meta_buffer
62
- @scenario_buffer << sexp
62
+ @scenario_buffer << event
63
63
  @scenario_tags = extract_tags
64
64
  @example_tags = []
65
65
  @meta_buffer = []
@@ -70,7 +70,7 @@ module Gherkin
70
70
  when :scenario_outline
71
71
  replay_examples_rows_buffer
72
72
  @scenario_buffer = @meta_buffer
73
- @scenario_buffer << sexp
73
+ @scenario_buffer << event
74
74
  @scenario_tags = extract_tags
75
75
  @example_tags = []
76
76
  @meta_buffer = []
@@ -81,7 +81,7 @@ module Gherkin
81
81
  when :examples
82
82
  replay_examples_rows_buffer
83
83
  @examples_buffer = @meta_buffer
84
- @examples_buffer << sexp
84
+ @examples_buffer << event
85
85
  @example_tags = extract_tags
86
86
  @meta_buffer = []
87
87
  @examples_rows_buffer = []
@@ -91,11 +91,11 @@ module Gherkin
91
91
  case(@table_state)
92
92
  when :background
93
93
  @feature_buffer += @meta_buffer
94
- @feature_buffer << sexp
94
+ @feature_buffer << event
95
95
  @meta_buffer = []
96
- @background_ok = true if filter_match?(sexp)
96
+ @background_ok = true if filter_match?(event)
97
97
  else
98
- @scenario_buffer << sexp
98
+ @scenario_buffer << event
99
99
  @scenario_ok ||= filter_match?(*@scenario_buffer)
100
100
  @table_state = :step
101
101
  end
@@ -103,32 +103,32 @@ module Gherkin
103
103
  case(@table_state)
104
104
  when :examples
105
105
  unless header_row_already_buffered?
106
- @examples_buffer << sexp
106
+ @examples_buffer << event
107
107
  @examples_ok = true if filter_match?(*@examples_buffer)
108
108
  else
109
- @examples_rows_buffer << sexp if @scenario_ok || @examples_ok || @feature_ok || filter_match?(sexp)
109
+ @examples_rows_buffer << event if @scenario_ok || @examples_ok || @feature_ok || filter_match?(event)
110
110
  end
111
111
  when :step
112
- @scenario_buffer << sexp
112
+ @scenario_buffer << event
113
113
  @scenario_ok ||= filter_match?(*@scenario_buffer)
114
114
  when :background
115
115
  @feature_buffer += @meta_buffer
116
- @feature_buffer << sexp
116
+ @feature_buffer << event
117
117
  @meta_buffer = []
118
118
  else
119
119
  raise "Bad table_state:#{@table_state.inspect}"
120
120
  end
121
121
  when :py_string
122
122
  if @table_state == :background
123
- @feature_buffer << sexp
123
+ @feature_buffer << event
124
124
  @feature_ok ||= filter_match?(*@feature_buffer)
125
125
  else
126
- @scenario_buffer << sexp
126
+ @scenario_buffer << event
127
127
  @scenario_ok ||= filter_match?(*@scenario_buffer)
128
128
  end
129
129
  when :eof
130
130
  replay_examples_rows_buffer
131
- sexp.replay(@listener)
131
+ event.replay(@listener)
132
132
  return
133
133
  else
134
134
  super
@@ -160,9 +160,9 @@ module Gherkin
160
160
  return @examples_buffer.any? && @examples_buffer[-1].event == :row
161
161
  end
162
162
 
163
- def filter_match?(*sexps)
163
+ def filter_match?(*events)
164
164
  return false unless[:name_match?, :line_match?].include?(@filter_method)
165
- sexps.detect{|sexp| sexp.__send__(@filter_method, @filters)}
165
+ events.detect{|event| event.__send__(@filter_method, @filters)}
166
166
  end
167
167
 
168
168
  def tag_match?
@@ -170,8 +170,8 @@ module Gherkin
170
170
  end
171
171
 
172
172
  def replay_buffers
173
- (@feature_buffer + @scenario_buffer).each do |sexp|
174
- sexp.replay(@listener)
173
+ (@feature_buffer + @scenario_buffer).each do |event|
174
+ event.replay(@listener)
175
175
  end
176
176
  @feature_buffer = []
177
177
  @scenario_buffer = []
@@ -180,8 +180,8 @@ module Gherkin
180
180
  def replay_examples_rows_buffer
181
181
  if @examples_rows_buffer.any?
182
182
  replay_buffers
183
- (@examples_buffer + @examples_rows_buffer).each do |sexp|
184
- sexp.replay(@listener)
183
+ (@examples_buffer + @examples_rows_buffer).each do |event|
184
+ event.replay(@listener)
185
185
  end
186
186
  @examples_rows_buffer = []
187
187
  end
@@ -192,7 +192,7 @@ module Gherkin
192
192
  end
193
193
 
194
194
  def extract_tags
195
- @meta_buffer.select { |sexp| sexp.event == :tag }.map { |sexp| sexp.keyword }
195
+ @meta_buffer.select { |event| event.event == :tag }.map { |event| event.keyword }
196
196
  end
197
197
  end
198
198
  end
@@ -30,7 +30,7 @@ public class <%= @i18n.underscored_iso_code.upcase %> implements Lexer {
30
30
 
31
31
  action store_pystring_content {
32
32
  String con = unindent(startCol, substring(data, contentStart, nextKeywordStart-1).replaceFirst("(\\r?\\n)?( )*\\Z", "").replaceAll("\\\\\"\\\\\"\\\\\"", "\"\"\""));
33
- listener.py_string(con, currentLine);
33
+ listener.pyString(con, currentLine);
34
34
  }
35
35
 
36
36
  action store_feature_content {
@@ -56,7 +56,7 @@ public class <%= @i18n.underscored_iso_code.upcase %> implements Lexer {
56
56
 
57
57
  action store_scenario_outline_content {
58
58
  String con = multilineStrip(keywordContent(data, p, eof, nextKeywordStart, contentStart));
59
- listener.scenario_outline(keyword, con, currentLine);
59
+ listener.scenarioOutline(keyword, con, currentLine);
60
60
  if(nextKeywordStart != -1) p = nextKeywordStart - 1;
61
61
  nextKeywordStart = -1;
62
62
  }
@@ -36,8 +36,8 @@ module Gherkin
36
36
  ['When ', 'foo']
37
37
  ])
38
38
  @l.scenario("Scenario", "The scenario", 4, "features/foo.feature:4")
39
- @l.step("Given ", "some stuff", 5, nil, nil, "features/step_definitions/bar.rb:56")
40
- @l.step("When ", "foo", 6, nil, nil, "features/step_definitions/bar.rb:96")
39
+ @l.step("Given ", "some stuff", 5, nil, nil, nil, "features/step_definitions/bar.rb:56")
40
+ @l.step("When ", "foo", 6, nil, nil, nil, "features/step_definitions/bar.rb:96")
41
41
 
42
42
  assert_io(%{Feature: Hello
43
43
  World
@@ -54,7 +54,7 @@ module Gherkin
54
54
  ['Given ', 'some stuff that is longer']
55
55
  ])
56
56
  @l.scenario("Scenario", "The scenario", 4, "features/foo.feature:4")
57
- @l.step("Given ", "some stuff that is longer", 5, nil, nil, "features/step_definitions/bar.rb:56")
57
+ @l.step("Given ", "some stuff that is longer", 5, nil, nil, nil, "features/step_definitions/bar.rb:56")
58
58
 
59
59
  assert_io(%{Feature: Hello
60
60
  World
@@ -70,7 +70,7 @@ module Gherkin
70
70
  ['Given ', 'some stuff that is longer']
71
71
  ])
72
72
  @l.scenario("Scenario", "The scenario", 4, "features/foo.feature:4")
73
- @l.step("Given ", "some stuff that is longer", 5, nil, nil, "features/step_definitions/bar.rb:56")
73
+ @l.step("Given ", "some stuff that is longer", 5, nil, nil, nil, "features/step_definitions/bar.rb:56")
74
74
 
75
75
  assert_io(%{Feature: Hello
76
76
  World
@@ -95,7 +95,7 @@ module Gherkin
95
95
 
96
96
  it "should highlight arguments for regular steps" do
97
97
  passed = defined?(JRUBY_VERSION) ? 'passed' : :passed
98
- @l.step("Given ", "I have 999 cukes in my belly", 3, passed, [Gherkin::Formatter::Argument.new(7, '999')], nil)
98
+ @l.step("Given ", "I have 999 cukes in my belly", 3, passed, nil, [Gherkin::Formatter::Argument.new(7, '999')], nil)
99
99
  assert_io(" Given I have 999 cukes in my belly\n")
100
100
  end
101
101
 
@@ -5,6 +5,9 @@ module Gherkin
5
5
  end
6
6
 
7
7
  def method_missing(event, *args)
8
+ event = :scenario_outline if event == :scenarioOutline # Special Java Lexer handling
9
+ event = :py_string if event == :pyString # Special Java Lexer handling
10
+ event = :syntax_error if event == :syntaxError # Special Java Lexer handling
8
11
  args[0] = args[0].to_a if event == :row # Special JRuby handling
9
12
  @sexps << [event] + args
10
13
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 22
9
- version: 1.0.22
8
+ - 23
9
+ version: 1.0.23
10
10
  platform: i386-mingw32
11
11
  authors:
12
12
  - Mike Sassak
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-04-28 00:00:00 -05:00
19
+ date: 2010-05-02 00:00:00 +02:00
20
20
  default_executable: gherkin
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -58,8 +58,8 @@ dependencies:
58
58
  - 7
59
59
  - 0
60
60
  - beta
61
- - 1
62
- version: 0.7.0.beta.1
61
+ - 8
62
+ version: 0.7.0.beta.8
63
63
  type: :development
64
64
  version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
@@ -208,11 +208,11 @@ files:
208
208
  - lib/gherkin/i18n.yml
209
209
  - lib/gherkin/i18n_lexer.rb
210
210
  - lib/gherkin/java_impl.rb
211
+ - lib/gherkin/parser/event.rb
211
212
  - lib/gherkin/parser/filter_listener.rb
212
213
  - lib/gherkin/parser/meta.txt
213
214
  - lib/gherkin/parser/parser.rb
214
215
  - lib/gherkin/parser/root.txt
215
- - lib/gherkin/parser/sexp.rb
216
216
  - lib/gherkin/parser/steps.txt
217
217
  - lib/gherkin/parser/tag_expression.rb
218
218
  - lib/gherkin/rb_lexer.rb