sass 3.3.9 → 3.3.10

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: 6f9d9c10c02b2d9ca11da7bdec51903de916be8c
4
- data.tar.gz: 4dc07a5b37490d62d115fe63bff1d2008c18ab71
3
+ metadata.gz: 51af6abb9bda0db36107c86700f55be3f0f07260
4
+ data.tar.gz: b9317bd7d85ab09f7a16c58cb0453a855319786d
5
5
  SHA512:
6
- metadata.gz: a141a1b9194aa86b15d752855f1ce5321509b12992837d111ffd2183ba98bb59b0cb7f2254ab977617bfd32deca1b80dbee81131e4e8c70ef03f5baa1869c4bc
7
- data.tar.gz: dfb009a5f9716c38da33dd4ecb67d9644bfdf07c4f60a3901e1ce0bc2b3be8d49b9a7d328df6824693aba190352198baec7faba722b3a73430432ebc19a13605
6
+ metadata.gz: a3fdf6fdd3596c84c5cb6f648316c028ee25a11106ff899f4f4858098eb0d28490a5d9ae26157902a3f8a57450bdda63bea7ec78afb4ebd06e97518c579d3fea
7
+ data.tar.gz: 04766334fbde5fa7b6ab22d8523ca67347d55a949199c2432fbbf82e31d11d9a0f6966f3c6547754d37deace2e5af5e302b72fc781ba392bb70a908ef34f9b0a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.9
1
+ 3.3.10
@@ -1 +1 @@
1
- 28 June 2014 00:25:14 UTC
1
+ 12 July 2014 01:37:13 UTC
@@ -131,7 +131,8 @@ module Sass
131
131
  # may return a relative URL. This may be `nil` if the sourcemap's
132
132
  # eventual location is unknown.
133
133
  # @return [String?] The publicly-visible URL for this file, or `nil`
134
- # indicating that no publicly-visible URL exists.
134
+ # indicating that no publicly-visible URL exists. This should be
135
+ # appropriately URL-escaped.
135
136
  def public_url(uri, sourcemap_directory = nil)
136
137
  return if @public_url_warning_issued
137
138
  @public_url_warning_issued = true
@@ -71,7 +71,7 @@ module Sass
71
71
  file_pathname = Sass::Util.cleanpath(Sass::Util.absolute_path(name, @root))
72
72
  sourcemap_pathname = Sass::Util.cleanpath(sourcemap_directory)
73
73
  begin
74
- file_pathname.relative_path_from(sourcemap_pathname).to_s
74
+ Sass::Util.file_uri_from_path(file_pathname.relative_path_from(sourcemap_pathname))
75
75
  rescue ArgumentError # when a relative path cannot be constructed
76
76
  warn_about_public_url(name)
77
77
  nil
@@ -99,7 +99,7 @@ module Sass::Source
99
99
  end
100
100
  css_path &&= Sass::Util.pathname(Sass::Util.absolute_path(css_path))
101
101
  sourcemap_path &&= Sass::Util.pathname(Sass::Util.absolute_path(sourcemap_path))
102
- css_uri ||= css_path.relative_path_from(sourcemap_path.dirname).to_s.tr('\\', '/')
102
+ css_uri ||= Sass::Util.file_uri_from_path(css_path.relative_path_from(sourcemap_path.dirname))
103
103
 
104
104
  result = "{\n"
105
105
  write_json_field(result, "version", 3, true)
@@ -17,7 +17,7 @@ module Sass
17
17
 
18
18
  # An array of ints representing the Ruby version number.
19
19
  # @api public
20
- RUBY_VERSION = ::RUBY_VERSION.split(".").map {|s| s.to_i}
20
+ RUBY_VERSION_COMPONENTS = RUBY_VERSION.split(".").map {|s| s.to_i}
21
21
 
22
22
  # The Ruby engine we're running under. Defaults to `"ruby"`
23
23
  # if the top-level constant is undefined.
@@ -648,6 +648,19 @@ module Sass
648
648
  pathname(path.cleanpath.to_s)
649
649
  end
650
650
 
651
+ # Converts `path` to a "file:" URI. This handles Windows paths correctly.
652
+ #
653
+ # @param path [String, Pathname]
654
+ # @return [String]
655
+ def file_uri_from_path(path)
656
+ path = path.to_s if path.is_a?(Pathname)
657
+ path = Sass::Util.escape_uri(path)
658
+ return path.start_with?('/') ? "file://" + path : path unless windows?
659
+ return "file:///" + path.tr("\\", "/") if path =~ /^[a-zA-Z]:[\/\\]/
660
+ return "file://" + path.tr("\\", "/") if path =~ /\\\\[^\\]+\\[^\\\/]+/
661
+ path.tr("\\", "/")
662
+ end
663
+
651
664
  # Prepare a value for a destructuring assignment (e.g. `a, b =
652
665
  # val`). This works around a performance bug when using
653
666
  # ActiveSupport, and only needs to be called when `val` is likely
@@ -668,7 +681,7 @@ module Sass
668
681
  # @return [Boolean]
669
682
  def ruby1?
670
683
  return @ruby1 if defined?(@ruby1)
671
- @ruby1 = Sass::Util::RUBY_VERSION[0] <= 1
684
+ @ruby1 = RUBY_VERSION_COMPONENTS[0] <= 1
672
685
  end
673
686
 
674
687
  # Whether or not this is running under Ruby 1.8 or lower.
@@ -682,7 +695,7 @@ module Sass
682
695
  # We have to fall back to 1.8 behavior.
683
696
  return @ruby1_8 if defined?(@ruby1_8)
684
697
  @ruby1_8 = ironruby? ||
685
- (Sass::Util::RUBY_VERSION[0] == 1 && Sass::Util::RUBY_VERSION[1] < 9)
698
+ (RUBY_VERSION_COMPONENTS[0] == 1 && RUBY_VERSION_COMPONENTS[1] < 9)
686
699
  end
687
700
 
688
701
  # Whether or not this is running under Ruby 1.8.6 or lower.
@@ -691,7 +704,7 @@ module Sass
691
704
  # @return [Boolean]
692
705
  def ruby1_8_6?
693
706
  return @ruby1_8_6 if defined?(@ruby1_8_6)
694
- @ruby1_8_6 = ruby1_8? && Sass::Util::RUBY_VERSION[2] < 7
707
+ @ruby1_8_6 = ruby1_8? && RUBY_VERSION_COMPONENTS[2] < 7
695
708
  end
696
709
 
697
710
  # Wehter or not this is running under JRuby 1.6 or lower.
@@ -977,7 +990,7 @@ MSG
977
990
  # @param obj {Object}
978
991
  # @return {String}
979
992
  def inspect_obj(obj)
980
- return obj.inspect unless version_geq(::RUBY_VERSION, "1.9.2")
993
+ return obj.inspect unless version_geq(RUBY_VERSION, "1.9.2")
981
994
  return ':' + inspect_obj(obj.to_s) if obj.is_a?(Symbol)
982
995
  return obj.inspect unless obj.is_a?(String)
983
996
  '"' + obj.gsub(/[\x00-\x7F]+/) {|s| s.inspect[1...-1]} + '"'
@@ -764,6 +764,32 @@ SCSS
764
764
  CSS
765
765
  end
766
766
 
767
+ def test_sources_array_is_uri_escaped
768
+ map = Sass::Source::Map.new
769
+ importer = Sass::Importers::Filesystem.new('.')
770
+ map.add(
771
+ Sass::Source::Range.new(
772
+ Sass::Source::Position.new(0, 0),
773
+ Sass::Source::Position.new(0, 10),
774
+ 'source file.scss',
775
+ importer),
776
+ Sass::Source::Range.new(
777
+ Sass::Source::Position.new(0, 0),
778
+ Sass::Source::Position.new(0, 10),
779
+ nil, nil))
780
+
781
+ json = map.to_json(:css_path => 'output file.css', :sourcemap_path => 'output file.css.map')
782
+ assert_equal json, <<JSON.rstrip
783
+ {
784
+ "version": 3,
785
+ "mappings": "DADD,UAAU",
786
+ "sources": ["source%20file.scss"],
787
+ "names": [],
788
+ "file": "output%20file.css"
789
+ }
790
+ JSON
791
+ end
792
+
767
793
  private
768
794
 
769
795
  ANNOTATION_REGEX = /\{\{(\/?)([^}]+)\}\}/
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.3.9
4
+ version: 3.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Weizenbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-06-28 00:00:00.000000000 Z
13
+ date: 2014-07-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: yard