assert = require 'assert' path = require 'path' {clipboard, nativeImage} = require 'electron' describe 'clipboard module', -> fixtures = path.resolve __dirname, 'fixtures' describe 'clipboard.readImage()', -> it 'returns NativeImage intance', -> p = path.join fixtures, 'assets', 'logo.png' i = nativeImage.createFromPath p clipboard.writeImage p assert.equal clipboard.readImage().toDataUrl(), i.toDataUrl() describe 'clipboard.readText()', -> it 'returns unicode string correctly', -> text = '千江有水千江月,万里无云万里天' clipboard.writeText text assert.equal clipboard.readText(), text describe 'clipboard.readHtml()', -> it 'returns markup correctly', -> text = 'Hi' markup = if process.platform is 'darwin' 'Hi' else if process.platform is 'linux' 'Hi' else 'Hi' clipboard.writeHtml text assert.equal clipboard.readHtml(), markup describe 'clipboard.write()', -> it 'returns data correctly', -> text = 'test' p = path.join fixtures, 'assets', 'logo.png' i = nativeImage.createFromPath p markup = if process.platform is 'darwin' 'Hi' else if process.platform is 'linux' 'Hi' else 'Hi' clipboard.write {text: "test", html: 'Hi', image: p} assert.equal clipboard.readText(), text assert.equal clipboard.readHtml(), markup assert.equal clipboard.readImage().toDataUrl(), i.toDataUrl()