Skip to content

Commit

Permalink
Merge pull request #1185 from bicstone/bicstone/fix-getMultilineInput…
Browse files Browse the repository at this point in the history
…-trim

fix(core): `getMultilineInput` not trimming whitespace
  • Loading branch information
rentziass committed Sep 28, 2022
2 parents ebe4ac3 + 33f1d64 commit 4df4517
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 10 deletions.
41 changes: 32 additions & 9 deletions packages/core/__tests__/core.test.ts
Expand Up @@ -33,8 +33,8 @@ const testEnvVars = {
INPUT_BOOLEAN_INPUT_FALSE3: 'FALSE',
INPUT_WRONG_BOOLEAN_INPUT: 'wrong',
INPUT_WITH_TRAILING_WHITESPACE: ' some val ',

INPUT_MY_INPUT_LIST: 'val1\nval2\nval3',
INPUT_LIST_WITH_TRAILING_WHITESPACE: ' val1 \n val2 \n ',

// Save inputs
STATE_TEST_1: 'state_val',
Expand Down Expand Up @@ -212,14 +212,6 @@ describe('@actions/core', () => {
)
})

it('getMultilineInput works', () => {
expect(core.getMultilineInput('my input list')).toEqual([
'val1',
'val2',
'val3'
])
})

it('getInput trims whitespace by default', () => {
expect(core.getInput('with trailing whitespace')).toBe('some val')
})
Expand Down Expand Up @@ -260,6 +252,37 @@ describe('@actions/core', () => {
)
})

it('getMultilineInput works', () => {
expect(core.getMultilineInput('my input list')).toEqual([
'val1',
'val2',
'val3'
])
})

it('getMultilineInput trims whitespace by default', () => {
expect(core.getMultilineInput('list with trailing whitespace')).toEqual([
'val1',
'val2'
])
})

it('getMultilineInput trims whitespace when option is explicitly true', () => {
expect(
core.getMultilineInput('list with trailing whitespace', {
trimWhitespace: true
})
).toEqual(['val1', 'val2'])
})

it('getMultilineInput does not trim whitespace when option is false', () => {
expect(
core.getMultilineInput('list with trailing whitespace', {
trimWhitespace: false
})
).toEqual([' val1 ', ' val2 ', ' '])
})

it('setOutput produces the correct command', () => {
core.setOutput('some output', 'some value')
assertWriteCalls([
Expand Down
6 changes: 5 additions & 1 deletion packages/core/src/core.ts
Expand Up @@ -170,7 +170,11 @@ export function getMultilineInput(
.split('\n')
.filter(x => x !== '')

return inputs
if (options && options.trimWhitespace === false) {
return inputs
}

return inputs.map(input => input.trim())
}

/**
Expand Down

0 comments on commit 4df4517

Please sign in to comment.