import $, {VeamsQueryObject} from '../src'; test('before() - insert element before (HTML String)', () => { document.body.innerHTML = `

text content 2

text content 2
text content 3
`; const $targetEls: VeamsQueryObject = $('.target-el'); const testEl: HTMLElement = document.getElementById('test-el'); const testEl2: HTMLElement = document.getElementById('test-el-2'); $targetEls.before('inserted element'); expect(document.querySelectorAll('strong')).toHaveLength(3); expect(testEl.firstElementChild.tagName).toBe('STRONG'); expect(testEl.children[2].tagName).toBe('STRONG'); expect(testEl2.firstElementChild.tagName).toBe('STRONG'); }); test('before() - insert element before (VeamsQueryObject)', () => { document.body.innerHTML = `

text content 2

text content 2
text content 3
`; const $targetEls: VeamsQueryObject = $('.target-el'); const testEl: HTMLElement = document.getElementById('test-el'); const testEl2: HTMLElement = document.getElementById('test-el-2'); const $insertEl: VeamsQueryObject = $('inserted element'); $targetEls.before($insertEl); expect(document.querySelectorAll('strong')).toHaveLength(1); expect(testEl.children).toHaveLength(2); expect(testEl2.children).toHaveLength(2); expect(testEl2.firstElementChild.tagName).toBe('STRONG'); }); test('before() - insert element before (HTMLElement)', () => { document.body.innerHTML = `

text content 2

text content 2
text content 3
`; const $targetEls: VeamsQueryObject = $('.target-el'); const testEl: HTMLElement = document.getElementById('test-el'); const testEl2: HTMLElement = document.getElementById('test-el-2'); const insertEl: HTMLElement = document.createElement('strong'); insertEl.innerText = 'inserted element'; $targetEls.before(insertEl); expect(document.querySelectorAll('strong')).toHaveLength(1); expect(testEl.children).toHaveLength(2); expect(testEl2.children).toHaveLength(2); expect(testEl2.firstElementChild.tagName).toBe('STRONG'); });