mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-20 15:37:46 +03:00
65 lines
2.0 KiB
CoffeeScript
65 lines
2.0 KiB
CoffeeScript
|
Gutter = require '../src/gutter'
|
||
|
|
||
|
describe 'Gutter', ->
|
||
|
fakeGutterContainer = {}
|
||
|
name = 'name'
|
||
|
|
||
|
describe '::hide', ->
|
||
|
it 'hides the gutter if it is visible.', ->
|
||
|
options =
|
||
|
name: name
|
||
|
visible: true
|
||
|
gutter = new Gutter fakeGutterContainer, options
|
||
|
events = []
|
||
|
gutter.onDidChangeVisible (gutter) ->
|
||
|
events.push gutter.isVisible()
|
||
|
|
||
|
expect(gutter.isVisible()).toBe true
|
||
|
gutter.hide()
|
||
|
expect(gutter.isVisible()).toBe false
|
||
|
expect(events).toEqual [false]
|
||
|
gutter.hide()
|
||
|
expect(gutter.isVisible()).toBe false
|
||
|
# An event should only be emitted when the visibility changes.
|
||
|
expect(events.length).toBe 1
|
||
|
|
||
|
describe '::show', ->
|
||
|
it 'shows the gutter if it is hidden.', ->
|
||
|
options =
|
||
|
name: name
|
||
|
visible: false
|
||
|
gutter = new Gutter fakeGutterContainer, options
|
||
|
events = []
|
||
|
gutter.onDidChangeVisible (gutter) ->
|
||
|
events.push gutter.isVisible()
|
||
|
|
||
|
expect(gutter.isVisible()).toBe false
|
||
|
gutter.show()
|
||
|
expect(gutter.isVisible()).toBe true
|
||
|
expect(events).toEqual [true]
|
||
|
gutter.show()
|
||
|
expect(gutter.isVisible()).toBe true
|
||
|
# An event should only be emitted when the visibility changes.
|
||
|
expect(events.length).toBe 1
|
||
|
|
||
|
describe '::destroy', ->
|
||
|
[mockGutterContainer, mockGutterContainerRemovedGutters] = []
|
||
|
|
||
|
beforeEach ->
|
||
|
mockGutterContainerRemovedGutters = [];
|
||
|
mockGutterContainer = removeGutter: (destroyedGutter) ->
|
||
|
mockGutterContainerRemovedGutters.push destroyedGutter
|
||
|
|
||
|
it 'removes the gutter from its container.', ->
|
||
|
gutter = new Gutter mockGutterContainer, {name}
|
||
|
gutter.destroy()
|
||
|
expect(mockGutterContainerRemovedGutters).toEqual([gutter])
|
||
|
|
||
|
it 'calls all callbacks registered on ::onDidDestroy.', ->
|
||
|
gutter = new Gutter mockGutterContainer, {name}
|
||
|
didDestroy = false
|
||
|
gutter.onDidDestroy ->
|
||
|
didDestroy = true
|
||
|
gutter.destroy()
|
||
|
expect(didDestroy).toBe true
|