Ejemplo n.º 1
0
 def test_filedelivery_multi_op_eq(self):
     fd = FileDelivery()
     arquivo = "exemplo/conteudo.txt"
     pathname1, filename1 = File.splitFilePath(arquivo)
     pathname2, filename2 = File.splitFilePath(arquivo)
     arq1 = fd.open(pathname1, filename1)
     arq2 = fd.open(pathname2, filename2)
     assert arq1 == arq2
Ejemplo n.º 2
0
 def test_filedelivery_multi_op_df(self):
     fd = FileDelivery()
     arquivo1 = "exemplo/conteudo.txt"
     arquivo2 = "exemplo/teste.c"
     pathname1, filename1 = File.splitFilePath(arquivo1)
     pathname2, filename2 = File.splitFilePath(arquivo2)
     arq1 = fd.open(pathname1, filename1)
     arq2 = fd.open(pathname2, filename2)
     assert arq1 != arq2
Ejemplo n.º 3
0
 def test_ssense_open_update(self):
     app = AppContext()
     arquivo = "exemplo/teste.c"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     contexto.ssense.update( contexto.includes[0] )
     assert True
Ejemplo n.º 4
0
 def test_app_open_cntx_no_config(self):
     os.remove("config.json")
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     assert contexto.ponteiro == [0,0]
Ejemplo n.º 5
0
 def test_ssense_sugest_var(self):
     app = AppContext()
     arquivo = "exemplo/teste_var.h"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     contexto.ponteiro = [2,5] # unsign
     retorno = contexto.ssense.getSugestao()
     assert retorno[0].nome == "unsigned"
Ejemplo n.º 6
0
 def test_contexto_set_ponteiro(self):
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo)
     contexto = app.open(pathname, filename)
     contexto.ponteiro = [1, 1]
     contexto.save()
     assert contexto.ponteiro[0] == 1 and contexto.ponteiro[1] == 1
Ejemplo n.º 7
0
    def open(self, who, where, canCreate : bool = False):
        for arqv in self.files:
            absWhere = File.getAbsPath(who,where)
            print("$ FileDelivery OPEN [%s] @ %s" % (where,absWhere))
            if absWhere == arqv.local:
                return arqv
        absNewWhere = File.getAbsPath(who,where)
        
        if File.arquivoExiste(absNewWhere):
            novo = Arquivo(absNewWhere)
            self.files.append(novo)
            return novo

        elif canCreate:
            novo = Arquivo(absNewWhere, True)
            self.files.append(novo)
            return novo

        else:
            return None
Ejemplo n.º 8
0
 def test_app_save_pointer(self):
     app1 = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo) 
     try:
         contexto1 = app1.open(pathname,filename)
         app1.castWSSettingsW(contexto1.arquivo.local, [1,1])
     except Exception as e:
         assert False
     finally:
         assert True
Ejemplo n.º 9
0
 def test_ssense_sugest_typedef_struct(self):
     app = AppContext()
     arquivo = "exemplo/teste_struct.h"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     contexto.ponteiro = [9,2] # te _teste
     retorno = contexto.ssense.getSugestao()
     for itm in retorno:
         print("=>",itm.nome,itm.params)
     if len(retorno) > 1:
         assert retorno[1].nome == "teste2"
     else: assert False
Ejemplo n.º 10
0
 def test_contexto_save(self):
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo)
     contexto = app.open(pathname, filename)
     # Salvar
     contexto.arquivo.conteudo = ["conteudo", "1", "2", "3"]
     tamInicio = len(contexto.arquivo.conteudo)
     contexto.save()
     # Ler
     contexto.arquivo.conteudo = []
     contexto.arquivo.ler()
     assert len(contexto.arquivo.conteudo) == tamInicio
Ejemplo n.º 11
0
    def getWorkspaceSettings(self, filename):
        '''
        Le o arquivo de configuração e retorna a configuração para o arq em questão:
        @param Nome do arquivo\n
        @return Objeto de configuração do .json
        '''
        if not File.arquivoExiste("config.json"):
            return None

        with open("config.json", "r") as arq:
            obj = json.load(arq)
            if filename in obj:
                return obj[filename]
        return None
Ejemplo n.º 12
0
    def test_ssense_sugest_varname(self):
        app = AppContext()
        arquivo = "exemplo/teste_var.h"
        pathname, filename = File.splitFilePath(arquivo) 
        contexto = app.open(pathname,filename)
        
        contexto.ponteiro = [3,2] # var
        retorno1 = contexto.ssense.getSugestao()

        contexto.ponteiro = [4,4] # outra_var
        retorno2 = contexto.ssense.getSugestao()

        if len(retorno1) > 0 and len(retorno2) > 0:
            assert retorno1[0].nome == "var" and retorno2[0].nome == "outra"
        else: assert False
Ejemplo n.º 13
0
    def test_ssense_sugest_func(self):
        app = AppContext()
        arquivo = "exemplo/teste_func.h"
        pathname, filename = File.splitFilePath(arquivo) 
        contexto = app.open(pathname,filename)

        contexto.ponteiro = [6,3] # noparam
        retorno1 = contexto.ssense.getSugestao()

        contexto.ponteiro = [7,3] # wparam
        retorno2 = contexto.ssense.getSugestao()

        for itm in retorno1+retorno2:
            print("=>",itm.nome, itm.params ,":"+itm.retorno)
        if len(retorno1) > 0 and len(retorno2) > 0:
            assert retorno1[0].nome == "noparam" and retorno2[0].nome == "wparam"
        else: assert False
Ejemplo n.º 14
0
 def open(self, path=""):
     arq = [""]
     if path == "":
         self.tab.clear()
         self.tab.move(0, 0)
         arq = str(self.tab.getstr())
         arq = arq[2:len(arq) - 1]
     else:
         arq = path
     try:
         pathname, filename = File.splitFilePath(arq)
         self.app.open(pathname, filename, True)
     except Exception as e:
         print('Erro no processamento do contexto.')
         raise e
     self.criarJanela(self.app.contextdelivery.contextos[-1])
     self.janelaAtiva = len(self.janelas) - 1
     self.tab.clear()
Ejemplo n.º 15
0
    def writeWorkspaceSettings(self, filename, linha, coluna):
        '''
        Escreve no arquivo .json as configurações do arquivo em questão\n
        @param Nome do arquivo, linha e coluna do cursor\n
        '''
        '''
        ARQUIVO ANTES: {}
        ARQUIVO DEPOIS:{
            "nome_do_arq":{
                "linha":"posição_da_linha"
                "coluna":"posição_da_coluna"
            }
        }
        '''
        # if not(os.path.exists('config.json')):
        #     with open('config.json', 'w') as arq:
        #         arq.write('{}')

        if File.arquivoExiste("config.json"):
            with open('config.json', 'r') as arq:
                dados = json.load(arq)  # Leio o arq .json
        else:
            dados = {}

        dados_json = json.dumps(dados)  # Transfromo em uma string

        if dados_json == '{}':  # Testo pra ver se está vazio ou não
            # Se estiver, escrevo por cima a configuração do arq
            teste = {filename: {"linha": linha, "coluna": coluna}}
            with open('config.json', 'w') as arq:
                json.dump(teste, arq, indent=4)
        else:
            # Se não, coloco o arquivo como um obj
            with open("config.json", "r") as arq:
                obj = json.load(arq)
            # Acrescento a nova configuração no obj
            obj[filename] = {'linha': linha, 'coluna': coluna}
            # Reescrevo no arquivo o obj atualizado
            with open("config.json", "w") as arq:
                json.dump(obj, arq, indent=4)
Ejemplo n.º 16
0
 def test_ssense_vars(self):
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     assert len(contexto.ssense.dess.variaveis) > 0
Ejemplo n.º 17
0
 def test_contexto_conteudo(self):
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo)
     contexto = app.open(pathname, filename)
     assert contexto.arquivo.conteudo == ["conteudo", "1", "2", "3"]
Ejemplo n.º 18
0
 def test_ssense_open(self):
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     assert len(contexto.arquivo.conteudo) > 0
Ejemplo n.º 19
0
 def test_app_open_arqv(self):
     app = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo) 
     arquivo = app.openArquivo(pathname,filename)
     assert len(arquivo.conteudo) == 4
Ejemplo n.º 20
0
 def test_app_open_cntx_includes(self):
     app = AppContext()
     arquivo = "exemplo/teste.c"
     pathname, filename = File.splitFilePath(arquivo) 
     contexto = app.open(pathname,filename)
     assert len(contexto.includes) > 0
Ejemplo n.º 21
0
 def test_app_load_pointer(self):
     app2 = AppContext()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo)
     contexto2 = app2.open(pathname,filename)
     assert contexto2.ponteiro == [1,1]
Ejemplo n.º 22
0
 def test_filedelivery_op_one(self):
     fd = FileDelivery()
     arquivo = "exemplo/conteudo.txt"
     pathname, filename = File.splitFilePath(arquivo)
     arq = fd.open(pathname, filename)
     assert len(fd.files)