fix: prefer original over japanese in db displaytitle
This commit is contained in:
@@ -11,9 +11,15 @@ func NullStringOr(n sql.NullString, fallback string) string {
|
||||
return fallback
|
||||
}
|
||||
|
||||
// DisplayTitle returns the English title, falling back to Japanese then original
|
||||
// DisplayTitle returns the English title, falling back to original then Japanese.
|
||||
func DisplayTitle(titleEnglish, titleJapanese sql.NullString, titleOriginal string) string {
|
||||
return NullStringOr(titleEnglish, NullStringOr(titleJapanese, titleOriginal))
|
||||
if titleEnglish.Valid && titleEnglish.String != "" {
|
||||
return titleEnglish.String
|
||||
}
|
||||
if titleOriginal != "" {
|
||||
return titleOriginal
|
||||
}
|
||||
return NullStringOr(titleJapanese, titleOriginal)
|
||||
}
|
||||
|
||||
func (r GetUserWatchListRow) DisplayTitle() string {
|
||||
|
||||
30
internal/db/helpers_test.go
Normal file
30
internal/db/helpers_test.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDisplayTitlePrefersOriginalBeforeJapanese(t *testing.T) {
|
||||
got := DisplayTitle(
|
||||
sql.NullString{},
|
||||
sql.NullString{String: "サイバーパンク エッジランナーズ", Valid: true},
|
||||
"Cyberpunk: Edgerunners",
|
||||
)
|
||||
|
||||
if got != "Cyberpunk: Edgerunners" {
|
||||
t.Fatalf("DisplayTitle() = %q, want original title", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDisplayTitlePrefersEnglish(t *testing.T) {
|
||||
got := DisplayTitle(
|
||||
sql.NullString{String: "Frieren: Beyond Journey's End", Valid: true},
|
||||
sql.NullString{String: "葬送のフリーレン", Valid: true},
|
||||
"Sousou no Frieren",
|
||||
)
|
||||
|
||||
if got != "Frieren: Beyond Journey's End" {
|
||||
t.Fatalf("DisplayTitle() = %q, want English title", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user