本文整理匯總了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);
});