shallot 0.2 → 0.3
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/Rakefile +1 -1
- data/lib/shallot.rb +4 -4
- data/shallot.gemspec +2 -2
- data/test/test_shallot.rb +5 -2
- metadata +11 -11
data/Rakefile
CHANGED
@@ -14,7 +14,7 @@ require 'rake'
|
|
14
14
|
require 'jeweler'
|
15
15
|
Jeweler::Tasks.new do |gem|
|
16
16
|
gem.name = "shallot"
|
17
|
-
gem.version = "0.
|
17
|
+
gem.version = "0.3"
|
18
18
|
gem.homepage = "http://github.com/noblesamurai/shallot"
|
19
19
|
gem.license = "GPL-3"
|
20
20
|
gem.summary = %Q{a lexer/parser for Gherkin}
|
data/lib/shallot.rb
CHANGED
@@ -85,8 +85,8 @@ class Shallot
|
|
85
85
|
@qqq = nil
|
86
86
|
|
87
87
|
elsif @qqq.nil? and [nil, ?#].include? line.strip[0]
|
88
|
-
# Blank or comment; outside triple-quote.
|
89
|
-
|
88
|
+
# Blank or comment; outside triple-quote. Process as an empty line.
|
89
|
+
line = '' unless [:background, :scenario].include? @state
|
90
90
|
end
|
91
91
|
|
92
92
|
# Use state.
|
@@ -117,7 +117,7 @@ class Shallot
|
|
117
117
|
@state = :feature
|
118
118
|
@feature = feature
|
119
119
|
|
120
|
-
|
120
|
+
elsif line != ''
|
121
121
|
# There shouldn't be anything else in here.
|
122
122
|
raise Error, "unexpected line before feature start"
|
123
123
|
end
|
@@ -204,7 +204,7 @@ class Shallot
|
|
204
204
|
# Parses a line of tags, +line+, returning a list of downcased tags sans "@".
|
205
205
|
# Returns +nil+ if the line didn't contain only tags (and at least one).
|
206
206
|
def parse_tag_line line
|
207
|
-
if (tags = line.strip.split).all? {|w| w[0] == ?@}
|
207
|
+
if (tags = line.strip.split).all? {|w| w[0] == ?@} and tags.length > 0
|
208
208
|
tags.map {|t| t[1..-1].downcase}
|
209
209
|
end
|
210
210
|
end
|
data/shallot.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "shallot"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Anneli Cuss"]
|
12
|
-
s.date = "2011-12-
|
12
|
+
s.date = "2011-12-29"
|
13
13
|
s.description = "shallot is a lexer/parser for Gherkin, the syntax used by Cucumber. It takes a .feature file and gives you something easy to work with."
|
14
14
|
s.email = "opensource@noblesamurai.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/test/test_shallot.rb
CHANGED
@@ -41,14 +41,16 @@ $parsed =
|
|
41
41
|
:background=>
|
42
42
|
[" Each step in the background",
|
43
43
|
" But without any additional parsing",
|
44
|
-
" Or validation"
|
44
|
+
" Or validation",
|
45
|
+
""],
|
45
46
|
:scenarios=>
|
46
47
|
[{:name=>"And each scenario",
|
47
48
|
:outline=>false,
|
48
49
|
:tags=>["shallot", "regression", "bug"],
|
49
50
|
:contents=>
|
50
51
|
[" With tags, including those inherited",
|
51
|
-
" From the feature level tags"
|
52
|
+
" From the feature level tags",
|
53
|
+
""],
|
52
54
|
:line=>11},
|
53
55
|
{:name=>"As well as scenario outlines",
|
54
56
|
:outline=>true,
|
@@ -60,6 +62,7 @@ $parsed =
|
|
60
62
|
" sections",
|
61
63
|
" \"\"\"",
|
62
64
|
" While no extra <kind> for examples",
|
65
|
+
"",
|
63
66
|
" Examples:",
|
64
67
|
" | kind |",
|
65
68
|
" | parsing |",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shallot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.3'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-29 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &70151002790180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70151002790180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &70151002789360 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70151002789360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70151002788220 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.6.4
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70151002788220
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rcov
|
49
|
-
requirement: &
|
49
|
+
requirement: &70151002786740 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70151002786740
|
58
58
|
description: shallot is a lexer/parser for Gherkin, the syntax used by Cucumber. It
|
59
59
|
takes a .feature file and gives you something easy to work with.
|
60
60
|
email: opensource@noblesamurai.com
|
@@ -89,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
segments:
|
91
91
|
- 0
|
92
|
-
hash:
|
92
|
+
hash: -589754811058347744
|
93
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|