gitlab-org--gitlab-foss/spec/frontend/repository/utils/title_spec.js

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, 'master', 'GitLab Org / GitLab');
expect(document.title).toEqual(`${title} · master · 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);
});
});