@@ -58,9 +58,44 @@ func TestCollectAllSourceFilesFromFoldersWithSources(t *testing.T) {
5858 NoError (t , err )
5959 }
6060
61- require .Equal (t , 2 , len (* sourceFiles ))
61+ require .Equal (t , 1 , len (* sourceFiles ))
62+ require .Equal (t , 0 , len (* foldersWithSources ))
6263 sort .Strings (* sourceFiles )
6364
6465 require .Equal (t , Abs (t , filepath .Join ("sketch_with_config" , "includes" , "de bug.cpp" )), sourceFiles .Pop ())
65- require .Equal (t , Abs (t , filepath .Join ("sketch_with_config" , "sketch_with_config.ino" )), sourceFiles .Pop ())
66+ require .Equal (t , 0 , len (* sourceFiles ))
67+ }
68+
69+ func TestCollectAllSourceFilesFromFoldersWithSourcesOfLibrary (t * testing.T ) {
70+ context := make (map [string ]interface {})
71+
72+ sourceFiles := & types.UniqueStringQueue {}
73+ context [constants .CTX_COLLECTED_SOURCE_FILES_QUEUE ] = sourceFiles
74+ foldersWithSources := & types.UniqueStringQueue {}
75+ foldersWithSources .Push (Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" )))
76+ context [constants .CTX_FOLDERS_WITH_SOURCES_QUEUE ] = foldersWithSources
77+
78+ commands := []types.Command {
79+ & builder.SetupHumanLoggerIfMissing {},
80+ & builder.CollectAllSourceFilesFromFoldersWithSources {},
81+ }
82+
83+ for _ , command := range commands {
84+ err := command .Run (context )
85+ NoError (t , err )
86+ }
87+
88+ require .Equal (t , 8 , len (* sourceFiles ))
89+ require .Equal (t , 0 , len (* foldersWithSources ))
90+ sort .Strings (* sourceFiles )
91+
92+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "Bridge.cpp" )), sourceFiles .Pop ())
93+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "Console.cpp" )), sourceFiles .Pop ())
94+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "FileIO.cpp" )), sourceFiles .Pop ())
95+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "HttpClient.cpp" )), sourceFiles .Pop ())
96+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "Mailbox.cpp" )), sourceFiles .Pop ())
97+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "Process.cpp" )), sourceFiles .Pop ())
98+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "YunClient.cpp" )), sourceFiles .Pop ())
99+ require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "YunServer.cpp" )), sourceFiles .Pop ())
100+ require .Equal (t , 0 , len (* sourceFiles ))
66101}
0 commit comments