Skip to content

Commit e1e26ab

Browse files
committed
Assert that generated urls can be served
1 parent a02eff0 commit e1e26ab

File tree

1 file changed

+53
-13
lines changed

1 file changed

+53
-13
lines changed

test/test_helper.rb

Lines changed: 53 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class HelperTest < Minitest::Test
1010
FIXTURES_PATH = File.expand_path("../fixtures", __FILE__)
1111

1212
def setup
13-
assets = @assets = Sprockets::Environment.new
13+
@assets = Sprockets::Environment.new
1414
@assets.append_path FIXTURES_PATH
1515
@assets.context_class.class_eval do
1616
include ::Sprockets::Rails::Helper
@@ -48,6 +48,18 @@ def setup
4848

4949
def test_truth
5050
end
51+
52+
def assert_asset_url(url)
53+
path, query = url.split("?", 2)
54+
path = path.sub(@view.assets_prefix, "")
55+
56+
status = @assets.call({
57+
'REQUEST_METHOD' => 'GET',
58+
'PATH_INFO' => path,
59+
'QUERY_STRING' => query
60+
})[0]
61+
assert_equal 200, status, "#{url} responded with #{status}"
62+
end
5163
end
5264

5365
class NoHostHelperTest < HelperTest
@@ -200,6 +212,8 @@ def test_javascript_include_tag
200212
@view.javascript_include_tag("foo.js")
201213
assert_equal %(<script src="/assets/foo.js"></script>),
202214
@view.javascript_include_tag(:foo)
215+
216+
assert_asset_url "/assets/foo.js"
203217
end
204218

205219
def test_stylesheet_link_tag
@@ -211,18 +225,22 @@ def test_stylesheet_link_tag
211225
@view.stylesheet_link_tag("foo.css")
212226
assert_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" />),
213227
@view.stylesheet_link_tag(:foo)
228+
229+
assert_asset_url "/assets/foo.css"
214230
end
215231

216232
def test_javascript_path
217233
super
218234

219235
assert_equal "/assets/foo.js", @view.javascript_path("foo")
236+
assert_asset_url "/assets/foo.js"
220237
end
221238

222239
def test_stylesheet_path
223240
super
224241

225242
assert_equal "/assets/foo.css", @view.stylesheet_path("foo")
243+
assert_asset_url "/assets/foo.css"
226244
end
227245

228246
def test_asset_digest
@@ -252,6 +270,8 @@ def test_javascript_include_tag
252270
@view.javascript_include_tag("foo.js")
253271
assert_equal %(<script src="/assets/foo-#{@foo_js_digest}.js"></script>),
254272
@view.javascript_include_tag(:foo)
273+
274+
assert_asset_url "/assets/foo-#{@foo_js_digest}.js"
255275
end
256276

257277
def test_stylesheet_link_tag
@@ -263,18 +283,22 @@ def test_stylesheet_link_tag
263283
@view.stylesheet_link_tag("foo.css")
264284
assert_equal %(<link href="/assets/foo-#{@foo_css_digest}.css" media="screen" rel="stylesheet" />),
265285
@view.stylesheet_link_tag(:foo)
286+
287+
assert_asset_url "/assets/foo-#{@foo_css_digest}.css"
266288
end
267289

268290
def test_javascript_path
269291
super
270292

271293
assert_equal "/assets/foo-#{@foo_js_digest}.js", @view.javascript_path("foo")
294+
assert_asset_url "/assets/foo-#{@foo_js_digest}.js"
272295
end
273296

274297
def test_stylesheet_path
275298
super
276299

277300
assert_equal "/assets/foo-#{@foo_css_digest}.css", @view.stylesheet_path("foo")
301+
assert_asset_url "/assets/foo-#{@foo_css_digest}.css"
278302
end
279303

280304
def test_asset_digest
@@ -308,6 +332,12 @@ def test_javascript_include_tag
308332
@view.javascript_include_tag(:bar)
309333
assert_equal %(<script src="/assets/dependency.js?body=1"></script>\n<script src="/assets/file1.js?body=1"></script>\n<script src="/assets/file2.js?body=1"></script>),
310334
@view.javascript_include_tag(:file1, :file2)
335+
336+
assert_asset_url "/assets/foo.js?body=1"
337+
assert_asset_url "/assets/bar.js?body=1"
338+
assert_asset_url "/assets/dependency.js?body=1"
339+
assert_asset_url "/assets/file1.js?body=1"
340+
assert_asset_url "/assets/file2.js?body=1"
311341
end
312342

313343
def test_stylesheet_link_tag
@@ -319,18 +349,26 @@ def test_stylesheet_link_tag
319349
@view.stylesheet_link_tag(:bar)
320350
assert_equal %(<link href="/assets/dependency.css?body=1" media="screen" rel="stylesheet" />\n<link href="/assets/file1.css?body=1" media="screen" rel="stylesheet" />\n<link href="/assets/file2.css?body=1" media="screen" rel="stylesheet" />),
321351
@view.stylesheet_link_tag(:file1, :file2)
352+
353+
assert_asset_url "/assets/foo.css?body=1"
354+
assert_asset_url "/assets/bar.css?body=1"
355+
assert_asset_url "/assets/dependency.css?body=1"
356+
assert_asset_url "/assets/file1.css?body=1"
357+
assert_asset_url "/assets/file2.css?body=1"
322358
end
323359

324360
def test_javascript_path
325361
super
326362

327363
assert_equal "/assets/foo.js", @view.javascript_path("foo")
364+
assert_asset_url "/assets/foo.js"
328365
end
329366

330367
def test_stylesheet_path
331368
super
332369

333370
assert_equal "/assets/foo.css", @view.stylesheet_path("foo")
371+
assert_asset_url "/assets/foo.css"
334372
end
335373
end
336374

@@ -351,6 +389,12 @@ def test_javascript_include_tag
351389
@view.javascript_include_tag(:bar)
352390
assert_equal %(<script src="/assets/dependency-#{@dependency_js_digest}.js?body=1"></script>\n<script src="/assets/file1-#{@file1_js_digest}.js?body=1"></script>\n<script src="/assets/file2-#{@file1_js_digest}.js?body=1"></script>),
353391
@view.javascript_include_tag(:file1, :file2)
392+
393+
assert_asset_url "/assets/foo-#{@foo_js_digest}.js?body=1"
394+
assert_asset_url "/assets/bar-#{@bar_js_digest}.js?body=1"
395+
assert_asset_url "/assets/dependency-#{@dependency_js_digest}.js?body=1"
396+
assert_asset_url "/assets/file1-#{@file1_js_digest}.js?body=1"
397+
assert_asset_url "/assets/file2-#{@file2_js_digest}.js?body=1"
354398
end
355399

356400
def test_stylesheet_link_tag
@@ -362,30 +406,26 @@ def test_stylesheet_link_tag
362406
@view.stylesheet_link_tag(:bar)
363407
assert_equal %(<link href="/assets/dependency-#{@dependency_css_digest}.css?body=1" media="screen" rel="stylesheet" />\n<link href="/assets/file1-#{@file1_css_digest}.css?body=1" media="screen" rel="stylesheet" />\n<link href="/assets/file2-#{@file2_css_digest}.css?body=1" media="screen" rel="stylesheet" />),
364408
@view.stylesheet_link_tag(:file1, :file2)
365-
end
366409

367-
def test_javascript_path
368-
super
369-
370-
assert_equal "/assets/foo.js", @view.javascript_path("foo")
371-
end
372-
373-
def test_stylesheet_path
374-
super
375-
376-
assert_equal "/assets/foo.css", @view.stylesheet_path("foo")
410+
assert_asset_url "/assets/foo-#{@foo_css_digest}.css?body=1"
411+
assert_asset_url "/assets/bar-#{@bar_css_digest}.css?body=1"
412+
assert_asset_url "/assets/dependency-#{@dependency_css_digest}.css?body=1"
413+
assert_asset_url "/assets/file1-#{@file1_css_digest}.css?body=1"
414+
assert_asset_url "/assets/file2-#{@file2_css_digest}.css?body=1"
377415
end
378416

379417
def test_javascript_path
380418
super
381419

382420
assert_equal "/assets/foo-#{@foo_js_digest}.js", @view.javascript_path("foo")
421+
assert_asset_url "/assets/foo-#{@foo_js_digest}.js"
383422
end
384423

385424
def test_stylesheet_path
386425
super
387426

388427
assert_equal "/assets/foo-#{@foo_css_digest}.css", @view.stylesheet_path("foo")
428+
assert_asset_url "/assets/foo-#{@foo_css_digest}.css"
389429
end
390430

391431
def test_asset_digest
@@ -526,7 +566,7 @@ def test_asset_not_precompiled_error
526566
@view.javascript_include_tag("foo")
527567
end
528568

529-
error = assert_raises(Sprockets::Rails::Helper::AssetFilteredError) do
569+
assert_raises(Sprockets::Rails::Helper::AssetFilteredError) do
530570
@view.javascript_include_tag(:foo)
531571
end
532572

0 commit comments

Comments
 (0)