turnip_documentation_formatter 0.0.1 → 0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a0eaf35ce8b914fe9c8d2db2777289852d8e65044e1809f0e133893b4ebc59b
4
- data.tar.gz: 39e741e3ccd7c5072787aa03962a832f26b8d9e3117ab5005368791a5f159f8a
3
+ metadata.gz: 4d53cdcd22ed895e13bb235ce93d832edca4ceb0cadfd3839fa374648c3d15a2
4
+ data.tar.gz: b7505b5b44825cbdd747044ca6eabbca54bbf41fb12b305012b10bc8758c0e78
5
5
  SHA512:
6
- metadata.gz: eceea9cb12aef29e5f32a5b7d07476b18d00ea3ca3c457f9ce950d2da42cd12005f7eb44bf359b889d7507b39de77ab6ed7ac711d50f8b76a85de283706659f3
7
- data.tar.gz: 2bd911181bb49e1549583fd70eddde784120ce407658c75cb885674c4fbe6b266e1558e9a8236c846eac40384af6ef21419e4ca47dde83cf1446a55e12772784
6
+ metadata.gz: c7d89e5f8e419016ca8f050c31825ed2213552dc2fb72688a290ae6c0cc1f33e74d77ddd4d9009fcbbc384619c39e025785e85e4dec25782616ced0958186e09
7
+ data.tar.gz: ff8b6aed5ee1cc43c0232d5caef2a098db86e6f0300afc57d9475a4b81e921ca9947dd1525b94b53162a17529d4e4cf38869e0b227cdaa068bfd80dc2a77d404
data/.gitignore CHANGED
@@ -7,5 +7,8 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
 
10
+ # Ignore any build gems
11
+ *.gem
12
+
10
13
  # rspec failure tracking
11
14
  .rspec_status
data/Gemfile.lock CHANGED
@@ -1,55 +1,36 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- turnip_documentation_formatter (0.0.1)
5
- turnip (~> 4.3)
4
+ turnip_documentation_formatter (0.1)
5
+ rspec (~> 3.10)
6
+ turnip (~> 4.4)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- activesupport (6.1.4.1)
11
- concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (>= 1.6, < 2)
13
- minitest (>= 5.1)
14
- tzinfo (~> 2.0)
15
- zeitwerk (~> 2.3)
16
- concurrent-ruby (1.1.9)
17
- cucumber-gherkin (14.2.0)
18
- cucumber-messages (~> 12.4, >= 12.4.0)
19
- cucumber-messages (12.4.0)
20
- protobuf-cucumber (~> 3.10, >= 3.10.8)
21
- diff-lcs (1.4.4)
22
- i18n (1.8.11)
23
- concurrent-ruby (~> 1.0)
24
- middleware (0.1.0)
25
- minitest (5.14.4)
26
- protobuf-cucumber (3.10.8)
27
- activesupport (>= 3.2)
28
- middleware
29
- thor
30
- thread_safe
11
+ cucumber-gherkin (24.1.0)
12
+ cucumber-messages (~> 19.1, >= 19.1.4)
13
+ cucumber-messages (19.1.4)
14
+ cuke_modeler (3.17.0)
15
+ cucumber-gherkin (< 25.0)
16
+ diff-lcs (1.5.0)
31
17
  rake (13.0.6)
32
- rspec (3.10.0)
33
- rspec-core (~> 3.10.0)
34
- rspec-expectations (~> 3.10.0)
35
- rspec-mocks (~> 3.10.0)
36
- rspec-core (3.10.1)
37
- rspec-support (~> 3.10.0)
38
- rspec-expectations (3.10.1)
18
+ rspec (3.12.0)
19
+ rspec-core (~> 3.12.0)
20
+ rspec-expectations (~> 3.12.0)
21
+ rspec-mocks (~> 3.12.0)
22
+ rspec-core (3.12.0)
23
+ rspec-support (~> 3.12.0)
24
+ rspec-expectations (3.12.0)
39
25
  diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.10.0)
41
- rspec-mocks (3.10.2)
26
+ rspec-support (~> 3.12.0)
27
+ rspec-mocks (3.12.0)
42
28
  diff-lcs (>= 1.2.0, < 2.0)
43
- rspec-support (~> 3.10.0)
44
- rspec-support (3.10.3)
45
- thor (1.1.0)
46
- thread_safe (0.3.6)
47
- turnip (4.3.0)
48
- cucumber-gherkin (~> 14.0)
29
+ rspec-support (~> 3.12.0)
30
+ rspec-support (3.12.0)
31
+ turnip (4.4.0)
32
+ cuke_modeler (~> 3.15)
49
33
  rspec (>= 3.0, < 4.0)
50
- tzinfo (2.0.4)
51
- concurrent-ruby (~> 1.0)
52
- zeitwerk (2.5.1)
53
34
 
54
35
  PLATFORMS
55
36
  x86_64-linux
@@ -60,4 +41,4 @@ DEPENDENCIES
60
41
  turnip_documentation_formatter!
61
42
 
62
43
  BUNDLED WITH
63
- 2.2.15
44
+ 2.2.25
data/README.md CHANGED
@@ -4,6 +4,10 @@ This gem extends the default RSpec documentation formatter for [Turnip](https://
4
4
 
5
5
  This makes it easier to see on exactly which step an error occured.
6
6
 
7
+ ## Screenshot
8
+
9
+ ![Before example](https://user-images.githubusercontent.com/242972/81497557-779c7900-92e9-11ea-919f-d4d714540267.png)
10
+
7
11
  ## Installation
8
12
 
9
13
  Add this line to your application's Gemfile:
@@ -19,6 +23,12 @@ And then execute:
19
23
  Or install it yourself as:
20
24
 
21
25
  $ gem install turnip_documentation_formatter
26
+
27
+ And require the formatter in `spec_helper.rb`:
28
+
29
+ ```ruby
30
+ require "turnip_documentation_formatter"
31
+ ```
22
32
 
23
33
  ## Usage
24
34
 
@@ -32,7 +42,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
42
 
33
43
  ## Contributing
34
44
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/turnip-documentation-formatter.
45
+ Bug reports and pull requests are welcome on GitHub at https://github.com/aramvisser/turnip-documentation-formatter.
36
46
 
37
47
  ## License
38
48
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Turnip
4
4
  module DocumentationFormatter
5
- VERSION = "0.0.1"
5
+ VERSION = "0.1"
6
6
  end
7
7
  end
@@ -4,7 +4,6 @@ require 'rspec'
4
4
  require 'turnip'
5
5
  require 'turnip/rspec'
6
6
 
7
- require "turnip_documentation_formatter/turnip_extension.rb"
8
7
  require "turnip_documentation_formatter/version"
9
8
 
10
9
  module Turnip
@@ -24,6 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.add_runtime_dependency "turnip", "~> 4.3"
27
+ spec.add_runtime_dependency "turnip", "~> 4.4"
28
28
  spec.add_runtime_dependency "rspec", "~> 3.10"
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turnip_documentation_formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: '0.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aram Visser
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-11 00:00:00.000000000 Z
11
+ date: 1980-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: turnip
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.3'
19
+ version: '4.4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.3'
26
+ version: '4.4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -57,7 +57,6 @@ files:
57
57
  - bin/setup
58
58
  - examples/documentation_formatter.feature
59
59
  - lib/turnip_documentation_formatter.rb
60
- - lib/turnip_documentation_formatter/turnip_extension.rb
61
60
  - lib/turnip_documentation_formatter/version.rb
62
61
  - turnip-documentation-formatter.gemspec
63
62
  homepage:
@@ -80,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
79
  - !ruby/object:Gem::Version
81
80
  version: '0'
82
81
  requirements: []
83
- rubygems_version: 3.2.15
82
+ rubygems_version: 3.2.26
84
83
  signing_key:
85
84
  specification_version: 4
86
85
  summary: RSpec documentation formatter for Turnip
@@ -1,89 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Turnip::RSpec
4
- module Execute
5
- def run_step(feature_file, step)
6
- reporter = ::RSpec.current_example.reporter
7
- reporter.publish(:step_started, { step: step })
8
-
9
- begin
10
- instance_eval <<-EOS, feature_file, step.line
11
- step(step)
12
- EOS
13
- rescue Turnip::Pending => e
14
- reporter.publish(:step_pending, { step: step })
15
-
16
- example = ::RSpec.current_example
17
- example.metadata[:line_number] = step.line
18
- example.metadata[:location] = "#{example.metadata[:file_path]}:#{step.line}"
19
-
20
- if ::RSpec.configuration.raise_error_for_unimplemented_steps
21
- e.backtrace.push "#{feature_file}:#{step.line}:in `#{step.description}'"
22
- raise
23
- end
24
-
25
- skip("No such step: '#{e}'")
26
- rescue StandardError, ::RSpec::Expectations::ExpectationNotMetError => e
27
- reporter.publish(:step_failed, { step: step })
28
-
29
- e.backtrace.push "#{feature_file}:#{step.line}:in `#{step.description}'"
30
- raise e
31
- end
32
-
33
- reporter.publish(:step_passed, { step: step })
34
- end
35
- end
36
-
37
- class << self
38
- def run(feature_file)
39
- feature = Turnip::Builder.build(feature_file)
40
-
41
- return nil if feature.nil?
42
-
43
- instance_eval <<-EOS, feature_file, feature.line
44
- context = ::RSpec.describe feature.name, feature.metadata_hash
45
- run_scenario_group(context, feature, feature_file)
46
- EOS
47
- end
48
-
49
- private
50
-
51
- #
52
- # @param [RSpec::ExampleGroups] context
53
- # @param [Turnip::Node::Feature|Turnip::Node::Rule] group
54
- # @param [String] filename
55
- #
56
- def run_scenario_group(context, group, filename)
57
- background_steps = group.backgrounds.map(&:steps).flatten
58
-
59
- context.before do
60
- background_steps.each do |step|
61
- run_step(filename, step)
62
- end
63
- end
64
-
65
- group.scenarios.each do |scenario|
66
- all_steps = background_steps + scenario.steps
67
- description = all_steps.map(&:to_s).join(' -> ')
68
- metadata = scenario.metadata_hash.merge(turnip_steps: all_steps)
69
-
70
- context.describe scenario.name, metadata do
71
- instance_eval <<-EOS, filename, scenario.line
72
- it description do
73
- scenario.steps.each do |step|
74
- run_step(filename, step)
75
- end
76
- end
77
- EOS
78
- end
79
- end
80
-
81
- if group.is_a?(Turnip::Node::Feature)
82
- group.rules.each do |rule|
83
- rule_context = context.context(rule.name, { turnip: true })
84
- run_scenario_group(rule_context, rule, filename)
85
- end
86
- end
87
- end
88
- end
89
- end