初始化项目
This commit is contained in:
70
node_modules/uni-simple-router/test/path-to-regexp.spec.ts
generated
vendored
Normal file
70
node_modules/uni-simple-router/test/path-to-regexp.spec.ts
generated
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
import {createRouter, routesMapKeysRule} from '../src/index';
|
||||
|
||||
import {routesForMapRoute} from '../src/helpers/utils';
|
||||
|
||||
const routes = [
|
||||
{path: '/pages/login/login', name: 'login', aliasPath: '/'},
|
||||
{path: '/pages/page2/page2', name: 'page2', aliasPath: '/page2/:id'},
|
||||
{path: '/pages/page3/page3', aliasPath: '/:name/page3/:id'},
|
||||
{path: '/pages/animation/animation', aliasPath: '/an-(\\d+)-on'},
|
||||
{path: '/static/1/1', aliasPath: '/static/(.*)'},
|
||||
{path: '/dynamic/1/1', aliasPath: '/dynamic-*'},
|
||||
{path: '/dynamic/3/3', aliasPath: '/dynamic3'},
|
||||
{path: '*'}
|
||||
];
|
||||
|
||||
const router = createRouter({
|
||||
platform: 'app-plus',
|
||||
keepUniOriginNav: true,
|
||||
routes,
|
||||
});
|
||||
|
||||
const Vue = function () {};
|
||||
Vue.mixin = () => {};
|
||||
|
||||
router.install(Vue);
|
||||
|
||||
const rules: routesMapKeysRule[] = ['finallyPathMap', 'pathMap'];
|
||||
|
||||
it('别名路径匹配',()=>{
|
||||
const toRoute1 = routesForMapRoute(router, '/dynamic3', rules);
|
||||
expect(toRoute1).toEqual(routes[6]);
|
||||
|
||||
const toRoute2 = routesForMapRoute(router, '/dynamic/3/3', rules);
|
||||
expect(toRoute2).toEqual(routes[6]);
|
||||
})
|
||||
|
||||
it('全局匹配', () => {
|
||||
const toRoute1 = routesForMapRoute(router, '/pages/login/login', rules);
|
||||
expect(toRoute1).toEqual(routes[0]);
|
||||
|
||||
const toRoute2 = routesForMapRoute(router,'/pages/login/login?id=666',rules);
|
||||
expect(toRoute2).toEqual(routes[0]);
|
||||
|
||||
const toRoute3 = routesForMapRoute(router, '/page2/6666', rules);
|
||||
expect(toRoute3).toEqual(routes[1]);
|
||||
|
||||
const toRoute4 = routesForMapRoute(router, '/page2/6666?id=555', rules);
|
||||
expect(toRoute4).toEqual(routes[1]);
|
||||
|
||||
const toRoute5 = routesForMapRoute(router, '/pages/page3/page3', rules);
|
||||
expect(toRoute5).toEqual(routes[2]);
|
||||
|
||||
const toRoute6 = routesForMapRoute(router, '/test/page3/123', rules);
|
||||
expect(toRoute6).toEqual(routes[2]);
|
||||
|
||||
const toRoute7 = routesForMapRoute(router, '/an-123-on', rules);
|
||||
expect(toRoute7).toEqual(routes[3]);
|
||||
|
||||
const toRoute8 = routesForMapRoute(router, '/static/aaa/bbb?id=1444&name=999', rules);
|
||||
expect(toRoute8).toEqual(routes[4]);
|
||||
|
||||
const toRoute9 = routesForMapRoute(router, '/dynamic-6666-5555', rules);
|
||||
expect(toRoute9).toEqual(routes[5]);
|
||||
|
||||
const toRoute10 = routesForMapRoute(router, '/aaaaaa', rules);
|
||||
expect(toRoute10).toEqual(routes[7]);
|
||||
|
||||
const toRoute11 = routesForMapRoute(router, '---48848--14545', rules);
|
||||
expect(toRoute11).toEqual(routes[7]);
|
||||
});
|
||||
Reference in New Issue
Block a user