From d5c93bd340dfa03b5081abf46e56351c319b72ce Mon Sep 17 00:00:00 2001 From: Alexandre Thenorio Date: Fri, 10 Jul 2020 16:43:41 +0200 Subject: [PATCH] Allow for numbers in value descriptors They generate valid Go so no need to include them in the camel case --- internal/identifiers/case.go | 7 ++++++- internal/identifiers/case_test.go | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/identifiers/case.go b/internal/identifiers/case.go index 73ec047..aaa208d 100644 --- a/internal/identifiers/case.go +++ b/internal/identifiers/case.go @@ -3,10 +3,15 @@ package identifiers import "unicode" func IsCamelCase(s string) bool { - for i, r := range s { + i := 0 + for _, r := range s { + if unicode.IsDigit(r) { + continue + } if i == 0 && !unicode.IsUpper(r) || !IsAlphaChar(r) && !IsNumChar(r) { return false } + i++ } return true } diff --git a/internal/identifiers/case_test.go b/internal/identifiers/case_test.go index 4d4d8d2..6b7bd5c 100644 --- a/internal/identifiers/case_test.go +++ b/internal/identifiers/case_test.go @@ -10,7 +10,9 @@ func TestIsCamelCase(t *testing.T) { assert.Assert(t, IsCamelCase("SOC")) assert.Assert(t, IsCamelCase("Camel")) assert.Assert(t, IsCamelCase("CamelCase")) + assert.Assert(t, IsCamelCase("111CamelCaseNr")) assert.Assert(t, !IsCamelCase("camelCase")) assert.Assert(t, !IsCamelCase("snake_case")) assert.Assert(t, !IsCamelCase("kebab-case")) + assert.Assert(t, !IsCamelCase("111camelCaseNr")) }