mumuki-html-runner 1.14.0 → 1.16.0
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/lib/checker/css.rb +32 -3
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bcbdb041cc4373fe9b76efa16bed98e2f3e33a772e7dadbd40eb8ef8ae385e01
|
4
|
+
data.tar.gz: 48b4976b8acb6a024e82f2f2d39317368a38d778a7743b4f59af63060a059a3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0f32a90864e368d36a550b0c05a96a7f1016d76ade32c2651546b4cdf7adb28d104009c89e6de844cbae2e34c4d6260026543b24fc82e638678c1d5283ded75
|
7
|
+
data.tar.gz: bd526ba79d842c06f62ea014a5cf8704fdbfffd44918de58ef1d46e2c5883984a41f87a23e18384aa15557c44ff91335c8feeddaf48647a1cc6ec330f7651a4b
|
data/lib/checker/css.rb
CHANGED
@@ -1,18 +1,46 @@
|
|
1
1
|
class CssParser::Parser
|
2
2
|
def dig(*keys)
|
3
|
-
|
3
|
+
media = parse_media(keys)
|
4
|
+
selectors = get_selectors(keys)
|
5
|
+
selectors.unshift(media)
|
6
|
+
to_h(media).dig(*selectors) rescue {}
|
7
|
+
end
|
8
|
+
|
9
|
+
def parse_media(keys)
|
10
|
+
media = keys.map { |k| k.get_string_between_markers('@media_start', '@media_end') }
|
11
|
+
media.first || 'all'
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_selectors(keys)
|
15
|
+
keys.map { |k| k.remove_string_between_markers('@media_start', '@media_end:') }
|
4
16
|
end
|
5
17
|
end
|
6
18
|
|
7
19
|
class String
|
8
20
|
# Avoids properties like rgb(5, 10, 15) to be split
|
9
21
|
def css_values
|
10
|
-
scan
|
22
|
+
scan(/[^\s]+\(\s*\g<0>\s*(?:,\s*\g<0>)*\)|[^\s]+/).map(&:normalize_rgb_css_value)
|
23
|
+
end
|
24
|
+
|
25
|
+
def normalize_rgb_css_value
|
26
|
+
if starts_with?("rgb(")
|
27
|
+
gsub(" ", "")
|
28
|
+
else
|
29
|
+
self
|
30
|
+
end
|
11
31
|
end
|
12
32
|
|
13
33
|
def comma_separated_words
|
14
34
|
split(',').map(&:strip)
|
15
35
|
end
|
36
|
+
|
37
|
+
def get_string_between_markers(starter, ender)
|
38
|
+
self[/#{Regexp.escape(starter)}(.*?)#{Regexp.escape(ender)}/m, 1]
|
39
|
+
end
|
40
|
+
|
41
|
+
def remove_string_between_markers(starter, ender)
|
42
|
+
gsub(/#{starter}.*#{ender}/, '')
|
43
|
+
end
|
16
44
|
end
|
17
45
|
|
18
46
|
module Checker
|
@@ -57,7 +85,7 @@ module Checker
|
|
57
85
|
if inspection_value =~ COMMA_SEPARATED_INSPECTION_REGEX
|
58
86
|
comma_separated_values_match? inspection_value, actual_value
|
59
87
|
else
|
60
|
-
actual_value.css_values.include? inspection_value
|
88
|
+
actual_value.css_values.include? inspection_value.normalize_rgb_css_value
|
61
89
|
end
|
62
90
|
end
|
63
91
|
|
@@ -68,5 +96,6 @@ module Checker
|
|
68
96
|
def self.comma_separated_values_match?(inspection_value, actual_value)
|
69
97
|
inspection_value.comma_separated_words == actual_value.comma_separated_words
|
70
98
|
end
|
99
|
+
|
71
100
|
end
|
72
101
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mumuki-html-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Franco Leonardo Bulgarelli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mumukit
|