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
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
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
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]
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"
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
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
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
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
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
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
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
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
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()
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)
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
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"]
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
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
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
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]
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)