Skip to content

Commit

Permalink
Testes unitários do método de proibir quantificador
Browse files Browse the repository at this point in the history
  • Loading branch information
VitBrandao committed Oct 30, 2024
1 parent cc739bf commit 2b4e622
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 3 deletions.
5 changes: 2 additions & 3 deletions fontes/modificadores/validacoes/proibir-quantificador.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
export function proibirQuantificador(
nomePropriedade: string,
quantificador: string)
{
quantificador: string) {
if (quantificador !== undefined) {
throw new Error(
`A propriedade ${nomePropriedade} aceita somente valores numéricos. O quantificador ${quantificador} é inválido para esta operação.`);
`A propriedade '${nomePropriedade}' aceita somente valores numéricos. O quantificador '${quantificador}' é inválido para esta operação.`);
}
}
28 changes: 28 additions & 0 deletions testes/modificadores/validacoes-modificadores.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -445,5 +445,33 @@ describe('Testando Validações de Valores e Quantificadores dos Seletores', ()
}).toThrow(`Propriedade 'deslocamento' com quantificador inválido.`);
});
});

describe('Testando método de proibir quantificadores', () => {
let lexador: LexadorInterface;
let importador: ImportadorInterface;
let avaliador: AvaliadorSintaticoInterface;
let tradutor: Serializador;

beforeEach(() => {
lexador = new Lexador();
importador = new Importador(lexador);
avaliador = new AvaliadorSintatico(importador);
tradutor = new Serializador();
});

it('Caso de falha - Validação retorna erro de quantificador proibido', () => {
// Lexador
const resultadoLexador = lexador.mapear([
'divisão {',
'ajustar-tamanho-fonte: 10px;',
"}"
]);

// Avaliador Sintático
expect(() => {
avaliador.analisar(resultadoLexador.simbolos);
}).toThrow(`A propriedade 'ajustar-tamanho-fonte' aceita somente valores numéricos. O quantificador 'px' é inválido para esta operação.`);
});
});
});

0 comments on commit 2b4e622

Please sign in to comment.