@@ -33,7 +33,7 @@ func makeFileInDir(assert *require.Assertions, path string, text string) {
3333func TestNilRuntime (t * testing.T ) {
3434 assert := require .New (t )
3535
36- loader := New ("" , "" , nullScope , & SymlinkRefresher {RuntimePath : "" })
36+ loader := New ("" , "" , nullScope , & SymlinkRefresher {RuntimePath : "" }, AllowDotFiles )
3737 snapshot := loader .Snapshot ()
3838 assert .Equal ("" , snapshot .Get ("foo" ))
3939 assert .Equal (uint64 (100 ), snapshot .GetInteger ("bar" , 100 ))
@@ -57,7 +57,7 @@ func TestSymlinkRefresher(t *testing.T) {
5757 err = os .Symlink (tempDir + "/testdir1" , tempDir + "/current" )
5858 assert .NoError (err )
5959
60- loader := New (tempDir + "/current" , "app" , nullScope , & SymlinkRefresher {RuntimePath : tempDir + "/current" })
60+ loader := New (tempDir + "/current" , "app" , nullScope , & SymlinkRefresher {RuntimePath : tempDir + "/current" }, AllowDotFiles )
6161 runtime_update := make (chan int )
6262 loader .AddUpdateCallback (runtime_update )
6363 snapshot := loader .Snapshot ()
@@ -101,6 +101,30 @@ func TestSymlinkRefresher(t *testing.T) {
101101 assert .EqualValues ([]string {"dir.file2" , "dir2.file3" , "file1" }, keys )
102102}
103103
104+ func TestIgnoreDotfiles (t * testing.T ) {
105+ assert := require .New (t )
106+
107+ // Setup base test directory.
108+ tempDir , err := ioutil .TempDir ("" , "runtime_test" )
109+ assert .NoError (err )
110+ defer os .RemoveAll (tempDir )
111+
112+ // Make test files for runtime snapshot.
113+ makeFileInDir (assert , tempDir + "/testdir1/app/dir3/.file4" , ".file4" )
114+ makeFileInDir (assert , tempDir + "/testdir1/app/.dir/file5" , ".dir" )
115+ assert .NoError (err )
116+
117+ loaderIgnoreDotfiles := New (tempDir + "/testdir1" , "app" , nullScope , & SymlinkRefresher {RuntimePath : tempDir + "/testdir1" }, IgnoreDotFiles )
118+ snapshot := loaderIgnoreDotfiles .Snapshot ()
119+ assert .Equal ("" , snapshot .Get ("dir3..file4" ))
120+ assert .Equal ("" , snapshot .Get (".dir.file5" ))
121+
122+ loaderIncludeDotfiles := New (tempDir + "/testdir1" , "app" , nullScope , & SymlinkRefresher {RuntimePath : tempDir + "/testdir1" }, AllowDotFiles )
123+ snapshot = loaderIncludeDotfiles .Snapshot ()
124+ assert .Equal (".file4" , snapshot .Get ("dir3..file4" ))
125+ assert .Equal (".dir" , snapshot .Get (".dir.file5" ))
126+ }
127+
104128func TestDirectoryRefresher (t * testing.T ) {
105129 assert := require .New (t )
106130
@@ -113,7 +137,7 @@ func TestDirectoryRefresher(t *testing.T) {
113137 err = os .MkdirAll (appDir , os .ModeDir | os .ModePerm )
114138 assert .NoError (err )
115139
116- loader := New (tempDir , "app" , nullScope , & DirectoryRefresher {})
140+ loader := New (tempDir , "app" , nullScope , & DirectoryRefresher {}, AllowDotFiles )
117141 runtime_update := make (chan int )
118142 loader .AddUpdateCallback (runtime_update )
119143 snapshot := loader .Snapshot ()
0 commit comments