gherkin 2.11.1 → 2.11.2

Sign up to get free protection for your applications and to get access to all the features.
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