summaryrefslogtreecommitdiff
path: root/internal/batch/processor_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-01-21 21:43:40 +0200
committerPaul Buetow <paul@buetow.org>2026-01-21 21:43:40 +0200
commit8a4b935792c50101cf65b36e44f376c90c2d08c1 (patch)
tree2a8288e935fe89738fbc1243253bb638dc2620a8 /internal/batch/processor_test.go
parent2bd22f79f739136a7d30cf156979e2f2b23b7c65 (diff)
improve: better audio player UI and debugging for bg-bg cards
- Add debug logging to navigation.go to diagnose audio file loading issues Prints paths being checked and whether files are found - Improve AudioPlayer UI for Bulgarian-Bulgarian cards: - Add labels showing 'Front' and 'Back' for bg-bg audio buttons - Labels only show when audio files are actually loaded - Better visual distinction between the two playable audios - Reorganized button layout with VBox for cleaner appearance - Track bg-bg state in AudioPlayer (isBgBg field) - Automatically set when back audio file is loaded - Used to determine when to show labels This makes it clearer that Bulgarian-Bulgarian cards have two independently playable audio outputs, and helps debug why audio isn't being loaded.
Diffstat (limited to 'internal/batch/processor_test.go')
-rw-r--r--internal/batch/processor_test.go70
1 files changed, 47 insertions, 23 deletions
diff --git a/internal/batch/processor_test.go b/internal/batch/processor_test.go
index fd9065b..fc4f7b0 100644
--- a/internal/batch/processor_test.go
+++ b/internal/batch/processor_test.go
@@ -5,6 +5,8 @@ import (
"path/filepath"
"reflect"
"testing"
+
+ "codeberg.org/snonux/totalrecall/internal"
)
func TestReadBatchFile(t *testing.T) {
@@ -30,9 +32,9 @@ func TestReadBatchFile(t *testing.T) {
котка = cat
куче = dog`,
want: []WordEntry{
- {Bulgarian: "ябълка", Translation: "apple", NeedsTranslation: false},
- {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false},
- {Bulgarian: "куче", Translation: "dog", NeedsTranslation: false},
+ {Bulgarian: "ябълка", Translation: "apple", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "куче", Translation: "dog", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
},
},
{
@@ -42,10 +44,10 @@ func TestReadBatchFile(t *testing.T) {
куче
хляб = bread`,
want: []WordEntry{
- {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false},
- {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false},
- {Bulgarian: "куче", Translation: "", NeedsTranslation: false},
- {Bulgarian: "хляб", Translation: "bread", NeedsTranslation: false},
+ {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "куче", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "хляб", Translation: "bread", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
},
},
{
@@ -59,25 +61,25 @@ func TestReadBatchFile(t *testing.T) {
`,
want: []WordEntry{
- {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false},
- {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false},
- {Bulgarian: "куче", Translation: "", NeedsTranslation: false},
+ {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "куче", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
},
},
{
name: "windows line endings",
fileContent: "ябълка\r\nкотка = cat\r\nкуче",
want: []WordEntry{
- {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false},
- {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false},
- {Bulgarian: "куче", Translation: "", NeedsTranslation: false},
+ {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "куче", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
},
},
{
name: "multiple equals signs",
fileContent: `test = word = with = equals`,
want: []WordEntry{
- {Bulgarian: "test", Translation: "word = with = equals", NeedsTranslation: false},
+ {Bulgarian: "test", Translation: "word = with = equals", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
},
},
{
@@ -86,9 +88,9 @@ func TestReadBatchFile(t *testing.T) {
= cat
= dog`,
want: []WordEntry{
- {Bulgarian: "", Translation: "apple", NeedsTranslation: true},
- {Bulgarian: "", Translation: "cat", NeedsTranslation: true},
- {Bulgarian: "", Translation: "dog", NeedsTranslation: true},
+ {Bulgarian: "", Translation: "apple", NeedsTranslation: true, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "", Translation: "cat", NeedsTranslation: true, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "", Translation: "dog", NeedsTranslation: true, CardType: internal.CardTypeEnBg},
},
},
{
@@ -100,12 +102,34 @@ func TestReadBatchFile(t *testing.T) {
= table
стол`,
want: []WordEntry{
- {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false},
- {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false},
- {Bulgarian: "", Translation: "dog", NeedsTranslation: true},
- {Bulgarian: "хляб", Translation: "bread", NeedsTranslation: false},
- {Bulgarian: "", Translation: "table", NeedsTranslation: true},
- {Bulgarian: "стол", Translation: "", NeedsTranslation: false},
+ {Bulgarian: "ябълка", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "котка", Translation: "cat", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "", Translation: "dog", NeedsTranslation: true, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "хляб", Translation: "bread", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "", Translation: "table", NeedsTranslation: true, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "стол", Translation: "", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ },
+ },
+ {
+ name: "bulgarian-bulgarian format with double equals",
+ fileContent: `ябълка == плод
+котка == домашно животно`,
+ want: []WordEntry{
+ {Bulgarian: "ябълка", Translation: "плод", NeedsTranslation: false, CardType: internal.CardTypeBgBg},
+ {Bulgarian: "котка", Translation: "домашно животно", NeedsTranslation: false, CardType: internal.CardTypeBgBg},
+ },
+ },
+ {
+ name: "mixed en-bg and bg-bg formats",
+ fileContent: `ябълка = apple
+котка == домашно животно
+куче = dog
+вода == течност`,
+ want: []WordEntry{
+ {Bulgarian: "ябълка", Translation: "apple", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "котка", Translation: "домашно животно", NeedsTranslation: false, CardType: internal.CardTypeBgBg},
+ {Bulgarian: "куче", Translation: "dog", NeedsTranslation: false, CardType: internal.CardTypeEnBg},
+ {Bulgarian: "вода", Translation: "течност", NeedsTranslation: false, CardType: internal.CardTypeBgBg},
},
},
}