runs(function () { KeyBindingManager._initCommandAndKeyMaps(); KeyBindingManager._setUserKeyMapFilePath(testPath + "/blank.json"); KeyBindingManager._loadUserKeyMap(); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });
runs(function () { brackets.platform = platform; var defKeyMap = getDefaultKeyMap(); populateDefaultKeyMap(); KeyBindingManager._initCommandAndKeyMaps(); expect(KeyBindingManager.getKeymap()).toEqual(defKeyMap); KeyBindingManager._setUserKeyMapFilePath(testFilePath); KeyBindingManager._loadUserKeyMap(); waits(300); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });
runs(function () { CommandManager.register("test copy command", "edit.copy", testCommandFn); KeyBindingManager._initCommandAndKeyMaps(); KeyBindingManager._setUserKeyMapFilePath(testPath + "/reassignCopy.json"); KeyBindingManager._loadUserKeyMap(); waits(300); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { var msgPrefix = Strings.ERROR_RESTRICTED_COMMANDS.replace("{0}", ""); expect(message).toMatch(msgPrefix); expect(message).toMatch("edit.copy"); return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });
runs(function () { // The command map has to be empty for this test case. So we are intentionally NOT calling // populateDefaultKeyMap() before loading the user key map. KeyBindingManager._initCommandAndKeyMaps(); KeyBindingManager._setUserKeyMapFilePath(testPath + "/keymap.json"); KeyBindingManager._loadUserKeyMap(); waits(300); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { var msgPrefix = Strings.ERROR_NONEXISTENT_COMMANDS.replace("{0}", ""); expect(message).toMatch(msgPrefix); expect(message).toMatch("file.openFolder"); expect(message).toMatch("view.toggleSidebar"); return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });
runs(function () { brackets.platform = platform; populateDefaultKeyMap(); KeyBindingManager._setUserKeyMapFilePath(testPath + "/duplicateShortcuts.json"); KeyBindingManager._initCommandAndKeyMaps(); KeyBindingManager._loadUserKeyMap(); waits(300); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { var msgPrefix = Strings.ERROR_DUPLICATE_SHORTCUTS.replace("{0}", ""); expect(message).toMatch(msgPrefix); expect(message).toMatch("Ctrl-2"); expect(message).toMatch("Alt-Ctrl-4"); return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });
runs(function () { brackets.platform = platform; populateDefaultKeyMap(); KeyBindingManager._initCommandAndKeyMaps(); KeyBindingManager._setUserKeyMapFilePath(testPath + "/invalidKeys.json"); KeyBindingManager._loadUserKeyMap(); waits(300); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { var msgPrefix = Strings.ERROR_INVALID_SHORTCUTS.replace("{0}", ""); expect(message).toMatch(msgPrefix); expect(message).toMatch("command-2"); expect(message).toMatch("Option-Cmd-Backspace"); expect(message).toMatch("ctrl-kk"); expect(message).toMatch("cmd-Del"); return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });
runs(function () { brackets.platform = platform; populateDefaultKeyMap(); KeyBindingManager._initCommandAndKeyMaps(); KeyBindingManager._setUserKeyMapFilePath(testFilePath); KeyBindingManager._loadUserKeyMap(); waits(300); spyOn(Dialogs, 'showModalDialog').andCallFake(function (dlgClass, title, message, buttons) { var msgPrefix = Strings.ERROR_RESTRICTED_SHORTCUTS.replace("{0}", ""); expect(message).toMatch(msgPrefix); if (platform === "mac") { expect(message).toMatch("cmd-z"); expect(message).toMatch("Cmd-m"); expect(message).toMatch("cmd-h"); } else { expect(message).toMatch("ctrl-z"); } return {done: function (callback) { callback(Dialogs.DIALOG_BTN_OK); } }; }); });