gherkin 2.11.1 → 2.11.2

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.
Files changed (69) hide show
  1. data/History.md +7 -0
  2. data/README.md +1 -1
  3. data/ext/gherkin_lexer_bm/gherkin_lexer_bm.c +392 -353
  4. data/ext/gherkin_lexer_ru/gherkin_lexer_ru.c +684 -671
  5. data/gherkin.gemspec +7 -7
  6. data/lib/gherkin/README.md +7 -0
  7. data/lib/gherkin/i18n.json +646 -0
  8. data/lib/gherkin/i18n.rb +5 -10
  9. data/lib/gherkin/native/therubyracer.rb +3 -2
  10. data/lib/gherkin/parser/parser.rb +12 -11
  11. data/ragel/lexer.java.rl.erb +3 -3
  12. data/ragel/lexer.js.rl.erb +5 -5
  13. data/ragel/lexer.rb.rl.erb +4 -2
  14. data/spec/gherkin/native_lexer_spec.rb +29 -0
  15. data/tasks/compile.rake +2 -39
  16. data/tasks/ragel_task.rb +15 -3
  17. metadata +19 -69
  18. data/lib/gherkin/i18n.yml +0 -613
  19. data/lib/gherkin/js_lexer.rb +0 -20
  20. data/lib/gherkin/rb_lexer.rb +0 -8
  21. data/lib/gherkin/rb_lexer/README.rdoc +0 -8
  22. data/lib/gherkin/rb_lexer/ar.rb +0 -1165
  23. data/lib/gherkin/rb_lexer/bg.rb +0 -1377
  24. data/lib/gherkin/rb_lexer/bm.rb +0 -1081
  25. data/lib/gherkin/rb_lexer/ca.rb +0 -1305
  26. data/lib/gherkin/rb_lexer/cs.rb +0 -1157
  27. data/lib/gherkin/rb_lexer/cy_gb.rb +0 -1027
  28. data/lib/gherkin/rb_lexer/da.rb +0 -1043
  29. data/lib/gherkin/rb_lexer/de.rb +0 -1151
  30. data/lib/gherkin/rb_lexer/en.rb +0 -1151
  31. data/lib/gherkin/rb_lexer/en_au.rb +0 -971
  32. data/lib/gherkin/rb_lexer/en_lol.rb +0 -929
  33. data/lib/gherkin/rb_lexer/en_pirate.rb +0 -1205
  34. data/lib/gherkin/rb_lexer/en_scouse.rb +0 -1357
  35. data/lib/gherkin/rb_lexer/en_tx.rb +0 -1011
  36. data/lib/gherkin/rb_lexer/eo.rb +0 -990
  37. data/lib/gherkin/rb_lexer/es.rb +0 -1135
  38. data/lib/gherkin/rb_lexer/et.rb +0 -985
  39. data/lib/gherkin/rb_lexer/fi.rb +0 -964
  40. data/lib/gherkin/rb_lexer/fr.rb +0 -1223
  41. data/lib/gherkin/rb_lexer/he.rb +0 -1113
  42. data/lib/gherkin/rb_lexer/hr.rb +0 -1061
  43. data/lib/gherkin/rb_lexer/hu.rb +0 -1113
  44. data/lib/gherkin/rb_lexer/id.rb +0 -958
  45. data/lib/gherkin/rb_lexer/is.rb +0 -1115
  46. data/lib/gherkin/rb_lexer/it.rb +0 -1081
  47. data/lib/gherkin/rb_lexer/ja.rb +0 -1413
  48. data/lib/gherkin/rb_lexer/ko.rb +0 -1097
  49. data/lib/gherkin/rb_lexer/lt.rb +0 -1040
  50. data/lib/gherkin/rb_lexer/lu.rb +0 -1127
  51. data/lib/gherkin/rb_lexer/lv.rb +0 -1161
  52. data/lib/gherkin/rb_lexer/nl.rb +0 -1110
  53. data/lib/gherkin/rb_lexer/no.rb +0 -1055
  54. data/lib/gherkin/rb_lexer/pl.rb +0 -1452
  55. data/lib/gherkin/rb_lexer/pt.rb +0 -1425
  56. data/lib/gherkin/rb_lexer/ro.rb +0 -1159
  57. data/lib/gherkin/rb_lexer/ru.rb +0 -1749
  58. data/lib/gherkin/rb_lexer/sk.rb +0 -1041
  59. data/lib/gherkin/rb_lexer/sr_cyrl.rb +0 -1798
  60. data/lib/gherkin/rb_lexer/sr_latn.rb +0 -1289
  61. data/lib/gherkin/rb_lexer/sv.rb +0 -1065
  62. data/lib/gherkin/rb_lexer/tr.rb +0 -1087
  63. data/lib/gherkin/rb_lexer/uk.rb +0 -1641
  64. data/lib/gherkin/rb_lexer/uz.rb +0 -1371
  65. data/lib/gherkin/rb_lexer/vi.rb +0 -1193
  66. data/lib/gherkin/rb_lexer/zh_cn.rb +0 -1053
  67. data/lib/gherkin/rb_lexer/zh_tw.rb +0 -1047
  68. data/spec/gherkin/js_lexer_spec.rb +0 -23
  69. data/spec/gherkin/rb_lexer_spec.rb +0 -20
data/lib/gherkin/i18n.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'yaml'
1
+ require 'json'
2
2
  require 'gherkin/rubify'
3
3
  require 'gherkin/native'
4
4
 
@@ -11,7 +11,7 @@ module Gherkin
11
11
  FEATURE_ELEMENT_KEYS = %w{feature background scenario scenario_outline examples}
12
12
  STEP_KEYWORD_KEYS = %w{given when then and but}
13
13
  KEYWORD_KEYS = FEATURE_ELEMENT_KEYS + STEP_KEYWORD_KEYS
14
- LANGUAGES = YAML.load_file(File.dirname(__FILE__) + '/i18n.yml')
14
+ LANGUAGES = JSON.parse(IO.read(File.dirname(__FILE__) + '/i18n.json'))
15
15
 
16
16
  class << self
17
17
  include Rubify
@@ -105,7 +105,7 @@ module Gherkin
105
105
  end
106
106
  end
107
107
  rescue LoadError => e
108
- raise LexerNotFound, "No lexer was found for #{iso_code} (#{e.message}). Supported languages are listed in gherkin/i18n.yml."
108
+ raise LexerNotFound, "No lexer was found for #{iso_code} (#{e.message}). Supported languages are listed in gherkin/i18n.json."
109
109
  end
110
110
 
111
111
  def c(listener)
@@ -114,13 +114,8 @@ module Gherkin
114
114
  end
115
115
 
116
116
  def rb(listener)
117
- require 'gherkin/rb_lexer'
118
- RbLexer[underscored_iso_code].new(listener)
119
- end
120
-
121
- def js(listener)
122
- require 'gherkin/js_lexer'
123
- JsLexer[underscored_iso_code].new(listener)
117
+ require "gherkin/lexer/#{underscored_iso_code}"
118
+ Lexer.const_get(underscored_iso_code.capitalize).new(listener)
124
119
  end
125
120
 
126
121
  def underscored_iso_code
@@ -5,7 +5,8 @@ class Class
5
5
  class << self
6
6
  def new(*args)
7
7
  js = {
8
- 'Gherkin::Formatter::JSONFormatter' => 'js/lib/gherkin/formatter/json_formatter.js'
8
+ 'Gherkin::Formatter::JSONFormatter' => 'js/lib/gherkin/formatter/json_formatter.js',
9
+ 'Gherkin::Lexer::En' => 'js/lib/gherkin/lexer/en.js'
9
10
  }[self.name]
10
11
  if(js)
11
12
  Proxy.new(js, *args)
@@ -24,7 +25,7 @@ class Class
24
25
  # Mimic Node.js / Firebug console.log
25
26
  cxt['console'] = STDOUT
26
27
  def STDOUT.log(*a)
27
- puts sprintf(*a)
28
+ puts sprintf(*a.map(&:to_s))
28
29
  end
29
30
 
30
31
  cxt.load(js)
@@ -21,14 +21,18 @@ module Gherkin
21
21
  @raise_on_error = raise_on_error
22
22
  @machine_name = machine_name
23
23
  @machines = []
24
- push_machine(@machine_name)
25
24
  @lexer = Gherkin::Lexer::I18nLexer.new(self, force_ruby)
26
25
  end
27
26
 
28
27
  def parse(gherkin, feature_uri, line_offset)
29
28
  @formatter.uri(feature_uri)
30
29
  @line_offset = line_offset
31
- @lexer.scan(gherkin)
30
+ push_machine(@machine_name)
31
+ begin
32
+ @lexer.scan(gherkin)
33
+ ensure
34
+ pop_machine
35
+ end
32
36
  end
33
37
 
34
38
  def i18n_language
@@ -39,17 +43,14 @@ module Gherkin
39
43
  @lexer.errors
40
44
  end
41
45
 
42
- # Doesn't yet fall back to super
43
- def method_missing(method, *args)
44
- # TODO: Catch exception and call super
45
- event(method.to_s, args[-1])
46
- @listener.__send__(method, *args)
47
- if method == :eof
48
- pop_machine
49
- push_machine(@machine_name)
46
+ [:comment, :tag, :feature, :background, :scenario, :scenario_outline, :examples, :step, :doc_string, :row, :eof].each do |m|
47
+ define_method(m) do |*args|
48
+ if(event(m.to_s, args[-1]))
49
+ @listener.__send__(m, *args)
50
+ end
50
51
  end
51
52
  end
52
-
53
+
53
54
  def event(ev, line)
54
55
  l = line ? @line_offset+line : nil
55
56
  machine.event(ev, l) do |state, legal_events|
@@ -1,4 +1,4 @@
1
- package gherkin.lexer.i18n;
1
+ package gherkin.lexer;
2
2
 
3
3
  import java.io.UnsupportedEncodingException;
4
4
  import java.util.List;
@@ -8,7 +8,7 @@ import gherkin.lexer.Lexer;
8
8
  import gherkin.lexer.Listener;
9
9
  import gherkin.lexer.LexingError;
10
10
 
11
- public class <%= @i18n.underscored_iso_code.upcase %> implements Lexer {
11
+ public class <%= @i18n.underscored_iso_code.capitalize %> implements Lexer {
12
12
  %%{
13
13
  machine lexer;
14
14
  alphtype byte;
@@ -151,7 +151,7 @@ public class <%= @i18n.underscored_iso_code.upcase %> implements Lexer {
151
151
 
152
152
  private final Listener listener;
153
153
 
154
- public <%= @i18n.underscored_iso_code.upcase %>(Listener listener) {
154
+ public <%= @i18n.underscored_iso_code.capitalize %>(Listener listener) {
155
155
  this.listener = listener;
156
156
  }
157
157
 
@@ -135,10 +135,10 @@ var Lexer = function(listener) {
135
135
  for(e in events) {
136
136
  var event = events[e];
137
137
  if(typeof listener[event] != 'function') {
138
- "Error. No " + event + " function exists on " + JSON.stringify(listener);
138
+ throw "Error. No " + event + " function exists on " + JSON.stringify(listener);
139
139
  }
140
140
  }
141
- this.listener = listener;
141
+ this.listener = listener;
142
142
  };
143
143
 
144
144
  Lexer.prototype.scan = function(data) {
@@ -208,8 +208,8 @@ Lexer.prototype.current_line_content = function(data, p) {
208
208
  };
209
209
 
210
210
  // Node.js export
211
- if(typeof exports !== 'undefined') {
212
- exports.Lexer = Lexer;
211
+ if(typeof module !== 'undefined') {
212
+ module.exports = Lexer;
213
213
  }
214
214
  // Require.js export
215
215
  if (typeof define !== 'undefined') {
@@ -224,4 +224,4 @@ if (typeof define !== 'undefined') {
224
224
  }
225
225
  }
226
226
 
227
- })();
227
+ })();
@@ -1,8 +1,10 @@
1
- require 'gherkin/lexer/i18n_lexer'
1
+ require 'gherkin/native'
2
2
 
3
3
  module Gherkin
4
- module RbLexer
4
+ module Lexer
5
5
  class <%= @i18n.underscored_iso_code.capitalize %> #:nodoc:
6
+ native_impl('gherkin')
7
+
6
8
  %%{
7
9
  machine lexer;
8
10
 
@@ -0,0 +1,29 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ module Gherkin
5
+ module Lexer
6
+ begin
7
+ require 'gherkin/lexer/en'
8
+ rescue LoadError
9
+ # For Java/JRuby we might not have the generated ruby lexer, which
10
+ # won't be used anyway. Just define a stub.
11
+ class En
12
+ native_impl('gherkin')
13
+ end
14
+ end
15
+
16
+ describe "Native Lexer" do
17
+ before do
18
+ @listener = Gherkin::SexpRecorder.new
19
+ @lexer = Gherkin::Lexer::En.new(@listener)
20
+ end
21
+
22
+ it_should_behave_like "a Gherkin lexer"
23
+ it_should_behave_like "a Gherkin lexer lexing tags"
24
+ it_should_behave_like "a Gherkin lexer lexing doc_strings"
25
+ it_should_behave_like "a Gherkin lexer lexing rows"
26
+ it_should_behave_like "parsing windows files" unless ENV['GHERKIN_JS_NATIVE']
27
+ end
28
+ end
29
+ end
data/tasks/compile.rake CHANGED
@@ -6,13 +6,8 @@ CLEAN.include [
6
6
  'pkg', 'tmp',
7
7
  '**/*.{o,bundle,jar,so,obj,pdb,lib,def,exp,log,rbc}', 'ext',
8
8
  'java/target',
9
- 'ragel/i18n/*.rl',
10
- 'lib/gherkin/rb_lexer/*.rb',
11
9
  'lib/*.dll',
12
10
  'ext/**/*.c',
13
- 'java/src/main/java/gherkin/lexer/i18n/*.java',
14
- 'java/src/main/resources/gherkin/*.properties',
15
- 'js/lib/gherkin/lexer/*.js',
16
11
  'doc'
17
12
  ]
18
13
 
@@ -23,50 +18,18 @@ file 'lib/gherkin.jar' => Dir['java/src/main/java/**/*.java'] do
23
18
  sh("mvn -f java/pom.xml package")
24
19
  end
25
20
 
26
- desc "Build Javascript lexers"
21
+ desc "Build JavaScript lexers"
27
22
  task :js
28
23
 
29
24
  rl_langs = ENV['RL_LANGS'] ? ENV['RL_LANGS'].split(',') : []
30
25
  langs = Gherkin::I18n.all.select { |lang| rl_langs.empty? || rl_langs.include?(lang.iso_code) }
31
26
 
32
- # http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6457127
33
- file 'lib/gherkin.jar' => "java/src/main/resources/gherkin/I18nKeywords_in.properties"
34
- file "java/src/main/resources/gherkin/I18nKeywords_in.properties" => "java/src/main/resources/gherkin/I18nKeywords_id.properties" do
35
- cp "java/src/main/resources/gherkin/I18nKeywords_id.properties", "java/src/main/resources/gherkin/I18nKeywords_in.properties"
36
- end
37
-
38
- # http://forums.sun.com/thread.jspa?threadID=5335461
39
- file 'lib/gherkin.jar' => "java/src/main/resources/gherkin/I18nKeywords_iw.properties"
40
- file "java/src/main/resources/gherkin/I18nKeywords_iw.properties" => "java/src/main/resources/gherkin/I18nKeywords_he.properties" do
41
- cp "java/src/main/resources/gherkin/I18nKeywords_he.properties", "java/src/main/resources/gherkin/I18nKeywords_iw.properties"
42
- end
43
-
44
- java_i18n_properties = "java/src/main/resources/gherkin/I18n.properties"
45
- file java_i18n_properties => 'lib/gherkin/i18n.yml' do
46
- File.open(java_i18n_properties, 'wb') do |io|
47
- io.puts("# Generated file. Do not edit.")
48
- io.puts("i18n.isoCodes=#{langs.map{|i18n| i18n.iso_code}.join(',')}")
49
- end
50
- end
51
-
52
27
  langs.each do |i18n|
53
28
  java = RagelTask.new('java', i18n)
54
29
  rb = RagelTask.new('rb', i18n)
55
30
  js = RagelTask.new('js', i18n)
56
31
 
57
- lang_country = i18n.iso_code.split(/-/)
58
- suffix = lang_country.length == 1 ? lang_country[0] : "#{lang_country[0]}_#{lang_country[1].upcase}"
59
- java_properties = "java/src/main/resources/gherkin/I18nKeywords_#{suffix}.properties"
60
- file java_properties => 'lib/gherkin/i18n.yml' do
61
- File.open(java_properties, 'wb') do |io|
62
- io.puts("# Generated file. Do not edit.")
63
- (Gherkin::I18n::KEYWORD_KEYS + %w{name native}).each do |key|
64
- value = Gherkin::I18n.unicode_escape(i18n.keywords(key).join("|"))
65
- io.puts("#{key}:#{value}")
66
- end
67
- end
68
- end
69
- file 'lib/gherkin.jar' => [java.target, rb.target, java_properties, java_i18n_properties]
32
+ file 'lib/gherkin.jar' => [java.target]
70
33
 
71
34
  begin
72
35
  if !defined?(JRUBY_VERSION)
data/tasks/ragel_task.rb CHANGED
@@ -23,6 +23,7 @@ class RagelTask
23
23
  deps = [lang_ragel, common_ragel]
24
24
  deps.unshift(UGLIFYJS) if(@lang == 'js')
25
25
 
26
+ min_target = target.gsub(/\.js$/, '.min.js')
26
27
  file target => deps do
27
28
  mkdir_p(File.dirname(target)) unless File.directory?(File.dirname(target))
28
29
  sh "ragel #{flags} #{lang_ragel} -o #{target}"
@@ -32,10 +33,17 @@ class RagelTask
32
33
  sh %{#{sed} 's/ESCAPED_TRIPLE_QUOTE/\\\\\\\\\\\\"\\\\\\\\\\\\"\\\\\\\\\\\\"/' #{target}}
33
34
 
34
35
  # Minify
35
- sh %{node #{UGLIFYJS} #{target} > #{target.gsub(/\.js$/, '.min.js')}}
36
+ sh %{node #{UGLIFYJS} #{target} > #{min_target}}
36
37
  end
37
38
  end
38
39
 
40
+ if(@lang != 'java')
41
+ CLEAN.include(target)
42
+ end
43
+ if(@lang == 'js')
44
+ CLEAN.include(min_target)
45
+ end
46
+
39
47
  file UGLIFYJS do
40
48
  unless File.exist?(UGLIFYJS)
41
49
  Dir.chdir('js') do
@@ -47,17 +55,21 @@ class RagelTask
47
55
  file lang_ragel => lang_erb do
48
56
  write(ERB.new(IO.read(lang_erb)).result(binding), lang_ragel)
49
57
  end
58
+
59
+ CLEAN.include(lang_ragel)
50
60
 
51
61
  file common_ragel => common_erb do
52
62
  write(ERB.new(IO.read(common_erb)).result(binding), common_ragel)
53
63
  end
64
+
65
+ CLEAN.include(common_ragel)
54
66
  end
55
67
 
56
68
  def target
57
69
  {
58
70
  'c' => "ext/gherkin_lexer_#{@i18n.underscored_iso_code}/gherkin_lexer_#{@i18n.underscored_iso_code}.c",
59
- 'java' => "java/src/main/java/gherkin/lexer/i18n/#{@i18n.underscored_iso_code.upcase}.java",
60
- 'rb' => "lib/gherkin/rb_lexer/#{@i18n.underscored_iso_code}.rb",
71
+ 'java' => "java/src/main/java/gherkin/lexer/#{@i18n.underscored_iso_code.capitalize}.java",
72
+ 'rb' => "lib/gherkin/lexer/#{@i18n.underscored_iso_code}.rb",
61
73
  'js' => "js/lib/gherkin/lexer/#{@i18n.underscored_iso_code}.js"
62
74
  }[@lang]
63
75
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.1
4
+ version: 2.11.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-06-23 00:00:00.000000000 Z
14
+ date: 2012-08-17 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake-compiler
@@ -84,7 +84,7 @@ dependencies:
84
84
  requirements:
85
85
  - - ! '>='
86
86
  - !ruby/object:Gem::Version
87
- version: 1.1.0
87
+ version: 1.1.5
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
@@ -92,7 +92,7 @@ dependencies:
92
92
  requirements:
93
93
  - - ! '>='
94
94
  - !ruby/object:Gem::Version
95
- version: 1.1.0
95
+ version: 1.1.5
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: rspec
98
98
  requirement: !ruby/object:Gem::Requirement
@@ -100,7 +100,7 @@ dependencies:
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: 2.10.0
103
+ version: 2.11.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -108,7 +108,7 @@ dependencies:
108
108
  requirements:
109
109
  - - ~>
110
110
  - !ruby/object:Gem::Version
111
- version: 2.10.0
111
+ version: 2.11.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rubyzip
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -116,7 +116,7 @@ dependencies:
116
116
  requirements:
117
117
  - - ! '>='
118
118
  - !ruby/object:Gem::Version
119
- version: 0.9.8
119
+ version: 0.9.9
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
@@ -124,7 +124,7 @@ dependencies:
124
124
  requirements:
125
125
  - - ! '>='
126
126
  - !ruby/object:Gem::Version
127
- version: 0.9.8
127
+ version: 0.9.9
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: therubyracer
130
130
  requirement: !ruby/object:Gem::Requirement
@@ -132,7 +132,7 @@ dependencies:
132
132
  requirements:
133
133
  - - ! '>='
134
134
  - !ruby/object:Gem::Version
135
- version: 0.10.1
135
+ version: 0.10.2
136
136
  type: :development
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
@@ -140,7 +140,7 @@ dependencies:
140
140
  requirements:
141
141
  - - ! '>='
142
142
  - !ruby/object:Gem::Version
143
- version: 0.10.1
143
+ version: 0.10.2
144
144
  - !ruby/object:Gem::Dependency
145
145
  name: yard
146
146
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +148,7 @@ dependencies:
148
148
  requirements:
149
149
  - - ! '>='
150
150
  - !ruby/object:Gem::Version
151
- version: 0.8.0
151
+ version: 0.8.2.1
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
@@ -156,7 +156,7 @@ dependencies:
156
156
  requirements:
157
157
  - - ! '>='
158
158
  - !ruby/object:Gem::Version
159
- version: 0.8.0
159
+ version: 0.8.2.1
160
160
  - !ruby/object:Gem::Dependency
161
161
  name: rdiscount
162
162
  requirement: !ruby/object:Gem::Requirement
@@ -180,7 +180,7 @@ dependencies:
180
180
  requirements:
181
181
  - - ! '>='
182
182
  - !ruby/object:Gem::Version
183
- version: 1.0.6
183
+ version: 1.0.7
184
184
  type: :development
185
185
  prerelease: false
186
186
  version_requirements: !ruby/object:Gem::Requirement
@@ -188,7 +188,7 @@ dependencies:
188
188
  requirements:
189
189
  - - ! '>='
190
190
  - !ruby/object:Gem::Version
191
- version: 1.0.6
191
+ version: 1.0.7
192
192
  - !ruby/object:Gem::Dependency
193
193
  name: builder
194
194
  requirement: !ruby/object:Gem::Requirement
@@ -292,6 +292,7 @@ files:
292
292
  - js/.npmignore
293
293
  - js/lib/gherkin/lexer/.npmignore
294
294
  - lib/gherkin.rb
295
+ - lib/gherkin/README.md
295
296
  - lib/gherkin/c_lexer.rb
296
297
  - lib/gherkin/formatter/ansi_escapes.rb
297
298
  - lib/gherkin/formatter/argument.rb
@@ -306,9 +307,8 @@ files:
306
307
  - lib/gherkin/formatter/step_printer.rb
307
308
  - lib/gherkin/formatter/tag_count_formatter.rb
308
309
  - lib/gherkin/formatter/tag_filter.rb
310
+ - lib/gherkin/i18n.json
309
311
  - lib/gherkin/i18n.rb
310
- - lib/gherkin/i18n.yml
311
- - lib/gherkin/js_lexer.rb
312
312
  - lib/gherkin/json_parser.rb
313
313
  - lib/gherkin/lexer/i18n_lexer.rb
314
314
  - lib/gherkin/listener/event.rb
@@ -321,8 +321,6 @@ files:
321
321
  - lib/gherkin/parser/parser.rb
322
322
  - lib/gherkin/parser/root.txt
323
323
  - lib/gherkin/parser/steps.txt
324
- - lib/gherkin/rb_lexer.rb
325
- - lib/gherkin/rb_lexer/README.rdoc
326
324
  - lib/gherkin/rubify.rb
327
325
  - lib/gherkin/tag_expression.rb
328
326
  - ragel/lexer.c.rl.erb
@@ -365,12 +363,11 @@ files:
365
363
  - spec/gherkin/formatter/tag_count_formatter_spec.rb
366
364
  - spec/gherkin/i18n_spec.rb
367
365
  - spec/gherkin/java_lexer_spec.rb
368
- - spec/gherkin/js_lexer_spec.rb
369
366
  - spec/gherkin/json_parser_spec.rb
370
367
  - spec/gherkin/lexer/i18n_lexer_spec.rb
368
+ - spec/gherkin/native_lexer_spec.rb
371
369
  - spec/gherkin/output_stream_string_io.rb
372
370
  - spec/gherkin/parser/parser_spec.rb
373
- - spec/gherkin/rb_lexer_spec.rb
374
371
  - spec/gherkin/sexp_recorder.rb
375
372
  - spec/gherkin/shared/bom_group.rb
376
373
  - spec/gherkin/shared/doc_string_group.rb
@@ -397,52 +394,6 @@ files:
397
394
  - tasks/yard/default/layout/html/layout.erb
398
395
  - tasks/yard/default/layout/html/logo.erb
399
396
  - tasks/yard/default/layout/html/setup.rb
400
- - lib/gherkin/rb_lexer/ar.rb
401
- - lib/gherkin/rb_lexer/bg.rb
402
- - lib/gherkin/rb_lexer/bm.rb
403
- - lib/gherkin/rb_lexer/ca.rb
404
- - lib/gherkin/rb_lexer/cs.rb
405
- - lib/gherkin/rb_lexer/cy_gb.rb
406
- - lib/gherkin/rb_lexer/da.rb
407
- - lib/gherkin/rb_lexer/de.rb
408
- - lib/gherkin/rb_lexer/en.rb
409
- - lib/gherkin/rb_lexer/en_au.rb
410
- - lib/gherkin/rb_lexer/en_lol.rb
411
- - lib/gherkin/rb_lexer/en_pirate.rb
412
- - lib/gherkin/rb_lexer/en_scouse.rb
413
- - lib/gherkin/rb_lexer/en_tx.rb
414
- - lib/gherkin/rb_lexer/eo.rb
415
- - lib/gherkin/rb_lexer/es.rb
416
- - lib/gherkin/rb_lexer/et.rb
417
- - lib/gherkin/rb_lexer/fi.rb
418
- - lib/gherkin/rb_lexer/fr.rb
419
- - lib/gherkin/rb_lexer/he.rb
420
- - lib/gherkin/rb_lexer/hr.rb
421
- - lib/gherkin/rb_lexer/hu.rb
422
- - lib/gherkin/rb_lexer/id.rb
423
- - lib/gherkin/rb_lexer/is.rb
424
- - lib/gherkin/rb_lexer/it.rb
425
- - lib/gherkin/rb_lexer/ja.rb
426
- - lib/gherkin/rb_lexer/ko.rb
427
- - lib/gherkin/rb_lexer/lt.rb
428
- - lib/gherkin/rb_lexer/lu.rb
429
- - lib/gherkin/rb_lexer/lv.rb
430
- - lib/gherkin/rb_lexer/nl.rb
431
- - lib/gherkin/rb_lexer/no.rb
432
- - lib/gherkin/rb_lexer/pl.rb
433
- - lib/gherkin/rb_lexer/pt.rb
434
- - lib/gherkin/rb_lexer/ro.rb
435
- - lib/gherkin/rb_lexer/ru.rb
436
- - lib/gherkin/rb_lexer/sk.rb
437
- - lib/gherkin/rb_lexer/sr_cyrl.rb
438
- - lib/gherkin/rb_lexer/sr_latn.rb
439
- - lib/gherkin/rb_lexer/sv.rb
440
- - lib/gherkin/rb_lexer/tr.rb
441
- - lib/gherkin/rb_lexer/uk.rb
442
- - lib/gherkin/rb_lexer/uz.rb
443
- - lib/gherkin/rb_lexer/vi.rb
444
- - lib/gherkin/rb_lexer/zh_cn.rb
445
- - lib/gherkin/rb_lexer/zh_tw.rb
446
397
  - ext/gherkin_lexer_ar/gherkin_lexer_ar.c
447
398
  - ext/gherkin_lexer_bg/gherkin_lexer_bg.c
448
399
  - ext/gherkin_lexer_bm/gherkin_lexer_bm.c
@@ -559,7 +510,7 @@ rubyforge_project:
559
510
  rubygems_version: 1.8.24
560
511
  signing_key:
561
512
  specification_version: 3
562
- summary: gherkin-2.11.1
513
+ summary: gherkin-2.11.2
563
514
  test_files:
564
515
  - features/escaped_pipes.feature
565
516
  - features/feature_parser.feature
@@ -610,12 +561,11 @@ test_files:
610
561
  - spec/gherkin/formatter/tag_count_formatter_spec.rb
611
562
  - spec/gherkin/i18n_spec.rb
612
563
  - spec/gherkin/java_lexer_spec.rb
613
- - spec/gherkin/js_lexer_spec.rb
614
564
  - spec/gherkin/json_parser_spec.rb
615
565
  - spec/gherkin/lexer/i18n_lexer_spec.rb
566
+ - spec/gherkin/native_lexer_spec.rb
616
567
  - spec/gherkin/output_stream_string_io.rb
617
568
  - spec/gherkin/parser/parser_spec.rb
618
- - spec/gherkin/rb_lexer_spec.rb
619
569
  - spec/gherkin/sexp_recorder.rb
620
570
  - spec/gherkin/shared/bom_group.rb
621
571
  - spec/gherkin/shared/doc_string_group.rb