sass 3.4.3 → 3.4.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/engine.rb +2 -1
- data/lib/sass/exec/sass_scss.rb +2 -2
- data/lib/sass/importers/filesystem.rb +7 -8
- data/lib/sass/plugin/compiler.rb +2 -3
- data/lib/sass/scss/static_parser.rb +1 -1
- data/lib/sass/source/map.rb +2 -1
- data/lib/sass/tree/visitors/to_css.rb +2 -2
- data/lib/sass/util.rb +23 -1
- data/test/sass/conversion_test.rb +34 -0
- data/test/sass/scss/css_test.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3fbc042c02c52b18d59b25d9c26459658baf6cf
|
4
|
+
data.tar.gz: faf525b9b4f1837dc790d9fdae267d0ed729b41e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cd8dc8c85660b360845e47b15c78218a076558e6ce0e09bbb13b4a79d2c74a72563e974189d8db5be708c30c6f04877c467a959670179b7244c4d91cd8b7c87
|
7
|
+
data.tar.gz: 7cd31825c789bc5744514aac91d5346b952a2286c5ea148f1cb2c1471b34769fae3df30bab1d7ffa728bb07a774a9560732fb4acb011062e6e7694f5bf8ea244
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.4
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
13 September 2014 00:20:07 UTC
|
data/lib/sass/engine.rb
CHANGED
@@ -1130,8 +1130,9 @@ WARNING
|
|
1130
1130
|
|
1131
1131
|
return "/* */" if content.empty?
|
1132
1132
|
content.last.gsub!(/ ?\*\/ *$/, '')
|
1133
|
+
first = content.shift unless removed_first
|
1133
1134
|
content.map! {|l| l.gsub!(/^\*( ?)/, '\1') || (l.empty? ? "" : " ") + l}
|
1134
|
-
content.first
|
1135
|
+
content.unshift first unless removed_first
|
1135
1136
|
if silent
|
1136
1137
|
"/*" + content.join("\n *") + " */"
|
1137
1138
|
else
|
data/lib/sass/exec/sass_scss.rb
CHANGED
@@ -370,8 +370,8 @@ MSG
|
|
370
370
|
input.close if input.is_a?(File)
|
371
371
|
|
372
372
|
if @options[:sourcemap] != :none && @options[:sourcemap_filename]
|
373
|
-
relative_sourcemap_path = Sass::Util.
|
374
|
-
|
373
|
+
relative_sourcemap_path = Sass::Util.relative_path_from(
|
374
|
+
@options[:sourcemap_filename], Sass::Util.pathname(@options[:output_filename]).dirname)
|
375
375
|
rendered, mapping = engine.render_with_sourcemap(relative_sourcemap_path.to_s)
|
376
376
|
write_output(rendered, output)
|
377
377
|
write_output(mapping.to_json(
|
@@ -68,15 +68,14 @@ module Sass
|
|
68
68
|
|
69
69
|
def public_url(name, sourcemap_directory)
|
70
70
|
file_pathname = Sass::Util.cleanpath(Sass::Util.absolute_path(name, @root))
|
71
|
-
if sourcemap_directory.nil?
|
71
|
+
return Sass::Util.file_uri_from_path(file_pathname) if sourcemap_directory.nil?
|
72
|
+
|
73
|
+
sourcemap_pathname = Sass::Util.cleanpath(sourcemap_directory)
|
74
|
+
begin
|
75
|
+
Sass::Util.file_uri_from_path(
|
76
|
+
Sass::Util.relative_path_from(file_pathname, sourcemap_pathname))
|
77
|
+
rescue ArgumentError # when a relative path cannot be constructed
|
72
78
|
Sass::Util.file_uri_from_path(file_pathname)
|
73
|
-
else
|
74
|
-
sourcemap_pathname = Sass::Util.cleanpath(sourcemap_directory)
|
75
|
-
begin
|
76
|
-
Sass::Util.file_uri_from_path(file_pathname.relative_path_from(sourcemap_pathname))
|
77
|
-
rescue ArgumentError # when a relative path cannot be constructed
|
78
|
-
Sass::Util.file_uri_from_path(file_pathname)
|
79
|
-
end
|
80
79
|
end
|
81
80
|
end
|
82
81
|
|
data/lib/sass/plugin/compiler.rb
CHANGED
@@ -251,8 +251,7 @@ module Sass::Plugin
|
|
251
251
|
template_location_array.each do |template_location, css_location|
|
252
252
|
Sass::Util.glob(File.join(template_location, "**", "[^_]*.s[ca]ss")).sort.each do |file|
|
253
253
|
# Get the relative path to the file
|
254
|
-
name = Sass::Util.
|
255
|
-
Sass::Util.pathname(template_location.to_s)).to_s
|
254
|
+
name = Sass::Util.relative_path_from(file, template_location).to_s
|
256
255
|
css = css_filename(name, css_location)
|
257
256
|
sourcemap = Sass::Util.sourcemap_name(css) unless engine_options[:sourcemap] == :none
|
258
257
|
files << [file, css, sourcemap]
|
@@ -558,7 +557,7 @@ module Sass::Plugin
|
|
558
557
|
end
|
559
558
|
|
560
559
|
def relative_to_pwd(f)
|
561
|
-
Sass::Util.
|
560
|
+
Sass::Util.relative_path_from(f, Dir.pwd).to_s
|
562
561
|
rescue ArgumentError # when a relative path cannot be computed
|
563
562
|
f
|
564
563
|
end
|
data/lib/sass/source/map.rb
CHANGED
@@ -95,7 +95,8 @@ module Sass::Source
|
|
95
95
|
end
|
96
96
|
css_path &&= Sass::Util.pathname(Sass::Util.absolute_path(css_path))
|
97
97
|
sourcemap_path &&= Sass::Util.pathname(Sass::Util.absolute_path(sourcemap_path))
|
98
|
-
css_uri ||= Sass::Util.file_uri_from_path(
|
98
|
+
css_uri ||= Sass::Util.file_uri_from_path(
|
99
|
+
Sass::Util.relative_path_from(css_path, sourcemap_path.dirname))
|
99
100
|
|
100
101
|
result = "{\n"
|
101
102
|
write_json_field(result, "version", 3, true)
|
@@ -306,8 +306,8 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
|
|
306
306
|
relative_filename =
|
307
307
|
if node.options[:css_filename]
|
308
308
|
begin
|
309
|
-
Sass::Util.
|
310
|
-
|
309
|
+
Sass::Util.relative_path_from(
|
310
|
+
node.filename, File.dirname(node.options[:css_filename])).to_s
|
311
311
|
rescue ArgumentError
|
312
312
|
nil
|
313
313
|
end
|
data/lib/sass/util.rb
CHANGED
@@ -664,7 +664,7 @@ module Sass
|
|
664
664
|
# Returns `path` with all symlinks resolved.
|
665
665
|
#
|
666
666
|
# @param path [String, Pathname]
|
667
|
-
# @return [
|
667
|
+
# @return [Pathname]
|
668
668
|
def realpath(path)
|
669
669
|
path = Pathname.new(path) unless path.is_a?(Pathname)
|
670
670
|
|
@@ -681,6 +681,28 @@ module Sass
|
|
681
681
|
end
|
682
682
|
end
|
683
683
|
|
684
|
+
# Returns `path` relative to `from`.
|
685
|
+
#
|
686
|
+
# This is like `Pathname#relative_path_from` except it accepts both strings
|
687
|
+
# and pathnames, it handles Windows path separators correctly, and it throws
|
688
|
+
# an error rather than crashing if the paths use different encodings
|
689
|
+
# (https://github.com/ruby/ruby/pull/713).
|
690
|
+
#
|
691
|
+
# @param path [String, Pathname]
|
692
|
+
# @param from [String, Pathname]
|
693
|
+
# @return [Pathname?]
|
694
|
+
def relative_path_from(path, from)
|
695
|
+
pathname(path.to_s).relative_path_from(pathname(from.to_s))
|
696
|
+
rescue NoMethodError => e
|
697
|
+
raise e unless e.name == :zero?
|
698
|
+
|
699
|
+
# Work around https://github.com/ruby/ruby/pull/713.
|
700
|
+
path = path.to_s
|
701
|
+
from = from.to_s
|
702
|
+
raise ArgumentError("Incompatible path encodings: #{path.inspect} is #{path.encoding}, " +
|
703
|
+
"#{from.inspect} is #{from.encoding}")
|
704
|
+
end
|
705
|
+
|
684
706
|
# Converts `path` to a "file:" URI. This handles Windows paths correctly.
|
685
707
|
#
|
686
708
|
# @param path [String, Pathname]
|
@@ -351,6 +351,23 @@ foo
|
|
351
351
|
SASS
|
352
352
|
end
|
353
353
|
|
354
|
+
def test_preserves_triple_slash_comments
|
355
|
+
assert_renders <<SASS, <<SCSS
|
356
|
+
/// foo
|
357
|
+
/// bar
|
358
|
+
foo
|
359
|
+
/// bip bop
|
360
|
+
/// beep boop
|
361
|
+
SASS
|
362
|
+
/// foo
|
363
|
+
/// bar
|
364
|
+
foo {
|
365
|
+
/// bip bop
|
366
|
+
/// beep boop
|
367
|
+
}
|
368
|
+
SCSS
|
369
|
+
end
|
370
|
+
|
354
371
|
def test_loud_comments
|
355
372
|
assert_renders <<SASS, <<SCSS
|
356
373
|
/* foo
|
@@ -467,6 +484,23 @@ foo
|
|
467
484
|
SASS
|
468
485
|
end
|
469
486
|
|
487
|
+
def test_preserves_double_star_comments
|
488
|
+
assert_renders <<SASS, <<SCSS
|
489
|
+
/** foo
|
490
|
+
* bar
|
491
|
+
foo
|
492
|
+
/** bip bop
|
493
|
+
* beep boop
|
494
|
+
SASS
|
495
|
+
/** foo
|
496
|
+
* bar */
|
497
|
+
foo {
|
498
|
+
/** bip bop
|
499
|
+
* beep boop */
|
500
|
+
}
|
501
|
+
SCSS
|
502
|
+
end
|
503
|
+
|
470
504
|
def test_loud_comments_with_weird_indentation
|
471
505
|
assert_scss_to_sass <<SASS, <<SCSS
|
472
506
|
foo
|
data/test/sass/scss/css_test.rb
CHANGED
@@ -701,6 +701,27 @@ CSS
|
|
701
701
|
50% {background-color: black}
|
702
702
|
100% {}
|
703
703
|
}
|
704
|
+
SCSS
|
705
|
+
end
|
706
|
+
|
707
|
+
def test_keyframes_with_custom_identifiers
|
708
|
+
assert_equal <<CSS, render(<<SCSS)
|
709
|
+
@-skrollr-keyframes identifier {
|
710
|
+
center-top {
|
711
|
+
left: 100%; }
|
712
|
+
top-bottom {
|
713
|
+
left: 0%; } }
|
714
|
+
CSS
|
715
|
+
@-skrollr-keyframes identifier {
|
716
|
+
center-top {
|
717
|
+
left: 100%;
|
718
|
+
}
|
719
|
+
|
720
|
+
top-bottom {
|
721
|
+
left: 0%;
|
722
|
+
}
|
723
|
+
}
|
724
|
+
|
704
725
|
SCSS
|
705
726
|
end
|
706
727
|
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Natalie Weizenbaum
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-09-
|
13
|
+
date: 2014-09-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yard
|