cucumber 1.2.1 → 1.2.2

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 (172) hide show
  1. data/.rvmrc +1 -1
  2. data/.travis.yml +3 -2
  3. data/DEVELOPERS.md +48 -0
  4. data/History.md +22 -3
  5. data/README.md +13 -31
  6. data/Rakefile +1 -0
  7. data/cucumber.gemspec +18 -17
  8. data/cucumber.yml +3 -2
  9. data/examples/i18n/cs/Rakefile +6 -0
  10. data/examples/i18n/cs/features/addition.feature +17 -0
  11. data/examples/i18n/cs/features/division.feature +11 -0
  12. data/examples/i18n/cs/features/step_definitons/calculator_steps.rb +24 -0
  13. data/examples/i18n/cs/lib/calculator.rb +14 -0
  14. data/examples/i18n/hi/Rakefile +6 -0
  15. data/examples/i18n/hi/features/addition.feature +16 -0
  16. data/examples/i18n/hi/features/division.feature +10 -0
  17. data/examples/i18n/hi/features/step_definitons/calculator_steps.rb +24 -0
  18. data/examples/i18n/hi/lib/calculator.rb +15 -0
  19. data/examples/python/README.textile +2 -1
  20. data/examples/ruby2python/README.textile +2 -1
  21. data/features/.cucumber/stepdefs.json +1688 -445
  22. data/features/assertions.feature +69 -0
  23. data/features/formatter_callbacks.feature +189 -0
  24. data/features/html_formatter.feature +19 -0
  25. data/features/json_formatter.feature +8 -4
  26. data/features/nested_steps_with_second_arg.feature +73 -0
  27. data/features/step_definitions.feature +65 -0
  28. data/features/step_definitions/cucumber_steps.rb +18 -3
  29. data/fixtures/self_test/features/support/env.rb +1 -1
  30. data/gem_tasks/cucumber.rake +5 -3
  31. data/gem_tasks/downloads.rb +3 -3
  32. data/gem_tasks/stats +4 -2
  33. data/gem_tasks/yard.rake +31 -13
  34. data/legacy_features/default_snippets.feature +3 -3
  35. data/legacy_features/language_help.feature +4 -0
  36. data/legacy_features/report_called_undefined_steps.feature +1 -1
  37. data/legacy_features/snippet.feature +3 -3
  38. data/legacy_features/snippets_when_using_star_keyword.feature +1 -1
  39. data/legacy_features/step_definitions/cucumber_steps.rb +4 -3
  40. data/legacy_features/support/env.rb +1 -1
  41. data/legacy_features/support/fake_wire_server.rb +9 -9
  42. data/lib/autotest/cucumber_mixin.rb +14 -14
  43. data/lib/autotest/discover.rb +2 -0
  44. data/lib/cucumber.rb +2 -2
  45. data/lib/cucumber/ast.rb +1 -1
  46. data/lib/cucumber/ast/background.rb +11 -7
  47. data/lib/cucumber/ast/comment.rb +2 -2
  48. data/lib/cucumber/ast/doc_string.rb +1 -1
  49. data/lib/cucumber/ast/examples.rb +1 -1
  50. data/lib/cucumber/ast/feature.rb +2 -2
  51. data/lib/cucumber/ast/feature_element.rb +1 -1
  52. data/lib/cucumber/ast/multiline_argument.rb +2 -2
  53. data/lib/cucumber/ast/names.rb +2 -2
  54. data/lib/cucumber/ast/outline_table.rb +4 -5
  55. data/lib/cucumber/ast/scenario.rb +14 -14
  56. data/lib/cucumber/ast/scenario_outline.rb +4 -4
  57. data/lib/cucumber/ast/step.rb +3 -3
  58. data/lib/cucumber/ast/step_collection.rb +5 -5
  59. data/lib/cucumber/ast/step_invocation.rb +8 -8
  60. data/lib/cucumber/ast/table.rb +40 -27
  61. data/lib/cucumber/ast/tree_walker.rb +9 -8
  62. data/lib/cucumber/ast/visitor.rb +1 -1
  63. data/lib/cucumber/cli/configuration.rb +10 -10
  64. data/lib/cucumber/cli/drb_client.rb +1 -1
  65. data/lib/cucumber/cli/main.rb +3 -3
  66. data/lib/cucumber/cli/options.rb +3 -2
  67. data/lib/cucumber/cli/profile_loader.rb +1 -1
  68. data/lib/cucumber/configuration.rb +12 -12
  69. data/lib/cucumber/constantize.rb +11 -2
  70. data/lib/cucumber/core_ext/disable_mini_and_test_unit_autorun.rb +1 -1
  71. data/lib/cucumber/core_ext/instance_exec.rb +4 -4
  72. data/lib/cucumber/core_ext/proc.rb +3 -3
  73. data/lib/cucumber/errors.rb +1 -1
  74. data/lib/cucumber/feature_file.rb +1 -1
  75. data/lib/cucumber/formatter/ansicolor.rb +36 -23
  76. data/lib/cucumber/formatter/console.rb +45 -25
  77. data/lib/cucumber/formatter/debug.rb +7 -7
  78. data/lib/cucumber/formatter/duration.rb +1 -1
  79. data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +7 -0
  80. data/lib/cucumber/formatter/gpretty.rb +1 -1
  81. data/lib/cucumber/formatter/html.rb +52 -53
  82. data/lib/cucumber/formatter/interceptor.rb +2 -2
  83. data/lib/cucumber/formatter/json.rb +1 -1
  84. data/lib/cucumber/formatter/json_pretty.rb +2 -1
  85. data/lib/cucumber/formatter/junit.rb +1 -1
  86. data/lib/cucumber/formatter/ordered_xml_markup.rb +1 -1
  87. data/lib/cucumber/formatter/pretty.rb +12 -12
  88. data/lib/cucumber/formatter/progress.rb +5 -5
  89. data/lib/cucumber/formatter/rerun.rb +5 -5
  90. data/lib/cucumber/formatter/stepdefs.rb +1 -1
  91. data/lib/cucumber/formatter/steps.rb +6 -6
  92. data/lib/cucumber/formatter/summary.rb +6 -6
  93. data/lib/cucumber/formatter/unicode.rb +18 -18
  94. data/lib/cucumber/formatter/usage.rb +7 -7
  95. data/lib/cucumber/js_support/js_dsl.js +1 -1
  96. data/lib/cucumber/language_support.rb +1 -1
  97. data/lib/cucumber/parser/gherkin_builder.rb +33 -33
  98. data/lib/cucumber/platform.rb +3 -2
  99. data/lib/cucumber/py_support/py_dsl.py +2 -2
  100. data/lib/cucumber/py_support/py_language.py +2 -2
  101. data/lib/cucumber/py_support/py_language.rb +2 -2
  102. data/lib/cucumber/rake/task.rb +4 -3
  103. data/lib/cucumber/rb_support/rb_dsl.rb +10 -10
  104. data/lib/cucumber/rb_support/rb_language.rb +27 -19
  105. data/lib/cucumber/rb_support/rb_step_definition.rb +39 -11
  106. data/lib/cucumber/rb_support/rb_transform.rb +3 -3
  107. data/lib/cucumber/rb_support/rb_world.rb +15 -15
  108. data/lib/cucumber/rb_support/regexp_argument_matcher.rb +1 -1
  109. data/lib/cucumber/rspec/disable_option_parser.rb +1 -1
  110. data/lib/cucumber/rspec/doubles.rb +1 -1
  111. data/lib/cucumber/runtime.rb +11 -10
  112. data/lib/cucumber/runtime/features_loader.rb +6 -6
  113. data/lib/cucumber/runtime/for_programming_languages.rb +8 -15
  114. data/lib/cucumber/runtime/results.rb +6 -6
  115. data/lib/cucumber/runtime/support_code.rb +37 -28
  116. data/lib/cucumber/runtime/user_interface.rb +4 -4
  117. data/lib/cucumber/step_definition_light.rb +4 -4
  118. data/lib/cucumber/step_definitions.rb +2 -3
  119. data/lib/cucumber/step_match.rb +6 -6
  120. data/lib/cucumber/step_mother.rb +1 -1
  121. data/lib/cucumber/term/ansicolor.rb +22 -22
  122. data/lib/cucumber/wire_support/configuration.rb +11 -14
  123. data/lib/cucumber/wire_support/connection.rb +10 -9
  124. data/lib/cucumber/wire_support/request_handler.rb +3 -3
  125. data/lib/cucumber/wire_support/wire_exception.rb +3 -3
  126. data/lib/cucumber/wire_support/wire_language.rb +11 -11
  127. data/lib/cucumber/wire_support/wire_packet.rb +7 -5
  128. data/lib/cucumber/wire_support/wire_protocol.rb +6 -6
  129. data/lib/cucumber/wire_support/wire_protocol/requests.rb +20 -20
  130. data/lib/cucumber/wire_support/wire_step_definition.rb +4 -4
  131. data/spec/cucumber/ast/background_spec.rb +4 -4
  132. data/spec/cucumber/ast/doc_string_spec.rb +8 -8
  133. data/spec/cucumber/ast/feature_factory.rb +4 -4
  134. data/spec/cucumber/ast/feature_spec.rb +18 -18
  135. data/spec/cucumber/ast/outline_table_spec.rb +3 -3
  136. data/spec/cucumber/ast/step_spec.rb +4 -4
  137. data/spec/cucumber/ast/table_spec.rb +50 -29
  138. data/spec/cucumber/ast/tree_walker_spec.rb +12 -4
  139. data/spec/cucumber/broadcaster_spec.rb +1 -1
  140. data/spec/cucumber/cli/configuration_spec.rb +10 -4
  141. data/spec/cucumber/cli/drb_client_spec.rb +1 -1
  142. data/spec/cucumber/cli/main_spec.rb +28 -7
  143. data/spec/cucumber/cli/options_spec.rb +3 -3
  144. data/spec/cucumber/configuration_spec.rb +4 -4
  145. data/spec/cucumber/constantize_spec.rb +2 -0
  146. data/spec/cucumber/core_ext/proc_spec.rb +7 -7
  147. data/spec/cucumber/formatter/ansicolor_spec.rb +2 -2
  148. data/spec/cucumber/formatter/duration_spec.rb +2 -2
  149. data/spec/cucumber/formatter/html_spec.rb +31 -31
  150. data/spec/cucumber/formatter/interceptor_spec.rb +10 -0
  151. data/spec/cucumber/formatter/progress_spec.rb +1 -1
  152. data/spec/cucumber/formatter/spec_helper.rb +7 -7
  153. data/spec/cucumber/rake/forked_spec.rb +15 -2
  154. data/spec/cucumber/rake/rcov_spec.rb +2 -2
  155. data/spec/cucumber/rb_support/rb_language_spec.rb +34 -17
  156. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +45 -35
  157. data/spec/cucumber/rb_support/rb_transform_spec.rb +3 -3
  158. data/spec/cucumber/runtime/for_programming_languages_spec.rb +31 -0
  159. data/spec/cucumber/runtime/results_spec.rb +5 -5
  160. data/spec/cucumber/runtime/support_code_spec.rb +13 -2
  161. data/spec/cucumber/runtime_spec.rb +7 -7
  162. data/spec/cucumber/step_match_spec.rb +2 -2
  163. data/spec/cucumber/wire_support/configuration_spec.rb +16 -6
  164. data/spec/cucumber/wire_support/connection_spec.rb +25 -11
  165. data/spec/cucumber/wire_support/wire_exception_spec.rb +3 -3
  166. data/spec/cucumber/wire_support/wire_language_spec.rb +3 -3
  167. data/spec/cucumber/wire_support/wire_packet_spec.rb +4 -4
  168. data/spec/cucumber/wire_support/wire_step_definition_spec.rb +1 -1
  169. data/spec/spec_helper.rb +2 -2
  170. metadata +98 -128
  171. data/legacy_features/html_formatter.feature +0 -8
  172. data/legacy_features/html_formatter/a.html +0 -561
@@ -17,7 +17,18 @@ module Cucumber
17
17
  format = subject.step_match("it snows in april").format_args("[%s]")
18
18
  format.should == "it [snows] in [april]"
19
19
  end
20
-
20
+
21
+ it "should cache step match results" do
22
+ dsl.Given(/it (.*) in (.*)/) { |what, month| }
23
+
24
+ step_match = subject.step_match("it snows in april")
25
+
26
+ @rb.should_not_receive :step_matches
27
+ second_step_match = subject.step_match("it snows in april")
28
+
29
+ step_match.should equal(second_step_match)
30
+ end
31
+
21
32
  describe "resolving step defintion matches" do
22
33
 
23
34
  it "should raise Ambiguous error with guess hint when multiple step definitions match" do
@@ -109,4 +120,4 @@ spec/cucumber/runtime/support_code_spec.rb:\\d+:in `/Three cute (.*)/'
109
120
  end
110
121
 
111
122
  end
112
- end
123
+ end
@@ -4,14 +4,14 @@ module Cucumber
4
4
  describe Runtime do
5
5
  subject { Runtime.new(options) }
6
6
  let(:options) { {} }
7
-
7
+
8
8
  describe "#features_paths" do
9
9
  let(:options) { {:paths => ['foo/bar/baz.feature', 'foo/bar/features/baz.feature', 'other_features'] } }
10
10
  it "returns the value from configuration.paths" do
11
11
  subject.features_paths.should == options[:paths]
12
12
  end
13
13
  end
14
-
14
+
15
15
  describe "#configure" do
16
16
  let(:support_code) { double(Runtime::SupportCode).as_null_object }
17
17
  let(:results) { double(Runtime::Results).as_null_object }
@@ -20,15 +20,15 @@ describe Runtime do
20
20
  Runtime::SupportCode.stub(:new => support_code)
21
21
  Runtime::Results.stub(:new => results)
22
22
  end
23
-
23
+
24
24
  it "tells the support_code and results about the new configuration" do
25
25
  support_code.should_receive(:configure).with(new_configuration)
26
26
  results.should_receive(:configure).with(new_configuration)
27
27
  subject.configure(new_configuration)
28
28
  end
29
-
29
+
30
30
  it "replaces the existing configuration" do
31
- # not really sure how to test this. Maybe we should just expose
31
+ # not really sure how to test this. Maybe we should just expose
32
32
  # Runtime#configuration with an attr_reader?
33
33
  some_new_paths = ['foo/bar', 'baz']
34
34
  new_configuration.stub(:paths => some_new_paths)
@@ -36,6 +36,6 @@ describe Runtime do
36
36
  subject.features_paths.should == some_new_paths
37
37
  end
38
38
  end
39
-
39
+
40
+ end
40
41
  end
41
- end
@@ -6,8 +6,8 @@ require 'cucumber/rb_support/rb_language'
6
6
  module Cucumber
7
7
  describe StepMatch do
8
8
  include RSpec::WorkInProgress
9
-
10
- WORD = Cucumber::RUBY_1_9 ? '[[:word:]]' : '\w'
9
+
10
+ WORD = Cucumber::RUBY_1_8_7 ? '\w' : '[[:word:]]'
11
11
 
12
12
  before do
13
13
  @rb_language = RbSupport::RbLanguage.new(nil)
@@ -7,12 +7,12 @@ module Cucumber
7
7
  describe Configuration do
8
8
  let(:wire_file) { Tempfile.new('wire') }
9
9
  let(:config) { Configuration.new(wire_file.path) }
10
-
10
+
11
11
  def write_wire_file(contents)
12
12
  wire_file << contents
13
13
  wire_file.close
14
14
  end
15
-
15
+
16
16
  it "reads the hostname / port from the file" do
17
17
  write_wire_file %q{
18
18
  host: localhost
@@ -21,7 +21,7 @@ module Cucumber
21
21
  config.host.should == 'localhost'
22
22
  config.port.should == 54321
23
23
  end
24
-
24
+
25
25
  it "reads the timeout for a specific message" do
26
26
  write_wire_file %q{
27
27
  host: localhost
@@ -31,7 +31,17 @@ module Cucumber
31
31
  }
32
32
  config.timeout('invoke').should == 99
33
33
  end
34
-
34
+
35
+ it "reads the timeout for a connect message" do
36
+ write_wire_file %q{
37
+ host: localhost
38
+ port: 54321
39
+ timeout:
40
+ connect: 99
41
+ }
42
+ config.timeout('connect').should == 99
43
+ end
44
+
35
45
  describe "a wire file with no timeouts specified" do
36
46
  before(:each) do
37
47
  write_wire_file %q{
@@ -39,7 +49,7 @@ module Cucumber
39
49
  port: 54321
40
50
  }
41
51
  end
42
-
52
+
43
53
  %w(invoke begin_scenario end_scenario).each do |message|
44
54
  it "sets the default timeout for '#{message}' to 120 seconds" do
45
55
  config.timeout(message).should == 120
@@ -48,4 +58,4 @@ module Cucumber
48
58
  end
49
59
  end
50
60
  end
51
- end
61
+ end
@@ -7,40 +7,54 @@ module Cucumber
7
7
  class TestConnection < Connection
8
8
  attr_accessor :socket
9
9
  end
10
-
10
+
11
11
  class TestConfiguration
12
12
  attr_reader :custom_timeout
13
-
13
+
14
14
  def initialize
15
15
  @custom_timeout = {}
16
16
  end
17
-
17
+
18
18
  def timeout(message = nil)
19
19
  return :default_timeout if message.nil?
20
- @custom_timeout[message] || :custom_timeout
20
+ @custom_timeout[message] || Configuration::DEFAULT_TIMEOUTS.fetch(message)
21
+ end
22
+
23
+ def host
24
+ 'localhost'
25
+ end
26
+
27
+ def port
28
+ '3902'
21
29
  end
22
30
  end
23
-
31
+
24
32
  before(:each) do
25
33
  @config = TestConfiguration.new
26
34
  @connection = TestConnection.new(@config)
27
- @connection.socket = @socket = mock('socket')
28
- Timeout.stub(:timeout).with(:custom_timeout).and_raise(Timeout::Error.new(''))
35
+ @connection.socket = @socket = mock('socket').as_null_object
29
36
  @response = %q{["response"]}
30
- Timeout.stub(:timeout).with(:default_timeout).and_return(@response)
31
37
  end
32
-
38
+
33
39
  it "re-raises a timeout error" do
34
40
  Timeout.stub!(:timeout).and_raise(Timeout::Error.new(''))
35
41
  lambda { @connection.call_remote(nil, :foo, []) }.should raise_error(Timeout::Error)
36
42
  end
37
-
43
+
38
44
  it "ignores timeout errors when configured to do so" do
39
45
  @config.custom_timeout[:foo] = :never
40
- @socket.should_receive(:gets).and_return(@response)
46
+ @socket.stub(:gets => @response)
41
47
  handler = mock(:handle_response => :response)
42
48
  @connection.call_remote(handler, :foo, []).should == :response
43
49
  end
50
+
51
+ it "raises an exception on remote connection closed" do
52
+ @config.custom_timeout[:foo] = :never
53
+ @socket.stub(:gets => nil)
54
+ lambda {
55
+ @connection.call_remote(nil, :foo, [])
56
+ }.should raise_error(WireException, 'Remote Socket with localhost:3902 closed.')
57
+ end
44
58
  end
45
59
  end
46
60
  end
@@ -18,7 +18,7 @@ module Cucumber
18
18
  exception.to_s.should == "foo"
19
19
  end
20
20
  end
21
-
21
+
22
22
  describe "with a message and an exception" do
23
23
  before(:each) do
24
24
  @data = {'message' => 'foo', 'exception' => 'Bar'}
@@ -30,7 +30,7 @@ module Cucumber
30
30
  exception.class.to_s.should == 'Bar from localhost:54321'
31
31
  end
32
32
  end
33
-
33
+
34
34
  describe "with a custom backtrace" do
35
35
  before(:each) do
36
36
  @data = {'message' => 'foo', 'backtrace' => ['foo', 'bar', 'baz']}
@@ -41,4 +41,4 @@ module Cucumber
41
41
  end
42
42
  end
43
43
  end
44
- end
44
+ end
@@ -7,12 +7,12 @@ module Cucumber
7
7
  def stub_wire_file!(filename, config)
8
8
  Configuration.stub!(:new).with(filename).and_return config
9
9
  end
10
-
10
+
11
11
  describe "#load_code_file" do
12
12
  before(:each) do
13
13
  stub_wire_file! 'foo.wire', :config
14
14
  end
15
-
15
+
16
16
  it "creates a RemoteSteps object" do
17
17
  Connection.should_receive(:new).with(:config)
18
18
  WireLanguage.new(nil).load_code_file('foo.wire')
@@ -25,7 +25,7 @@ module Cucumber
25
25
  with(config).
26
26
  and_return( mock('remote_steps', attributes) )
27
27
  end
28
-
28
+
29
29
  before(:each) do
30
30
  stub_wire_file! 'one.wire', :config_one
31
31
  stub_wire_file! 'two.wire', :config_two
@@ -10,13 +10,13 @@ module Cucumber
10
10
  packet = WirePacket.new('test_message', :foo => :bar)
11
11
  packet.to_json.should == "[\"test_message\",{\"foo\":\"bar\"}]"
12
12
  end
13
-
13
+
14
14
  it "should not pass blank params" do
15
15
  packet = WirePacket.new('test_message')
16
16
  packet.to_json.should == "[\"test_message\"]"
17
17
  end
18
18
  end
19
-
19
+
20
20
  describe ".parse" do
21
21
  it "should understand a raw packet containing null parameters" do
22
22
  packet = WirePacket.parse("[\"test_message\",null]")
@@ -29,7 +29,7 @@ module Cucumber
29
29
  packet.message.should == 'test_message'
30
30
  packet.params.should be_nil
31
31
  end
32
-
32
+
33
33
  it "should understand a raw packet containging parameters data" do
34
34
  packet = WirePacket.parse("[\"test_message\",{\"foo\":\"bar\"}]")
35
35
  packet.params['foo'].should == 'bar'
@@ -37,4 +37,4 @@ module Cucumber
37
37
  end
38
38
  end
39
39
  end
40
- end
40
+ end
@@ -17,4 +17,4 @@ module Cucumber
17
17
  end
18
18
  end
19
19
  end
20
- end
20
+ end
@@ -13,7 +13,7 @@ require 'bundler'
13
13
  Bundler.setup
14
14
 
15
15
  require 'cucumber'
16
- $KCODE='u' unless Cucumber::RUBY_1_9
16
+ $KCODE='u' if Cucumber::RUBY_1_8_7
17
17
 
18
18
  RSpec.configure do |c|
19
19
  c.before do
@@ -25,7 +25,7 @@ module RSpec
25
25
  module WorkInProgress
26
26
  def pending_under platforms, reason, &block
27
27
  if [platforms].flatten.map(&:to_s).include? RUBY_PLATFORM
28
- pending "pending under #{platforms.inspect} because: #{reason}", &block
28
+ pending "pending under #{platforms.inspect} because: #{reason}", &block
29
29
  else
30
30
  yield
31
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,32 +9,32 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-09 00:00:00.000000000 Z
12
+ date: 2013-03-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: gherkin
15
+ name: builder
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.11.0
21
+ version: 2.1.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 2.11.0
29
+ version: 2.1.2
30
30
  - !ruby/object:Gem::Dependency
31
- name: builder
31
+ name: diff-lcs
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: 2.1.2
37
+ version: 1.1.3
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,39 +42,39 @@ dependencies:
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: 2.1.2
45
+ version: 1.1.3
46
46
  - !ruby/object:Gem::Dependency
47
- name: diff-lcs
47
+ name: gherkin
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ! '>='
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 1.1.3
53
+ version: 2.11.6
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ! '>='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 1.1.3
61
+ version: 2.11.6
62
62
  - !ruby/object:Gem::Dependency
63
- name: json
63
+ name: multi_json
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>='
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 1.4.6
69
+ version: '1.3'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.4.6
77
+ version: '1.3'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: aruba
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 0.4.11
85
+ version: 0.5.0
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,15 +90,31 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 0.4.11
93
+ version: 0.5.0
94
94
  - !ruby/object:Gem::Dependency
95
- name: rake
95
+ name: json
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '1.7'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '1.7'
110
+ - !ruby/object:Gem::Dependency
111
+ name: nokogiri
96
112
  requirement: !ruby/object:Gem::Requirement
97
113
  none: false
98
114
  requirements:
99
115
  - - ! '>='
100
116
  - !ruby/object:Gem::Version
101
- version: 0.9.2
117
+ version: 1.5.2
102
118
  type: :development
103
119
  prerelease: false
104
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,31 +122,31 @@ dependencies:
106
122
  requirements:
107
123
  - - ! '>='
108
124
  - !ruby/object:Gem::Version
109
- version: 0.9.2
125
+ version: 1.5.2
110
126
  - !ruby/object:Gem::Dependency
111
- name: rspec
127
+ name: rake
112
128
  requirement: !ruby/object:Gem::Requirement
113
129
  none: false
114
130
  requirements:
115
- - - ~>
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
- version: 2.10.0
133
+ version: 0.9.2
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
121
137
  none: false
122
138
  requirements:
123
- - - ~>
139
+ - - ! '>='
124
140
  - !ruby/object:Gem::Version
125
- version: 2.10.0
141
+ version: 0.9.2
126
142
  - !ruby/object:Gem::Dependency
127
- name: nokogiri
143
+ name: rspec
128
144
  requirement: !ruby/object:Gem::Requirement
129
145
  none: false
130
146
  requirements:
131
147
  - - ! '>='
132
148
  - !ruby/object:Gem::Version
133
- version: 1.5.2
149
+ version: '2.13'
134
150
  type: :development
135
151
  prerelease: false
136
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -138,15 +154,15 @@ dependencies:
138
154
  requirements:
139
155
  - - ! '>='
140
156
  - !ruby/object:Gem::Version
141
- version: 1.5.2
157
+ version: '2.13'
142
158
  - !ruby/object:Gem::Dependency
143
- name: syntax
159
+ name: simplecov
144
160
  requirement: !ruby/object:Gem::Requirement
145
161
  none: false
146
162
  requirements:
147
163
  - - ! '>='
148
164
  - !ruby/object:Gem::Version
149
- version: 1.0.0
165
+ version: 0.6.2
150
166
  type: :development
151
167
  prerelease: false
152
168
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +170,7 @@ dependencies:
154
170
  requirements:
155
171
  - - ! '>='
156
172
  - !ruby/object:Gem::Version
157
- version: 1.0.0
173
+ version: 0.6.2
158
174
  - !ruby/object:Gem::Dependency
159
175
  name: spork
160
176
  requirement: !ruby/object:Gem::Requirement
@@ -172,13 +188,13 @@ dependencies:
172
188
  - !ruby/object:Gem::Version
173
189
  version: 1.0.0.rc2
174
190
  - !ruby/object:Gem::Dependency
175
- name: simplecov
191
+ name: syntax
176
192
  requirement: !ruby/object:Gem::Requirement
177
193
  none: false
178
194
  requirements:
179
195
  - - ! '>='
180
196
  - !ruby/object:Gem::Version
181
- version: 0.6.2
197
+ version: 1.0.0
182
198
  type: :development
183
199
  prerelease: false
184
200
  version_requirements: !ruby/object:Gem::Requirement
@@ -186,15 +202,15 @@ dependencies:
186
202
  requirements:
187
203
  - - ! '>='
188
204
  - !ruby/object:Gem::Version
189
- version: 0.6.2
205
+ version: 1.0.0
190
206
  - !ruby/object:Gem::Dependency
191
- name: yard
207
+ name: bcat
192
208
  requirement: !ruby/object:Gem::Requirement
193
209
  none: false
194
210
  requirements:
195
211
  - - ~>
196
212
  - !ruby/object:Gem::Version
197
- version: 0.8.0
213
+ version: 0.6.2
198
214
  type: :development
199
215
  prerelease: false
200
216
  version_requirements: !ruby/object:Gem::Requirement
@@ -202,15 +218,15 @@ dependencies:
202
218
  requirements:
203
219
  - - ~>
204
220
  - !ruby/object:Gem::Version
205
- version: 0.8.0
221
+ version: 0.6.2
206
222
  - !ruby/object:Gem::Dependency
207
- name: rdiscount
223
+ name: kramdown
208
224
  requirement: !ruby/object:Gem::Requirement
209
225
  none: false
210
226
  requirements:
211
227
  - - ~>
212
228
  - !ruby/object:Gem::Version
213
- version: 1.6.8
229
+ version: '0.14'
214
230
  type: :development
215
231
  prerelease: false
216
232
  version_requirements: !ruby/object:Gem::Requirement
@@ -218,15 +234,15 @@ dependencies:
218
234
  requirements:
219
235
  - - ~>
220
236
  - !ruby/object:Gem::Version
221
- version: 1.6.8
237
+ version: '0.14'
222
238
  - !ruby/object:Gem::Dependency
223
- name: bcat
239
+ name: yard
224
240
  requirement: !ruby/object:Gem::Requirement
225
241
  none: false
226
242
  requirements:
227
243
  - - ~>
228
244
  - !ruby/object:Gem::Version
229
- version: 0.6.2
245
+ version: 0.8.0
230
246
  type: :development
231
247
  prerelease: false
232
248
  version_requirements: !ruby/object:Gem::Requirement
@@ -234,15 +250,15 @@ dependencies:
234
250
  requirements:
235
251
  - - ~>
236
252
  - !ruby/object:Gem::Version
237
- version: 0.6.2
253
+ version: 0.8.0
238
254
  - !ruby/object:Gem::Dependency
239
- name: ramaze
255
+ name: capybara
240
256
  requirement: !ruby/object:Gem::Requirement
241
257
  none: false
242
258
  requirements:
243
259
  - - ! '>='
244
260
  - !ruby/object:Gem::Version
245
- version: '0'
261
+ version: 1.1.2
246
262
  type: :development
247
263
  prerelease: false
248
264
  version_requirements: !ruby/object:Gem::Requirement
@@ -250,7 +266,7 @@ dependencies:
250
266
  requirements:
251
267
  - - ! '>='
252
268
  - !ruby/object:Gem::Version
253
- version: '0'
269
+ version: 1.1.2
254
270
  - !ruby/object:Gem::Dependency
255
271
  name: rack-test
256
272
  requirement: !ruby/object:Gem::Requirement
@@ -268,13 +284,13 @@ dependencies:
268
284
  - !ruby/object:Gem::Version
269
285
  version: 0.6.1
270
286
  - !ruby/object:Gem::Dependency
271
- name: webrat
287
+ name: ramaze
272
288
  requirement: !ruby/object:Gem::Requirement
273
289
  none: false
274
290
  requirements:
275
291
  - - ! '>='
276
292
  - !ruby/object:Gem::Version
277
- version: 0.7.3
293
+ version: '0'
278
294
  type: :development
279
295
  prerelease: false
280
296
  version_requirements: !ruby/object:Gem::Requirement
@@ -282,7 +298,7 @@ dependencies:
282
298
  requirements:
283
299
  - - ! '>='
284
300
  - !ruby/object:Gem::Version
285
- version: 0.7.3
301
+ version: '0'
286
302
  - !ruby/object:Gem::Dependency
287
303
  name: sinatra
288
304
  requirement: !ruby/object:Gem::Requirement
@@ -300,13 +316,13 @@ dependencies:
300
316
  - !ruby/object:Gem::Version
301
317
  version: 1.3.2
302
318
  - !ruby/object:Gem::Dependency
303
- name: capybara
319
+ name: webrat
304
320
  requirement: !ruby/object:Gem::Requirement
305
321
  none: false
306
322
  requirements:
307
323
  - - ! '>='
308
324
  - !ruby/object:Gem::Version
309
- version: 1.1.2
325
+ version: 0.7.3
310
326
  type: :development
311
327
  prerelease: false
312
328
  version_requirements: !ruby/object:Gem::Requirement
@@ -314,7 +330,7 @@ dependencies:
314
330
  requirements:
315
331
  - - ! '>='
316
332
  - !ruby/object:Gem::Version
317
- version: 1.1.2
333
+ version: 0.7.3
318
334
  description: Behaviour Driven Development with elegance and joy
319
335
  email: cukes@googlegroups.com
320
336
  executables:
@@ -326,6 +342,7 @@ files:
326
342
  - .rspec
327
343
  - .rvmrc
328
344
  - .travis.yml
345
+ - DEVELOPERS.md
329
346
  - Gemfile
330
347
  - History.md
331
348
  - LICENSE
@@ -352,6 +369,11 @@ files:
352
369
  - examples/i18n/ca/features/step_definitons/calculator_steps.rb
353
370
  - examples/i18n/ca/features/suma.feature
354
371
  - examples/i18n/ca/lib/calculadora.rb
372
+ - examples/i18n/cs/Rakefile
373
+ - examples/i18n/cs/features/addition.feature
374
+ - examples/i18n/cs/features/division.feature
375
+ - examples/i18n/cs/features/step_definitons/calculator_steps.rb
376
+ - examples/i18n/cs/lib/calculator.rb
355
377
  - examples/i18n/da/Rakefile
356
378
  - examples/i18n/da/features/sammenlaegning.feature
357
379
  - examples/i18n/da/features/step_definitons/lommeregner_steps.rb
@@ -402,6 +424,11 @@ files:
402
424
  - examples/i18n/he/features/division.feature
403
425
  - examples/i18n/he/features/step_definitons/calculator_steps.rb
404
426
  - examples/i18n/he/lib/calculator.rb
427
+ - examples/i18n/hi/Rakefile
428
+ - examples/i18n/hi/features/addition.feature
429
+ - examples/i18n/hi/features/division.feature
430
+ - examples/i18n/hi/features/step_definitons/calculator_steps.rb
431
+ - examples/i18n/hi/lib/calculator.rb
405
432
  - examples/i18n/hu/Rakefile
406
433
  - examples/i18n/hu/features/osszeadas.feature
407
434
  - examples/i18n/hu/features/osztas.feature
@@ -566,6 +593,7 @@ files:
566
593
  - examples/watir/features/support/env.rb
567
594
  - examples/watir/features/support/screenshots.rb
568
595
  - features/.cucumber/stepdefs.json
596
+ - features/assertions.feature
569
597
  - features/background.feature
570
598
  - features/backtraces.feature
571
599
  - features/bootstrap.feature
@@ -573,14 +601,18 @@ files:
573
601
  - features/doc_strings.feature
574
602
  - features/drb_server_integration.feature
575
603
  - features/execute_with_tag_filter.feature
604
+ - features/formatter_callbacks.feature
576
605
  - features/formatter_step_file_colon_line.feature
577
606
  - features/hooks.feature
607
+ - features/html_formatter.feature
578
608
  - features/iso-8859-1.feature
579
609
  - features/json_formatter.feature
580
610
  - features/nested_steps.feature
611
+ - features/nested_steps_with_second_arg.feature
581
612
  - features/rerun_formatter.feature
582
613
  - features/run_specific_scenarios.feature
583
614
  - features/stats_formatters.feature
615
+ - features/step_definitions.feature
584
616
  - features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb
585
617
  - features/step_definitions/cucumber_steps.rb
586
618
  - features/step_definitions/drb_steps.rb
@@ -693,8 +725,6 @@ files:
693
725
  - legacy_features/exception_in_before_block.feature
694
726
  - legacy_features/exclude_files.feature
695
727
  - legacy_features/expand.feature
696
- - legacy_features/html_formatter.feature
697
- - legacy_features/html_formatter/a.html
698
728
  - legacy_features/junit_formatter.feature
699
729
  - legacy_features/language_from_header.feature
700
730
  - legacy_features/language_help.feature
@@ -865,6 +895,7 @@ files:
865
895
  - spec/cucumber/rb_support/rb_step_definition_spec.rb
866
896
  - spec/cucumber/rb_support/rb_transform_spec.rb
867
897
  - spec/cucumber/rb_support/regexp_argument_matcher_spec.rb
898
+ - spec/cucumber/runtime/for_programming_languages_spec.rb
868
899
  - spec/cucumber/runtime/results_spec.rb
869
900
  - spec/cucumber/runtime/support_code_spec.rb
870
901
  - spec/cucumber/runtime_spec.rb
@@ -891,84 +922,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
891
922
  - - ! '>='
892
923
  - !ruby/object:Gem::Version
893
924
  version: '0'
925
+ segments:
926
+ - 0
927
+ hash: 4532349198793312029
894
928
  required_rubygems_version: !ruby/object:Gem::Requirement
895
929
  none: false
896
930
  requirements:
897
931
  - - ! '>='
898
932
  - !ruby/object:Gem::Version
899
933
  version: '0'
934
+ segments:
935
+ - 0
936
+ hash: 4532349198793312029
900
937
  requirements: []
901
938
  rubyforge_project:
902
939
  rubygems_version: 1.8.24
903
940
  signing_key:
904
941
  specification_version: 3
905
- summary: cucumber-1.2.1
906
- test_files:
907
- - features/background.feature
908
- - features/backtraces.feature
909
- - features/bootstrap.feature
910
- - features/custom_formatter.feature
911
- - features/doc_strings.feature
912
- - features/drb_server_integration.feature
913
- - features/execute_with_tag_filter.feature
914
- - features/formatter_step_file_colon_line.feature
915
- - features/hooks.feature
916
- - features/iso-8859-1.feature
917
- - features/json_formatter.feature
918
- - features/nested_steps.feature
919
- - features/rerun_formatter.feature
920
- - features/run_specific_scenarios.feature
921
- - features/stats_formatters.feature
922
- - features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb
923
- - features/step_definitions/cucumber_steps.rb
924
- - features/step_definitions/drb_steps.rb
925
- - features/step_definitions/iso-8859-1_steps.rb
926
- - features/support/env.rb
927
- - features/support/feature_factory.rb
928
- - features/tagged_hooks.feature
929
- - features/transforms.feature
930
- - spec/cucumber/ast/background_spec.rb
931
- - spec/cucumber/ast/doc_string_spec.rb
932
- - spec/cucumber/ast/feature_factory.rb
933
- - spec/cucumber/ast/feature_spec.rb
934
- - spec/cucumber/ast/outline_table_spec.rb
935
- - spec/cucumber/ast/scenario_outline_spec.rb
936
- - spec/cucumber/ast/step_spec.rb
937
- - spec/cucumber/ast/table_spec.rb
938
- - spec/cucumber/ast/tree_walker_spec.rb
939
- - spec/cucumber/broadcaster_spec.rb
940
- - spec/cucumber/cli/configuration_spec.rb
941
- - spec/cucumber/cli/drb_client_spec.rb
942
- - spec/cucumber/cli/main_spec.rb
943
- - spec/cucumber/cli/options_spec.rb
944
- - spec/cucumber/cli/profile_loader_spec.rb
945
- - spec/cucumber/configuration_spec.rb
946
- - spec/cucumber/constantize_spec.rb
947
- - spec/cucumber/core_ext/proc_spec.rb
948
- - spec/cucumber/formatter/ansicolor_spec.rb
949
- - spec/cucumber/formatter/duration_spec.rb
950
- - spec/cucumber/formatter/html_spec.rb
951
- - spec/cucumber/formatter/interceptor_spec.rb
952
- - spec/cucumber/formatter/junit_spec.rb
953
- - spec/cucumber/formatter/progress_spec.rb
954
- - spec/cucumber/formatter/spec_helper.rb
955
- - spec/cucumber/rake/forked_spec.rb
956
- - spec/cucumber/rake/rcov_spec.rb
957
- - spec/cucumber/rb_support/rb_language_spec.rb
958
- - spec/cucumber/rb_support/rb_step_definition_spec.rb
959
- - spec/cucumber/rb_support/rb_transform_spec.rb
960
- - spec/cucumber/rb_support/regexp_argument_matcher_spec.rb
961
- - spec/cucumber/runtime/results_spec.rb
962
- - spec/cucumber/runtime/support_code_spec.rb
963
- - spec/cucumber/runtime_spec.rb
964
- - spec/cucumber/sell_cucumbers.feature
965
- - spec/cucumber/step_match_spec.rb
966
- - spec/cucumber/wire_support/configuration_spec.rb
967
- - spec/cucumber/wire_support/connection_spec.rb
968
- - spec/cucumber/wire_support/wire_exception_spec.rb
969
- - spec/cucumber/wire_support/wire_language_spec.rb
970
- - spec/cucumber/wire_support/wire_packet_spec.rb
971
- - spec/cucumber/wire_support/wire_step_definition_spec.rb
972
- - spec/cucumber/world/pending_spec.rb
973
- - spec/spec_helper.rb
942
+ summary: cucumber-1.2.2
943
+ test_files: []
974
944
  has_rdoc: