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
		Add a link
		
	
		Reference in a new issue