Skip to content
This repository has been archived by the owner on Jun 10, 2018. It is now read-only.

Commit

Permalink
Merge branch 'master' into cli
Browse files Browse the repository at this point in the history
  • Loading branch information
josh committed Dec 16, 2011
2 parents 780b297 + 814eec0 commit ad5775f
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 3 deletions.
4 changes: 3 additions & 1 deletion README.md
Expand Up @@ -356,7 +356,9 @@ submit a pull request.

**2.2.0** (Unreleased)

* Add `stub` directive that allows you to exclude files from the bundle.
* Add rake/sprocketstask.
* Added json manifest log of compiled assets.
* Added `stub` directive that allows you to exclude files from the bundle.
* Added per environment external encoding (Environment#default_external_encoding). Defaults to UTF-8. Fixes issues where LANG is not set correctly and Rubys default external is set to ASCII.

**2.1.2** (November 20, 2011)
Expand Down
7 changes: 5 additions & 2 deletions lib/sprockets/manifest.rb
Expand Up @@ -83,8 +83,11 @@ def files
# compile("application.js")
#
def compile(*args)
environment.each_logical_path(*args) do |logical_path|
if asset = find_asset(logical_path)
paths = environment.each_logical_path(*args).to_a +
args.flatten.select { |fn| Pathname.new(fn).absolute? }

paths.each do |path|
if asset = find_asset(path)
files[asset.digest_path] = {
'logical_path' => asset.logical_path,
'mtime' => asset.mtime.iso8601,
Expand Down
14 changes: 14 additions & 0 deletions test/test_manifest.rb
Expand Up @@ -52,6 +52,20 @@ def teardown
data['assets']['application.js']
end

test "compile asset with absolute path" do
assert !File.exist?("#{@dir}/application-2e8e9a7c6b0aafa0c9bdeec90ea30213.js")

@manifest.compile(fixture_path('default/application.js.coffee'))

assert File.exist?("#{@dir}/manifest.json")
assert File.exist?("#{@dir}/application-2e8e9a7c6b0aafa0c9bdeec90ea30213.js")

data = JSON.parse(File.read(@manifest.path))
assert data['files']['application-2e8e9a7c6b0aafa0c9bdeec90ea30213.js']
assert_equal 'application-2e8e9a7c6b0aafa0c9bdeec90ea30213.js',
data['assets']['application.js']
end

test "compile multiple assets" do
assert !File.exist?("#{@dir}/application-2e8e9a7c6b0aafa0c9bdeec90ea30213.js")
assert !File.exist?("#{@dir}/gallery-5d6e8915d9fd22fbb04afd4a99a57ce4.css")
Expand Down

0 comments on commit ad5775f

Please sign in to comment.