From d092dadeabc39459172078d1f677acf0d1e45480 Mon Sep 17 00:00:00 2001 From: m0_75226990 Date: Wed, 11 Sep 2024 16:56:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4callback=20keepAlive=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=8C=96=E6=B5=8B=E8=AF=95=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/index/basicTest.test.js | 15 ++- pages/index/basicTest.uvue | 146 +++++++++++++++++-------- pages/index/basicTest.vue | 105 ++++++++++++++++++ uni_modules/uts-tests/utssdk/index.uts | 61 +++-------- 4 files changed, 237 insertions(+), 90 deletions(-) diff --git a/pages/index/basicTest.test.js b/pages/index/basicTest.test.js index bf52509..63a9eb6 100644 --- a/pages/index/basicTest.test.js +++ b/pages/index/basicTest.test.js @@ -41,8 +41,21 @@ if (process.env.UNI_PROJECT_TYPE === '2.0' && process.env.uniTestPlatformInfo.to it("jest_testTypeFromAppJs", async () => { const res = await page.callMethod('jest_testTypeFromAppJs') expect(res).toEqual(true) + }) + }) +} + +if (process.env.UNI_PROJECT_TYPE === '2.0' && (process.env.uniTestPlatformInfo.toLocaleLowerCase().startsWith('ios') || process.env.uniTestPlatformInfo.startsWith('android'))) { + describe('testCallbackKeepAlive', () => { + it("jest_testCallbackKeepAlive", async () => { + const res = await page.callMethod('jest_testCallbackKeepAlive') + expect(res).toEqual(true) }) - + }) +} + +if (process.env.UNI_PROJECT_TYPE === '1.0' && (process.env.uniTestPlatformInfo.toLocaleLowerCase().startsWith('ios') || process.env.uniTestPlatformInfo.startsWith('android'))) { + describe('testCallbackKeepAlive', () => { it("jest_testCallbackKeepAlive", async () => { const res = await page.callMethod('jest_testCallbackKeepAlive') expect(res).toEqual(true) diff --git a/pages/index/basicTest.uvue b/pages/index/basicTest.uvue index 7728a5b..1dfd9ad 100644 --- a/pages/index/basicTest.uvue +++ b/pages/index/basicTest.uvue @@ -23,6 +23,8 @@ import { runTests, Result } from '../../uni_modules/uts-tests' // #ifdef APP-IOS import { testTypeFromAppJs, Options } from '@/uni_modules/uts-ios-tests'; +// #endif +// #ifdef APP import { onTest1, testKeepAlive, testKeepAliveOption, TestKeepAliveClass } from '@/uni_modules/uts-tests' // #endif export default { @@ -54,60 +56,114 @@ export default { // #ifdef APP-IOS jest_testTypeFromAppJs() { return testTypeFromAppJs({ - num: 1 + num: 1 } as Options) }, // #endif - // #ifdef APP-IOS + // #ifdef APP jest_testCallbackKeepAlive() { - onTest1((res) => { - console.log(res) - }) - - testKeepAlive((res) => { - console.log(res) - }) - - testKeepAliveOption({ - a: "testKeepAliveOption", - success: (res) => { - console.log(res) + let ret = true + let count = 0; + + onTest1((res) => { + count++; + console.log("onTest1 callback =====> ", res) + }) + + if (count < 2) { + ret = false } - }) - - TestKeepAliveClass.onTestStatic((res) => { - console.log(res) - }) - - TestKeepAliveClass.testKeepAliveStatic((res) => { - console.log(res) - }) - - TestKeepAliveClass.testKeepAliveOptionStatic({ - a: "testKeepAliveOption", - success: (res) => { + count = 0; + + testKeepAlive((res) => { + count++; console.log(res) + }) + + if (count < 2) { + ret = false } - }) - - const obj = new TestKeepAliveClass() - obj.onTest((res) => { - console.log(res) - }) - - obj.testKeepAlive((res) => { - console.log(res) - }) - - obj.testKeepAliveOption({ - a: "testKeepAliveOption", - success: (res) => { - console.log(res) + count = 0; + + testKeepAliveOption({ + a: "testKeepAliveOption", + success: (res) => { + count++; + console.log("testKeepAliveOption callback =====> ", res) + } + }) + + if (count < 2) { + ret = false } - }) - - return true + count = 0; + + TestKeepAliveClass.onTestStatic((res) => { + count++; + console.log("onTestStatic callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + TestKeepAliveClass.testKeepAliveStatic((res) => { + count++; + console.log("testKeepAliveStatic callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + TestKeepAliveClass.testKeepAliveOptionStatic({ + a: "testKeepAliveOption", + success: (res) => { + count++; + console.log("testKeepAliveOptionStatic callback =====> ", res) + } + }) + + if (count < 2) { + ret = false + } + count = 0; + + const obj = new TestKeepAliveClass() + obj.onTest((res) => { + count++; + console.log("TestKeepAliveClass.onTest callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + obj.testKeepAlive((res) => { + count++; + console.log("TestKeepAliveClass.testKeepAlive callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + obj.testKeepAliveOption({ + a: "testKeepAliveOption", + success: (res) => { + count++; + console.log("TestKeepAliveClass.testKeepAliveOption callback =====> ", res) + } + }) + if (count < 2) { + ret = false + } + return ret } // #endif }, diff --git a/pages/index/basicTest.vue b/pages/index/basicTest.vue index 21890db..c7395bf 100644 --- a/pages/index/basicTest.vue +++ b/pages/index/basicTest.vue @@ -20,6 +20,7 @@ import { runTests } from '../../uni_modules/uts-tests' + import { onTest1, testKeepAlive, testKeepAliveOption, TestKeepAliveClass } from '@/uni_modules/uts-tests' export default { data() { return { @@ -34,6 +35,110 @@ test() { this.result = runTests() console.log(this.result) + }, + + jest_testCallbackKeepAlive() { + let ret = true + let count = 0; + + onTest1((res) => { + count++; + console.log("onTest1 callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + testKeepAlive((res) => { + count++; + console.log(res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + testKeepAliveOption({ + a: "testKeepAliveOption", + success: (res) => { + count++; + console.log("testKeepAliveOption callback =====> ", res) + } + }) + + if (count < 2) { + ret = false + } + count = 0; + + TestKeepAliveClass.onTestStatic((res) => { + count++; + console.log("onTestStatic callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + TestKeepAliveClass.testKeepAliveStatic((res) => { + count++; + console.log("testKeepAliveStatic callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + TestKeepAliveClass.testKeepAliveOptionStatic({ + a: "testKeepAliveOption", + success: (res) => { + count++; + console.log("testKeepAliveOptionStatic callback =====> ", res) + } + }) + + if (count < 2) { + ret = false + } + count = 0; + + const obj = new TestKeepAliveClass() + obj.onTest((res) => { + count++; + console.log("TestKeepAliveClass.onTest callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + obj.testKeepAlive((res) => { + count++; + console.log("TestKeepAliveClass.testKeepAlive callback =====> ", res) + }) + + if (count < 2) { + ret = false + } + count = 0; + + obj.testKeepAliveOption({ + a: "testKeepAliveOption", + success: (res) => { + count++; + console.log("TestKeepAliveClass.testKeepAliveOption callback =====> ", res) + } + }) + if (count < 2) { + ret = false + } + return ret } } } diff --git a/uni_modules/uts-tests/utssdk/index.uts b/uni_modules/uts-tests/utssdk/index.uts index 8acb217..5d8a902 100644 --- a/uni_modules/uts-tests/utssdk/index.uts +++ b/uni_modules/uts-tests/utssdk/index.uts @@ -72,26 +72,20 @@ export function runTests() : UTSJSONObject { } } -// #ifdef APP-IOS +// #ifdef APP import { expect } from './tests.uts' export type TestKeepAliveCallback = (res: string) => void export function onTest1(callback: TestKeepAliveCallback) { callback("1") - setTimeout(()=> { - callback("2") - expect(callback != null).toEqual(true) - }, 20) + callback("2") } @UTSJS.keepAlive export function testKeepAlive(callback: TestKeepAliveCallback) { - callback("3") - setTimeout(()=> { - callback("4") - expect(callback != null).toEqual(true) - }, 22) + callback("1") + callback("2") } export type TestKeepAliveOption = { @@ -102,11 +96,8 @@ export type TestKeepAliveOption = { @UTSJS.keepAlive export function testKeepAliveOption(option: TestKeepAliveOption) { console.log(option.a); - option.success?.("11") - setTimeout(() => { - option.success?.("22") - expect(option.success != null).toEqual(true) - }, 30) + option.success?.("1") + option.success?.("2") } export class TestKeepAliveClass { @@ -116,56 +107,38 @@ export class TestKeepAliveClass { } onTest(callback: TestKeepAliveCallback) { callback("1") - setTimeout(()=> { - callback("2") - expect(callback != null).toEqual(true) - }, 40) + callback("2") } @UTSJS.keepAlive testKeepAlive(callback: TestKeepAliveCallback) { - callback("3") - setTimeout(()=> { - callback("4") - expect(callback != null).toEqual(true) - }, 42) + callback("1") + callback("2") } @UTSJS.keepAlive testKeepAliveOption(option: TestKeepAliveOption) { console.log(option.a); - option.success?.("11") - setTimeout(() => { - option.success?.("22") - expect(option.success != null).toEqual(true) - }, 45) + option.success?.("1") + option.success?.("2") } static onTestStatic(callback: TestKeepAliveCallback) { callback("1") - setTimeout(()=> { - callback("2") - expect(callback != null).toEqual(true) - }, 40) + callback("2") } @UTSJS.keepAlive static testKeepAliveStatic(callback: TestKeepAliveCallback) { - callback("3") - setTimeout(()=> { - callback("4") - expect(callback != null).toEqual(true) - }, 50) + callback("1") + callback("2") } @UTSJS.keepAlive - testKeepAliveOptionStatic(option: TestKeepAliveOption) { + static testKeepAliveOptionStatic(option: TestKeepAliveOption) { console.log(option.a); - option.success?.("11") - setTimeout(() => { - option.success?.("22") - expect(option.success != null).toEqual(true) - }, 52) + option.success?.("1") + option.success?.("2") } } // #endif -- GitLab