Files
atom/packages/git-diff/spec/diff-list-view-spec.js
2018-09-06 14:31:10 -07:00

44 lines
1.4 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([4, 29])
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-5,1 +5,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([4, 4])
})
})