gherkin 2.2.7 → 2.2.8
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/History.txt +8 -3
- data/VERSION +1 -1
- data/gherkin.gemspec +1 -2
- metadata +31 -62
- data/bin/gherkin +0 -5
- data/lib/gherkin/cli/main.rb +0 -33
- data/lib/gherkin/tools.rb +0 -8
- data/lib/gherkin/tools/files.rb +0 -34
- data/lib/gherkin/tools/reformat.rb +0 -20
- data/lib/gherkin/tools/stats.rb +0 -20
- data/lib/gherkin/tools/stats_listener.rb +0 -60
data/History.txt
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
== 2.2.
|
|
1
|
+
== 2.2.8 (2010-10-04)
|
|
2
|
+
|
|
3
|
+
=== Removed Features
|
|
4
|
+
* Trollop based CLI - didn't find a good use for it yet. (Aslak Hellesøy)
|
|
5
|
+
|
|
6
|
+
== 2.2.7 (2010-10-01)
|
|
2
7
|
|
|
3
8
|
=== Bugfixes
|
|
4
9
|
* I18n.getCodeKeywords() on Java didn't strip '!'. Not anymore. (Aslak Hellesøy)
|
|
5
10
|
|
|
6
|
-
== 2.2.6 (2010-10-
|
|
11
|
+
== 2.2.6 (2010-10-01)
|
|
7
12
|
|
|
8
13
|
=== Bugfixes
|
|
9
14
|
* I18n.getCodeKeywords() on Java included '*'. Not anymore. (Aslak Hellesøy)
|
|
10
15
|
|
|
11
|
-
== 2.2.5 (2010-10-
|
|
16
|
+
== 2.2.5 (2010-10-01)
|
|
12
17
|
|
|
13
18
|
=== New Features
|
|
14
19
|
* Gherkin will scan all top comments for the language comment. (Aslak Hellesøy)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.2.
|
|
1
|
+
2.2.8
|
data/gherkin.gemspec
CHANGED
|
@@ -48,12 +48,11 @@ Gem::Specification.new do |s|
|
|
|
48
48
|
s.add_development_dependency('rake-compiler', '~> 0.7.1')
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
-
s.add_dependency('trollop', '~> 1.16.2')
|
|
52
51
|
s.add_dependency('json', '~> 1.4.6')
|
|
53
52
|
s.add_dependency('term-ansicolor','~> 1.0.5')
|
|
54
53
|
|
|
55
54
|
s.add_development_dependency('rake', '~> 0.8.7')
|
|
56
55
|
s.add_development_dependency('awesome_print', '~> 0.2.1')
|
|
57
56
|
s.add_development_dependency('rspec', '~> 2.0.0.beta.22')
|
|
58
|
-
s.add_development_dependency('cucumber', '~> 0.9.
|
|
57
|
+
s.add_development_dependency('cucumber', '~> 0.9.1')
|
|
59
58
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gherkin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash: 9
|
|
5
4
|
prerelease: false
|
|
6
5
|
segments:
|
|
7
6
|
- 2
|
|
8
7
|
- 2
|
|
9
|
-
-
|
|
10
|
-
version: 2.2.
|
|
8
|
+
- 8
|
|
9
|
+
version: 2.2.8
|
|
11
10
|
platform: ruby
|
|
12
11
|
authors:
|
|
13
12
|
- Mike Sassak
|
|
@@ -17,112 +16,91 @@ autorequire:
|
|
|
17
16
|
bindir: bin
|
|
18
17
|
cert_chain: []
|
|
19
18
|
|
|
20
|
-
date: 2010-10-
|
|
19
|
+
date: 2010-10-04 00:00:00 +02:00
|
|
21
20
|
default_executable: gherkin
|
|
22
21
|
dependencies:
|
|
23
22
|
- !ruby/object:Gem::Dependency
|
|
24
|
-
|
|
23
|
+
name: rake-compiler
|
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
25
|
none: false
|
|
26
26
|
requirements:
|
|
27
27
|
- - ~>
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
hash: 1
|
|
30
29
|
segments:
|
|
31
30
|
- 0
|
|
32
31
|
- 7
|
|
33
32
|
- 1
|
|
34
33
|
version: 0.7.1
|
|
35
|
-
requirement: *id001
|
|
36
34
|
type: :development
|
|
37
|
-
name: rake-compiler
|
|
38
|
-
prerelease: false
|
|
39
|
-
- !ruby/object:Gem::Dependency
|
|
40
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
|
-
requirements:
|
|
43
|
-
- - ~>
|
|
44
|
-
- !ruby/object:Gem::Version
|
|
45
|
-
hash: 83
|
|
46
|
-
segments:
|
|
47
|
-
- 1
|
|
48
|
-
- 16
|
|
49
|
-
- 2
|
|
50
|
-
version: 1.16.2
|
|
51
|
-
requirement: *id002
|
|
52
|
-
type: :runtime
|
|
53
|
-
name: trollop
|
|
54
35
|
prerelease: false
|
|
36
|
+
version_requirements: *id001
|
|
55
37
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
|
|
38
|
+
name: json
|
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
57
40
|
none: false
|
|
58
41
|
requirements:
|
|
59
42
|
- - ~>
|
|
60
43
|
- !ruby/object:Gem::Version
|
|
61
|
-
hash: 11
|
|
62
44
|
segments:
|
|
63
45
|
- 1
|
|
64
46
|
- 4
|
|
65
47
|
- 6
|
|
66
48
|
version: 1.4.6
|
|
67
|
-
requirement: *id003
|
|
68
49
|
type: :runtime
|
|
69
|
-
name: json
|
|
70
50
|
prerelease: false
|
|
51
|
+
version_requirements: *id002
|
|
71
52
|
- !ruby/object:Gem::Dependency
|
|
72
|
-
|
|
53
|
+
name: term-ansicolor
|
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
73
55
|
none: false
|
|
74
56
|
requirements:
|
|
75
57
|
- - ~>
|
|
76
58
|
- !ruby/object:Gem::Version
|
|
77
|
-
hash: 29
|
|
78
59
|
segments:
|
|
79
60
|
- 1
|
|
80
61
|
- 0
|
|
81
62
|
- 5
|
|
82
63
|
version: 1.0.5
|
|
83
|
-
requirement: *id004
|
|
84
64
|
type: :runtime
|
|
85
|
-
name: term-ansicolor
|
|
86
65
|
prerelease: false
|
|
66
|
+
version_requirements: *id003
|
|
87
67
|
- !ruby/object:Gem::Dependency
|
|
88
|
-
|
|
68
|
+
name: rake
|
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
89
70
|
none: false
|
|
90
71
|
requirements:
|
|
91
72
|
- - ~>
|
|
92
73
|
- !ruby/object:Gem::Version
|
|
93
|
-
hash: 49
|
|
94
74
|
segments:
|
|
95
75
|
- 0
|
|
96
76
|
- 8
|
|
97
77
|
- 7
|
|
98
78
|
version: 0.8.7
|
|
99
|
-
requirement: *id005
|
|
100
79
|
type: :development
|
|
101
|
-
name: rake
|
|
102
80
|
prerelease: false
|
|
81
|
+
version_requirements: *id004
|
|
103
82
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
|
|
83
|
+
name: awesome_print
|
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
105
85
|
none: false
|
|
106
86
|
requirements:
|
|
107
87
|
- - ~>
|
|
108
88
|
- !ruby/object:Gem::Version
|
|
109
|
-
hash: 21
|
|
110
89
|
segments:
|
|
111
90
|
- 0
|
|
112
91
|
- 2
|
|
113
92
|
- 1
|
|
114
93
|
version: 0.2.1
|
|
115
|
-
requirement: *id006
|
|
116
94
|
type: :development
|
|
117
|
-
name: awesome_print
|
|
118
95
|
prerelease: false
|
|
96
|
+
version_requirements: *id005
|
|
119
97
|
- !ruby/object:Gem::Dependency
|
|
120
|
-
|
|
98
|
+
name: rspec
|
|
99
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
121
100
|
none: false
|
|
122
101
|
requirements:
|
|
123
102
|
- - ~>
|
|
124
103
|
- !ruby/object:Gem::Version
|
|
125
|
-
hash: 62196431
|
|
126
104
|
segments:
|
|
127
105
|
- 2
|
|
128
106
|
- 0
|
|
@@ -130,30 +108,28 @@ dependencies:
|
|
|
130
108
|
- beta
|
|
131
109
|
- 22
|
|
132
110
|
version: 2.0.0.beta.22
|
|
133
|
-
requirement: *id007
|
|
134
111
|
type: :development
|
|
135
|
-
name: rspec
|
|
136
112
|
prerelease: false
|
|
113
|
+
version_requirements: *id006
|
|
137
114
|
- !ruby/object:Gem::Dependency
|
|
138
|
-
|
|
115
|
+
name: cucumber
|
|
116
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
139
117
|
none: false
|
|
140
118
|
requirements:
|
|
141
119
|
- - ~>
|
|
142
120
|
- !ruby/object:Gem::Version
|
|
143
|
-
hash: 59
|
|
144
121
|
segments:
|
|
145
122
|
- 0
|
|
146
123
|
- 9
|
|
147
|
-
-
|
|
148
|
-
version: 0.9.
|
|
149
|
-
requirement: *id008
|
|
124
|
+
- 1
|
|
125
|
+
version: 0.9.1
|
|
150
126
|
type: :development
|
|
151
|
-
name: cucumber
|
|
152
127
|
prerelease: false
|
|
128
|
+
version_requirements: *id007
|
|
153
129
|
description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
|
|
154
130
|
email: cukes@googlegroups.com
|
|
155
|
-
executables:
|
|
156
|
-
|
|
131
|
+
executables: []
|
|
132
|
+
|
|
157
133
|
extensions:
|
|
158
134
|
- ext/gherkin_lexer_ar/extconf.rb
|
|
159
135
|
- ext/gherkin_lexer_bg/extconf.rb
|
|
@@ -216,7 +192,6 @@ files:
|
|
|
216
192
|
- README.rdoc
|
|
217
193
|
- Rakefile
|
|
218
194
|
- VERSION
|
|
219
|
-
- bin/gherkin
|
|
220
195
|
- build_native_gems.sh
|
|
221
196
|
- cucumber.yml
|
|
222
197
|
- features/escaped_pipes.feature
|
|
@@ -241,7 +216,6 @@ files:
|
|
|
241
216
|
- lib/.gitignore
|
|
242
217
|
- lib/gherkin.rb
|
|
243
218
|
- lib/gherkin/c_lexer.rb
|
|
244
|
-
- lib/gherkin/cli/main.rb
|
|
245
219
|
- lib/gherkin/formatter/argument.rb
|
|
246
220
|
- lib/gherkin/formatter/colors.rb
|
|
247
221
|
- lib/gherkin/formatter/escaping.rb
|
|
@@ -273,11 +247,6 @@ files:
|
|
|
273
247
|
- lib/gherkin/rb_lexer/README.rdoc
|
|
274
248
|
- lib/gherkin/rubify.rb
|
|
275
249
|
- lib/gherkin/tag_expression.rb
|
|
276
|
-
- lib/gherkin/tools.rb
|
|
277
|
-
- lib/gherkin/tools/files.rb
|
|
278
|
-
- lib/gherkin/tools/reformat.rb
|
|
279
|
-
- lib/gherkin/tools/stats.rb
|
|
280
|
-
- lib/gherkin/tools/stats_listener.rb
|
|
281
250
|
- lib/gherkin/version.rb
|
|
282
251
|
- ragel/i18n/.gitignore
|
|
283
252
|
- ragel/lexer.c.rl.erb
|
|
@@ -485,7 +454,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
485
454
|
requirements:
|
|
486
455
|
- - ">="
|
|
487
456
|
- !ruby/object:Gem::Version
|
|
488
|
-
hash:
|
|
457
|
+
hash: -4414543502464709152
|
|
489
458
|
segments:
|
|
490
459
|
- 0
|
|
491
460
|
version: "0"
|
|
@@ -494,7 +463,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
494
463
|
requirements:
|
|
495
464
|
- - ">="
|
|
496
465
|
- !ruby/object:Gem::Version
|
|
497
|
-
hash:
|
|
466
|
+
hash: -4414543502464709152
|
|
498
467
|
segments:
|
|
499
468
|
- 0
|
|
500
469
|
version: "0"
|
|
@@ -504,7 +473,7 @@ rubyforge_project:
|
|
|
504
473
|
rubygems_version: 1.3.7
|
|
505
474
|
signing_key:
|
|
506
475
|
specification_version: 3
|
|
507
|
-
summary: gherkin-2.2.
|
|
476
|
+
summary: gherkin-2.2.8
|
|
508
477
|
test_files:
|
|
509
478
|
- features/escaped_pipes.feature
|
|
510
479
|
- features/feature_parser.feature
|
data/bin/gherkin
DELETED
data/lib/gherkin/cli/main.rb
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
begin
|
|
2
|
-
require 'trollop'
|
|
3
|
-
rescue LoadError
|
|
4
|
-
require 'rubygems'
|
|
5
|
-
require 'trollop'
|
|
6
|
-
end
|
|
7
|
-
require 'gherkin/tools'
|
|
8
|
-
|
|
9
|
-
module Gherkin
|
|
10
|
-
module Cli
|
|
11
|
-
class Main
|
|
12
|
-
def self.run(args)
|
|
13
|
-
Trollop::options(args) do
|
|
14
|
-
banner "Super fast gherkin parser"
|
|
15
|
-
stop_on Tools::SUB_COMMANDS
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
cmd_name = args.shift
|
|
19
|
-
die("Missing command") if cmd_name.nil?
|
|
20
|
-
begin
|
|
21
|
-
cmd = Tools.const_get(cmd_name.capitalize.to_sym).new(args)
|
|
22
|
-
cmd.run
|
|
23
|
-
rescue => e
|
|
24
|
-
Trollop::die(e.message + "\n#{e.backtrace.join("\n")}\n\nCommand: #{cmd_name}")
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def self.die(msg)
|
|
29
|
-
Trollop::die("#{msg}\nusage: gherkin COMMAND [ARGS]\nAvailable commands: #{Tools::SUB_COMMANDS.join(' ')}")
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
data/lib/gherkin/tools.rb
DELETED
data/lib/gherkin/tools/files.rb
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
require 'gherkin'
|
|
2
|
-
|
|
3
|
-
module Gherkin
|
|
4
|
-
module Tools
|
|
5
|
-
# Base class for file based operations
|
|
6
|
-
class Files
|
|
7
|
-
include Enumerable
|
|
8
|
-
|
|
9
|
-
def initialize(paths)
|
|
10
|
-
raise "Please specify one or more paths" if paths.empty?
|
|
11
|
-
@paths = paths
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def each(&proc)
|
|
15
|
-
globs = @paths.map do |path|
|
|
16
|
-
raise "#{path} does not exist" unless File.exist?(path)
|
|
17
|
-
File.directory?(path) ? File.join(path, '**', '*.feature') : path
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
Dir[*globs].uniq.sort.each(&proc)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def parse(file, formatter)
|
|
24
|
-
parser = Gherkin::Parser::Parser.new(formatter, true, "root")
|
|
25
|
-
begin
|
|
26
|
-
parser.parse(IO.read(file), file, 0)
|
|
27
|
-
rescue => e
|
|
28
|
-
e.message << " (#{file})"
|
|
29
|
-
raise e
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
require 'stringio'
|
|
2
|
-
require 'gherkin/tools/files'
|
|
3
|
-
require 'gherkin/formatter/pretty_formatter'
|
|
4
|
-
require 'gherkin/listener/formatter_listener'
|
|
5
|
-
|
|
6
|
-
module Gherkin
|
|
7
|
-
module Tools
|
|
8
|
-
class Reformat < Files
|
|
9
|
-
def run
|
|
10
|
-
each do |file|
|
|
11
|
-
io = defined?(JRUBY_VERSION) ? Java.java.io.StringWriter.new : StringIO.new
|
|
12
|
-
formatter = Formatter::PrettyFormatter.new(io, true)
|
|
13
|
-
parse(file, formatter)
|
|
14
|
-
string = defined?(JRUBY_VERSION) ? io.getBuffer.toString : io.string
|
|
15
|
-
File.open(file, 'w') {|io| io.write(string)}
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
data/lib/gherkin/tools/stats.rb
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
require 'gherkin'
|
|
2
|
-
require 'gherkin/tools/files'
|
|
3
|
-
require 'gherkin/tools/stats_listener'
|
|
4
|
-
|
|
5
|
-
module Gherkin
|
|
6
|
-
module Tools
|
|
7
|
-
class Stats < Files
|
|
8
|
-
def run
|
|
9
|
-
formatter = StatsFormatter.new
|
|
10
|
-
each do |f|
|
|
11
|
-
parser = Gherkin::Parser::Parser.new(formatter, true)
|
|
12
|
-
parser.parse(IO.read(f), f, 0)
|
|
13
|
-
end
|
|
14
|
-
puts "Features: #{listener.features}"
|
|
15
|
-
puts "Scenarios: #{listener.scenarios}"
|
|
16
|
-
puts "Steps: #{listener.steps}"
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
require 'gherkin/native'
|
|
2
|
-
|
|
3
|
-
# encoding: utf-8
|
|
4
|
-
module Gherkin
|
|
5
|
-
module Tools
|
|
6
|
-
class StatsListener
|
|
7
|
-
implements 'gherkin.Listener'
|
|
8
|
-
|
|
9
|
-
attr_reader :features, :scenarios, :steps
|
|
10
|
-
|
|
11
|
-
def initialize
|
|
12
|
-
@features = 0
|
|
13
|
-
@scenarios = 0
|
|
14
|
-
@steps = 0
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def location(uri)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def tag(name, line)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def comment(content, line)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def feature(keyword, name, description, line)
|
|
27
|
-
@features += 1
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def background(keyword, name, description, line)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def scenario(keyword, name, description, line)
|
|
34
|
-
@scenarios += 1
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def scenario_outline(keyword, name, description, line)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def examples(keyword, name, description, line)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def step(keyword, name, line)
|
|
44
|
-
@steps += 1
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def row(row, line)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def py_string(string, line)
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def syntax_error(state, event, legal_events, uri, line)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def eof
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|