gherkin 1.0.2 → 1.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.
Files changed (76) hide show
  1. data/.gitattributes +1 -0
  2. data/History.txt +18 -0
  3. data/README.rdoc +4 -1
  4. data/Rakefile +4 -2
  5. data/VERSION.yml +1 -1
  6. data/bin/gherkin +1 -1
  7. data/dotnet/.gitignore +13 -0
  8. data/features/feature_parser.feature +22 -2
  9. data/features/native_lexer.feature +1 -1
  10. data/features/parser_with_native_lexer.feature +1 -1
  11. data/features/step_definitions/gherkin_steps.rb +2 -6
  12. data/features/step_definitions/pretty_printer_steps.rb +2 -3
  13. data/features/steps_parser.feature +1 -1
  14. data/gherkin.gemspec +53 -24
  15. data/java/Gherkin.iml +2 -4
  16. data/java/build.xml +3 -0
  17. data/java/src/gherkin/FixJava.java +6 -3
  18. data/java/src/gherkin/I18nLexer.java +48 -0
  19. data/java/src/gherkin/Listener.java +3 -1
  20. data/java/src/gherkin/Main.java +17 -0
  21. data/java/src/gherkin/Parser.java +9 -3
  22. data/java/src/gherkin/formatter/Argument.java +39 -0
  23. data/java/src/gherkin/formatter/ArgumentFormat.java +17 -0
  24. data/java/src/gherkin/formatter/Colors.java +7 -0
  25. data/java/src/gherkin/formatter/Formatter.java +15 -0
  26. data/java/src/gherkin/formatter/PrettyFormatter.java +219 -0
  27. data/java/src/gherkin/parser/StateMachineReader.java +8 -3
  28. data/java/test/gherkin/formatter/ArgumentTest.java +17 -0
  29. data/lib/gherkin/csharp_lexer.rb +15 -0
  30. data/lib/gherkin/format/argument.rb +35 -0
  31. data/lib/gherkin/format/monochrome_format.rb +9 -0
  32. data/lib/gherkin/i18n.rb +22 -0
  33. data/lib/gherkin/i18n.yml +34 -20
  34. data/lib/gherkin/i18n_lexer.rb +57 -13
  35. data/lib/gherkin/lexer.rb +9 -18
  36. data/lib/gherkin/parser.rb +3 -3
  37. data/lib/gherkin/parser/meta.txt +5 -4
  38. data/lib/gherkin/parser/root.txt +11 -9
  39. data/lib/gherkin/parser/steps.txt +4 -3
  40. data/lib/gherkin/rb_parser.rb +13 -5
  41. data/lib/gherkin/tools/colors.rb +119 -0
  42. data/lib/gherkin/tools/files.rb +6 -1
  43. data/lib/gherkin/tools/pretty_listener.rb +115 -23
  44. data/ragel/lexer.c.rl.erb +67 -51
  45. data/ragel/lexer.csharp.rl.erb +240 -0
  46. data/ragel/lexer.java.rl.erb +27 -18
  47. data/ragel/lexer.rb.rl.erb +17 -17
  48. data/ragel/lexer_common.rl.erb +8 -8
  49. data/spec/gherkin/c_lexer_spec.rb +4 -4
  50. data/spec/gherkin/csharp_lexer_spec.rb +20 -0
  51. data/spec/gherkin/fixtures/comments_in_table.feature +9 -0
  52. data/spec/gherkin/fixtures/complex.feature +2 -0
  53. data/spec/gherkin/fixtures/dos_line_endings.feature +45 -0
  54. data/spec/gherkin/fixtures/i18n_fr.feature +1 -0
  55. data/spec/gherkin/fixtures/i18n_no.feature +1 -0
  56. data/spec/gherkin/fixtures/i18n_zh-CN.feature +1 -0
  57. data/spec/gherkin/format/argument_spec.rb +28 -0
  58. data/spec/gherkin/i18n_lexer_spec.rb +4 -4
  59. data/spec/gherkin/i18n_spec.rb +31 -23
  60. data/spec/gherkin/java_lexer_spec.rb +4 -3
  61. data/spec/gherkin/parser_spec.rb +5 -0
  62. data/spec/gherkin/rb_lexer_spec.rb +4 -2
  63. data/spec/gherkin/sexp_recorder.rb +1 -1
  64. data/spec/gherkin/shared/lexer_spec.rb +169 -60
  65. data/spec/gherkin/shared/py_string_spec.rb +6 -0
  66. data/spec/gherkin/shared/row_spec.rb +107 -0
  67. data/spec/gherkin/shared/tags_spec.rb +1 -1
  68. data/spec/gherkin/tools/colors_spec.rb +19 -0
  69. data/spec/gherkin/tools/pretty_listener_spec.rb +147 -0
  70. data/spec/spec_helper.rb +31 -7
  71. data/tasks/compile.rake +81 -7
  72. data/tasks/ragel_task.rb +6 -4
  73. data/tasks/rspec.rake +2 -2
  74. metadata +104 -41
  75. data/lib/gherkin/java_lexer.rb +0 -10
  76. data/spec/gherkin/shared/table_spec.rb +0 -97
@@ -0,0 +1 @@
1
+ spec/gherkin/fixtures/dos_line_endings.feature -crlf
@@ -1,3 +1,21 @@
1
+ == In Git
2
+
3
+ == Bugfixes
4
+ * The C lexer correctly instantiates a new array for each table, instead of reusing the old one. (Aslak Hellesøy)
5
+ * Emit keywords with space instead of stripping (< keywords are emmitted without space) (Aslak Hellesøy)
6
+ * gherkin reformat now prints comments, and does it with proper indentation (Aslak Hellesøy)
7
+ * .NET resource files are now automatically copied into the .dll (#46 Aslak Hellesøy)
8
+
9
+ == New features
10
+ * The Pure Java implementation now has a simple main method that pretty prints a feature. (#39 Aslak Hellesøy)
11
+ * Writing code generated i18n syntax highlighters for Gherkin is a lot easier thanks to several convenience methods in Gherkin::I18n. (Aslak Hellesøy)
12
+ * .NET (C#) port (#36, #37 Attila Sztupak)
13
+ * Tables parsed and sent by row rather than by table. (Mike Sassak)
14
+
15
+ == Changed features
16
+ * Switced to ISO 639-1 (language) and ISO 3166 alpha-2 (region - if applicable). Applies to Catalan,
17
+ Swedish, Welsh, Romanian and Serbian. (Aslak Hellesøy)
18
+
1
19
  == 1.0.2 (2009-12-30)
2
20
 
3
21
  == Bugfixes
@@ -9,6 +9,9 @@ Fast Gherkin lexer and parser based on Ragel. Gherkin is two things:
9
9
 
10
10
  rake clean spec cucumber
11
11
 
12
+ If the RL_LANG environment variable is set, only the parsers for the languages specified there will be built.
13
+ E.g. in Bash, export RL_LANG="en,fr,no". This can be quite helpful when modifying the Ragel grammar.
14
+
12
15
  == Release process
13
16
 
14
17
  * Run "rake clean spec cucumber" for each platform (1.8.6, 1.8.7, 1.9, jruby) to make sure all is green.
@@ -17,7 +20,7 @@ rake clean spec cucumber
17
20
  * rake clean jar compile
18
21
  * rake gemspec
19
22
  * git commit -a -m "Release vX.Y.Z"
20
- * rake release
23
+ * rake gemcutter:release
21
24
  * ./nativegems.sh
22
25
  * gem push pkg/... (for each native gem)
23
26
 
data/Rakefile CHANGED
@@ -15,10 +15,12 @@ begin
15
15
  gem.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
16
16
  gem.executables = ["gherkin"]
17
17
  gem.add_dependency "trollop", ">= 1.15"
18
- gem.add_development_dependency "rspec", ">= 1.2.9"
19
- gem.add_development_dependency "cucumber", ">= 0.5.1"
18
+ gem.add_development_dependency "rspec", ">= 1.3.0"
19
+ gem.add_development_dependency "cucumber", ">= 0.6.2"
20
20
  gem.add_development_dependency "rake-compiler", ">= 0.7.0" unless defined?(JRUBY_VERSION)
21
+ gem.add_development_dependency "albacore", ">= 0.1.0"
21
22
 
23
+ gem.files -= FileList['dotnet/**/*']
22
24
  case ENV['PLATFORM']
23
25
  when 'java'
24
26
  gem.platform = 'java'
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 0
3
- :patch: 2
3
+ :patch: 3
4
4
  :major: 1
@@ -2,4 +2,4 @@
2
2
  $:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
3
3
 
4
4
  require 'gherkin/cli/main'
5
- Gherkin::Cli::Main.run(ARGV)
5
+ Gherkin::Cli::Main.run(ARGV)
@@ -0,0 +1,13 @@
1
+ *.user
2
+ *.suo
3
+ bin
4
+ obj
5
+ Gherkin/StateMachine/meta.txt
6
+ Gherkin/StateMachine/root.txt
7
+ Gherkin/StateMachine/steps.txt
8
+ Gherkin/Lexer/*.cs
9
+ *.sln.cache
10
+ _ReSharper*
11
+ Gherkin.sln.proj
12
+ *.pidb
13
+ *.userprefs
@@ -6,7 +6,7 @@ Feature: Gherkin Feature lexer
6
6
  make all the syntax decisions for me
7
7
 
8
8
  Background:
9
- Given a "en", "ruby" "root" parser
9
+ Given a "ruby" "root" parser
10
10
 
11
11
  Scenario: Correctly formed feature
12
12
  Given the following text is parsed:
@@ -92,7 +92,7 @@ Feature: Gherkin Feature lexer
92
92
  """
93
93
  Then there should be parse errors on lines 5, 10 and 12
94
94
 
95
- Scenario: Tables
95
+ Scenario: Malformed Tables
96
96
  Given the following text is parsed:
97
97
  """
98
98
  Feature: Antiques Roadshow
@@ -115,6 +115,26 @@ Feature: Gherkin Feature lexer
115
115
  """
116
116
  Then there should be parse errors on lines 10 and 17
117
117
 
118
+ Scenario: Well-formed Tables
119
+ Given the following text is parsed:
120
+ """
121
+ Feature: Row-by-row
122
+
123
+ Scenario: Tables with comments!
124
+ Given I can now comment out a row:
125
+ | Key | Value |
126
+ # | Yes | No |
127
+ # | Good | Bad |
128
+ | Good | Evil |
129
+ Then I am pleased by these things:
130
+ | Raindrops | Roses |
131
+ # | Whiskers | Kittens |
132
+ | Bright Copper | Kettles |
133
+ # | Warm woolen | Mittens |
134
+ | Also Oban | And Hendricks |
135
+ """
136
+ Then there should be no parse errors
137
+
118
138
  Scenario: Multiline keyword descriptions
119
139
  Given the following text is parsed:
120
140
  """
@@ -1,7 +1,7 @@
1
1
  Feature: Native (C/Java) Lexer
2
2
 
3
3
  Background:
4
- Given a "en", "native" "root" parser
4
+ Given a "native" "root" parser
5
5
 
6
6
  Scenario: Parsing an empty feature
7
7
  Given the following text is parsed:
@@ -5,7 +5,7 @@ Feature: Gherkin Feature lexer/parser
5
5
  make all the syntax decisions for me
6
6
 
7
7
  Background:
8
- Given a "en", "native" "root" parser
8
+ Given a "native" "root" parser
9
9
 
10
10
  Scenario: Correctly formed feature
11
11
  When the following text is parsed:
@@ -1,10 +1,6 @@
1
- Given /^a "([^\"]*)", "([^\"]*)" "([^\"]*)" parser$/ do |i18n_language, impl, parser_name|
1
+ Given /^a "([^\"]*)" "([^\"]*)" parser$/ do |ruby_or_native, parser_name|
2
2
  parser = Gherkin::Parser.new(@listener, false, parser_name)
3
- programming_language = {
4
- 'ruby' => 'rb',
5
- 'native' => (defined?(JRUBY_VERSION) ? 'java' : 'c')
6
- }[impl]
7
- @lexer = Gherkin::Lexer.send(programming_language)[i18n_language].new(parser)
3
+ @lexer = Gherkin::I18nLexer.new(parser, ruby_or_native == "ruby")
8
4
  end
9
5
 
10
6
  Given "the following text is parsed:" do |text|
@@ -31,13 +31,12 @@ When /^I parse the prettified representation of each of them$/ do
31
31
  pretty1 = nil
32
32
  pretty2 = nil
33
33
  begin
34
- # announce "========== #{feature}:"
35
34
  pretty1 = pretty(IO.read(feature))
36
35
  pretty2 = pretty(pretty1)
37
36
  pretty2.should == pretty1
38
37
  rescue Spec::Expectations::ExpectationNotMetError => e
39
- File.open("p1.feature", "w") {|io| io.write(pretty1)}
40
- File.open("p2.feature", "w") {|io| io.write(pretty2)}
38
+ File.open("p1.feature", "wb") {|io| io.write(pretty1)}
39
+ File.open("p2.feature", "wb") {|io| io.write(pretty2)}
41
40
  announce "========== #{feature}:"
42
41
  if(e.message =~ /(@@.*)/m)
43
42
  announce $1
@@ -4,7 +4,7 @@ Feature: Gherkin Steps parser
4
4
  I want a steps parser to make writing compound steps easier
5
5
 
6
6
  Background:
7
- Given a "en", "ruby" "steps" parser
7
+ Given a "ruby" "steps" parser
8
8
 
9
9
  Scenario: Parsing steps
10
10
  Given the following text is parsed:
@@ -5,22 +5,23 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gherkin}
8
- s.version = "1.0.2"
8
+ s.version = "1.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 = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Helles\303\270y"]
12
- s.date = %q{2009-12-30}
12
+ s.date = %q{2010-03-30}
13
13
  s.default_executable = %q{gherkin}
14
14
  s.description = %q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
15
15
  s.email = %q{cukes@googlegroups.com}
16
16
  s.executables = ["gherkin"]
17
- s.extensions = ["ext/gherkin_lexer_ar/extconf.rb", "ext/gherkin_lexer_bg/extconf.rb", "ext/gherkin_lexer_cat/extconf.rb", "ext/gherkin_lexer_cs/extconf.rb", "ext/gherkin_lexer_cy/extconf.rb", "ext/gherkin_lexer_da/extconf.rb", "ext/gherkin_lexer_de/extconf.rb", "ext/gherkin_lexer_en/extconf.rb", "ext/gherkin_lexer_enau/extconf.rb", "ext/gherkin_lexer_enlol/extconf.rb", "ext/gherkin_lexer_entx/extconf.rb", "ext/gherkin_lexer_es/extconf.rb", "ext/gherkin_lexer_et/extconf.rb", "ext/gherkin_lexer_fi/extconf.rb", "ext/gherkin_lexer_fr/extconf.rb", "ext/gherkin_lexer_he/extconf.rb", "ext/gherkin_lexer_hr/extconf.rb", "ext/gherkin_lexer_hu/extconf.rb", "ext/gherkin_lexer_id/extconf.rb", "ext/gherkin_lexer_it/extconf.rb", "ext/gherkin_lexer_ja/extconf.rb", "ext/gherkin_lexer_ko/extconf.rb", "ext/gherkin_lexer_lt/extconf.rb", "ext/gherkin_lexer_lv/extconf.rb", "ext/gherkin_lexer_nl/extconf.rb", "ext/gherkin_lexer_no/extconf.rb", "ext/gherkin_lexer_pl/extconf.rb", "ext/gherkin_lexer_pt/extconf.rb", "ext/gherkin_lexer_ro/extconf.rb", "ext/gherkin_lexer_ro2/extconf.rb", "ext/gherkin_lexer_ru/extconf.rb", "ext/gherkin_lexer_se/extconf.rb", "ext/gherkin_lexer_sk/extconf.rb", "ext/gherkin_lexer_sr/extconf.rb", "ext/gherkin_lexer_srLatn/extconf.rb", "ext/gherkin_lexer_tr/extconf.rb", "ext/gherkin_lexer_uz/extconf.rb", "ext/gherkin_lexer_vi/extconf.rb", "ext/gherkin_lexer_zhCN/extconf.rb", "ext/gherkin_lexer_zhTW/extconf.rb"]
17
+ s.extensions = ["ext/gherkin_lexer_ar/extconf.rb", "ext/gherkin_lexer_bg/extconf.rb", "ext/gherkin_lexer_ca/extconf.rb", "ext/gherkin_lexer_cs/extconf.rb", "ext/gherkin_lexer_cyGB/extconf.rb", "ext/gherkin_lexer_da/extconf.rb", "ext/gherkin_lexer_de/extconf.rb", "ext/gherkin_lexer_en/extconf.rb", "ext/gherkin_lexer_enau/extconf.rb", "ext/gherkin_lexer_enlol/extconf.rb", "ext/gherkin_lexer_enScouse/extconf.rb", "ext/gherkin_lexer_entx/extconf.rb", "ext/gherkin_lexer_es/extconf.rb", "ext/gherkin_lexer_et/extconf.rb", "ext/gherkin_lexer_fi/extconf.rb", "ext/gherkin_lexer_fr/extconf.rb", "ext/gherkin_lexer_he/extconf.rb", "ext/gherkin_lexer_hr/extconf.rb", "ext/gherkin_lexer_hu/extconf.rb", "ext/gherkin_lexer_id/extconf.rb", "ext/gherkin_lexer_it/extconf.rb", "ext/gherkin_lexer_ja/extconf.rb", "ext/gherkin_lexer_ko/extconf.rb", "ext/gherkin_lexer_lt/extconf.rb", "ext/gherkin_lexer_lv/extconf.rb", "ext/gherkin_lexer_nl/extconf.rb", "ext/gherkin_lexer_no/extconf.rb", "ext/gherkin_lexer_pl/extconf.rb", "ext/gherkin_lexer_pt/extconf.rb", "ext/gherkin_lexer_ro/extconf.rb", "ext/gherkin_lexer_roRO/extconf.rb", "ext/gherkin_lexer_ru/extconf.rb", "ext/gherkin_lexer_sk/extconf.rb", "ext/gherkin_lexer_srCyrl/extconf.rb", "ext/gherkin_lexer_srLatn/extconf.rb", "ext/gherkin_lexer_sv/extconf.rb", "ext/gherkin_lexer_tr/extconf.rb", "ext/gherkin_lexer_uz/extconf.rb", "ext/gherkin_lexer_vi/extconf.rb", "ext/gherkin_lexer_zhCN/extconf.rb", "ext/gherkin_lexer_zhTW/extconf.rb"]
18
18
  s.extra_rdoc_files = [
19
19
  "LICENSE",
20
20
  "README.rdoc"
21
21
  ]
22
22
  s.files = [
23
- ".gitignore",
23
+ ".gitattributes",
24
+ ".gitignore",
24
25
  ".mailmap",
25
26
  "History.txt",
26
27
  "LICENSE",
@@ -29,14 +30,16 @@ Gem::Specification.new do |s|
29
30
  "VERSION.yml",
30
31
  "bin/gherkin",
31
32
  "cucumber.yml",
33
+ "dotnet/.gitignore",
32
34
  "ext/gherkin_lexer_ar/gherkin_lexer_ar.c",
33
35
  "ext/gherkin_lexer_bg/gherkin_lexer_bg.c",
34
- "ext/gherkin_lexer_cat/gherkin_lexer_cat.c",
36
+ "ext/gherkin_lexer_ca/gherkin_lexer_ca.c",
35
37
  "ext/gherkin_lexer_cs/gherkin_lexer_cs.c",
36
- "ext/gherkin_lexer_cy/gherkin_lexer_cy.c",
38
+ "ext/gherkin_lexer_cyGB/gherkin_lexer_cyGB.c",
37
39
  "ext/gherkin_lexer_da/gherkin_lexer_da.c",
38
40
  "ext/gherkin_lexer_de/gherkin_lexer_de.c",
39
41
  "ext/gherkin_lexer_en/gherkin_lexer_en.c",
42
+ "ext/gherkin_lexer_enScouse/gherkin_lexer_enScouse.c",
40
43
  "ext/gherkin_lexer_enau/gherkin_lexer_enau.c",
41
44
  "ext/gherkin_lexer_enlol/gherkin_lexer_enlol.c",
42
45
  "ext/gherkin_lexer_entx/gherkin_lexer_entx.c",
@@ -58,12 +61,12 @@ Gem::Specification.new do |s|
58
61
  "ext/gherkin_lexer_pl/gherkin_lexer_pl.c",
59
62
  "ext/gherkin_lexer_pt/gherkin_lexer_pt.c",
60
63
  "ext/gherkin_lexer_ro/gherkin_lexer_ro.c",
61
- "ext/gherkin_lexer_ro2/gherkin_lexer_ro2.c",
64
+ "ext/gherkin_lexer_roRO/gherkin_lexer_roRO.c",
62
65
  "ext/gherkin_lexer_ru/gherkin_lexer_ru.c",
63
- "ext/gherkin_lexer_se/gherkin_lexer_se.c",
64
66
  "ext/gherkin_lexer_sk/gherkin_lexer_sk.c",
65
- "ext/gherkin_lexer_sr/gherkin_lexer_sr.c",
67
+ "ext/gherkin_lexer_srCyrl/gherkin_lexer_srCyrl.c",
66
68
  "ext/gherkin_lexer_srLatn/gherkin_lexer_srLatn.c",
69
+ "ext/gherkin_lexer_sv/gherkin_lexer_sv.c",
67
70
  "ext/gherkin_lexer_tr/gherkin_lexer_tr.c",
68
71
  "ext/gherkin_lexer_uz/gherkin_lexer_uz.c",
69
72
  "ext/gherkin_lexer_vi/gherkin_lexer_vi.c",
@@ -82,22 +85,32 @@ Gem::Specification.new do |s|
82
85
  "java/Gherkin.iml",
83
86
  "java/build.xml",
84
87
  "java/src/gherkin/FixJava.java",
88
+ "java/src/gherkin/I18nLexer.java",
85
89
  "java/src/gherkin/Lexer.java",
86
90
  "java/src/gherkin/LexingError.java",
87
91
  "java/src/gherkin/Listener.java",
92
+ "java/src/gherkin/Main.java",
88
93
  "java/src/gherkin/ParseError.java",
89
94
  "java/src/gherkin/Parser.java",
95
+ "java/src/gherkin/formatter/Argument.java",
96
+ "java/src/gherkin/formatter/ArgumentFormat.java",
97
+ "java/src/gherkin/formatter/Colors.java",
98
+ "java/src/gherkin/formatter/Formatter.java",
99
+ "java/src/gherkin/formatter/PrettyFormatter.java",
90
100
  "java/src/gherkin/lexer/.gitignore",
91
101
  "java/src/gherkin/parser/StateMachineReader.java",
102
+ "java/test/gherkin/formatter/ArgumentTest.java",
92
103
  "lib/.gitignore",
93
104
  "lib/gherkin.rb",
94
105
  "lib/gherkin/c_lexer.rb",
95
106
  "lib/gherkin/cli/main.rb",
96
107
  "lib/gherkin/core_ext/array.rb",
108
+ "lib/gherkin/csharp_lexer.rb",
109
+ "lib/gherkin/format/argument.rb",
110
+ "lib/gherkin/format/monochrome_format.rb",
97
111
  "lib/gherkin/i18n.rb",
98
112
  "lib/gherkin/i18n.yml",
99
113
  "lib/gherkin/i18n_lexer.rb",
100
- "lib/gherkin/java_lexer.rb",
101
114
  "lib/gherkin/lexer.rb",
102
115
  "lib/gherkin/parser.rb",
103
116
  "lib/gherkin/parser/meta.txt",
@@ -108,12 +121,13 @@ Gem::Specification.new do |s|
108
121
  "lib/gherkin/rb_lexer/README.rdoc",
109
122
  "lib/gherkin/rb_lexer/ar.rb",
110
123
  "lib/gherkin/rb_lexer/bg.rb",
111
- "lib/gherkin/rb_lexer/cat.rb",
124
+ "lib/gherkin/rb_lexer/ca.rb",
112
125
  "lib/gherkin/rb_lexer/cs.rb",
113
- "lib/gherkin/rb_lexer/cy.rb",
126
+ "lib/gherkin/rb_lexer/cyGB.rb",
114
127
  "lib/gherkin/rb_lexer/da.rb",
115
128
  "lib/gherkin/rb_lexer/de.rb",
116
129
  "lib/gherkin/rb_lexer/en.rb",
130
+ "lib/gherkin/rb_lexer/enScouse.rb",
117
131
  "lib/gherkin/rb_lexer/enau.rb",
118
132
  "lib/gherkin/rb_lexer/enlol.rb",
119
133
  "lib/gherkin/rb_lexer/entx.rb",
@@ -135,12 +149,12 @@ Gem::Specification.new do |s|
135
149
  "lib/gherkin/rb_lexer/pl.rb",
136
150
  "lib/gherkin/rb_lexer/pt.rb",
137
151
  "lib/gherkin/rb_lexer/ro.rb",
138
- "lib/gherkin/rb_lexer/ro2.rb",
152
+ "lib/gherkin/rb_lexer/roRO.rb",
139
153
  "lib/gherkin/rb_lexer/ru.rb",
140
- "lib/gherkin/rb_lexer/se.rb",
141
154
  "lib/gherkin/rb_lexer/sk.rb",
142
- "lib/gherkin/rb_lexer/sr.rb",
155
+ "lib/gherkin/rb_lexer/srCyrl.rb",
143
156
  "lib/gherkin/rb_lexer/srLatn.rb",
157
+ "lib/gherkin/rb_lexer/sv.rb",
144
158
  "lib/gherkin/rb_lexer/tr.rb",
145
159
  "lib/gherkin/rb_lexer/uz.rb",
146
160
  "lib/gherkin/rb_lexer/vi.rb",
@@ -148,6 +162,7 @@ Gem::Specification.new do |s|
148
162
  "lib/gherkin/rb_lexer/zhTW.rb",
149
163
  "lib/gherkin/rb_parser.rb",
150
164
  "lib/gherkin/tools.rb",
165
+ "lib/gherkin/tools/colors.rb",
151
166
  "lib/gherkin/tools/files.rb",
152
167
  "lib/gherkin/tools/pretty_listener.rb",
153
168
  "lib/gherkin/tools/reformat.rb",
@@ -156,18 +171,23 @@ Gem::Specification.new do |s|
156
171
  "nativegems.sh",
157
172
  "ragel/i18n/.gitignore",
158
173
  "ragel/lexer.c.rl.erb",
174
+ "ragel/lexer.csharp.rl.erb",
159
175
  "ragel/lexer.java.rl.erb",
160
176
  "ragel/lexer.rb.rl.erb",
161
177
  "ragel/lexer_common.rl.erb",
162
178
  "spec/gherkin/c_lexer_spec.rb",
179
+ "spec/gherkin/csharp_lexer_spec.rb",
163
180
  "spec/gherkin/fixtures/1.feature",
181
+ "spec/gherkin/fixtures/comments_in_table.feature",
164
182
  "spec/gherkin/fixtures/complex.feature",
183
+ "spec/gherkin/fixtures/dos_line_endings.feature",
165
184
  "spec/gherkin/fixtures/i18n_fr.feature",
166
185
  "spec/gherkin/fixtures/i18n_no.feature",
167
186
  "spec/gherkin/fixtures/i18n_zh-CN.feature",
168
187
  "spec/gherkin/fixtures/simple.feature",
169
188
  "spec/gherkin/fixtures/simple_with_comments.feature",
170
189
  "spec/gherkin/fixtures/simple_with_tags.feature",
190
+ "spec/gherkin/format/argument_spec.rb",
171
191
  "spec/gherkin/i18n_lexer_spec.rb",
172
192
  "spec/gherkin/i18n_spec.rb",
173
193
  "spec/gherkin/java_lexer_spec.rb",
@@ -176,8 +196,10 @@ Gem::Specification.new do |s|
176
196
  "spec/gherkin/sexp_recorder.rb",
177
197
  "spec/gherkin/shared/lexer_spec.rb",
178
198
  "spec/gherkin/shared/py_string_spec.rb",
179
- "spec/gherkin/shared/table_spec.rb",
199
+ "spec/gherkin/shared/row_spec.rb",
180
200
  "spec/gherkin/shared/tags_spec.rb",
201
+ "spec/gherkin/tools/colors_spec.rb",
202
+ "spec/gherkin/tools/pretty_listener_spec.rb",
181
203
  "spec/spec_helper.rb",
182
204
  "tasks/bench.rake",
183
205
  "tasks/bench/feature_builder.rb",
@@ -192,10 +214,12 @@ Gem::Specification.new do |s|
192
214
  s.homepage = %q{http://github.com/aslakhellesoy/gherkin}
193
215
  s.rdoc_options = ["--charset=UTF-8"]
194
216
  s.require_paths = ["lib"]
195
- s.rubygems_version = %q{1.3.5}
217
+ s.rubygems_version = %q{1.3.6}
196
218
  s.summary = %q{Fast Gherkin lexer/parser}
197
219
  s.test_files = [
198
220
  "spec/gherkin/c_lexer_spec.rb",
221
+ "spec/gherkin/csharp_lexer_spec.rb",
222
+ "spec/gherkin/format/argument_spec.rb",
199
223
  "spec/gherkin/i18n_lexer_spec.rb",
200
224
  "spec/gherkin/i18n_spec.rb",
201
225
  "spec/gherkin/java_lexer_spec.rb",
@@ -204,8 +228,10 @@ Gem::Specification.new do |s|
204
228
  "spec/gherkin/sexp_recorder.rb",
205
229
  "spec/gherkin/shared/lexer_spec.rb",
206
230
  "spec/gherkin/shared/py_string_spec.rb",
207
- "spec/gherkin/shared/table_spec.rb",
231
+ "spec/gherkin/shared/row_spec.rb",
208
232
  "spec/gherkin/shared/tags_spec.rb",
233
+ "spec/gherkin/tools/colors_spec.rb",
234
+ "spec/gherkin/tools/pretty_listener_spec.rb",
209
235
  "spec/spec_helper.rb"
210
236
  ]
211
237
 
@@ -215,20 +241,23 @@ Gem::Specification.new do |s|
215
241
 
216
242
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
217
243
  s.add_runtime_dependency(%q<trollop>, [">= 1.15"])
218
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
219
- s.add_development_dependency(%q<cucumber>, [">= 0.5.1"])
244
+ s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
245
+ s.add_development_dependency(%q<cucumber>, [">= 0.6.2"])
220
246
  s.add_development_dependency(%q<rake-compiler>, [">= 0.7.0"])
247
+ s.add_development_dependency(%q<albacore>, [">= 0.1.0"])
221
248
  else
222
249
  s.add_dependency(%q<trollop>, [">= 1.15"])
223
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
224
- s.add_dependency(%q<cucumber>, [">= 0.5.1"])
250
+ s.add_dependency(%q<rspec>, [">= 1.3.0"])
251
+ s.add_dependency(%q<cucumber>, [">= 0.6.2"])
225
252
  s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
253
+ s.add_dependency(%q<albacore>, [">= 0.1.0"])
226
254
  end
227
255
  else
228
256
  s.add_dependency(%q<trollop>, [">= 1.15"])
229
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
230
- s.add_dependency(%q<cucumber>, [">= 0.5.1"])
257
+ s.add_dependency(%q<rspec>, [">= 1.3.0"])
258
+ s.add_dependency(%q<cucumber>, [">= 0.6.2"])
231
259
  s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
260
+ s.add_dependency(%q<albacore>, [">= 0.1.0"])
232
261
  end
233
262
  end
234
263
 
@@ -1,24 +1,22 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <module relativePaths="true" type="JAVA_MODULE" version="4">
2
+ <module type="JAVA_MODULE" version="4">
3
3
  <component name="NewModuleRootManager" inherit-compiler-output="true">
4
4
  <exclude-output />
5
5
  <content url="file://$MODULE_DIR$">
6
6
  <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7
7
  <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
8
- <excludeFolder url="file://$MODULE_DIR$/target" />
9
8
  </content>
10
9
  <orderEntry type="inheritedJdk" />
11
10
  <orderEntry type="sourceFolder" forTests="false" />
12
11
  <orderEntry type="module-library" scope="TEST">
13
12
  <library>
14
13
  <CLASSES>
15
- <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.6.jar!/" />
14
+ <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.7.jar!/" />
16
15
  </CLASSES>
17
16
  <JAVADOC />
18
17
  <SOURCES />
19
18
  </library>
20
19
  </orderEntry>
21
- <orderEntry type="library" scope="TEST" name="Mockito" level="application" />
22
20
  </component>
23
21
  </module>
24
22
 
@@ -8,6 +8,9 @@
8
8
  <jar destfile="${basedir}/../lib/gherkin.jar">
9
9
  <fileset dir="${basedir}/target/classes" />
10
10
  <fileset dir="${basedir}/../lib" includes="gherkin/parser/*.txt" />
11
+ <manifest>
12
+ <attribute name="Main-Class" value="gherkin.Main" />
13
+ </manifest>
11
14
  </jar>
12
15
  </target>
13
16
  </project>