mirror of
https://github.com/atom/atom.git
synced 2026-02-15 00:55:14 -05:00
Merge remote-tracking branch 'refs/remotes/origin/master' into wl-drewmnoel-electron
This commit is contained in:
@@ -88,14 +88,15 @@ describe "BufferedProcess", ->
|
||||
describe "when the explorer command is spawned on Windows", ->
|
||||
it "doesn't quote arguments of the form /root,C...", ->
|
||||
new BufferedProcess({command: 'explorer.exe', args: ['/root,C:\\foo']})
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][2]).toBe '"explorer.exe /root,C:\\foo"'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][3]).toBe '"explorer.exe /root,C:\\foo"'
|
||||
|
||||
it "spawns the command using a cmd.exe wrapper", ->
|
||||
new BufferedProcess({command: 'dir'})
|
||||
expect(path.basename(ChildProcess.spawn.argsForCall[0][0])).toBe 'cmd.exe'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][0]).toBe '/s'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][1]).toBe '/c'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][2]).toBe '"dir"'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][1]).toBe '/d'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][2]).toBe '/c'
|
||||
expect(ChildProcess.spawn.argsForCall[0][1][3]).toBe '"dir"'
|
||||
|
||||
it "calls the specified stdout, stderr, and exit callbacks", ->
|
||||
stdout = ''
|
||||
|
||||
@@ -262,6 +262,26 @@ describe "Pane", ->
|
||||
pane.setPendingItem("fake item two")
|
||||
expect(callbackCalled).toBeTruthy()
|
||||
|
||||
it "isn't called when a pending item is replaced with a new one", ->
|
||||
pane = null
|
||||
pendingSpy = jasmine.createSpy("onItemDidTerminatePendingState")
|
||||
destroySpy = jasmine.createSpy("onWillDestroyItem")
|
||||
|
||||
waitsForPromise ->
|
||||
atom.workspace.open('sample.txt', pending: true).then ->
|
||||
pane = atom.workspace.getActivePane()
|
||||
|
||||
runs ->
|
||||
pane.onItemDidTerminatePendingState pendingSpy
|
||||
pane.onWillDestroyItem destroySpy
|
||||
|
||||
waitsForPromise ->
|
||||
atom.workspace.open('sample.js', pending: true)
|
||||
|
||||
runs ->
|
||||
expect(destroySpy).toHaveBeenCalled()
|
||||
expect(pendingSpy).not.toHaveBeenCalled()
|
||||
|
||||
describe "::activateNextRecentlyUsedItem() and ::activatePreviousRecentlyUsedItem()", ->
|
||||
it "sets the active item to the next/previous item in the itemStack, looping around at either end", ->
|
||||
pane = new Pane(paneParams(items: [new Item("A"), new Item("B"), new Item("C"), new Item("D"), new Item("E")]))
|
||||
|
||||
@@ -3745,6 +3745,21 @@ describe('TextEditorComponent', function () {
|
||||
return event
|
||||
}
|
||||
|
||||
function buildKeydownEvent ({keyCode, target}) {
|
||||
let event = new KeyboardEvent('keydown')
|
||||
Object.defineProperty(event, 'keyCode', {
|
||||
get: function () {
|
||||
return keyCode
|
||||
}
|
||||
})
|
||||
Object.defineProperty(event, 'target', {
|
||||
get: function () {
|
||||
return target
|
||||
}
|
||||
})
|
||||
return event
|
||||
}
|
||||
|
||||
let inputNode
|
||||
|
||||
beforeEach(function () {
|
||||
@@ -3767,11 +3782,12 @@ describe('TextEditorComponent', function () {
|
||||
expect(editor.lineTextForBufferRow(0)).toBe('xyvar quicksort = function () {')
|
||||
})
|
||||
|
||||
it('replaces the last character if the length of the input\'s value does not increase, as occurs with the accented character menu', async function () {
|
||||
componentNode.dispatchEvent(buildTextInputEvent({
|
||||
data: 'u',
|
||||
target: inputNode
|
||||
}))
|
||||
it('replaces the last character if a keypress event is bracketed by keydown events with matching keyCodes, which occurs when the accented character menu is shown', async function () {
|
||||
componentNode.dispatchEvent(buildKeydownEvent({keyCode: 85, target: inputNode}))
|
||||
componentNode.dispatchEvent(buildTextInputEvent({data: 'u', target: inputNode}))
|
||||
componentNode.dispatchEvent(new KeyboardEvent('keypress'))
|
||||
componentNode.dispatchEvent(buildKeydownEvent({keyCode: 85, target: inputNode}))
|
||||
componentNode.dispatchEvent(new KeyboardEvent('keyup'))
|
||||
await nextViewUpdatePromise()
|
||||
|
||||
expect(editor.lineTextForBufferRow(0)).toBe('uvar quicksort = function () {')
|
||||
|
||||
Reference in New Issue
Block a user