2011-03-29 16:42:31 -04:00
|
|
|
require 'abstract_unit'
|
|
|
|
require 'sprockets'
|
2011-04-19 15:14:55 -04:00
|
|
|
require 'mocha'
|
|
|
|
|
|
|
|
module Rails; end
|
2011-03-29 16:42:31 -04:00
|
|
|
|
|
|
|
class SprocketsHelperTest < ActionView::TestCase
|
|
|
|
tests ActionView::Helpers::SprocketsHelper
|
|
|
|
|
|
|
|
attr_accessor :assets
|
|
|
|
|
|
|
|
def setup
|
|
|
|
super
|
|
|
|
|
|
|
|
@controller = BasicController.new
|
|
|
|
|
|
|
|
@request = Class.new do
|
|
|
|
def protocol() 'http://' end
|
|
|
|
def ssl?() false end
|
|
|
|
def host_with_port() 'localhost' end
|
|
|
|
end.new
|
|
|
|
|
|
|
|
@controller.request = @request
|
|
|
|
|
|
|
|
@assets = Sprockets::Environment.new
|
2011-03-29 22:40:24 -04:00
|
|
|
@assets.paths << FIXTURES.join("sprockets/app/javascripts")
|
|
|
|
@assets.paths << FIXTURES.join("sprockets/app/stylesheets")
|
2011-04-19 12:07:14 -04:00
|
|
|
@assets.paths << FIXTURES.join("sprockets/app/images")
|
2011-03-29 22:40:24 -04:00
|
|
|
|
2011-04-19 15:14:55 -04:00
|
|
|
application = Object.new
|
|
|
|
Rails.stubs(:application).returns(application)
|
|
|
|
application.stubs(:config).returns(config)
|
|
|
|
application.stubs(:assets).returns(@assets)
|
|
|
|
|
2011-03-29 22:40:24 -04:00
|
|
|
config.perform_caching = true
|
2011-03-29 16:42:31 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def url_for(*args)
|
|
|
|
"http://www.example.com"
|
|
|
|
end
|
|
|
|
|
2011-04-19 12:07:14 -04:00
|
|
|
test "asset path" do
|
|
|
|
assert_equal "/assets/logo-9c0a079bdd7701d7e729bd956823d153.png",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("logo.png")
|
2011-04-19 12:07:14 -04:00
|
|
|
|
|
|
|
assert_equal "/images/logo",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("/images/logo")
|
2011-04-19 12:07:14 -04:00
|
|
|
assert_equal "/images/logo.gif",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("/images/logo.gif")
|
2011-04-19 12:07:14 -04:00
|
|
|
|
|
|
|
assert_equal "/dir/audio",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("/dir/audio")
|
2011-04-19 12:07:14 -04:00
|
|
|
|
|
|
|
assert_equal "http://www.example.com/video/play",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("http://www.example.com/video/play")
|
2011-04-19 12:07:14 -04:00
|
|
|
assert_equal "http://www.example.com/video/play.mp4",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("http://www.example.com/video/play.mp4")
|
2011-04-19 12:07:14 -04:00
|
|
|
end
|
|
|
|
|
2011-03-29 16:42:31 -04:00
|
|
|
test "javascript path" do
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal "/assets/application-d41d8cd98f00b204e9800998ecf8427e.js",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path(:application, "js")
|
2011-03-29 16:42:31 -04:00
|
|
|
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal "/assets/xmlhr-d41d8cd98f00b204e9800998ecf8427e.js",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("xmlhr", "js")
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal "/assets/dir/xmlhr-d41d8cd98f00b204e9800998ecf8427e.js",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("dir/xmlhr.js", "js")
|
2011-03-29 16:42:31 -04:00
|
|
|
|
|
|
|
assert_equal "/dir/xmlhr.js",
|
2011-04-19 13:05:07 -04:00
|
|
|
asset_path("/dir/xmlhr", "js")
|
2011-03-29 16:42:31 -04:00
|
|
|
|
2011-04-21 10:32:02 -04:00
|
|
|
assert_equal "http://www.example.com/js/xmlhr",
|
|
|
|
asset_path("http://www.example.com/js/xmlhr", "js")
|
|
|
|
assert_equal "http://www.example.com/js/xmlhr.js",
|
|
|
|
asset_path("http://www.example.com/js/xmlhr.js", "js")
|
2011-03-29 16:42:31 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
test "javascript include tag" do
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<script src="/assets/application-d41d8cd98f00b204e9800998ecf8427e.js" type="text/javascript"></script>',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_javascript_include_tag(:application)
|
|
|
|
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<script src="/assets/xmlhr-d41d8cd98f00b204e9800998ecf8427e.js" type="text/javascript"></script>',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_javascript_include_tag("xmlhr")
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<script src="/assets/xmlhr-d41d8cd98f00b204e9800998ecf8427e.js" type="text/javascript"></script>',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_javascript_include_tag("xmlhr.js")
|
2011-04-21 10:32:02 -04:00
|
|
|
assert_equal '<script src="http://www.example.com/xmlhr" type="text/javascript"></script>',
|
|
|
|
sprockets_javascript_include_tag("http://www.example.com/xmlhr")
|
2011-03-29 16:42:31 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
test "stylesheet path" do
|
2011-04-19 13:05:07 -04:00
|
|
|
assert_equal "/assets/application-d41d8cd98f00b204e9800998ecf8427e.css", asset_path(:application, "css")
|
2011-03-29 16:42:31 -04:00
|
|
|
|
2011-04-19 13:05:07 -04:00
|
|
|
assert_equal "/assets/style-d41d8cd98f00b204e9800998ecf8427e.css", asset_path("style", "css")
|
|
|
|
assert_equal "/assets/dir/style-d41d8cd98f00b204e9800998ecf8427e.css", asset_path("dir/style.css", "css")
|
|
|
|
assert_equal "/dir/style.css", asset_path("/dir/style.css", "css")
|
2011-03-29 16:42:31 -04:00
|
|
|
|
2011-04-21 10:32:02 -04:00
|
|
|
assert_equal "http://www.example.com/css/style",
|
|
|
|
asset_path("http://www.example.com/css/style", "css")
|
|
|
|
assert_equal "http://www.example.com/css/style.css",
|
|
|
|
asset_path("http://www.example.com/css/style.css", "css")
|
2011-03-29 16:42:31 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
test "stylesheet link tag" do
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<link href="/assets/application-d41d8cd98f00b204e9800998ecf8427e.css" media="screen" rel="stylesheet" type="text/css" />',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_stylesheet_link_tag(:application)
|
|
|
|
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<link href="/assets/style-d41d8cd98f00b204e9800998ecf8427e.css" media="screen" rel="stylesheet" type="text/css" />',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_stylesheet_link_tag("style")
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<link href="/assets/style-d41d8cd98f00b204e9800998ecf8427e.css" media="screen" rel="stylesheet" type="text/css" />',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_stylesheet_link_tag("style.css")
|
|
|
|
|
2011-04-21 10:32:02 -04:00
|
|
|
assert_equal '<link href="http://www.example.com/style.css" media="screen" rel="stylesheet" type="text/css" />',
|
|
|
|
sprockets_stylesheet_link_tag("http://www.example.com/style.css")
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<link href="/assets/style-d41d8cd98f00b204e9800998ecf8427e.css" media="all" rel="stylesheet" type="text/css" />',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_stylesheet_link_tag("style", :media => "all")
|
2011-03-29 22:40:24 -04:00
|
|
|
assert_equal '<link href="/assets/style-d41d8cd98f00b204e9800998ecf8427e.css" media="print" rel="stylesheet" type="text/css" />',
|
2011-03-29 16:42:31 -04:00
|
|
|
sprockets_stylesheet_link_tag("style", :media => "print")
|
|
|
|
end
|
|
|
|
end
|