@@ -53,9 +53,59 @@ func TestSketchBuildPath(t *testing.T) {
5353 require .NoError (t , err )
5454 require .Contains (t , buildPath .String (), "arduino-sketch-" )
5555
56+ // Verifies sketch path is returned if sketch has .pde extension
57+ sketchPath = paths .New ("testdata" , "SketchPde" )
58+ sketch , err = NewSketchFromPath (sketchPath )
59+ require .NoError (t , err )
60+ require .NotNil (t , sketch )
61+ buildPath , err = sketch .BuildPath ()
62+ require .NoError (t , err )
63+ require .Contains (t , buildPath .String (), "arduino-sketch-" )
64+
65+ // Verifies error is returned if there are multiple main files
66+ sketchPath = paths .New ("testdata" , "SketchMultipleMainFiles" )
67+ sketch , err = NewSketchFromPath (sketchPath )
68+ require .Nil (t , sketch )
69+ require .Error (t , err , "multiple main sketch files found" )
70+
5671 // Verifies error is returned if sketch path is not set
5772 sketch = & Sketch {}
5873 buildPath , err = sketch .BuildPath ()
5974 require .Nil (t , buildPath )
6075 require .Error (t , err , "sketch path is empty" )
6176}
77+
78+ func TestCheckForPdeFiles (t * testing.T ) {
79+ sketchPath := paths .New ("testdata" , "Sketch1" )
80+ files := CheckForPdeFiles (sketchPath )
81+ require .Empty (t , files )
82+
83+ sketchPath = paths .New ("testdata" , "SketchPde" )
84+ files = CheckForPdeFiles (sketchPath )
85+ require .Len (t , files , 1 )
86+ require .Equal (t , sketchPath .Join ("SketchPde.pde" ), files [0 ])
87+
88+ sketchPath = paths .New ("testdata" , "SketchMultipleMainFiles" )
89+ files = CheckForPdeFiles (sketchPath )
90+ require .Len (t , files , 1 )
91+ require .Equal (t , sketchPath .Join ("SketchMultipleMainFiles.pde" ), files [0 ])
92+
93+ sketchPath = paths .New ("testdata" , "Sketch1" , "Sketch1.ino" )
94+ files = CheckForPdeFiles (sketchPath )
95+ require .Empty (t , files )
96+
97+ sketchPath = paths .New ("testdata" , "SketchPde" , "SketchPde.pde" )
98+ files = CheckForPdeFiles (sketchPath )
99+ require .Len (t , files , 1 )
100+ require .Equal (t , sketchPath .Parent ().Join ("SketchPde.pde" ), files [0 ])
101+
102+ sketchPath = paths .New ("testdata" , "SketchMultipleMainFiles" , "SketchMultipleMainFiles.ino" )
103+ files = CheckForPdeFiles (sketchPath )
104+ require .Len (t , files , 1 )
105+ require .Equal (t , sketchPath .Parent ().Join ("SketchMultipleMainFiles.pde" ), files [0 ])
106+
107+ sketchPath = paths .New ("testdata" , "SketchMultipleMainFiles" , "SketchMultipleMainFiles.pde" )
108+ files = CheckForPdeFiles (sketchPath )
109+ require .Len (t , files , 1 )
110+ require .Equal (t , sketchPath .Parent ().Join ("SketchMultipleMainFiles.pde" ), files [0 ])
111+ }
0 commit comments