package workspace import ( "os" "path/filepath" "strings" "testing" ) func TestSanitizeName_ReplacesUnsafeChars(t *testing.T) { got := sanitizeName("runner / with\\bad:chars") if strings.ContainsAny(got, " /\\:") { t.Fatalf("sanitizeName did not sanitize input: %q", got) } } func TestFindBlendFiles_IgnoresBlendSaveFiles(t *testing.T) { dir := t.TempDir() if err := os.WriteFile(filepath.Join(dir, "scene.blend"), []byte("x"), 0644); err != nil { t.Fatal(err) } if err := os.WriteFile(filepath.Join(dir, "scene.blend1"), []byte("x"), 0644); err != nil { t.Fatal(err) } files, err := FindBlendFiles(dir) if err != nil { t.Fatalf("FindBlendFiles failed: %v", err) } if len(files) != 1 || files[0] != "scene.blend" { t.Fatalf("unexpected files: %#v", files) } } func TestFindFirstBlendFile_ReturnsErrorWhenMissing(t *testing.T) { _, err := FindFirstBlendFile(t.TempDir()) if err == nil { t.Fatal("expected error when no blend file exists") } }