From 61d408832acac1c703922007d5e590cb86f5c801 Mon Sep 17 00:00:00 2001 From: Alexander Zielenski Date: Mon, 13 Mar 2023 17:34:09 -0700 Subject: [PATCH] use title case for "Object" type for backwards compatibility --- .../pkg/explain/v2/templates/plaintext.tmpl | 4 +++- .../pkg/explain/v2/templates/plaintext_test.go | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext.tmpl b/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext.tmpl index c0a5ffad4bf..eab8a372d84 100644 --- a/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext.tmpl +++ b/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext.tmpl @@ -242,7 +242,9 @@ Takes dictionary as argument with keys: {{- $name := split $ref "/" | last -}} {{- or (split $name "." | last) "Object" -}} {{- else -}} - {{- or .type "Object" -}} + {{/* Old explain used capitalized "Object". Just follow suit */}} + {{- if eq .type "object" -}}Object + {{- else -}}{{- or .type "Object" -}}{{- end -}} {{- end -}} {{- else -}} {{- fail "expected schema argument to subtemplate 'typeguess'" -}} diff --git a/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext_test.go b/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext_test.go index a282f583fe2..e0100f04d42 100644 --- a/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext_test.go +++ b/staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext_test.go @@ -310,6 +310,20 @@ func TestPlaintext(t *testing.T) { checkEquals("array"), }, }, + { + // Shows that the typeguess puts Object tpye in title case + Name: "ArrayUnknown", + Subtemplate: "typeGuess", + Context: map[string]any{ + "schema": map[string]any{ + "description": "a cool field", + "type": "object", + }, + }, + Checks: []check{ + checkEquals("Object"), + }, + }, { // Shows that the typeguess template works with scalars Name: "ArrayOfScalar",