diff --git a/fontes/modificadores/validacoes/proibir-quantificador.ts b/fontes/modificadores/validacoes/proibir-quantificador.ts index 7f0900a..9d887b1 100644 --- a/fontes/modificadores/validacoes/proibir-quantificador.ts +++ b/fontes/modificadores/validacoes/proibir-quantificador.ts @@ -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.`); } } diff --git a/testes/modificadores/validacoes-modificadores.test.ts b/testes/modificadores/validacoes-modificadores.test.ts index 7a6418d..0437864 100644 --- a/testes/modificadores/validacoes-modificadores.test.ts +++ b/testes/modificadores/validacoes-modificadores.test.ts @@ -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.`); + }); + }); });