mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Use an editor in the file finder instead of an input element.
This commit is contained in:
@@ -7,6 +7,7 @@ describe 'FileFinder', ->
|
||||
beforeEach ->
|
||||
urls = ['app.coffee', 'buffer.coffee', 'atom/app.coffee', 'atom/buffer.coffee']
|
||||
finder = new FileFinder({urls})
|
||||
finder.enableKeymap()
|
||||
|
||||
describe "initialize", ->
|
||||
it "populates the ol with all urls and selects the first element", ->
|
||||
@@ -16,8 +17,7 @@ describe 'FileFinder', ->
|
||||
|
||||
describe "when characters are typed into the input element", ->
|
||||
it "displays matching urls in the ol element and selects the first", ->
|
||||
finder.input.val('ap')
|
||||
finder.input.trigger 'input'
|
||||
finder.editor.insertText('ap')
|
||||
|
||||
expect(finder.urlList.children().length).toBe 2
|
||||
expect(finder.urlList.find('li:contains(app.coffee)').length).toBe 2
|
||||
@@ -26,8 +26,8 @@ describe 'FileFinder', ->
|
||||
expect(finder.urlList.find('li.selected').length).toBe 1
|
||||
|
||||
# we should clear the list before re-populating it
|
||||
finder.input.val('a/ap')
|
||||
finder.input.trigger 'input'
|
||||
finder.editor.setCursorScreenPosition([0, 0])
|
||||
finder.editor.insertText('a/')
|
||||
|
||||
expect(finder.urlList.children().length).toBe 1
|
||||
expect(finder.urlList.find('li:contains(atom/app.coffee)').length).toBe 1
|
||||
@@ -37,13 +37,13 @@ describe 'FileFinder', ->
|
||||
expect(finder.find('li:eq(0)')).toHaveClass "selected"
|
||||
expect(finder.find('li:eq(2)')).not.toHaveClass "selected"
|
||||
|
||||
finder.trigger 'move-down'
|
||||
finder.trigger 'move-down'
|
||||
finder.editor.trigger keydownEvent('down')
|
||||
finder.editor.trigger keydownEvent('down')
|
||||
|
||||
expect(finder.find('li:eq(0)')).not.toHaveClass "selected"
|
||||
expect(finder.find('li:eq(2)')).toHaveClass "selected"
|
||||
|
||||
finder.trigger 'move-up'
|
||||
finder.editor.trigger keydownEvent('up')
|
||||
|
||||
expect(finder.find('li:eq(0)')).not.toHaveClass "selected"
|
||||
expect(finder.find('li:eq(1)')).toHaveClass "selected"
|
||||
@@ -51,11 +51,11 @@ describe 'FileFinder', ->
|
||||
|
||||
it "does not fall off the end or begining of the list", ->
|
||||
expect(finder.find('li:first')).toHaveClass "selected"
|
||||
finder.trigger 'move-up'
|
||||
finder.editor.trigger keydownEvent('up')
|
||||
expect(finder.find('li:first')).toHaveClass "selected"
|
||||
|
||||
for i in [1..urls.length+10]
|
||||
finder.trigger 'move-down'
|
||||
finder.editor.trigger keydownEvent('down')
|
||||
|
||||
expect(finder.find('li:last')).toHaveClass "selected"
|
||||
|
||||
@@ -64,19 +64,20 @@ describe 'FileFinder', ->
|
||||
|
||||
beforeEach ->
|
||||
finder = new FileFinder({urls, selected: selectedCallback})
|
||||
finder.enableKeymap()
|
||||
|
||||
it "when a file is selected Editor.open is called", ->
|
||||
spyOn(finder, 'remove')
|
||||
finder.moveDown()
|
||||
finder.trigger 'select'
|
||||
finder.editor.trigger keydownEvent('enter')
|
||||
expect(selectedCallback).toHaveBeenCalledWith(urls[1])
|
||||
expect(finder.remove).toHaveBeenCalled()
|
||||
|
||||
it "when no file is selected, does nothing", ->
|
||||
spyOn(atom, 'open')
|
||||
finder.input.val('this-will-match-nothing-hopefully')
|
||||
finder.editor.insertText('this-will-match-nothing-hopefully')
|
||||
finder.populateUrlList()
|
||||
finder.trigger 'select'
|
||||
finder.editor.trigger keydownEvent('enter')
|
||||
expect(atom.open).not.toHaveBeenCalled()
|
||||
|
||||
describe "findMatches(queryString)", ->
|
||||
|
||||
Reference in New Issue
Block a user