| Linux in-mum-web1499.main-hosting.eu 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64 Path : /opt/go/pkg/mod/github.com/mailru/easyjson@v0.7.7/tests/ |
| Current File : //opt/go/pkg/mod/github.com/mailru/easyjson@v0.7.7/tests/intern_test.go |
package tests
import (
"testing"
"github.com/mailru/easyjson"
)
func TestStringIntern(t *testing.T) {
data := []byte(`{"field": "string interning test"}`)
var i Intern
allocsPerRun := testing.AllocsPerRun(1000, func() {
i = Intern{}
err := easyjson.Unmarshal(data, &i)
if err != nil {
t.Error(err)
}
if i.Field != "string interning test" {
t.Fatalf("wrong value: %q", i.Field)
}
})
if allocsPerRun != 1 {
t.Fatalf("expected 1 allocs, got %f", allocsPerRun)
}
var n NoIntern
allocsPerRun = testing.AllocsPerRun(1000, func() {
n = NoIntern{}
err := easyjson.Unmarshal(data, &n)
if err != nil {
t.Error(err)
}
if n.Field != "string interning test" {
t.Fatalf("wrong value: %q", n.Field)
}
})
if allocsPerRun != 2 {
t.Fatalf("expected 2 allocs, got %f", allocsPerRun)
}
}