/* * @author Hong-Phuc Bui * @filename DomIO-test * Initial Date 16.12.19 */ import "../../node_modules/qunit/qunit/qunit.css"; import "../../src/lib/dom-output.css"; import { QUnit } from "qunit"; import {DomOutput} from "../../src/lib/DomIO.js"; QUnit.test("print string", (assert) => { let elementId = "string-output"; let terminal = new DomOutput(elementId); let testText = "test print string"; terminal.printl(testText); let printedText = document.getElementById(elementId).innerText; assert.ok(printedText.trim() === testText, `${printedText} === ${testText}`); }); QUnit.test("print number", (assert) => { let elementId = "number-output"; let terminal = new DomOutput(elementId); let testText = 12; terminal.printl(testText); let printedText = document.getElementById(elementId).innerText; assert.ok(printedText.trim() === String(testText), `${printedText} === ${testText}`); }); QUnit.test("print array", (assert) => { let elementId = "array-output"; let terminal = new DomOutput(elementId); let testText = [1, 2, 3]; terminal.printl(testText); let printedText = document.getElementById(elementId).innerText; assert.ok(printedText.trim().indexOf("[") === 0, `print [ for array object`); assert.ok(printedText.trim().indexOf("]") > 1, `print ] for array object`); }); QUnit.test("print object", (assert) => { let elementId = "object-output"; let terminal = new DomOutput(elementId); let testText = {a: 1, b: 2, c: 3}; terminal.printl(testText); let printedText = document.getElementById(elementId).innerText; assert.ok(printedText.trim().indexOf("{") === 0, `print [ for literal object`); assert.ok(printedText.trim().indexOf("}") > 1, `print ] for literal object`); }); QUnit.test("clear() removes all printed objects", (assert) => { let elementId = "output-cleanup"; let terminal = new DomOutput(elementId); let testText = {a: 1, b: 2, c: 3}; terminal.printl(testText); let printedText = document.getElementById(elementId).innerText; assert.ok(printedText.trim().length > 0, `print something`); terminal.clear(); printedText = document.getElementById(elementId).innerText; assert.ok(printedText.trim().length === 0, `cleanup terminal`); });