Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/vue_shared/components/source_viewer/utils_spec.js')
-rw-r--r--spec/frontend/vue_shared/components/source_viewer/utils_spec.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/frontend/vue_shared/components/source_viewer/utils_spec.js b/spec/frontend/vue_shared/components/source_viewer/utils_spec.js
new file mode 100644
index 00000000000..0ac72aa9afb
--- /dev/null
+++ b/spec/frontend/vue_shared/components/source_viewer/utils_spec.js
@@ -0,0 +1,35 @@
+import { setHTMLFixture } from 'helpers/fixtures';
+import {
+ calculateBlameOffset,
+ toggleBlameClasses,
+} from '~/vue_shared/components/source_viewer/utils';
+import { SOURCE_CODE_CONTENT_MOCK, BLAME_DATA_MOCK } from './mock_data';
+
+describe('SourceViewer utils', () => {
+ beforeEach(() => setHTMLFixture(SOURCE_CODE_CONTENT_MOCK));
+
+ const findContent = () => document.querySelector('.content');
+
+ describe('calculateBlameOffset', () => {
+ it('returns an offset of zero if line number === 1', () => {
+ expect(calculateBlameOffset(1)).toBe('0px');
+ });
+
+ it('calculates an offset for the blame component', () => {
+ const { offsetTop } = document.querySelector('#LC3');
+ expect(calculateBlameOffset(3)).toBe(`${offsetTop}px`);
+ });
+ });
+
+ describe('toggleBlameClasses', () => {
+ it('adds classes', () => {
+ toggleBlameClasses(BLAME_DATA_MOCK, true);
+ expect(findContent()).toMatchSnapshot();
+ });
+
+ it('removes classes', () => {
+ toggleBlameClasses(BLAME_DATA_MOCK, false);
+ expect(findContent()).toMatchSnapshot();
+ });
+ });
+});