79 lines
		
	
	
	
		
			1.7 KiB
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.7 KiB
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const { remote } = require('electron')
 | 
						|
const { expect } = require('chai')
 | 
						|
const { Menu, Tray, nativeImage } = remote
 | 
						|
 | 
						|
describe('tray module', () => {
 | 
						|
  let tray
 | 
						|
 | 
						|
  beforeEach(() => {
 | 
						|
    tray = new Tray(nativeImage.createEmpty())
 | 
						|
  })
 | 
						|
 | 
						|
  afterEach(() => {
 | 
						|
    tray.destroy()
 | 
						|
    tray = null
 | 
						|
  })
 | 
						|
 | 
						|
  describe('tray.setContextMenu', () => {
 | 
						|
    it('accepts menu instance', () => {
 | 
						|
      tray.setContextMenu(new Menu())
 | 
						|
    })
 | 
						|
 | 
						|
    it('accepts null', () => {
 | 
						|
      tray.setContextMenu(null)
 | 
						|
    })
 | 
						|
  })
 | 
						|
 | 
						|
  describe('tray.popUpContextMenu', () => {
 | 
						|
    before(function () {
 | 
						|
      if (process.platform !== 'win32') {
 | 
						|
        this.skip()
 | 
						|
      }
 | 
						|
    })
 | 
						|
 | 
						|
    it('can be called when menu is showing', (done) => {
 | 
						|
      tray.setContextMenu(Menu.buildFromTemplate([{ label: 'Test' }]))
 | 
						|
      setTimeout(() => {
 | 
						|
        tray.popUpContextMenu()
 | 
						|
        done()
 | 
						|
      })
 | 
						|
      tray.popUpContextMenu()
 | 
						|
    })
 | 
						|
  })
 | 
						|
 | 
						|
  describe('tray.setImage', () => {
 | 
						|
    it('accepts empty image', () => {
 | 
						|
      tray.setImage(nativeImage.createEmpty())
 | 
						|
    })
 | 
						|
  })
 | 
						|
 | 
						|
  describe('tray.setPressedImage', () => {
 | 
						|
    it('accepts empty image', () => {
 | 
						|
      tray.setPressedImage(nativeImage.createEmpty())
 | 
						|
    })
 | 
						|
  })
 | 
						|
 | 
						|
  describe('tray title get/set', () => {
 | 
						|
    before(function () {
 | 
						|
      if (process.platform !== 'darwin') {
 | 
						|
        this.skip()
 | 
						|
      }
 | 
						|
    })
 | 
						|
 | 
						|
    it('sets/gets non-empty title', () => {
 | 
						|
      const title = 'Hello World!'
 | 
						|
      tray.setTitle(title)
 | 
						|
      const newTitle = tray.getTitle()
 | 
						|
 | 
						|
      expect(newTitle).to.equal(title)
 | 
						|
    })
 | 
						|
 | 
						|
    it('sets/gets empty title', () => {
 | 
						|
      const title = ''
 | 
						|
      tray.setTitle(title)
 | 
						|
      const newTitle = tray.getTitle()
 | 
						|
 | 
						|
      expect(newTitle).to.equal(title)
 | 
						|
    })
 | 
						|
  })
 | 
						|
})
 |