Remove trailing context menu separator fixing #5390

This commit is contained in:
Damien Guard
2016-08-24 21:45:21 -07:00
parent 922f44ff11
commit d44dbb373d
2 changed files with 15 additions and 0 deletions

View File

@@ -149,6 +149,17 @@ describe "ContextMenuManager", ->
shouldDisplay = false
expect(contextMenu.templateForEvent(dispatchedEvent)).toEqual []
it "prunes a trailing separator", ->
contextMenu.add
'.grandchild': [
{label: 'A', command: 'a'},
{type: 'separator'},
{label: 'B', command: 'b'},
{type: 'separator'}
]
expect(contextMenu.templateForEvent({target: grandchild}).length).toBe(3)
it "throws an error when the selector is invalid", ->
addError = null
try

View File

@@ -145,6 +145,10 @@ class ContextMenuManager
currentTarget = currentTarget.parentElement
# Remove trailing separator
if template.length > 0 and template[template.length - 1].type is 'separator'
template.splice(template.length-1, 1)
template
# Returns an object compatible with `::add()` or `null`.