sass 3.4.25 → 3.5.0.pre.rc.1

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 (156) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/README.md +1 -1
  4. data/Rakefile +13 -157
  5. data/VERSION +1 -1
  6. data/VERSION_DATE +1 -1
  7. data/VERSION_NAME +1 -1
  8. data/lib/sass.rb +3 -10
  9. data/lib/sass/cache_stores/filesystem.rb +1 -1
  10. data/lib/sass/css.rb +2 -3
  11. data/lib/sass/engine.rb +46 -32
  12. data/lib/sass/environment.rb +27 -6
  13. data/lib/sass/error.rb +5 -5
  14. data/lib/sass/exec/base.rb +3 -12
  15. data/lib/sass/features.rb +1 -0
  16. data/lib/sass/importers/filesystem.rb +2 -2
  17. data/lib/sass/plugin.rb +1 -1
  18. data/lib/sass/plugin/compiler.rb +21 -51
  19. data/lib/sass/plugin/configuration.rb +1 -1
  20. data/lib/sass/plugin/rack.rb +3 -3
  21. data/lib/sass/plugin/staleness_checker.rb +3 -3
  22. data/lib/sass/railtie.rb +1 -1
  23. data/lib/sass/script.rb +3 -3
  24. data/lib/sass/script/functions.rb +238 -47
  25. data/lib/sass/script/lexer.rb +8 -6
  26. data/lib/sass/script/parser.rb +76 -75
  27. data/lib/sass/script/tree/funcall.rb +35 -30
  28. data/lib/sass/script/tree/list_literal.rb +23 -8
  29. data/lib/sass/script/tree/map_literal.rb +2 -2
  30. data/lib/sass/script/tree/node.rb +2 -10
  31. data/lib/sass/script/tree/operation.rb +16 -50
  32. data/lib/sass/script/value.rb +2 -0
  33. data/lib/sass/script/value/arg_list.rb +1 -1
  34. data/lib/sass/script/value/base.rb +20 -3
  35. data/lib/sass/script/value/callable.rb +25 -0
  36. data/lib/sass/script/value/color.rb +10 -10
  37. data/lib/sass/script/value/function.rb +19 -0
  38. data/lib/sass/script/value/helpers.rb +16 -7
  39. data/lib/sass/script/value/list.rb +33 -12
  40. data/lib/sass/script/value/map.rb +2 -2
  41. data/lib/sass/script/value/number.rb +3 -3
  42. data/lib/sass/script/value/string.rb +12 -5
  43. data/lib/sass/scss/parser.rb +101 -45
  44. data/lib/sass/scss/rx.rb +5 -11
  45. data/lib/sass/scss/static_parser.rb +0 -7
  46. data/lib/sass/selector.rb +4 -0
  47. data/lib/sass/selector/abstract_sequence.rb +5 -5
  48. data/lib/sass/selector/comma_sequence.rb +3 -15
  49. data/lib/sass/selector/pseudo.rb +4 -0
  50. data/lib/sass/selector/sequence.rb +30 -3
  51. data/lib/sass/selector/simple.rb +13 -7
  52. data/lib/sass/selector/simple_sequence.rb +1 -1
  53. data/lib/sass/shared.rb +3 -5
  54. data/lib/sass/source/map.rb +4 -4
  55. data/lib/sass/source/position.rb +4 -4
  56. data/lib/sass/stack.rb +21 -1
  57. data/lib/sass/tree/charset_node.rb +1 -1
  58. data/lib/sass/tree/comment_node.rb +1 -1
  59. data/lib/sass/tree/node.rb +3 -3
  60. data/lib/sass/tree/prop_node.rb +46 -54
  61. data/lib/sass/tree/rule_node.rb +7 -15
  62. data/lib/sass/tree/visitors/check_nesting.rb +1 -1
  63. data/lib/sass/tree/visitors/convert.rb +2 -3
  64. data/lib/sass/tree/visitors/cssize.rb +1 -10
  65. data/lib/sass/tree/visitors/deep_copy.rb +2 -2
  66. data/lib/sass/tree/visitors/perform.rb +23 -12
  67. data/lib/sass/tree/visitors/set_options.rb +1 -1
  68. data/lib/sass/tree/visitors/to_css.rb +46 -12
  69. data/lib/sass/util.rb +16 -321
  70. data/lib/sass/util/multibyte_string_scanner.rb +127 -131
  71. data/lib/sass/util/normalized_map.rb +1 -8
  72. data/lib/sass/version.rb +2 -2
  73. data/test/sass-spec.yml +1 -1
  74. data/test/sass/compiler_test.rb +4 -14
  75. data/test/sass/conversion_test.rb +113 -162
  76. data/test/sass/css2sass_test.rb +17 -19
  77. data/test/sass/css_variable_test.rb +176 -70
  78. data/test/sass/encoding_test.rb +2 -32
  79. data/test/sass/engine_test.rb +114 -65
  80. data/test/sass/extend_test.rb +37 -51
  81. data/test/sass/functions_test.rb +57 -15
  82. data/test/sass/importer_test.rb +2 -2
  83. data/test/sass/more_templates/more1.sass +10 -10
  84. data/test/sass/more_templates/more_import.sass +2 -2
  85. data/test/sass/plugin_test.rb +9 -12
  86. data/test/sass/script_conversion_test.rb +9 -0
  87. data/test/sass/script_test.rb +38 -48
  88. data/test/sass/scss/css_test.rb +5 -19
  89. data/test/sass/scss/scss_test.rb +58 -39
  90. data/test/sass/source_map_test.rb +26 -28
  91. data/test/sass/templates/_partial.sass +1 -1
  92. data/test/sass/templates/basic.sass +10 -10
  93. data/test/sass/templates/bork1.sass +1 -1
  94. data/test/sass/templates/bork5.sass +1 -1
  95. data/test/sass/templates/compact.sass +10 -10
  96. data/test/sass/templates/complex.sass +187 -187
  97. data/test/sass/templates/compressed.sass +10 -10
  98. data/test/sass/templates/expanded.sass +10 -10
  99. data/test/sass/templates/import.sass +2 -2
  100. data/test/sass/templates/importee.sass +3 -3
  101. data/test/sass/templates/mixins.sass +22 -22
  102. data/test/sass/templates/multiline.sass +4 -4
  103. data/test/sass/templates/nested.sass +13 -13
  104. data/test/sass/templates/parent_ref.sass +12 -12
  105. data/test/sass/templates/script.sass +70 -70
  106. data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +1 -1
  107. data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +2 -2
  108. data/test/sass/templates/subdir/subdir.sass +3 -3
  109. data/test/sass/templates/units.sass +10 -10
  110. data/test/sass/util/multibyte_string_scanner_test.rb +139 -149
  111. data/test/sass/util_test.rb +0 -36
  112. data/test/test_helper.rb +39 -0
  113. metadata +30 -57
  114. data/extra/sass-spec-ref.sh +0 -32
  115. data/lib/sass/deprecation.rb +0 -55
  116. data/lib/sass/script/css_variable_warning.rb +0 -52
  117. data/lib/sass/util/cross_platform_random.rb +0 -19
  118. data/lib/sass/util/ordered_hash.rb +0 -192
  119. data/test/sass/results/import_charset_1_8.css +0 -5
  120. data/test/sass/templates/import_charset_1_8.sass +0 -6
  121. data/vendor/listen/CHANGELOG.md +0 -1
  122. data/vendor/listen/CONTRIBUTING.md +0 -38
  123. data/vendor/listen/Gemfile +0 -20
  124. data/vendor/listen/Guardfile +0 -8
  125. data/vendor/listen/LICENSE +0 -20
  126. data/vendor/listen/README.md +0 -349
  127. data/vendor/listen/Rakefile +0 -5
  128. data/vendor/listen/Vagrantfile +0 -96
  129. data/vendor/listen/lib/listen.rb +0 -54
  130. data/vendor/listen/lib/listen/adapter.rb +0 -327
  131. data/vendor/listen/lib/listen/adapters/bsd.rb +0 -75
  132. data/vendor/listen/lib/listen/adapters/darwin.rb +0 -48
  133. data/vendor/listen/lib/listen/adapters/linux.rb +0 -81
  134. data/vendor/listen/lib/listen/adapters/polling.rb +0 -58
  135. data/vendor/listen/lib/listen/adapters/windows.rb +0 -91
  136. data/vendor/listen/lib/listen/directory_record.rb +0 -406
  137. data/vendor/listen/lib/listen/listener.rb +0 -323
  138. data/vendor/listen/lib/listen/turnstile.rb +0 -32
  139. data/vendor/listen/lib/listen/version.rb +0 -3
  140. data/vendor/listen/listen.gemspec +0 -28
  141. data/vendor/listen/spec/listen/adapter_spec.rb +0 -149
  142. data/vendor/listen/spec/listen/adapters/bsd_spec.rb +0 -36
  143. data/vendor/listen/spec/listen/adapters/darwin_spec.rb +0 -37
  144. data/vendor/listen/spec/listen/adapters/linux_spec.rb +0 -47
  145. data/vendor/listen/spec/listen/adapters/polling_spec.rb +0 -68
  146. data/vendor/listen/spec/listen/adapters/windows_spec.rb +0 -30
  147. data/vendor/listen/spec/listen/directory_record_spec.rb +0 -1250
  148. data/vendor/listen/spec/listen/listener_spec.rb +0 -258
  149. data/vendor/listen/spec/listen/turnstile_spec.rb +0 -56
  150. data/vendor/listen/spec/listen_spec.rb +0 -67
  151. data/vendor/listen/spec/spec_helper.rb +0 -25
  152. data/vendor/listen/spec/support/adapter_helper.rb +0 -666
  153. data/vendor/listen/spec/support/directory_record_helper.rb +0 -57
  154. data/vendor/listen/spec/support/fixtures_helper.rb +0 -29
  155. data/vendor/listen/spec/support/listeners_helper.rb +0 -179
  156. data/vendor/listen/spec/support/platform_helper.rb +0 -15
@@ -1,2 +1,2 @@
1
1
  bork
2
- bork: $bork
2
+ :bork $bork
@@ -1,3 +1,3 @@
1
1
  bork
2
2
  /* foo */
3
- bork: $bork
3
+ :bork $bork
@@ -1,17 +1,17 @@
1
1
  #main
2
- width: 15em
3
- color: #0000ff
2
+ :width 15em
3
+ :color #0000ff
4
4
  p
5
- border:
6
- style: dotted
5
+ :border
6
+ :style dotted
7
7
  /* Nested comment
8
8
  More nested stuff
9
- width: 2px
9
+ :width 2px
10
10
  .cool
11
- width: 100px
11
+ :width 100px
12
12
 
13
13
  #left
14
- font:
15
- size: 2em
16
- weight: bold
17
- float: left
14
+ :font
15
+ :size 2em
16
+ :weight bold
17
+ :float left
@@ -1,305 +1,305 @@
1
1
  body
2
- margin: 0
3
- font: 0.85em "Lucida Grande", "Trebuchet MS", Verdana, sans-serif
4
- color: #fff
5
- background: url(/images/global_bg.gif)
2
+ :margin 0
3
+ :font 0.85em "Lucida Grande", "Trebuchet MS", Verdana, sans-serif
4
+ :color #fff
5
+ :background url(/images/global_bg.gif)
6
6
 
7
7
  #page
8
- width: 900px
9
- margin: 0 auto
10
- background: #440008
11
- border-top:
12
- width: 5px
13
- style: solid
14
- color: #ff8500
8
+ :width 900px
9
+ :margin 0 auto
10
+ :background #440008
11
+ :border-top
12
+ :width 5px
13
+ :style solid
14
+ :color #ff8500
15
15
 
16
16
  #header
17
- height: 75px
18
- padding: 0
17
+ :height 75px
18
+ :padding 0
19
19
  h1
20
- float: left
21
- width: 274px
22
- height: 75px
23
- margin: 0
24
- background:
25
- image: url(/images/global_logo.gif)
20
+ :float left
21
+ :width 274px
22
+ :height 75px
23
+ :margin 0
24
+ :background
25
+ :image url(/images/global_logo.gif)
26
26
  /* Crazy nested comment
27
- repeat: no-repeat
28
- text-indent: -9999px
27
+ :repeat no-repeat
28
+ :text-indent -9999px
29
29
  .status
30
- float: right
31
- padding:
32
- top: .5em
33
- left: .5em
34
- right: .5em
35
- bottom: 0
30
+ :float right
31
+ :padding
32
+ :top .5em
33
+ :left .5em
34
+ :right .5em
35
+ :bottom 0
36
36
  p
37
- float: left
38
- margin:
39
- top: 0
40
- right: 0.5em
41
- bottom: 0
42
- left: 0
37
+ :float left
38
+ :margin
39
+ :top 0
40
+ :right 0.5em
41
+ :bottom 0
42
+ :left 0
43
43
  ul
44
- float: left
45
- margin: 0
46
- padding: 0
44
+ :float left
45
+ :margin 0
46
+ :padding 0
47
47
  li
48
- list-style-type: none
49
- display: inline
50
- margin: 0 5px
48
+ :list-style-type none
49
+ :display inline
50
+ :margin 0 5px
51
51
  a:link, a:visited
52
- color: #ff8500
53
- text-decoration: none
52
+ :color #ff8500
53
+ :text-decoration none
54
54
  a:hover
55
- text-decoration: underline
55
+ :text-decoration underline
56
56
  .search
57
- float: right
58
- clear: right
59
- margin: 12px 0 0 0
57
+ :float right
58
+ :clear right
59
+ :margin 12px 0 0 0
60
60
  form
61
- margin: 0
61
+ :margin 0
62
62
  input
63
- margin: 0 3px 0 0
64
- padding: 2px
65
- border: none
63
+ :margin 0 3px 0 0
64
+ :padding 2px
65
+ :border none
66
66
 
67
67
  #menu
68
- clear: both
69
- text-align: right
70
- height: 20px
71
- border-bottom: 5px solid #006b95
72
- background: #00a4e4
68
+ :clear both
69
+ :text-align right
70
+ :height 20px
71
+ :border-bottom 5px solid #006b95
72
+ :background #00a4e4
73
73
  .contests
74
74
  ul
75
- margin: 0 5px 0 0
76
- padding: 0
75
+ :margin 0 5px 0 0
76
+ :padding 0
77
77
  li
78
- list-style-type: none
79
- margin: 0 5px
80
- padding: 5px 5px 0 5px
81
- display: inline
82
- font-size: 1.1em
78
+ :list-style-type none
79
+ :margin 0 5px
80
+ :padding 5px 5px 0 5px
81
+ :display inline
82
+ :font-size 1.1em
83
83
  // This comment is properly indented
84
- color: #fff
85
- background: #00a4e4
84
+ :color #fff
85
+ :background #00a4e4
86
86
  a:link, a:visited
87
- color: #fff
88
- text-decoration: none
89
- font-weight: bold
87
+ :color #fff
88
+ :text-decoration none
89
+ :font-weight bold
90
90
  a:hover
91
- text-decoration: underline
91
+ :text-decoration underline
92
92
 
93
93
  //General content information
94
94
  #content
95
- clear: both
95
+ :clear both
96
96
  .container
97
- clear: both
97
+ :clear both
98
98
  .column
99
- float: left
99
+ :float left
100
100
  .right
101
- float: right
101
+ :float right
102
102
  a:link, a:visited
103
- color: #93d700
104
- text-decoration: none
103
+ :color #93d700
104
+ :text-decoration none
105
105
  a:hover
106
- text-decoration: underline
106
+ :text-decoration underline
107
107
 
108
108
  // A hard tab:
109
109
 
110
110
 
111
111
  #content
112
112
  p, div
113
- width: 40em
113
+ :width 40em
114
114
  li, dt, dd
115
- color: #ddffdd
116
- background-color: #4792bb
115
+ :color #ddffdd
116
+ :background-color #4792bb
117
117
  .container.video
118
118
  .column.left
119
- width: 200px
119
+ :width 200px
120
120
  .box
121
- margin-top: 10px
121
+ :margin-top 10px
122
122
  p
123
- margin: 0 1em auto 1em
123
+ :margin 0 1em auto 1em
124
124
  .box.participants
125
125
  img
126
- float: left
127
- margin: 0 1em auto 1em
128
- border: 1px solid #6e000d
129
- style: solid
126
+ :float left
127
+ :margin 0 1em auto 1em
128
+ :border 1px solid #6e000d
129
+ :style solid
130
130
  h2
131
- margin: 0 0 10px 0
132
- padding: 0.5em
131
+ :margin 0 0 10px 0
132
+ :padding 0.5em
133
133
  /* The background image is a gif!
134
- background: #6e000d url(/images/hdr_participant.gif) 2px 2px no-repeat
134
+ :background #6e000d url(/images/hdr_participant.gif) 2px 2px no-repeat
135
135
  /* Okay check this out
136
136
  Multiline comments
137
137
  Wow dude
138
138
  I mean seriously, WOW
139
- text-indent: -9999px
139
+ :text-indent -9999px
140
140
  // And also...
141
141
  Multiline comments that don't output!
142
142
  Snazzy, no?
143
- border:
144
- top:
145
- width: 5px
146
- style: solid
147
- color: #a20013
148
- right:
149
- width: 1px
150
- style: dotted
143
+ :border
144
+ :top
145
+ :width 5px
146
+ :style solid
147
+ :color #a20013
148
+ :right
149
+ :width 1px
150
+ :style dotted
151
151
  .column.middle
152
- width: 500px
152
+ :width 500px
153
153
  .column.right
154
- width: 200px
154
+ :width 200px
155
155
  .box
156
- margin-top: 0
156
+ :margin-top 0
157
157
  p
158
- margin: 0 1em auto 1em
158
+ :margin 0 1em auto 1em
159
159
  .column
160
160
  p
161
- margin-top: 0
161
+ :margin-top 0
162
162
 
163
163
  #content.contests
164
164
  .container.information
165
165
  .column.right
166
166
  .box
167
- margin: 1em 0
167
+ :margin 1em 0
168
168
  .box.videos
169
169
  .thumbnail img
170
- width: 200px
171
- height: 150px
172
- margin-bottom: 5px
170
+ :width 200px
171
+ :height 150px
172
+ :margin-bottom 5px
173
173
  a:link, a:visited
174
- color: #93d700
175
- text-decoration: none
174
+ :color #93d700
175
+ :text-decoration none
176
176
  a:hover
177
- text-decoration: underline
177
+ :text-decoration underline
178
178
  .box.votes
179
179
  a
180
- display: block
181
- width: 200px
182
- height: 60px
183
- margin: 15px 0
184
- background: url(/images/btn_votenow.gif) no-repeat
185
- text-indent: -9999px
186
- outline: none
187
- border: none
180
+ :display block
181
+ :width 200px
182
+ :height 60px
183
+ :margin 15px 0
184
+ :background url(/images/btn_votenow.gif) no-repeat
185
+ :text-indent -9999px
186
+ :outline none
187
+ :border none
188
188
  h2
189
- margin: 52px 0 10px 0
190
- padding: 0.5em
191
- background: #6e000d url(/images/hdr_videostats.gif) 2px 2px no-repeat
192
- text-indent: -9999px
193
- border-top: 5px solid #a20013
189
+ :margin 52px 0 10px 0
190
+ :padding 0.5em
191
+ :background #6e000d url(/images/hdr_videostats.gif) 2px 2px no-repeat
192
+ :text-indent -9999px
193
+ :border-top 5px solid #a20013
194
194
 
195
195
  #content.contests
196
196
  .container.video
197
197
  .box.videos
198
198
  h2
199
- margin: 0
200
- padding: 0.5em
201
- background: #6e000d url(/images/hdr_newestclips.gif) 2px 2px no-repeat
202
- text-indent: -9999px
203
- border-top: 5px solid #a20013
199
+ :margin 0
200
+ :padding 0.5em
201
+ :background #6e000d url(/images/hdr_newestclips.gif) 2px 2px no-repeat
202
+ :text-indent -9999px
203
+ :border-top 5px solid #a20013
204
204
  table
205
- width: 100
205
+ :width 100
206
206
  td
207
- padding: 1em
208
- width: 25
209
- vertical-align: top
207
+ :padding 1em
208
+ :width 25
209
+ :vertical-align top
210
210
  p
211
- margin: 0 0 5px 0
211
+ :margin 0 0 5px 0
212
212
  a:link, a:visited
213
- color: #93d700
214
- text-decoration: none
213
+ :color #93d700
214
+ :text-decoration none
215
215
  a:hover
216
- text-decoration: underline
216
+ :text-decoration underline
217
217
  .thumbnail
218
- float: left
218
+ :float left
219
219
  img
220
- width: 80px
221
- height: 60px
222
- margin: 0 10px 0 0
223
- border: 1px solid #6e000d
220
+ :width 80px
221
+ :height 60px
222
+ :margin 0 10px 0 0
223
+ :border 1px solid #6e000d
224
224
 
225
225
  #content
226
226
  .container.comments
227
227
  .column
228
- margin-top: 15px
228
+ :margin-top 15px
229
229
  .column.left
230
- width: 600px
230
+ :width 600px
231
231
  .box
232
232
  ol
233
- margin: 0
234
- padding: 0
233
+ :margin 0
234
+ :padding 0
235
235
  li
236
- list-style-type: none
237
- padding: 10px
238
- margin: 0 0 1em 0
239
- background: #6e000d
240
- border-top: 5px solid #a20013
236
+ :list-style-type none
237
+ :padding 10px
238
+ :margin 0 0 1em 0
239
+ :background #6e000d
240
+ :border-top 5px solid #a20013
241
241
  div
242
- margin-bottom: 1em
242
+ :margin-bottom 1em
243
243
  ul
244
- text-align: right
244
+ :text-align right
245
245
  li
246
- display: inline
247
- border: none
248
- padding: 0
246
+ :display inline
247
+ :border none
248
+ :padding 0
249
249
  .column.right
250
- width: 290px
251
- padding-left: 10px
250
+ :width 290px
251
+ :padding-left 10px
252
252
  h2
253
- margin: 0
254
- padding: 0.5em
255
- background: #6e000d url(/images/hdr_addcomment.gif) 2px 2px no-repeat
256
- text-indent: -9999px
257
- border-top: 5px solid #a20013
253
+ :margin 0
254
+ :padding 0.5em
255
+ :background #6e000d url(/images/hdr_addcomment.gif) 2px 2px no-repeat
256
+ :text-indent -9999px
257
+ :border-top 5px solid #a20013
258
258
  .box
259
259
  textarea
260
- width: 290px
261
- height: 100px
262
- border: none
260
+ :width 290px
261
+ :height 100px
262
+ :border none
263
263
 
264
264
  #footer
265
- margin-top: 10px
266
- padding: 1.2em 1.5em
267
- background: #ff8500
265
+ :margin-top 10px
266
+ :padding 1.2em 1.5em
267
+ :background #ff8500
268
268
  ul
269
- margin: 0
270
- padding: 0
271
- list-style-type: none
269
+ :margin 0
270
+ :padding 0
271
+ :list-style-type none
272
272
  li
273
- display: inline
274
- margin: 0 0.5em
275
- color: #440008
273
+ :display inline
274
+ :margin 0 0.5em
275
+ :color #440008
276
276
  ul.links
277
- float: left
277
+ :float left
278
278
  a:link, a:visited
279
- color: #440008
280
- text-decoration: none
279
+ :color #440008
280
+ :text-decoration none
281
281
  a:hover
282
- text-decoration: underline
282
+ :text-decoration underline
283
283
  ul.copyright
284
- float: right
284
+ :float right
285
285
 
286
286
 
287
287
  .clear
288
- clear: both
288
+ :clear both
289
289
 
290
290
  .centered
291
- text-align: center
291
+ :text-align center
292
292
 
293
293
  img
294
- border: none
294
+ :border none
295
295
 
296
296
  button.short
297
- width: 60px
298
- height: 22px
299
- padding: 0 0 2px 0
300
- color: #fff
301
- border: none
302
- background: url(/images/btn_short.gif) no-repeat
297
+ :width 60px
298
+ :height 22px
299
+ :padding 0 0 2px 0
300
+ :color #fff
301
+ :border none
302
+ :background url(/images/btn_short.gif) no-repeat
303
303
 
304
304
  table
305
- border-collapse: collapse
305
+ :border-collapse collapse