             expect(editor.getSelectedBufferRanges()).toEqual [[[0, 2], [1, 9]], [[2, 2], [2, 9]], [[13, 0], [13, 0]]]
 
     describe ".moveLineDown", ->
+      it "moves the line under the cursor down", ->
+        editor.setCursorBufferPosition([0, 0])
+        editor.moveLineDown()
+        expect(editor.getTextInBufferRange([[1, 0], [1, 31]])).toBe "var quicksort = function () {"
+        expect(editor.indentationForBufferRow(0)).toBe 1
+        expect(editor.indentationForBufferRow(1)).toBe 0
+
+      it "updates the line's indentation when the editor.autoIndent setting is true", ->
+        atom.config.set('editor.autoIndent', true)
+        editor.setCursorBufferPosition([0, 0])
+        editor.moveLineDown()
+        expect(editor.indentationForBufferRow(0)).toBe 1
+        expect(editor.indentationForBufferRow(1)).toBe 2
+
       describe "when there is a single selection", ->
         describe "when the selection spans a single line", ->
           describe "when there is no fold in the following row", ->

        };
      """
      expect(editor.getSelectedBufferRange()).toEqual [[13, 0], [14, 2]]

  describe ".moveLineUp()", ->
    it "moves the line under the cursor up", ->
      editor.setCursorBufferPosition([1, 0])
      editor.moveLineUp()
      expect(editor.getTextInBufferRange([[0, 0], [0, 30]])).toBe "  var sort = function(items) {"
      expect(editor.indentationForBufferRow(0)).toBe 1
      expect(editor.indentationForBufferRow(1)).toBe 0

    it "updates the line's indentation when the editor.autoIndent setting is true", ->
      atom.config.set('editor.autoIndent', true)
      editor.setCursorBufferPosition([1, 0])
      editor.moveLineUp()
      expect(editor.indentationForBufferRow(0)).toBe 0
      expect(editor.indentationForBufferRow(1)).toBe 0

  describe ".moveLineDown()", ->
    it "moves the line under the cursor down", ->
      editor.setCursorBufferPosition([0, 0])
      editor.moveLineDown()
      expect(editor.getTextInBufferRange([[1, 0], [1, 31]])).toBe "var quicksort = function () {"
      expect(editor.indentationForBufferRow(0)).toBe 1
      expect(editor.indentationForBufferRow(1)).toBe 0

    it "updates the line's indentation when the editor.autoIndent setting is true", ->
      atom.config.set('editor.autoIndent', true)
      editor.setCursorBufferPosition([0, 0])
      editor.moveLineDown()
      expect(editor.indentationForBufferRow(0)).toBe 1
      expect(editor.indentationForBufferRow(1)).toBe 2

  describe ".shouldPromptToSave()", ->
    it "returns false when an edit session's buffer is in use by more than one session", ->


  describe "buffer manipulation", ->
    describe ".moveLineUp", ->
      it "moves the line under the cursor up", ->
        editor.setCursorBufferPosition([1, 0])
        editor.moveLineUp()
        expect(editor.getTextInBufferRange([[0, 0], [0, 30]])).toBe "  var sort = function(items) {"
        expect(editor.indentationForBufferRow(0)).toBe 1
        expect(editor.indentationForBufferRow(1)).toBe 0

      it "updates the line's indentation when the editor.autoIndent setting is true", ->
        atom.config.set('editor.autoIndent', true)
        editor.setCursorBufferPosition([1, 0])
        editor.moveLineUp()
        expect(editor.indentationForBufferRow(0)).toBe 0
        expect(editor.indentationForBufferRow(1)).toBe 0

      describe "when there is a single selection", ->
        describe "when the selection spans a single line", ->
          describe "when there is no fold in the preceeding row", ->
