summaryrefslogtreecommitdiff
path: root/internal/askcli/formatter_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-23 13:35:07 +0200
committerPaul Buetow <paul@buetow.org>2026-03-23 13:35:07 +0200
commitbc0849e96fe41e509af4306c0953f463a7fad155 (patch)
treeca80dd932d177bdbe9eb80cb8bffe4197d50e625 /internal/askcli/formatter_test.go
parent462184dff3eef32f01f06634305da1355ac1bec2 (diff)
fix: accept uuid: prefix on all ask subcommands via NormalizeUUID
All ask commands now strip a leading "uuid:" prefix from user-supplied UUID arguments before building the taskwarrior filter, so both bare UUIDs and the "uuid:<value>" format work uniformly across annotate, start, stop, done, modify, denotate, priority, tag, info, delete, and dep. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/askcli/formatter_test.go')
-rw-r--r--internal/askcli/formatter_test.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/askcli/formatter_test.go b/internal/askcli/formatter_test.go
index 394ea91..50d6ae3 100644
--- a/internal/askcli/formatter_test.go
+++ b/internal/askcli/formatter_test.go
@@ -106,6 +106,25 @@ func TestIsNumericID(t *testing.T) {
}
}
+func TestNormalizeUUID(t *testing.T) {
+ cases := []struct {
+ input string
+ want string
+ }{
+ {"fc390139-cc08-413f-a411-f2feae4875a3", "fc390139-cc08-413f-a411-f2feae4875a3"},
+ {"uuid:fc390139-cc08-413f-a411-f2feae4875a3", "fc390139-cc08-413f-a411-f2feae4875a3"},
+ {"fc390139", "fc390139"},
+ {"uuid:fc390139", "fc390139"},
+ {"", ""},
+ }
+ for _, c := range cases {
+ got := NormalizeUUID(c.input)
+ if got != c.want {
+ t.Errorf("NormalizeUUID(%q) = %q, want %q", c.input, got, c.want)
+ }
+ }
+}
+
func TestRejectNumericID(t *testing.T) {
output := RejectNumericID()
if !strings.Contains(output, "use UUID") {