gherkin 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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>