Skip to content

Commit

Permalink
Mock do process.exit também no núcleo de tradução.
Browse files Browse the repository at this point in the history
Não falha local, mas falha no build do GitHub.
  • Loading branch information
leonelsanchesdasilva committed Feb 11, 2024
1 parent 85f773b commit 6e10431
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
6 changes: 3 additions & 3 deletions testes/nucleo-execucao.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand All @@ -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;
});
});
9 changes: 9 additions & 0 deletions testes/nucleo-traducao.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
});
});

0 comments on commit 6e10431

Please sign in to comment.