Пример #1
0
class SupportTests(unittest.TestCase):

    def setUp(self):
        self.manager = PMXSupportPythonManager()
        self.manager.addNamespace('prymatex', os.path.abspath('./prymatex/share'))
        self.manager.addNamespace('user', os.path.abspath(os.path.join(os.path.expanduser('~'), '.prymatex')))
        def loadCallback(message):
            pass
            #print message
        self.manager.loadSupport(loadCallback)

    def test_bundleitems(self):
        for bundleitem in self.manager.getAllActionItems():
            sourcePath = bundleitem.currentSourcePath()
            dataHash = self.manager.readPlist(sourcePath)
            if bundleitem.dump() != dataHash:
                print("En:", sourcePath)
                print("Entra:", dataHash)
                print("Sale:", bundleitem.dump())
                
    def test_preferences(self):
        for preference in self.manager.getAllPreferences():
            sourcePath = preference.currentSourcePath()
            dataHash = self.manager.readPlist(sourcePath)
            if preference.dump() != dataHash:
                print("En:", sourcePath)
                print("Entra:", dataHash)
                print("Sale:", preference.dump())
            #    self.assertEqual(preference.dump(), dataHash, 'Lo que sale no es igual a lo que entra')

    def test_snippet(self):
        for actionItem in self.manager.getAllActionItems():
            if actionItem.TYPE == "snippet":
                print(actionItem.content)

    def test_syntax(self):
        syntax = self.manager.getSyntaxByScopeName('source.python')
        file = open(os.path.abspath('./prymatex/gui/codeeditor/editor.py'), 'r')
        processor = DebugSyntaxProcessor(showOutput = False, hashOutput = True)
        text = file.read()
        start = time()
        for _ in range(1):
            syntax.parse(text, processor)
        print("Time:", (time() - start)/1 )
        print("Hash:", processor.hashValue )
        file.close()

    def test_adhoc_snippet(self):
        snippet = 'def pepe(${3:self${2/([^,])?.*/(?1:, )/}${2:arg}}):\n\t${4/.+/"""/}${4:docstring for pepe}${4/.+/"""\n/}${4/.+/\t/}${0:pass}'
        bundle = self.manager.getBundleItem('659D189C-EC3E-4C4E-9377-B7F5F5216CBD').bundle
        snippet = self.manager.buildAdHocSnippet(snippet, bundle = bundle)
        processor = DebugSnippetProcessor()
        snippet.execute(processor)
        print(processor.text)