diff --git a/lib/sprockets/resolve.rb b/lib/sprockets/resolve.rb index 95468c5d7..11a32776b 100644 --- a/lib/sprockets/resolve.rb +++ b/lib/sprockets/resolve.rb @@ -55,6 +55,8 @@ def resolve!(path, **kargs) end message << " with type '#{kargs[:accept]}'" if kargs[:accept] + message << " with type '#{kargs[:accept]}'" if kargs[:accept] + message << "\nChecked in these paths: \n #{ kargs[:paths].join("\n ") }" raise FileNotFound, message end diff --git a/test/test_resolve.rb b/test/test_resolve.rb index ee515d3e7..45cd4b60a 100644 --- a/test/test_resolve.rb +++ b/test/test_resolve.rb @@ -250,6 +250,18 @@ def setup resolve('manifest.js.source.yml') end + test "adds paths to exceptions" do + random_path = SecureRandom.hex + @env.append_path(random_path) + + error = assert_raises(Sprockets::FileNotFound) do + uri, _ = @env.resolve!("thisfiledoesnotexistandshouldraiseerrors", {}) + uri + end + + assert_match /#{ random_path }/, error.message + end + def resolve(path, options = {}) uri, _ = @env.resolve(path, options) uri diff --git a/test/test_server.rb b/test/test_server.rb index 8a00b538d..676386ad3 100644 --- a/test/test_server.rb +++ b/test/test_server.rb @@ -241,7 +241,8 @@ def app test "re-throw JS exceptions in the browser" do get "/assets/missing_require.js" assert_equal 200, last_response.status - assert_equal "throw Error(\"Sprockets::FileNotFound: couldn't find file 'notfound' with type 'application/javascript'\\n (in #{fixture_path("server/vendor/javascripts/missing_require.js")}:1)\")", last_response.body + assert_match /Sprockets::FileNotFound: couldn't find file 'notfound' with type 'application\/javascript'/, last_response.body + assert_match /(in #{fixture_path("server/vendor/javascripts/missing_require.js")}:1)/, last_response.body end test "display CSS exceptions in the browser" do