File tree Expand file tree Collapse file tree 2 files changed +23
-3
lines changed
Expand file tree Collapse file tree 2 files changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -95,9 +95,9 @@ def self.count_selectors_of_rule(rule)
9595 private
9696
9797 def self . strip_comments ( s )
98- s . gsub ( /\/ \/ .*$/ , "" ) . gsub ( / \/ \* .* ?\* \/ /, "" )
98+ s . gsub ( /\/ \* .* ?\* \/ /m , "" )
9999 end
100100
101101 end
102102
103- end
103+ end
Original file line number Diff line number Diff line change @@ -9,4 +9,24 @@ class CssSplitterTest < ActiveSupport::TestCase
99 assert_equal CssSplitter ::Splitter . count_selectors_of_rule ( 'foo { color: baz; }' ) , 1
1010 assert_equal CssSplitter ::Splitter . count_selectors_of_rule ( 'foo, bar { color: baz; }' ) , 2
1111 end
12- end
12+
13+ test '#split_string_into_rules' do
14+ simple = "a{foo:bar;}b{baz:qux;}"
15+ assert_equal [ "a{foo:bar;}" , "b{baz:qux;}" ] , CssSplitter ::Splitter . split_string_into_rules ( simple )
16+ end
17+
18+ test '#split_string_into_rules for single line comments' do
19+ multi_line = "a{foo:bar;} /* comment p{bar:foo;} */ b{baz:qux;}"
20+ assert_equal [ "a{foo:bar;}" , " b{baz:qux;}" ] , CssSplitter ::Splitter . split_string_into_rules ( multi_line )
21+ end
22+
23+ test '#split_string_into_rules for multiline comments' do
24+ multi_line = "a{foo:bar;}\n /*\n Multiline comment p{bar:foo;}\n */\n b{baz:qux;}"
25+ assert_equal [ "a{foo:bar;}" , "\n \n b{baz:qux;}" ] , CssSplitter ::Splitter . split_string_into_rules ( multi_line )
26+ end
27+
28+ test '#split_string_into_rules for strings with protocol independent urls' do
29+ simple = "a{foo:url(//assets.server.com);}b{bar:url(//assets/server.com);}"
30+ assert_equal [ "a{foo:url(//assets.server.com);}" , "b{bar:url(//assets/server.com);}" ] , CssSplitter ::Splitter . split_string_into_rules ( simple )
31+ end
32+ end
You can’t perform that action at this time.
0 commit comments