     editorForMeasurement.remove()
     cachedLineHeight
 
-  beforeEach ->
-    window.rootView = new RootView
-    rootView.open('sample.js')
-    editor = rootView.getActiveEditor()
-    buffer = editor.getBuffer()
-
-    editor.attachToDom = ({ heightInLines } = {}) ->
-      heightInLines ?= this.getBuffer().getLineCount()
-      this.height(getLineHeight() * heightInLines)
-      $('#jasmine-content').append(this)
-
-    editor.lineOverdraw = 2
-    editor.enableKeymap()
-    editor.isFocused = true
-
   describe "construction", ->
     it "throws an error if no editor session is given unless deserializing", ->
       expect(-> new Editor).toThrow()
       expect(-> new Editor(deserializing: true)).not.toThrow()
-
-  describe ".copy()", ->
-    it "builds a new editor with the same edit sessions, cursor position, and scroll position as the receiver", ->
-      rootView.attachToDom()
-      rootView.height(8 * editor.lineHeight)
-      rootView.width(50 * editor.charWidth)
-
-      editor.edit(project.buildEditSession('two-hundred.txt'))
-      editor.setCursorScreenPosition([5, 1])
-      editor.scrollTop(1.5 * editor.lineHeight)
-      editor.scrollView.scrollLeft(44)
-
-      # proves this test covers serialization and deserialization
-      spyOn(editor, 'serialize').andCallThrough()
-      spyOn(Editor, 'deserialize').andCallThrough()
-
-      newEditor = editor.copy()
-      expect(editor.serialize).toHaveBeenCalled()
-      expect(Editor.deserialize).toHaveBeenCalled()
-
-      expect(newEditor.getBuffer()).toBe editor.getBuffer()
-      expect(newEditor.getCursorScreenPosition()).toEqual editor.getCursorScreenPosition()
-      expect(newEditor.editSessions).toEqual(editor.editSessions)
-      expect(newEditor.activeEditSession).toEqual(editor.activeEditSession)
-      expect(newEditor.getActiveEditSessionIndex()).toEqual(editor.getActiveEditSessionIndex())
-
-      newEditor.height(editor.height())
-      newEditor.width(editor.width())
-
-      newEditor.attachToDom()
-      expect(newEditor.scrollTop()).toBe editor.scrollTop()
-      expect(newEditor.scrollView.scrollLeft()).toBe 44
-
-    it "does not blow up if no file exists for a previous edit session, but prints a warning", ->
-      spyOn(console, 'warn')
-      fs.write('/tmp/delete-me')
-      editor.edit(project.buildEditSession('/tmp/delete-me'))
-      fs.remove('/tmp/delete-me')
-      newEditor = editor.copy()
-      expect(console.warn).toHaveBeenCalled()
 
   describe "when the editor is attached to the dom", ->
     it "calculates line height and char width and updates the pixel position of the cursor", ->

      line0 = tokenizedBuffer.lineForScreenRow(0)
      expect(line0.tokens.length).toBe 3
      expect(line0.tokens[0]).toEqual(value: 'var', scopes: ['source.js', 'storage.modifier.js'])

      line0 = editor.renderedLines.find('.line:first')
      span0 = line0.children('span:eq(0)')
      expect(span0).toMatchSelector '.source.js'
      expect(span0.children('span:eq(0)')).toMatchSelector '.storage.modifier.js'
      expect(span0.children('span:eq(0)').text()).toBe 'var'

    it "doesn't update the rendered lines when the grammar doesn't change", ->
      expect(editor.getGrammar().name).toBe 'JavaScript'

        project.setPath('/tmp')
        tempFilePath = '/tmp/atom-temp.txt'
        fs.write(tempFilePath, "")
        editor.edit(project.buildEditSession(tempFilePath))

      afterEach ->
        expect(fs.remove(tempFilePath))
