gherkin 2.2.0 → 2.2.1

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
@@ -1,4 +1,5 @@
1
1
  *.sw?
2
+ *.rbc
2
3
  .DS_Store
3
4
  coverage
4
5
  rdoc
@@ -6,4 +7,4 @@ pkg
6
7
  ext
7
8
  tmp
8
9
  release
9
- gherkin.gemspec
10
+ .bundle
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm @cucumber
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+ gemspec
3
+
4
+ gem 'cucumber', :path => '../cucumber'
@@ -0,0 +1,49 @@
1
+ PATH
2
+ remote: /Users/aslakhellesoy/scm/cucumber
3
+ specs:
4
+ cucumber (0.9.0)
5
+ builder (~> 2.1.2)
6
+ diff-lcs (~> 1.1.2)
7
+ json_pure (~> 1.4.6)
8
+ term-ansicolor (~> 1.0.5)
9
+
10
+ PATH
11
+ remote: .
12
+ specs:
13
+ gherkin (2.2.1)
14
+ trollop (~> 1.16.2)
15
+
16
+ GEM
17
+ remote: http://rubygems.org/
18
+ specs:
19
+ awesome_print (0.2.1)
20
+ builder (2.1.2)
21
+ diff-lcs (1.1.2)
22
+ json_pure (1.4.6)
23
+ rake (0.8.7)
24
+ rake-compiler (0.7.1)
25
+ rake (>= 0.8.3, < 0.9)
26
+ rspec (2.0.0.beta.20)
27
+ rspec-core (= 2.0.0.beta.20)
28
+ rspec-expectations (= 2.0.0.beta.20)
29
+ rspec-mocks (= 2.0.0.beta.20)
30
+ rspec-core (2.0.0.beta.20)
31
+ rspec-expectations (2.0.0.beta.20)
32
+ diff-lcs (>= 1.1.2)
33
+ rspec-mocks (2.0.0.beta.20)
34
+ term-ansicolor (1.0.5)
35
+ trollop (1.16.2)
36
+
37
+ PLATFORMS
38
+ java
39
+ ruby
40
+ x86-mingw32
41
+
42
+ DEPENDENCIES
43
+ awesome_print (~> 0.2.1)
44
+ cucumber!
45
+ gherkin!
46
+ rake (~> 0.8.7)
47
+ rake-compiler (~> 0.7.1)
48
+ rspec (~> 2.0.0.beta.20)
49
+ trollop (~> 1.16.2)
@@ -1,3 +1,11 @@
1
+ == 2.2.1
2
+
3
+ === New Features
4
+ * Windows gems are now built against 1.8.6-p287 and 1.9.1-p243, on both mswin32 and mingw32, and should work on 1.8.6, 1.8.7, 1.9.1 and 1.9.2 versions of rubyinstaller.org as well as older windows rubies. (Aslak Hellesøy)
5
+
6
+ === Changed features
7
+ * Build system no longer uses Jeweler - only Rake, Bundler and Rubygems (Aslak Hellesøy)
8
+
1
9
  == 2.2.0 (2010-07-26)
2
10
 
3
11
  This release breaks some APIs since the previous 2.1.5 release. If you install gherkin 2.2.0 you must also upgrade to
@@ -33,7 +33,7 @@ E.g. in Bash, export RL_LANG="en,fr,no". This can be quite helpful when modifyin
33
33
  ** ikvm/Gherkin/Gherkin.csproj
34
34
  * Make sure both JRuby and MRI has the latest Cucumber installed (from source) otherwise the jruby gem might not get the jar inside it.
35
35
  ** Install cucumber without gherkin dep: gem install --ignore-dependencies pkg/cucumber
36
- * rake release:ALL
36
+ * rake gems:prepare && ./build_native_gems.sh && rake release:ALL
37
37
  * Announce on Cucumber list, IRC and Twitter.
38
38
 
39
39
  == Configuring Rake-Compiler for cross compilation
@@ -41,7 +41,7 @@ In order to build Windows binaries (so we can release Windows gems from OS X/Lin
41
41
 
42
42
  http://github.com/luislavena/rake-compiler/
43
43
 
44
- I didn't want to install macports (I'm on homebrew) and I couldn't figure out how to build MinGW myself. I got prebuilt binaries:
44
+ I didn't want to install macports (I'm on homebrew) and I couldn't figure out how to build MinGW myself. I got prebuilt binaries (version 4.3.0):
45
45
  http://crossgcc.rts-software.org/doku.php - just add the bin folder to your PATH
46
46
 
47
47
  == Note on Patches/Pull Requests
data/Rakefile CHANGED
@@ -1,56 +1,13 @@
1
1
  # encoding: utf-8
2
- require 'rbconfig'
3
2
  require 'rubygems'
4
- require 'rake'
5
- require 'rake/clean'
6
- require 'yaml'
7
-
8
- config = YAML.load_file('VERSION.yml')
9
- GHERKIN_VERSION = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
3
+ require 'bundler'
4
+ Bundler.setup
5
+ Bundler::GemHelper.install_tasks
10
6
 
11
- begin
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- gem.name = "gherkin"
15
- gem.summary = %Q{Fast Gherkin lexer/parser}
16
- gem.description = %Q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
17
- gem.email = "cukes@googlegroups.com"
18
- gem.homepage = "http://github.com/aslakhellesoy/gherkin"
19
- gem.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
20
- gem.executables = ["gherkin"]
21
- gem.add_dependency "trollop", "~> 1.16.2"
22
- gem.add_development_dependency 'awesome_print', '~> 0.2.1'
23
- gem.add_development_dependency 'rspec', '~> 2.0.0.beta.17'
24
- gem.add_development_dependency "cucumber", "~> 0.9.0"
25
- gem.add_development_dependency "rake-compiler", "~> 0.7.0" unless defined?(JRUBY_VERSION)
7
+ require 'rake/clean'
26
8
 
27
- gem.files -= FileList['ikvm/**/*']
28
- gem.files -= FileList['java/**/*']
29
- case ENV['PLATFORM']
30
- when 'java'
31
- gem.platform = 'java'
32
- gem.files += FileList['lib/gherkin.jar']
33
- gem.extensions = []
34
- when 'i386-mswin32', 'i386-mingw32'
35
- gem.platform = ENV['PLATFORM']
36
- gem.files += FileList['lib/*/*.so']
37
- gem.extensions = []
38
- when 'universal-dotnet'
39
- gem.platform = ENV['PLATFORM']
40
- gem.files += FileList['lib/*.dll']
41
- gem.extensions = []
42
- else
43
- gem.files += FileList['lib/gherkin/rb_lexer/*.rb']
44
- gem.files += FileList['ext/**/*.c']
45
- gem.extensions = FileList['ext/**/extconf.rb']
46
- end
47
-
48
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
49
- end
50
- Jeweler::GemcutterTasks.new
51
- rescue LoadError
52
- warn "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
53
- end
9
+ $:.unshift(File.dirname(__FILE__) + '/lib')
10
+ require 'gherkin/version'
54
11
 
55
12
  Dir['tasks/**/*.rake'].each { |rake| load File.expand_path(rake) }
56
13
 
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 2.2.1
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ rm -Rf release
3
+ mkdir release
4
+ GEM_PLATFORM=java gem build gherkin.gemspec
5
+ GEM_PLATFORM=i386-mswin32 gem build gherkin.gemspec
6
+ GEM_PLATFORM=i386-mingw32 gem build gherkin.gemspec
7
+ GEM_PLATFORM=universal-dotnet gem build gherkin.gemspec
8
+ mv *.gem release
@@ -12,7 +12,7 @@ Given /^a JSON lexer$/ do
12
12
  end
13
13
 
14
14
  Given /^the following JSON is parsed:$/ do |text|
15
- @json_parser.parse(JSON.pretty_generate(JSON.parse(text)), "unknown.json")
15
+ @json_parser.parse(JSON.pretty_generate(JSON.parse(text)), "unknown.json", 0)
16
16
  end
17
17
 
18
18
  Then /^the outputted text should be:$/ do |expected_text|
@@ -23,7 +23,7 @@ module PrettyPlease
23
23
  result = StringIO.new
24
24
  pretty_formatter = Gherkin::Formatter::PrettyFormatter.new(result, false)
25
25
  json_parser = Gherkin::JSONParser.new(pretty_formatter)
26
- json_parser.parse(json.string, "#{feature_path}.json")
26
+ json_parser.parse(json.string, "#{feature_path}.json", 0)
27
27
 
28
28
  result.string
29
29
  end
@@ -1,3 +1,7 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup
4
+
1
5
  # I'm sure there's a better way than this...
2
6
  %w{ /../../spec /../../lib}.each do |path|
3
7
  $LOAD_PATH << File.expand_path(File.dirname(__FILE__) + path)
@@ -0,0 +1,57 @@
1
+ # -*- encoding: utf-8 -*-
2
+ gherkin_dir = Dir.pwd =~ /gherkin\/tmp/ ? File.expand_path("../../../..", Dir.pwd) : File.expand_path("..", __FILE__)
3
+ $LOAD_PATH.unshift File.join(gherkin_dir, 'lib')
4
+ require "gherkin/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "gherkin"
8
+ s.version = Gherkin::VERSION
9
+ s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
10
+ s.description = "A fast Gherkin lexer/parser based on the Ragel State Machine Compiler."
11
+ s.summary = "gherkin-#{Gherkin::VERSION}"
12
+ s.email = "cukes@googlegroups.com"
13
+ s.homepage = "http://github.com/aslakhellesoy/gherkin"
14
+
15
+ s.rubygems_version = "1.3.7"
16
+ s.default_executable = "gherkin"
17
+
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.extra_rdoc_files = ["LICENSE", "README.rdoc", "History.txt"]
22
+ s.rdoc_options = ["--charset=UTF-8"]
23
+ s.require_path = "lib"
24
+
25
+ s.files -= Dir['ikvm/**/*']
26
+ s.files -= Dir['java/**/*']
27
+ s.files -= Dir['ext/**/*']
28
+ s.files -= Dir['lib/gherkin.jar']
29
+ s.files -= Dir['lib/**/*.dll']
30
+ s.files -= Dir['lib/**/*.bundle']
31
+ s.files -= Dir['lib/**/*.so']
32
+
33
+ if ENV['GEM_PLATFORM']
34
+ puts "GEM_PLATFORM:#{ENV['GEM_PLATFORM']}"
35
+ puts "PLATFORM:#{PLATFORM}"
36
+ end
37
+ s.platform = ENV['GEM_PLATFORM'] if ENV['GEM_PLATFORM']
38
+ case s.platform.to_s
39
+ when /java/
40
+ s.files += ['lib/gherkin.jar']
41
+ when /mswin|mingw32/
42
+ s.files += Dir['lib/*/*.so']
43
+ when /dotnet/
44
+ s.files += Dir['lib/*.dll']
45
+ else # MRI or Rubinius
46
+ s.files += Dir['lib/gherkin/rb_lexer/*.rb']
47
+ s.files += Dir['ext/**/*.c']
48
+ s.extensions = Dir['ext/**/extconf.rb']
49
+ s.add_development_dependency('rake-compiler', '~> 0.7.1')
50
+ end
51
+
52
+ s.add_dependency('trollop', '~> 1.16.2')
53
+ s.add_development_dependency('rake', '~> 0.8.7')
54
+ s.add_development_dependency('awesome_print', '~> 0.2.1')
55
+ s.add_development_dependency('rspec', '~> 2.0.0.beta.20')
56
+ s.add_development_dependency('cucumber', '~> 0.9.0') unless File.directory?(File.join(gherkin_dir, '../cucumber'))
57
+ end
@@ -20,10 +20,10 @@ module Gherkin
20
20
  end
21
21
 
22
22
  class BasicStatement < Hashable
23
- attr_reader :comments, :keyword, :name, :description, :line
23
+ attr_reader :comments, :keyword, :name, :line
24
24
 
25
- def initialize(comments, keyword, name, description, line)
26
- @comments, @keyword, @name, @description, @line = comments, keyword, name, description, line
25
+ def initialize(comments, keyword, name, line)
26
+ @comments, @keyword, @name, @line = comments, keyword, name, line
27
27
  end
28
28
 
29
29
  def line_range
@@ -36,7 +36,16 @@ module Gherkin
36
36
  end
37
37
  end
38
38
 
39
- class TagStatement < BasicStatement
39
+ class DescribedStatement < BasicStatement
40
+ attr_reader :description
41
+
42
+ def initialize(comments, keyword, name, description, line)
43
+ super(comments, keyword, name, line)
44
+ @description = description
45
+ end
46
+ end
47
+
48
+ class TagStatement < DescribedStatement
40
49
  attr_reader :tags
41
50
 
42
51
  def initialize(comments, tags, keyword, name, description, line)
@@ -61,7 +70,7 @@ module Gherkin
61
70
  end
62
71
  end
63
72
 
64
- class Background < BasicStatement
73
+ class Background < DescribedStatement
65
74
  native_impl('gherkin')
66
75
 
67
76
  def initialize(comments, keyword, name, description, line)
@@ -120,8 +129,8 @@ module Gherkin
120
129
 
121
130
  attr_accessor :multiline_arg, :result
122
131
 
123
- def initialize(comments, keyword, name, description, line, multiline_arg=nil, result=nil)
124
- super(comments, keyword, name, nil, line)
132
+ def initialize(comments, keyword, name, line, multiline_arg=nil, result=nil)
133
+ super(comments, keyword, name, line)
125
134
  @multiline_arg = multiline_arg
126
135
  @result = result
127
136
  end
@@ -48,7 +48,7 @@ module Gherkin
48
48
  multiline_arg = Formatter::Model::PyString.new(ma['value'], ma['line'])
49
49
  end
50
50
  end
51
- Formatter::Model::Step.new(comments(o), keyword(o), name(o), nil, line(o), multiline_arg)
51
+ Formatter::Model::Step.new(comments(o), keyword(o), name(o), line(o), multiline_arg)
52
52
  end
53
53
 
54
54
  def rows(o)
@@ -49,7 +49,7 @@ module Gherkin
49
49
 
50
50
  def step(keyword, name, line)
51
51
  replay_step_or_examples
52
- @step_statement = Formatter::Model::Step.new(grab_comments!, keyword, name, nil, line)
52
+ @step_statement = Formatter::Model::Step.new(grab_comments!, keyword, name, line)
53
53
  end
54
54
 
55
55
  def row(cells, line)
@@ -20,7 +20,7 @@ module Gherkin
20
20
  Dir[*globs].uniq.sort.each(&proc)
21
21
  end
22
22
 
23
- def scan(file, formatter)
23
+ def parse(file, formatter)
24
24
  parser = Gherkin::Parser::Parser.new(formatter, true, "root")
25
25
  begin
26
26
  parser.parse(IO.read(file), file, 0)
@@ -10,8 +10,7 @@ module Gherkin
10
10
  each do |file|
11
11
  io = defined?(JRUBY_VERSION) ? Java.java.io.StringWriter.new : StringIO.new
12
12
  formatter = Formatter::PrettyFormatter.new(io, true)
13
- listener = Listener::FormatterListener.new(formatter)
14
- scan(file, listener)
13
+ parse(file, formatter)
15
14
  string = defined?(JRUBY_VERSION) ? io.getBuffer.toString : io.string
16
15
  File.open(file, 'w') {|io| io.write(string)}
17
16
  end
@@ -0,0 +1,3 @@
1
+ module Gherkin
2
+ VERSION = IO.read(File.dirname(__FILE__) + '/../../VERSION').strip
3
+ end
@@ -42,8 +42,8 @@ module Gherkin
42
42
  ['When ', 'foo']
43
43
  ])
44
44
  @l.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4))
45
- @l.step(Model::Step.new([], "Given ", "some stuff", "", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
46
- @l.step(Model::Step.new([], "When ", "foo", "", 6, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:96")))
45
+ @l.step(Model::Step.new([], "Given ", "some stuff", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
46
+ @l.step(Model::Step.new([], "When ", "foo", 6, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:96")))
47
47
 
48
48
  assert_io(%{Feature: Hello
49
49
  World
@@ -61,7 +61,7 @@ module Gherkin
61
61
  ['Given ', 'some stuff that is longer']
62
62
  ])
63
63
  @l.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4))
64
- @l.step(Model::Step.new([], "Given ", "some stuff that is longer", "", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
64
+ @l.step(Model::Step.new([], "Given ", "some stuff that is longer", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
65
65
 
66
66
  assert_io(%{Feature: Hello
67
67
  World
@@ -72,7 +72,7 @@ module Gherkin
72
72
  end
73
73
 
74
74
  it "should highlight arguments for regular steps" do
75
- step = Model::Step.new([], "Given ", "I have 999 cukes in my belly", "", 3, nil, result('passed', nil, [Gherkin::Formatter::Argument.new(7, '999')], nil))
75
+ step = Model::Step.new([], "Given ", "I have 999 cukes in my belly", 3, nil, result('passed', nil, [Gherkin::Formatter::Argument.new(7, '999')], nil))
76
76
  @l.step(step)
77
77
  assert_io(" Given I have 999 cukes in my belly\n")
78
78
  end
@@ -11,7 +11,7 @@ module Gherkin
11
11
  io = StringIO.new
12
12
  f = Formatter::JSONFormatter.new(io)
13
13
  p = JSONParser.new(f)
14
- p.parse(json, 'unknown.json')
14
+ p.parse(json, 'unknown.json', 0)
15
15
  expected = JSON.parse(json)
16
16
  actual = JSON.parse(io.string)
17
17
 
@@ -5,7 +5,7 @@ module Gherkin
5
5
  module Lexer
6
6
  shared_examples_for "a Gherkin lexer" do
7
7
  def scan(gherkin)
8
- @lexer.scan(gherkin, "test.feature", 0)
8
+ @lexer.scan(gherkin)
9
9
  end
10
10
 
11
11
  describe "Comments" do
@@ -5,7 +5,7 @@ module Gherkin
5
5
  module Lexer
6
6
  shared_examples_for "a Gherkin lexer lexing py_strings" do
7
7
  def scan(gherkin)
8
- @lexer.scan(gherkin, "test.feature", 0)
8
+ @lexer.scan(gherkin)
9
9
  end
10
10
 
11
11
  def ps(content)
@@ -5,7 +5,7 @@ module Gherkin
5
5
  module Lexer
6
6
  shared_examples_for "a Gherkin lexer lexing tags" do
7
7
  def scan(gherkin)
8
- @lexer.scan(gherkin, "test.feature", 0)
8
+ @lexer.scan(gherkin)
9
9
  end
10
10
 
11
11
  it "should lex a single tag" do
@@ -1,4 +1,7 @@
1
1
  require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup
4
+
2
5
  require 'rspec/autorun'
3
6
  require 'gherkin'
4
7
  require 'stringio'
@@ -4,7 +4,7 @@ require 'gherkin/i18n'
4
4
 
5
5
  CLEAN.include [
6
6
  'pkg', 'tmp',
7
- '**/*.{o,bundle,jar,so,obj,pdb,lib,def,exp,log}', 'ext',
7
+ '**/*.{o,bundle,jar,so,obj,pdb,lib,def,exp,log,rbc}', 'ext',
8
8
  'java/target',
9
9
  'ragel/i18n/*.rl',
10
10
  'lib/gherkin/rb_lexer/*.rb',
@@ -4,7 +4,6 @@ require 'cucumber/rake/task'
4
4
  Cucumber::Rake::Task.new(:cucumber) do |t|
5
5
  t.cucumber_opts = "--profile default"
6
6
  end
7
- task :cucumber => [:check_dependencies]
8
7
 
9
8
  namespace :cucumber do
10
9
  Cucumber::Rake::Task.new(:rcov, "Run Cucumber using RCov") do |t|
@@ -16,7 +15,7 @@ namespace :cucumber do
16
15
  Cucumber::Rake::Task.new(:native_lexer, "Run Native lexer Cucumber features") do |t|
17
16
  t.cucumber_opts = "--profile native_lexer"
18
17
  end
19
- task :native_lexer => [:check_dependencies, :clean, :compile]
18
+ task :native_lexer => [:clean, :compile]
20
19
  end
21
20
 
22
21
  rescue LoadError
@@ -1,46 +1,42 @@
1
1
  namespace :gems do
2
- desc "Build MRI/C POSIX gem"
3
- task :posix => :release_dir do
4
- sh "rake clean spec"
5
- sh "rake gemspec build"
6
- mv "pkg/gherkin-#{GHERKIN_VERSION}.gem", 'release'
7
- end
2
+ task :win do
3
+ unless File.directory?(File.expand_path('~/.rake-compiler'))
4
+ STDERR.puts <<-EOM
5
+
6
+ You must install Windows rubies to ~/.rake-compiler with:
8
7
 
9
- [:mswin32, :mingw32].each do |win_compiler|
10
- desc "Build MRI/C precompiled #{win_compiler} gem"
11
- task win_compiler do
12
- # Bootstrap with:
13
- #
14
- # rake-compiler cross-ruby VERSION=1.9.1-p243
15
- # rake-compiler cross-ruby VERSION=1.8.6-p114
16
- #
17
- sh "rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1"
18
- sh "rake gemspec build PLATFORM=i386-#{win_compiler}"
19
- mv "pkg/gherkin-#{GHERKIN_VERSION}-x86-#{win_compiler}.gem", 'release'
8
+ rake-compiler cross-ruby VERSION=1.8.6-p287
9
+ # (Later 1.9.1 patch levels don't compile on mingw)
10
+ rake-compiler cross-ruby VERSION=1.9.1-p243
11
+ EOM
12
+ exit(1)
20
13
  end
14
+ # rvm and mingw ruby versions have to match to avoid errors
15
+ sh "rvm 1.8.6@cucumber rake cross compile RUBY_CC_VERSION=1.8.6"
16
+ sh "rvm 1.9.1@cucumber rake cross compile RUBY_CC_VERSION=1.9.1"
17
+ # This will copy the .so files to the proper place
18
+ sh "rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1"
21
19
  end
22
20
 
23
- desc 'Build JRuby gem'
24
- task :jruby => :release_dir do
25
- sh "rvm jruby rake spec"
26
- sh "rvm jruby rake gemspec build PLATFORM=java"
27
- raise "The jruby gem looks too small" if File.stat("pkg/gherkin-#{GHERKIN_VERSION}-java.gem").size < 1000000
28
- mv "pkg/gherkin-#{GHERKIN_VERSION}-java.gem", 'release'
21
+ desc 'Prepare JRuby binares'
22
+ task :jruby => [:jar] do
23
+ sh "rvm jruby@cucumber -S rspec spec"
29
24
  end
30
25
 
31
- desc 'Build IronRuby gem'
32
- task :ironruby => [:jruby, 'ikvm:dll', 'ikvm:copy_ikvm_dlls'] do
33
- sh "rake gemspec build PLATFORM=universal-dotnet"
34
- mv "pkg/gherkin-#{GHERKIN_VERSION}-universal-dotnet.gem", 'release'
35
- end
26
+ desc 'Prepare IronRuby binaries'
27
+ task :ironruby => [:jruby, 'ikvm:dll', 'ikvm:copy_ikvm_dlls']
36
28
 
37
- task :release_dir do
38
- mkdir 'release' unless File.directory?('release')
29
+ task :sanity do
30
+ raise "The jruby gem looks too small" if File.stat("release/gherkin-#{Gherkin::VERSION}-java.gem").size < 1000000
39
31
  end
40
32
 
41
- task :clean_release_dir do
42
- rm_rf 'release' if File.directory?('release')
43
- end
44
- end
33
+ desc "Prepare binaries for all gems"
34
+ task :prepare => [
35
+ :clean,
36
+ :spec,
37
+ :win,
38
+ :jruby,
39
+ :ironruby
40
+ ]
45
41
 
46
- task :gems => ['gems:clean_release_dir', 'gems:posix', 'gems:mswin32', 'gems:mingw32', 'gems:jruby', 'gems:ironruby']
42
+ end
@@ -20,18 +20,21 @@ require File.dirname(__FILE__) + '/../spec/gherkin/json'
20
20
  # [mono] mono ikvm/Gherkin/bin/Debug/Gherkin.exe features/steps_parser.feature
21
21
  #
22
22
  namespace :ikvm do
23
- desc 'Make a .NET .exe'
24
- task :exe => 'lib/gherkin.jar' do
23
+ task :dependent_dlls do
25
24
  mkdir_p 'release' unless File.directory?('release')
26
- sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:exe lib/gherkin.jar -out:release/gherkin-#{GHERKIN_VERSION}.exe")
25
+ sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library #{JSON_SIMPLE_JAR} -out:release/json-simple.dll")
26
+ end
27
+
28
+ desc 'Make a .NET .exe'
29
+ task :exe => ['lib/gherkin.jar', :dependent_dlls] do
30
+ sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:exe lib/gherkin.jar -out:release/gherkin-#{Gherkin::VERSION}.exe -reference:release/json-simple.dll")
27
31
  end
28
32
 
29
33
  desc 'Make a .NET .dll'
30
- task :dll => 'lib/gherkin.jar' do
34
+ task :dll => ['lib/gherkin.jar', :dependent_dlls] do
31
35
  mkdir_p 'release' unless File.directory?('release')
32
- sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library #{JSON_SIMPLE_JAR} -out:release/json-simple.dll")
33
- sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library lib/gherkin.jar -out:release/gherkin-#{GHERKIN_VERSION}.dll -reference:release/json-simple.dll")
34
- cp "release/gherkin-#{GHERKIN_VERSION}.dll", 'lib/gherkin.dll'
36
+ sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library lib/gherkin.jar -out:release/gherkin-#{Gherkin::VERSION}.dll -reference:release/json-simple.dll")
37
+ cp "release/gherkin-#{Gherkin::VERSION}.dll", 'lib/gherkin.dll'
35
38
  end
36
39
 
37
40
  desc 'Copy the IKVM .dll files over to the pkg dir'
@@ -44,6 +47,8 @@ namespace :ikvm do
44
47
  end
45
48
 
46
49
  task :ikvm => ['ikvm:copy_ikvm_dlls', 'ikvm:exe', 'ikvm:dll'] do
47
- sh "mono release/gherkin-#{GHERKIN_VERSION}.exe features"
50
+ puts "************** Pretty printing some features with .NET. **************"
51
+ sh "mono release/gherkin-#{Gherkin::VERSION}.exe features"
52
+ puts "************** DONE Pretty printing some features with .NET. All OK. **************"
48
53
  end
49
54
 
@@ -1,11 +1,8 @@
1
1
  require 'rake/rdoctask'
2
2
 
3
3
  Rake::RDocTask.new do |rdoc|
4
- config = YAML.load_file('VERSION.yml')
5
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
6
-
7
4
  rdoc.rdoc_dir = 'rdoc'
8
- rdoc.title = "Gherkin #{version}"
5
+ rdoc.title = "Gherkin #{Gherkin::VERSION}"
9
6
  rdoc.rdoc_files.include('README.rdoc')
10
7
  rdoc.rdoc_files.include('lib/**/*.rb')
11
8
  rdoc.rdoc_files.exclude('lib/gherkin/lexer')
@@ -1,9 +1,9 @@
1
1
  namespace :release do
2
- desc 'Uplad all packages and tag git'
3
- task :ALL => [:gems, :push_dll, :push_jar, :push_gems, 'git:release']
2
+ desc 'Upload all packages and tag git'
3
+ task :ALL => ['gems:sanity', :push_dll, :push_jar, :push_native_gems, :release]
4
4
 
5
5
  desc 'Push all gems to rubygems.org (gemcutter)'
6
- task :push_gems do
6
+ task :push_native_gems do
7
7
  Dir.chdir('release') do
8
8
  Dir['*.gem'].each do |gem_file|
9
9
  sh("gem push #{gem_file}")
@@ -14,18 +14,10 @@ namespace :release do
14
14
  desc 'Push dll to Github'
15
15
  task :push_dll => :ikvm do
16
16
  Dir.chdir('release') do
17
- # This requires aslakhellesoy's build of the github gem,
18
- # which has tekkub's upload command.
19
- begin
20
- sh("github upload gherkin-#{GHERKIN_VERSION}.dll")
21
- rescue => e
22
- # For some reason we're getting an error even if the upload is successful. Verify that here...
23
- head = `curl -I -X HEAD http://github.com/downloads/aslakhellesoy/gherkin/gherkin-#{GHERKIN_VERSION}.dll`
24
- if !(head =~ /302 Found/in)
25
- e.message << "\n\nUpload of gherkin-#{GHERKIN_VERSION}.dll failed:\n\n#{head}"
26
- raise e
27
- end
28
- end
17
+ # No known way to do scripted uploads. github/upload or aslakhellesoy's fork of github-gem no longer work
18
+ puts "Manually upload gherkin-#{Gherkin::VERSION}.dll to http://github.com/aslakhellesoy/gherkin/downloads"
19
+ puts "Then press enter"
20
+ STDIN.gets
29
21
  end
30
22
  end
31
23
 
@@ -1,7 +1,6 @@
1
1
  require 'rspec/core/rake_task'
2
2
 
3
3
  RSpec::Core::RakeTask.new(:spec)
4
- task :spec => [:check_dependencies]
5
4
 
6
5
  RSpec::Core::RakeTask.new(:rcov) do |t|
7
6
  t.rcov = true
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 2
9
- - 0
10
- version: 2.2.0
9
+ - 1
10
+ version: 2.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mike Sassak
@@ -17,91 +17,91 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-07-26 00:00:00 +02:00
20
+ date: 2010-09-13 00:00:00 +02:00
21
21
  default_executable: gherkin
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
- name: trollop
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
27
25
  none: false
28
26
  requirements:
29
27
  - - ~>
30
28
  - !ruby/object:Gem::Version
31
- hash: 83
29
+ hash: 1
32
30
  segments:
31
+ - 0
32
+ - 7
33
33
  - 1
34
- - 16
35
- - 2
36
- version: 1.16.2
37
- type: :runtime
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: awesome_print
34
+ version: 0.7.1
35
+ requirement: *id001
36
+ type: :development
37
+ name: rake-compiler
41
38
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
39
+ - !ruby/object:Gem::Dependency
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
43
41
  none: false
44
42
  requirements:
45
43
  - - ~>
46
44
  - !ruby/object:Gem::Version
47
- hash: 21
45
+ hash: 83
48
46
  segments:
49
- - 0
50
- - 2
51
47
  - 1
52
- version: 0.2.1
53
- type: :development
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
48
+ - 16
49
+ - 2
50
+ version: 1.16.2
51
+ requirement: *id002
52
+ type: :runtime
53
+ name: trollop
57
54
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
55
+ - !ruby/object:Gem::Dependency
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
59
57
  none: false
60
58
  requirements:
61
59
  - - ~>
62
60
  - !ruby/object:Gem::Version
63
- hash: 62196417
61
+ hash: 49
64
62
  segments:
65
- - 2
66
63
  - 0
67
- - 0
68
- - beta
69
- - 17
70
- version: 2.0.0.beta.17
64
+ - 8
65
+ - 7
66
+ version: 0.8.7
67
+ requirement: *id003
71
68
  type: :development
72
- version_requirements: *id003
73
- - !ruby/object:Gem::Dependency
74
- name: cucumber
69
+ name: rake
75
70
  prerelease: false
76
- requirement: &id004 !ruby/object:Gem::Requirement
71
+ - !ruby/object:Gem::Dependency
72
+ version_requirements: &id004 !ruby/object:Gem::Requirement
77
73
  none: false
78
74
  requirements:
79
75
  - - ~>
80
76
  - !ruby/object:Gem::Version
81
- hash: 59
77
+ hash: 21
82
78
  segments:
83
79
  - 0
84
- - 9
85
- - 0
86
- version: 0.9.0
80
+ - 2
81
+ - 1
82
+ version: 0.2.1
83
+ requirement: *id004
87
84
  type: :development
88
- version_requirements: *id004
89
- - !ruby/object:Gem::Dependency
90
- name: rake-compiler
85
+ name: awesome_print
91
86
  prerelease: false
92
- requirement: &id005 !ruby/object:Gem::Requirement
87
+ - !ruby/object:Gem::Dependency
88
+ version_requirements: &id005 !ruby/object:Gem::Requirement
93
89
  none: false
94
90
  requirements:
95
91
  - - ~>
96
92
  - !ruby/object:Gem::Version
97
- hash: 3
93
+ hash: 62196427
98
94
  segments:
95
+ - 2
99
96
  - 0
100
- - 7
101
97
  - 0
102
- version: 0.7.0
98
+ - beta
99
+ - 20
100
+ version: 2.0.0.beta.20
101
+ requirement: *id005
103
102
  type: :development
104
- version_requirements: *id005
103
+ name: rspec
104
+ prerelease: false
105
105
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
106
106
  email: cukes@googlegroups.com
107
107
  executables:
@@ -155,63 +155,23 @@ extensions:
155
155
  extra_rdoc_files:
156
156
  - LICENSE
157
157
  - README.rdoc
158
+ - History.txt
158
159
  files:
159
160
  - .gitattributes
160
161
  - .gitignore
161
162
  - .mailmap
162
163
  - .rspec
164
+ - .rvmrc
165
+ - Gemfile
166
+ - Gemfile.lock
163
167
  - History.txt
164
168
  - LICENSE
165
169
  - README.rdoc
166
170
  - Rakefile
167
- - VERSION.yml
171
+ - VERSION
168
172
  - bin/gherkin
173
+ - build_native_gems.sh
169
174
  - cucumber.yml
170
- - ext/gherkin_lexer_ar/gherkin_lexer_ar.c
171
- - ext/gherkin_lexer_bg/gherkin_lexer_bg.c
172
- - ext/gherkin_lexer_ca/gherkin_lexer_ca.c
173
- - ext/gherkin_lexer_cs/gherkin_lexer_cs.c
174
- - ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c
175
- - ext/gherkin_lexer_da/gherkin_lexer_da.c
176
- - ext/gherkin_lexer_de/gherkin_lexer_de.c
177
- - ext/gherkin_lexer_en/gherkin_lexer_en.c
178
- - ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c
179
- - ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c
180
- - ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c
181
- - ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c
182
- - ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c
183
- - ext/gherkin_lexer_eo/gherkin_lexer_eo.c
184
- - ext/gherkin_lexer_es/gherkin_lexer_es.c
185
- - ext/gherkin_lexer_et/gherkin_lexer_et.c
186
- - ext/gherkin_lexer_fi/gherkin_lexer_fi.c
187
- - ext/gherkin_lexer_fr/gherkin_lexer_fr.c
188
- - ext/gherkin_lexer_he/gherkin_lexer_he.c
189
- - ext/gherkin_lexer_hr/gherkin_lexer_hr.c
190
- - ext/gherkin_lexer_hu/gherkin_lexer_hu.c
191
- - ext/gherkin_lexer_id/gherkin_lexer_id.c
192
- - ext/gherkin_lexer_it/gherkin_lexer_it.c
193
- - ext/gherkin_lexer_ja/gherkin_lexer_ja.c
194
- - ext/gherkin_lexer_ko/gherkin_lexer_ko.c
195
- - ext/gherkin_lexer_lt/gherkin_lexer_lt.c
196
- - ext/gherkin_lexer_lu/gherkin_lexer_lu.c
197
- - ext/gherkin_lexer_lv/gherkin_lexer_lv.c
198
- - ext/gherkin_lexer_nl/gherkin_lexer_nl.c
199
- - ext/gherkin_lexer_no/gherkin_lexer_no.c
200
- - ext/gherkin_lexer_pl/gherkin_lexer_pl.c
201
- - ext/gherkin_lexer_pt/gherkin_lexer_pt.c
202
- - ext/gherkin_lexer_ro/gherkin_lexer_ro.c
203
- - ext/gherkin_lexer_ro_ro/gherkin_lexer_ro_ro.c
204
- - ext/gherkin_lexer_ru/gherkin_lexer_ru.c
205
- - ext/gherkin_lexer_sk/gherkin_lexer_sk.c
206
- - ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c
207
- - ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c
208
- - ext/gherkin_lexer_sv/gherkin_lexer_sv.c
209
- - ext/gherkin_lexer_tr/gherkin_lexer_tr.c
210
- - ext/gherkin_lexer_uk/gherkin_lexer_uk.c
211
- - ext/gherkin_lexer_uz/gherkin_lexer_uz.c
212
- - ext/gherkin_lexer_vi/gherkin_lexer_vi.c
213
- - ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c
214
- - ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c
215
175
  - features/escaped_pipes.feature
216
176
  - features/feature_parser.feature
217
177
  - features/json_formatter.feature
@@ -222,15 +182,15 @@ files:
222
182
  - features/step_definitions/eyeball_steps.rb
223
183
  - features/step_definitions/gherkin_steps.rb
224
184
  - features/step_definitions/json_formatter_steps.rb
225
- - features/step_definitions/json_lexer_steps.rb
185
+ - features/step_definitions/json_parser_steps.rb
226
186
  - features/step_definitions/pretty_formatter_steps.rb
227
187
  - features/steps_parser.feature
228
188
  - features/support/env.rb
189
+ - gherkin.gemspec
229
190
  - ikvm/.gitignore
230
191
  - java/.gitignore
231
192
  - java/src/main/java/gherkin/lexer/i18n/.gitignore
232
193
  - java/src/main/resources/gherkin/.gitignore
233
- - json-simple-1.1.dll
234
194
  - lib/.gitignore
235
195
  - lib/gherkin.rb
236
196
  - lib/gherkin/c_lexer.rb
@@ -264,51 +224,6 @@ files:
264
224
  - lib/gherkin/rb_lexer.rb
265
225
  - lib/gherkin/rb_lexer/.gitignore
266
226
  - lib/gherkin/rb_lexer/README.rdoc
267
- - lib/gherkin/rb_lexer/ar.rb
268
- - lib/gherkin/rb_lexer/bg.rb
269
- - lib/gherkin/rb_lexer/ca.rb
270
- - lib/gherkin/rb_lexer/cs.rb
271
- - lib/gherkin/rb_lexer/cy_gb.rb
272
- - lib/gherkin/rb_lexer/da.rb
273
- - lib/gherkin/rb_lexer/de.rb
274
- - lib/gherkin/rb_lexer/en.rb
275
- - lib/gherkin/rb_lexer/en_au.rb
276
- - lib/gherkin/rb_lexer/en_lol.rb
277
- - lib/gherkin/rb_lexer/en_pirate.rb
278
- - lib/gherkin/rb_lexer/en_scouse.rb
279
- - lib/gherkin/rb_lexer/en_tx.rb
280
- - lib/gherkin/rb_lexer/eo.rb
281
- - lib/gherkin/rb_lexer/es.rb
282
- - lib/gherkin/rb_lexer/et.rb
283
- - lib/gherkin/rb_lexer/fi.rb
284
- - lib/gherkin/rb_lexer/fr.rb
285
- - lib/gherkin/rb_lexer/he.rb
286
- - lib/gherkin/rb_lexer/hr.rb
287
- - lib/gherkin/rb_lexer/hu.rb
288
- - lib/gherkin/rb_lexer/id.rb
289
- - lib/gherkin/rb_lexer/it.rb
290
- - lib/gherkin/rb_lexer/ja.rb
291
- - lib/gherkin/rb_lexer/ko.rb
292
- - lib/gherkin/rb_lexer/lt.rb
293
- - lib/gherkin/rb_lexer/lu.rb
294
- - lib/gherkin/rb_lexer/lv.rb
295
- - lib/gherkin/rb_lexer/nl.rb
296
- - lib/gherkin/rb_lexer/no.rb
297
- - lib/gherkin/rb_lexer/pl.rb
298
- - lib/gherkin/rb_lexer/pt.rb
299
- - lib/gherkin/rb_lexer/ro.rb
300
- - lib/gherkin/rb_lexer/ro_ro.rb
301
- - lib/gherkin/rb_lexer/ru.rb
302
- - lib/gherkin/rb_lexer/sk.rb
303
- - lib/gherkin/rb_lexer/sr_cyrl.rb
304
- - lib/gherkin/rb_lexer/sr_latn.rb
305
- - lib/gherkin/rb_lexer/sv.rb
306
- - lib/gherkin/rb_lexer/tr.rb
307
- - lib/gherkin/rb_lexer/uk.rb
308
- - lib/gherkin/rb_lexer/uz.rb
309
- - lib/gherkin/rb_lexer/vi.rb
310
- - lib/gherkin/rb_lexer/zh_cn.rb
311
- - lib/gherkin/rb_lexer/zh_tw.rb
312
227
  - lib/gherkin/rubify.rb
313
228
  - lib/gherkin/tag_expression.rb
314
229
  - lib/gherkin/tools.rb
@@ -316,6 +231,7 @@ files:
316
231
  - lib/gherkin/tools/reformat.rb
317
232
  - lib/gherkin/tools/stats.rb
318
233
  - lib/gherkin/tools/stats_listener.rb
234
+ - lib/gherkin/version.rb
319
235
  - ragel/i18n/.gitignore
320
236
  - ragel/lexer.c.rl.erb
321
237
  - ragel/lexer.java.rl.erb
@@ -373,6 +289,96 @@ files:
373
289
  - tasks/rdoc.rake
374
290
  - tasks/release.rake
375
291
  - tasks/rspec.rake
292
+ - lib/gherkin/rb_lexer/ar.rb
293
+ - lib/gherkin/rb_lexer/bg.rb
294
+ - lib/gherkin/rb_lexer/ca.rb
295
+ - lib/gherkin/rb_lexer/cs.rb
296
+ - lib/gherkin/rb_lexer/cy_gb.rb
297
+ - lib/gherkin/rb_lexer/da.rb
298
+ - lib/gherkin/rb_lexer/de.rb
299
+ - lib/gherkin/rb_lexer/en.rb
300
+ - lib/gherkin/rb_lexer/en_au.rb
301
+ - lib/gherkin/rb_lexer/en_lol.rb
302
+ - lib/gherkin/rb_lexer/en_pirate.rb
303
+ - lib/gherkin/rb_lexer/en_scouse.rb
304
+ - lib/gherkin/rb_lexer/en_tx.rb
305
+ - lib/gherkin/rb_lexer/eo.rb
306
+ - lib/gherkin/rb_lexer/es.rb
307
+ - lib/gherkin/rb_lexer/et.rb
308
+ - lib/gherkin/rb_lexer/fi.rb
309
+ - lib/gherkin/rb_lexer/fr.rb
310
+ - lib/gherkin/rb_lexer/he.rb
311
+ - lib/gherkin/rb_lexer/hr.rb
312
+ - lib/gherkin/rb_lexer/hu.rb
313
+ - lib/gherkin/rb_lexer/id.rb
314
+ - lib/gherkin/rb_lexer/it.rb
315
+ - lib/gherkin/rb_lexer/ja.rb
316
+ - lib/gherkin/rb_lexer/ko.rb
317
+ - lib/gherkin/rb_lexer/lt.rb
318
+ - lib/gherkin/rb_lexer/lu.rb
319
+ - lib/gherkin/rb_lexer/lv.rb
320
+ - lib/gherkin/rb_lexer/nl.rb
321
+ - lib/gherkin/rb_lexer/no.rb
322
+ - lib/gherkin/rb_lexer/pl.rb
323
+ - lib/gherkin/rb_lexer/pt.rb
324
+ - lib/gherkin/rb_lexer/ro.rb
325
+ - lib/gherkin/rb_lexer/ro_ro.rb
326
+ - lib/gherkin/rb_lexer/ru.rb
327
+ - lib/gherkin/rb_lexer/sk.rb
328
+ - lib/gherkin/rb_lexer/sr_cyrl.rb
329
+ - lib/gherkin/rb_lexer/sr_latn.rb
330
+ - lib/gherkin/rb_lexer/sv.rb
331
+ - lib/gherkin/rb_lexer/tr.rb
332
+ - lib/gherkin/rb_lexer/uk.rb
333
+ - lib/gherkin/rb_lexer/uz.rb
334
+ - lib/gherkin/rb_lexer/vi.rb
335
+ - lib/gherkin/rb_lexer/zh_cn.rb
336
+ - lib/gherkin/rb_lexer/zh_tw.rb
337
+ - ext/gherkin_lexer_ar/gherkin_lexer_ar.c
338
+ - ext/gherkin_lexer_bg/gherkin_lexer_bg.c
339
+ - ext/gherkin_lexer_ca/gherkin_lexer_ca.c
340
+ - ext/gherkin_lexer_cs/gherkin_lexer_cs.c
341
+ - ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c
342
+ - ext/gherkin_lexer_da/gherkin_lexer_da.c
343
+ - ext/gherkin_lexer_de/gherkin_lexer_de.c
344
+ - ext/gherkin_lexer_en/gherkin_lexer_en.c
345
+ - ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c
346
+ - ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c
347
+ - ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c
348
+ - ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c
349
+ - ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c
350
+ - ext/gherkin_lexer_eo/gherkin_lexer_eo.c
351
+ - ext/gherkin_lexer_es/gherkin_lexer_es.c
352
+ - ext/gherkin_lexer_et/gherkin_lexer_et.c
353
+ - ext/gherkin_lexer_fi/gherkin_lexer_fi.c
354
+ - ext/gherkin_lexer_fr/gherkin_lexer_fr.c
355
+ - ext/gherkin_lexer_he/gherkin_lexer_he.c
356
+ - ext/gherkin_lexer_hr/gherkin_lexer_hr.c
357
+ - ext/gherkin_lexer_hu/gherkin_lexer_hu.c
358
+ - ext/gherkin_lexer_id/gherkin_lexer_id.c
359
+ - ext/gherkin_lexer_it/gherkin_lexer_it.c
360
+ - ext/gherkin_lexer_ja/gherkin_lexer_ja.c
361
+ - ext/gherkin_lexer_ko/gherkin_lexer_ko.c
362
+ - ext/gherkin_lexer_lt/gherkin_lexer_lt.c
363
+ - ext/gherkin_lexer_lu/gherkin_lexer_lu.c
364
+ - ext/gherkin_lexer_lv/gherkin_lexer_lv.c
365
+ - ext/gherkin_lexer_nl/gherkin_lexer_nl.c
366
+ - ext/gherkin_lexer_no/gherkin_lexer_no.c
367
+ - ext/gherkin_lexer_pl/gherkin_lexer_pl.c
368
+ - ext/gherkin_lexer_pt/gherkin_lexer_pt.c
369
+ - ext/gherkin_lexer_ro/gherkin_lexer_ro.c
370
+ - ext/gherkin_lexer_ro_ro/gherkin_lexer_ro_ro.c
371
+ - ext/gherkin_lexer_ru/gherkin_lexer_ru.c
372
+ - ext/gherkin_lexer_sk/gherkin_lexer_sk.c
373
+ - ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c
374
+ - ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c
375
+ - ext/gherkin_lexer_sv/gherkin_lexer_sv.c
376
+ - ext/gherkin_lexer_tr/gherkin_lexer_tr.c
377
+ - ext/gherkin_lexer_uk/gherkin_lexer_uk.c
378
+ - ext/gherkin_lexer_uz/gherkin_lexer_uz.c
379
+ - ext/gherkin_lexer_vi/gherkin_lexer_vi.c
380
+ - ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c
381
+ - ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c
376
382
  - ext/gherkin_lexer_ar/extconf.rb
377
383
  - ext/gherkin_lexer_bg/extconf.rb
378
384
  - ext/gherkin_lexer_ca/extconf.rb
@@ -451,14 +457,46 @@ rubyforge_project:
451
457
  rubygems_version: 1.3.7
452
458
  signing_key:
453
459
  specification_version: 3
454
- summary: Fast Gherkin lexer/parser
460
+ summary: gherkin-2.2.1
455
461
  test_files:
462
+ - features/escaped_pipes.feature
463
+ - features/feature_parser.feature
464
+ - features/json_formatter.feature
465
+ - features/json_parser.feature
466
+ - features/native_lexer.feature
467
+ - features/parser_with_native_lexer.feature
468
+ - features/pretty_formatter.feature
469
+ - features/step_definitions/eyeball_steps.rb
470
+ - features/step_definitions/gherkin_steps.rb
471
+ - features/step_definitions/json_formatter_steps.rb
472
+ - features/step_definitions/json_parser_steps.rb
473
+ - features/step_definitions/pretty_formatter_steps.rb
474
+ - features/steps_parser.feature
475
+ - features/support/env.rb
456
476
  - spec/gherkin/c_lexer_spec.rb
477
+ - spec/gherkin/fixtures/1.feature
478
+ - spec/gherkin/fixtures/comments_in_table.feature
479
+ - spec/gherkin/fixtures/complex.feature
480
+ - spec/gherkin/fixtures/complex.json
481
+ - spec/gherkin/fixtures/complex_for_filtering.feature
482
+ - spec/gherkin/fixtures/complex_with_tags.feature
483
+ - spec/gherkin/fixtures/dos_line_endings.feature
484
+ - spec/gherkin/fixtures/hantu_pisang.feature
485
+ - spec/gherkin/fixtures/i18n_fr.feature
486
+ - spec/gherkin/fixtures/i18n_no.feature
487
+ - spec/gherkin/fixtures/i18n_zh-CN.feature
488
+ - spec/gherkin/fixtures/scenario_outline_with_tags.feature
489
+ - spec/gherkin/fixtures/scenario_without_steps.feature
490
+ - spec/gherkin/fixtures/simple_with_comments.feature
491
+ - spec/gherkin/fixtures/simple_with_tags.feature
492
+ - spec/gherkin/fixtures/with_bom.feature
457
493
  - spec/gherkin/formatter/argument_spec.rb
458
494
  - spec/gherkin/formatter/colors_spec.rb
459
495
  - spec/gherkin/formatter/filter_formatter_spec.rb
460
496
  - spec/gherkin/formatter/model_spec.rb
461
497
  - spec/gherkin/formatter/pretty_formatter_spec.rb
498
+ - spec/gherkin/formatter/spaces.feature
499
+ - spec/gherkin/formatter/tabs.feature
462
500
  - spec/gherkin/formatter/tag_count_formatter_spec.rb
463
501
  - spec/gherkin/i18n_spec.rb
464
502
  - spec/gherkin/java_lexer_spec.rb
@@ -1,5 +0,0 @@
1
- ---
2
- :major: 2
3
- :minor: 2
4
- :patch: 0
5
- :build:
Binary file