Files
atom/spec/extensions/markdown-preview-spec.coffee
2012-09-27 13:21:13 -07:00

55 lines
2.0 KiB
CoffeeScript

$ = require 'jquery'
RootView = require 'root-view'
MarkdownPreview = require 'markdown-preview'
describe "MarkdownPreview", ->
[rootView, markdownPreview] = []
beforeEach ->
rootView = new RootView(require.resolve('fixtures/markdown'))
rootView.activateExtension(MarkdownPreview)
markdownPreview = MarkdownPreview.instance
rootView.attachToDom()
afterEach ->
rootView.deactivate()
describe "@attach", ->
it "attaches to a .md file", ->
rootView.open('file.md')
editor = rootView.getActiveEditor()
expect(rootView.find('.markdown-preview')).not.toExist()
spyOn(markdownPreview, 'loadHtml')
editor.trigger('markdown-preview:attach')
expect(rootView.find('.markdown-preview')).toExist()
expect(markdownPreview.loadHtml).toHaveBeenCalled();
it "attaches to a .markdown file", ->
rootView.open('file.markdown')
editor = rootView.getActiveEditor()
expect(rootView.find('.markdown-preview')).not.toExist()
spyOn(markdownPreview, 'loadHtml')
editor.trigger('markdown-preview:attach')
expect(rootView.find('.markdown-preview')).toExist()
expect(markdownPreview.loadHtml).toHaveBeenCalled();
it "doesn't attach to a .js file", ->
rootView.open('file.js')
editor = rootView.getActiveEditor()
expect(rootView.find('.markdown-preview')).not.toExist()
spyOn(markdownPreview, 'loadHtml')
editor.trigger('markdown-preview:attach')
expect(rootView.find('.markdown-preview')).not.toExist()
expect(markdownPreview.loadHtml).not.toHaveBeenCalled();
describe "@detach", ->
it "detaches from a .md file", ->
rootView.open('file.md')
editor = rootView.getActiveEditor()
expect(rootView.find('.markdown-preview')).not.toExist()
spyOn(markdownPreview, 'loadHtml')
editor.trigger('markdown-preview:attach')
expect(rootView.find('.markdown-preview')).toExist()
markdownPreview.trigger('markdown-preview:detach')
expect(rootView.find('.markdown-preview')).not.toExist()