Skip to content

Commit

Permalink
Fix bug in UPPER titles (#8)
Browse files Browse the repository at this point in the history
* Fix bug in UPPER titles

* lint
  • Loading branch information
Alfus authored Mar 21, 2024
1 parent 051a418 commit da36231
Show file tree
Hide file tree
Showing 27 changed files with 31 additions and 29 deletions.
2 changes: 1 addition & 1 deletion internal/cmd/jsonschema-generate-testdata/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func run() error {
return errors.New("expected $id to be non-empty")
}
filePath := filepath.Join(outputDir, identifier)
if err := golden.GenerateGolden(filePath, string(data)); err != nil {
if err := golden.GenerateGolden(filePath, string(data)+"\n"); err != nil {
return err
}
}
Expand Down
3 changes: 2 additions & 1 deletion internal/protoschema/bigquery/bigquery.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,8 @@ func (p *bigQuerySchemaGenerator) generateFields(msgDesc protoreflect.MessageDes

result := make(bigquery.Schema, 0, msgDesc.Fields().Len())
p.seen[msgDesc.FullName()]++
for i := 0; i < len(msgPb.GetField()); i++ {
var i int
for ; i < len(msgPb.GetField()); i++ { // msgPb.Field may be modified in the loop.
fieldPb := msgPb.GetField()[i]
fieldDesc := msgDesc.Fields().ByNumber(protoreflect.FieldNumber(fieldPb.GetNumber()))
if fieldDesc == nil {
Expand Down
6 changes: 3 additions & 3 deletions internal/protoschema/jsonschema/jsonschema.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ func (p *jsonSchemaGenerator) generateDefault(result map[string]interface{}, des
result["type"] = jsObject
p.setDescription(desc, result)
var properties = make(map[string]interface{})
for i := 0; i < desc.Fields().Len(); i++ {
for i := range desc.Fields().Len() {
field := desc.Fields().Get(i)
name := string(field.Name())
properties[name] = p.generateField(field)
Expand Down Expand Up @@ -147,7 +147,7 @@ func generateTitle(name protoreflect.Name) string {
var result strings.Builder
for i, chr := range name {
isUpper := unicode.IsUpper(chr)
nextIsUpper := i+1 < len(name) && unicode.IsUpper(rune(name[i+1]))
nextIsUpper := i+1 >= len(name) || unicode.IsUpper(rune(name[i+1]))
if i > 0 && isUpper && !nextIsUpper {
result.WriteRune(' ')
}
Expand All @@ -158,7 +158,7 @@ func generateTitle(name protoreflect.Name) string {

func (p *jsonSchemaGenerator) generateEnumValidation(field protoreflect.FieldDescriptor, entry map[string]interface{}) {
var enum = make([]interface{}, 0)
for i := 0; i < field.Enum().Values().Len(); i++ {
for i := range field.Enum().Values().Len() {
enum = append(enum, field.Enum().Values().Get(i).Name())
}
anyOf := []map[string]interface{}{
Expand Down
3 changes: 2 additions & 1 deletion internal/protoschema/jsonschema/jsonschema_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func TestJSONSchemaGolden(t *testing.T) {
require.NotEmpty(t, identifier)

filePath := filepath.Join(dirPath, identifier)
err = golden.CheckGolden(filePath, string(data))
err = golden.CheckGolden(filePath, string(data)+"\n")
require.NoError(t, err)
}
}
Expand All @@ -52,4 +52,5 @@ func TestTitle(t *testing.T) {
require.Equal(t, "FOO Bar", generateTitle("FOOBar"))
require.Equal(t, "U Int64 Value", generateTitle("UInt64Value"))
require.Equal(t, "Uint64 Value", generateTitle("Uint64Value"))
require.Equal(t, "FOO", generateTitle("FOO"))
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func Handle(
}
responseWriter.AddFile(
identifier,
string(data),
string(data)+"\n",
)
seenIdentifiers[identifier] = true
}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit da36231

Please sign in to comment.