mumuki-html-runner 1.14.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
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