rspec-html_messages 0.2.0 → 0.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.
- checksums.yaml +4 -4
- data/README.md +4 -1
- data/lib/rspec/html_messages/templates/_status.html.erb +3 -0
- data/lib/rspec/html_messages/templates/example.html.erb +7 -1
- data/lib/rspec/html_messages/version.rb +1 -1
- data/lib/rspec/html_messages.rb +25 -12
- data/rspec-html_messages.gemspec +0 -1
- metadata +2 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c4c35f34261c53e8f42c4830301e0b20301efa5a4401baa4cc95fb449c2b2d2
|
4
|
+
data.tar.gz: f349219144db99d3d0c4ad1d4502a6043e5ec142fd357cd517b8deef4227ab93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb2d677dd22241cd9f08401cca7a11220d9d042341fa293decfd511ab8b66f7afd653dbf6ce79c2efe32e6ad03d0f4a389fdb85057bc09a8df291dea1ed54919
|
7
|
+
data.tar.gz: 204d97cb0a94581e1b9b4e766ede8a8f73612665d1c2e0133d530d68133cfe1718e9adc53cdd9af01e9538eee20f817a790772bba05625046a93d0f70178beb2
|
data/README.md
CHANGED
@@ -267,8 +267,11 @@ Renders just the exception details section. Returns `nil` if no exception.
|
|
267
267
|
#### `backtrace_html(**options)`
|
268
268
|
Renders just the backtrace section. Returns `nil` if no backtrace.
|
269
269
|
|
270
|
+
#### `status_html(**options)`
|
271
|
+
Renders just the status section.
|
272
|
+
|
270
273
|
#### `render_html(**options)`
|
271
|
-
Convenience method that renders all
|
274
|
+
Convenience method that renders all four sections in a standard layout.
|
272
275
|
|
273
276
|
### Class Methods
|
274
277
|
|
@@ -1,6 +1,12 @@
|
|
1
1
|
<div class="rspec-html-messages">
|
2
|
-
<% if
|
2
|
+
<% if status_content = status_html(**@options) %>
|
3
3
|
<div>
|
4
|
+
<%= status_content %>
|
5
|
+
</div>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<% if output_content = output_html(**@options) %>
|
9
|
+
<div class="mt-3">
|
4
10
|
<%= output_content %>
|
5
11
|
</div>
|
6
12
|
<% end %>
|
data/lib/rspec/html_messages.rb
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "zeitwerk"
|
4
3
|
require "active_support/backtrace_cleaner"
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
loader.push_dir "#{__dir__}/.."
|
9
|
-
loader.setup
|
10
|
-
end
|
4
|
+
require "rspec/html_messages/value_formatter"
|
5
|
+
require "rspec/html_messages/diff_formatter"
|
6
|
+
require "rspec/html_messages/template_renderer"
|
11
7
|
|
12
8
|
module Rspec
|
13
9
|
# Main renderer class for converting enriched JSON examples to HTML
|
@@ -81,16 +77,27 @@ module Rspec
|
|
81
77
|
render_template("_backtrace")
|
82
78
|
end
|
83
79
|
|
80
|
+
def status_html(**options)
|
81
|
+
if passed?
|
82
|
+
css_class = "alert-success"
|
83
|
+
message = "This test passed!"
|
84
|
+
else
|
85
|
+
css_class = "alert-warning"
|
86
|
+
message = "The test did not pass."
|
87
|
+
end
|
88
|
+
render_template("_status", css_class: css_class, message: message)
|
89
|
+
end
|
90
|
+
|
84
91
|
# Public boolean methods so users can make their own decisions
|
85
92
|
def has_output?
|
86
93
|
# Don't show output for errors before assertions
|
87
94
|
return false if error_before_assertion?
|
88
95
|
|
89
|
-
|
96
|
+
failed? || has_actual?
|
90
97
|
end
|
91
98
|
|
92
99
|
def has_failure_message?
|
93
|
-
|
100
|
+
failed? && !error_before_assertion? && failure_message.present?
|
94
101
|
end
|
95
102
|
|
96
103
|
def has_exception_details?
|
@@ -142,6 +149,14 @@ module Rspec
|
|
142
149
|
|
143
150
|
private
|
144
151
|
|
152
|
+
def passed?
|
153
|
+
status == "passed"
|
154
|
+
end
|
155
|
+
|
156
|
+
def failed?
|
157
|
+
status == "failed"
|
158
|
+
end
|
159
|
+
|
145
160
|
def default_options
|
146
161
|
{
|
147
162
|
force_diffable: FORCE_DIFFABLE_MATCHERS,
|
@@ -174,7 +189,7 @@ module Rspec
|
|
174
189
|
end
|
175
190
|
|
176
191
|
def calculate_failure_message
|
177
|
-
return nil unless
|
192
|
+
return nil unless failed?
|
178
193
|
|
179
194
|
message = example.dig("exception", "message")
|
180
195
|
return nil unless message
|
@@ -314,8 +329,6 @@ module Rspec
|
|
314
329
|
end
|
315
330
|
end
|
316
331
|
|
317
|
-
private
|
318
|
-
|
319
332
|
def validate_example!(example)
|
320
333
|
raise ArgumentError, "Example cannot be nil" if example.nil?
|
321
334
|
raise ArgumentError, "Example must be a Hash" unless example.is_a?(Hash)
|
data/rspec-html_messages.gemspec
CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_dependency "amazing_print", "~> 1.6"
|
26
26
|
spec.add_dependency "diffy", "~> 3.4"
|
27
27
|
spec.add_dependency "oj", "~> 3.16"
|
28
|
-
spec.add_dependency "zeitwerk", "~> 2.7"
|
29
28
|
|
30
29
|
spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
|
31
30
|
spec.files = Dir["*.gemspec", "lib/**/*"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-html_messages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raghu Betina
|
@@ -79,20 +79,6 @@ dependencies:
|
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '3.16'
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: zeitwerk
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '2.7'
|
89
|
-
type: :runtime
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '2.7'
|
96
82
|
email:
|
97
83
|
- raghu@firstdraft.com
|
98
84
|
executables: []
|
@@ -111,6 +97,7 @@ files:
|
|
111
97
|
- lib/rspec/html_messages/templates/_diff.html.erb
|
112
98
|
- lib/rspec/html_messages/templates/_exception_details.html.erb
|
113
99
|
- lib/rspec/html_messages/templates/_failure_message.html.erb
|
100
|
+
- lib/rspec/html_messages/templates/_status.html.erb
|
114
101
|
- lib/rspec/html_messages/templates/example.html.erb
|
115
102
|
- lib/rspec/html_messages/value_formatter.rb
|
116
103
|
- lib/rspec/html_messages/version.rb
|