diff --git a/tests/commands/channels/lint.test.ts b/tests/commands/channels/lint.test.ts index d9037663..d7d8e2c0 100644 --- a/tests/commands/channels/lint.test.ts +++ b/tests/commands/channels/lint.test.ts @@ -8,8 +8,7 @@ type ExecError = { describe('channels:lint', () => { it('will show a message if the file contains a syntax error', () => { try { - const cmd = - 'npm run channels:lint --- --channels=tests/__data__/input/channels-lint/error.channels.xml' + const cmd = 'npm run channels:lint --- tests/__data__/input/channels-lint/error.channels.xml' execSync(cmd, { encoding: 'utf8' }) process.exit(1) } catch (error) { @@ -23,7 +22,7 @@ describe('channels:lint', () => { it('will show a message if an error occurred while parsing an xml file', () => { try { const cmd = - 'npm run channels:lint --- --channels=tests/__data__/input/channels-lint/invalid.channels.xml' + 'npm run channels:lint --- tests/__data__/input/channels-lint/invalid.channels.xml' execSync(cmd, { encoding: 'utf8' }) process.exit(1) } catch (error) { @@ -33,4 +32,22 @@ describe('channels:lint', () => { ) } }) + + it('can test multiple files at ones', () => { + try { + const cmd = + 'npm run channels:lint --- tests/__data__/input/channels-lint/error.channels.xml tests/__data__/input/channels-lint/invalid.channels.xml' + execSync(cmd, { encoding: 'utf8' }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain( + "error.channels.xml\n 3:0 Element 'channel': The attribute 'lang' is required but missing.\n" + ) + expect((error as ExecError).stdout).toContain( + 'invalid.channels.xml\n 2:6 XML declaration allowed only at the start of the document\n' + ) + expect((error as ExecError).stdout).toContain('2 error(s)') + } + }) })