forked from rails/sprockets-rails
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
bec2bcd
commit c2ac118
Showing
16 changed files
with
995 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
require 'isolation/abstract_unit' | ||
require 'rack/test' | ||
|
||
module ApplicationTests | ||
class AssetDebuggingTest < ActiveSupport::TestCase | ||
include ActiveSupport::Testing::Isolation | ||
include Rack::Test::Methods | ||
|
||
def setup | ||
build_app(:initializers => true) | ||
|
||
app_file "app/assets/javascripts/application.js", "//= require_tree ." | ||
app_file "app/assets/javascripts/xmlhr.js", "function f1() { alert(); }" | ||
app_file "app/views/posts/index.html.erb", "<%= javascript_include_tag 'application' %>" | ||
|
||
app_file "config/routes.rb", <<-RUBY | ||
AppTemplate::Application.routes.draw do | ||
match '/posts', :to => "posts#index" | ||
end | ||
RUBY | ||
|
||
app_file "app/controllers/posts_controller.rb", <<-RUBY | ||
class PostsController < ActionController::Base | ||
end | ||
RUBY | ||
|
||
ENV["RAILS_ENV"] = "production" | ||
|
||
boot_rails | ||
end | ||
|
||
def teardown | ||
teardown_app | ||
end | ||
|
||
test "assets are concatenated when debug is off and compile is off either if debug_assets param is provided" do | ||
# config.assets.debug and config.assets.compile are false for production environment | ||
ENV["RAILS_ENV"] = "production" | ||
capture(:stdout) do | ||
Dir.chdir(app_path){ `bundle exec rake assets:precompile` } | ||
end | ||
require "#{app_path}/config/environment" | ||
|
||
class ::PostsController < ActionController::Base ; end | ||
|
||
# the debug_assets params isn't used if compile is off | ||
get '/posts?debug_assets=true' | ||
assert_match(/<script src="\/assets\/application-([0-z]+)\.js" type="text\/javascript"><\/script>/, last_response.body) | ||
assert_no_match(/<script src="\/assets\/xmlhr-([0-z]+)\.js" type="text\/javascript"><\/script>/, last_response.body) | ||
end | ||
|
||
test "assets aren't concatened when compile is true is on and debug_assets params is true" do | ||
app_file "config/initializers/compile.rb", "Rails.application.config.assets.compile = true" | ||
|
||
ENV["RAILS_ENV"] = "production" | ||
require "#{app_path}/config/environment" | ||
|
||
class ::PostsController < ActionController::Base ; end | ||
|
||
get '/posts?debug_assets=true' | ||
assert_match(/<script src="\/assets\/application-([0-z]+)\.js\?body=1" type="text\/javascript"><\/script>/, last_response.body) | ||
assert_match(/<script src="\/assets\/xmlhr-([0-z]+)\.js\?body=1" type="text\/javascript"><\/script>/, last_response.body) | ||
end | ||
end | ||
end |
Oops, something went wrong.