當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。