diff --git a/spec/app/editor-spec.coffee b/spec/app/editor-spec.coffee index e4c47638b..d00eb58ec 100644 --- a/spec/app/editor-spec.coffee +++ b/spec/app/editor-spec.coffee @@ -52,16 +52,19 @@ describe "Editor", -> expect(newEditor.editSessions[0]).not.toBe(editor.editSessions[0]) describe "editor-open event", -> - it 'triggers an editor-open event when it is added to the DOM', -> + it 'only triggers an editor-open event when it is first added to the DOM', -> openHandler = jasmine.createSpy('openHandler') editor.on 'editor-open', openHandler editor.simulateDomAttachment() - expect(openHandler).toHaveBeenCalled() [event, eventEditor] = openHandler.argsForCall[0] expect(eventEditor).toBe editor + openHandler.reset() + editor.simulateDomAttachment() + expect(openHandler).not.toHaveBeenCalled() + describe "text rendering", -> it "creates a line element for each line in the buffer with the html-escaped text of the line", -> expect(editor.lines.find('.line').length).toEqual(buffer.numLines()) diff --git a/src/app/editor.coffee b/src/app/editor.coffee index 5f28b5d78..97af57427 100644 --- a/src/app/editor.coffee +++ b/src/app/editor.coffee @@ -201,7 +201,9 @@ class Editor extends View else @gutter.addClass('drop-shadow') - @on 'attach', => + @on 'attach', (e) => + return if @attached + @attached = true @calculateDimensions() @hiddenInput.width(@charWidth) @setMaxLineLength() if @softWrap