From 6e1043138fc7935eb6c9484f9862a32f10cae92c Mon Sep 17 00:00:00 2001 From: Leonel Sanches da Silva <53848829+leonelsanchesdasilva@users.noreply.github.com> Date: Sun, 11 Feb 2024 09:27:54 -0800 Subject: [PATCH] =?UTF-8?q?Mock=20do=20`process.exit`=20tamb=C3=A9m=20no?= =?UTF-8?q?=20n=C3=BAcleo=20de=20tradu=C3=A7=C3=A3o.=20N=C3=A3o=20falha=20?= =?UTF-8?q?local,=20mas=20falha=20no=20build=20do=20GitHub.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- testes/nucleo-execucao.test.ts | 6 +++--- testes/nucleo-traducao.test.ts | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/testes/nucleo-execucao.test.ts b/testes/nucleo-execucao.test.ts index 6009e34..a0a6f2b 100644 --- a/testes/nucleo-execucao.test.ts +++ b/testes/nucleo-execucao.test.ts @@ -24,12 +24,12 @@ describe('Núcleo de execução', () => { const nucleoExecucao = new NucleoExecucao('0.1', funcaoDeRetorno); nucleoExecucao.configurarDialeto(); - const realProcess = process; + const processReal = process; const exitMock = jest.fn(); // Mock de `process.exit`. // Se não for feito, o teste falha. - global.process = { ...realProcess, exit: exitMock as any }; + global.process = { ...processReal, exit: exitMock as any }; // Aqui vamos simular a resposta para duas variáveis de `leia()`. const respostas = [ @@ -44,6 +44,6 @@ describe('Núcleo de execução', () => { expect(exitMock).toHaveBeenCalledWith(0); expect(retornoSaida.length).toBeGreaterThan(0); - global.process = realProcess; + global.process = processReal; }); }); \ No newline at end of file diff --git a/testes/nucleo-traducao.test.ts b/testes/nucleo-traducao.test.ts index fab5f7a..f74f52f 100644 --- a/testes/nucleo-traducao.test.ts +++ b/testes/nucleo-traducao.test.ts @@ -5,9 +5,18 @@ describe('Núcleo de tradução', () => { let retornoSaida: string = ''; const funcaoDeRetorno = (saida: string) => retornoSaida += saida; const nucleoTraducao = new NucleoTraducao(funcaoDeRetorno); + + const processReal = process; + const exitMock = jest.fn(); + + // Mock de `process.exit`. + // Se não for feito, o teste falha. + global.process = { ...processReal, exit: exitMock as any }; + nucleoTraducao.iniciarTradutor('javascript-para-delegua'); nucleoTraducao.traduzirArquivo('./exemplos/tradutores/javascript-para-delegua.js', false); expect(retornoSaida).toContain("escreva('JavaScript para Delégua!!!')"); + global.process = processReal; }); });