cucumber-core 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47cd08b6e3d6df7ffef0782538481a560b3434c8
4
- data.tar.gz: a8a4cf61a292b873b9b1eb53ae4058458afeb0e3
3
+ metadata.gz: def2f4af0efb06a5de6bca015b7459e1a53e20c1
4
+ data.tar.gz: 9ed2ba01df834b8d3459c5c7355c88e07b8a3376
5
5
  SHA512:
6
- metadata.gz: 6bf8cf9e11baa952d2daf7cc70a483c8472f4acb6a73b38c7578ec68d1e49bf130a7fb31ca0e775624152a630c3a900df7c677d07ef4933c2eceef264da50dac
7
- data.tar.gz: ba2a915a99d6991cc982757dc331340ed3f3938c77514732dfb3d95955ed3747f1ecfa19b0a8bd330f473b53e379dc0792cf531f86bfa3ef80eb471936e2cf4c
6
+ metadata.gz: e4a7e7bdda20e2cc93169f9ae804d602e2b988441eef65ea41897dbc9b4903a9149d15285e1e38f98dda1b4b547b495e54b32e4e4a209d55f18f0e6d3e3114fe
7
+ data.tar.gz: 0037d709bd4b60ea7d5f7366d32c2e8e569f2021fef5141037f08220e75668b2e96ca209e114fc54130ff0141cfcd89ba159c16e6cce786dcc2a1354f54fa1bd
@@ -1,22 +1,22 @@
1
1
  Please see [CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) on how to contribute to Cucumber.
2
2
 
3
- ## [In Git](https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...master) (targetting 3.1.0)
4
-
5
- ### Changed
6
-
7
- * N/A
3
+ ## [3.2.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.1.0...v3.2.0)
8
4
 
9
5
  ### Added
10
6
 
11
- * N/A
7
+ * Add the GherkinSourceParsedEvent ([#155](https://github.com/cucumber/cucumber-ruby-core/pull/155) @brasmusson)
8
+ * Add #original_location to Cucumber::Core::Ast::Step and Cucumber::Core::Test::Step ([#150](https://github.com/cucumber/cucumber-ruby-core/pull/150), [#149](https://github.com/cucumber/cucumber-ruby-core/issues/149) @brasmusson)
12
9
 
13
10
  ### Fixed
14
11
 
15
- * N/A
12
+ * Set message and backtrace for undefined result also when skipping (@brasmusson)
16
13
 
17
- ### Improved
14
+ ## [3.1.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...3.1.0)
15
+
16
+ ### Changed
18
17
 
19
- * N/A
18
+ * Upgraded to `cucumber-tag_expressions` 1.1.0
19
+ * Upgraded to `gherkin` 5.0.0
20
20
 
21
21
  ## [3.0.0](https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0.pre.2...v3.0.0) (2017-09-27)
22
22
 
@@ -15,17 +15,17 @@ module Cucumber
15
15
  self
16
16
  end
17
17
 
18
- def compile(gherkin_documents, last_receiver, filters = [])
18
+ def compile(gherkin_documents, last_receiver, filters = [], event_bus = EventBus.new)
19
19
  first_receiver = compose(filters, last_receiver)
20
20
  compiler = Compiler.new(first_receiver)
21
- parse gherkin_documents, compiler
21
+ parse gherkin_documents, compiler, event_bus
22
22
  self
23
23
  end
24
24
 
25
25
  private
26
26
 
27
- def parse(gherkin_documents, compiler)
28
- parser = Core::Gherkin::Parser.new(compiler)
27
+ def parse(gherkin_documents, compiler, event_bus)
28
+ parser = Core::Gherkin::Parser.new(compiler, event_bus)
29
29
  gherkin_documents.each do |document|
30
30
  parser.document document
31
31
  end
@@ -35,11 +35,16 @@ module Cucumber
35
35
  end
36
36
  end
37
37
 
38
+ def original_location
39
+ location
40
+ end
41
+
38
42
  def inspect
39
43
  keyword_and_text = [keyword, text].join(": ")
40
44
  %{#<#{self.class} "#{keyword_and_text}" (#{location})>}
41
45
  end
42
46
 
47
+
43
48
  private
44
49
 
45
50
  def children
@@ -61,6 +66,10 @@ module Cucumber
61
66
  @outline_step.all_locations
62
67
  end
63
68
 
69
+ def original_location
70
+ @outline_step.location
71
+ end
72
+
64
73
  alias :step_backtrace_line :backtrace_line
65
74
 
66
75
  def backtrace_line
@@ -1,9 +1,20 @@
1
+ # coding: utf-8
1
2
  require 'cucumber/core/event'
2
3
 
3
4
  module Cucumber
4
5
  module Core
5
6
  module Events
6
7
 
8
+ # Signals that a gherkin source has been parsed
9
+ class GherkinSourceParsed < Event.new(:uri, :gherkin_document)
10
+ # The uri of the file
11
+ attr_reader :uri
12
+
13
+ # @return [GherkinDocument] the GherkinDocument Ast Node
14
+ attr_reader :gherkin_document
15
+
16
+ end
17
+
7
18
  # Signals that a {Test::Case} is about to be executed
8
19
  class TestCaseStarted < Event.new(:test_case)
9
20
 
@@ -43,10 +54,11 @@ module Cucumber
43
54
 
44
55
  end
45
56
 
46
- # The registry contains all the events registered in the core,
57
+ # The registry contains all the events registered in the core,
47
58
  # that will be used by the {EventBus} by default.
48
59
  def self.registry
49
60
  build_registry(
61
+ GherkinSourceParsed,
50
62
  TestCaseStarted,
51
63
  TestStepStarted,
52
64
  TestStepFinished,
@@ -11,11 +11,12 @@ module Cucumber
11
11
  ParseError = Class.new(StandardError)
12
12
 
13
13
  class Parser
14
- attr_reader :receiver
15
- private :receiver
14
+ attr_reader :receiver, :event_bus
15
+ private :receiver, :event_bus
16
16
 
17
- def initialize(receiver)
17
+ def initialize(receiver, event_bus)
18
18
  @receiver = receiver
19
+ @event_bus = event_bus
19
20
  end
20
21
 
21
22
  def document(document)
@@ -26,6 +27,7 @@ module Cucumber
26
27
 
27
28
  begin
28
29
  result = parser.parse(scanner, token_matcher)
30
+ event_bus.gherkin_source_parsed(document.uri, result.dup)
29
31
 
30
32
  receiver.feature core_builder.feature(result)
31
33
  rescue *PARSER_ERRORS => e
@@ -126,7 +126,12 @@ module Cucumber
126
126
 
127
127
  class Failing < Base
128
128
  def execute(test_step, monitor, &continue)
129
- test_step.skip(monitor.result)
129
+ result = test_step.skip(monitor.result)
130
+ if result.undefined?
131
+ result = result.with_message(%(Undefined step: "#{test_step.text}"))
132
+ result = result.with_appended_backtrace(test_step.source.last)
133
+ end
134
+ result
130
135
  end
131
136
 
132
137
  def result(duration)
@@ -48,6 +48,10 @@ module Cucumber
48
48
  source.last.location
49
49
  end
50
50
 
51
+ def original_location
52
+ source.last.original_location
53
+ end
54
+
51
55
  def action_location
52
56
  @action.location
53
57
  end
@@ -3,7 +3,7 @@ module Cucumber
3
3
  module Core
4
4
  class Version
5
5
  def self.to_s
6
- "3.1.0"
6
+ "3.2.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2017-11-28 00:00:00.000000000 Z
15
+ date: 2018-07-13 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: gherkin
@@ -229,8 +229,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
229
  version: '0'
230
230
  requirements: []
231
231
  rubyforge_project:
232
- rubygems_version: 2.6.8
232
+ rubygems_version: 2.5.2
233
233
  signing_key:
234
234
  specification_version: 4
235
- summary: cucumber-core-3.1.0
235
+ summary: cucumber-core-3.2.0
236
236
  test_files: []