gherkin 1.0.8-i386-mswin32 → 1.0.9-i386-mswin32

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 CHANGED
@@ -5,4 +5,5 @@ rdoc
5
5
  pkg
6
6
  ext
7
7
  tmp
8
- release
8
+ release
9
+ gherkin.gemspec
@@ -1,3 +1,8 @@
1
+ == 1.0.9 (2010-04-12)
2
+
3
+ === Bugfixes
4
+ * Triple escaped quotes (\"\"\") in PyStrings are unescaped to """. (Aslak Hellesøy)
5
+
1
6
  == 1.0.8 (2010-04-10)
2
7
 
3
8
  === Bugfixes
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 0
3
- :patch: 8
3
+ :patch: 9
4
4
  :major: 1
@@ -1,11 +1,11 @@
1
1
  require 'stringio'
2
2
  require 'gherkin'
3
- require 'gherkin/formatter/pretty_listener'
3
+ require 'gherkin/formatter/pretty_formatter'
4
4
 
5
5
  module PrettyPlease
6
6
  def pretty(source)
7
7
  io = StringIO.new
8
- listener = Gherkin::Formatter::PrettyListener.new(io)
8
+ listener = Gherkin::Formatter::PrettyFormatter.new(io)
9
9
  parser = Gherkin::Parser.new(listener, true)
10
10
  lexer = Gherkin::I18nLexer.new(parser)
11
11
  lexer.scan(source)
@@ -1,18 +1,10 @@
1
1
  module Gherkin
2
2
  module Formatter
3
3
  class Argument
4
- attr_reader :byte_offset, :val
4
+ require 'gherkin/java_impl'
5
+ java_impl('gherkin.jar')
5
6
 
6
- class << self
7
- def new(byte_offset, val)
8
- if defined?(JRUBY_VERSION)
9
- require 'gherkin.jar'
10
- Java::GherkinFormatter::Argument.new(byte_offset, val)
11
- else
12
- super
13
- end
14
- end
15
- end
7
+ attr_reader :byte_offset, :val
16
8
 
17
9
  def initialize(byte_offset, val)
18
10
  @byte_offset, @val = byte_offset, val
@@ -6,19 +6,11 @@ require 'gherkin/formatter/argument'
6
6
 
7
7
  module Gherkin
8
8
  module Formatter
9
- class PrettyListener
9
+ class PrettyFormatter
10
+ require 'gherkin/java_impl'
11
+ java_impl('gherkin.jar')
12
+
10
13
  include Colors
11
-
12
- class << self
13
- def new(io, monochrome=false)
14
- if defined?(JRUBY_VERSION)
15
- require 'gherkin.jar'
16
- Java::GherkinFormatter::PrettyFormatter.new(io, monochrome)
17
- else
18
- super
19
- end
20
- end
21
- end
22
14
 
23
15
  def initialize(io, monochrome=false)
24
16
  @io = io
@@ -46,7 +46,7 @@ module Gherkin
46
46
  @keywords['grammar_name'] = @keywords['name'].gsub(/\s/, '')
47
47
  end
48
48
 
49
- def lexer(listener, force_ruby)
49
+ def lexer(listener, force_ruby=false)
50
50
  begin
51
51
  if force_ruby
52
52
  rb(listener)
@@ -54,7 +54,7 @@ module Gherkin
54
54
  begin
55
55
  c(listener)
56
56
  rescue NameError, LoadError => e
57
- warn("WARNING: #{e.message}. Reverting to Ruby lexer.")
57
+ raise("WARNING: #{e.message}. Reverting to Ruby lexer.")
58
58
  rb(listener)
59
59
  end
60
60
  end
@@ -109,6 +109,7 @@ module Gherkin
109
109
  keywords('and', space)
110
110
  end
111
111
 
112
+ # Keywords that can be used in Gherkin source
112
113
  def step_keywords
113
114
  %w{given when then and but}.map{|key| keywords(key, true)}.flatten.uniq
114
115
  end
@@ -117,6 +118,13 @@ module Gherkin
117
118
  %w{given when then}.map{|key| keywords(key, true)}.flatten.uniq
118
119
  end
119
120
 
121
+ # Keywords that can be used in code
122
+ def code_keywords
123
+ result = gwt_keywords.map{|keyword| keyword.gsub(/[\s',]/, '').strip}
124
+ result.delete('*')
125
+ result
126
+ end
127
+
120
128
  def keywords(key, space=false)
121
129
  raise "No #{key} in #{@keywords.inspect}" if @keywords[key].nil?
122
130
  @keywords[key].split('|').map{|kw| space ? keyword_space(kw) : kw}
@@ -503,7 +503,7 @@
503
503
  scenario: Сценарій
504
504
  scenario_outline: Структура сценарію
505
505
  examples: Приклади
506
- given: "*|Припустимо|Припустимо що|Нехай"
506
+ given: "*|Припустимо|Припустимо, що|Нехай"
507
507
  when: "*|Якщо"
508
508
  then: "*|То"
509
509
  and: "*|І"
@@ -6,21 +6,12 @@ module Gherkin
6
6
 
7
7
  # The main entry point to lexing Gherkin source.
8
8
  class I18nLexer
9
- LANGUAGE_PATTERN = /language\s*:\s*(.*)/ #:nodoc:
9
+ require 'gherkin/java_impl'
10
+ java_impl('gherkin.jar')
10
11
 
12
+ LANGUAGE_PATTERN = /language\s*:\s*(.*)/ #:nodoc:
11
13
  attr_reader :i18n_language
12
14
 
13
- class << self
14
- def new(listener, force_ruby)
15
- if !force_ruby && defined?(JRUBY_VERSION)
16
- require 'gherkin.jar'
17
- Java::Gherkin::I18nLexer.new(listener)
18
- else
19
- super
20
- end
21
- end
22
- end
23
-
24
15
  def initialize(listener, force_ruby)
25
16
  @listener = listener
26
17
  @force_ruby = force_ruby
@@ -0,0 +1,21 @@
1
+ class Class
2
+ # Causes a Java class to be instantiated instead of the Ruby class when
3
+ # running on JRuby. This is used to test both pure Java and pure Ruby classes
4
+ # from the same Ruby based test suite. The Java Class must have a package name
5
+ # that corresponds with the Ruby class.
6
+ def java_impl(jar)
7
+ if defined?(JRUBY_VERSION)
8
+ require jar
9
+ class << self
10
+ define_method(:new) do |*args|
11
+ names = self.name.split('::')
12
+ package = Java
13
+ names[0..-2].each do |module_name|
14
+ package = package.__send__(module_name.downcase)
15
+ end
16
+ package.__send__(names[-1]).new(*args)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -7,17 +7,11 @@ module Gherkin
7
7
  end
8
8
 
9
9
  class Parser
10
- def self.new(listener, raise_on_error=true, machine_name='root')
11
- if defined?(JRUBY_VERSION)
12
- require 'gherkin.jar'
13
- Java::GherkinParser::Parser.new(listener, raise_on_error, machine_name)
14
- else
15
- super
16
- end
17
- end
10
+ require 'gherkin/java_impl'
11
+ java_impl('gherkin.jar')
18
12
 
19
13
  # Initialize the parser. +machine_name+ refers to a state machine table.
20
- def initialize(listener, raise_on_error, machine_name)
14
+ def initialize(listener, raise_on_error=true, machine_name='root')
21
15
  @listener = listener
22
16
  @raise_on_error = raise_on_error
23
17
  @machines = []
@@ -121,7 +115,7 @@ module Gherkin
121
115
 
122
116
  def transition_table(name)
123
117
  state_machine_reader = StateMachineReader.new
124
- lexer = Gherkin::I18n.new('en').lexer(state_machine_reader, false)
118
+ lexer = Gherkin::I18n.new('en').lexer(state_machine_reader)
125
119
  lexer.scan(File.read(File.dirname(__FILE__) + "/#{name}.txt"))
126
120
  state_machine_reader.rows
127
121
  end
@@ -1,6 +1,6 @@
1
1
  require 'stringio'
2
2
  require 'gherkin/tools/files'
3
- require 'gherkin/tools/pretty_listener'
3
+ require 'gherkin/formatter/pretty_formatter'
4
4
 
5
5
  module Gherkin
6
6
  module Tools
@@ -8,7 +8,7 @@ module Gherkin
8
8
  def run
9
9
  each do |file|
10
10
  purdy = StringIO.new
11
- listener = PrettyListener.new(purdy)
11
+ listener = PrettyFormatter.new(purdy)
12
12
  scan(file, listener)
13
13
  purdy.rewind
14
14
  File.open(file, 'w') {|io| io.write(purdy.read)}
@@ -293,8 +293,10 @@ store_pystring_content(VALUE listener,
293
293
  snprintf(pat, 32, "^ {0,%d}", start_col);
294
294
  VALUE re = rb_reg_regcomp(rb_str_new2(pat));
295
295
  VALUE re2 = rb_reg_regcomp(rb_str_new2("\r\\Z"));
296
+ VALUE unescape_escaped_quotes = rb_reg_regcomp(rb_str_new2("\\\\\"\\\\\"\\\\\""));
296
297
  rb_funcall(con, rb_intern("gsub!"), 2, re, rb_str_new2(""));
297
298
  rb_funcall(con, rb_intern("sub!"), 2, re2, rb_str_new2(""));
299
+ rb_funcall(con, rb_intern("gsub!"), 2, unescape_escaped_quotes, rb_str_new2("\"\"\""));
298
300
  rb_funcall(listener, rb_intern("py_string"), 2, con, INT2FIX(current_line));
299
301
  }
300
302
 
@@ -28,7 +28,7 @@ public class <%= @i18n.sanitized_key.upcase %> implements Lexer {
28
28
  }
29
29
 
30
30
  action store_pystring_content {
31
- String con = unindent(startCol, substring(data, contentStart, nextKeywordStart-1).replaceFirst("(\\r?\\n)?( )*\\Z", ""));
31
+ String con = unindent(startCol, substring(data, contentStart, nextKeywordStart-1).replaceFirst("(\\r?\\n)?( )*\\Z", "").replaceAll("\\\\\"\\\\\"\\\\\"", "\"\"\""));
32
32
  listener.py_string(con, currentLine);
33
33
  }
34
34
 
@@ -21,7 +21,7 @@ module Gherkin
21
21
  }
22
22
 
23
23
  action store_pystring_content {
24
- con = unindent(@start_col, data[@content_start...@next_keyword_start-1].utf8_pack("c*").sub(/(\r?\n)?( )*\Z/, ''))
24
+ con = unindent(@start_col, data[@content_start...@next_keyword_start-1].utf8_pack("c*").sub(/(\r?\n)?( )*\Z/, '').gsub(/\\"\\"\\"/, '"""'))
25
25
  @listener.py_string(con, @current_line)
26
26
  }
27
27
 
@@ -1,5 +1,5 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
- require 'gherkin/formatter/pretty_listener'
2
+ require 'gherkin/formatter/pretty_formatter'
3
3
 
4
4
 
5
5
  module Gherkin
@@ -1,12 +1,12 @@
1
1
  # encoding: utf-8
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
3
- require 'gherkin/formatter/pretty_listener'
3
+ require 'gherkin/formatter/pretty_formatter'
4
4
  require 'gherkin/formatter/argument'
5
5
  require 'stringio'
6
6
 
7
7
  module Gherkin
8
8
  module Formatter
9
- describe PrettyListener do
9
+ describe PrettyFormatter do
10
10
  def assert_io(s)
11
11
  @io.rewind
12
12
  actual = @io.read
@@ -15,7 +15,7 @@ module Gherkin
15
15
 
16
16
  def assert_pretty(text)
17
17
  io = StringIO.new
18
- l = PrettyListener.new(io, true)
18
+ l = PrettyFormatter.new(io, true)
19
19
  parser = Gherkin::Parser::Parser.new(l, true, "root")
20
20
  lexer = Gherkin::I18nLexer.new(parser, true)
21
21
  lexer.scan(text)
@@ -26,7 +26,7 @@ module Gherkin
26
26
 
27
27
  before do
28
28
  @io = StringIO.new
29
- @l = PrettyListener.new(@io, true)
29
+ @l = PrettyFormatter.new(@io, true)
30
30
  end
31
31
 
32
32
  it "should print comments when scenario is longer" do
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
3
3
  require 'gherkin/parser/filter_listener'
4
- require 'gherkin/formatter/pretty_listener'
4
+ require 'gherkin/formatter/pretty_formatter'
5
5
  require 'stringio'
6
6
 
7
7
  module Gherkin
@@ -25,7 +25,7 @@ module Gherkin
25
25
 
26
26
  def verify_output(expected_output, filters)
27
27
  io = StringIO.new
28
- scan(Gherkin::Formatter::PrettyListener.new(io, true), filters)
28
+ scan(Gherkin::Formatter::PrettyFormatter.new(io, true), filters)
29
29
  io.rewind
30
30
  io.read.should == expected_output
31
31
  end
@@ -125,6 +125,26 @@ EOS
125
125
  @listener.should_receive(:py_string).with("Line one\r\nLine two\r\n", 1)
126
126
  @lexer.scan("\"\"\"\r\nLine one\r\nLine two\r\n\r\n\"\"\"")
127
127
  end
128
+
129
+ it "should unescape escaped triple quotes" do
130
+ str = <<EOS
131
+ """
132
+ \\"\\"\\"
133
+ """
134
+ EOS
135
+ @listener.should_receive(:py_string).with('"""', 1)
136
+ @lexer.scan(str)
137
+ end
138
+
139
+ it "should not unescape escaped single quotes" do
140
+ str = <<EOS
141
+ """
142
+ \\" \\"\\"
143
+ """
144
+ EOS
145
+ @listener.should_receive(:py_string).with('\" \"\"', 1)
146
+ @lexer.scan(str)
147
+ end
128
148
  end
129
149
  end
130
150
  end
@@ -1,3 +1,4 @@
1
+ begin
1
2
  require 'cucumber/rake/task'
2
3
 
3
4
  Cucumber::Rake::Task.new(:cucumber) do |t|
@@ -18,3 +19,8 @@ namespace :cucumber do
18
19
  task :native_lexer => [:check_dependencies, :clean, :compile]
19
20
  end
20
21
 
22
+ rescue LoadError
23
+ task :cucumber do
24
+ raise "Cucumber not installed"
25
+ end
26
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 8
9
- version: 1.0.8
8
+ - 9
9
+ version: 1.0.9
10
10
  platform: i386-mswin32
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-11 00:00:00 +02:00
19
+ date: 2010-04-12 00:00:00 +02:00
20
20
  default_executable: gherkin
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -99,10 +99,9 @@ files:
99
99
  - features/parser_with_native_lexer.feature
100
100
  - features/pretty_printer.feature
101
101
  - features/step_definitions/gherkin_steps.rb
102
- - features/step_definitions/pretty_listener_step.rb
102
+ - features/step_definitions/pretty_formatter_steps.rb
103
103
  - features/steps_parser.feature
104
104
  - features/support/env.rb
105
- - gherkin.gemspec
106
105
  - ikvm/.gitignore
107
106
  - java/.gitignore
108
107
  - java/src/main/java/gherkin/lexer/.gitignore
@@ -115,10 +114,11 @@ files:
115
114
  - lib/gherkin/formatter/argument.rb
116
115
  - lib/gherkin/formatter/colors.rb
117
116
  - lib/gherkin/formatter/monochrome_format.rb
118
- - lib/gherkin/formatter/pretty_listener.rb
117
+ - lib/gherkin/formatter/pretty_formatter.rb
119
118
  - lib/gherkin/i18n.rb
120
119
  - lib/gherkin/i18n.yml
121
120
  - lib/gherkin/i18n_lexer.rb
121
+ - lib/gherkin/java_impl.rb
122
122
  - lib/gherkin/parser/filter_listener.rb
123
123
  - lib/gherkin/parser/meta.txt
124
124
  - lib/gherkin/parser/parser.rb
@@ -195,7 +195,7 @@ files:
195
195
  - spec/gherkin/fixtures/simple_with_tags.feature
196
196
  - spec/gherkin/formatter/argument_spec.rb
197
197
  - spec/gherkin/formatter/colors_spec.rb
198
- - spec/gherkin/formatter/pretty_listener_spec.rb
198
+ - spec/gherkin/formatter/pretty_formatter_spec.rb
199
199
  - spec/gherkin/i18n_lexer_spec.rb
200
200
  - spec/gherkin/i18n_spec.rb
201
201
  - spec/gherkin/java_lexer_spec.rb
@@ -256,7 +256,7 @@ test_files:
256
256
  - spec/gherkin/csharp_lexer_spec.rb
257
257
  - spec/gherkin/formatter/argument_spec.rb
258
258
  - spec/gherkin/formatter/colors_spec.rb
259
- - spec/gherkin/formatter/pretty_listener_spec.rb
259
+ - spec/gherkin/formatter/pretty_formatter_spec.rb
260
260
  - spec/gherkin/i18n_lexer_spec.rb
261
261
  - spec/gherkin/i18n_spec.rb
262
262
  - spec/gherkin/java_lexer_spec.rb
@@ -1,209 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{gherkin}
8
- s.version = "1.0.8"
9
- s.platform = %q{i386-mswin32}
10
-
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Helles\303\270y"]
13
- s.date = %q{2010-04-11}
14
- s.default_executable = %q{gherkin}
15
- s.description = %q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
16
- s.email = %q{cukes@googlegroups.com}
17
- s.executables = ["gherkin"]
18
- s.extra_rdoc_files = [
19
- "LICENSE",
20
- "README.rdoc"
21
- ]
22
- s.files = [
23
- ".gitattributes",
24
- ".gitignore",
25
- ".mailmap",
26
- "History.txt",
27
- "LICENSE",
28
- "README.rdoc",
29
- "Rakefile",
30
- "VERSION.yml",
31
- "bin/gherkin",
32
- "cucumber.yml",
33
- "features/feature_parser.feature",
34
- "features/native_lexer.feature",
35
- "features/parser_with_native_lexer.feature",
36
- "features/pretty_printer.feature",
37
- "features/step_definitions/gherkin_steps.rb",
38
- "features/step_definitions/pretty_listener_step.rb",
39
- "features/steps_parser.feature",
40
- "features/support/env.rb",
41
- "gherkin.gemspec",
42
- "ikvm/.gitignore",
43
- "java/.gitignore",
44
- "java/src/main/java/gherkin/lexer/.gitignore",
45
- "lib/.gitignore",
46
- "lib/gherkin.rb",
47
- "lib/gherkin/c_lexer.rb",
48
- "lib/gherkin/cli/main.rb",
49
- "lib/gherkin/core_ext/array.rb",
50
- "lib/gherkin/csharp_lexer.rb",
51
- "lib/gherkin/formatter/argument.rb",
52
- "lib/gherkin/formatter/colors.rb",
53
- "lib/gherkin/formatter/monochrome_format.rb",
54
- "lib/gherkin/formatter/pretty_listener.rb",
55
- "lib/gherkin/i18n.rb",
56
- "lib/gherkin/i18n.yml",
57
- "lib/gherkin/i18n_lexer.rb",
58
- "lib/gherkin/parser/filter_listener.rb",
59
- "lib/gherkin/parser/meta.txt",
60
- "lib/gherkin/parser/parser.rb",
61
- "lib/gherkin/parser/root.txt",
62
- "lib/gherkin/parser/sexp.rb",
63
- "lib/gherkin/parser/steps.txt",
64
- "lib/gherkin/parser/tag_expression.rb",
65
- "lib/gherkin/rb_lexer.rb",
66
- "lib/gherkin/rb_lexer/.gitignore",
67
- "lib/gherkin/rb_lexer/README.rdoc",
68
- "lib/gherkin/tools.rb",
69
- "lib/gherkin/tools/files.rb",
70
- "lib/gherkin/tools/reformat.rb",
71
- "lib/gherkin/tools/stats.rb",
72
- "lib/gherkin/tools/stats_listener.rb",
73
- "lib/gherkin_lexer_ar.so",
74
- "lib/gherkin_lexer_bg.so",
75
- "lib/gherkin_lexer_ca.so",
76
- "lib/gherkin_lexer_cs.so",
77
- "lib/gherkin_lexer_cy_gb.so",
78
- "lib/gherkin_lexer_da.so",
79
- "lib/gherkin_lexer_de.so",
80
- "lib/gherkin_lexer_en.so",
81
- "lib/gherkin_lexer_en_au.so",
82
- "lib/gherkin_lexer_en_lol.so",
83
- "lib/gherkin_lexer_en_scouse.so",
84
- "lib/gherkin_lexer_en_tx.so",
85
- "lib/gherkin_lexer_es.so",
86
- "lib/gherkin_lexer_et.so",
87
- "lib/gherkin_lexer_fi.so",
88
- "lib/gherkin_lexer_fr.so",
89
- "lib/gherkin_lexer_he.so",
90
- "lib/gherkin_lexer_hr.so",
91
- "lib/gherkin_lexer_hu.so",
92
- "lib/gherkin_lexer_id.so",
93
- "lib/gherkin_lexer_it.so",
94
- "lib/gherkin_lexer_ja.so",
95
- "lib/gherkin_lexer_ko.so",
96
- "lib/gherkin_lexer_lt.so",
97
- "lib/gherkin_lexer_lv.so",
98
- "lib/gherkin_lexer_nl.so",
99
- "lib/gherkin_lexer_no.so",
100
- "lib/gherkin_lexer_pl.so",
101
- "lib/gherkin_lexer_pt.so",
102
- "lib/gherkin_lexer_ro.so",
103
- "lib/gherkin_lexer_ro_ro.so",
104
- "lib/gherkin_lexer_ru.so",
105
- "lib/gherkin_lexer_sk.so",
106
- "lib/gherkin_lexer_sr_cyrl.so",
107
- "lib/gherkin_lexer_sr_latn.so",
108
- "lib/gherkin_lexer_sv.so",
109
- "lib/gherkin_lexer_tr.so",
110
- "lib/gherkin_lexer_uk.so",
111
- "lib/gherkin_lexer_uz.so",
112
- "lib/gherkin_lexer_vi.so",
113
- "lib/gherkin_lexer_zh_cn.so",
114
- "lib/gherkin_lexer_zh_tw.so",
115
- "ragel/i18n/.gitignore",
116
- "ragel/lexer.c.rl.erb",
117
- "ragel/lexer.java.rl.erb",
118
- "ragel/lexer.rb.rl.erb",
119
- "ragel/lexer_common.rl.erb",
120
- "spec/gherkin/c_lexer_spec.rb",
121
- "spec/gherkin/csharp_lexer_spec.rb",
122
- "spec/gherkin/fixtures/1.feature",
123
- "spec/gherkin/fixtures/comments_in_table.feature",
124
- "spec/gherkin/fixtures/complex.feature",
125
- "spec/gherkin/fixtures/dos_line_endings.feature",
126
- "spec/gherkin/fixtures/i18n_fr.feature",
127
- "spec/gherkin/fixtures/i18n_no.feature",
128
- "spec/gherkin/fixtures/i18n_zh-CN.feature",
129
- "spec/gherkin/fixtures/simple.feature",
130
- "spec/gherkin/fixtures/simple_with_comments.feature",
131
- "spec/gherkin/fixtures/simple_with_tags.feature",
132
- "spec/gherkin/formatter/argument_spec.rb",
133
- "spec/gherkin/formatter/colors_spec.rb",
134
- "spec/gherkin/formatter/pretty_listener_spec.rb",
135
- "spec/gherkin/i18n_lexer_spec.rb",
136
- "spec/gherkin/i18n_spec.rb",
137
- "spec/gherkin/java_lexer_spec.rb",
138
- "spec/gherkin/parser/filter_listener_spec.rb",
139
- "spec/gherkin/parser/parser_spec.rb",
140
- "spec/gherkin/parser/tag_expression_spec.rb",
141
- "spec/gherkin/rb_lexer_spec.rb",
142
- "spec/gherkin/sexp_recorder.rb",
143
- "spec/gherkin/shared/lexer_spec.rb",
144
- "spec/gherkin/shared/py_string_spec.rb",
145
- "spec/gherkin/shared/row_spec.rb",
146
- "spec/gherkin/shared/tags_spec.rb",
147
- "spec/spec_helper.rb",
148
- "tasks/bench.rake",
149
- "tasks/bench/feature_builder.rb",
150
- "tasks/bench/generated/.gitignore",
151
- "tasks/bench/null_listener.rb",
152
- "tasks/compile.rake",
153
- "tasks/cucumber.rake",
154
- "tasks/gems.rake",
155
- "tasks/ikvm.rake",
156
- "tasks/ragel_task.rb",
157
- "tasks/rdoc.rake",
158
- "tasks/release.rake",
159
- "tasks/rspec.rake"
160
- ]
161
- s.homepage = %q{http://github.com/aslakhellesoy/gherkin}
162
- s.rdoc_options = ["--charset=UTF-8"]
163
- s.require_paths = ["lib"]
164
- s.rubygems_version = %q{1.3.6}
165
- s.summary = %q{Fast Gherkin lexer/parser}
166
- s.test_files = [
167
- "spec/gherkin/c_lexer_spec.rb",
168
- "spec/gherkin/csharp_lexer_spec.rb",
169
- "spec/gherkin/formatter/argument_spec.rb",
170
- "spec/gherkin/formatter/colors_spec.rb",
171
- "spec/gherkin/formatter/pretty_listener_spec.rb",
172
- "spec/gherkin/i18n_lexer_spec.rb",
173
- "spec/gherkin/i18n_spec.rb",
174
- "spec/gherkin/java_lexer_spec.rb",
175
- "spec/gherkin/parser/filter_listener_spec.rb",
176
- "spec/gherkin/parser/parser_spec.rb",
177
- "spec/gherkin/parser/tag_expression_spec.rb",
178
- "spec/gherkin/rb_lexer_spec.rb",
179
- "spec/gherkin/sexp_recorder.rb",
180
- "spec/gherkin/shared/lexer_spec.rb",
181
- "spec/gherkin/shared/py_string_spec.rb",
182
- "spec/gherkin/shared/row_spec.rb",
183
- "spec/gherkin/shared/tags_spec.rb",
184
- "spec/spec_helper.rb"
185
- ]
186
-
187
- if s.respond_to? :specification_version then
188
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
189
- s.specification_version = 3
190
-
191
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
192
- s.add_runtime_dependency(%q<trollop>, [">= 1.15"])
193
- s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
194
- s.add_development_dependency(%q<cucumber>, [">= 0.6.4"])
195
- s.add_development_dependency(%q<rake-compiler>, [">= 0.7.0"])
196
- else
197
- s.add_dependency(%q<trollop>, [">= 1.15"])
198
- s.add_dependency(%q<rspec>, [">= 1.3.0"])
199
- s.add_dependency(%q<cucumber>, [">= 0.6.4"])
200
- s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
201
- end
202
- else
203
- s.add_dependency(%q<trollop>, [">= 1.15"])
204
- s.add_dependency(%q<rspec>, [">= 1.3.0"])
205
- s.add_dependency(%q<cucumber>, [">= 0.6.4"])
206
- s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
207
- end
208
- end
209
-