Files
prestashop/vendor/friendsofsymfony/jsrouting-bundle/Resources/ts/router.test-d.ts
2026-04-09 18:31:51 +02:00

90 lines
2.4 KiB
TypeScript

import { expectType } from 'tsd';
import type { RoutesMap } from '../js/router';
import { type Route, Router, Routing } from './router';
import routes from './routes.json';
expectType<Router>(Router.getInstance());
expectType<Router>(Routing);
expectType<RoutesMap>(Routing.getRoutes());
expectType<Route>(Routing.getRoute('homepage'));
expectType<string>(Routing.getBaseUrl());
Routing.setBaseUrl('');
expectType<string>(Routing.getScheme());
Routing.setScheme('https');
expectType<string>(Routing.getHost());
Routing.setHost('localhost');
expectType<string | null>(Routing.getPort());
Routing.setPort('1234');
expectType<string | null>(Routing.getLocale());
Routing.setLocale('en');
Routing.setRoutingData(routes);
Routing.setRoutingData({
base_url: '',
routes: {
homepage: { tokens: [['text', '/']], defaults: [], requirements: [], hosttokens: [], methods: [], schemes: [], },
admin_index: { tokens: [['text', '/admin']], defaults: [], requirements: [], hosttokens: [], methods: [], schemes: [], },
admin_pages: { tokens: [['text', '/admin/path']], defaults: [], requirements: [], hosttokens: [], methods: [], schemes: [], },
blog_index: { tokens: [['text', '/blog']], defaults: [], requirements: [], hosttokens: [['text', 'localhost']], methods: [], schemes: [], },
blog_post: {
tokens: [
['variable', '/', '[^/]++', 'slug'],
['text', '/blog'],
],
defaults: [],
requirements: [],
hosttokens: [['text', 'localhost']],
methods: [],
schemes: [],
},
users_delete: {
tokens: [
['text', '/delete'],
['variable', '/', '[^/]++', 'id', true],
['text', '/users']
],
defaults: [],
requirements: [],
hosttokens: [],
methods: [
'DELETE'
],
schemes: []
},
feed_post: {
tokens: [
['variable', '.', 'js|json', '_format', true],
['text', '/feed/post']
],
defaults: {
_format: 'xml',
},
requirements: {
_format: 'xml|json',
},
hosttokens: [],
methods: ['GET'],
schemes: [],
},
},
prefix: '',
host: '',
port: null,
scheme: '',
locale: 'en',
});
expectType<string>(Routing.generate('homepage'));
expectType<string>(Routing.generate('blog_post', {
slug: 'my-blog-post',
}));
expectType<string>(Routing.generate('users_delete', {
id: 123,
}));