@theia/core 1.19.0 → 1.21.0-next.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/browser/color-registry.d.ts +3 -69
- package/lib/browser/color-registry.d.ts.map +1 -1
- package/lib/browser/color-registry.js +13 -27
- package/lib/browser/color-registry.js.map +1 -1
- package/lib/browser/common-frontend-contribution.d.ts +4 -16
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +150 -191
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +23 -20
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/dialogs.d.ts.map +1 -1
- package/lib/browser/dialogs.js +4 -4
- package/lib/browser/dialogs.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js +6 -5
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +2 -2
- package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts +1 -1
- package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +6 -4
- package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
- package/lib/browser/keyboard/keys.d.ts +2 -251
- package/lib/browser/keyboard/keys.d.ts.map +1 -1
- package/lib/browser/keyboard/keys.js +12 -614
- package/lib/browser/keyboard/keys.js.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.d.ts +3 -3
- package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.js +14 -4
- package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
- package/lib/browser/preferences/preference-provider.d.ts +0 -2
- package/lib/browser/preferences/preference-provider.d.ts.map +1 -1
- package/lib/browser/preferences/preference-provider.js +1 -5
- package/lib/browser/preferences/preference-provider.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +0 -3
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/quick-input/quick-command-frontend-contribution.js +1 -1
- package/lib/browser/quick-input/quick-command-frontend-contribution.js.map +1 -1
- package/lib/browser/quick-input/quick-command-service.d.ts.map +1 -1
- package/lib/browser/quick-input/quick-command-service.js +2 -2
- package/lib/browser/quick-input/quick-command-service.js.map +1 -1
- package/lib/browser/quick-input/quick-input-service.d.ts +1 -201
- package/lib/browser/quick-input/quick-input-service.d.ts.map +1 -1
- package/lib/browser/quick-input/quick-input-service.js +11 -93
- package/lib/browser/quick-input/quick-input-service.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +7 -7
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +10 -17
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/current-widget-command-adapter.d.ts +39 -0
- package/lib/browser/shell/current-widget-command-adapter.d.ts.map +1 -0
- package/lib/browser/shell/current-widget-command-adapter.js +42 -0
- package/lib/browser/shell/current-widget-command-adapter.js.map +1 -0
- package/lib/browser/shell/tab-bar-toolbar.js +1 -1
- package/lib/browser/shell/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts +8 -2
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +30 -3
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/storage-service.spec.js +1 -1
- package/lib/browser/storage-service.spec.js.map +1 -1
- package/lib/browser/theming.d.ts +5 -14
- package/lib/browser/theming.d.ts.map +1 -1
- package/lib/browser/theming.js +14 -0
- package/lib/browser/theming.js.map +1 -1
- package/lib/browser/window/default-window-service.js +1 -1
- package/lib/browser/window/default-window-service.js.map +1 -1
- package/lib/browser/window-contribution.d.ts.map +1 -1
- package/lib/browser/window-contribution.js +2 -2
- package/lib/browser/window-contribution.js.map +1 -1
- package/lib/common/color.d.ts +84 -0
- package/lib/common/color.d.ts.map +1 -0
- package/lib/common/color.js +44 -0
- package/lib/common/color.js.map +1 -0
- package/lib/common/command.d.ts +1 -0
- package/lib/common/command.d.ts.map +1 -1
- package/lib/common/command.js +4 -0
- package/lib/common/command.js.map +1 -1
- package/lib/common/i18n/localization.d.ts +9 -0
- package/lib/common/i18n/localization.d.ts.map +1 -1
- package/lib/common/i18n/localization.js +13 -2
- package/lib/common/i18n/localization.js.map +1 -1
- package/lib/common/keys.d.ts +269 -0
- package/lib/common/keys.d.ts.map +1 -0
- package/lib/common/keys.js +634 -0
- package/lib/common/keys.js.map +1 -0
- package/lib/common/messaging/abstract-connection-provider.d.ts +1 -1
- package/lib/common/messaging/abstract-connection-provider.d.ts.map +1 -1
- package/lib/common/messaging/abstract-connection-provider.js +3 -1
- package/lib/common/messaging/abstract-connection-provider.js.map +1 -1
- package/lib/common/messaging/proxy-factory.js +1 -1
- package/lib/common/messaging/proxy-factory.js.map +1 -1
- package/lib/common/nls.d.ts +5 -0
- package/lib/common/nls.d.ts.map +1 -1
- package/lib/common/nls.js +62 -0
- package/lib/common/nls.js.map +1 -1
- package/lib/common/path.d.ts +6 -0
- package/lib/common/path.d.ts.map +1 -1
- package/lib/common/path.js +16 -4
- package/lib/common/path.js.map +1 -1
- package/lib/common/path.spec.js +12 -0
- package/lib/common/path.spec.js.map +1 -1
- package/lib/common/promise-util.d.ts +5 -2
- package/lib/common/promise-util.d.ts.map +1 -1
- package/lib/common/promise-util.js +16 -1
- package/lib/common/promise-util.js.map +1 -1
- package/lib/common/promise-util.spec.d.ts +2 -0
- package/lib/common/promise-util.spec.d.ts.map +1 -0
- package/lib/common/promise-util.spec.js +42 -0
- package/lib/common/promise-util.spec.js.map +1 -0
- package/lib/common/quick-pick-service.d.ts +219 -1
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/quick-pick-service.js +108 -1
- package/lib/common/quick-pick-service.js.map +1 -1
- package/lib/common/theme.d.ts +30 -0
- package/lib/common/theme.d.ts.map +1 -0
- package/lib/common/theme.js +18 -0
- package/lib/common/theme.js.map +1 -0
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +17 -17
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/window/electron-window-preferences.js +2 -2
- package/lib/electron-browser/window/electron-window-preferences.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +10 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +13 -3
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/color-registry.ts +3 -85
- package/src/browser/common-frontend-contribution.ts +139 -196
- package/src/browser/core-preferences.ts +24 -21
- package/src/browser/dialogs.ts +4 -4
- package/src/browser/frontend-application-module.ts +6 -5
- package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +2 -2
- package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +10 -4
- package/src/browser/keyboard/keys.ts +2 -675
- package/src/browser/messaging/ws-connection-provider.ts +13 -4
- package/src/browser/preferences/preference-provider.ts +1 -5
- package/src/browser/preferences/preference-service.spec.ts +0 -3
- package/src/browser/quick-input/quick-command-frontend-contribution.ts +1 -1
- package/src/browser/quick-input/quick-command-service.ts +2 -2
- package/src/browser/quick-input/quick-input-service.ts +1 -278
- package/src/browser/shell/application-shell.ts +17 -22
- package/src/browser/shell/current-widget-command-adapter.ts +57 -0
- package/src/browser/shell/tab-bar-toolbar.tsx +1 -1
- package/src/browser/shell/tab-bars.ts +30 -5
- package/src/browser/storage-service.spec.ts +1 -1
- package/src/browser/theming.ts +6 -17
- package/src/browser/window/default-window-service.ts +1 -1
- package/src/browser/window-contribution.ts +2 -2
- package/src/common/color.ts +100 -0
- package/src/common/command.ts +10 -0
- package/src/common/i18n/localization.ts +13 -3
- package/src/common/i18n/nls.metadata.json +20421 -0
- package/src/common/keys.ts +693 -0
- package/src/common/messaging/abstract-connection-provider.ts +3 -1
- package/src/common/messaging/proxy-factory.ts +1 -1
- package/src/common/nls.ts +74 -0
- package/src/common/path.spec.ts +15 -0
- package/src/common/path.ts +16 -4
- package/src/common/promise-util.spec.ts +41 -0
- package/src/common/promise-util.ts +23 -4
- package/src/common/quick-pick-service.ts +299 -4
- package/src/common/theme.ts +32 -0
- package/src/electron-browser/menu/electron-menu-contribution.ts +17 -17
- package/src/electron-browser/window/electron-window-preferences.ts +2 -2
- package/src/electron-main/electron-main-application.ts +24 -5
|
@@ -32,19 +32,20 @@ export const corePreferenceSchema: PreferenceSchema = {
|
|
|
32
32
|
'always',
|
|
33
33
|
],
|
|
34
34
|
default: 'ifRequired',
|
|
35
|
-
|
|
35
|
+
// eslint-disable-next-line max-len
|
|
36
|
+
description: nls.localizeByDefault('Controls whether to show a confirmation dialog before closing the browser tab or window. Note that even if enabled, browsers may still decide to close a tab or window without confirmation and that this setting is only a hint that may not work in all cases.'),
|
|
36
37
|
},
|
|
37
38
|
'breadcrumbs.enabled': {
|
|
38
39
|
'type': 'boolean',
|
|
39
40
|
'default': true,
|
|
40
|
-
'description': nls.
|
|
41
|
+
'description': nls.localizeByDefault('Enable/disable navigation breadcrumbs.'),
|
|
41
42
|
'scope': 'application'
|
|
42
43
|
},
|
|
43
44
|
'files.encoding': {
|
|
44
45
|
'type': 'string',
|
|
45
46
|
'enum': Object.keys(SUPPORTED_ENCODINGS),
|
|
46
47
|
'default': 'utf8',
|
|
47
|
-
'description': nls.
|
|
48
|
+
'description': nls.localizeByDefault(
|
|
48
49
|
'The default character set encoding to use when reading and writing files. This setting can also be configured per language.'),
|
|
49
50
|
'scope': 'language-overridable',
|
|
50
51
|
'enumDescriptions': Object.keys(SUPPORTED_ENCODINGS).map(key => SUPPORTED_ENCODINGS[key].labelLong),
|
|
@@ -57,22 +58,22 @@ export const corePreferenceSchema: PreferenceSchema = {
|
|
|
57
58
|
'keyCode',
|
|
58
59
|
],
|
|
59
60
|
default: 'code',
|
|
60
|
-
description: nls.
|
|
61
|
-
'
|
|
61
|
+
description: nls.localizeByDefault(
|
|
62
|
+
'Controls the dispatching logic for key presses to use either `code` (recommended) or `keyCode`.')
|
|
62
63
|
},
|
|
63
64
|
'window.menuBarVisibility': {
|
|
64
65
|
type: 'string',
|
|
65
66
|
enum: ['classic', 'visible', 'hidden', 'compact'],
|
|
66
67
|
markdownEnumDescriptions: [
|
|
67
|
-
nls.
|
|
68
|
-
nls.
|
|
69
|
-
nls.
|
|
70
|
-
nls.
|
|
68
|
+
nls.localizeByDefault('Menu is only hidden in full screen mode.'),
|
|
69
|
+
nls.localizeByDefault('Menu is always visible even in full screen mode.'),
|
|
70
|
+
nls.localizeByDefault('Menu is always hidden.'),
|
|
71
|
+
nls.localizeByDefault('Menu is displayed as a compact button in the sidebar. This value is ignored when `#window.titleBarStyle#` is `native`.')
|
|
71
72
|
],
|
|
72
73
|
default: 'classic',
|
|
73
74
|
scope: 'application',
|
|
74
|
-
|
|
75
|
-
A setting of '
|
|
75
|
+
// eslint-disable-next-line max-len
|
|
76
|
+
markdownDescription: nls.localizeByDefault("Control the visibility of the menu bar. A setting of 'toggle' means that the menu bar is hidden and a single press of the Alt key will show it. By default, the menu bar will be visible, unless the window is full screen."),
|
|
76
77
|
included: !isOSX
|
|
77
78
|
},
|
|
78
79
|
'workbench.list.openMode': {
|
|
@@ -82,17 +83,19 @@ export const corePreferenceSchema: PreferenceSchema = {
|
|
|
82
83
|
'doubleClick'
|
|
83
84
|
],
|
|
84
85
|
default: 'singleClick',
|
|
85
|
-
|
|
86
|
+
// eslint-disable-next-line max-len
|
|
87
|
+
description: nls.localizeByDefault('Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. ')
|
|
86
88
|
},
|
|
87
89
|
'workbench.editor.highlightModifiedTabs': {
|
|
88
90
|
'type': 'boolean',
|
|
89
|
-
|
|
91
|
+
// eslint-disable-next-line max-len
|
|
92
|
+
'description': nls.localizeByDefault('Controls whether a top border is drawn on modified (dirty) editor tabs or not. This value is ignored when `#workbench.editor.showTabs#` is disabled.'),
|
|
90
93
|
'default': false
|
|
91
94
|
},
|
|
92
95
|
'workbench.editor.closeOnFileDelete': {
|
|
93
96
|
'type': 'boolean',
|
|
94
97
|
// eslint-disable-next-line max-len
|
|
95
|
-
'description': nls.
|
|
98
|
+
'description': nls.localizeByDefault('Controls whether editors showing a file that was opened during the session should close automatically when getting deleted or renamed by some other process. Disabling this will keep the editor open on such an event. Note that deleting from within the application will always close the editor and that dirty files will never close to preserve your data.'),
|
|
96
99
|
'default': false
|
|
97
100
|
},
|
|
98
101
|
'workbench.commandPalette.history': {
|
|
@@ -100,38 +103,38 @@ export const corePreferenceSchema: PreferenceSchema = {
|
|
|
100
103
|
default: 50,
|
|
101
104
|
minimum: 0,
|
|
102
105
|
// eslint-disable-next-line max-len
|
|
103
|
-
description: nls.
|
|
106
|
+
description: nls.localizeByDefault('Controls the number of recently used commands to keep in history for the command palette. Set to 0 to disable command history.')
|
|
104
107
|
},
|
|
105
108
|
'workbench.colorTheme': {
|
|
106
109
|
type: 'string',
|
|
107
110
|
default: FrontendApplicationConfigProvider.get().defaultTheme,
|
|
108
|
-
description: nls.
|
|
111
|
+
description: nls.localizeByDefault('Specifies the color theme used in the workbench.')
|
|
109
112
|
},
|
|
110
113
|
'workbench.iconTheme': {
|
|
111
114
|
type: ['string', 'null'],
|
|
112
115
|
default: FrontendApplicationConfigProvider.get().defaultIconTheme,
|
|
113
|
-
description: nls.
|
|
116
|
+
description: nls.localizeByDefault("Specifies the file icon theme used in the workbench or 'null' to not show any file icons.")
|
|
114
117
|
},
|
|
115
118
|
'workbench.silentNotifications': {
|
|
116
119
|
type: 'boolean',
|
|
117
120
|
default: false,
|
|
118
|
-
description: nls.localize('
|
|
121
|
+
description: nls.localize('theia/core/silentNotifications', 'Controls whether to suppress notification popups.')
|
|
119
122
|
},
|
|
120
123
|
'workbench.statusBar.visible': {
|
|
121
124
|
type: 'boolean',
|
|
122
125
|
default: true,
|
|
123
|
-
description: 'Controls the visibility of the status bar at the bottom of the workbench.'
|
|
126
|
+
description: nls.localizeByDefault('Controls the visibility of the status bar at the bottom of the workbench.')
|
|
124
127
|
},
|
|
125
128
|
'workbench.tree.renderIndentGuides': {
|
|
126
129
|
type: 'string',
|
|
127
130
|
enum: ['onHover', 'none', 'always'],
|
|
128
131
|
default: 'onHover',
|
|
129
|
-
description: nls.
|
|
132
|
+
description: nls.localizeByDefault('Controls whether the tree should render indent guides.')
|
|
130
133
|
},
|
|
131
134
|
'workbench.hover.delay': {
|
|
132
135
|
type: 'number',
|
|
133
136
|
default: isOSX ? 1500 : 500,
|
|
134
|
-
description: 'Controls the delay in milliseconds after which the hover is shown
|
|
137
|
+
description: nls.localizeByDefault('Controls the delay in milliseconds after which the hover is shown.')
|
|
135
138
|
},
|
|
136
139
|
}
|
|
137
140
|
};
|
package/src/browser/dialogs.ts
CHANGED
|
@@ -67,10 +67,10 @@ export namespace DialogError {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
export namespace Dialog {
|
|
70
|
-
export const YES = nls.
|
|
71
|
-
export const NO = nls.
|
|
72
|
-
export const OK = nls.
|
|
73
|
-
export const CANCEL = nls.
|
|
70
|
+
export const YES = nls.localizeByDefault('Yes');
|
|
71
|
+
export const NO = nls.localizeByDefault('No');
|
|
72
|
+
export const OK = nls.localizeByDefault('OK');
|
|
73
|
+
export const CANCEL = nls.localizeByDefault('Cancel');
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
@injectable()
|
|
@@ -165,11 +165,12 @@ export const frontendApplicationModule = new ContainerModule((bind, unbind, isBo
|
|
|
165
165
|
|
|
166
166
|
bind(DockPanelRendererFactory).toFactory(context => () => context.container.get(DockPanelRenderer));
|
|
167
167
|
bind(DockPanelRenderer).toSelf();
|
|
168
|
-
bind(TabBarRendererFactory).toFactory(
|
|
169
|
-
const contextMenuRenderer =
|
|
170
|
-
const
|
|
171
|
-
const iconThemeService =
|
|
172
|
-
|
|
168
|
+
bind(TabBarRendererFactory).toFactory(({ container }) => () => {
|
|
169
|
+
const contextMenuRenderer = container.get(ContextMenuRenderer);
|
|
170
|
+
const tabBarDecoratorService = container.get(TabBarDecoratorService);
|
|
171
|
+
const iconThemeService = container.get(IconThemeService);
|
|
172
|
+
const selectionService = container.get(SelectionService);
|
|
173
|
+
return new TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService, selectionService);
|
|
173
174
|
});
|
|
174
175
|
|
|
175
176
|
bindContributionProvider(bind, TabBarDecorator);
|
|
@@ -23,8 +23,8 @@ import { nls } from '../../common/nls';
|
|
|
23
23
|
|
|
24
24
|
export namespace KeyboardCommands {
|
|
25
25
|
|
|
26
|
-
const KEYBOARD_CATEGORY_KEY = 'vscode/settingsLayout/keyboard';
|
|
27
26
|
const KEYBOARD_CATEGORY = 'Keyboard';
|
|
27
|
+
const KEYBOARD_CATEGORY_KEY = nls.getDefaultKey(KEYBOARD_CATEGORY);
|
|
28
28
|
|
|
29
29
|
export const CHOOSE_KEYBOARD_LAYOUT = Command.toLocalizedCommand({
|
|
30
30
|
id: 'core.keyboard.choose',
|
|
@@ -52,7 +52,7 @@ export class BrowserKeyboardFrontendContribution implements CommandContribution
|
|
|
52
52
|
protected async chooseLayout(): Promise<KeyboardLayoutData | undefined> {
|
|
53
53
|
const current = this.layoutProvider.currentLayoutData;
|
|
54
54
|
const autodetect: QuickPickValue<'autodetect'> = {
|
|
55
|
-
label: nls.
|
|
55
|
+
label: nls.localizeByDefault('Auto-detect'),
|
|
56
56
|
description: this.layoutProvider.currentLayoutSource !== 'user-choice' ? nls.localize('theia/core/keyboard/current', '(current: {0})', current.name) : undefined,
|
|
57
57
|
detail: nls.localize('theia/core/keyboard/tryDetect', 'Try to detect the keyboard layout from browser information and pressed keys.'),
|
|
58
58
|
value: 'autodetect'
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
+
import { enableJSDOM } from '../test/jsdom';
|
|
18
|
+
|
|
19
|
+
let disableJSDOM = enableJSDOM();
|
|
20
|
+
|
|
17
21
|
import { Container, injectable } from 'inversify';
|
|
18
22
|
import type { IMacKeyboardLayoutInfo } from 'native-keymap';
|
|
19
23
|
import * as chai from 'chai';
|
|
@@ -26,11 +30,15 @@ import { WindowService } from '../window/window-service';
|
|
|
26
30
|
import { BrowserKeyboardLayoutProvider } from './browser-keyboard-layout-provider';
|
|
27
31
|
import { Key } from './keys';
|
|
28
32
|
|
|
33
|
+
disableJSDOM();
|
|
34
|
+
|
|
29
35
|
describe('browser keyboard layout provider', function (): void {
|
|
30
36
|
|
|
31
37
|
let stubOSX: sinon.SinonStub;
|
|
32
38
|
let stubWindows: sinon.SinonStub;
|
|
33
|
-
|
|
39
|
+
|
|
40
|
+
before(() => disableJSDOM = enableJSDOM());
|
|
41
|
+
after(() => disableJSDOM());
|
|
34
42
|
|
|
35
43
|
const setup = (system: 'mac' | 'win' | 'linux') => {
|
|
36
44
|
switch (system) {
|
|
@@ -47,7 +55,6 @@ describe('browser keyboard layout provider', function (): void {
|
|
|
47
55
|
stubWindows = sinon.stub(os, 'isWindows').value(false);
|
|
48
56
|
}
|
|
49
57
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
-
stubNavigator = sinon.stub(global, 'navigator' as any).value({});
|
|
51
58
|
const container = new Container();
|
|
52
59
|
container.bind(BrowserKeyboardLayoutProvider).toSelf();
|
|
53
60
|
container.bind(ILogger).to(MockLogger);
|
|
@@ -61,7 +68,6 @@ describe('browser keyboard layout provider', function (): void {
|
|
|
61
68
|
afterEach(() => {
|
|
62
69
|
stubOSX.restore();
|
|
63
70
|
stubWindows.restore();
|
|
64
|
-
stubNavigator.restore();
|
|
65
71
|
});
|
|
66
72
|
|
|
67
73
|
it('detects German Mac layout', async () => {
|
|
@@ -83,7 +89,7 @@ describe('browser keyboard layout provider', function (): void {
|
|
|
83
89
|
currentLayout = l;
|
|
84
90
|
});
|
|
85
91
|
|
|
86
|
-
chai.expect((currentLayout.info as IMacKeyboardLayoutInfo).id).to.equal('com.apple.keylayout.
|
|
92
|
+
chai.expect((currentLayout.info as IMacKeyboardLayoutInfo).id).to.equal('com.apple.keylayout.German');
|
|
87
93
|
service.validateKey({ code: Key.SEMICOLON.code, character: 'm' });
|
|
88
94
|
chai.expect((currentLayout.info as IMacKeyboardLayoutInfo).id).to.equal('com.apple.keylayout.French');
|
|
89
95
|
});
|