Merge pull request #2700 from jijiew/win-seperator

modify the byteioreader to handler windows line ending.
This commit is contained in:
Kubernetes Prow Robot
2020-07-07 10:13:58 -07:00
committed by GitHub
2 changed files with 35 additions and 1 deletions

View File

@@ -115,7 +115,9 @@ func (r *ByteReader) Read() ([]*yaml.RNode, error) {
if err != nil {
return nil, errors.Wrap(err)
}
values := strings.Split(input.String(), "\n---\n")
// replace the ending \r\n (line ending used in windows) with \n and then separate by \n---\n
values := strings.Split(strings.Replace(input.String(), "\r\n", "\n", -1), "\n---\n")
index := 0
for i := range values {

View File

@@ -299,6 +299,38 @@ metadata:
SetAnnotations: map[string]string{"foo": "bar"}},
},
//
//
//
{
name: "windows_line_ending",
input: "\r\n---\r\na: b # first resource\r\nc: d\r\n---\r\n# second resource\r\ne: f\r\ng:\r\n- h\r\n---\r\n\r\n---\r\n i: j",
expectedItems: []string{
`a: b # first resource
c: d
metadata:
annotations:
foo: 'bar'
`,
`# second resource
e: f
g:
- h
metadata:
annotations:
foo: 'bar'
`,
`i: j
metadata:
annotations:
foo: 'bar'
`,
},
instance: ByteReader{
OmitReaderAnnotations: true,
SetAnnotations: map[string]string{"foo": "bar"}},
},
//
//
//