![JAR search and dependency download from the Maven repository](/logo.png)
package.test.closest.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of delegate Show documentation
Show all versions of delegate Show documentation
Lightweight event delegation
The newest version!
var closest = require('../src/closest');
describe('closest', function() {
before(function() {
var html = '' +
'' +
'' +
'' +
'';
document.body.innerHTML += html;
global.a = document.querySelector('#a');
global.b = document.querySelector('#b');
global.c = document.querySelector('#c');
});
after(function() {
document.body.innerHTML = '';
});
it('should return the closest parent based on the selector', function() {
assert.ok(closest(global.c, '#b'), global.b);
assert.ok(closest(global.c, '#a'), global.a);
assert.ok(closest(global.b, '#a'), global.a);
});
it('should return itself if the same selector is passed', function() {
assert.ok(closest(document.body, 'body'), document.body);
});
it('should not throw on elements without matches()', function() {
var fakeElement = {
nodeType: -1, // anything but DOCUMENT_NODE_TYPE
parentNode: null,
matches: undefined // undefined to emulate Elements without this function
};
try {
closest(fakeElement, '#a')
} catch (err) {
assert.fail();
}
});
});
© 2015 - 2025 Weber Informatics LLC | Privacy Policy