mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-09-15 12:18:57 +00:00
Trim trailing spaces and tabs from config map files
This commit is contained in:
@@ -292,8 +292,10 @@ metadata:
|
|||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
data:
|
data:
|
||||||
nonsense: "Lorem ipsum dolor sit amet, consectetur\nadipiscing elit, sed do eiusmod
|
nonsense: |
|
||||||
tempor\nincididunt ut labore et dolore magna aliqua. \n"
|
Lorem ipsum dolor sit amet, consectetur
|
||||||
|
adipiscing elit, sed do eiusmod tempor
|
||||||
|
incididunt ut labore et dolore magna aliqua.
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -302,6 +304,6 @@ metadata:
|
|||||||
app: mungebot
|
app: mungebot
|
||||||
org: kubernetes
|
org: kubernetes
|
||||||
repo: test-infra
|
repo: test-infra
|
||||||
name: test-infra-app-config-f462h769f9
|
name: test-infra-app-config-4mt28b5bg2
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
@@ -85,11 +86,17 @@ func (kvl *loader) keyValuesFromFileSources(sources []string) ([]types.Pair, err
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
kvs = append(kvs, types.Pair{Key: k, Value: string(content)})
|
kvs = append(kvs, types.Pair{Key: k, Value: kvl.trimTrailingSpacesInLines(string(content))})
|
||||||
}
|
}
|
||||||
return kvs, nil
|
return kvs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Takes string with multiple lines and trims the trailing white spaces from each line.
|
||||||
|
func (kvl *loader) trimTrailingSpacesInLines(str string) string {
|
||||||
|
re := regexp.MustCompile(`\s*\n`)
|
||||||
|
return re.ReplaceAllString(str, "\n")
|
||||||
|
}
|
||||||
|
|
||||||
func (kvl *loader) keyValuesFromEnvFiles(paths []string) ([]types.Pair, error) {
|
func (kvl *loader) keyValuesFromEnvFiles(paths []string) ([]types.Pair, error) {
|
||||||
var kvs []types.Pair
|
var kvs []types.Pair
|
||||||
for _, p := range paths {
|
for _, p := range paths {
|
||||||
|
|||||||
@@ -95,3 +95,13 @@ func TestKeyValuesFromFileSources(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTrimTrailingSpacesInLines(t *testing.T) {
|
||||||
|
kvl := makeKvLoader(filesys.MakeFsInMemory())
|
||||||
|
input := "\"fooKey\": \"fooValue\" \t\n\t\"barKey\": \"barValue\""
|
||||||
|
expected := "\"fooKey\": \"fooValue\"\n\t\"barKey\": \"barValue\""
|
||||||
|
res := kvl.trimTrailingSpacesInLines(input)
|
||||||
|
if !reflect.DeepEqual(res, expected) {
|
||||||
|
t.Errorf("Trim trailing spaces in lines should succeed, got: %s exptected: %s", res, expected)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user