68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import domSibling from 'consul-ui/utils/dom/sibling';
|
|
import { module, test } from 'qunit';
|
|
|
|
module('Unit | Utility | dom/sibling', function () {
|
|
test('it returns the next sibling if it matches the requested nodeName', function (assert) {
|
|
const expected = {
|
|
nodeType: 1,
|
|
nodeName: 'H1',
|
|
};
|
|
const actual = domSibling(
|
|
{
|
|
nextSibling: expected,
|
|
},
|
|
'h1'
|
|
);
|
|
assert.deepEqual(actual, expected);
|
|
});
|
|
test('it returns the next sibling from a list of nodes if it matches the requested nodeName', function (assert) {
|
|
const expected = {
|
|
nodeType: 1,
|
|
nodeName: 'H1',
|
|
};
|
|
const nodes = {
|
|
nodeType: 3,
|
|
nodeName: '#text',
|
|
nextSibling: {
|
|
nodeType: 4,
|
|
nodeName: '#cdata-section',
|
|
nextSibling: expected,
|
|
},
|
|
};
|
|
const actual = domSibling(
|
|
{
|
|
nextSibling: nodes,
|
|
},
|
|
'h1'
|
|
);
|
|
assert.deepEqual(actual, expected);
|
|
});
|
|
test("it returns the null from a list of nodes if it can't match", function (assert) {
|
|
let expected;
|
|
const nodes = {
|
|
nodeType: 3,
|
|
nodeName: '#text',
|
|
nextSibling: {
|
|
nodeType: 4,
|
|
nodeName: '#cdata-section',
|
|
nextSibling: {
|
|
nodeType: 1,
|
|
nodeName: 'p',
|
|
},
|
|
},
|
|
};
|
|
const actual = domSibling(
|
|
{
|
|
nextSibling: nodes,
|
|
},
|
|
'h1'
|
|
);
|
|
assert.deepEqual(actual, expected);
|
|
});
|
|
});
|