gherkin 2.2.4-universal-dotnet → 2.2.5-universal-dotnet

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.
@@ -1,3 +1,8 @@
1
+ == 2.2.5 (2010-10-1)
2
+
3
+ === New Features
4
+ * Gherkin will scan all top comments for the language comment. (Aslak Hellesøy)
5
+
1
6
  == 2.2.4 (2010-09-22)
2
7
 
3
8
  === Bugfixes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.4
1
+ 2.2.5
@@ -2,7 +2,7 @@
2
2
  rm -Rf release
3
3
  mkdir release
4
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
5
+ GEM_PLATFORM=x86-mswin32 gem build gherkin.gemspec
6
+ GEM_PLATFORM=x86-mingw32 gem build gherkin.gemspec
7
7
  GEM_PLATFORM=universal-dotnet gem build gherkin.gemspec
8
8
  mv *.gem release
@@ -32,7 +32,6 @@ Gem::Specification.new do |s|
32
32
 
33
33
  if ENV['GEM_PLATFORM']
34
34
  puts "GEM_PLATFORM:#{ENV['GEM_PLATFORM']}"
35
- puts "PLATFORM:#{PLATFORM}"
36
35
  end
37
36
  s.platform = ENV['GEM_PLATFORM'] if ENV['GEM_PLATFORM']
38
37
  case s.platform.to_s
@@ -11,7 +11,7 @@ module Gherkin
11
11
  end
12
12
 
13
13
  # Parse a gherkin object +o+, which can either be a JSON String,
14
- # or a Hash (from a parser JSON String).
14
+ # or a Hash (from a parsed JSON String).
15
15
  def parse(o, feature_uri='unknown.json', line_offset=0)
16
16
  o = JSON.parse(o) if String === o
17
17
  @formatter.uri(feature_uri)
@@ -10,6 +10,7 @@ module Gherkin
10
10
  class I18nLexer
11
11
  native_impl('gherkin')
12
12
 
13
+ COMMENT_OR_EMPTY_LINE_PATTERN = /^\s*#|^\s*$/
13
14
  LANGUAGE_PATTERN = /^\s*#\s*language\s*:\s*([a-zA-Z\-]+)/ #:nodoc:
14
15
  attr_reader :i18n_language
15
16
 
@@ -30,9 +31,15 @@ module Gherkin
30
31
  end
31
32
 
32
33
  def lang(source)
33
- line_one = source.split(/\n/)[0]
34
- match = LANGUAGE_PATTERN.match(line_one)
35
- I18n.get(match ? match[1] : 'en')
34
+ key = 'en'
35
+ source.split(/\n/).each do |line|
36
+ break unless COMMENT_OR_EMPTY_LINE_PATTERN =~ line
37
+ if LANGUAGE_PATTERN =~ line
38
+ key = $1
39
+ break
40
+ end
41
+ end
42
+ I18n.get(key)
36
43
  end
37
44
 
38
45
  end
@@ -20,6 +20,16 @@ module Gherkin
20
20
  @lexer.i18n_language.iso_code.should == "da"
21
21
  end
22
22
 
23
+ it "should detect language when the language comment is not the first line" do
24
+ @lexer.scan("# hello\n# language: no\n")
25
+ @lexer.i18n_language.iso_code.should == "no"
26
+ end
27
+
28
+ it "should detect language when the language is on the third line, and there are empty lines above" do
29
+ @lexer.scan("# hello\n\n# language: no\n")
30
+ @lexer.i18n_language.iso_code.should == "no"
31
+ end
32
+
23
33
  it "should use English i18n by default" do
24
34
  @lexer.scan("Feature: foo\n")
25
35
  @lexer.i18n_language.iso_code.should == "en"
@@ -78,7 +78,7 @@ EOF
78
78
  Rake::ExtensionTask.new("gherkin_lexer_#{i18n.underscored_iso_code}") do |ext|
79
79
  if ENV['RUBY_CC_VERSION']
80
80
  ext.cross_compile = true
81
- ext.cross_platform = 'i386-mingw32'
81
+ ext.cross_platform = 'x86-mingw32'
82
82
  end
83
83
  end
84
84
 
@@ -1,4 +1,3 @@
1
- begin
2
1
  require 'cucumber/rake/task'
3
2
 
4
3
  Cucumber::Rake::Task.new(:cucumber) do |t|
@@ -17,9 +16,3 @@ namespace :cucumber do
17
16
  end
18
17
  task :native_lexer => [:clean, :compile]
19
18
  end
20
-
21
- rescue LoadError
22
- task :cucumber do
23
- raise "Cucumber not installed"
24
- end
25
- 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: 15
5
4
  prerelease: false
6
5
  segments:
7
6
  - 2
8
7
  - 2
9
- - 4
10
- version: 2.2.4
8
+ - 5
9
+ version: 2.2.5
11
10
  platform: universal-dotnet
12
11
  authors:
13
12
  - Mike Sassak
@@ -17,7 +16,7 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2010-09-22 00:00:00 +02:00
19
+ date: 2010-10-01 00:00:00 +02:00
21
20
  default_executable: gherkin
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
@@ -28,7 +27,6 @@ dependencies:
28
27
  requirements:
29
28
  - - ~>
30
29
  - !ruby/object:Gem::Version
31
- hash: 83
32
30
  segments:
33
31
  - 1
34
32
  - 16
@@ -44,7 +42,6 @@ dependencies:
44
42
  requirements:
45
43
  - - ~>
46
44
  - !ruby/object:Gem::Version
47
- hash: 11
48
45
  segments:
49
46
  - 1
50
47
  - 4
@@ -60,7 +57,6 @@ dependencies:
60
57
  requirements:
61
58
  - - ~>
62
59
  - !ruby/object:Gem::Version
63
- hash: 29
64
60
  segments:
65
61
  - 1
66
62
  - 0
@@ -76,7 +72,6 @@ dependencies:
76
72
  requirements:
77
73
  - - ~>
78
74
  - !ruby/object:Gem::Version
79
- hash: 49
80
75
  segments:
81
76
  - 0
82
77
  - 8
@@ -92,7 +87,6 @@ dependencies:
92
87
  requirements:
93
88
  - - ~>
94
89
  - !ruby/object:Gem::Version
95
- hash: 21
96
90
  segments:
97
91
  - 0
98
92
  - 2
@@ -108,7 +102,6 @@ dependencies:
108
102
  requirements:
109
103
  - - ~>
110
104
  - !ruby/object:Gem::Version
111
- hash: 62196431
112
105
  segments:
113
106
  - 2
114
107
  - 0
@@ -126,7 +119,6 @@ dependencies:
126
119
  requirements:
127
120
  - - ~>
128
121
  - !ruby/object:Gem::Version
129
- hash: 59
130
122
  segments:
131
123
  - 0
132
124
  - 9
@@ -295,7 +287,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
295
287
  requirements:
296
288
  - - ">="
297
289
  - !ruby/object:Gem::Version
298
- hash: 3
299
290
  segments:
300
291
  - 0
301
292
  version: "0"
@@ -304,7 +295,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
295
  requirements:
305
296
  - - ">="
306
297
  - !ruby/object:Gem::Version
307
- hash: 3
308
298
  segments:
309
299
  - 0
310
300
  version: "0"
@@ -314,7 +304,7 @@ rubyforge_project:
314
304
  rubygems_version: 1.3.7
315
305
  signing_key:
316
306
  specification_version: 3
317
- summary: gherkin-2.2.4
307
+ summary: gherkin-2.2.5
318
308
  test_files:
319
309
  - features/escaped_pipes.feature
320
310
  - features/feature_parser.feature