From 5525dffaac5af6235c343f5014e0f60efb81ac39 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Tue, 30 Dec 2025 22:09:14 +0100 Subject: Move gettext --- ki18n/gettext/gettext_test.go | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 ki18n/gettext/gettext_test.go (limited to 'ki18n/gettext/gettext_test.go') diff --git a/ki18n/gettext/gettext_test.go b/ki18n/gettext/gettext_test.go new file mode 100644 index 0000000..26b5870 --- /dev/null +++ b/ki18n/gettext/gettext_test.go @@ -0,0 +1,71 @@ +package main + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestExtractKeys(t *testing.T) { + content := `{ login.Tr("Hello") }` + + keys := extractKeys(content) + + assert.Len(t, keys, 1) + assert.Equal(t, 0, keys["Hello"]) +} + +func TestExtractKeysWithoutSpaces(t *testing.T) { + content := `{login.Tr("Hello")}` + + keys := extractKeys(content) + + assert.Len(t, keys, 1) + assert.Equal(t, 0, keys["Hello"]) +} + +func TestExtractKeysWithOneArgs(t *testing.T) { + content := `{ login.Tr("approveButton", a.Username) }` + + keys := extractKeys(content) + + assert.Len(t, keys, 1) + assert.Equal(t, 1, keys["approveButton"]) +} + +func TestExtractKeysWithSeveralArgs(t *testing.T) { + content := `{ login.Tr("approveButton", a.Username, a.Age, a.Email) }` + + keys := extractKeys(content) + + assert.Len(t, keys, 1) + assert.Equal(t, 3, keys["approveButton"]) +} + +func TestExtractKeysWithComplexArgs(t *testing.T) { + content := `{ login.Tr("raceStart_chosen", a.StartAt.Format("Monday, January 2, 2006 at 15:04")) }` + + keys := extractKeys(content) + + assert.Len(t, keys, 1) + assert.Equal(t, 1, keys["raceStart_chosen"]) +} + +func TestExtractMultipleKeys(t *testing.T) { + content := `{ login.Tr("test_1", a.StartAt.Format("Monday, January 2, 2006 at 15:04")) }{ login.Tr("test_2", a.Test) }` + + keys := extractKeys(content) + + assert.Len(t, keys, 2) + assert.Equal(t, 1, keys["test_1"]) + assert.Equal(t, 1, keys["test_2"]) +} + +func TestExtractKeyFromSimpleTrFunc(t *testing.T) { + content := `{ Tr("test") }` + + keys := extractKeys(content) + + assert.Len(t, keys, 1) + assert.Equal(t, 0, keys["test"]) +} -- cgit v1.3