sass 3.3.0.alpha.11 → 3.3.0.alpha.15
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -5
- data/REVISION +1 -1
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/exec.rb +0 -8
- data/lib/sass/importers/filesystem.rb +2 -2
- data/lib/sass/plugin/compiler.rb +0 -1
- data/lib/sass/plugin/staleness_checker.rb +1 -1
- data/lib/sass/script/funcall.rb +1 -6
- data/lib/sass/script/functions.rb +2 -2
- data/lib/sass/scss/parser.rb +3 -4
- data/lib/sass/tree/visitors/check_nesting.rb +1 -2
- data/lib/sass/tree/visitors/perform.rb +3 -1
- data/lib/sass/util.rb +1 -16
- data/test/sass/plugin_test.rb +5 -0
- data/test/sass/script_test.rb +0 -4
- data/test/sass/scss/css_test.rb +0 -12
- data/test/sass/scss/scss_test.rb +0 -20
- data/test/sass/util_test.rb +0 -12
- metadata +11 -11
data/README.md
CHANGED
@@ -173,11 +173,10 @@ See `sass-convert --help` for further information and options.
|
|
173
173
|
|
174
174
|
## Authors
|
175
175
|
|
176
|
-
Sass was envisioned by [Hampton Catlin](http://
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
at [Moovweb](http://www.moovweb.com/).
|
176
|
+
Sass was envisioned by [Hampton Catlin](http://hamptoncatlin.com) (hcatlin).
|
177
|
+
However, Hampton doesn't even know his way around the code anymore and now
|
178
|
+
occasionally consults on the language issues. Hampton lives in Cambridge, UK and
|
179
|
+
is the owner of [Catlin Software](http://www.catlinsoftware.com/).
|
181
180
|
|
182
181
|
[Nathan Weizenbaum](http://nex-3.com) is the primary developer and architect of
|
183
182
|
Sass. His hard work has kept the project alive by endlessly answering forum
|
data/REVISION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
236f12d9047615e91e832945ebe06fa4952c0395
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.0.alpha.
|
1
|
+
3.3.0.alpha.15
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
01 November 2012 22:44:24 GMT
|
data/lib/sass/exec.rb
CHANGED
@@ -125,7 +125,6 @@ module Sass
|
|
125
125
|
def puts_action(name, color, arg)
|
126
126
|
return if @options[:for_engine][:quiet]
|
127
127
|
printf color(color, "%11s %s\n"), name, arg
|
128
|
-
STDOUT.flush
|
129
128
|
end
|
130
129
|
|
131
130
|
# Same as \{Kernel.puts}, but doesn't print anything if the `--quiet` option is set.
|
@@ -407,13 +406,6 @@ MSG
|
|
407
406
|
::Sass::Plugin.on_creating_directory {|dirname| puts_action :directory, :green, dirname}
|
408
407
|
::Sass::Plugin.on_deleting_css {|filename| puts_action :delete, :yellow, filename}
|
409
408
|
::Sass::Plugin.on_compilation_error do |error, _, _|
|
410
|
-
if error.is_a?(SystemCallError) && !@options[:stop_on_error]
|
411
|
-
had_error = true
|
412
|
-
puts_action :error, :red, error.message
|
413
|
-
STDOUT.flush
|
414
|
-
next
|
415
|
-
end
|
416
|
-
|
417
409
|
raise error unless error.is_a?(::Sass::SyntaxError) && !@options[:stop_on_error]
|
418
410
|
had_error = true
|
419
411
|
puts_action :error, :red, "#{error.sass_filename} (Line #{error.sass_line}: #{error.message})"
|
@@ -30,7 +30,7 @@ module Sass
|
|
30
30
|
|
31
31
|
# @see Base#mtime
|
32
32
|
def mtime(name, options)
|
33
|
-
file, s =
|
33
|
+
file, s = find_real_file(@root, name, options)
|
34
34
|
File.mtime(file) if file
|
35
35
|
rescue Errno::ENOENT
|
36
36
|
nil
|
@@ -163,7 +163,7 @@ WARNING
|
|
163
163
|
private
|
164
164
|
|
165
165
|
def _find(dir, name, options)
|
166
|
-
full_filename, syntax =
|
166
|
+
full_filename, syntax = find_real_file(dir, name, options)
|
167
167
|
return unless full_filename && File.readable?(full_filename)
|
168
168
|
|
169
169
|
options[:syntax] = syntax
|
data/lib/sass/plugin/compiler.rb
CHANGED
@@ -183,7 +183,6 @@ module Sass::Plugin
|
|
183
183
|
# The first string in each pair is the location of the Sass/SCSS file,
|
184
184
|
# the second is the location of the CSS file that it should be compiled to.
|
185
185
|
def update_stylesheets(individual_files = [])
|
186
|
-
individual_files = individual_files.dup
|
187
186
|
Sass::Plugin.checked_for_updates = true
|
188
187
|
staleness_checker = StalenessChecker.new(engine_options)
|
189
188
|
|
@@ -140,7 +140,7 @@ module Sass
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def dependencies(uri, importer)
|
143
|
-
stored_mtime, dependencies =
|
143
|
+
stored_mtime, dependencies = @dependencies[[uri, importer]]
|
144
144
|
|
145
145
|
if !stored_mtime || stored_mtime < mtime(uri, importer)
|
146
146
|
dependencies = compute_dependencies(uri, importer)
|
data/lib/sass/script/funcall.rb
CHANGED
@@ -109,12 +109,7 @@ module Sass
|
|
109
109
|
# If this is a legitimate Ruby-raised argument error, re-raise it.
|
110
110
|
# Otherwise, it's an error in the user's stylesheet, so wrap it.
|
111
111
|
if e.message =~ /^wrong number of arguments \(\d+ for \d+\)/ &&
|
112
|
-
e.backtrace[0] !~ /:in `(block in )?#{ruby_name}'$/
|
113
|
-
# JRuby (as of 1.6.7.2) doesn't put the actual method for
|
114
|
-
# which the argument error was thrown in the backtrace, so
|
115
|
-
# we detect whether our send threw an argument error.
|
116
|
-
(RUBY_PLATFORM !~ /java/ || e.backtrace[0] !~ /:in `send'$/ ||
|
117
|
-
e.backtrace[1] !~ /:in `_perform'$/)
|
112
|
+
e.backtrace[0] !~ /:in `(block in )?#{ruby_name}'$/
|
118
113
|
raise e
|
119
114
|
end
|
120
115
|
raise Sass::SyntaxError.new("#{e.message} for `#{name}'")
|
@@ -1235,8 +1235,8 @@ module Sass::Script
|
|
1235
1235
|
# arguments.
|
1236
1236
|
#
|
1237
1237
|
# @example
|
1238
|
-
# max(1px, 4px) =>
|
1239
|
-
# max(5em, 3em, 4em) =>
|
1238
|
+
# max(1px, 4px) => 1px
|
1239
|
+
# max(5em, 3em, 4em) => 3em
|
1240
1240
|
# @return [Number] The maximum value
|
1241
1241
|
# @raise [ArgumentError] if any argument isn't a number, or if not all of
|
1242
1242
|
# the arguments have comparable units
|
data/lib/sass/scss/parser.rb
CHANGED
@@ -332,7 +332,7 @@ module Sass
|
|
332
332
|
def use_css_import?; false; end
|
333
333
|
|
334
334
|
def media_directive
|
335
|
-
block(node(Sass::Tree::MediaNode.new(
|
335
|
+
block(node(Sass::Tree::MediaNode.new(media_query_list.to_a)), :directive)
|
336
336
|
end
|
337
337
|
|
338
338
|
# http://www.w3.org/TR/css3-mediaqueries/#syntax
|
@@ -709,7 +709,7 @@ module Sass
|
|
709
709
|
end
|
710
710
|
|
711
711
|
def element_name
|
712
|
-
ns, name =
|
712
|
+
ns, name = qualified_name(:allow_star_name)
|
713
713
|
return unless ns || name
|
714
714
|
|
715
715
|
if name == '*'
|
@@ -800,7 +800,7 @@ module Sass
|
|
800
800
|
# could start a pseudo expression like "n+1", or it could start a
|
801
801
|
# selector like "n|m". In order to handle this, we must regrettably
|
802
802
|
# backtrack.
|
803
|
-
expr, sel = nil
|
803
|
+
expr, sel = nil
|
804
804
|
pseudo_err = catch_error do
|
805
805
|
expr = pseudo_expr
|
806
806
|
next if tok?(/[,)]/)
|
@@ -1024,7 +1024,6 @@ MESSAGE
|
|
1024
1024
|
|
1025
1025
|
EXPR_NAMES = {
|
1026
1026
|
:media_query => "media query (e.g. print, screen, print and screen)",
|
1027
|
-
:media_query_list => "media query (e.g. print, screen, print and screen)",
|
1028
1027
|
:media_expr => "media expression (e.g. (min-device-width: 800px))",
|
1029
1028
|
:pseudo_arg => "expression (e.g. fr, 2n+1)",
|
1030
1029
|
:interp_ident => "identifier",
|
@@ -23,8 +23,7 @@ class Sass::Tree::Visitors::CheckNesting < Sass::Tree::Visitors::Base
|
|
23
23
|
SCRIPT_NODES = [Sass::Tree::ImportNode] + CONTROL_NODES
|
24
24
|
def visit_children(parent)
|
25
25
|
old_parent = @parent
|
26
|
-
@parent = parent unless is_any_of?(parent, SCRIPT_NODES)
|
27
|
-
(parent.bubbles? && !old_parent.is_a?(Sass::Tree::RootNode))
|
26
|
+
@parent = parent unless is_any_of?(parent, SCRIPT_NODES)
|
28
27
|
@parents.push parent
|
29
28
|
super
|
30
29
|
ensure
|
@@ -333,7 +333,9 @@ class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
|
|
333
333
|
res = node.expr.perform(@environment)
|
334
334
|
res = res.value if res.is_a?(Sass::Script::String)
|
335
335
|
msg = "WARNING: #{res}\n "
|
336
|
-
msg << stack_trace.join("\n ")
|
336
|
+
msg << stack_trace.join("\n ")
|
337
|
+
# JRuby doesn't automatically add a newline for #warn
|
338
|
+
msg << (RUBY_PLATFORM =~ /java/ ? "\n\n" : "\n")
|
337
339
|
Sass::Util.sass_warn msg
|
338
340
|
[]
|
339
341
|
ensure
|
data/lib/sass/util.rb
CHANGED
@@ -298,9 +298,7 @@ module Sass
|
|
298
298
|
# @param entry [String] An entry in the `#caller` list, or a similarly formatted string
|
299
299
|
# @return [[String, Fixnum, (String, nil)]] An array containing the filename, line, and method name of the caller.
|
300
300
|
# The method name may be nil
|
301
|
-
def caller_info(entry =
|
302
|
-
# JRuby evaluates `caller` incorrectly when it's in an actual default argument.
|
303
|
-
entry ||= caller[1]
|
301
|
+
def caller_info(entry = caller[1])
|
304
302
|
info = entry.scan(/^(.*?):(-?.*?)(?::.*`(.+)')?$/).first
|
305
303
|
info[1] = info[1].to_i
|
306
304
|
# This is added by Rubinius to designate a block, but we don't care about it.
|
@@ -469,19 +467,6 @@ module Sass
|
|
469
467
|
Dir.glob(path, &block)
|
470
468
|
end
|
471
469
|
|
472
|
-
# Prepare a value for a destructuring assignment (e.g. `a, b =
|
473
|
-
# val`). This works around a performance bug when using
|
474
|
-
# ActiveSupport, and only needs to be called when `val` is likely
|
475
|
-
# to be `nil` reasonably often.
|
476
|
-
#
|
477
|
-
# See [this bug report](http://redmine.ruby-lang.org/issues/4917).
|
478
|
-
#
|
479
|
-
# @param val [Object]
|
480
|
-
# @return [Object]
|
481
|
-
def destructure(val)
|
482
|
-
val || []
|
483
|
-
end
|
484
|
-
|
485
470
|
## Cross-Ruby-Version Compatibility
|
486
471
|
|
487
472
|
# Whether or not this is running under Ruby 1.8 or lower.
|
data/test/sass/plugin_test.rb
CHANGED
@@ -237,6 +237,11 @@ WARNING
|
|
237
237
|
assert_callback :updating_stylesheets, []
|
238
238
|
end
|
239
239
|
|
240
|
+
def test_updating_stylesheets_callback_with_individual_files
|
241
|
+
files = [[template_loc("basic"), tempfile_loc("basic")]]
|
242
|
+
assert_callback(:updating_stylesheets, files) {Sass::Util.silence_sass_warnings{Sass::Plugin.update_stylesheets(files)}}
|
243
|
+
end
|
244
|
+
|
240
245
|
def test_updating_stylesheets_callback_with_never_update
|
241
246
|
Sass::Plugin.options[:never_update] = true
|
242
247
|
assert_no_callback :updating_stylesheets
|
data/test/sass/script_test.rb
CHANGED
@@ -489,10 +489,6 @@ SASS
|
|
489
489
|
end
|
490
490
|
|
491
491
|
def test_deep_argument_error_not_unwrapped
|
492
|
-
# JRuby (as of 1.6.7.2) offers no way of distinguishing between
|
493
|
-
# argument errors caused by programming errors in a function and
|
494
|
-
# argument errors explicitly thrown within that function.
|
495
|
-
return if RUBY_PLATFORM =~ /java/
|
496
492
|
assert_raise_message(ArgumentError, 'wrong number of arguments (0 for 1)') {resolve("arg-error()")}
|
497
493
|
end
|
498
494
|
|
data/test/sass/scss/css_test.rb
CHANGED
@@ -1042,18 +1042,6 @@ body {
|
|
1042
1042
|
SCSS
|
1043
1043
|
end
|
1044
1044
|
|
1045
|
-
def test_malformed_media
|
1046
|
-
render <<SCSS
|
1047
|
-
@media {
|
1048
|
-
margin: 0;
|
1049
|
-
}
|
1050
|
-
SCSS
|
1051
|
-
assert(false, "Expected syntax error")
|
1052
|
-
rescue Sass::SyntaxError => e
|
1053
|
-
assert_equal 'Invalid CSS after "@media ": expected media query (e.g. print, screen, print and screen), was "{"', e.message
|
1054
|
-
assert_equal 1, e.sass_line
|
1055
|
-
end
|
1056
|
-
|
1057
1045
|
private
|
1058
1046
|
|
1059
1047
|
def assert_selector_parses(selector)
|
data/test/sass/scss/scss_test.rb
CHANGED
@@ -1977,24 +1977,4 @@ SCSS
|
|
1977
1977
|
SCSS
|
1978
1978
|
Sass::SCSS::Parser.new(template, "test.scss").parse
|
1979
1979
|
end
|
1980
|
-
|
1981
|
-
def test_extend_in_media_in_rule
|
1982
|
-
assert_equal(<<CSS, render(<<SCSS))
|
1983
|
-
@media screen {
|
1984
|
-
.foo {
|
1985
|
-
a: b; } }
|
1986
|
-
CSS
|
1987
|
-
.foo {
|
1988
|
-
@media screen {
|
1989
|
-
@extend %bar;
|
1990
|
-
}
|
1991
|
-
}
|
1992
|
-
|
1993
|
-
@media screen {
|
1994
|
-
%bar {
|
1995
|
-
a: b;
|
1996
|
-
}
|
1997
|
-
}
|
1998
|
-
SCSS
|
1999
|
-
end
|
2000
1980
|
end
|
data/test/sass/util_test.rb
CHANGED
@@ -243,10 +243,6 @@ class UtilTest < Test::Unit::TestCase
|
|
243
243
|
test[['foo ', 1, "\n bar\n", [2, 3, 4], "\n baz"]]
|
244
244
|
end
|
245
245
|
|
246
|
-
def nested_caller_info_fn
|
247
|
-
caller_info
|
248
|
-
end
|
249
|
-
|
250
246
|
def test_caller_info
|
251
247
|
assert_equal(["/tmp/foo.rb", 12, "fizzle"], caller_info("/tmp/foo.rb:12: in `fizzle'"))
|
252
248
|
assert_equal(["/tmp/foo.rb", 12, nil], caller_info("/tmp/foo.rb:12"))
|
@@ -254,14 +250,6 @@ class UtilTest < Test::Unit::TestCase
|
|
254
250
|
assert_equal(["", 12, "boop"], caller_info(":12: in `boop'"))
|
255
251
|
assert_equal(["/tmp/foo.rb", -12, "fizzle"], caller_info("/tmp/foo.rb:-12: in `fizzle'"))
|
256
252
|
assert_equal(["/tmp/foo.rb", 12, "fizzle"], caller_info("/tmp/foo.rb:12: in `fizzle {}'"))
|
257
|
-
|
258
|
-
info = nested_caller_info_fn
|
259
|
-
assert_equal(__FILE__, info[0])
|
260
|
-
assert_equal("test_caller_info", info[2])
|
261
|
-
|
262
|
-
info = proc {nested_caller_info_fn}.call
|
263
|
-
assert_equal(__FILE__, info[0])
|
264
|
-
assert_equal("test_caller_info", info[2])
|
265
253
|
end
|
266
254
|
|
267
255
|
def test_version_gt
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 592302867
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 3
|
9
9
|
- 0
|
10
10
|
- alpha
|
11
|
-
-
|
12
|
-
version: 3.3.0.alpha.
|
11
|
+
- 15
|
12
|
+
version: 3.3.0.alpha.15
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Nathan Weizenbaum
|
@@ -19,7 +19,7 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2012-11-
|
22
|
+
date: 2012-11-01 00:00:00 -04:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
@@ -233,7 +233,6 @@ files:
|
|
233
233
|
- test/sass/plugin_test.rb
|
234
234
|
- test/sass/results/alt.css
|
235
235
|
- test/sass/results/basic.css
|
236
|
-
- test/sass/results/cached_import_option.css
|
237
236
|
- test/sass/results/compact.css
|
238
237
|
- test/sass/results/complex.css
|
239
238
|
- test/sass/results/compressed.css
|
@@ -259,27 +258,25 @@ files:
|
|
259
258
|
- test/sass/results/units.css
|
260
259
|
- test/sass/results/warn.css
|
261
260
|
- test/sass/results/warn_imported.css
|
261
|
+
- test/sass/results/cached_import_option.css
|
262
262
|
- test/sass/script_conversion_test.rb
|
263
263
|
- test/sass/script_test.rb
|
264
264
|
- test/sass/scss/css_test.rb
|
265
265
|
- test/sass/scss/rx_test.rb
|
266
266
|
- test/sass/scss/scss_test.rb
|
267
267
|
- test/sass/scss/test_helper.rb
|
268
|
-
- test/sass/templates/_cached_import_option_partial.scss
|
269
268
|
- test/sass/templates/_double_import_loop2.sass
|
270
269
|
- test/sass/templates/_filename_fn_import.scss
|
271
270
|
- test/sass/templates/_imported_charset_ibm866.sass
|
272
271
|
- test/sass/templates/_imported_charset_utf8.sass
|
273
272
|
- test/sass/templates/_imported_content.sass
|
274
273
|
- test/sass/templates/_partial.sass
|
275
|
-
- test/sass/templates/_same_name_different_partiality.scss
|
276
274
|
- test/sass/templates/alt.sass
|
277
275
|
- test/sass/templates/basic.sass
|
278
276
|
- test/sass/templates/bork1.sass
|
279
277
|
- test/sass/templates/bork2.sass
|
280
278
|
- test/sass/templates/bork3.sass
|
281
279
|
- test/sass/templates/bork4.sass
|
282
|
-
- test/sass/templates/cached_import_option.scss
|
283
280
|
- test/sass/templates/compact.sass
|
284
281
|
- test/sass/templates/complex.sass
|
285
282
|
- test/sass/templates/compressed.sass
|
@@ -307,9 +304,6 @@ files:
|
|
307
304
|
- test/sass/templates/nested_mixin_bork.sass
|
308
305
|
- test/sass/templates/options.sass
|
309
306
|
- test/sass/templates/parent_ref.sass
|
310
|
-
- test/sass/templates/same_name_different_ext.sass
|
311
|
-
- test/sass/templates/same_name_different_ext.scss
|
312
|
-
- test/sass/templates/same_name_different_partiality.scss
|
313
307
|
- test/sass/templates/script.sass
|
314
308
|
- test/sass/templates/scss_import.scss
|
315
309
|
- test/sass/templates/scss_importee.scss
|
@@ -320,6 +314,12 @@ files:
|
|
320
314
|
- test/sass/templates/units.sass
|
321
315
|
- test/sass/templates/warn.sass
|
322
316
|
- test/sass/templates/warn_imported.sass
|
317
|
+
- test/sass/templates/_cached_import_option_partial.scss
|
318
|
+
- test/sass/templates/_same_name_different_partiality.scss
|
319
|
+
- test/sass/templates/cached_import_option.scss
|
320
|
+
- test/sass/templates/same_name_different_ext.sass
|
321
|
+
- test/sass/templates/same_name_different_ext.scss
|
322
|
+
- test/sass/templates/same_name_different_partiality.scss
|
323
323
|
- test/sass/test_helper.rb
|
324
324
|
- test/sass/util/multibyte_string_scanner_test.rb
|
325
325
|
- test/sass/util/subset_map_test.rb
|