当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript keybindingsEditorModel.KeybindingsEditorModel类代码示例

本文整理汇总了TypeScript中vs/workbench/parts/preferences/common/keybindingsEditorModel.KeybindingsEditorModel的典型用法代码示例。如果您正苦于以下问题:TypeScript KeybindingsEditorModel类的具体用法?TypeScript KeybindingsEditorModel怎么用?TypeScript KeybindingsEditorModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了KeybindingsEditorModel类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: suite

suite('Keybindings Editor Model test', () => {

	let instantiationService: TestInstantiationService;
	let testObject: KeybindingsEditorModel;

	setup(() => {
		instantiationService = new TestInstantiationService();

		instantiationService.stub(IKeybindingService, {});
		instantiationService.stub(IExtensionService, {}, 'onReady', () => TPromise.as(null));

		testObject = instantiationService.createInstance(KeybindingsEditorModel, OS);

		CommandsRegistry.registerCommand('command_without_keybinding', () => { });
	});

	test('fetch returns default keybindings', () => {
		const expected = prepareKeybindingService(
			aResolvedKeybindingItem({ command: 'a' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'b' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } })
		);

		return testObject.resolve().then(() => {
			const actuals = asResolvedKeybindingItems(testObject.fetch(''));
			assertKeybindingItems(actuals, expected);
		});
	});

	test('fetch returns default keybindings at the top', () => {
		const expected = prepareKeybindingService(
			aResolvedKeybindingItem({ command: 'a' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'b' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } })
		);

		return testObject.resolve().then(() => {
			const actuals = asResolvedKeybindingItems(testObject.fetch('').slice(0, 2), true);
			assertKeybindingItems(actuals, expected);
		});
	});

	test('fetch returns default keybindings sorted by command id', () => {
		const keybindings = prepareKeybindingService(
			aResolvedKeybindingItem({ command: 'b' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'c' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'a' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Backspace } })
		);
		const expected = [keybindings[2], keybindings[0], keybindings[1]];

		return testObject.resolve().then(() => {
			const actuals = asResolvedKeybindingItems(testObject.fetch(''));
			assertKeybindingItems(actuals, expected);
		});
	});

	test('fetch returns user keybinding first if default and user has same id', () => {
		const sameId = 'b' + uuid.generateUuid();
		const keybindings = prepareKeybindingService(
			aResolvedKeybindingItem({ command: sameId, firstPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: sameId, firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape }, isDefault: false })
		);
		const expected = [keybindings[1], keybindings[0]];

		return testObject.resolve().then(() => {
			const actuals = asResolvedKeybindingItems(testObject.fetch(''));
			assertKeybindingItems(actuals, expected);
		});
	});

	test('fetch returns keybinding with titles first', () => {
		const keybindings = prepareKeybindingService(
			aResolvedKeybindingItem({ command: 'a' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'b' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'c' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'd' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } })
		);

		registerCommandWithTitle(keybindings[1].command, 'B Title');
		registerCommandWithTitle(keybindings[3].command, 'A Title');

		const expected = [keybindings[3], keybindings[1], keybindings[0], keybindings[2]];
		instantiationService.stub(IKeybindingService, 'getKeybindings', () => keybindings);
		instantiationService.stub(IKeybindingService, 'getDefaultKeybindings', () => keybindings);

		return testObject.resolve().then(() => {
			const actuals = asResolvedKeybindingItems(testObject.fetch(''));
			assertKeybindingItems(actuals, expected);
		});
	});

	test('fetch returns keybinding with user first if title and id matches', () => {
		const sameId = 'b' + uuid.generateUuid();
		const keybindings = prepareKeybindingService(
			aResolvedKeybindingItem({ command: 'a' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: sameId, firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: 'c' + uuid.generateUuid(), firstPart: { keyCode: KeyCode.Escape }, chordPart: { keyCode: KeyCode.Escape } }),
			aResolvedKeybindingItem({ command: sameId, firstPart: { keyCode: KeyCode.Escape }, isDefault: false })
		);

		registerCommandWithTitle(keybindings[1].command, 'Same Title');
		registerCommandWithTitle(keybindings[3].command, 'Same Title');
//.........这里部分代码省略.........
开发者ID:elibarzilay,项目名称:vscode,代码行数:101,代码来源:keybindingsEditorModel.test.ts

示例2:

		return testObject.resolve().then(() => {
			const actual = testObject.fetch('when context').filter(element => element.keybindingItem.command === command)[0];
			assert.ok(actual);
		});
开发者ID:elibarzilay,项目名称:vscode,代码行数:4,代码来源:keybindingsEditorModel.test.ts

示例3: asResolvedKeybindingItems

		return testObject.resolve().then(() => {
			const actuals = asResolvedKeybindingItems(testObject.fetch('', true));
			assertKeybindingItems(actuals, expected);
		});
开发者ID:elibarzilay,项目名称:vscode,代码行数:4,代码来源:keybindingsEditorModel.test.ts

示例4:

		return testObject.resolve().then(() => {
			const actual = testObject.fetch('"shift+meta+esc ctrl+c"').filter(element => element.keybindingItem.command === command);
			assert.equal(1, actual.length);
			assert.deepEqual(actual[0].keybindingMatches.firstPart, { shiftKey: true, metaKey: true, keyCode: true });
			assert.deepEqual(actual[0].keybindingMatches.chordPart, { keyCode: true, ctrlKey: true });
		});
开发者ID:FabianLauer,项目名称:vscode,代码行数:6,代码来源:keybindingsEditorModel.test.ts

示例5:

		return testObject.resolve({}).then(() => {
			const actual = testObject.fetch('"ctrl+space"').filter(element => element.keybindingItem.command === command);
			assert.equal(1, actual.length);
		});
开发者ID:sameer-coder,项目名称:vscode,代码行数:4,代码来源:keybindingsEditorModel.test.ts


注:本文中的vs/workbench/parts/preferences/common/keybindingsEditorModel.KeybindingsEditorModel类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。