sass 3.5.2 → 3.7.4

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +1 -1
  3. data/CONTRIBUTING.md +3 -3
  4. data/README.md +17 -9
  5. data/VERSION +1 -1
  6. data/VERSION_DATE +1 -1
  7. data/extra/sass-spec-ref.sh +9 -1
  8. data/lib/sass/engine.rb +1 -9
  9. data/lib/sass/exec/base.rb +0 -2
  10. data/lib/sass/exec/sass_scss.rb +1 -5
  11. data/lib/sass/importers/filesystem.rb +4 -2
  12. data/lib/sass/logger/base.rb +11 -0
  13. data/lib/sass/script/css_parser.rb +4 -1
  14. data/lib/sass/script/functions.rb +76 -41
  15. data/lib/sass/script/lexer.rb +62 -19
  16. data/lib/sass/script/parser.rb +260 -93
  17. data/lib/sass/script/tree/funcall.rb +0 -4
  18. data/lib/sass/script/tree/interpolation.rb +0 -3
  19. data/lib/sass/script/tree/operation.rb +1 -1
  20. data/lib/sass/script/value/color.rb +3 -2
  21. data/lib/sass/script/value/helpers.rb +8 -2
  22. data/lib/sass/script/value/number.rb +2 -1
  23. data/lib/sass/scss/css_parser.rb +6 -1
  24. data/lib/sass/scss/parser.rb +48 -18
  25. data/lib/sass/scss/rx.rb +1 -1
  26. data/lib/sass/scss/static_parser.rb +15 -18
  27. data/lib/sass/selector/comma_sequence.rb +2 -1
  28. data/lib/sass/selector/pseudo.rb +1 -1
  29. data/lib/sass/selector/sequence.rb +0 -4
  30. data/lib/sass/source/map.rb +0 -4
  31. data/lib/sass/tree/rule_node.rb +3 -6
  32. data/lib/sass/tree/visitors/perform.rb +2 -6
  33. data/lib/sass/tree/visitors/to_css.rb +4 -11
  34. data/lib/sass/util.rb +60 -20
  35. data/lib/sass/version.rb +0 -2
  36. metadata +38 -162
  37. data/Rakefile +0 -338
  38. data/lib/test.css +0 -4
  39. data/lib/test.css.map +0 -7
  40. data/test/sass-spec.yml +0 -3
  41. data/test/sass/cache_test.rb +0 -130
  42. data/test/sass/callbacks_test.rb +0 -60
  43. data/test/sass/compiler_test.rb +0 -225
  44. data/test/sass/conversion_test.rb +0 -2138
  45. data/test/sass/css2sass_test.rb +0 -523
  46. data/test/sass/css_variable_test.rb +0 -237
  47. data/test/sass/data/hsl-rgb.txt +0 -319
  48. data/test/sass/encoding_test.rb +0 -188
  49. data/test/sass/engine_test.rb +0 -3499
  50. data/test/sass/exec_test.rb +0 -95
  51. data/test/sass/extend_test.rb +0 -1678
  52. data/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  53. data/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  54. data/test/sass/functions_test.rb +0 -2021
  55. data/test/sass/importer_test.rb +0 -420
  56. data/test/sass/logger_test.rb +0 -57
  57. data/test/sass/mock_importer.rb +0 -49
  58. data/test/sass/more_results/more1.css +0 -9
  59. data/test/sass/more_results/more1_with_line_comments.css +0 -26
  60. data/test/sass/more_results/more_import.css +0 -29
  61. data/test/sass/more_templates/_more_partial.sass +0 -2
  62. data/test/sass/more_templates/more1.sass +0 -23
  63. data/test/sass/more_templates/more_import.sass +0 -11
  64. data/test/sass/plugin_test.rb +0 -552
  65. data/test/sass/results/alt.css +0 -4
  66. data/test/sass/results/basic.css +0 -9
  67. data/test/sass/results/cached_import_option.css +0 -3
  68. data/test/sass/results/compact.css +0 -5
  69. data/test/sass/results/complex.css +0 -86
  70. data/test/sass/results/compressed.css +0 -1
  71. data/test/sass/results/expanded.css +0 -19
  72. data/test/sass/results/filename_fn.css +0 -3
  73. data/test/sass/results/if.css +0 -3
  74. data/test/sass/results/import.css +0 -31
  75. data/test/sass/results/import_charset.css +0 -5
  76. data/test/sass/results/import_charset_ibm866.css +0 -5
  77. data/test/sass/results/import_content.css +0 -1
  78. data/test/sass/results/line_numbers.css +0 -49
  79. data/test/sass/results/mixins.css +0 -95
  80. data/test/sass/results/multiline.css +0 -24
  81. data/test/sass/results/nested.css +0 -22
  82. data/test/sass/results/options.css +0 -1
  83. data/test/sass/results/parent_ref.css +0 -13
  84. data/test/sass/results/script.css +0 -16
  85. data/test/sass/results/scss_import.css +0 -31
  86. data/test/sass/results/scss_importee.css +0 -2
  87. data/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  88. data/test/sass/results/subdir/subdir.css +0 -3
  89. data/test/sass/results/units.css +0 -11
  90. data/test/sass/results/warn.css +0 -0
  91. data/test/sass/results/warn_imported.css +0 -0
  92. data/test/sass/script_conversion_test.rb +0 -365
  93. data/test/sass/script_test.rb +0 -1429
  94. data/test/sass/scss/css_test.rb +0 -1266
  95. data/test/sass/scss/rx_test.rb +0 -159
  96. data/test/sass/scss/scss_test.rb +0 -4238
  97. data/test/sass/scss/test_helper.rb +0 -37
  98. data/test/sass/source_map_test.rb +0 -1052
  99. data/test/sass/superselector_test.rb +0 -209
  100. data/test/sass/templates/_cached_import_option_partial.scss +0 -1
  101. data/test/sass/templates/_double_import_loop2.sass +0 -1
  102. data/test/sass/templates/_filename_fn_import.scss +0 -11
  103. data/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  104. data/test/sass/templates/_imported_charset_utf8.sass +0 -4
  105. data/test/sass/templates/_imported_content.sass +0 -3
  106. data/test/sass/templates/_partial.sass +0 -2
  107. data/test/sass/templates/_same_name_different_partiality.scss +0 -1
  108. data/test/sass/templates/alt.sass +0 -16
  109. data/test/sass/templates/basic.sass +0 -23
  110. data/test/sass/templates/bork1.sass +0 -2
  111. data/test/sass/templates/bork2.sass +0 -2
  112. data/test/sass/templates/bork3.sass +0 -2
  113. data/test/sass/templates/bork4.sass +0 -2
  114. data/test/sass/templates/bork5.sass +0 -3
  115. data/test/sass/templates/cached_import_option.scss +0 -3
  116. data/test/sass/templates/compact.sass +0 -17
  117. data/test/sass/templates/complex.sass +0 -305
  118. data/test/sass/templates/compressed.sass +0 -15
  119. data/test/sass/templates/double_import_loop1.sass +0 -1
  120. data/test/sass/templates/expanded.sass +0 -17
  121. data/test/sass/templates/filename_fn.scss +0 -18
  122. data/test/sass/templates/if.sass +0 -11
  123. data/test/sass/templates/import.sass +0 -12
  124. data/test/sass/templates/import_charset.sass +0 -9
  125. data/test/sass/templates/import_charset_ibm866.sass +0 -11
  126. data/test/sass/templates/import_content.sass +0 -4
  127. data/test/sass/templates/importee.less +0 -2
  128. data/test/sass/templates/importee.sass +0 -19
  129. data/test/sass/templates/line_numbers.sass +0 -13
  130. data/test/sass/templates/mixin_bork.sass +0 -5
  131. data/test/sass/templates/mixins.sass +0 -76
  132. data/test/sass/templates/multiline.sass +0 -20
  133. data/test/sass/templates/nested.sass +0 -25
  134. data/test/sass/templates/nested_bork1.sass +0 -2
  135. data/test/sass/templates/nested_bork2.sass +0 -2
  136. data/test/sass/templates/nested_bork3.sass +0 -2
  137. data/test/sass/templates/nested_bork4.sass +0 -2
  138. data/test/sass/templates/nested_import.sass +0 -2
  139. data/test/sass/templates/nested_mixin_bork.sass +0 -6
  140. data/test/sass/templates/options.sass +0 -2
  141. data/test/sass/templates/parent_ref.sass +0 -25
  142. data/test/sass/templates/same_name_different_ext.sass +0 -2
  143. data/test/sass/templates/same_name_different_ext.scss +0 -1
  144. data/test/sass/templates/same_name_different_partiality.scss +0 -1
  145. data/test/sass/templates/script.sass +0 -101
  146. data/test/sass/templates/scss_import.scss +0 -12
  147. data/test/sass/templates/scss_importee.scss +0 -1
  148. data/test/sass/templates/single_import_loop.sass +0 -1
  149. data/test/sass/templates/subdir/import_up1.scss +0 -1
  150. data/test/sass/templates/subdir/import_up2.scss +0 -1
  151. data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  152. data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  153. data/test/sass/templates/subdir/subdir.sass +0 -6
  154. data/test/sass/templates/units.sass +0 -11
  155. data/test/sass/templates/warn.sass +0 -3
  156. data/test/sass/templates/warn_imported.sass +0 -4
  157. data/test/sass/test_helper.rb +0 -8
  158. data/test/sass/util/multibyte_string_scanner_test.rb +0 -152
  159. data/test/sass/util/normalized_map_test.rb +0 -50
  160. data/test/sass/util/subset_map_test.rb +0 -90
  161. data/test/sass/util_test.rb +0 -403
  162. data/test/sass/value_helpers_test.rb +0 -178
  163. data/test/test_helper.rb +0 -149
@@ -1,15 +0,0 @@
1
- #main
2
- width: 15em
3
- color: #0000ff
4
- p
5
- border:
6
- style: dotted
7
- width: 2px
8
- .cool
9
- width: 100px
10
-
11
- #left
12
- font:
13
- size: 2em
14
- weight: bold
15
- float: left
@@ -1 +0,0 @@
1
- @import "double_import_loop2"
@@ -1,17 +0,0 @@
1
- #main
2
- width: 15em
3
- color: #0000ff
4
- p
5
- border:
6
- style: dotted
7
- /* Nested comment
8
- More nested stuff
9
- width: 2px
10
- .cool
11
- width: 100px
12
-
13
- #left
14
- font:
15
- size: 2em
16
- weight: bold
17
- float: left
@@ -1,18 +0,0 @@
1
- @import "filename_fn_import";
2
-
3
- @mixin local-mixin {
4
- local-mixin: filename();
5
- }
6
-
7
- @function local-function() {
8
- @return filename();
9
- }
10
-
11
- filename {
12
- local: filename();
13
- @include local-mixin;
14
- local-function: local-function();
15
-
16
- @include imported-mixin;
17
- imported-function: imported-function();
18
- }
@@ -1,11 +0,0 @@
1
- a
2
- @if true
3
- branch: if
4
- @else
5
- branch: else
6
-
7
- b
8
- @if false
9
- branch: if
10
- @else
11
- branch: else
@@ -1,12 +0,0 @@
1
- $preconst: hello
2
-
3
- =premixin
4
- pre-mixin: here
5
-
6
- @import importee.sass, scss_importee, "basic.sass", basic.css, ../results/complex.css
7
- @import partial.sass
8
-
9
- nonimported
10
- myconst: $preconst
11
- otherconst: $postconst
12
- +postmixin
@@ -1,9 +0,0 @@
1
- .foo
2
- a: b
3
-
4
- @import "foo.css"
5
-
6
- // Even though the imported file is in IBM866,
7
- // since the root file is in UTF-8/ASCII
8
- // the output will end up being UTF-8.
9
- @import "imported_charset_ibm866"
@@ -1,11 +0,0 @@
1
- @charset "IBM866"
2
-
3
- .foo
4
- a: b
5
-
6
- @import "foo.css"
7
-
8
- // Even though the imported file is in UTF-8,
9
- // since the root file is in IBM866
10
- // the output will end up being IBM866.
11
- @import "imported_charset_utf8"
@@ -1,4 +0,0 @@
1
- @import imported_content
2
-
3
- @include foo
4
- b: c
@@ -1,2 +0,0 @@
1
- .foo {a: b}
2
- .bar () {c: d}
@@ -1,19 +0,0 @@
1
- $postconst: goodbye
2
-
3
- =postmixin
4
- post-mixin: here
5
-
6
- imported
7
- otherconst: $preconst
8
- myconst: $postconst
9
- +premixin
10
-
11
- @import basic
12
-
13
- midrule
14
- inthe: middle
15
-
16
- =crazymixin
17
- foo: bar
18
- baz
19
- blat: bang
@@ -1,13 +0,0 @@
1
- foo
2
- bar: baz
3
-
4
- =premixin
5
- squggle
6
- blat: bang
7
-
8
- $preconst: 12
9
-
10
- @import importee
11
-
12
- umph
13
- +crazymixin
@@ -1,5 +0,0 @@
1
- =outer-mixin
2
- +error-mixin
3
-
4
- foo
5
- +outer-mixin
@@ -1,76 +0,0 @@
1
- $yellow: #fc0
2
-
3
- =bordered
4
- border:
5
- top:
6
- width: 2px
7
- color: $yellow
8
- left:
9
- width: 1px
10
- color: #000
11
- -moz-border-radius: 10px
12
-
13
- =header-font
14
- color: #f00
15
- font:
16
- size: 20px
17
-
18
- =compound
19
- +header-font
20
- +bordered
21
-
22
- =complex
23
- +header-font
24
- text:
25
- decoration: none
26
- &:after
27
- content: "."
28
- display: block
29
- height: 0
30
- clear: both
31
- visibility: hidden
32
- * html &
33
- height: 1px
34
- +header-font
35
- =deep
36
- a:hover
37
- text-decoration: underline
38
- +compound
39
-
40
-
41
- #main
42
- width: 15em
43
- color: #0000ff
44
- p
45
- +bordered
46
- border:
47
- style: dotted
48
- width: 2px
49
- .cool
50
- width: 100px
51
-
52
- #left
53
- +bordered
54
- font:
55
- size: 2em
56
- weight: bold
57
- float: left
58
-
59
- #right
60
- +bordered
61
- +header-font
62
- float: right
63
-
64
- .bordered
65
- +bordered
66
-
67
- .complex
68
- +complex
69
-
70
- .more-complex
71
- +complex
72
- +deep
73
- display: inline
74
- -webkit-nonsense:
75
- top-right: 1px
76
- bottom-left: 1px
@@ -1,20 +0,0 @@
1
- #main,
2
- #header
3
- height: 50px
4
- div
5
- width: 100px
6
- a,
7
- em
8
- span
9
- color: pink
10
-
11
- #one,
12
- #two,
13
- #three
14
- div.nested,
15
- span.nested,
16
- p.nested
17
- font:
18
- weight: bold
19
- border-color: red
20
- display: block
@@ -1,25 +0,0 @@
1
- #main
2
- width: 15em
3
- color: #0000ff
4
- p
5
- border:
6
- style: dotted
7
- /* Nested comment
8
- More nested stuff
9
- width: 2px
10
- .cool
11
- width: 100px
12
-
13
- #left
14
- font:
15
- size: 2em
16
- weight: bold
17
- float: left
18
-
19
- #right
20
- .header
21
- border-style: solid
22
- .body
23
- border-style: dotted
24
- .footer
25
- border-style: dashed
@@ -1,2 +0,0 @@
1
-
2
- @import bork1
@@ -1,2 +0,0 @@
1
-
2
- @import bork2
@@ -1,2 +0,0 @@
1
-
2
- @import bork3
@@ -1,2 +0,0 @@
1
-
2
- @import bork4
@@ -1,2 +0,0 @@
1
- .foo
2
- @import basic
@@ -1,6 +0,0 @@
1
-
2
-
3
- =error-mixin
4
- width: 1px * 1em
5
-
6
- @import mixin_bork
@@ -1,2 +0,0 @@
1
- foo
2
- style: option("style")
@@ -1,25 +0,0 @@
1
- a
2
- color: #000
3
- &:hover
4
- color: #f00
5
-
6
- p, div
7
- width: 100em
8
- & foo
9
- width: 10em
10
- &:hover, bar
11
- height: 20em
12
-
13
- #cool
14
- border:
15
- style: solid
16
- width: 2em
17
- .ie7 &, .ie6 &
18
- content: string("Totally not cool.")
19
- .firefox &
20
- content: string("Quite cool.")
21
-
22
- .wow, .snazzy
23
- font-family: fantasy
24
- &:hover, &:visited
25
- font-weight: bold
@@ -1,2 +0,0 @@
1
- .foo
2
- ext: sass
@@ -1 +0,0 @@
1
- .foo {ext: scss}
@@ -1 +0,0 @@
1
- .foo {partial: no}
@@ -1,101 +0,0 @@
1
- $width: 10em + 20
2
- $color: #00ff98
3
- $main_text: #ffa
4
- $num: 10
5
- $dec: 10.2
6
- $dec_0: 99.0
7
- $neg: -10
8
- $esc: 10\+12
9
- $str: Hello\!
10
- $qstr: "Quo\"ted\"!"
11
- $hstr: Hyph-en\!
12
- $space: #{5 + 4} hi there
13
- $percent: 11%
14
- $complex: 1px/1em
15
-
16
- #main
17
- content: $str
18
- qstr: $qstr
19
- hstr: $hstr
20
- width: $width
21
- background-color: #000
22
- color: $main_text
23
- short-color: #123
24
- named-color: olive
25
- con: "foo" bar ($space "boom")
26
- con2: "noquo" quo
27
- #sidebar
28
- background-color: $color
29
- num:
30
- normal: $num
31
- dec: $dec
32
- dec0: $dec_0
33
- neg: $neg
34
- esc: $esc
35
- many: 1 + 2 + 3
36
- order: 1 + 2 * 3
37
- complex: ((1 + 2) + 15)+#3a8b9f + (hi+(1 +1+ 2)* 4)
38
-
39
- #plus
40
- num:
41
- num: 5+2
42
- num-un: 10em + 15em
43
- num-un2: 10 + 13em
44
- num-neg: 10 + -.13
45
- str: 100 * 1px
46
- col: 13 + #aaa
47
- perc: $percent + 20%
48
- str:
49
- str: "hi" + "\ there"
50
- str2: "hi" + " there"
51
- col: "14em solid " + #123
52
- num: "times: " + 13
53
- col:
54
- num: #f02 + 123.5
55
- col: #12A + #405162
56
-
57
- #minus
58
- num:
59
- num: 912 - 12
60
- col:
61
- num: #fffffa - 5.2
62
- col: #abcdef - #fedcba
63
- unary:
64
- num: -1
65
- const: -$neg
66
- paren: -(5 + 6)
67
- two: --12
68
- many: --------12
69
- crazy: -----(5 + ---$neg)
70
-
71
- #times
72
- num:
73
- num: 2 * 3.5
74
- col: 2 * #3a4b5c
75
- col:
76
- num: #12468a * 0.5
77
- col: #121212 * #020304
78
-
79
- #div
80
- num:
81
- num: (10 / 3.0)
82
- num2: (10 / 3)
83
- col:
84
- num: #12468a / 2
85
- col: #abcdef / #0f0f0f
86
- comp: $complex * 1em
87
-
88
- #mod
89
- num:
90
- num: 17 % 3
91
- col:
92
- col: #5f6e7d % #10200a
93
- num: #aaabac % 3
94
-
95
- #const
96
- escaped:
97
- quote: \$foo \!bar
98
- default: $str !important
99
-
100
- #regression
101
- a: (3 + 2) - 1