Skip to content

Commit

Permalink
feat: add x-terminal:clear command (#216)
Browse files Browse the repository at this point in the history
  • Loading branch information
UziTech authored Nov 27, 2020
1 parent d7c995e commit 228e621
Show file tree
Hide file tree
Showing 17 changed files with 1,028 additions and 918 deletions.
9 changes: 6 additions & 3 deletions keymaps/x-terminal.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,16 @@
"ctrl-shift-c": "x-terminal:copy",
"shift-insert": "x-terminal:paste",
"ctrl-shift-v": "x-terminal:paste",
"ctrl-shift-u": "x-terminal:unfocus"
"ctrl-shift-u": "x-terminal:unfocus",
"ctrl-l": "x-terminal:clear"
},
".platform-win32 x-terminal": {
"ctrl-insert": "x-terminal:copy",
"ctrl-shift-c": "x-terminal:copy",
"shift-insert": "x-terminal:paste",
"ctrl-shift-v": "x-terminal:paste",
"ctrl-shift-u": "x-terminal:unfocus"
"ctrl-shift-u": "x-terminal:unfocus",
"ctrl-l": "x-terminal:clear"
},
".platform-darwin x-terminal": {
"ctrl-shift-c": "x-terminal:copy",
Expand All @@ -65,6 +67,7 @@
"shift-insert": "x-terminal:paste",
"cmd-c": "x-terminal:copy",
"cmd-v": "x-terminal:paste",
"ctrl-shift-u": "x-terminal:unfocus"
"ctrl-shift-u": "x-terminal:unfocus",
"ctrl-l": "x-terminal:clear"
}
}
4 changes: 4 additions & 0 deletions menus/x-terminal.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
"label": "Restart",
"command": "x-terminal:restart"
},
{
"label": "Clear",
"command": "x-terminal:clear"
},
{
"type": "separator"
},
Expand Down
8 changes: 4 additions & 4 deletions spec/delete-profile-element-spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,21 @@
import { XTerminalDeleteProfileElement } from '../src/delete-profile-element'

describe('XTerminalDeleteProfileElement', () => {
this.model = null
let model

beforeEach(() => {
this.model = jasmine.createSpyObj('model', ['setElement'])
model = jasmine.createSpyObj('model', ['setElement'])
})

it('initialize()', () => {
const element = new XTerminalDeleteProfileElement()
element.initialize(this.model)
element.initialize(model)
expect(element.promptButtonsDiv.childElementCount).toBe(0)
})

it('setNewPrompt()', () => {
const element = new XTerminalDeleteProfileElement()
element.initialize(this.model)
element.initialize(model)
const profileName = 'foo'
const confirmHandler = () => {}
const cancelHandler = () => {}
Expand Down
20 changes: 10 additions & 10 deletions spec/delete-profile-model-spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,54 +22,54 @@
import { XTerminalDeleteProfileModel } from '../src/delete-profile-model'

describe('XTerminalDeleteProfileModel', () => {
this.atomXtermProfileMenuElement = null
let atomXtermProfileMenuElement

beforeEach(() => {
this.atomXtermProfileMenuElement = jasmine.createSpy(
atomXtermProfileMenuElement = jasmine.createSpy(
'atomXtermProfileMenuElement',
)
})

it('constructor()', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
expect(model).not.toBeNull()
})

it('getTitle()', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
expect(model.getTitle()).toBe('X Terminal Delete Profile Model')
})

it('getElement()', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
expect(model.getElement()).toBeNull()
})

it('setElement()', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
const element = jasmine.createSpy('atomXtermDeleteProfileElement')
model.setElement(element)
expect(model.getElement()).toBe(element)
})

it('close() panel is not visible', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
model.panel = jasmine.createSpyObj('panel', ['isVisible', 'hide'])
model.panel.isVisible.and.returnValue(false)
model.close()
expect(model.panel.hide).not.toHaveBeenCalled()
})

it('close() panel is visible', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
model.panel = jasmine.createSpyObj('panel', ['isVisible', 'hide'])
model.panel.isVisible.and.returnValue(true)
model.close()
expect(model.panel.hide).toHaveBeenCalled()
})

it('promptDelete() panel is shown', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
model.panel = jasmine.createSpyObj('panel', ['show', 'isVisible', 'hide'])
model.panel.isVisible.and.returnValue(true)
model.element = jasmine.createSpyObj('atomXtermDeleteProfileElement', ['setNewPrompt'])
Expand All @@ -78,7 +78,7 @@ describe('XTerminalDeleteProfileModel', () => {
})

it('promptDelete() new prompt is set', () => {
const model = new XTerminalDeleteProfileModel(this.atomXtermProfileMenuElement)
const model = new XTerminalDeleteProfileModel(atomXtermProfileMenuElement)
model.panel = jasmine.createSpyObj('panel', ['show', 'isVisible', 'hide'])
model.panel.isVisible.and.returnValue(true)
model.element = jasmine.createSpyObj('atomXtermDeleteProfileElement', ['setNewPrompt'])
Expand Down
Loading

0 comments on commit 228e621

Please sign in to comment.