From 0f9a154937e599ea08bbf38199513526b1f8bc9f Mon Sep 17 00:00:00 2001 From: Xavier Goffin Date: Fri, 3 Jan 2025 11:13:56 +0100 Subject: [PATCH] thrift/thriftutil/enums: avoid duplicating underscores --- thrift/thriftutil/enums.go | 2 +- thrift/thriftutil/enums_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/thrift/thriftutil/enums.go b/thrift/thriftutil/enums.go index bc80783..3513de6 100644 --- a/thrift/thriftutil/enums.go +++ b/thrift/thriftutil/enums.go @@ -8,7 +8,7 @@ import ( func SanitizeCamelCaseThriftEnumValue(v string) string { if sks := strings.SplitN(v, "_", 2); len(sks) == 2 { - return stringutil.CamelToSnakeCase(sks[1]) + return strings.ReplaceAll(stringutil.CamelToSnakeCase(sks[1]), "__", "_") } return strings.ToLower(v) diff --git a/thrift/thriftutil/enums_test.go b/thrift/thriftutil/enums_test.go index e839fac..90ef4ad 100644 --- a/thrift/thriftutil/enums_test.go +++ b/thrift/thriftutil/enums_test.go @@ -12,6 +12,7 @@ func TestSanitizeCamelCaseThriftEnumValue(t *testing.T) { {"ContentType_InstagramMedia", "instagram_media"}, {"ContentType_Unknown", "unknown"}, {"regular string", "regular string"}, + {"MFAVector_RECOVERY_CODE", "recovery_code"}, } { if out := SanitizeCamelCaseThriftEnumValue(tt.in); tt.out != out { t.Errorf("SanitizeCamelCaseThriftEnumValue(%q) = %q wanted: %q", tt.in, out, tt.out)