Merge branch 'master' into global-find

Conflicts:
	src/app/buffer.coffee
This commit is contained in:
Nathan Sobo
2012-07-20 19:01:38 -06:00
9 changed files with 87 additions and 20 deletions

View File

@@ -90,6 +90,21 @@ describe 'Buffer', ->
expect(event.newText).toBe "second"
expect(buffer.isModified()).toBeFalsy()
describe "when the buffer is modified", ->
it "sets modifiedOnDisk to be true", ->
fileChangeHandler = jasmine.createSpy('fileChange')
buffer.file.on 'contents-change', fileChangeHandler
buffer.insert([0, 0], "a change")
fs.write(path, "second")
expect(fileChangeHandler.callCount).toBe 0
waitsFor "file to trigger contents-change event", ->
fileChangeHandler.callCount > 0
runs ->
expect(buffer.isModifiedOnDisk()).toBeTruthy()
describe ".isModified()", ->
it "returns true when user changes buffer", ->
expect(buffer.isModified()).toBeFalsy()
@@ -282,6 +297,17 @@ describe 'Buffer', ->
buffer = new Buffer
expect(-> buffer.save()).toThrow()
describe "reload()", ->
it "loads text from disk are sets @modified and @modifiedOnDisk to false", ->
buffer.modified = true
buffer.modifiedOnDisk = true
buffer.setText("abc")
buffer.reload()
expect(buffer.modifed).toBeFalsy()
expect(buffer.modifiedOnDisk).toBeFalsy()
expect(buffer.getText()).toBe(fileContents)
describe ".saveAs(path)", ->
[filePath, saveAsBuffer] = []

View File

@@ -103,18 +103,42 @@ describe "TreeView", ->
newRootView.remove()
describe "when tree-view:toggle is triggered on the root view", ->
it "shows/hides the tree view", ->
beforeEach ->
rootView.attachToDom()
describe "when the tree view is visible", ->
beforeEach ->
expect(treeView).toBeVisible()
describe "when the tree view is focused", ->
it "hides the tree view", ->
treeView.focus()
rootView.trigger 'tree-view:toggle'
expect(treeView).toBeHidden()
describe "when the tree view is not focused", ->
it "shifts focus to the tree view", ->
rootView.focus()
rootView.trigger 'tree-view:toggle'
expect(treeView).toBeVisible()
expect(treeView).toMatchSelector(':focus')
describe "when the tree view is hidden", ->
it "shows and focuses the tree view", ->
treeView.detach()
rootView.trigger 'tree-view:toggle'
expect(treeView.hasParent()).toBeTruthy()
expect(treeView).toMatchSelector(':focus')
describe "when tree-view:unfocus is triggered on the tree view", ->
it "surrenders focus to the root view but remains open", ->
rootView.attachToDom()
treeView.focus()
expect(treeView.hasParent()).toBeTruthy()
rootView.trigger 'tree-view:toggle'
expect(treeView.hasParent()).toBeFalsy()
treeView.trigger 'tree-view:unfocus'
expect(treeView).toBeVisible()
expect(treeView).not.toMatchSelector(':focus')
expect(rootView).toMatchSelector(':focus')
rootView.trigger 'tree-view:toggle'
expect(treeView.hasParent()).toBeTruthy()
expect(treeView).toMatchSelector(':focus')
describe "when a directory's disclosure arrow is clicked", ->
it "expands / collapses the associated directory", ->
subdir = treeView.root.find('.entries > li:contains(dir/)').view()