@@ -33,6 +33,8 @@ def setup
33
33
@foo_js_digest = @assets [ 'foo.js' ] . digest
34
34
@foo_css_digest = @assets [ 'foo.css' ] . digest
35
35
@logo_digest = @assets [ "logo.png" ] . digest
36
+
37
+ Sprockets ::Rails ::Helper . raise_runtime_errors = false
36
38
end
37
39
38
40
def test_truth
@@ -370,10 +372,25 @@ def test_stylesheet_path
370
372
assert_equal "/assets/foo-#{ @foo_css_digest } .css" , @view . stylesheet_path ( "foo" )
371
373
end
372
374
373
- def test_public_folder_fallback_works_correctly
375
+ def test_asset_digest_path
376
+ assert_equal "foo-#{ @foo_js_digest } .js" , @view . asset_digest_path ( "foo.js" )
377
+ assert_equal "foo-#{ @foo_css_digest } .css" , @view . asset_digest_path ( "foo.css" )
378
+ end
379
+
380
+ def test_asset_digest
381
+ assert_equal @foo_js_digest , @view . asset_digest ( "foo.js" )
382
+ assert_equal @foo_css_digest , @view . asset_digest ( "foo.css" )
383
+ end
384
+ end
385
+
386
+ class PrecompileHelperTest < HelperTest
387
+ def setup
388
+ super
389
+
374
390
Sprockets ::Rails ::Helper . raise_runtime_errors = true
375
- @view . debug_assets = true
391
+ end
376
392
393
+ def test_public_folder_fallback_works_correctly
377
394
@view . asset_path ( "asset-does-not-exist-foo.js" )
378
395
@view . asset_url ( "asset-does-not-exist-foo.js" )
379
396
@view . stylesheet_link_tag ( "asset-does-not-exist-foo.js" )
@@ -397,10 +414,7 @@ def test_absolute_asset_path_error
397
414
end
398
415
399
416
def test_asset_not_precompiled_error
400
- Sprockets ::Rails ::Helper . raise_runtime_errors = true
401
- Sprockets ::Rails ::Helper . precompile = [ lambda { |logical_path | false } ]
402
- @view . assets_environment = @assets
403
- @view . debug_assets = true
417
+ Sprockets ::Rails ::Helper . precompile = [ lambda { |logical_path | false } ]
404
418
405
419
assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
406
420
@view . asset_path ( "foo.js" )
@@ -410,6 +424,14 @@ def test_asset_not_precompiled_error
410
424
@view . asset_url ( "foo.js" )
411
425
end
412
426
427
+ assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
428
+ @view . javascript_path ( "foo" )
429
+ end
430
+
431
+ assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
432
+ @view . javascript_url ( "foo" )
433
+ end
434
+
413
435
assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
414
436
@view . javascript_include_tag ( "foo.js" )
415
437
end
@@ -426,10 +448,20 @@ def test_asset_not_precompiled_error
426
448
427
449
@view . asset_path ( "foo.js" )
428
450
@view . asset_url ( "foo.js" )
451
+ @view . javascript_path ( "foo" )
452
+ @view . javascript_url ( "foo" )
429
453
@view . javascript_include_tag ( "foo.js" )
430
454
@view . javascript_include_tag ( "foo" )
431
455
@view . javascript_include_tag ( :foo )
432
456
457
+ assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
458
+ @view . stylesheet_path ( "foo" )
459
+ end
460
+
461
+ assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
462
+ @view . stylesheet_url ( "foo" )
463
+ end
464
+
433
465
assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
434
466
@view . stylesheet_link_tag ( "foo" )
435
467
end
@@ -440,31 +472,49 @@ def test_asset_not_precompiled_error
440
472
@view . javascript_include_tag ( "foo" )
441
473
end
442
474
475
+ @view . stylesheet_path ( "foo" )
476
+ @view . stylesheet_url ( "foo" )
443
477
@view . stylesheet_link_tag ( "foo" )
444
478
445
479
Sprockets ::Rails ::Helper . precompile = [ lambda { |logical_path | true } ]
446
480
447
481
@view . asset_path ( "foo.js" )
448
482
@view . asset_url ( "foo.js" )
483
+ @view . javascript_path ( "foo" )
484
+ @view . javascript_url ( "foo" )
449
485
@view . javascript_include_tag ( "foo.js" )
450
486
@view . javascript_include_tag ( "foo" )
451
487
@view . javascript_include_tag ( :foo )
488
+ @view . stylesheet_path ( "foo" )
489
+ @view . stylesheet_url ( "foo" )
452
490
@view . stylesheet_link_tag ( "foo" )
453
491
end
454
492
455
- def test_asset_digest_path
456
- assert_equal "foo-#{ @foo_js_digest } .js" , @view . asset_digest_path ( "foo.js" )
457
- assert_equal "foo-#{ @foo_css_digest } .css" , @view . asset_digest_path ( "foo.css" )
493
+ def test_debug_mode
494
+ @view . debug_assets = true
495
+
496
+ Sprockets ::Rails ::Helper . precompile = [ lambda { |logical_path | false } ]
497
+
498
+ assert_raises ( Sprockets ::Rails ::Helper ::AssetFilteredError ) do
499
+ @view . javascript_include_tag ( "bar" )
500
+ end
501
+
502
+ Sprockets ::Rails ::Helper . precompile = [ 'bar.js' ]
503
+
504
+ @view . javascript_include_tag ( "bar" )
458
505
end
459
506
460
- def test_asset_digest
461
- assert_equal @foo_js_digest , @view . asset_digest ( "foo.js" )
462
- assert_equal @foo_css_digest , @view . asset_digest ( "foo.css" )
507
+ def test_non_javascripts_and_stylesheets
508
+ loose_app_assets = lambda do |filename |
509
+ !%w( .js .css ) . include? ( File . extname ( filename ) )
510
+ end
511
+ Sprockets ::Rails ::Helper . precompile = [ loose_app_assets , /(?:\/ |\\ |\A )application\. (css|js)$/ ]
512
+
513
+ @view . asset_path ( "logo.png" )
463
514
end
464
515
end
465
516
466
517
class AutomaticDependenciesFromHelpersTest < HelperTest
467
-
468
518
def test_dependency_added
469
519
assert_equal [ "logo.png" , "url.css.erb" ] , @assets [ 'url.css' ] . send ( :dependency_paths ) . map { |d | File . basename ( d . pathname ) } . sort
470
520
end
0 commit comments