From a1dc0d1936915993575062280036a50f5f60c2c1 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Thu, 4 Jun 2020 07:32:34 -0700 Subject: [PATCH] Add tests for removeElementFromParent --- src/browser/Dom.test.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/browser/Dom.test.ts diff --git a/src/browser/Dom.test.ts b/src/browser/Dom.test.ts new file mode 100644 index 000000000..14f3d26f5 --- /dev/null +++ b/src/browser/Dom.test.ts @@ -0,0 +1,41 @@ +/** + * 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); + }); + }); +});