diff --git a/tests/app/timer/timer-tests.ts b/tests/app/timer/timer-tests.ts index c8c8a55d6a..2c6f7997fb 100644 --- a/tests/app/timer/timer-tests.ts +++ b/tests/app/timer/timer-tests.ts @@ -72,6 +72,23 @@ export function test_setTimeout_callbackCalledAfterSpecifiedTime() { TKUnit.assert(completed, "Callback should be called after the specified time!"); } +export function test_setTimeout_callbackCalledWithBooleanPeriod() { + let completed = false; + + // >> timer-set-false + const id = timer.setTimeout(() => { + // >> (hide) + completed = true; + // << (hide) + // @ts-ignore + }, false); + // << timer-set-false + + TKUnit.waitUntilReady(() => completed, 1); + timer.clearTimeout(id); + TKUnit.assert(completed, "Callback should be called in 0 seconds!"); +} + export function test_setTimeout_callbackNotCalled() { let completed = false; diff --git a/tests/app/xml-parser-tests/xml-parser-tests.ts b/tests/app/xml-parser-tests/xml-parser-tests.ts index 8bf0197137..e1949ba1c1 100644 --- a/tests/app/xml-parser-tests/xml-parser-tests.ts +++ b/tests/app/xml-parser-tests/xml-parser-tests.ts @@ -54,6 +54,32 @@ export var test_XmlParser_EntityReferencesInAttributeValuesAreDecoded = function TKUnit.assert(data === "<>\"&'", "Expected result: <>\"&'; Actual result: " + data + ";"); }; +export var test_XmlParser_UnicodeEntitiesAreDecoded = function () { + var data; + var xmlParser = new xmlModule.XmlParser(function (event: xmlModule.ParserEvent) { + switch (event.eventType) { + case xmlModule.ParserEventType.Text: + data = event.data; + break; + } + }); + xmlParser.parse("🤣✓"); + TKUnit.assert(data === "\uD83E\uDD23\u2713", "Expected result: \uD83E\uDD23\u2713; Actual result: " + data + ";"); +}; + +export var test_XmlParser_UnicodeEntitiesInAttributeValuesAreDecoded = function () { + var data; + var xmlParser = new xmlModule.XmlParser(function (event: xmlModule.ParserEvent) { + switch (event.eventType) { + case xmlModule.ParserEventType.StartElement: + data = event.attributes["text"]; + break; + } + }); + xmlParser.parse("