/
githubmirror
/
atom
Обзор
Документация
Войти
/
githubmirror
/
atom
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
spec/gutter-container-spec.js
88 строк
3 KB
Rafael Oleza
Reformat all JS files using prettier
31 май 2019, 19:33
31 май 2019, 19:33
7f3f040
Код
Авторство
О чём код?
const Gutter = require('../src/gutter'); const GutterContainer = require('../src/gutter-container'); describe('GutterContainer', () => { let gutterContainer = null; const fakeTextEditor = { scheduleComponentUpdate() {} }; beforeEach(() => { gutterContainer = new GutterContainer(fakeTextEditor); }); describe('when initialized', () => it('it has no gutters', () => { expect(gutterContainer.getGutters().length).toBe(0); })); describe('::addGutter', () => { it('creates a new gutter', () => { const newGutter = gutterContainer.addGutter({ 'test-gutter': 'test-gutter', priority: 1 }); expect(gutterContainer.getGutters()).toEqual([newGutter]); expect(newGutter.priority).toBe(1); }); it('throws an error if the provided gutter name is already in use', () => { const name = 'test-gutter'; gutterContainer.addGutter({ name }); expect(gutterContainer.addGutter.bind(null, { name })).toThrow(); }); it('keeps added gutters sorted by ascending priority', () => { const gutter1 = gutterContainer.addGutter({ name: 'first', priority: 1 }); const gutter3 = gutterContainer.addGutter({ name: 'third', priority: 3 }); const gutter2 = gutterContainer.addGutter({ name: 'second', priority: 2 }); expect(gutterContainer.getGutters()).toEqual([gutter1, gutter2, gutter3]); }); }); describe('::removeGutter', () => { let removedGutters; beforeEach(function() { gutterContainer = new GutterContainer(fakeTextEditor); removedGutters = []; gutterContainer.onDidRemoveGutter(gutterName => removedGutters.push(gutterName) ); }); it('removes the gutter if it is contained by this GutterContainer', () => { const gutter = gutterContainer.addGutter({ 'test-gutter': 'test-gutter' }); expect(gutterContainer.getGutters()).toEqual([gutter]); gutterContainer.removeGutter(gutter); expect(gutterContainer.getGutters().length).toBe(0); expect(removedGutters).toEqual([gutter.name]); }); it('throws an error if the gutter is not within this GutterContainer', () => { const fakeOtherTextEditor = {}; const otherGutterContainer = new GutterContainer(fakeOtherTextEditor); const gutter = new Gutter('gutter-name', otherGutterContainer); expect(gutterContainer.removeGutter.bind(null, gutter)).toThrow(); }); }); describe('::destroy', () => it('clears its array of gutters and destroys custom gutters', () => { const newGutter = gutterContainer.addGutter({ 'test-gutter': 'test-gutter', priority: 1 }); const newGutterSpy = jasmine.createSpy(); newGutter.onDidDestroy(newGutterSpy); gutterContainer.destroy(); expect(newGutterSpy).toHaveBeenCalled(); expect(gutterContainer.getGutters()).toEqual([]); })); });