From 2f41e958640e0e41ca40c73b733d66df75e1e0fe Mon Sep 17 00:00:00 2001 From: mkelvers Date: Tue, 16 Jun 2026 17:25:20 +0200 Subject: [PATCH] fix: include sfw in browseURL generation --- templates/funcs.go | 4 ++-- templates/funcs_test.go | 23 +++++++++++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/templates/funcs.go b/templates/funcs.go index 5ba80ff..fdea393 100644 --- a/templates/funcs.go +++ b/templates/funcs.go @@ -58,8 +58,8 @@ func browseURL(v map[string]any, overrides map[string]any) (string, error) { setQueryValue(values, "order_by", stringValue(v["OrderBy"])) setQueryValue(values, "sort", stringValue(v["Sort"])) setQueryValue(values, "studio", stringValue(v["Studio"])) - if sfw, ok := v["SFW"]; ok && !boolValue(sfw) { - values.Set("sfw", "false") + if sfw, ok := v["SFW"]; ok { + values.Set("sfw", strconv.FormatBool(boolValue(sfw))) } for _, genre := range intSliceValue(v["Genres"]) { values.Add("genres", strconv.Itoa(genre)) diff --git a/templates/funcs_test.go b/templates/funcs_test.go index 14057cb..8639f97 100644 --- a/templates/funcs_test.go +++ b/templates/funcs_test.go @@ -86,7 +86,7 @@ func TestBrowseURLPreservesAndOverridesParams(t *testing.T) { t.Fatalf("browseURL error: %v", err) } - want := "/browse?genres=1&genres=2&order_by=score&page=4&q=full+metal&sort=asc&studio=42&type=tv" + want := "/browse?genres=1&genres=2&order_by=score&page=4&q=full+metal&sfw=true&sort=asc&studio=42&type=tv" if got != want { t.Fatalf("unexpected url\nwant: %s\ngot: %s", want, got) } @@ -117,7 +117,7 @@ func TestBrowseURLClearsAndEncodesValues(t *testing.T) { } } -func TestBrowseURLPreservesDefaultSFWOmitted(t *testing.T) { +func TestBrowseURLWithoutSFWStateOmitsParameter(t *testing.T) { t.Parallel() got, err := browseURL( @@ -135,6 +135,25 @@ func TestBrowseURLPreservesDefaultSFWOmitted(t *testing.T) { } } +func TestBrowseURLIncludesSFWTrue(t *testing.T) { + t.Parallel() + + got, err := browseURL( + map[string]any{ + "Query": "monster", + "SFW": true, + }, + nil, + ) + if err != nil { + t.Fatalf("browseURL error: %v", err) + } + + if got != "/browse?q=monster&sfw=true" { + t.Fatalf("expected sfw=true, got %s", got) + } +} + func TestBrowseURLSFWFalse(t *testing.T) { t.Parallel()