 
       it "select all instance of cursor word only within marked range", ->
         runs ->
-          keystroke('g m i p } } j .') # Mark 2 inner-word and 1 inner-paragraph
           paragraphText = "ooo xxx ooo\nxxx ooo xxx\n"
-          ensurePersistentSelection length: 2, text: [paragraphText, paragraphText]
+          ensurePersistentSelection 'g m i p } } j .', # Mark 2 inner-word and 1 inner-paragraph
+            length: 2
+            text: [paragraphText, paragraphText]
+
         waitsFor ->
           update.callCount is 1
         runs ->

    textForMarker = (marker) ->
      editor.getTextInBufferRange(marker.getBufferRange())

    ensurePersistentSelection = (options) ->
      markers = vimState.persistentSelection.getMarkers()
      if options.length?
        expect(markers).toHaveLength(options.length)

    describe "basic behavior", ->
      describe "create-persistent-selection", ->
        it "create-persistent-selection create range marker", ->
          ensurePersistentSelection 'g m i w',
            length: 1
            text: ['ooo']
          ensurePersistentSelection 'j .',
            length: 2
            text: ['ooo', 'xxx']

      describe "[No behavior diff currently] inner-persistent-selection and a-persistent-selection", ->
        it "apply operator to across all persistent-selections", ->
          ensurePersistentSelection 'g m i w j . 2 j g m i p',  # Mark 2 inner-word and 1 inner-paragraph
            length: 3
            text: ['ooo', 'xxx', "ooo xxx ooo\nxxx ooo xxx\n"]

          ensure 'g U a r',
            text: """
            OOO xxx ooo
