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("