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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/checker/css.rb +32 -3
  3. data/lib/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bef45a937249aac3b6f295ba3aa9c6ead134902e3dff6fd9f3ab09b33127f20
4
- data.tar.gz: b3862c3908414db153d931e0806aab02d64defef6d19118a7c395cfb5677e825
3
+ metadata.gz: bcbdb041cc4373fe9b76efa16bed98e2f3e33a772e7dadbd40eb8ef8ae385e01
4
+ data.tar.gz: 48b4976b8acb6a024e82f2f2d39317368a38d778a7743b4f59af63060a059a3c
5
5
  SHA512:
6
- metadata.gz: 18a1ce2ca358b0ae6fffb4611012d4b94b69e80147b33f26f86af6cd298ce9938c6e34f7b8705fbc99d08722b7e84deed0b46df3d386e09a82d05c3c284f1555
7
- data.tar.gz: '0833cd3ea0fca23e100be82e9b988a6db5a3b763c97fa261238f8f1beb6db71c746ce8a110a3a808f7a897b79f0909ae1b30fb00a7ea03c5304c44a301d9c90a'
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
- to_h['all'].dig(*keys.map(&:to_s)) rescue {}
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 /[^\s]+\(\s*\g<0>\s*(?:,\s*\g<0>)*\)|[^\s]+/
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
@@ -1,3 +1,3 @@
1
1
  module HtmlVersionHook
2
- VERSION = '1.14.0'
2
+ VERSION = '1.16.0'
3
3
  end
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.14.0
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: 2021-04-15 00:00:00.000000000 Z
11
+ date: 2022-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mumukit