def testCommandExecParser_01_empty(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = u''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 0)
    def testCommandExecParser_15_params(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = u'gvim "c:\\temp\\abyrvalg\\rrr\\nnn"'

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [u'c:\\temp\\abyrvalg\\rrr\\nnn'])
    def testMacrosApp_01(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = '''%folder%/gvim'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, self.testPage.path + '/gvim')
    def testMacrosApp_02(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''%attach%/gvim'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, self.testPageAttachPath + u'/gvim')
    def testCommandExecParser_06_params(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = u'  gvim   -d   файл1.txt   файл2.txt   '

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [u'-d', u'файл1.txt', u'файл2.txt'])
    def testCommandExecParser_02(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = u'gvim'

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(len(result[0].params), 0)
    def testCommandExecParser_14_params(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = 'gvim -d'

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, 'gvim')
        self.assertEqual(result[0].params, ['-d'])
    def testCommandExecParser_08_params(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = ur'  gvim   -d   "Имя файла 1\".txt"   "Имя файла 2.txt"   '

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params,
                         [u'-d', u'Имя файла 1".txt', u'Имя файла 2.txt'])
    def testMacrosFolder_03(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim %FOLDER%'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [u'%FOLDER%'])
    def testMacrosAttach_02(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = '''gvim %ATTACH%'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, 'gvim')
        self.assertEqual(result[0].params, ['%ATTACH%'])
    def testMacrosAttach_01(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim %attach%'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [self.testPageAttachPath])
    def testMacrosHtml_01(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = '''gvim %html%'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, 'gvim')
        self.assertEqual(result[0].params, [self.testPageHtmlPath])
    def testComments_04(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim fname # Комментарий'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [u'fname', u'#', u'Комментарий'])
    def testMacrosAttach_06(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim attach:абырвалг.txt'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [u'attach:абырвалг.txt'])
    def testMacrosFolder_02(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim %folder%/111.txt'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [self.testPage.path + u'/111.txt'])
    def testComments_08(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = '''gvim \\
 #Комментарий'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, 'gvim')
        self.assertEqual(result[0].params, ['#Комментарий'])
    def testMacrosAttach_03(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim Attach:абырвалг.txt'''

        attachPath = os.path.join(self.testPageAttachPath, u'абырвалг.txt')

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [attachPath])
    def testCommandExecParser_11_join(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = ur'''gvim \   
   "Имя файла"
'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 1)

        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [u'Имя файла'])
Example #19
0
    def execute(self, params, content):
        """
        Run command.
        The method returns link which will replace the command notation
        """
        paramsDict = Command.parseParams(params)

        commandParser = CommandExecParser(self.parser.page)
        commandsList = commandParser.parse(content)

        htmlMaker = self._createHtmlMaker(paramsDict)
        html = htmlMaker.createHtml(commandsList, paramsDict)

        return html
    def testCommandExecParser_03(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = '''gvim
krusader'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 2)

        self.assertEqual(result[0].command, 'gvim')
        self.assertEqual(len(result[0].params), 0)

        self.assertEqual(result[1].command, 'krusader')
        self.assertEqual(len(result[1].params), 0)
    def testComments_10(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser

        text = u'''gvim
# Комментарий
krusader
# Комментарий 2
'''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 2)

        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params, [])

        self.assertEqual(result[1].command, u'krusader')
        self.assertEqual(result[1].params, [])
    def testCommandExecParser_09_params(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = u'''
        gvim   -d   "Имя файла 1.txt"   "Имя файла 2.txt"


        krusader Параметр1 "Параметр 2 с пробелом"

        '''

        parser = CommandExecParser(self.testPage)
        result = parser.parse(text)

        self.assertEqual(len(result), 2)

        self.assertEqual(result[0].command, u'gvim')
        self.assertEqual(result[0].params,
                         [u'-d', u'Имя файла 1.txt', u'Имя файла 2.txt'])

        self.assertEqual(result[1].command, u'krusader')
        self.assertEqual(result[1].params,
                         [u'Параметр1', u'Параметр 2 с пробелом'])
    def testCommandExecParser_13_invalid(self):
        from externaltools.commandexec.commandexecparser import CommandExecParser
        text = ur'''gvim \ asdfadsf'''

        parser = CommandExecParser(self.testPage)
        parser.parse(text)