diff options
Diffstat (limited to 'source/github-helpers/get-current-git-ref.test.ts')
-rw-r--r-- | source/github-helpers/get-current-git-ref.test.ts | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/source/github-helpers/get-current-git-ref.test.ts b/source/github-helpers/get-current-git-ref.test.ts index 9581f5db..9ec1c9eb 100644 --- a/source/github-helpers/get-current-git-ref.test.ts +++ b/source/github-helpers/get-current-git-ref.test.ts @@ -1,114 +1,117 @@ import {assert, test} from 'vitest'; // @ts-expect-error JS only -import {navigateToBranch} from '../../test/fixtures/globals.js'; -import getCurrentGitRef from './get-current-git-ref.js'; +import {navigateToCommits} from '../../test/fixtures/globals.js'; +import getCurrentGitRef, {getGitRef} from './get-current-git-ref.js'; // The titles supplied here listed here are real, not guessed, except the error tester -test('getCurrentGitRef', () => { +test('getGitRef', () => { // Error testing - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/', 'some page title', ), undefined, 'It should never throw with valid input'); - assert.throws(() => getCurrentGitRef( + assert.throws(() => getGitRef( 'https://github.com', 'github.com', )); // Root - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint', 'typescript-eslint/typescript-eslint: Monorepo for all the tooling which enables ESLint to support TypeScript', ), undefined); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/tree/chore/lerna-4', 'typescript-eslint/typescript-eslint at chore/lerna-4', ), 'chore/lerna-4'); // Sub folder - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/tree/master/docs', 'typescript-eslint/docs at master · typescript-eslint/typescript-eslint', ), 'master'); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/tree/chore/lerna-4/docs', 'typescript-eslint/docs at chore/lerna-4 · typescript-eslint/typescript-eslint', ), 'chore/lerna-4'); // Sub sub folder - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/tree/master/docs/getting-started', 'typescript-eslint/docs/getting-started at master · typescript-eslint/typescript-eslint', ), 'master'); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/tree/chore/lerna-4/docs/getting-started', 'typescript-eslint/docs/getting-started at chore/lerna-4 · typescript-eslint/typescript-eslint', ), 'chore/lerna-4'); // File - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/blob/master/docs/getting-started/README.md', 'typescript-eslint/README.md at master · typescript-eslint/typescript-eslint', ), 'master'); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/blob/chore/lerna-4/docs/getting-started/README.md', 'typescript-eslint/README.md at chore/lerna-4 · typescript-eslint/typescript-eslint', ), 'chore/lerna-4'); // Editing file - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/edit/master/docs/getting-started/README.md', 'Editing typescript-eslint/README.md at master · typescript-eslint/typescript-eslint', ), 'master'); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/edit/chore/lerna-4/docs/getting-started/README.md', 'Editing typescript-eslint/README.md at chore/lerna-4 · typescript-eslint/typescript-eslint', ), 'chore/lerna-4'); // Blame - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/blame/master/docs/getting-started/README.md', 'typescript-eslint/docs/getting-started/README.md at master · typescript-eslint/typescript-eslint', ), 'master'); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/blame/chore/lerna-4/docs/getting-started/README.md', 'typescript-eslint/docs/getting-started/README.md at chore/lerna-4 · typescript-eslint/typescript-eslint', ), 'chore/lerna-4'); - // Commits - navigateToBranch('master'); - assert.equal(getCurrentGitRef( - '/typescript-eslint/typescript-eslint/commits/master/docs/getting-started/README.md', - 'History for docs/getting-started/README.md - typescript-eslint/typescript-eslint', - ), 'master'); - - navigateToBranch('chore/lerna-4'); - assert.equal(getCurrentGitRef( - '/typescript-eslint/typescript-eslint/commits/chore/lerna-4/docs/getting-started/README.md', - 'History for docs/getting-started/README.md - typescript-eslint/typescript-eslint', - ), 'chore/lerna-4'); - - navigateToBranch('this/branch/has/many/slashes'); - assert.equal(getCurrentGitRef( - '/yakov116/TestR/commits/this/branch/has/many/slashes', - 'Commits · yakov116/TestR', - ), 'this/branch/has/many/slashes'); - // Single commit - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/typescript-eslint/typescript-eslint/commit/795fd1c529ee58e97283c9ddf8463703517b50ab', 'chore: add markdownlint (#1889) · typescript-eslint/typescript-eslint@795fd1c', ), '795fd1c529ee58e97283c9ddf8463703517b50ab'); // Branch includes period - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/anggrayudi/SimpleStorage/tree/release/0.8.0', 'anggrayudi/SimpleStorage at release/0.8.0', ), 'release/0.8.0'); - assert.equal(getCurrentGitRef( + assert.equal(getGitRef( '/ksh-code/repository/tree/h.l.o.o', 'ksh-code/repository at h.l.o.o', ), 'h.l.o.o'); }); + +// The titles supplied here listed here are real, not guessed, except the error tester +test('getCurrentGitRef', () => { + // Commits + navigateToCommits( + 'master', + '/typescript-eslint/typescript-eslint/commits/master/docs/getting-started/README.md', + ); + assert.equal(getCurrentGitRef(), 'master'); + + navigateToCommits( + 'chore/lerna-4', + '/typescript-eslint/typescript-eslint/commits/chore/lerna-4/docs/getting-started/README.md', + ); + assert.equal(getCurrentGitRef(), 'chore/lerna-4'); + + navigateToCommits( + 'this/branch/has/many/slashes', + '/yakov116/TestR/commits/this/branch/has/many/slashes', + ); + assert.equal(getCurrentGitRef(), 'this/branch/has/many/slashes'); +}); |