本文整理汇总了TypeScript中vs/base/common/keyCodes.BinaryKeybindings.hasChord方法的典型用法代码示例。如果您正苦于以下问题:TypeScript BinaryKeybindings.hasChord方法的具体用法?TypeScript BinaryKeybindings.hasChord怎么用?TypeScript BinaryKeybindings.hasChord使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vs/base/common/keyCodes.BinaryKeybindings
的用法示例。
在下文中一共展示了BinaryKeybindings.hasChord方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: test
test('binary encoding', () => {
function test(keybinding: ITestKeybinding, k: number): void {
keybinding = keybinding || { key: KeyCode.Unknown };
assert.equal(BinaryKeybindings.hasCtrlCmd(k), !!keybinding.ctrlCmd);
assert.equal(BinaryKeybindings.hasShift(k), !!keybinding.shift);
assert.equal(BinaryKeybindings.hasAlt(k), !!keybinding.alt);
assert.equal(BinaryKeybindings.hasWinCtrl(k), !!keybinding.winCtrl);
assert.equal(BinaryKeybindings.extractKeyCode(k), keybinding.key);
let chord = BinaryKeybindings.extractChordPart(k);
assert.equal(BinaryKeybindings.hasChord(k), !!keybinding.chord);
if (keybinding.chord) {
assert.equal(BinaryKeybindings.hasCtrlCmd(chord), !!keybinding.chord.ctrlCmd);
assert.equal(BinaryKeybindings.hasShift(chord), !!keybinding.chord.shift);
assert.equal(BinaryKeybindings.hasAlt(chord), !!keybinding.chord.alt);
assert.equal(BinaryKeybindings.hasWinCtrl(chord), !!keybinding.chord.winCtrl);
assert.equal(BinaryKeybindings.extractKeyCode(chord), keybinding.chord.key);
}
}
test(null, 0);
test({ key: KeyCode.Enter }, KeyCode.Enter);
test({ key: KeyCode.Enter, chord: { key: KeyCode.Tab } }, KeyChord(KeyCode.Enter, KeyCode.Tab));
test({ ctrlCmd: false, shift: false, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyCode.Enter);
test({ ctrlCmd: false, shift: false, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: false, shift: false, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.Alt | KeyCode.Enter);
test({ ctrlCmd: false, shift: false, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: false, shift: true, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.Shift | KeyCode.Enter);
test({ ctrlCmd: false, shift: true, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: false, shift: true, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.Alt | KeyCode.Enter);
test({ ctrlCmd: false, shift: true, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: true, shift: false, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyCode.Enter);
test({ ctrlCmd: true, shift: false, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: true, shift: false, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter);
test({ ctrlCmd: true, shift: false, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: true, shift: true, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Enter);
test({ ctrlCmd: true, shift: true, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.WinCtrl | KeyCode.Enter);
test({ ctrlCmd: true, shift: true, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyCode.Enter);
test({ ctrlCmd: true, shift: true, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
let encoded = KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_Y, KeyCode.KEY_Z);
let encodedFirstPart = BinaryKeybindings.extractFirstPart(encoded);
let encodedSecondPart = BinaryKeybindings.extractChordPart(encoded);
assert.equal(BinaryKeybindings.hasChord(encoded), true, 'hasChord');
assert.equal(encodedFirstPart, KeyMod.CtrlCmd | KeyCode.KEY_Y, 'first part');
assert.equal(encodedSecondPart, encodedSecondPart, 'chord part');
});
示例2:
var testResolve = (ctx:any, expectedKey:number, commandId:string) => {
if (BinaryKeybindings.hasChord(expectedKey)) {
let firstPart = BinaryKeybindings.extractFirstPart(expectedKey);
let chordPart = BinaryKeybindings.extractChordPart(expectedKey);
let result = resolver.resolve(ctx, 0, firstPart);
assert.ok(result !== null, 'Enters chord for ' + commandId);
assert.equal(result.commandId, null, 'Enters chord for ' + commandId);
assert.equal(result.enterChord, firstPart, 'Enters chord for ' + commandId);
result = resolver.resolve(ctx, firstPart, chordPart);
assert.ok(result !== null, 'Enters chord for ' + commandId);
assert.equal(result.commandId, commandId, 'Finds chorded command ' + commandId);
assert.equal(result.enterChord, 0, 'Finds chorded command ' + commandId);
} else {
let result = resolver.resolve(ctx, 0, expectedKey);
assert.ok(result !== null, 'Finds command ' + commandId);
assert.equal(result.commandId, commandId, 'Finds command ' + commandId);
assert.equal(result.enterChord, 0, 'Finds command ' + commandId);
}
}