def test_editor_to_editor_list(self):

        """Tests :func:`hkcustomlib.editor_to_editor_list`."""

        def check(input, output):
            self.assertEqual(
                hkcustomlib.editor_to_editor_list(input),
                output)

        check('vim', ['vim'])
        check('vim arg', ['vim', 'arg'])
        check('vim arg1 arg2', ['vim', 'arg1', 'arg2'])
        check(' vim  arg1  arg2 ', ['vim', 'arg1', 'arg2'])
        check(r'vim long\ argument', ['vim', 'long argument'])
        check(r'vim argument\\with\\backspace',
              ['vim', r'argument\with\backspace'])

        # Incorrect editor variables

        self.assertRaises(
            hkcustomlib.IncorrectEditorException,
            lambda: hkcustomlib.editor_to_editor_list('vim\\'))

        self.assertRaises(
            hkcustomlib.IncorrectEditorException,
            lambda: hkcustomlib.editor_to_editor_list('vim \\x'))
 def check(input, output):
     self.assertEqual(
         hkcustomlib.editor_to_editor_list(input),
         output)