func TestLoadSketch(t *testing.T) { context := make(map[string]interface{}) context[constants.CTX_SKETCH_LOCATION] = filepath.Join("sketch1", "sketch.ino") loggerCommand := builder.SetupHumanLoggerIfMissing{} err := loggerCommand.Run(context) NoError(t, err) loader := builder.SketchLoader{} err = loader.Run(context) NoError(t, err) sketch := context[constants.CTX_SKETCH].(*types.Sketch) require.NotNil(t, sketch) require.True(t, strings.Index(sketch.MainFile.Name, "sketch.ino") != -1) require.Equal(t, 2, len(sketch.OtherSketchFiles)) require.True(t, strings.Index(sketch.OtherSketchFiles[0].Name, "old.pde") != -1) require.True(t, strings.Index(sketch.OtherSketchFiles[1].Name, "other.ino") != -1) require.Equal(t, 2, len(sketch.AdditionalFiles)) require.True(t, strings.Index(sketch.AdditionalFiles[0].Name, "header.h") != -1) require.True(t, strings.Index(sketch.AdditionalFiles[1].Name, "helper.h") != -1) }
func TestFailToLoadSketchFromFolder(t *testing.T) { ctx := &types.Context{ SketchLocation: "./sketch1", } loader := builder.SketchLoader{} err := loader.Run(ctx) require.Error(t, err) require.Nil(t, ctx.Sketch) }
func TestLoadSketchNonExistentPath(t *testing.T) { ctx := &types.Context{ SketchLocation: "asdasd78128123981723981273asdasd", } loader := builder.SketchLoader{} err := loader.Run(ctx) require.Error(t, err) require.Nil(t, ctx.Sketch) }
func TestFailToLoadSketchFromFolder(t *testing.T) { context := make(map[string]interface{}) context[constants.CTX_SKETCH_LOCATION] = "./sketch1" loggerCommand := builder.SetupHumanLoggerIfMissing{} err := loggerCommand.Run(context) NoError(t, err) loader := builder.SketchLoader{} err = loader.Run(context) require.Error(t, err) sketch := context[constants.CTX_SKETCH] require.Nil(t, sketch) }
func TestLoadSketchNonExistentPath(t *testing.T) { context := make(map[string]interface{}) context[constants.CTX_SKETCH_LOCATION] = "asdasd78128123981723981273asdasd" loggerCommand := builder.SetupHumanLoggerIfMissing{} err := loggerCommand.Run(context) NoError(t, err) loader := builder.SketchLoader{} err = loader.Run(context) require.Error(t, err) sketch := context[constants.CTX_SKETCH] require.Nil(t, sketch) }
func TestLoadSketchFromFolder(t *testing.T) { context := make(map[string]interface{}) context[constants.CTX_SKETCH_LOCATION] = "sketch_with_subfolders" loggerCommand := builder.SetupHumanLoggerIfMissing{} err := loggerCommand.Run(context) NoError(t, err) loader := builder.SketchLoader{} err = loader.Run(context) NoError(t, err) sketch := context[constants.CTX_SKETCH].(*types.Sketch) require.NotNil(t, sketch) require.True(t, strings.Index(sketch.MainFile.Name, "sketch_with_subfolders.ino") != -1) require.Equal(t, 1, len(sketch.AdditionalFiles)) require.True(t, strings.Index(sketch.AdditionalFiles[0].Name, "other.cpp") != -1) }