Skip to content

Commit 4e0f168

Browse files
authored
Merge pull request #485 from PikachuEXE/fix/protocol-relative-urls
Fix protocol relative URLs amended accidentally
2 parents e7482e0 + 70e107b commit 4e0f168

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

lib/sprockets/rails/asset_url_processor.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module Sprockets
22
module Rails
33
# Rewrites urls in CSS files with the digested paths
44
class AssetUrlProcessor
5-
REGEX = /url\(\s*["']?(?!(?:\#|data|http))(?<relativeToCurrentDir>.\/)?(?<path>[^"'\s)]+)\s*["']?\)/
5+
REGEX = /url\(\s*["']?(?!(?:\#|data|http))(?<relativeToCurrentDir>\.\/)?(?<path>[^"'\s)]+)\s*["']?\)/
66
def self.call(input)
77
context = input[:environment].context_class.new(input)
88
data = input[:data].gsub(REGEX) do |_match|

test/test_asset_url_processor.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,10 @@ def test_subdirectory
6161
jquery_digest = 'c6910e1db4a5ed4905be728ab786471e81565f4a9d544734b199f3790de9f9a3'
6262
assert_equal("background: url(/jquery/jquery-#{jquery_digest}.js);", output[:data])
6363
end
64+
65+
def test_protocol_relative_paths
66+
input = { environment: @env, data: "background: url(//assets.example.com/assets/fontawesome-webfont-82ff0fe46a6f60e0ab3c4a9891a0ae0a1f7b7e84c625f55358379177a2dcb202.eot);", filename: 'url2.css', metadata: {} }
67+
output = Sprockets::Rails::AssetUrlProcessor.call(input)
68+
assert_equal("background: url(//assets.example.com/assets/fontawesome-webfont-82ff0fe46a6f60e0ab3c4a9891a0ae0a1f7b7e84c625f55358379177a2dcb202.eot);", output[:data])
69+
end
6470
end

0 commit comments

Comments
 (0)