Files
add-and-commit/test/util.test.ts
tommie 1c95e2b373 Removes the redundant JSON array parsing. (#652)
* cleanup: Removes JSON array parsing.

JSON is a subset of YAML, making it redundant.

* ci: add tests for parseInputArray.

Makes tools into a function to be able to mock it.
It does not need to be exported.

* Update runner version

---------

Co-authored-by: Federico Grandi <fgrandi30@gmail.com>
2025-11-12 11:46:42 +01:00

34 lines
890 B
TypeScript

import {parseInputArray} from '../src/util';
describe('parseInputArray', () => {
beforeAll(() => {
process.env.GITHUB_EVENT_PATH = 'a';
process.env.GITHUB_EVENT_NAME = 'b';
process.env.GITHUB_REF = 'c';
process.env.GITHUB_ACTOR = 'd';
});
afterAll(() => {
delete process.env.GITHUB_EVENT_PATH;
delete process.env.GITHUB_EVENT_NAME;
delete process.env.GITHUB_REF;
delete process.env.GITHUB_ACTOR;
});
it('parses string arrays', () => {
expect(parseInputArray('["a", "bcd"]')).toStrictEqual(['a', 'bcd']);
});
it('passes strings through', () => {
expect(parseInputArray('"hello"')).toStrictEqual(['"hello"']);
});
it('passes non-string elements through', () => {
expect(parseInputArray('[42]')).toStrictEqual(['[42]']);
});
it('ignores failures', () => {
expect(parseInputArray('"')).toStrictEqual(['"']);
});
});