46 lines
1.2 KiB
HTML
46 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|||
|
|
<html>
|
||
|
|
<head>
|
||
|
|
<meta charset="utf8">
|
||
|
|
<title>closest</title>
|
||
|
|
<script src="../build/build.js"></script>
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<div id="d1">
|
||
|
|
<div id="d2">
|
||
|
|
<div id="d3">hello</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<script>
|
||
|
|
var closest = require('closest')
|
||
|
|
var d1 = document.querySelector('#d1')
|
||
|
|
var d2 = document.querySelector('#d2')
|
||
|
|
var d3 = document.querySelector('#d3')
|
||
|
|
var d4 = document.querySelector('#d3').cloneNode(true);
|
||
|
|
var text = d3.firstChild;
|
||
|
|
var errors = false;
|
||
|
|
|
||
|
|
assert(closest(d3, '#d2'), d2)
|
||
|
|
assert(closest(d3, '#d3'), d3)
|
||
|
|
assert(closest(d3, '#d3'), d3)
|
||
|
|
assert(closest(d3, '#d1'), d1)
|
||
|
|
assert(closest(d3, '#d1', d2), null)
|
||
|
|
assert(closest(d3, '#d1', d1), d1)
|
||
|
|
assert(closest(d4, 'body'), null)
|
||
|
|
assert(closest(document.documentElement, '*'), document.documentElement);
|
||
|
|
assert(closest(text, '#d1'), d1);
|
||
|
|
|
||
|
|
if (!errors) {
|
||
|
|
console.log('all good!');
|
||
|
|
}
|
||
|
|
|
||
|
|
function assert(el1, el2) {
|
||
|
|
if (el1 !== el2) {
|
||
|
|
errors = true;
|
||
|
|
console.log(new Error().stack)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
</script>
|
||
|
|
</body>
|
||
|
|
</html>
|