pulsar/spec/app/atom-spec.coffee

52 lines
1.2 KiB
CoffeeScript

Atom = require 'atom'
fs = require 'fs'
describe "Atom", ->
closeAllWindows = ->
window.close() for window in atom.windows
waitsFor "there to be no windows", ->
atom.windows.length == 0
describe ".open(path)", ->
beforeEach ->
closeAllWindows()
afterEach ->
closeAllWindows()
describe "when opening a file", ->
it "displays it in a new window with the contents of the file loaded", ->
filePath = null
filePath = require.resolve 'fixtures/sample.txt'
expect(atom.windows.length).toBe 0
atom.open filePath
waitsFor "window to open", ->
atom.windows.length > 0
runs ->
expect(atom.windows.length).toBe 1
newWindow = atom.windows[0]
expect(newWindow.rootView.activeEditor().buffer.getPath()).toEqual filePath
expect(newWindow.rootView.activeEditor().buffer.getText()).toEqual fs.read(filePath)
describe ".windowOpened(window)", ->
atom = null
beforeEach ->
atom = new Atom
afterEach ->
atom.destroy()
it "adds the window to the windows array if it isn't already present", ->
atom.windowOpened window
atom.windowOpened window
expect(atom.windows).toEqual [window]