sass 3.4.15 → 3.4.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00cf7afef986f13c1fccaf0cf889a398d7b86910
4
- data.tar.gz: 34e170181ba5a960190d6e87f2e6707557383ed9
3
+ metadata.gz: 0dff26b06c7065753c46919a6edcabb5eba41d14
4
+ data.tar.gz: 55acb3b26ba3d248bdf3e2e3e1c8263e41405faa
5
5
  SHA512:
6
- metadata.gz: 363cd78182ff5dd174b78914436f98cd7c14bb60418103a0f1a46392aa3ef6daf5cd0c09e9ca43ce3b3762ca90046d3d31ee0246f3beaa52ee35828d4306be27
7
- data.tar.gz: 231f3556d06f74cd61b355cfb4143549100bb01efd944de3b781e6f256d6feed534582460f9abfcc9ec994cd901bdfcbf110019eb6db33e11b8794483d38bcad
6
+ metadata.gz: 8d763cdfcb6c8b78626b39101f0d92cc48f2c038307f96de6929fcd5b51a3e7ec03f889e55b0dbb4cbfdfcd8848469476ad6950e9c41b40efd7f3bdefe36a31b
7
+ data.tar.gz: a5e4c150a05613f1a40fc3b7f380e62aa4e693aadf674b6361fad3205b126ce39bd9912ac21965e70997ffe0f52c29c0261bece728e6d374ce8ad735f1b93205
@@ -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.15
1
+ 3.4.16
@@ -1 +1 @@
1
- 23 June 2015 00:43:28 UTC
1
+ 10 July 2015 23:22:27 UTC
@@ -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}(?:#{IDENT}|%)?/
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" + super.join.rstrip + "\n"
30
+ "\n" + res.rstrip + "\n"
28
31
  else
29
- " {\n" + super.join.rstrip + "\n#{ @tab_chars * (@tabs - 1)}}\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
- Sass::Util.enum_cons(node.children + [nil], 2).map do |child, nxt|
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 + "\n"
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}\n"
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
@@ -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 = "~> 2.7"
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%;
@@ -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
@@ -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)
@@ -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.15
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-06-23 00:00:00.000000000 Z
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
- - ".yardopts"
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.4.5
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/superselector_test.rb
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/encoding_test.rb
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/css2sass_test.rb
408
+ - test/sass/script_conversion_test.rb
409
+ - test/sass/util_test.rb
410
410
  - test/sass/plugin_test.rb
411
- - test/sass/conversion_test.rb
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/callbacks_test.rb
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