Skip to content

Commit

Permalink
test(closest): use on board domify utility
Browse files Browse the repository at this point in the history
  • Loading branch information
nikku committed Mar 11, 2020
1 parent aaa8ab4 commit 5f7c7dc
Showing 1 changed file with 17 additions and 18 deletions.
35 changes: 17 additions & 18 deletions test/closest.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ describe('closest', function() {
'<div class="child"></div>' +
'</div>' +
'</div>');

var child = query('.child', node);

var fragment = document.createDocumentFragment();
Expand All @@ -51,28 +52,26 @@ describe('closest', function() {

// .root
// | -> (shadow - This is not a HTML document nor HTML element)
// | -> .innerShadowRoot
// | -> .innerShadowChild
// | -> .shadowRoot
// | -> .shadowChild

// given
var root = createDivWithClassname('root');
var root = domify('<div class="root"></div>');
var shadow = root.attachShadow({ mode: 'open' });

var innerShadowRoot = createDivWithClassname('innerShadowRoot');
shadow.appendChild(innerShadowRoot);
var innerShadowChild = createDivWithClassname('innerShadowChild');
innerShadowRoot.appendChild(innerShadowChild);
var shadowRoot = domify('<div class="shadowRoot">' +
'<div class="shadowChild"></div>' +
'</div>');

shadow.appendChild(shadowRoot);

var shadowChild = query('.shadowChild', shadowRoot);

// then
expect(closest(innerShadowChild, '.innerShadowRoot')).to.equal(innerShadowRoot);
expect(closest(innerShadowRoot, '.innerShadowRoot', true)).to.equal(innerShadowRoot);
expect(closest(innerShadowChild, '.outside')).to.be.null;
expect(closest(shadowChild, '.shadowRoot')).to.equal(shadowRoot);
expect(closest(shadowRoot, '.shadowRoot', true)).to.equal(shadowRoot);
expect(closest(shadowChild, '.outside')).to.be.null;
expect(closest(shadowChild, '.root')).to.be.null;
});
});

// helper ////
function createDivWithClassname(className) {
var div = document.createElement('div');
div.className = className;
return div;
}

});

0 comments on commit 5f7c7dc

Please sign in to comment.