@@ -827,3 +827,25 @@ func TestSketchArchiveAbsoluteSketchPathWithAbsoluteZipPathAndNameWithExtensionW
827827 defer require .NoError (t , archive .Close ())
828828 verifyZipContainsSketchIncludingBuildDir (t , archive .File )
829829}
830+
831+ func TestSketchArchiveWithPdeMainFile (t * testing.T ) {
832+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
833+ defer env .CleanUp ()
834+
835+ sketchName := "sketch_pde_main_file"
836+ sketchDir := cli .CopySketch (sketchName )
837+ sketchFile := sketchDir .Join (sketchName + ".pde" )
838+ relPath , err := sketchFile .RelFrom (sketchDir )
839+ require .NoError (t , err )
840+ cli .SetWorkingDir (sketchDir )
841+ _ , stderr , err := cli .Run ("sketch" , "archive" )
842+ require .NoError (t , err )
843+ require .Contains (t , string (stderr ), "Sketches with .pde extension are deprecated, please rename the following files to .ino" )
844+ require .Contains (t , string (stderr ), relPath .String ())
845+ cli .SetWorkingDir (env .RootDir ())
846+
847+ archive , err := zip .OpenReader (cli .WorkingDir ().Join (sketchName + ".zip" ).String ())
848+ require .NoError (t , err )
849+ defer require .NoError (t , archive .Close ())
850+ require .Contains (t , archive .File [0 ].Name , paths .New (sketchName , sketchName + ".pde" ).String ())
851+ }
0 commit comments