Skip to content

Commit

Permalink
fix(hyperlinks): mark tests as serial
Browse files Browse the repository at this point in the history
  • Loading branch information
tommy-mitchell committed Jul 31, 2023
1 parent 86c3ffd commit 213d374
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions test/util/hyperlinks.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,71 +7,75 @@ const MOCK_COMMIT_HASH = '5063f8a';
const MOCK_COMMIT_RANGE = `${MOCK_COMMIT_HASH}...master`;

const verifyLinks = test.macro(async (t, {linksSupported}, assertions) => {
const mockedTerminalLink = Object.assign(terminalLink, {
isSupported: linksSupported,
});

// TODO: copy terminalLink to allow concurrent tests
/** @type {typeof import('../../source/util.js')} */
const util = await esmock('../../source/util.js', {
'terminal-link': mockedTerminalLink,
'terminal-link': Object.assign(terminalLink, {
isSupported: linksSupported,
}),
}, {
'supports-hyperlinks': {
stdout: linksSupported,
stderr: linksSupported,
},
});

await assertions({t, util});
});

test('linkifyIssues correctly links issues', verifyLinks, {
test.serial('linkifyIssues correctly links issues', verifyLinks, {
linksSupported: true,
}, ({t, util: {linkifyIssues}}) => {
t.is(linkifyIssues(MOCK_REPO_URL, 'Commit message - fixes #4'), 'Commit message - fixes ]8;;https://github.com/unicorn/rainbow/issues/4#4]8;;');
t.is(linkifyIssues(MOCK_REPO_URL, 'Commit message - fixes #3 #4'), 'Commit message - fixes ]8;;https://github.com/unicorn/rainbow/issues/3#3]8;; ]8;;https://github.com/unicorn/rainbow/issues/4#4]8;;');
t.is(linkifyIssues(MOCK_REPO_URL, 'Commit message - fixes foo/bar#4'), 'Commit message - fixes ]8;;https://github.com/foo/bar/issues/4foo/bar#4]8;;');
});

test('linkifyIssues returns raw message if url is not provided', verifyLinks, {
test.serial('linkifyIssues returns raw message if url is not provided', verifyLinks, {
linksSupported: true,
}, ({t, util: {linkifyIssues}}) => {
const message = 'Commit message - fixes #5';
t.is(linkifyIssues(undefined, message), message);
});

test('linkifyIssues returns raw message if terminalLink is not supported', verifyLinks, {
test.serial('linkifyIssues returns raw message if terminalLink is not supported', verifyLinks, {
linksSupported: false,
}, ({t, util: {linkifyIssues}}) => {
const message = 'Commit message - fixes #6';
t.is(linkifyIssues(MOCK_REPO_URL, message), message);
});

test('linkifyCommit correctly links commits', verifyLinks, {
test.serial('linkifyCommit correctly links commits', verifyLinks, {
linksSupported: true,
}, ({t, util: {linkifyCommit}}) => {
t.is(linkifyCommit(MOCK_REPO_URL, MOCK_COMMIT_HASH), ']8;;https://github.com/unicorn/rainbow/commit/5063f8a5063f8a]8;;');
});

test('linkifyCommit returns raw commit hash if url is not provided', verifyLinks, {
test.serial('linkifyCommit returns raw commit hash if url is not provided', verifyLinks, {
linksSupported: true,
}, ({t, util: {linkifyCommit}}) => {
t.is(linkifyCommit(undefined, MOCK_COMMIT_HASH), MOCK_COMMIT_HASH);
});

test('linkifyCommit returns raw commit hash if terminalLink is not supported', verifyLinks, {
test.serial('linkifyCommit returns raw commit hash if terminalLink is not supported', verifyLinks, {
linksSupported: false,
}, ({t, util: {linkifyCommit}}) => {
t.is(linkifyCommit(MOCK_REPO_URL, MOCK_COMMIT_HASH), MOCK_COMMIT_HASH);
});

test('linkifyCommitRange returns raw commitRange if url is not provided', verifyLinks, {
test.serial('linkifyCommitRange returns raw commitRange if url is not provided', verifyLinks, {
linksSupported: true,
}, ({t, util: {linkifyCommitRange}}) => {
t.is(linkifyCommitRange(undefined, MOCK_COMMIT_RANGE), MOCK_COMMIT_RANGE);
});

test('linkifyCommitRange returns raw commitRange if terminalLink is not supported', verifyLinks, {
test.serial('linkifyCommitRange returns raw commitRange if terminalLink is not supported', verifyLinks, {
linksSupported: false,
}, ({t, util: {linkifyCommitRange}}) => {
t.is(linkifyCommitRange(MOCK_REPO_URL, MOCK_COMMIT_RANGE), MOCK_COMMIT_RANGE);
});

test('linkifyCommitRange correctly links commit range', verifyLinks, {
test.serial('linkifyCommitRange correctly links commit range', verifyLinks, {
linksSupported: true,
}, ({t, util: {linkifyCommitRange}}) => {
t.is(linkifyCommitRange(MOCK_REPO_URL, MOCK_COMMIT_RANGE), ']8;;https://github.com/unicorn/rainbow/compare/5063f8a...master5063f8a...master]8;;');
Expand Down

0 comments on commit 213d374

Please sign in to comment.