@@ -1,5 +1,8 @@
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest'
|
||||
import { isEmbeddedInWechatMiniProgram } from '@/utils/hostEnvironment'
|
||||
import {
|
||||
isEmbeddedInWechatMiniProgram,
|
||||
navigateBackToWechatMiniProgram
|
||||
} from '@/utils/hostEnvironment'
|
||||
|
||||
const createWindow = (overrides: Record<string, unknown> = {}) => ({
|
||||
location: { search: '', hash: '' },
|
||||
@@ -47,3 +50,24 @@ describe('微信小程序宿主环境识别', () => {
|
||||
expect(isEmbeddedInWechatMiniProgram()).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
describe('小程序宿主返回', () => {
|
||||
it('嵌入态调用小程序 navigateBack', () => {
|
||||
const navigateBack = vi.fn()
|
||||
vi.stubGlobal('window', createWindow({
|
||||
__wxjs_environment: 'miniprogram',
|
||||
wx: { miniProgram: { navigateBack } }
|
||||
}))
|
||||
|
||||
expect(navigateBackToWechatMiniProgram()).toBe(true)
|
||||
expect(navigateBack).toHaveBeenCalledWith({ delta: 1 })
|
||||
})
|
||||
|
||||
it('非嵌入态不会调用小程序返回桥接', () => {
|
||||
const navigateBack = vi.fn()
|
||||
vi.stubGlobal('window', createWindow({ wx: { miniProgram: { navigateBack } } }))
|
||||
|
||||
expect(navigateBackToWechatMiniProgram()).toBe(false)
|
||||
expect(navigateBack).not.toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user