diff --git a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee index 4ef0efd5a..49066159b 100644 --- a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee +++ b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee @@ -7,8 +7,6 @@ describe "MarkdownPreview", -> beforeEach -> rootView = new RootView(require.resolve('fixtures/markdown')) - atom.loadPackage("markdown-preview").getInstance() - markdownPreview = MarkdownPreview.instance afterEach -> rootView.deactivate() @@ -17,6 +15,7 @@ describe "MarkdownPreview", -> it "toggles on/off a preview for a .md file", -> rootView.open('file.md') editor = rootView.getActiveEditor() + markdownPreview = atom.loadPackage("markdown-preview").getInstance() expect(rootView.find('.markdown-preview')).not.toExist() spyOn(markdownPreview, 'loadHtml') editor.trigger('markdown-preview:toggle') @@ -30,6 +29,7 @@ describe "MarkdownPreview", -> it "displays a preview for a .markdown file", -> rootView.open('file.markdown') editor = rootView.getActiveEditor() + markdownPreview = atom.loadPackage("markdown-preview").getInstance() expect(rootView.find('.markdown-preview')).not.toExist() spyOn(markdownPreview, 'loadHtml') editor.trigger('markdown-preview:toggle') @@ -39,6 +39,7 @@ describe "MarkdownPreview", -> it "does not display a preview for non-markdown file", -> rootView.open('file.js') editor = rootView.getActiveEditor() + markdownPreview = atom.loadPackage("markdown-preview").getInstance() expect(rootView.find('.markdown-preview')).not.toExist() spyOn(markdownPreview, 'loadHtml') editor.trigger('markdown-preview:toggle') @@ -49,6 +50,7 @@ describe "MarkdownPreview", -> it "removes markdown preview", -> rootView.open('file.md') editor = rootView.getActiveEditor() + markdownPreview = atom.loadPackage("markdown-preview").getInstance() expect(rootView.find('.markdown-preview')).not.toExist() spyOn(markdownPreview, 'loadHtml') editor.trigger('markdown-preview:toggle') @@ -58,15 +60,16 @@ describe "MarkdownPreview", -> markdownPreviewView.trigger('core:cancel') expect(rootView.find('.markdown-preview')).not.toExist() - describe "when focus is lost", -> + describe "when the editor receives focus", -> it "removes the markdown preview view", -> rootView.open('file.md') editor = rootView.getActiveEditor() + markdownPreview = atom.loadPackage("markdown-preview").getInstance() expect(rootView.find('.markdown-preview')).not.toExist() spyOn(markdownPreview, 'loadHtml') editor.trigger('markdown-preview:toggle') markdownPreviewView = rootView.find('.markdown-preview') expect(markdownPreviewView).toExist() - markdownPreviewView.blur() + editor.focus() expect(rootView.find('.markdown-preview')).not.toExist() diff --git a/src/packages/markdown-preview/src/markdown-preview-view.coffee b/src/packages/markdown-preview/src/markdown-preview-view.coffee index 914ba8e07..c044623ab 100644 --- a/src/packages/markdown-preview/src/markdown-preview-view.coffee +++ b/src/packages/markdown-preview/src/markdown-preview-view.coffee @@ -15,8 +15,9 @@ class MarkdownPreviewView extends ScrollView initialize: (@rootView) -> super + @editor = @rootView.getActiveEditor() + @subscribe @editor, 'focus', => @detach() unless @detaching @command 'core:cancel', => @detach() unless @detaching - @on 'focusout', => @detach() unless @detaching toggle: -> if @hasParent() @@ -38,10 +39,10 @@ class MarkdownPreviewView extends ScrollView @detaching = false getActivePath: -> - @rootView.getActiveEditor()?.getPath() + @editor.getPath() getActiveText: -> - @rootView.getActiveEditor()?.getText() + @editor.getText() getErrorHtml: (error) -> $$$ ->