mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-06 23:59:01 +02:00
Add test for cmEditor directive
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
define ['ide/editor/directives/cmEditor'], () ->
|
||||
describe 'cmEditor', () ->
|
||||
beforeEach(module('SharelatexApp'))
|
||||
|
||||
beforeEach () ->
|
||||
@richTextInit = sinon.stub()
|
||||
window.Frontend = {
|
||||
richText: {
|
||||
init: @richTextInit
|
||||
}
|
||||
}
|
||||
|
||||
it 'inits Rich Text', () ->
|
||||
inject ($compile, $rootScope) ->
|
||||
$compile('<div cm-editor></div>')($rootScope)
|
||||
expect(@richTextInit).to.have.been.called
|
||||
|
||||
it 'attaches to CM', () ->
|
||||
inject ($compile, $rootScope) ->
|
||||
setValue = sinon.stub()
|
||||
@richTextInit.returns({ setValue: setValue })
|
||||
getSnapshot = sinon.stub()
|
||||
detachFromCM = sinon.stub()
|
||||
attachToCM = sinon.stub()
|
||||
$rootScope.sharejsDoc = {
|
||||
getSnapshot: getSnapshot
|
||||
detachFromCM: detachFromCM
|
||||
attachToCM: attachToCM
|
||||
}
|
||||
|
||||
$compile('<div cm-editor sharejs-doc="sharejsDoc"></div>')($rootScope)
|
||||
$rootScope.$digest()
|
||||
|
||||
expect(getSnapshot).to.have.been.called
|
||||
expect(setValue).to.have.been.called
|
||||
expect(detachFromCM).to.have.been.called
|
||||
expect(attachToCM).to.have.been.called
|
||||
|
||||
it 'detaches from CM when destroyed', () ->
|
||||
inject ($compile, $rootScope) ->
|
||||
@richTextInit.returns({ setValue: sinon.stub() })
|
||||
detachFromCM = sinon.stub()
|
||||
$rootScope.sharejsDoc = {
|
||||
getSnapshot: sinon.stub()
|
||||
detachFromCM: detachFromCM
|
||||
attachToCM: sinon.stub()
|
||||
}
|
||||
|
||||
$compile('<div cm-editor sharejs-doc="sharejsDoc"></div>')($rootScope)
|
||||
$rootScope.$digest()
|
||||
$rootScope.$broadcast('destroy')
|
||||
|
||||
expect(detachFromCM).to.have.been.called
|
||||
Reference in New Issue
Block a user