gherkin 2.7.7 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
  gemspec
3
3
 
4
- #gem 'cucumber', :path => '../cucumber'
4
+ # gem 'cucumber', :path => '../cucumber'
data/History.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [2.8.0](https://github.com/cucumber/gherkin/compare/v2.7.7...v2.8.0)
2
+
3
+ * [Ruby/Java] TagExpression.eval() now takes a list of Tag instead of a list of String. This slightly breaks the API (bump), but helps fix some bugs in Cucumber-JVM. (Aslak Hellesøy)
4
+
1
5
  ## [2.7.7](https://github.com/cucumber/gherkin/compare/v2.7.6...v2.7.7)
2
6
 
3
7
  * [C] Allow compilation with clang (datanoise)
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2011 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy
1
+ Copyright (c) 2009-2012 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  [![Build Status](https://secure.travis-ci.org/cucumber/gherkin.png)](http://travis-ci.org/cucumber/gherkin)
2
+ [![Dependency Status](https://gemnasium.com/cucumber/gherkin.png)](https://gemnasium.com/cucumber/gherkin)
2
3
 
3
4
  A fast lexer and parser for the Gherkin language based on Ragel. Gherkin is two things:
4
5
 
@@ -54,7 +55,7 @@ The jar file is in the central Maven repo.
54
55
  <dependency>
55
56
  <groupId>info.cukes</groupId>
56
57
  <artifactId>gherkin</artifactId>
57
- <version>2.7.7</version>
58
+ <version>2.8.0</version>
58
59
  </dependency>
59
60
 
60
61
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
@@ -235,4 +236,4 @@ Now you can build Windows gems:
235
236
 
236
237
  ## Copyright
237
238
 
238
- Copyright (c) 2009-2011 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.
239
+ Copyright (c) 2009-2012 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.
@@ -1,5 +1,6 @@
1
1
  [
2
2
  {
3
+ "file_colon_line": "features/step_definitions/eyeball_steps.rb:1",
3
4
  "flags": "",
4
5
  "source": "^they have arrived$",
5
6
  "steps": [
@@ -12,6 +13,7 @@
12
13
  ]
13
14
  },
14
15
  {
16
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:1",
15
17
  "flags": "",
16
18
  "source": "^a \"(ruby|native)\" \"([^\\\"]*)\" parser$",
17
19
  "steps": [
@@ -19,6 +21,7 @@
19
21
  ]
20
22
  },
21
23
  {
24
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:5",
22
25
  "flags": "",
23
26
  "source": "^the\\ following\\ text\\ is\\ parsed:$",
24
27
  "steps": [
@@ -31,6 +34,7 @@
31
34
  ]
32
35
  },
33
36
  {
37
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:9",
34
38
  "flags": "",
35
39
  "source": "^there\\ should\\ be\\ no\\ parse\\ errors$",
36
40
  "steps": [
@@ -43,6 +47,7 @@
43
47
  ]
44
48
  },
45
49
  {
50
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:13",
46
51
  "flags": "",
47
52
  "source": "^there should be a parse error on (line \\d+)$",
48
53
  "steps": [
@@ -58,6 +63,7 @@
58
63
  ]
59
64
  },
60
65
  {
66
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:17",
61
67
  "flags": "",
62
68
  "source": "^there should be parse errors on (lines .*)$",
63
69
  "steps": [
@@ -109,6 +115,7 @@
109
115
  ]
110
116
  },
111
117
  {
118
+ "file_colon_line": "features/step_definitions/json_formatter_steps.rb:13",
112
119
  "flags": "",
113
120
  "source": "^a JSON formatter$",
114
121
  "steps": [
@@ -116,6 +123,7 @@
116
123
  ]
117
124
  },
118
125
  {
126
+ "file_colon_line": "features/step_definitions/json_formatter_steps.rb:18",
119
127
  "flags": "",
120
128
  "source": "^the outputted JSON should be:$",
121
129
  "steps": [
@@ -128,6 +136,7 @@
128
136
  ]
129
137
  },
130
138
  {
139
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:5",
131
140
  "flags": "",
132
141
  "source": "^a PrettyFormatter$",
133
142
  "steps": [
@@ -135,6 +144,7 @@
135
144
  ]
136
145
  },
137
146
  {
147
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:10",
138
148
  "flags": "",
139
149
  "source": "^a JSON lexer$",
140
150
  "steps": [
@@ -142,6 +152,7 @@
142
152
  ]
143
153
  },
144
154
  {
155
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:14",
145
156
  "flags": "",
146
157
  "source": "^the following JSON is parsed:$",
147
158
  "steps": [
@@ -154,6 +165,7 @@
154
165
  ]
155
166
  },
156
167
  {
168
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:18",
157
169
  "flags": "",
158
170
  "source": "^the outputted text should be:$",
159
171
  "steps": [
@@ -166,6 +178,7 @@
166
178
  ]
167
179
  },
168
180
  {
181
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:50",
169
182
  "flags": "",
170
183
  "source": "^I have Cucumber's source code next to Gherkin's$",
171
184
  "steps": [
@@ -178,6 +191,7 @@
178
191
  ]
179
192
  },
180
193
  {
194
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:55",
181
195
  "flags": "",
182
196
  "source": "^I find all of the \\.feature files$",
183
197
  "steps": [
@@ -190,6 +204,7 @@
190
204
  ]
191
205
  },
192
206
  {
207
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:59",
193
208
  "flags": "",
194
209
  "source": "^I send each prettified original through the \"([^\"]*)\" machinery$",
195
210
  "steps": [
@@ -214,6 +229,7 @@
214
229
  ]
215
230
  },
216
231
  {
232
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:83",
217
233
  "flags": "",
218
234
  "source": "^the machinery output should be identical to the prettified original$",
219
235
  "steps": [
@@ -2,8 +2,20 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "gherkin"
5
- # If bumping the major version here, comment out the cucumber dependency below and uncomment in the Gemfile to build against a local cucumber.
6
- s.version = "2.7.7"
5
+ # If the major version is bumped, verify that the change is ok:
6
+ #
7
+ # * Comment out cucumber dependency in gemspec
8
+ # * Uncomment cucumber location in Gemspec
9
+ # * Bump cucumber's gherkin dependency to the new version
10
+ # * bundle update
11
+ # * bundle exec rake
12
+ #
13
+ # Repeat these step for cucumber (swap `cucumber` with `gherkin`).
14
+ #
15
+ # When both are building OK, do a `bundle exec rake install` in both cucumber and gherkin projects, revert the changes in the first 2 steps
16
+ # and release both projects.
17
+ #
18
+ s.version = "2.8.0"
7
19
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
8
20
  s.description = "A fast Gherkin lexer/parser based on the Ragel State Machine Compiler."
9
21
  s.summary = "#{s.name}-#{s.version}"
@@ -46,11 +58,11 @@ Gem::Specification.new do |s|
46
58
 
47
59
  s.add_runtime_dependency('json', '>= 1.4.6')
48
60
 
49
- s.add_development_dependency('cucumber', '>= 1.1.4')
61
+ s.add_development_dependency('cucumber', '>= 1.1.5')
50
62
  s.add_development_dependency('rake', '>= 0.9.2')
51
- s.add_development_dependency('bundler', '>= 1.0.21')
63
+ s.add_development_dependency('bundler', '>= 1.0.22')
52
64
  s.add_development_dependency('rspec', '~> 2.7.0') # No 2.8.0 until this is fixed: https://github.com/rspec/rspec-expectations/issues/112
53
- s.add_development_dependency('rubyzip', '>= 0.9.5')
65
+ s.add_development_dependency('rubyzip', '>= 0.9.6.1')
54
66
 
55
67
  unless ENV['RUBY_CC_VERSION'] || defined?(JRUBY_VERSION)
56
68
  s.add_development_dependency('therubyracer', '>= 0.9.9') if ENV['GHERKIN_JS']
@@ -8,7 +8,7 @@ module Gherkin
8
8
  end
9
9
 
10
10
  def eval(tags, names, ranges)
11
- @tag_expression.eval(tags.uniq.map{|tag| tag.name})
11
+ @tag_expression.eval(tags.uniq)
12
12
  end
13
13
 
14
14
  def filter_table_body_rows(rows)
@@ -20,7 +20,7 @@ module Gherkin
20
20
 
21
21
  def eval(tags)
22
22
  return true if @ands.flatten.empty?
23
- vars = Hash[*tags.map{|tag| [tag, true]}.flatten]
23
+ vars = Hash[*tags.map{|tag| [tag.name, true]}.flatten]
24
24
  !!Kernel.eval(ruby_expression)
25
25
  end
26
26
 
@@ -1,15 +1,20 @@
1
1
  require 'spec_helper'
2
2
  require 'gherkin/tag_expression'
3
+ require 'gherkin/formatter/model'
3
4
 
4
5
  module Gherkin
5
6
  describe TagExpression do
7
+ def tag(name)
8
+ Formatter::Model::Tag.new(name, 0)
9
+ end
10
+
6
11
  context "no tags" do
7
12
  before(:each) do
8
13
  @e = Gherkin::TagExpression.new([])
9
14
  end
10
15
 
11
16
  it "should match @foo" do
12
- @e.eval(['@foo']).should == true
17
+ @e.eval([tag('@foo')]).should == true
13
18
  end
14
19
 
15
20
  it "should match empty tags" do
@@ -23,11 +28,11 @@ module Gherkin
23
28
  end
24
29
 
25
30
  it "should match @foo" do
26
- @e.eval(['@foo']).should == true
31
+ @e.eval([tag('@foo')]).should == true
27
32
  end
28
33
 
29
34
  it "should not match @bar" do
30
- @e.eval(['@bar']).should == false
35
+ @e.eval([tag('@bar')]).should == false
31
36
  end
32
37
 
33
38
  it "should not match no tags" do
@@ -41,11 +46,11 @@ module Gherkin
41
46
  end
42
47
 
43
48
  it "should match @bar" do
44
- @e.eval(['@bar']).should == true
49
+ @e.eval([tag('@bar')]).should == true
45
50
  end
46
51
 
47
52
  it "should not match @foo" do
48
- @e.eval(['@foo']).should == false
53
+ @e.eval([tag('@foo')]).should == false
49
54
  end
50
55
  end
51
56
 
@@ -55,15 +60,15 @@ module Gherkin
55
60
  end
56
61
 
57
62
  it "should match @foo" do
58
- @e.eval(['@foo']).should == true
63
+ @e.eval([tag('@foo')]).should == true
59
64
  end
60
65
 
61
66
  it "should match @bar" do
62
- @e.eval(['@bar']).should == true
67
+ @e.eval([tag('@bar')]).should == true
63
68
  end
64
69
 
65
70
  it "should not match @zap" do
66
- @e.eval(['@zap']).should == false
71
+ @e.eval([tag('@zap')]).should == false
67
72
  end
68
73
  end
69
74
 
@@ -73,11 +78,11 @@ module Gherkin
73
78
  end
74
79
 
75
80
  it "should match @foo" do
76
- @e.eval(['@foo']).should == true
81
+ @e.eval([tag('@foo')]).should == true
77
82
  end
78
83
 
79
84
  it "should not match @foo @zap" do
80
- @e.eval(['@foo', '@zap']).should == false
85
+ @e.eval([tag('@foo'), tag('@zap')]).should == false
81
86
  end
82
87
  end
83
88
 
@@ -91,7 +96,7 @@ module Gherkin
91
96
  end
92
97
 
93
98
  it "should match @foo @zap" do
94
- @e.eval(['@foo', '@zap']).should == true
99
+ @e.eval([tag('@foo'), tag('@zap')]).should == true
95
100
  end
96
101
  end
97
102
 
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.7.7
4
+ version: 2.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-02-08 00:00:00.000000000 Z
14
+ date: 2012-02-18 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake-compiler
18
- requirement: &2165788340 !ruby/object:Gem::Requirement
18
+ requirement: &2153119880 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 0.7.9
24
24
  type: :development
25
25
  prerelease: false
26
- version_requirements: *2165788340
26
+ version_requirements: *2153119880
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
- requirement: &2165784440 !ruby/object:Gem::Requirement
29
+ requirement: &2153115980 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,21 +34,21 @@ dependencies:
34
34
  version: 1.4.6
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2165784440
37
+ version_requirements: *2153115980
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: cucumber
40
- requirement: &2165783980 !ruby/object:Gem::Requirement
40
+ requirement: &2153115520 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: 1.1.4
45
+ version: 1.1.5
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2165783980
48
+ version_requirements: *2153115520
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
- requirement: &2165799880 !ruby/object:Gem::Requirement
51
+ requirement: &2153115060 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,21 +56,21 @@ dependencies:
56
56
  version: 0.9.2
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2165799880
59
+ version_requirements: *2153115060
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: bundler
62
- requirement: &2165799420 !ruby/object:Gem::Requirement
62
+ requirement: &2153114600 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
66
66
  - !ruby/object:Gem::Version
67
- version: 1.0.21
67
+ version: 1.0.22
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2165799420
70
+ version_requirements: *2153114600
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rspec
73
- requirement: &2165798960 !ruby/object:Gem::Requirement
73
+ requirement: &2153114140 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ~>
@@ -78,21 +78,21 @@ dependencies:
78
78
  version: 2.7.0
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2165798960
81
+ version_requirements: *2153114140
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: rubyzip
84
- requirement: &2165798500 !ruby/object:Gem::Requirement
84
+ requirement: &2153113680 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.9.5
89
+ version: 0.9.6.1
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *2165798500
92
+ version_requirements: *2153113680
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: therubyracer
95
- requirement: &2165797960 !ruby/object:Gem::Requirement
95
+ requirement: &2153129520 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
@@ -100,10 +100,10 @@ dependencies:
100
100
  version: 0.9.9
101
101
  type: :development
102
102
  prerelease: false
103
- version_requirements: *2165797960
103
+ version_requirements: *2153129520
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: yard
106
- requirement: &2165797500 !ruby/object:Gem::Requirement
106
+ requirement: &2153129060 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ! '>='
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: 0.7.5
112
112
  type: :development
113
113
  prerelease: false
114
- version_requirements: *2165797500
114
+ version_requirements: *2153129060
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: rdiscount
117
- requirement: &2165797040 !ruby/object:Gem::Requirement
117
+ requirement: &2153128600 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ! '>='
@@ -122,10 +122,10 @@ dependencies:
122
122
  version: 1.6.8
123
123
  type: :development
124
124
  prerelease: false
125
- version_requirements: *2165797040
125
+ version_requirements: *2153128600
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: term-ansicolor
128
- requirement: &2165796580 !ruby/object:Gem::Requirement
128
+ requirement: &2153128140 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ! '>='
@@ -133,10 +133,10 @@ dependencies:
133
133
  version: 1.0.6
134
134
  type: :development
135
135
  prerelease: false
136
- version_requirements: *2165796580
136
+ version_requirements: *2153128140
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: builder
139
- requirement: &2165796120 !ruby/object:Gem::Requirement
139
+ requirement: &2153127680 !ruby/object:Gem::Requirement
140
140
  none: false
141
141
  requirements:
142
142
  - - ! '>='
@@ -144,7 +144,7 @@ dependencies:
144
144
  version: 2.1.2
145
145
  type: :development
146
146
  prerelease: false
147
- version_requirements: *2165796120
147
+ version_requirements: *2153127680
148
148
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
149
149
  email: cukes@googlegroups.com
150
150
  executables: []
@@ -490,7 +490,7 @@ rubyforge_project:
490
490
  rubygems_version: 1.8.10
491
491
  signing_key:
492
492
  specification_version: 3
493
- summary: gherkin-2.7.7
493
+ summary: gherkin-2.8.0
494
494
  test_files:
495
495
  - features/escaped_pipes.feature
496
496
  - features/feature_parser.feature