       e = atom.workspace.getActiveTextEditor()
       atom.commands.dispatch(getView(e), "pane:split-#{direction}")
 
-    getPanePaths = ->
-      atom.workspace.getPanes().map((p) -> p.getActiveItem().getPath())
-
-    getPaneOrientations = ->
-      atom.workspace.getPanes().map((p) -> p.getParent().getOrientation())
-
-    expectPanePaths = ({active, command, paths, orientaions}) ->
-      active.activate()
-      dispatchCommand(command)
-      expect(getPanePaths()).toEqual paths
-      if orientaions?
-        expect(getPaneOrientations()).toEqual orientaions
-
     moveToVery = ({initialPane, command}) ->
       initialPane.activate()
       dispatchCommand(command)

    ensurePaneLayout = (layout) ->
      pane = atom.workspace.getActivePane()
      root = pane.getContainer().getRoot()
      expect(getPaneLayout(root)).toEqual(layout)

    getPaneLayout = (root) ->
      layout = {}
      layout[root.getOrientation()] = root.getChildren().map (child) ->
        switch child.constructor.name
          when 'Pane' then child.getItems()
          when 'PaneAxis' then getPaneLayout(child)
      layout

    beforeEach ->

          expect(atom.workspace.getActivePane()).toBe(p3)

      describe "very-top", ->
        it "case 1", ->
          moveToVery(initialPane: p1, command: 'paner:very-top')
          ensurePaneLayout(vertical: [[e1], {horizontal: [[e2], [e3]]}])
        it "case 2", ->
          moveToVery(initialPane: p2, command: 'paner:very-top')
          ensurePaneLayout(vertical: [[e2], {horizontal: [[e1], [e3]]}])
        it "case 3", ->
          moveToVery(initialPane: p3, command: 'paner:very-top')
          ensurePaneLayout(vertical: [[e3], {horizontal: [[e1], [e2]]}])

      describe "very-bottom", ->
        it "case 1", ->
          moveToVery(initialPane: p1, command: 'paner:very-bottom')
          ensurePaneLayout(vertical: [{horizontal: [[e2], [e3]]}, [e1]])
        it "case 2", ->
          moveToVery(initialPane: p2, command: 'paner:very-bottom')
          ensurePaneLayout(vertical: [{horizontal: [[e1], [e3]]}, [e2]])
        it "case 3", ->
          moveToVery(initialPane: p3, command: 'paner:very-bottom')
          ensurePaneLayout(vertical: [{horizontal: [[e1], [e2]]}, [e3]])

      describe "very-left", ->
        it "case 1", ->
          moveToVery(initialPane: p1, command: 'paner:very-left')
          ensurePaneLayout(horizontal: [[e1], [e2], [e3]])
        it "case 2", ->
          moveToVery(initialPane: p2, command: 'paner:very-left')
          ensurePaneLayout(horizontal: [[e2], [e1], [e3]])
        it "case 3", ->
          moveToVery(initialPane: p3, command: 'paner:very-left')
          ensurePaneLayout(horizontal: [[e3], [e1], [e2]])

      describe "very-right", ->
        it "case 1", ->
          moveToVery(initialPane: p1, command: 'paner:very-right')
          ensurePaneLayout(horizontal: [[e2], [e3], [e1]])
        it "case 2", ->
          moveToVery(initialPane: p2, command: 'paner:very-right')
          ensurePaneLayout(horizontal: [[e1], [e3], [e2]])
        it "case 3", ->
          moveToVery(initialPane: p3, command: 'paner:very-right')
          ensurePaneLayout(horizontal: [[e1], [e2], [e3]])

    describe "all vertical", ->
      beforeEach ->
