mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-24 21:56:05 +02:00
tpl/lang: Add new localized versions of lang.FormatNumber etc.
Fixes #8820
This commit is contained in:
@@ -3,15 +3,16 @@ package lang
|
||||
import (
|
||||
"testing"
|
||||
|
||||
translators "github.com/bep/gotranslators"
|
||||
qt "github.com/frankban/quicktest"
|
||||
"github.com/gohugoio/hugo/deps"
|
||||
)
|
||||
|
||||
func TestNumFormat(t *testing.T) {
|
||||
func TestNumFmt(t *testing.T) {
|
||||
t.Parallel()
|
||||
c := qt.New(t)
|
||||
|
||||
ns := New(&deps.Deps{})
|
||||
ns := New(&deps.Deps{}, nil)
|
||||
|
||||
cases := []struct {
|
||||
prec int
|
||||
@@ -49,12 +50,12 @@ func TestNumFormat(t *testing.T) {
|
||||
var err error
|
||||
|
||||
if len(cas.runes) == 0 {
|
||||
s, err = ns.NumFmt(cas.prec, cas.n)
|
||||
s, err = ns.FormatNumberCustom(cas.prec, cas.n)
|
||||
} else {
|
||||
if cas.delim == "" {
|
||||
s, err = ns.NumFmt(cas.prec, cas.n, cas.runes)
|
||||
s, err = ns.FormatNumberCustom(cas.prec, cas.n, cas.runes)
|
||||
} else {
|
||||
s, err = ns.NumFmt(cas.prec, cas.n, cas.runes, cas.delim)
|
||||
s, err = ns.FormatNumberCustom(cas.prec, cas.n, cas.runes, cas.delim)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,3 +63,45 @@ func TestNumFormat(t *testing.T) {
|
||||
c.Assert(s, qt.Equals, cas.want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFormatNumbers(t *testing.T) {
|
||||
|
||||
c := qt.New(t)
|
||||
|
||||
nsNn := New(&deps.Deps{}, translators.GetTranslator("nn"))
|
||||
nsEn := New(&deps.Deps{}, translators.GetTranslator("en"))
|
||||
pi := 3.14159265359
|
||||
|
||||
c.Run("FormatNumber", func(c *qt.C) {
|
||||
c.Parallel()
|
||||
got, err := nsNn.FormatNumber(3, pi)
|
||||
c.Assert(err, qt.IsNil)
|
||||
c.Assert(got, qt.Equals, "3,142")
|
||||
|
||||
got, err = nsEn.FormatNumber(3, pi)
|
||||
c.Assert(err, qt.IsNil)
|
||||
c.Assert(got, qt.Equals, "3.142")
|
||||
})
|
||||
|
||||
c.Run("FormatPercent", func(c *qt.C) {
|
||||
c.Parallel()
|
||||
got, err := nsEn.FormatPercent(3, 67.33333)
|
||||
c.Assert(err, qt.IsNil)
|
||||
c.Assert(got, qt.Equals, "67.333%")
|
||||
})
|
||||
|
||||
c.Run("FormatCurrency", func(c *qt.C) {
|
||||
c.Parallel()
|
||||
got, err := nsEn.FormatCurrency(2, "USD", 20000)
|
||||
c.Assert(err, qt.IsNil)
|
||||
c.Assert(got, qt.Equals, "$20,000.00")
|
||||
})
|
||||
|
||||
c.Run("FormatAccounting", func(c *qt.C) {
|
||||
c.Parallel()
|
||||
got, err := nsEn.FormatAccounting(2, "USD", 20000)
|
||||
c.Assert(err, qt.IsNil)
|
||||
c.Assert(got, qt.Equals, "$20,000.00")
|
||||
})
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user