gherkin 2.2.0 → 2.2.1

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