Files
renamer/tests/unit/replace_parser_test.go

32 lines
828 B
Go

package replace_test
import (
"testing"
"github.com/rogeecn/renamer/internal/replace"
)
func TestParseArgsHandlesWhitespaceAndDuplicates(t *testing.T) {
args := []string{" draft ", "Draft", "draft", "final"}
result, err := replace.ParseArgs(args)
if err != nil {
t.Fatalf("ParseArgs returned error: %v", err)
}
if len(result.Patterns) != 2 {
t.Fatalf("expected 2 unique patterns, got %d", len(result.Patterns))
}
if len(result.Duplicates) != 1 {
t.Fatalf("expected duplicate reported, got %d", len(result.Duplicates))
}
if result.Replacement != "final" {
t.Fatalf("replacement mismatch: %s", result.Replacement)
}
}
func TestParseArgsRequiresSufficientTokens(t *testing.T) {
if _, err := replace.ParseArgs([]string{"onlyone"}); err == nil {
t.Fatalf("expected error when replacement missing")
}
}