Skip to content

Commit b698a1a

Browse files
committed
Digest the environment and digest before packing the hexdigest
Closes #683 Closes #682
1 parent 841ddbe commit b698a1a

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

lib/sprockets/asset.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def hexdigest
135135

136136
# Pubic: ETag String of Asset.
137137
def etag
138-
DigestUtils.pack_hexdigest(environment_version + digest)
138+
DigestUtils.hexdigest(environment_version.to_s + digest)
139139
end
140140

141141
# Public: Returns String base64 digest of source.

test/test_environment.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,17 @@ def setup
735735
test "changing version changes the etag of the asset" do
736736
old_asset_etag = @env["gallery.js"].etag
737737
@env.version = 'v2'
738-
refute_equal old_asset_etag, @env["gallery.js"].etag
738+
new_asset_etag = @env["gallery.js"].etag
739+
refute_equal old_asset_etag, new_asset_etag
740+
assert_equal old_asset_etag.size, new_asset_etag.size
741+
end
742+
743+
test "changing version to nil does not break etag" do
744+
old_asset_etag = @env["gallery.js"].etag
745+
@env.version = nil
746+
new_asset_etag = @env["gallery.js"].etag
747+
assert_equal old_asset_etag, new_asset_etag
748+
assert_equal old_asset_etag.size, new_asset_etag.size
739749
end
740750

741751
test "changing version does not changes the digest of the asset" do

0 commit comments

Comments
 (0)