package jsvm_test import ( "reflect" "testing" "github.com/pocketbase/pocketbase/plugins/jsvm" ) func TestFieldMapper(t *testing.T) { mapper := jsvm.FieldMapper{} scenarios := []struct { name string expected string }{ {"", ""}, {"test", "test"}, {"Test", "test"}, {"miXeD", "miXeD"}, {"MiXeD", "miXeD"}, {"ResolveRequestAsJSON", "resolveRequestAsJSON"}, {"Variable_with_underscore", "variable_with_underscore"}, {"ALLCAPS", "allcaps"}, {"ALL_CAPS_WITH_UNDERSCORE", "all_caps_with_underscore"}, {"OIDCMap", "oidcMap"}, {"MD5", "md5"}, } for i, s := range scenarios { field := reflect.StructField{Name: s.name} if v := mapper.FieldName(nil, field); v != s.expected { t.Fatalf("[%d] Expected FieldName %q, got %q", i, s.expected, v) } method := reflect.Method{Name: s.name} if v := mapper.MethodName(nil, method); v != s.expected { t.Fatalf("[%d] Expected MethodName %q, got %q", i, s.expected, v) } } }