File tree Expand file tree Collapse file tree 4 files changed +33
-9
lines changed 
lib/external_asset_pipeline 
test/external_asset_pipeline Expand file tree Collapse file tree 4 files changed +33
-9
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,11 @@ def data
2929
3030    def  load 
3131      JSON . parse ( @config . manifest_path . read ) 
32+     rescue  Errno ::ENOENT 
33+       warning  =  "No file exists at path #{ @config . manifest_path }  \
34+         'treating it as an empty manifest' 
35+       @config . logger . warn  warning 
36+       { } 
3237    end 
3338  end 
3439end 
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true 
2+ 
3+ module  ExternalAssetPipeline 
4+   class  LoggerDouble 
5+     attr_reader  :messages 
6+ 
7+     def  warn ( message ) 
8+       @messages  ||= [ ] 
9+       @messages  << message 
10+     end 
11+   end 
12+ end 
Original file line number Diff line number Diff line change 33require  'test_helper' 
44
55require  'external_asset_pipeline/configuration' 
6+ require  'external_asset_pipeline/logger_double' 
67require  'external_asset_pipeline/manifest' 
78
89module  ExternalAssetPipeline 
@@ -46,6 +47,20 @@ def test_find_when_manifest_values_include_prefix
4647      assert_nil  manifest . find ( 'missing-asset.css' ) 
4748    end 
4849
50+     def  test_find_when_manifest_file_does_not_exist 
51+       config  =  Configuration . new 
52+       config . public_path  =  Pathname . new ( TEST_APP_PUBLIC_PATH ) 
53+       config . manifest_filename  =  'bogus_manifest.json' 
54+       config . logger  =  LoggerDouble . new 
55+ 
56+       manifest  =  Manifest . new ( config ) 
57+       assert_nil  manifest . find  'application.js' 
58+ 
59+       expected_log_warning  =  "No file exists at path #{ config . manifest_path }  \
60+         'treating it as an empty manifest' 
61+       assert_equal  [ expected_log_warning ] ,  config . logger . messages 
62+     end 
63+ 
4964    def  test_manifest_caching 
5065      config  =  Configuration . new 
5166      config . public_path  =  Pathname . new ( TEST_APP_PUBLIC_PATH ) 
Original file line number Diff line number Diff line change 33require  'test_helper' 
44
55require  'external_asset_pipeline/configuration' 
6+ require  'external_asset_pipeline/logger_double' 
67require  'external_asset_pipeline/server_double' 
78require  'external_asset_pipeline/server_manifest' 
89require  'json' 
@@ -49,14 +50,5 @@ def test_find
4950      assert_equal  [ expected_log_warning ]  * 3 ,  @config . logger . messages 
5051      assert_equal  '/packs/manifest.json' ,  server_stub . path 
5152    end 
52- 
53-     class  LoggerDouble 
54-       attr_reader  :messages 
55- 
56-       def  warn ( message ) 
57-         @messages  ||= [ ] 
58-         @messages  << message 
59-       end 
60-     end 
6153  end 
6254end 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments