mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-02 03:38:42 -07:00
Add support for base2 units in NATS config
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
This commit is contained in:
@@ -995,7 +995,7 @@ func lexNumberOrDateOrStringOrIP(lx *lexer) stateFn {
|
||||
func lexConvenientNumber(lx *lexer) stateFn {
|
||||
r := lx.next()
|
||||
switch {
|
||||
case r == 'b' || r == 'B':
|
||||
case r == 'b' || r == 'B' || r == 'i' || r == 'I':
|
||||
return lexConvenientNumber
|
||||
}
|
||||
lx.backup()
|
||||
|
||||
@@ -253,27 +253,27 @@ func (p *parser) processItem(it item, fp string) error {
|
||||
setValue(it, num)
|
||||
case "k":
|
||||
setValue(it, num*1000)
|
||||
case "kb":
|
||||
case "kb", "ki", "kib":
|
||||
setValue(it, num*1024)
|
||||
case "m":
|
||||
setValue(it, num*1000*1000)
|
||||
case "mb":
|
||||
case "mb", "mi", "mib":
|
||||
setValue(it, num*1024*1024)
|
||||
case "g":
|
||||
setValue(it, num*1000*1000*1000)
|
||||
case "gb":
|
||||
case "gb", "gi", "gib":
|
||||
setValue(it, num*1024*1024*1024)
|
||||
case "t":
|
||||
setValue(it, num*1000*1000*1000*1000)
|
||||
case "tb":
|
||||
case "tb", "ti", "tib":
|
||||
setValue(it, num*1024*1024*1024*1024)
|
||||
case "p":
|
||||
setValue(it, num*1000*1000*1000*1000*1000)
|
||||
case "pb":
|
||||
case "pb", "pi", "pib":
|
||||
setValue(it, num*1024*1024*1024*1024*1024)
|
||||
case "e":
|
||||
setValue(it, num*1000*1000*1000*1000*1000*1000)
|
||||
case "eb":
|
||||
case "eb", "ei", "eib":
|
||||
setValue(it, num*1024*1024*1024*1024*1024*1024)
|
||||
}
|
||||
case itemFloat:
|
||||
|
||||
@@ -142,20 +142,44 @@ func TestBcryptVariable(t *testing.T) {
|
||||
var easynum = `
|
||||
k = 8k
|
||||
kb = 4kb
|
||||
ki = 3ki
|
||||
kib = 4ki
|
||||
m = 1m
|
||||
mb = 2MB
|
||||
mi = 2Mi
|
||||
mib = 64MiB
|
||||
g = 2g
|
||||
gb = 22GB
|
||||
gi = 22Gi
|
||||
gib = 22GiB
|
||||
tb = 22TB
|
||||
ti = 22Ti
|
||||
tib = 22TiB
|
||||
pb = 22PB
|
||||
pi = 22Pi
|
||||
pib = 22PiB
|
||||
`
|
||||
|
||||
func TestConvenientNumbers(t *testing.T) {
|
||||
ex := map[string]interface{}{
|
||||
"k": int64(8 * 1000),
|
||||
"kb": int64(4 * 1024),
|
||||
"ki": int64(3 * 1024),
|
||||
"kib": int64(4 * 1024),
|
||||
"m": int64(1000 * 1000),
|
||||
"mb": int64(2 * 1024 * 1024),
|
||||
"mi": int64(2 * 1024 * 1024),
|
||||
"mib": int64(64 * 1024 * 1024),
|
||||
"g": int64(2 * 1000 * 1000 * 1000),
|
||||
"gb": int64(22 * 1024 * 1024 * 1024),
|
||||
"gi": int64(22 * 1024 * 1024 * 1024),
|
||||
"gib": int64(22 * 1024 * 1024 * 1024),
|
||||
"tb": int64(22 * 1024 * 1024 * 1024 * 1024),
|
||||
"ti": int64(22 * 1024 * 1024 * 1024 * 1024),
|
||||
"tib": int64(22 * 1024 * 1024 * 1024 * 1024),
|
||||
"pb": int64(22 * 1024 * 1024 * 1024 * 1024 * 1024),
|
||||
"pi": int64(22 * 1024 * 1024 * 1024 * 1024 * 1024),
|
||||
"pib": int64(22 * 1024 * 1024 * 1024 * 1024 * 1024),
|
||||
}
|
||||
test(t, easynum, ex)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user