diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-19 10:33:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-19 10:33:21 +0300 |
commit | 36a59d088eca61b834191dacea009677a96c052f (patch) | |
tree | e4f33972dab5d8ef79e3944a9f403035fceea43f /spec/frontend/lib/utils/dom_utils_spec.js | |
parent | a1761f15ec2cae7c7f7bbda39a75494add0dfd6f (diff) |
Add latest changes from gitlab-org/gitlab@15-0-stable-eev15.0.0-rc42
Diffstat (limited to 'spec/frontend/lib/utils/dom_utils_spec.js')
-rw-r--r-- | spec/frontend/lib/utils/dom_utils_spec.js | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/spec/frontend/lib/utils/dom_utils_spec.js b/spec/frontend/lib/utils/dom_utils_spec.js index 2f240f25d2a..88dac449527 100644 --- a/spec/frontend/lib/utils/dom_utils_spec.js +++ b/spec/frontend/lib/utils/dom_utils_spec.js @@ -1,3 +1,4 @@ +import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures'; import { addClassIfElementExists, canScrollUp, @@ -6,6 +7,7 @@ import { isElementVisible, isElementHidden, getParents, + getParentByTagName, setAttributes, } from '~/lib/utils/dom_utils'; @@ -23,10 +25,14 @@ describe('DOM Utils', () => { let parentElement; beforeEach(() => { - setFixtures(fixture); + setHTMLFixture(fixture); parentElement = document.querySelector('.parent'); }); + afterEach(() => { + resetHTMLFixture(); + }); + it('adds class if element exists', () => { const childElement = parentElement.querySelector('.child'); @@ -126,10 +132,14 @@ describe('DOM Utils', () => { let element; beforeEach(() => { - setFixtures('<div data-foo-bar data-baz data-qux="">'); + setHTMLFixture('<div data-foo-bar data-baz data-qux="">'); element = document.querySelector('[data-foo-bar]'); }); + afterEach(() => { + resetHTMLFixture(); + }); + it('throws if not given an element', () => { expect(() => parseBooleanDataAttributes(null, ['baz'])).toThrow(); }); @@ -210,6 +220,21 @@ describe('DOM Utils', () => { }); }); + describe('getParentByTagName', () => { + const el = document.createElement('div'); + el.innerHTML = '<p><span><strong><mark>hello world'; + + it.each` + tagName | parent + ${'strong'} | ${el.querySelector('strong')} + ${'span'} | ${el.querySelector('span')} + ${'p'} | ${el.querySelector('p')} + ${'pre'} | ${undefined} + `('gets a parent by tag name', ({ tagName, parent }) => { + expect(getParentByTagName(el.querySelector('mark'), tagName)).toBe(parent); + }); + }); + describe('setAttributes', () => { it('sets multiple attribues on element', () => { const div = document.createElement('div'); |