Use parseInt instead of Number to handle empty strings

pull/424/head
Dave Hadka 2020-10-02 10:55:30 -05:00
parent a6f1f4b32e
commit 4bceb75b5b
4 changed files with 13 additions and 8 deletions

View File

@ -15,7 +15,6 @@ beforeAll(() => {
afterEach(() => {
delete process.env[Events.Key];
delete process.env[RefKey];
testUtils.clearInputs();
});
test("isGhes returns true if server url is not github.com", () => {
@ -215,7 +214,7 @@ test("getInputAsArray handles empty lines correctly", () => {
});
test("getInputAsInt returns undefined if input not set", () => {
expect(actionUtils.getInputAsInt("foo")).toBeUndefined();
expect(actionUtils.getInputAsInt("undefined")).toBeUndefined();
});
test("getInputAsInt returns value if input is valid", () => {
@ -227,3 +226,9 @@ test("getInputAsInt returns undefined if input is invalid or NaN", () => {
testUtils.setInput("foo", "bar");
expect(actionUtils.getInputAsInt("foo")).toBeUndefined();
});
test("getInputAsInt throws if required and value missing", () => {
expect(() =>
actionUtils.getInputAsInt("undefined", { required: true })
).toThrowError();
});

View File

@ -31354,8 +31354,8 @@ function getInputAsArray(name, options) {
}
exports.getInputAsArray = getInputAsArray;
function getInputAsInt(name, options) {
const value = Number(core.getInput(name, options));
if (Number.isNaN(value) || value < 0) {
const value = parseInt(core.getInput(name, options));
if (isNaN(value) || value < 0) {
return undefined;
}
return value;

4
dist/save/index.js vendored
View File

@ -31354,8 +31354,8 @@ function getInputAsArray(name, options) {
}
exports.getInputAsArray = getInputAsArray;
function getInputAsInt(name, options) {
const value = Number(core.getInput(name, options));
if (Number.isNaN(value) || value < 0) {
const value = parseInt(core.getInput(name, options));
if (isNaN(value) || value < 0) {
return undefined;
}
return value;

View File

@ -68,8 +68,8 @@ export function getInputAsInt(
name: string,
options?: core.InputOptions
): number | undefined {
const value = Number(core.getInput(name, options));
if (Number.isNaN(value) || value < 0) {
const value = parseInt(core.getInput(name, options));
if (isNaN(value) || value < 0) {
return undefined;
}
return value;