feat: upload audio, get a private Swedish transcript, discuss it (#33, ADR-033) #39

Merged
mathias merged 299 commits from feat/33-audio-upload-transcript into main 2026-10-03 14:13:37 +00:00
Showing only changes of commit e5bba3cd23 - Show all commits
+9 -9
View File
@@ -19,12 +19,12 @@ func TestFindDisputes_NoneWhenTheTextsAgreeWordForWord(t *testing.T) {
} }
func TestFindDisputes_OneReplacedWordIsOneDisputeCarryingBothReadings(t *testing.T) { func TestFindDisputes_OneReplacedWordIsOneDisputeCarryingBothReadings(t *testing.T) {
got := disputes("Vi ska onboardade kunderna.", "Vi ska omvårdade kunderna.") got := disputes("Vi ska målade grannarna.", "Vi ska mölade grannarna.")
require.Len(t, got, 1) require.Len(t, got, 1)
d := got[0] d := got[0]
assert.Equal(t, "onboardade", d.Base) assert.Equal(t, "målade", d.Base)
assert.Equal(t, "omvårdade", d.Alt) assert.Equal(t, "mölade", d.Alt)
assert.Equal(t, 2, d.BaseStart) assert.Equal(t, 2, d.BaseStart)
assert.Equal(t, 3, d.BaseEnd) assert.Equal(t, 3, d.BaseEnd)
assert.Equal(t, 2, d.AltStart) assert.Equal(t, 2, d.AltStart)
@@ -32,11 +32,11 @@ func TestFindDisputes_OneReplacedWordIsOneDisputeCarryingBothReadings(t *testing
} }
func TestFindDisputes_ReadingsKeepTheirOwnSpellingAndPunctuation(t *testing.T) { func TestFindDisputes_ReadingsKeepTheirOwnSpellingAndPunctuation(t *testing.T) {
got := disputes("Det blir T+1, alltså.", "Det blir T 1, alltså.") got := disputes("Det blir A+2, alltså.", "Det blir A 2, alltså.")
require.Len(t, got, 1) require.Len(t, got, 1)
assert.Equal(t, "T+1,", got[0].Base) assert.Equal(t, "A+2,", got[0].Base)
assert.Equal(t, "T 1,", got[0].Alt, "the alternative's words replace the span as the engine wrote them") assert.Equal(t, "A 2,", got[0].Alt, "the alternative's words replace the span as the engine wrote them")
} }
func TestFindDisputes_AWordOnlyOneEngineHeardHasAnEmptyOtherSide(t *testing.T) { func TestFindDisputes_AWordOnlyOneEngineHeardHasAnEmptyOtherSide(t *testing.T) {
@@ -90,12 +90,12 @@ func TestAutoResolve(t *testing.T) {
base, alt string base, alt string
resolved bool resolved bool
}{ }{
{"a compound written as two words or one", "i crossborder delen", "i crossborderdelen", true}, {"a compound written as two words or one", "i takrenns delen", "i takrennsdelen", true},
{"a compound with a hyphen", "crossborder-delen", "crossborder delen", true}, {"a compound with a hyphen", "takrenns-delen", "takrenns delen", true},
{"a filler only the alternative heard", "vi ska ju betala", "vi ska betala", true}, {"a filler only the alternative heard", "vi ska ju betala", "vi ska betala", true},
{"a filler only the base heard", "vi ska betala", "vi ska ju betala", true}, {"a filler only the base heard", "vi ska betala", "vi ska ju betala", true},
{"two fillers in a row", "vi ska ja ju betala", "vi ska betala", true}, {"two fillers in a row", "vi ska ja ju betala", "vi ska betala", true},
{"a different word is for the model", "vi ska onboardade", "vi ska omvårdade", false}, {"a different word is for the model", "vi ska målade", "vi ska mölade", false},
{"a different number is for the model", "totalt 1050 kronor", "totalt 2050 kronor", false}, {"a different number is for the model", "totalt 1050 kronor", "totalt 2050 kronor", false},
{"a content word only one side heard is for the model", "ett förslag", "ett coolt förslag", false}, {"a content word only one side heard is for the model", "ett förslag", "ett coolt förslag", false},
{"three filler words are too many to wave through", "vi ska ju då liksom betala", "vi ska betala", false}, {"three filler words are too many to wave through", "vi ska ju då liksom betala", "vi ska betala", false},