aboutsummaryrefslogtreecommitdiff
path: root/ki18n/cmd/gettext/gettext_test.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2025-12-30 22:25:59 +0100
committerMartin Kagamino Lehoux <martin@lehoux.net>2025-12-30 22:25:59 +0100
commit43efffb01ca78a8165f63d427de6cffa480a40a0 (patch)
tree458f31c5a7f9421b43cdf161bd70c0a0375959e5 /ki18n/cmd/gettext/gettext_test.go
parentebc163b0b48d74eb7bddb25968c68d958e9087c3 (diff)
Move gettext
Diffstat (limited to 'ki18n/cmd/gettext/gettext_test.go')
-rw-r--r--ki18n/cmd/gettext/gettext_test.go80
1 files changed, 80 insertions, 0 deletions
diff --git a/ki18n/cmd/gettext/gettext_test.go b/ki18n/cmd/gettext/gettext_test.go
new file mode 100644
index 0000000..14c7160
--- /dev/null
+++ b/ki18n/cmd/gettext/gettext_test.go
@@ -0,0 +1,80 @@
+package main
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestExtractKeys(t *testing.T) {
+ content := `{ login.Tr("fr", "Hello") }`
+
+ keys := extractKeys(content)
+
+ assert.Len(t, keys, 1)
+ assert.Equal(t, 0, keys["Hello"])
+}
+
+func TestExtractKeysWithoutSpaces(t *testing.T) {
+ content := `{login.Tr("fr", "Hello")}`
+
+ keys := extractKeys(content)
+
+ assert.Len(t, keys, 1)
+ assert.Equal(t, 0, keys["Hello"])
+}
+
+func TestExtractKeysWithOneArgs(t *testing.T) {
+ content := `{ login.Tr("fr", "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("fr", "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("fr", "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("fr", "test_1", a.StartAt.Format("Monday, January 2, 2006 at 15:04")) }{ login.Tr("fr", "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("fr", "test") }`
+
+ keys := extractKeys(content)
+
+ assert.Len(t, keys, 1)
+ assert.Equal(t, 0, keys["test"])
+}
+
+func TestExtractKeyWithSpan(t *testing.T) {
+ content := `{ Tr("fr", "Hello <span class=\"text-bold\">%s</span>", username) }`
+
+ keys := extractKeys(content)
+
+ assert.Len(t, keys, 1)
+ assert.Equal(t, 1, keys["Hello <span class=\"text-bold\">%s</span>"])
+}