diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2025-12-30 22:25:59 +0100 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2025-12-30 22:25:59 +0100 |
| commit | 43efffb01ca78a8165f63d427de6cffa480a40a0 (patch) | |
| tree | 458f31c5a7f9421b43cdf161bd70c0a0375959e5 /ki18n/cmd/gettext/gettext_test.go | |
| parent | ebc163b0b48d74eb7bddb25968c68d958e9087c3 (diff) | |
Move gettext
Diffstat (limited to 'ki18n/cmd/gettext/gettext_test.go')
| -rw-r--r-- | ki18n/cmd/gettext/gettext_test.go | 80 |
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>"]) +} |
