aboutsummaryrefslogtreecommitdiffhomepage
path: root/template/functions_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'template/functions_test.go')
-rw-r--r--template/functions_test.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/template/functions_test.go b/template/functions_test.go
index 393fca9..04982c7 100644
--- a/template/functions_test.go
+++ b/template/functions_test.go
@@ -6,6 +6,9 @@ package template // import "miniflux.app/template"
import (
"testing"
+ "time"
+
+ "miniflux.app/locale"
)
func TestDict(t *testing.T) {
@@ -92,3 +95,31 @@ func TestIsEmail(t *testing.T) {
t.Fatal(`This email is not valid and should returns false`)
}
}
+
+func TestElapsedTime(t *testing.T) {
+ translator := locale.Load()
+ language := translator.GetLanguage("fr_FR")
+
+ var dt = []struct {
+ in time.Time
+ out string
+ }{
+ {time.Time{}, language.Get("time_elapsed.not_yet")},
+ {time.Now().Add(time.Hour), language.Get("time_elapsed.not_yet")},
+ {time.Now(), language.Get("time_elapsed.now")},
+ {time.Now().Add(-time.Minute), language.Plural("time_elapsed.minutes", 1, 1)},
+ {time.Now().Add(-time.Minute * 40), language.Plural("time_elapsed.minutes", 40, 40)},
+ {time.Now().Add(-time.Hour), language.Plural("time_elapsed.hours", 1, 1)},
+ {time.Now().Add(-time.Hour * 3), language.Plural("time_elapsed.hours", 3, 3)},
+ {time.Now().Add(-time.Hour * 32), language.Get("time_elapsed.yesterday")},
+ {time.Now().Add(-time.Hour * 24 * 3), language.Plural("time_elapsed.days", 3, 3)},
+ {time.Now().Add(-time.Hour * 24 * 14), language.Plural("time_elapsed.weeks", 2, 2)},
+ {time.Now().Add(-time.Hour * 24 * 60), language.Plural("time_elapsed.months", 2, 2)},
+ {time.Now().Add(-time.Hour * 24 * 365 * 3), language.Plural("time_elapsed.years", 3, 3)},
+ }
+ for i, tt := range dt {
+ if out := elapsedTime(language, "Local", tt.in); out != tt.out {
+ t.Errorf(`%d. content mismatch for "%v": expected=%q got=%q`, i, tt.in, tt.out, out)
+ }
+ }
+}