From 6c8a48680c977ffb237c3baa7daa321d246c4308 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Wed, 31 May 2023 12:39:39 -0600 Subject: [PATCH] move testAwaitLet() to AwaitLetTestCase --- src/test/cases/AwaitLetTestCase.hx | 5 +++ src/test/cases/AwaitLetTestCase.kiss | 50 ++++++++++++++++++++++++++++ src/test/cases/BasicTestCase.hx | 6 ---- src/test/cases/BasicTestCase.kiss | 39 +--------------------- 4 files changed, 56 insertions(+), 44 deletions(-) diff --git a/src/test/cases/AwaitLetTestCase.hx b/src/test/cases/AwaitLetTestCase.hx index 180c021..c935ac1 100644 --- a/src/test/cases/AwaitLetTestCase.hx +++ b/src/test/cases/AwaitLetTestCase.hx @@ -10,6 +10,11 @@ import utest.Async; @:build(kiss.Kiss.build()) class AwaitLetTestCase extends Test { + function testAwaitLet(async:utest.Async) { + _testAwaitLet(async); + } + + function testMultipleBindings(async:Async) { _testMultipleBindings(async); } diff --git a/src/test/cases/AwaitLetTestCase.kiss b/src/test/cases/AwaitLetTestCase.kiss index 8dbc503..e6595b0 100644 --- a/src/test/cases/AwaitLetTestCase.kiss +++ b/src/test/cases/AwaitLetTestCase.kiss @@ -1,6 +1,55 @@ +(var defaultMakeCatch Prelude.makeAwaitLetDefaultCatch) + +(function _testAwaitLet [:utest.Async async] + (#if js { + (set Prelude.makeAwaitLetDefaultCatch defaultMakeCatch) + (localFunction :Promise newPromise [:Bool succeed] + (new Promise + ->:Void [ + :Bool->Void resolve + :Dynamic->Void reject + ] (if succeed (resolve true) (reject false)))) + + (awaitLet [result (newPromise true)] + (catch [:Dynamic e] (Assert.fail)) + (Assert.isTrue result) + (awaitLet [res1 (newPromise false) + res2 (newPromise true) + res3 (newPromise true)] + (catch [:Dynamic e] + (Assert.isFalse e) + (awaitLet [res1 (newPromise true) + res2 (newPromise false) + res3 (newPromise true)] + (catch [:Dynamic e] + (Assert.isFalse e) + (awaitLet [res1 (newPromise true) + res2 (newPromise true) + res3 (newPromise false)] + (catch [:Dynamic e] + (Assert.isFalse e) + (awaitLet [res1 (newPromise true) + res2 (newPromise res1) + res3 (newPromise res2)] + (Assert.isTrue ?(and res1 res2 res3)) + (async.done)) + e) + (Assert.fail)) + e) + (Assert.fail)) + e) + (Assert.fail))) + } + { + (Assert.pass) + (async.done) + }) + ) + (function _testMultipleBindings [:Async async] (#if js { + (set Prelude.makeAwaitLetDefaultCatch defaultMakeCatch) (awaitLet [a (Promise.resolve 1) b (Promise.resolve 2) c (Promise.resolve 3)] @@ -15,6 +64,7 @@ (function _testRejectedPromise [:Async async] (#if js { + (set Prelude.makeAwaitLetDefaultCatch defaultMakeCatch) (awaitLet [result (Promise.reject "async error")] (catch [reason] (Assert.pass) diff --git a/src/test/cases/BasicTestCase.hx b/src/test/cases/BasicTestCase.hx index 6c74912..0f17f0f 100644 --- a/src/test/cases/BasicTestCase.hx +++ b/src/test/cases/BasicTestCase.hx @@ -425,12 +425,6 @@ class BasicTestCase extends Test { } #end - #if js - function testAwaitLet(async:utest.Async) { - _testAwaitLet(async); - } - #end - function testLambdaTypeAnnotations() { _testLambdaTypeAnnotations(); } diff --git a/src/test/cases/BasicTestCase.kiss b/src/test/cases/BasicTestCase.kiss index b95b326..02c955c 100644 --- a/src/test/cases/BasicTestCase.kiss +++ b/src/test/cases/BasicTestCase.kiss @@ -930,44 +930,7 @@ From:[(assert false (+ \"false \" \"should \" \"have \" \"been \" \"true\"))]" m (Assert.equals "a55.5true" "${a}${five}${fivePointFive}${tt}")) (never otherwise))) -(#when js - (function _testAwaitLet [:utest.Async async] - (localFunction :Promise newPromise [:Bool succeed] - (new Promise - ->:Void [ - :Bool->Void resolve - :Dynamic->Void reject - ] (if succeed (resolve true) (reject false)))) - - (awaitLet [result (newPromise true)] - (catch [:Dynamic e] (Assert.fail)) - (Assert.isTrue result) - (awaitLet [res1 (newPromise false) - res2 (newPromise true) - res3 (newPromise true)] - (catch [:Dynamic e] - (Assert.isFalse e) - (awaitLet [res1 (newPromise true) - res2 (newPromise false) - res3 (newPromise true)] - (catch [:Dynamic e] - (Assert.isFalse e) - (awaitLet [res1 (newPromise true) - res2 (newPromise true) - res3 (newPromise false)] - (catch [:Dynamic e] - (Assert.isFalse e) - (awaitLet [res1 (newPromise true) - res2 (newPromise res1) - res3 (newPromise res2)] - (Assert.isTrue ?(and res1 res2 res3)) - (async.done)) - e) - (Assert.fail)) - e) - (Assert.fail)) - e) - (Assert.fail))))) + (function _testQuickPrintOnSetVar []