aslakhellesoy-cucumber 0.1.99.12 → 0.1.99.13

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -56,6 +56,12 @@ which is a richer DSL than JBehave's language. -Over 20 spoken languages, Tables
56
56
  Scenario Outlines, the rich command line, the nice output format and everything
57
57
  pure Ruby users have been enjoying for a while.
58
58
 
59
+ == TODO Before 0.2 release
60
+ * Verify that custom formatters work - write a feature for it
61
+ * Implement at least a basic HTML formatter
62
+ * Get cucumber.jar working. Move to separate github project. I have it somewhat working with:
63
+ mvn compile && java -classpath /usr/local/jruby/lib/jruby-complete.jar:target/classes:/usr/local/jruby/lib/ruby/gems/1.8/gems/treetop-1.2.4/lib:/usr/local/jruby/lib/ruby/gems/1.8/gems/polyglot-0.2.3/lib:/usr/local/jruby/lib/ruby/gems/1.8/gems/term-ansicolor-1.0.3/lib:. cukes.Cucumber --help
64
+
59
65
  == Bugfixes
60
66
  * -n option does not suppress the line info for a Scenario Outline (#175 Aslak Hellesøy)
61
67
  * Errors with rspec-rails matchers in cucumber 0.1.99 (#173 David Chelimsky)
@@ -69,6 +75,7 @@ pure Ruby users have been enjoying for a while.
69
75
  * Pending steps in > steps called from steps (#65 Aslak Hellesøy)
70
76
 
71
77
  === New features
78
+ * Keywords can be aliased in languages.yml. See English for an example (scenarios: Scenarios|Examples)
72
79
  * Adding support for Background (#153 Joseph Wilk)
73
80
  * Added Česky/Czech (Vojtech Salbaba)
74
81
  * New --no-multiline option to reduce noise. Useful if lots of features are failing.
data/Manifest.txt CHANGED
@@ -217,6 +217,7 @@ lib/cucumber/rake/task.rb
217
217
  lib/cucumber/step_definition.rb
218
218
  lib/cucumber/step_mother.rb
219
219
  lib/cucumber/version.rb
220
+ pom.xml
220
221
  rails_generators/cucumber/USAGE
221
222
  rails_generators/cucumber/cucumber_generator.rb
222
223
  rails_generators/cucumber/templates/cucumber
@@ -271,3 +272,4 @@ spec/cucumber/treetop_parser/with_tags.feature
271
272
  spec/cucumber/world/pending_spec.rb
272
273
  spec/spec.opts
273
274
  spec/spec_helper.rb
275
+ src/main/java/cukes/Cucumber.java
data/Rakefile CHANGED
@@ -5,4 +5,4 @@ require 'config/hoe' # setup Hoe + all gem configuration
5
5
  Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
6
6
 
7
7
  # Hoe gives us :default => :test, but we don't have Test::Unit tests.
8
- Rake::Task[:default].clear_prerequisites
8
+ Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
@@ -1,7 +1,11 @@
1
1
  # Hack to work around Win32/Console, which bundles a licence-violating, outdated
2
2
  # copy of term/ansicolor that doesn't implement Term::ANSIColor#coloring=.
3
3
  # We want the official one!
4
- gem 'term-ansicolor'
4
+ begin
5
+ gem 'term-ansicolor'
6
+ rescue Exception => ignore
7
+ # In order to work with Cucumber.java, which doesn't bundle gems.
8
+ end
5
9
  $LOAD_PATH.each{|path| $LOAD_PATH.unshift($LOAD_PATH.delete(path)) if path =~ /term-ansicolor/}
6
10
  require 'term/ansicolor'
7
11
 
@@ -2,6 +2,10 @@
2
2
  # We use the codes here (prefer 2 letters when possible)
3
3
  # http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
4
4
  #
5
+ # If you want several aliases for a keyword, just separate them
6
+ # with a | character. Make sure there are no ambiguities in the
7
+ # keywords.
8
+ #
5
9
  "en":
6
10
  name: English
7
11
  native: English
@@ -10,7 +14,7 @@
10
14
  background: Background
11
15
  scenario: Scenario
12
16
  scenario_outline: Scenario Outline
13
- examples: Examples
17
+ examples: Examples|Scenarios
14
18
  given: Given
15
19
  when: When
16
20
  then: Then
@@ -13,12 +13,30 @@ module Cucumber
13
13
  #
14
14
  # The AST classes are defined in the Cucumber::Ast module.
15
15
  module Parser
16
+ translator = Module.new do
17
+ def keywordz(key)
18
+ 'Scenario'
19
+ end
20
+ end
21
+
16
22
  def self.load_parser(keywords)
17
- template = File.open(File.dirname(__FILE__) + "/parser/i18n.tt", Cucumber.file_mode('r')).read
18
- erb = ERB.new(template)
19
- grammar = erb.result(binding)
20
- Treetop.load_from_string(grammar)
21
- require 'cucumber/parser/feature'
23
+ Loader.new(keywords)
24
+ end
25
+
26
+ class Loader
27
+ def initialize(keywords)
28
+ @keywords = keywords
29
+ template = File.open(File.dirname(__FILE__) + "/parser/i18n.tt", Cucumber.file_mode('r')).read
30
+ erb = ERB.new(template)
31
+ grammar = erb.result(binding)
32
+ Treetop.load_from_string(grammar)
33
+ require 'cucumber/parser/feature'
34
+ end
35
+
36
+ def keywords(key)
37
+ values = @keywords[key].split('|')
38
+ values.map{|value| "'#{value}'"}.join(" / ")
39
+ end
22
40
  end
23
41
  end
24
42
  end
@@ -3,27 +3,27 @@ module Cucumber
3
3
  grammar I18n
4
4
 
5
5
  rule background_keyword
6
- "<%= keywords['background'] %>:"
6
+ (<%= keywords('background') %>) ':'
7
7
  end
8
8
 
9
9
  rule scenario_keyword
10
- '<%= keywords['scenario'] %>:'
10
+ (<%= keywords('scenario') %>) ':'
11
11
  end
12
12
 
13
13
  rule scenario_outline_keyword
14
- '<%= keywords['scenario_outline'] %>:'
14
+ (<%= keywords('scenario_outline') %>) ':'
15
15
  end
16
16
 
17
17
  rule step_keyword
18
- '<%= keywords['given'] %>' /
19
- '<%= keywords['when'] %>' /
20
- '<%= keywords['then'] %>' /
21
- '<%= keywords['and'] %>' /
22
- '<%= keywords['but'] %>'
18
+ (<%= keywords('given') %>) /
19
+ (<%= keywords('when') %>) /
20
+ (<%= keywords('then') %>) /
21
+ (<%= keywords('and') %>) /
22
+ (<%= keywords('but') %>)
23
23
  end
24
24
 
25
25
  rule examples_keyword
26
- '<%= keywords['examples'] %>' ':'?
26
+ (<%= keywords('examples') %>) ':'?
27
27
  end
28
28
 
29
29
  end
@@ -3,7 +3,7 @@ module Cucumber #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
5
  TINY = 99
6
- PATCH = 12 # Set to nil for official release
6
+ PATCH = 13 # Set to nil for official release
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aslakhellesoy-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.99.12
4
+ version: 0.1.99.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Aslak Helles\xC3\xB8y"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-27 00:00:00 -08:00
12
+ date: 2009-01-28 00:00:00 -08:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 1.8.2
49
+ version: 1.8.3
50
50
  version:
51
51
  description: Executable Feature scenarios
52
52
  email: