diff --git a/testdata/ffmpeg.d/cmd/prune/main_test.go b/testdata/ffmpeg.d/cmd/prune/main_test.go index 911696f..431b0bb 100644 --- a/testdata/ffmpeg.d/cmd/prune/main_test.go +++ b/testdata/ffmpeg.d/cmd/prune/main_test.go @@ -2,11 +2,49 @@ package main import ( "context" + "os" + "path" "testing" ) func TestRun(t *testing.T) { - if err := Run(context.Background(), []string{}); err != nil { + d := path.Join(t.TempDir(), "record") + if err := os.MkdirAll(d, os.ModePerm); err != nil { t.Fatal(err) } + if a, err := os.ReadFile(path.Join("testdata", "a.jpg")); err != nil { + t.Fatal(err) + } else if b, err := os.ReadFile(path.Join("testdata", "b.jpg")); err != nil { + t.Fatal(err) + } else if err := os.WriteFile(path.Join(d, "series.0.jpg"), a, os.ModePerm); err != nil { + t.Fatal(err) + } else if err := os.WriteFile(path.Join(d, "series.1.jpg"), a, os.ModePerm); err != nil { + t.Fatal(err) + } else if err := os.WriteFile(path.Join(d, "series.2.jpg"), b, os.ModePerm); err != nil { + t.Fatal(err) + } else if err := os.WriteFile(path.Join(d, "series.3.jpg"), b, os.ModePerm); err != nil { + t.Fatal(err) + } else if err := os.WriteFile(path.Join(d, "zlast.0.jpg"), b, os.ModePerm); err != nil { + t.Fatal(err) + } + + t.Log("lsd", path.Dir(d)) + t.Log(lsd(path.Dir(d))) + + t.Log("lsf", d) + t.Log(lsf(d)) + + if err := Run(context.Background(), []string{path.Dir(d)}); err != nil { + t.Fatal(err) + } + + if results, err := lsf(path.Join(path.Dir(d), "movement")); err != nil { + t.Fatal(err) + } else if len(results) < 2 { + t.Fatal(results) + } else if path.Base(results[0]) != "series.1.jpg" { + t.Fatal(results) + } else if path.Base(results[1]) != "series.2.jpg" { + t.Fatal(results) + } }