           expect(editorElement.classList.contains('visual-mode')).toBe(true)
           expect(vimState.submode).toEqual 'blockwise'
           expect(editorElement.classList.contains('command-mode')).toBe(false)
+
+          keydown('v')
+          expect(editorElement.classList.contains('visual-mode')).toBe(true)
+          expect(vimState.submode).toEqual 'characterwise'
+          expect(editorElement.classList.contains('command-mode')).toBe(false)
+
 
         it "recover original range when shift from linewse to characterwise", ->
           keydown('v')

        expect(vimState.submode).toEqual 'characterwise'
        expect(editorElement.classList.contains('command-mode')).toBe(false)

        keydown('escape')
        expect(vimState.mode).toEqual 'command'
        expect(editorElement.classList.contains('command-mode')).toBe(true)


        expect(vimState.submode).toEqual 'linewise'
        expect(editorElement.classList.contains('command-mode')).toBe(false)

        keydown('V', shift: true)
        expect(vimState.mode).toEqual 'command'
        expect(editorElement.classList.contains('command-mode')).toBe(true)

