Files
xterm.js/src/browser/Dom.test.ts
T

42 lines
1.4 KiB
TypeScript

/**
* Copyright (c) 2020 The xterm.js authors. All rights reserved.
* @license MIT
*/
import jsdom = require('jsdom');
import { removeElementFromParent } from 'browser/Dom';
import { strictEqual, doesNotThrow } from 'assert';
describe('Dom', () => {
const dom = new jsdom.JSDOM();
const document = dom.window.document;
describe('removeElementFromParent', () => {
it('should remove single child', () => {
const e = document.createElement('div');
document.body.appendChild(e);
strictEqual(e.parentElement, document.body);
removeElementFromParent(e);
strictEqual(e.parentElement, null);
});
it('should remove multiple elements', () => {
const e1 = document.createElement('div');
const e2 = document.createElement('div');
document.body.appendChild(e1);
document.body.appendChild(e2);
strictEqual(e1.parentElement, document.body);
strictEqual(e2.parentElement, document.body);
removeElementFromParent(e1, e2);
strictEqual(e1.parentElement, null);
strictEqual(e2.parentElement, null);
});
it('should not throw on undefined', () => {
const e = document.createElement('div');
document.body.appendChild(e);
strictEqual(e.parentElement, document.body);
doesNotThrow(() => removeElementFromParent(undefined, e));
strictEqual(e.parentElement, null);
});
});
});