mirror of
https://github.com/atom/atom.git
synced 2026-01-24 22:38:20 -05:00
50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
const path = require('path')
|
|
const fs = require('fs-plus')
|
|
const temp = require('temp')
|
|
|
|
describe('git-diff:toggle-diff-list', () => {
|
|
let diffListView, editor
|
|
|
|
beforeEach(() => {
|
|
const projectPath = temp.mkdirSync('git-diff-spec-')
|
|
fs.copySync(path.join(__dirname, 'fixtures', 'working-dir'), projectPath)
|
|
fs.moveSync(
|
|
path.join(projectPath, 'git.git'),
|
|
path.join(projectPath, '.git')
|
|
)
|
|
atom.project.setPaths([projectPath])
|
|
|
|
jasmine.attachToDOM(atom.workspace.getElement())
|
|
|
|
waitsForPromise(() => atom.packages.activatePackage('git-diff'))
|
|
|
|
waitsForPromise(() => atom.workspace.open('sample.js'))
|
|
|
|
runs(() => {
|
|
editor = atom.workspace.getActiveTextEditor()
|
|
editor.setCursorBufferPosition([8, 30])
|
|
editor.insertText('a')
|
|
atom.commands.dispatch(editor.getElement(), 'git-diff:toggle-diff-list')
|
|
})
|
|
|
|
waitsFor(() => {
|
|
diffListView = document.querySelector('.diff-list-view')
|
|
return diffListView && diffListView.querySelectorAll('li').length > 0
|
|
})
|
|
})
|
|
|
|
it('shows a list of all diff hunks', () => {
|
|
diffListView = document.querySelector('.diff-list-view ol')
|
|
expect(diffListView.textContent).toBe('while (items.length > 0) {a-9,1 +9,1')
|
|
})
|
|
|
|
it('moves the cursor to the selected hunk', () => {
|
|
editor.setCursorBufferPosition([0, 0])
|
|
atom.commands.dispatch(
|
|
document.querySelector('.diff-list-view'),
|
|
'core:confirm'
|
|
)
|
|
expect(editor.getCursorBufferPosition()).toEqual([8, 4])
|
|
})
|
|
})
|