提交 0fede75b 编写于 作者: fxy060608's avatar fxy060608

chore: add tests

上级 165b2bb0
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`inject basic 1`] = `
"import { reLaunch as $inject_uni_reLaunch } from '@dcloudio/uni-h5';
uni.test();$inject_uni_reLaunch();"
`;
exports[`inject reassignment 1`] = `
"import { reLaunch as $inject_uni_reLaunch } from '@dcloudio/uni-h5';
import { navigateTo as $inject_uni_navigateTo } from '@dcloudio/uni-h5';
$inject_uni_reLaunch();uni.reLaunch=()=>{};uni.reLaunch();$inject_uni_navigateTo();const temp = $inject_uni_navigateTo;$inject_uni_navigateTo();temp();"
`;
import { parse } from '@babel/parser'
import { SourceDescription, TransformPluginContext } from 'rollup'
import { uniViteInjectPlugin } from '../src/vite/plugins/inject'
const injectOptions = {
sourceMap: false,
'uni.': [
'@dcloudio/uni-h5',
((method: string) => {
// API白名单
return ['navigateTo', 'reLaunch'].includes(method)
}) as unknown as string,
],
}
describe('inject', () => {
const filename = 'a.js'
const context = {
parse: (code: string) => parse(code).program,
} as unknown as TransformPluginContext
test(`basic`, () => {
const plugin = uniViteInjectPlugin(injectOptions)
expect(
(
plugin.transform!.call(
context,
`uni.test();uni.reLaunch();`,
filename
) as SourceDescription
).code
).toMatchSnapshot()
})
test(`reassignment`, () => {
const plugin = uniViteInjectPlugin(injectOptions)
expect(
(
plugin.transform!.call(
context,
`uni.reLaunch();uni.reLaunch=()=>{};uni.reLaunch();uni.navigateTo();const temp = uni.navigateTo;uni.navigateTo();temp();`,
filename
) as SourceDescription
).code
).toMatchSnapshot()
})
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册