38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
import { setTitle, updateRefPortionOfTitle } from '~/repository/utils/title';
|
|
|
|
describe('setTitle', () => {
|
|
it.each`
|
|
path | title
|
|
${'/'} | ${'Files'}
|
|
${'app'} | ${'app'}
|
|
${'app/assets'} | ${'app/assets'}
|
|
${'app/assets/javascripts'} | ${'app/assets/javascripts'}
|
|
`('sets document title as $title for $path', ({ path, title }) => {
|
|
setTitle(path, 'main', 'GitLab Org / GitLab');
|
|
|
|
expect(document.title).toEqual(`${title} · main · GitLab Org / GitLab · GitLab`);
|
|
});
|
|
});
|
|
|
|
describe('updateRefPortionOfTitle', () => {
|
|
const sha = 'abc';
|
|
const testCases = [
|
|
[
|
|
'updates the title with the SHA',
|
|
{ title: 'part 1 · part 2 · part 3' },
|
|
'part 1 · abc · part 3',
|
|
],
|
|
["makes no change if there's no title", { foo: null }, undefined],
|
|
[
|
|
"makes no change if the title doesn't split predictably",
|
|
{ title: 'part 1 - part 2 - part 3' },
|
|
'part 1 - part 2 - part 3',
|
|
],
|
|
];
|
|
|
|
it.each(testCases)('%s', (desc, doc, title) => {
|
|
updateRefPortionOfTitle(sha, doc);
|
|
|
|
expect(doc.title).toEqual(title);
|
|
});
|
|
});
|