scarpe-components 0.2.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -1
- data/Gemfile.lock +85 -0
- data/README.md +2 -2
- data/assets/bootstrap-themes/bootstrap-cerulean.css +12229 -0
- data/assets/bootstrap-themes/bootstrap-cosmo.css +11810 -0
- data/assets/bootstrap-themes/bootstrap-cyborg.css +12210 -0
- data/assets/bootstrap-themes/bootstrap-darkly.css +12153 -0
- data/assets/bootstrap-themes/bootstrap-flatly.css +12126 -0
- data/assets/bootstrap-themes/bootstrap-icons.min.css +5 -0
- data/assets/bootstrap-themes/bootstrap-journal.css +12099 -0
- data/assets/bootstrap-themes/bootstrap-litera.css +12211 -0
- data/assets/bootstrap-themes/bootstrap-lumen.css +12369 -0
- data/assets/bootstrap-themes/bootstrap-lux.css +11928 -0
- data/assets/bootstrap-themes/bootstrap-materia.css +13184 -0
- data/assets/bootstrap-themes/bootstrap-minty.css +12177 -0
- data/assets/bootstrap-themes/bootstrap-morph.css +12750 -0
- data/assets/bootstrap-themes/bootstrap-pulse.css +11890 -0
- data/assets/bootstrap-themes/bootstrap-quartz.css +12622 -0
- data/assets/bootstrap-themes/bootstrap-sandstone.css +12201 -0
- data/assets/bootstrap-themes/bootstrap-simplex.css +12186 -0
- data/assets/bootstrap-themes/bootstrap-sketchy.css +12451 -0
- data/assets/bootstrap-themes/bootstrap-slate.css +12492 -0
- data/assets/bootstrap-themes/bootstrap-solar.css +12149 -0
- data/assets/bootstrap-themes/bootstrap-spacelab.css +12266 -0
- data/assets/bootstrap-themes/bootstrap-superhero.css +12216 -0
- data/assets/bootstrap-themes/bootstrap-united.css +12077 -0
- data/assets/bootstrap-themes/bootstrap-vapor.css +12549 -0
- data/assets/bootstrap-themes/bootstrap-yeti.css +12325 -0
- data/assets/bootstrap-themes/bootstrap-zephyr.css +12283 -0
- data/assets/bootstrap-themes/bootstrap.bundle.min.js +7 -0
- data/lib/scarpe/components/asset_server.rb +219 -0
- data/lib/scarpe/components/base64.rb +23 -5
- data/lib/scarpe/components/calzini/alert.rb +49 -0
- data/lib/scarpe/components/calzini/art_drawables.rb +227 -0
- data/lib/scarpe/components/calzini/border.rb +38 -0
- data/lib/scarpe/components/calzini/button.rb +37 -0
- data/lib/scarpe/components/calzini/misc.rb +136 -0
- data/lib/scarpe/components/calzini/para.rb +237 -0
- data/lib/scarpe/components/calzini/slots.rb +109 -0
- data/lib/scarpe/components/calzini.rb +236 -0
- data/lib/scarpe/components/errors.rb +24 -0
- data/lib/scarpe/components/file_helpers.rb +1 -0
- data/lib/scarpe/components/html.rb +134 -0
- data/lib/scarpe/components/minitest_export_reporter.rb +83 -0
- data/lib/scarpe/components/minitest_import_runnable.rb +98 -0
- data/lib/scarpe/components/minitest_result.rb +127 -0
- data/lib/scarpe/components/modular_logger.rb +5 -5
- data/lib/scarpe/components/print_logger.rb +22 -3
- data/lib/scarpe/components/process_helpers.rb +37 -0
- data/lib/scarpe/components/promises.rb +14 -14
- data/lib/scarpe/components/segmented_file_loader.rb +36 -17
- data/lib/scarpe/components/string_helpers.rb +10 -0
- data/lib/scarpe/components/tiranti.rb +167 -0
- data/lib/scarpe/components/unit_test_helpers.rb +48 -6
- data/lib/scarpe/components/version.rb +2 -2
- metadata +48 -4
@@ -5,6 +5,7 @@ require "json"
|
|
5
5
|
require "fileutils"
|
6
6
|
|
7
7
|
require "scarpe/components/file_helpers"
|
8
|
+
require "scarpe/components/process_helpers"
|
8
9
|
|
9
10
|
module Scarpe::Test; end
|
10
11
|
|
@@ -20,6 +21,7 @@ ALREADY_SET_UP_LOGGED_TEST_FAILURES = { setup: false }
|
|
20
21
|
module Scarpe::Test::Helpers
|
21
22
|
# Very useful for tests
|
22
23
|
include Scarpe::Components::FileHelpers
|
24
|
+
include Scarpe::Components::ProcessHelpers
|
23
25
|
|
24
26
|
# Temporarily set env vars for the block of code inside. The old environment
|
25
27
|
# variable values will be restored after the block finishes.
|
@@ -67,7 +69,7 @@ module Scarpe::Test::LoggedTest
|
|
67
69
|
@normal_log_config = Shoes::Log.current_log_config
|
68
70
|
Shoes::Log.configure_logger(log_config_for_test)
|
69
71
|
|
70
|
-
Shoes::Log.logger("
|
72
|
+
Shoes::Log.logger("LoggedTest").info("Test: #{self.class.name}##{self.name}")
|
71
73
|
end
|
72
74
|
|
73
75
|
# If you include this module and don't override setup/teardown, everything will
|
@@ -125,7 +127,7 @@ module Scarpe::Test::LoggedTest
|
|
125
127
|
def log_config_for_test
|
126
128
|
{
|
127
129
|
"default" => ["debug", "logger/test_failure_#{file_id}.log"],
|
128
|
-
"DisplayService" => ["debug", "logger/
|
130
|
+
"DisplayService" => ["debug", "logger/test_failure_display_service_#{file_id}.log"],
|
129
131
|
}.merge(@additional_log_config || {})
|
130
132
|
end
|
131
133
|
|
@@ -150,8 +152,8 @@ module Scarpe::Test::LoggedTest
|
|
150
152
|
return if ALREADY_SET_UP_LOGGED_TEST_FAILURES[:setup]
|
151
153
|
|
152
154
|
log_dir = self.class.logger_dir
|
153
|
-
raise("Must set logger directory!") unless log_dir
|
154
|
-
raise("Can't find logger directory!") unless File.directory?(log_dir)
|
155
|
+
raise(Scarpe::MustOverrideMethod, "Must set logger directory!") unless log_dir
|
156
|
+
raise(Scarpe::NoSuchFile, "Can't find logger directory!") unless File.directory?(log_dir)
|
155
157
|
|
156
158
|
ALREADY_SET_UP_LOGGED_TEST_FAILURES[:setup] = true
|
157
159
|
# Delete stale test failures, if any, before starting the first failure-logged test
|
@@ -181,11 +183,11 @@ module Scarpe::Test::LoggedTest
|
|
181
183
|
out_loc = filepath.gsub(%r{.log\Z}, ".out.log")
|
182
184
|
|
183
185
|
if out_loc == filepath
|
184
|
-
raise "Something is wrong! Could not figure out failure-log output path for #{filepath.inspect}!"
|
186
|
+
raise Shoes::Errors::InvalidAttributeValueError, "Something is wrong! Could not figure out failure-log output path for #{filepath.inspect}!"
|
185
187
|
end
|
186
188
|
|
187
189
|
if File.exist?(out_loc)
|
188
|
-
raise "Duplicate test file #{out_loc.inspect}? This file should *not* already exist!"
|
190
|
+
raise Scarpe::DuplicateFileError, "Duplicate test file #{out_loc.inspect}? This file should *not* already exist!"
|
189
191
|
end
|
190
192
|
|
191
193
|
out_loc
|
@@ -215,3 +217,43 @@ module Scarpe::Test::LoggedTest
|
|
215
217
|
end
|
216
218
|
end
|
217
219
|
end
|
220
|
+
|
221
|
+
module Scarpe::Test::HTMLAssertions
|
222
|
+
# Assert that `actual_html` is the same as `expected_tag` with `opts`.
|
223
|
+
# This uses Scarpe's HTML tag-based renderer to render the tag and options
|
224
|
+
# into text, and valides that the text is the same.
|
225
|
+
#
|
226
|
+
# @see Scarpe::Components::HTML.render
|
227
|
+
#
|
228
|
+
# @param actual_html [String] the html to compare to
|
229
|
+
# @param expected_tag [String,Symbol] the HTML tag, used to send a method call
|
230
|
+
# @param opts keyword options passed to the tag method call
|
231
|
+
# @yield block passed to the tag method call.
|
232
|
+
# @return [void]
|
233
|
+
def assert_html(actual_html, expected_tag, **opts, &block)
|
234
|
+
expected_html = Scarpe::Components::HTML.render do |h|
|
235
|
+
h.public_send(expected_tag, opts, &block)
|
236
|
+
end
|
237
|
+
|
238
|
+
assert_equal expected_html, actual_html
|
239
|
+
end
|
240
|
+
|
241
|
+
# Assert that `actual_html` includes `expected_tag` with `opts`.
|
242
|
+
# This uses Scarpe's HTML tag-based renderer to render the tag and options
|
243
|
+
# into text, and valides that the full HTML contains that tag.
|
244
|
+
#
|
245
|
+
# @see Scarpe::Components::HTML.render
|
246
|
+
#
|
247
|
+
# @param actual_html [String] the html to compare to
|
248
|
+
# @param expected_tag [String,Symbol] the HTML tag, used to send a method call
|
249
|
+
# @param opts keyword options passed to the tag method call
|
250
|
+
# @yield block passed to the tag method call.
|
251
|
+
# @return [void]
|
252
|
+
def assert_contains_html(actual_html, expected_tag, **opts, &block)
|
253
|
+
expected_html = Scarpe::Components::HTML.render do |h|
|
254
|
+
h.public_send(expected_tag, opts, &block)
|
255
|
+
end
|
256
|
+
|
257
|
+
assert actual_html.include?(expected_html), "Expected #{actual_html.inspect} to include #{expected_html.inspect}!"
|
258
|
+
end
|
259
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scarpe-components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Concetto Rudilosso
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-05-06 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email:
|
@@ -20,14 +20,59 @@ extensions: []
|
|
20
20
|
extra_rdoc_files: []
|
21
21
|
files:
|
22
22
|
- Gemfile
|
23
|
+
- Gemfile.lock
|
23
24
|
- README.md
|
24
25
|
- Rakefile
|
26
|
+
- assets/bootstrap-themes/bootstrap-cerulean.css
|
27
|
+
- assets/bootstrap-themes/bootstrap-cosmo.css
|
28
|
+
- assets/bootstrap-themes/bootstrap-cyborg.css
|
29
|
+
- assets/bootstrap-themes/bootstrap-darkly.css
|
30
|
+
- assets/bootstrap-themes/bootstrap-flatly.css
|
31
|
+
- assets/bootstrap-themes/bootstrap-icons.min.css
|
32
|
+
- assets/bootstrap-themes/bootstrap-journal.css
|
33
|
+
- assets/bootstrap-themes/bootstrap-litera.css
|
34
|
+
- assets/bootstrap-themes/bootstrap-lumen.css
|
35
|
+
- assets/bootstrap-themes/bootstrap-lux.css
|
36
|
+
- assets/bootstrap-themes/bootstrap-materia.css
|
37
|
+
- assets/bootstrap-themes/bootstrap-minty.css
|
38
|
+
- assets/bootstrap-themes/bootstrap-morph.css
|
39
|
+
- assets/bootstrap-themes/bootstrap-pulse.css
|
40
|
+
- assets/bootstrap-themes/bootstrap-quartz.css
|
41
|
+
- assets/bootstrap-themes/bootstrap-sandstone.css
|
42
|
+
- assets/bootstrap-themes/bootstrap-simplex.css
|
43
|
+
- assets/bootstrap-themes/bootstrap-sketchy.css
|
44
|
+
- assets/bootstrap-themes/bootstrap-slate.css
|
45
|
+
- assets/bootstrap-themes/bootstrap-solar.css
|
46
|
+
- assets/bootstrap-themes/bootstrap-spacelab.css
|
47
|
+
- assets/bootstrap-themes/bootstrap-superhero.css
|
48
|
+
- assets/bootstrap-themes/bootstrap-united.css
|
49
|
+
- assets/bootstrap-themes/bootstrap-vapor.css
|
50
|
+
- assets/bootstrap-themes/bootstrap-yeti.css
|
51
|
+
- assets/bootstrap-themes/bootstrap-zephyr.css
|
52
|
+
- assets/bootstrap-themes/bootstrap.bundle.min.js
|
53
|
+
- lib/scarpe/components/asset_server.rb
|
25
54
|
- lib/scarpe/components/base64.rb
|
55
|
+
- lib/scarpe/components/calzini.rb
|
56
|
+
- lib/scarpe/components/calzini/alert.rb
|
57
|
+
- lib/scarpe/components/calzini/art_drawables.rb
|
58
|
+
- lib/scarpe/components/calzini/border.rb
|
59
|
+
- lib/scarpe/components/calzini/button.rb
|
60
|
+
- lib/scarpe/components/calzini/misc.rb
|
61
|
+
- lib/scarpe/components/calzini/para.rb
|
62
|
+
- lib/scarpe/components/calzini/slots.rb
|
63
|
+
- lib/scarpe/components/errors.rb
|
26
64
|
- lib/scarpe/components/file_helpers.rb
|
65
|
+
- lib/scarpe/components/html.rb
|
66
|
+
- lib/scarpe/components/minitest_export_reporter.rb
|
67
|
+
- lib/scarpe/components/minitest_import_runnable.rb
|
68
|
+
- lib/scarpe/components/minitest_result.rb
|
27
69
|
- lib/scarpe/components/modular_logger.rb
|
28
70
|
- lib/scarpe/components/print_logger.rb
|
71
|
+
- lib/scarpe/components/process_helpers.rb
|
29
72
|
- lib/scarpe/components/promises.rb
|
30
73
|
- lib/scarpe/components/segmented_file_loader.rb
|
74
|
+
- lib/scarpe/components/string_helpers.rb
|
75
|
+
- lib/scarpe/components/tiranti.rb
|
31
76
|
- lib/scarpe/components/unit_test_helpers.rb
|
32
77
|
- lib/scarpe/components/version.rb
|
33
78
|
homepage: https://github.com/scarpe-team/scarpe
|
@@ -35,7 +80,6 @@ licenses:
|
|
35
80
|
- MIT
|
36
81
|
metadata:
|
37
82
|
homepage_uri: https://github.com/scarpe-team/scarpe
|
38
|
-
source_code_uri: https://github.com/scarpe-team/scarpe
|
39
83
|
changelog_uri: https://github.com/scarpe-team/scarpe/blob/main/CHANGELOG.md
|
40
84
|
post_install_message:
|
41
85
|
rdoc_options: []
|
@@ -52,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
52
96
|
- !ruby/object:Gem::Version
|
53
97
|
version: '0'
|
54
98
|
requirements: []
|
55
|
-
rubygems_version: 3.
|
99
|
+
rubygems_version: 3.5.3
|
56
100
|
signing_key:
|
57
101
|
specification_version: 4
|
58
102
|
summary: Reusable components for Scarpe display libraries
|