本文整理汇总了TypeScript中@jupyterlab/application/src.Router类的典型用法代码示例。如果您正苦于以下问题:TypeScript Router类的具体用法?TypeScript Router怎么用?TypeScript Router使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Router类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('Router', () => {
let commands: CommandRegistry;
let router: Router;
beforeEach(() => {
commands = new CommandRegistry();
router = new Router({ base, commands });
});
describe('#constructor()', () => {
it('should construct a new router', () => {
expect(router).to.be.an.instanceof(Router);
});
});
describe('#base', () => {
it('should be the base URL of the application', () => {
expect(router.base).to.equal(base);
});
});
describe('#commands', () => {
it('should be the command registry used by the router', () => {
expect(router.commands).to.equal(commands);
});
});
describe('#current', () => {
it('should return the current window location as an object', () => {
const path = '/';
const request = path;
const search = '';
const hash = '';
expect(router.current).to.deep.equal({ hash, path, request, search });
});
});
describe('#routed', () => {
it('should emit a signal when a path is routed', async () => {
let routed = false;
commands.addCommand('a', {
execute: () => {
routed = true;
}
});
router.register({ command: 'a', pattern: /.*/, rank: 10 });
let called = false;
router.routed.connect(() => {
expect(routed).to.equal(true);
called = true;
});
await router.route();
expect(called).to.equal(true);
});
});
describe('#stop', () => {
it('should be a unique token', () => {
expect(router.stop).to.be.an.instanceof(Token);
});
it('should stop routing if returned by a routed command', async () => {
const wanted = ['a', 'b'];
const recorded: string[] = [];
commands.addCommand('a', {
execute: () => {
recorded.push('a');
}
});
commands.addCommand('b', {
execute: () => {
recorded.push('b');
}
});
commands.addCommand('c', { execute: () => router.stop });
commands.addCommand('d', {
execute: () => {
recorded.push('d');
}
});
router.register({ command: 'a', pattern: /.*/, rank: 10 });
router.register({ command: 'b', pattern: /.*/, rank: 20 });
router.register({ command: 'c', pattern: /.*/, rank: 30 });
router.register({ command: 'd', pattern: /.*/, rank: 40 });
let promise = signalToPromise(router.routed);
await router.route();
await promise;
expect(recorded).to.deep.equal(wanted);
});
});
describe('#navigate()', () => {
it('cannot be tested since changing location is a security risk', () => {
// Router#navigate() changes window.location.href but karma tests
//.........这里部分代码省略.........
示例2: it
it('should stop routing if returned by a routed command', async () => {
const wanted = ['a', 'b'];
const recorded: string[] = [];
commands.addCommand('a', {
execute: () => {
recorded.push('a');
}
});
commands.addCommand('b', {
execute: () => {
recorded.push('b');
}
});
commands.addCommand('c', { execute: () => router.stop });
commands.addCommand('d', {
execute: () => {
recorded.push('d');
}
});
router.register({ command: 'a', pattern: /.*/, rank: 10 });
router.register({ command: 'b', pattern: /.*/, rank: 20 });
router.register({ command: 'c', pattern: /.*/, rank: 30 });
router.register({ command: 'd', pattern: /.*/, rank: 40 });
let promise = signalToPromise(router.routed);
await router.route();
await promise;
expect(recorded).to.deep.equal(wanted);
});