42 lines
1.4 KiB
TypeScript
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);
|
|
});
|
|
});
|
|
});
|