sass 3.4.15 → 3.4.16
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/CODE_OF_CONDUCT.md +10 -0
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/scss/rx.rb +6 -6
- data/lib/sass/tree/visitors/convert.rb +27 -18
- data/lib/sass/util.rb +4 -1
- data/test/sass/conversion_test.rb +86 -0
- data/test/sass/css2sass_test.rb +17 -0
- data/test/sass/scss/rx_test.rb +4 -0
- data/test/sass/scss/scss_test.rb +9 -0
- metadata +30 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dff26b06c7065753c46919a6edcabb5eba41d14
|
4
|
+
data.tar.gz: 55acb3b26ba3d248bdf3e2e3e1c8263e41405faa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d763cdfcb6c8b78626b39101f0d92cc48f2c038307f96de6929fcd5b51a3e7ec03f889e55b0dbb4cbfdfcd8848469476ad6950e9c41b40efd7f3bdefe36a31b
|
7
|
+
data.tar.gz: a5e4c150a05613f1a40fc3b7f380e62aa4e693aadf674b6361fad3205b126ce39bd9912ac21965e70997ffe0f52c29c0261bece728e6d374ce8ad735f1b93205
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
Sass is more than a technology; Sass is driven by the community of individuals
|
2
|
+
that power its development and use every day. As a community, we want to embrace
|
3
|
+
the very differences that have made our collaboration so powerful, and work
|
4
|
+
together to provide the best environment for learning, growing, and sharing of
|
5
|
+
ideas. It is imperative that we keep Sass a fun, welcoming, challenging, and
|
6
|
+
fair place to play.
|
7
|
+
|
8
|
+
[The full community guidelines can be found on the Sass website.][link]
|
9
|
+
|
10
|
+
[link]: http://sass-lang.com/community-guidelines
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.16
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
10 July 2015 23:22:27 UTC
|
data/lib/sass/scss/rx.rb
CHANGED
@@ -96,8 +96,13 @@ module Sass
|
|
96
96
|
|
97
97
|
IMPORTANT = /!#{W}important/i
|
98
98
|
|
99
|
+
# A unit is like an IDENT, but disallows a hyphen followed by a digit.
|
100
|
+
# This allows "1px-2px" to be interpreted as subtraction rather than "1"
|
101
|
+
# with the unit "px-2px". It also allows "%".
|
102
|
+
UNIT = /-?#{NMSTART}(?:[a-zA-Z0-9_]|#{NONASCII}|#{ESCAPE}|-(?!\d))*|%/
|
103
|
+
|
99
104
|
UNITLESS_NUMBER = /(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?\d+)?/
|
100
|
-
NUMBER = /#{UNITLESS_NUMBER}(?:#{
|
105
|
+
NUMBER = /#{UNITLESS_NUMBER}(?:#{UNIT})?/
|
101
106
|
PERCENTAGE = /#{UNITLESS_NUMBER}%/
|
102
107
|
|
103
108
|
URI = /url\(#{W}(?:#{STRING}|#{URL})#{W}\)/i
|
@@ -123,11 +128,6 @@ module Sass
|
|
123
128
|
OPTIONAL = /!#{W}optional/i
|
124
129
|
IDENT_START = /-|#{NMSTART}/
|
125
130
|
|
126
|
-
# A unit is like an IDENT, but disallows a hyphen followed by a digit.
|
127
|
-
# This allows "1px-2px" to be interpreted as subtraction rather than "1"
|
128
|
-
# with the unit "px-2px". It also allows "%".
|
129
|
-
UNIT = /-?#{NMSTART}(?:[a-zA-Z0-9_]|#{NONASCII}|#{ESCAPE}|-(?!\d))*|%/
|
130
|
-
|
131
131
|
IDENT_HYPHEN_INTERP = /-(#\{)/
|
132
132
|
STRING1_NOINTERP = /\"((?:[^\n\r\f\\"#]|#(?!\{)|#{ESCAPE})*)\"/
|
133
133
|
STRING2_NOINTERP = /\'((?:[^\n\r\f\\'#]|#(?!\{)|#{ESCAPE})*)\'/
|
@@ -23,10 +23,13 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
23
23
|
def visit_children(parent)
|
24
24
|
@tabs += 1
|
25
25
|
return @format == :sass ? "\n" : " {}\n" if parent.children.empty?
|
26
|
+
|
27
|
+
res = visit_rule_level(parent.children)
|
28
|
+
|
26
29
|
if @format == :sass
|
27
|
-
"\n" +
|
30
|
+
"\n" + res.rstrip + "\n"
|
28
31
|
else
|
29
|
-
" {\n" +
|
32
|
+
" {\n" + res.rstrip + "\n#{ @tab_chars * (@tabs - 1)}}\n"
|
30
33
|
end
|
31
34
|
ensure
|
32
35
|
@tabs -= 1
|
@@ -34,20 +37,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
34
37
|
|
35
38
|
# Ensures proper spacing between top-level nodes.
|
36
39
|
def visit_root(node)
|
37
|
-
|
38
|
-
visit(child) +
|
39
|
-
if nxt &&
|
40
|
-
(child.is_a?(Sass::Tree::CommentNode) &&
|
41
|
-
child.line + child.lines + 1 == nxt.line) ||
|
42
|
-
(child.is_a?(Sass::Tree::ImportNode) && nxt.is_a?(Sass::Tree::ImportNode) &&
|
43
|
-
child.line + 1 == nxt.line) ||
|
44
|
-
(child.is_a?(Sass::Tree::VariableNode) && nxt.is_a?(Sass::Tree::VariableNode) &&
|
45
|
-
child.line + 1 == nxt.line)
|
46
|
-
""
|
47
|
-
else
|
48
|
-
"\n"
|
49
|
-
end
|
50
|
-
end.join.rstrip + "\n"
|
40
|
+
visit_rule_level(node.children)
|
51
41
|
end
|
52
42
|
|
53
43
|
def visit_charset(node)
|
@@ -104,7 +94,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
104
94
|
res = "#{tab_str}#{interp_to_src(node.value)}"
|
105
95
|
res.gsub!(/^@import \#\{(.*)\}([^}]*)$/, '@import \1\2')
|
106
96
|
return res + "#{semi}\n" unless node.has_children
|
107
|
-
res + yield
|
97
|
+
res + yield
|
108
98
|
end
|
109
99
|
|
110
100
|
def visit_each(node)
|
@@ -281,11 +271,30 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
281
271
|
end
|
282
272
|
|
283
273
|
def visit_keyframerule(node)
|
284
|
-
"#{tab_str}#{node.resolved_value}#{yield}
|
274
|
+
"#{tab_str}#{node.resolved_value}#{yield}"
|
285
275
|
end
|
286
276
|
|
287
277
|
private
|
288
278
|
|
279
|
+
# Visit rule-level nodes and return their conversion with appropriate
|
280
|
+
# whitespace added.
|
281
|
+
def visit_rule_level(nodes)
|
282
|
+
Sass::Util.enum_cons(nodes + [nil], 2).map do |child, nxt|
|
283
|
+
visit(child) +
|
284
|
+
if nxt &&
|
285
|
+
(child.is_a?(Sass::Tree::CommentNode) && child.line + child.lines + 1 == nxt.line) ||
|
286
|
+
(child.is_a?(Sass::Tree::ImportNode) && nxt.is_a?(Sass::Tree::ImportNode) &&
|
287
|
+
child.line + 1 == nxt.line) ||
|
288
|
+
(child.is_a?(Sass::Tree::VariableNode) && nxt.is_a?(Sass::Tree::VariableNode) &&
|
289
|
+
child.line + 1 == nxt.line) ||
|
290
|
+
(child.is_a?(Sass::Tree::PropNode) && nxt.is_a?(Sass::Tree::PropNode))
|
291
|
+
""
|
292
|
+
else
|
293
|
+
"\n"
|
294
|
+
end
|
295
|
+
end.join.rstrip + "\n"
|
296
|
+
end
|
297
|
+
|
289
298
|
def interp_to_src(interp)
|
290
299
|
interp.map {|r| r.is_a?(String) ? r : r.to_sass(@options)}.join
|
291
300
|
end
|
data/lib/sass/util.rb
CHANGED
@@ -571,6 +571,9 @@ module Sass
|
|
571
571
|
return @listen_geq_2 unless @listen_geq_2.nil?
|
572
572
|
@listen_geq_2 =
|
573
573
|
begin
|
574
|
+
# Make sure we're loading listen/version from the same place that
|
575
|
+
# we're loading listen itself.
|
576
|
+
load_listen!
|
574
577
|
require 'listen/version'
|
575
578
|
version_geq(::Listen::VERSION, '2.0.0')
|
576
579
|
rescue LoadError
|
@@ -1292,7 +1295,7 @@ module Sass
|
|
1292
1295
|
require 'listen'
|
1293
1296
|
rescue LoadError => e
|
1294
1297
|
if version_geq(RUBY_VERSION, "1.9.3")
|
1295
|
-
version_constraint = "~>
|
1298
|
+
version_constraint = "~> 3.0"
|
1296
1299
|
else
|
1297
1300
|
version_constraint = "~> 1.1"
|
1298
1301
|
end
|
@@ -43,6 +43,7 @@ foo bar
|
|
43
43
|
baz bang
|
44
44
|
baz: bang
|
45
45
|
bip: bop
|
46
|
+
|
46
47
|
blat: boo
|
47
48
|
SASS
|
48
49
|
foo bar {
|
@@ -50,6 +51,7 @@ foo bar {
|
|
50
51
|
baz: bang;
|
51
52
|
bip: bop;
|
52
53
|
}
|
54
|
+
|
53
55
|
blat: boo;
|
54
56
|
}
|
55
57
|
SCSS
|
@@ -310,17 +312,21 @@ SCSS
|
|
310
312
|
assert_renders <<SASS, <<SCSS
|
311
313
|
foo
|
312
314
|
bar: baz
|
315
|
+
|
313
316
|
// bip bop
|
314
317
|
// beep boop
|
315
318
|
bang: bizz
|
319
|
+
|
316
320
|
// bubble bubble
|
317
321
|
// toil trouble
|
318
322
|
SASS
|
319
323
|
foo {
|
320
324
|
bar: baz;
|
325
|
+
|
321
326
|
// bip bop
|
322
327
|
// beep boop
|
323
328
|
bang: bizz;
|
329
|
+
|
324
330
|
// bubble bubble
|
325
331
|
// toil trouble
|
326
332
|
}
|
@@ -329,10 +335,12 @@ SCSS
|
|
329
335
|
assert_sass_to_scss <<SCSS, <<SASS
|
330
336
|
foo {
|
331
337
|
bar: baz;
|
338
|
+
|
332
339
|
// bip bop
|
333
340
|
// beep boop
|
334
341
|
// bap blimp
|
335
342
|
bang: bizz;
|
343
|
+
|
336
344
|
// bubble bubble
|
337
345
|
// toil trouble
|
338
346
|
// gorp
|
@@ -340,10 +348,12 @@ foo {
|
|
340
348
|
SCSS
|
341
349
|
foo
|
342
350
|
bar: baz
|
351
|
+
|
343
352
|
// bip bop
|
344
353
|
beep boop
|
345
354
|
bap blimp
|
346
355
|
bang: bizz
|
356
|
+
|
347
357
|
// bubble bubble
|
348
358
|
toil trouble
|
349
359
|
gorp
|
@@ -443,17 +453,21 @@ SCSS
|
|
443
453
|
assert_renders <<SASS, <<SCSS
|
444
454
|
foo
|
445
455
|
bar: baz
|
456
|
+
|
446
457
|
/* bip bop
|
447
458
|
* beep boop
|
448
459
|
bang: bizz
|
460
|
+
|
449
461
|
/* bubble bubble
|
450
462
|
* toil trouble
|
451
463
|
SASS
|
452
464
|
foo {
|
453
465
|
bar: baz;
|
466
|
+
|
454
467
|
/* bip bop
|
455
468
|
* beep boop */
|
456
469
|
bang: bizz;
|
470
|
+
|
457
471
|
/* bubble bubble
|
458
472
|
* toil trouble */
|
459
473
|
}
|
@@ -462,10 +476,12 @@ SCSS
|
|
462
476
|
assert_sass_to_scss <<SCSS, <<SASS
|
463
477
|
foo {
|
464
478
|
bar: baz;
|
479
|
+
|
465
480
|
/* bip bop
|
466
481
|
* beep boop
|
467
482
|
* bap blimp */
|
468
483
|
bang: bizz;
|
484
|
+
|
469
485
|
/* bubble bubble
|
470
486
|
* toil trouble
|
471
487
|
* gorp */
|
@@ -473,10 +489,12 @@ foo {
|
|
473
489
|
SCSS
|
474
490
|
foo
|
475
491
|
bar: baz
|
492
|
+
|
476
493
|
/* bip bop
|
477
494
|
beep boop
|
478
495
|
bap blimp
|
479
496
|
bang: bizz
|
497
|
+
|
480
498
|
/* bubble bubble
|
481
499
|
toil trouble
|
482
500
|
gorp
|
@@ -613,10 +631,12 @@ SASS
|
|
613
631
|
assert_renders <<SASS, <<SCSS
|
614
632
|
foo
|
615
633
|
@debug 12px
|
634
|
+
|
616
635
|
bar: baz
|
617
636
|
SASS
|
618
637
|
foo {
|
619
638
|
@debug 12px;
|
639
|
+
|
620
640
|
bar: baz;
|
621
641
|
}
|
622
642
|
SCSS
|
@@ -626,10 +646,12 @@ SCSS
|
|
626
646
|
assert_renders <<SASS, <<SCSS
|
627
647
|
foo
|
628
648
|
@error "oh no!"
|
649
|
+
|
629
650
|
bar: baz
|
630
651
|
SASS
|
631
652
|
foo {
|
632
653
|
@error "oh no!";
|
654
|
+
|
633
655
|
bar: baz;
|
634
656
|
}
|
635
657
|
SCSS
|
@@ -639,10 +661,12 @@ SCSS
|
|
639
661
|
assert_renders <<SASS, <<SCSS
|
640
662
|
foo
|
641
663
|
@foo #bar "baz"
|
664
|
+
|
642
665
|
bar: baz
|
643
666
|
SASS
|
644
667
|
foo {
|
645
668
|
@foo #bar "baz";
|
669
|
+
|
646
670
|
bar: baz;
|
647
671
|
}
|
648
672
|
SCSS
|
@@ -674,6 +698,7 @@ foo
|
|
674
698
|
@foo #bar "baz"
|
675
699
|
#blat
|
676
700
|
a: b
|
701
|
+
|
677
702
|
.bang
|
678
703
|
c: d
|
679
704
|
e: f
|
@@ -685,6 +710,7 @@ foo {
|
|
685
710
|
#blat {
|
686
711
|
a: b;
|
687
712
|
}
|
713
|
+
|
688
714
|
.bang {
|
689
715
|
c: d;
|
690
716
|
e: f;
|
@@ -701,11 +727,14 @@ SCSS
|
|
701
727
|
foo
|
702
728
|
@foo #bar "baz"
|
703
729
|
g: h
|
730
|
+
|
704
731
|
#blat
|
705
732
|
a: b
|
733
|
+
|
706
734
|
.bang
|
707
735
|
c: d
|
708
736
|
e: f
|
737
|
+
|
709
738
|
i: j
|
710
739
|
|
711
740
|
bar: baz
|
@@ -713,13 +742,16 @@ SASS
|
|
713
742
|
foo {
|
714
743
|
@foo #bar "baz" {
|
715
744
|
g: h;
|
745
|
+
|
716
746
|
#blat {
|
717
747
|
a: b;
|
718
748
|
}
|
749
|
+
|
719
750
|
.bang {
|
720
751
|
c: d;
|
721
752
|
e: f;
|
722
753
|
}
|
754
|
+
|
723
755
|
i: j;
|
724
756
|
}
|
725
757
|
|
@@ -741,6 +773,7 @@ SCSS
|
|
741
773
|
foo
|
742
774
|
@for $a from $b to $c
|
743
775
|
a: b
|
776
|
+
|
744
777
|
@for $c from 1 to 16
|
745
778
|
d: e
|
746
779
|
f: g
|
@@ -749,6 +782,7 @@ foo {
|
|
749
782
|
@for $a from $b to $c {
|
750
783
|
a: b;
|
751
784
|
}
|
785
|
+
|
752
786
|
@for $c from 1 to 16 {
|
753
787
|
d: e;
|
754
788
|
f: g;
|
@@ -762,6 +796,7 @@ SCSS
|
|
762
796
|
foo
|
763
797
|
@while flaz($a + $b)
|
764
798
|
a: b
|
799
|
+
|
765
800
|
@while 1
|
766
801
|
d: e
|
767
802
|
f: g
|
@@ -770,6 +805,7 @@ foo {
|
|
770
805
|
@while flaz($a + $b) {
|
771
806
|
a: b;
|
772
807
|
}
|
808
|
+
|
773
809
|
@while 1 {
|
774
810
|
d: e;
|
775
811
|
f: g;
|
@@ -783,6 +819,7 @@ SCSS
|
|
783
819
|
foo
|
784
820
|
@if $foo or $bar
|
785
821
|
a: b
|
822
|
+
|
786
823
|
@if $baz
|
787
824
|
d: e
|
788
825
|
@else if $bang
|
@@ -794,6 +831,7 @@ foo {
|
|
794
831
|
@if $foo or $bar {
|
795
832
|
a: b;
|
796
833
|
}
|
834
|
+
|
797
835
|
@if $baz {
|
798
836
|
d: e;
|
799
837
|
}
|
@@ -939,10 +977,12 @@ SCSS
|
|
939
977
|
assert_renders <<SASS, <<SCSS
|
940
978
|
.foo
|
941
979
|
@extend .bar
|
980
|
+
|
942
981
|
@extend .baz:bang
|
943
982
|
SASS
|
944
983
|
.foo {
|
945
984
|
@extend .bar;
|
985
|
+
|
946
986
|
@extend .baz:bang;
|
947
987
|
}
|
948
988
|
SCSS
|
@@ -1041,10 +1081,12 @@ SASS
|
|
1041
1081
|
assert_renders <<SASS, <<SCSS
|
1042
1082
|
foo
|
1043
1083
|
+foo-bar
|
1084
|
+
|
1044
1085
|
a: blip
|
1045
1086
|
SASS
|
1046
1087
|
foo {
|
1047
1088
|
@include foo-bar;
|
1089
|
+
|
1048
1090
|
a: blip;
|
1049
1091
|
}
|
1050
1092
|
SCSS
|
@@ -1054,10 +1096,12 @@ SCSS
|
|
1054
1096
|
assert_renders <<SASS, <<SCSS
|
1055
1097
|
foo
|
1056
1098
|
+foo-bar(12px, "blaz")
|
1099
|
+
|
1057
1100
|
a: blip
|
1058
1101
|
SASS
|
1059
1102
|
foo {
|
1060
1103
|
@include foo-bar(12px, "blaz");
|
1104
|
+
|
1061
1105
|
a: blip;
|
1062
1106
|
}
|
1063
1107
|
SCSS
|
@@ -1067,12 +1111,16 @@ SCSS
|
|
1067
1111
|
assert_renders <<SASS, <<SCSS
|
1068
1112
|
foo
|
1069
1113
|
+foo-bar(12px, "blaz", $blip: blap, $bloop: blop)
|
1114
|
+
|
1070
1115
|
+foo-bar($blip: blap, $bloop: blop)
|
1116
|
+
|
1071
1117
|
a: blip
|
1072
1118
|
SASS
|
1073
1119
|
foo {
|
1074
1120
|
@include foo-bar(12px, "blaz", $blip: blap, $bloop: blop);
|
1121
|
+
|
1075
1122
|
@include foo-bar($blip: blap, $bloop: blop);
|
1123
|
+
|
1076
1124
|
a: blip;
|
1077
1125
|
}
|
1078
1126
|
SCSS
|
@@ -1082,10 +1130,12 @@ SCSS
|
|
1082
1130
|
assert_renders <<SASS, <<SCSS
|
1083
1131
|
foo
|
1084
1132
|
+foo-bar($a-b_c: val)
|
1133
|
+
|
1085
1134
|
a: blip
|
1086
1135
|
SASS
|
1087
1136
|
foo {
|
1088
1137
|
@include foo-bar($a-b_c: val);
|
1138
|
+
|
1089
1139
|
a: blip;
|
1090
1140
|
}
|
1091
1141
|
SCSS
|
@@ -1095,10 +1145,12 @@ SCSS
|
|
1095
1145
|
assert_renders <<SASS, <<SCSS
|
1096
1146
|
@function foo()
|
1097
1147
|
$var: 1 + 1
|
1148
|
+
|
1098
1149
|
@return $var
|
1099
1150
|
SASS
|
1100
1151
|
@function foo() {
|
1101
1152
|
$var: 1 + 1;
|
1153
|
+
|
1102
1154
|
@return $var;
|
1103
1155
|
}
|
1104
1156
|
SCSS
|
@@ -1138,12 +1190,14 @@ $var1: 12px + 15px
|
|
1138
1190
|
|
1139
1191
|
foo
|
1140
1192
|
$var2: flaz(#abcdef)
|
1193
|
+
|
1141
1194
|
val: $var1 $var2
|
1142
1195
|
SASS
|
1143
1196
|
$var1: 12px + 15px;
|
1144
1197
|
|
1145
1198
|
foo {
|
1146
1199
|
$var2: flaz(#abcdef);
|
1200
|
+
|
1147
1201
|
val: $var1 $var2;
|
1148
1202
|
}
|
1149
1203
|
SCSS
|
@@ -1155,12 +1209,14 @@ $var1: 12px + 15px !default
|
|
1155
1209
|
|
1156
1210
|
foo
|
1157
1211
|
$var2: flaz(#abcdef) !default
|
1212
|
+
|
1158
1213
|
val: $var1 $var2
|
1159
1214
|
SASS
|
1160
1215
|
$var1: 12px + 15px !default;
|
1161
1216
|
|
1162
1217
|
foo {
|
1163
1218
|
$var2: flaz(#abcdef) !default;
|
1219
|
+
|
1164
1220
|
val: $var1 $var2;
|
1165
1221
|
}
|
1166
1222
|
SCSS
|
@@ -1428,7 +1484,9 @@ SCSS
|
|
1428
1484
|
|
1429
1485
|
div {
|
1430
1486
|
foo: under-scored-fn($under-scored-var + "before\#{$another-under-scored-var}after");
|
1487
|
+
|
1431
1488
|
@include under-scored-mixin($passed-arg);
|
1489
|
+
|
1432
1490
|
selector-\#{$under-scored-interp}: bold;
|
1433
1491
|
}
|
1434
1492
|
|
@@ -1468,7 +1526,9 @@ $color: blue
|
|
1468
1526
|
=context($class, $color: red)
|
1469
1527
|
.\#{$class}
|
1470
1528
|
background-color: $color
|
1529
|
+
|
1471
1530
|
@content
|
1531
|
+
|
1472
1532
|
border-color: $color
|
1473
1533
|
|
1474
1534
|
+context(parent)
|
@@ -1480,7 +1540,9 @@ $color: blue;
|
|
1480
1540
|
@mixin context($class, $color: red) {
|
1481
1541
|
.\#{$class} {
|
1482
1542
|
background-color: $color;
|
1543
|
+
|
1483
1544
|
@content;
|
1545
|
+
|
1484
1546
|
border-color: $color;
|
1485
1547
|
}
|
1486
1548
|
}
|
@@ -1565,6 +1627,7 @@ foo bar
|
|
1565
1627
|
baz bang
|
1566
1628
|
baz: bang
|
1567
1629
|
bip: bop
|
1630
|
+
|
1568
1631
|
blat: boo
|
1569
1632
|
SASS
|
1570
1633
|
foo bar {
|
@@ -1572,6 +1635,7 @@ foo bar {
|
|
1572
1635
|
baz: bang;
|
1573
1636
|
bip: bop;
|
1574
1637
|
}
|
1638
|
+
|
1575
1639
|
blat: boo;
|
1576
1640
|
}
|
1577
1641
|
SCSS
|
@@ -1581,6 +1645,7 @@ foo bar
|
|
1581
1645
|
baz bang
|
1582
1646
|
baz: bang
|
1583
1647
|
bip: bop
|
1648
|
+
|
1584
1649
|
blat: boo
|
1585
1650
|
SASS
|
1586
1651
|
foo bar {
|
@@ -1588,6 +1653,7 @@ foo bar {
|
|
1588
1653
|
baz: bang;
|
1589
1654
|
bip: bop;
|
1590
1655
|
}
|
1656
|
+
|
1591
1657
|
blat: boo;
|
1592
1658
|
}
|
1593
1659
|
SCSS
|
@@ -1598,6 +1664,7 @@ foo bar {
|
|
1598
1664
|
baz: bang;
|
1599
1665
|
bip: bop;
|
1600
1666
|
}
|
1667
|
+
|
1601
1668
|
blat: boo;
|
1602
1669
|
}
|
1603
1670
|
SCSS
|
@@ -1605,6 +1672,7 @@ foo bar
|
|
1605
1672
|
baz bang
|
1606
1673
|
baz: bang
|
1607
1674
|
bip: bop
|
1675
|
+
|
1608
1676
|
blat: boo
|
1609
1677
|
SASS
|
1610
1678
|
|
@@ -1614,6 +1682,7 @@ foo bar {
|
|
1614
1682
|
baz: bang;
|
1615
1683
|
bip: bop;
|
1616
1684
|
}
|
1685
|
+
|
1617
1686
|
blat: boo;
|
1618
1687
|
}
|
1619
1688
|
SCSS
|
@@ -1621,6 +1690,7 @@ foo bar
|
|
1621
1690
|
baz bang
|
1622
1691
|
baz: bang
|
1623
1692
|
bip: bop
|
1693
|
+
|
1624
1694
|
blat: boo
|
1625
1695
|
SASS
|
1626
1696
|
|
@@ -1629,6 +1699,7 @@ foo bar
|
|
1629
1699
|
baz bang
|
1630
1700
|
baz: bang
|
1631
1701
|
bip: bop
|
1702
|
+
|
1632
1703
|
blat: boo
|
1633
1704
|
SASS
|
1634
1705
|
foo bar {
|
@@ -1636,6 +1707,7 @@ foo bar {
|
|
1636
1707
|
baz: bang;
|
1637
1708
|
bip: bop;
|
1638
1709
|
}
|
1710
|
+
|
1639
1711
|
blat: boo;
|
1640
1712
|
}
|
1641
1713
|
SCSS
|
@@ -1645,6 +1717,7 @@ foo bar
|
|
1645
1717
|
baz bang
|
1646
1718
|
baz: bang
|
1647
1719
|
bip: bop
|
1720
|
+
|
1648
1721
|
blat: boo
|
1649
1722
|
SASS
|
1650
1723
|
foo bar {
|
@@ -1652,6 +1725,7 @@ foo bar {
|
|
1652
1725
|
baz: bang;
|
1653
1726
|
bip: bop;
|
1654
1727
|
}
|
1728
|
+
|
1655
1729
|
blat: boo;
|
1656
1730
|
}
|
1657
1731
|
SCSS
|
@@ -1678,6 +1752,7 @@ SCSS
|
|
1678
1752
|
|
1679
1753
|
.foo
|
1680
1754
|
+foo($list...)
|
1755
|
+
|
1681
1756
|
+bar(1, $list...)
|
1682
1757
|
SASS
|
1683
1758
|
@mixin foo($args...) {
|
@@ -1690,6 +1765,7 @@ SASS
|
|
1690
1765
|
|
1691
1766
|
.foo {
|
1692
1767
|
@include foo($list...);
|
1768
|
+
|
1693
1769
|
@include bar(1, $list...);
|
1694
1770
|
}
|
1695
1771
|
SCSS
|
@@ -1703,6 +1779,7 @@ SCSS
|
|
1703
1779
|
|
1704
1780
|
.foo
|
1705
1781
|
+foo($list..., $map...)
|
1782
|
+
|
1706
1783
|
+foo(pos, $list..., $kwd: val, $map...)
|
1707
1784
|
SASS
|
1708
1785
|
@mixin foo($a: b, $c: d) {
|
@@ -1712,6 +1789,7 @@ SASS
|
|
1712
1789
|
|
1713
1790
|
.foo {
|
1714
1791
|
@include foo($list..., $map...);
|
1792
|
+
|
1715
1793
|
@include foo(pos, $list..., $kwd: val, $map...);
|
1716
1794
|
}
|
1717
1795
|
SCSS
|
@@ -1770,6 +1848,7 @@ SCSS
|
|
1770
1848
|
@at-root
|
1771
1849
|
.bar
|
1772
1850
|
a: b
|
1851
|
+
|
1773
1852
|
.baz
|
1774
1853
|
c: d
|
1775
1854
|
SASS
|
@@ -1778,6 +1857,7 @@ SASS
|
|
1778
1857
|
.bar {
|
1779
1858
|
a: b;
|
1780
1859
|
}
|
1860
|
+
|
1781
1861
|
.baz {
|
1782
1862
|
c: d;
|
1783
1863
|
}
|
@@ -1852,10 +1932,13 @@ SCSS
|
|
1852
1932
|
0%
|
1853
1933
|
top: 0
|
1854
1934
|
left: 0
|
1935
|
+
|
1855
1936
|
30%
|
1856
1937
|
top: 50px
|
1938
|
+
|
1857
1939
|
68%, 72%
|
1858
1940
|
left: 50px
|
1941
|
+
|
1859
1942
|
100%
|
1860
1943
|
top: 100px
|
1861
1944
|
left: 100%
|
@@ -1865,12 +1948,15 @@ SASS
|
|
1865
1948
|
top: 0;
|
1866
1949
|
left: 0;
|
1867
1950
|
}
|
1951
|
+
|
1868
1952
|
30% {
|
1869
1953
|
top: 50px;
|
1870
1954
|
}
|
1955
|
+
|
1871
1956
|
68%, 72% {
|
1872
1957
|
left: 50px;
|
1873
1958
|
}
|
1959
|
+
|
1874
1960
|
100% {
|
1875
1961
|
top: 100px;
|
1876
1962
|
left: 100%;
|
data/test/sass/css2sass_test.rb
CHANGED
@@ -24,10 +24,13 @@ SASS
|
|
24
24
|
assert_equal(<<SASS, css2sass(<<CSS))
|
25
25
|
li
|
26
26
|
display: none
|
27
|
+
|
27
28
|
a
|
28
29
|
text-decoration: none
|
30
|
+
|
29
31
|
span
|
30
32
|
color: yellow
|
33
|
+
|
31
34
|
&:hover
|
32
35
|
text-decoration: underline
|
33
36
|
SASS
|
@@ -117,6 +120,7 @@ span.turkey
|
|
117
120
|
|
118
121
|
#overhere
|
119
122
|
bored: sorta
|
123
|
+
|
120
124
|
/* it's for a good
|
121
125
|
* cause
|
122
126
|
better_than: thread_pools
|
@@ -168,12 +172,16 @@ CSS
|
|
168
172
|
assert_equal(<<SASS, css2sass(<<CSS))
|
169
173
|
hello
|
170
174
|
parent: true
|
175
|
+
|
171
176
|
there
|
172
177
|
parent: false
|
178
|
+
|
173
179
|
who
|
174
180
|
hoo: false
|
181
|
+
|
175
182
|
why
|
176
183
|
y: true
|
184
|
+
|
177
185
|
when
|
178
186
|
wen: nao
|
179
187
|
|
@@ -229,6 +237,7 @@ CSS
|
|
229
237
|
assert_equal(<<SASS, css2sass(<<CSS))
|
230
238
|
\\:focus
|
231
239
|
a: b
|
240
|
+
|
232
241
|
\\:foo
|
233
242
|
bar: baz
|
234
243
|
SASS
|
@@ -243,14 +252,17 @@ CSS
|
|
243
252
|
.bar!
|
244
253
|
.baz
|
245
254
|
a: b
|
255
|
+
|
246
256
|
.bip
|
247
257
|
c: d
|
258
|
+
|
248
259
|
.bar .bonk
|
249
260
|
e: f
|
250
261
|
|
251
262
|
.flip!
|
252
263
|
&.bar
|
253
264
|
a: b
|
265
|
+
|
254
266
|
&.baz
|
255
267
|
c: d
|
256
268
|
SASS
|
@@ -301,11 +313,13 @@ CSS
|
|
301
313
|
assert_equal(<<SASS, css2sass(<<CSS))
|
302
314
|
ul
|
303
315
|
width: 10px
|
316
|
+
|
304
317
|
div
|
305
318
|
width: 20px
|
306
319
|
|
307
320
|
article
|
308
321
|
width: 10px
|
322
|
+
|
309
323
|
p
|
310
324
|
width: 20px
|
311
325
|
SASS
|
@@ -328,6 +342,7 @@ CSS
|
|
328
342
|
assert_equal(<<SASS, css2sass(<<CSS))
|
329
343
|
a
|
330
344
|
color: red
|
345
|
+
|
331
346
|
> b
|
332
347
|
SASS
|
333
348
|
a {color: red}
|
@@ -378,6 +393,7 @@ CSS
|
|
378
393
|
.foo >
|
379
394
|
.bar
|
380
395
|
a: b
|
396
|
+
|
381
397
|
.baz
|
382
398
|
c: d
|
383
399
|
SASS
|
@@ -389,6 +405,7 @@ CSS
|
|
389
405
|
.foo
|
390
406
|
&::bar
|
391
407
|
a: b
|
408
|
+
|
392
409
|
&::baz
|
393
410
|
c: d
|
394
411
|
SASS
|
data/test/sass/scss/rx_test.rb
CHANGED
@@ -141,6 +141,10 @@ class ScssRxTest < MiniTest::Test
|
|
141
141
|
assert_equal "foo\\00007fbar", Sass::SCSS::RX.escape_ident("foo\177bar")
|
142
142
|
end
|
143
143
|
|
144
|
+
def test_no_static_hyphenated_units
|
145
|
+
assert_no_match STATIC_VALUE, "20px-20px"
|
146
|
+
end
|
147
|
+
|
144
148
|
private
|
145
149
|
|
146
150
|
def assert_match(rx, str)
|
data/test/sass/scss/scss_test.rb
CHANGED
@@ -457,6 +457,15 @@ foo {a: 1 + // flang }
|
|
457
457
|
SCSS
|
458
458
|
end
|
459
459
|
|
460
|
+
def test_static_hyphenated_unit
|
461
|
+
assert_equal <<CSS, render(<<SCSS)
|
462
|
+
foo {
|
463
|
+
a: 0px; }
|
464
|
+
CSS
|
465
|
+
foo {a: 10px-10px }
|
466
|
+
SCSS
|
467
|
+
end
|
468
|
+
|
460
469
|
## Nested Rules
|
461
470
|
|
462
471
|
def test_nested_rules
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Natalie Weizenbaum
|
@@ -10,48 +10,48 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-07-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yard
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 0.5.3
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - '>='
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 0.5.3
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: maruku
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - '>='
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: 0.5.9
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - '>='
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 0.5.9
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: minitest
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - '>='
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '5'
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - '>='
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '5'
|
57
57
|
description: |2
|
@@ -67,7 +67,8 @@ executables:
|
|
67
67
|
extensions: []
|
68
68
|
extra_rdoc_files: []
|
69
69
|
files:
|
70
|
-
-
|
70
|
+
- .yardopts
|
71
|
+
- CODE_OF_CONDUCT.md
|
71
72
|
- CONTRIBUTING.md
|
72
73
|
- MIT-LICENSE
|
73
74
|
- README.md
|
@@ -382,43 +383,43 @@ require_paths:
|
|
382
383
|
- lib
|
383
384
|
required_ruby_version: !ruby/object:Gem::Requirement
|
384
385
|
requirements:
|
385
|
-
- -
|
386
|
+
- - '>='
|
386
387
|
- !ruby/object:Gem::Version
|
387
388
|
version: 1.8.7
|
388
389
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
389
390
|
requirements:
|
390
|
-
- -
|
391
|
+
- - '>='
|
391
392
|
- !ruby/object:Gem::Version
|
392
393
|
version: '0'
|
393
394
|
requirements: []
|
394
395
|
rubyforge_project: sass
|
395
|
-
rubygems_version: 2.
|
396
|
+
rubygems_version: 2.2.2
|
396
397
|
signing_key:
|
397
398
|
specification_version: 4
|
398
399
|
summary: A powerful but elegant CSS compiler that makes CSS fun again.
|
399
400
|
test_files:
|
400
|
-
- test/sass/importer_test.rb
|
401
|
-
- test/sass/engine_test.rb
|
402
401
|
- test/sass/value_helpers_test.rb
|
403
|
-
- test/sass/
|
404
|
-
- test/sass/logger_test.rb
|
405
|
-
- test/sass/util_test.rb
|
402
|
+
- test/sass/conversion_test.rb
|
406
403
|
- test/sass/cache_test.rb
|
407
|
-
- test/sass/
|
404
|
+
- test/sass/script_test.rb
|
405
|
+
- test/sass/superselector_test.rb
|
406
|
+
- test/sass/callbacks_test.rb
|
408
407
|
- test/sass/source_map_test.rb
|
409
|
-
- test/sass/
|
408
|
+
- test/sass/script_conversion_test.rb
|
409
|
+
- test/sass/util_test.rb
|
410
410
|
- test/sass/plugin_test.rb
|
411
|
-
- test/sass/
|
412
|
-
- test/sass/util/subset_map_test.rb
|
413
|
-
- test/sass/util/multibyte_string_scanner_test.rb
|
414
|
-
- test/sass/util/normalized_map_test.rb
|
415
|
-
- test/sass/exec_test.rb
|
411
|
+
- test/sass/extend_test.rb
|
416
412
|
- test/sass/scss/rx_test.rb
|
417
|
-
- test/sass/scss/scss_test.rb
|
418
413
|
- test/sass/scss/css_test.rb
|
419
|
-
- test/sass/
|
414
|
+
- test/sass/scss/scss_test.rb
|
415
|
+
- test/sass/logger_test.rb
|
416
|
+
- test/sass/importer_test.rb
|
417
|
+
- test/sass/encoding_test.rb
|
418
|
+
- test/sass/engine_test.rb
|
419
|
+
- test/sass/exec_test.rb
|
420
|
+
- test/sass/util/normalized_map_test.rb
|
421
|
+
- test/sass/util/subset_map_test.rb
|
422
|
+
- test/sass/util/multibyte_string_scanner_test.rb
|
420
423
|
- test/sass/functions_test.rb
|
421
|
-
- test/sass/extend_test.rb
|
422
|
-
- test/sass/script_conversion_test.rb
|
423
|
-
- test/sass/script_test.rb
|
424
424
|
- test/sass/compiler_test.rb
|
425
|
+
- test/sass/css2sass_test.rb
|