Merge pull request #4840 from atom/undefined-menu-accelerator
Undefined menu accelerator
This commit is contained in:
commit
e08b48ab48
2 changed files with 19 additions and 4 deletions
|
@ -269,7 +269,7 @@ Menu.getApplicationMenu = function() {
|
||||||
Menu.sendActionToFirstResponder = bindings.sendActionToFirstResponder;
|
Menu.sendActionToFirstResponder = bindings.sendActionToFirstResponder;
|
||||||
|
|
||||||
Menu.buildFromTemplate = function(template) {
|
Menu.buildFromTemplate = function(template) {
|
||||||
var insertIndex, item, j, k, key, len, len1, menu, menuItem, positionedTemplate, value;
|
var insertIndex, item, j, k, key, len, len1, menu, menuItem, positionedTemplate;
|
||||||
if (!Array.isArray(template)) {
|
if (!Array.isArray(template)) {
|
||||||
throw new TypeError('Invalid template for Menu');
|
throw new TypeError('Invalid template for Menu');
|
||||||
}
|
}
|
||||||
|
@ -293,9 +293,9 @@ Menu.buildFromTemplate = function(template) {
|
||||||
}
|
}
|
||||||
menuItem = new MenuItem(item);
|
menuItem = new MenuItem(item);
|
||||||
for (key in item) {
|
for (key in item) {
|
||||||
value = item[key];
|
// Preserve extra fields specified by user
|
||||||
if (menuItem[key] == null) {
|
if (!menuItem.hasOwnProperty(key)) {
|
||||||
menuItem[key] = value;
|
menuItem[key] = item[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
menu.append(menuItem);
|
menu.append(menuItem);
|
||||||
|
|
|
@ -32,6 +32,21 @@ describe('menu module', function() {
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('does not throw exceptions for undefined/null values', function() {
|
||||||
|
assert.doesNotThrow(function() {
|
||||||
|
Menu.buildFromTemplate([
|
||||||
|
{
|
||||||
|
label: 'text',
|
||||||
|
accelerator: undefined
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'text again',
|
||||||
|
accelerator: null
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('Menu.buildFromTemplate should reorder based on item position specifiers', function() {
|
describe('Menu.buildFromTemplate should reorder based on item position specifiers', function() {
|
||||||
it('should position before existing item', function() {
|
it('should position before existing item', function() {
|
||||||
var menu = Menu.buildFromTemplate([
|
var menu = Menu.buildFromTemplate([
|
||||||
|
|
Loading…
Add table
Reference in a new issue