Merge pull request #8880 from mst128256/2814

Default menu items for 'Edit' and 'Window' #2814
This commit is contained in:
Kevin Sawicki 2017-03-29 12:31:58 -07:00 committed by GitHub
commit 57edc28b0d
4 changed files with 130 additions and 1 deletions

View file

@ -455,6 +455,57 @@ describe('menu module', function () {
})
})
describe('MenuItem editMenu', function () {
it('includes a default submenu layout when submenu is empty', function () {
var item = new MenuItem({role: 'editMenu'})
assert.equal(item.label, 'Edit')
assert.equal(item.submenu.items[0].role, 'undo')
assert.equal(item.submenu.items[1].role, 'redo')
assert.equal(item.submenu.items[2].type, 'separator')
assert.equal(item.submenu.items[3].role, 'cut')
assert.equal(item.submenu.items[4].role, 'copy')
assert.equal(item.submenu.items[5].role, 'paste')
if (process.platform === 'darwin') {
assert.equal(item.submenu.items[6].role, 'pasteandmatchstyle')
assert.equal(item.submenu.items[7].role, 'delete')
assert.equal(item.submenu.items[8].role, 'selectall')
}
if (process.platform === 'win32') {
assert.equal(item.submenu.items[6].role, 'delete')
assert.equal(item.submenu.items[7].type, 'separator')
assert.equal(item.submenu.items[8].role, 'selectall')
}
})
it('overrides default layout when submenu is specified', function () {
var item = new MenuItem({role: 'editMenu', submenu: [{role: 'close'}]})
assert.equal(item.label, 'Edit')
assert.equal(item.submenu.items[0].role, 'close')
})
})
describe('MenuItem windowMenu', function () {
it('includes a default submenu layout when submenu is empty', function () {
var item = new MenuItem({role: 'windowMenu'})
assert.equal(item.label, 'Window')
assert.equal(item.submenu.items[0].role, 'minimize')
assert.equal(item.submenu.items[1].role, 'close')
if (process.platform === 'darwin') {
assert.equal(item.submenu.items[2].type, 'separator')
assert.equal(item.submenu.items[3].role, 'front')
}
})
it('overrides default layout when submenu is specified', function () {
var item = new MenuItem({role: 'windowMenu', submenu: [{role: 'copy'}]})
assert.equal(item.label, 'Window')
assert.equal(item.submenu.items[0].role, 'copy')
})
})
describe('MenuItem with custom properties in constructor', function () {
it('preserves the custom properties', function () {
var template = [{