Files
atom/spec/stdlib/native-spec.coffee
2011-12-23 16:59:02 -06:00

42 lines
1.2 KiB
CoffeeScript

Native = require 'native'
describe "Native", ->
nativeModule = null
beforeEach ->
nativeModule = new Native
describe "addMenuItem(path, keyBinding)", ->
mainMenu = null
mainMenuItems = null
beforeEach ->
mainMenu = OSX.NSApp.mainMenu
mainMenuItems = mainMenu.itemArray
it "adds the item at the path terminus to the main menu, adding submenus as needed", ->
initialMenuCount = mainMenu.itemArray.length
nativeModule.addMenuItem('Submenu 1 > Item 1')
expect(mainMenu.itemArray.length).toBe initialMenuCount + 1
submenu1 = mainMenu.itemWithTitle('Submenu 1').submenu
item1 = submenu1.itemWithTitle('Item 1')
expect(item1).toBeDefined()
nativeModule.addMenuItem('Submenu 1 > Item 2')
expect(mainMenu.itemArray.length).toBe initialMenuCount + 1
expect(submenu1.itemArray.length).toBe 2
item1 = submenu1.itemWithTitle('Item 2')
expect(item1).toBeDefined()
nativeModule.addMenuItem('Submenu 2 > Item 1')
expect(mainMenu.itemArray.length).toBe initialMenuCount + 2
expect(submenu1.itemArray.length).toBe 2
submenu1 = mainMenu.itemWithTitle('Submenu 2').submenu
item1 = submenu1.itemWithTitle('Item 1')
expect(item1).toBeDefined()