@designliquido/foles 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +7 -1
  2. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.d.ts +4 -2
  3. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js +59 -11
  4. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js.map +1 -1
  5. package/fontes/avaliador-sintatico/avaliador-sintatico.js +0 -5
  6. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  7. package/fontes/foles.js +4 -3
  8. package/fontes/foles.js.map +1 -1
  9. package/fontes/lexador/palavras-reservadas/css.d.ts +451 -34
  10. package/fontes/lexador/palavras-reservadas/css.js +472 -41
  11. package/fontes/lexador/palavras-reservadas/css.js.map +1 -1
  12. package/fontes/lexador/palavras-reservadas/foles.d.ts +9 -9
  13. package/fontes/lexador/palavras-reservadas/foles.js +9 -10
  14. package/fontes/lexador/palavras-reservadas/foles.js.map +1 -1
  15. package/fontes/modificadores/aparencia.js +1 -1
  16. package/fontes/modificadores/aparencia.js.map +1 -1
  17. package/fontes/modificadores/atributos/gerais.js +1 -0
  18. package/fontes/modificadores/atributos/gerais.js.map +1 -1
  19. package/fontes/modificadores/cor-borda.js +1 -1
  20. package/fontes/modificadores/cor-borda.js.map +1 -1
  21. package/fontes/modificadores/margem-superior.js +1 -0
  22. package/fontes/modificadores/margem-superior.js.map +1 -1
  23. package/fontes/modificadores/superclasse/seletor-reverso-modificador.d.ts +1 -1
  24. package/fontes/modificadores/superclasse/seletor-reverso-modificador.js +2 -2
  25. package/fontes/modificadores/superclasse/seletor-reverso-modificador.js.map +1 -1
  26. package/fontes/modificadores/validacoes/comum.js +22 -5
  27. package/fontes/modificadores/validacoes/comum.js.map +1 -1
  28. package/fontes/modificadores/validacoes/condicao-extra.js +20 -5
  29. package/fontes/modificadores/validacoes/condicao-extra.js.map +1 -1
  30. package/fontes/modificadores/validacoes/cor.js +21 -9
  31. package/fontes/modificadores/validacoes/cor.js.map +1 -1
  32. package/fontes/modificadores/validacoes/fonte.js +11 -2
  33. package/fontes/modificadores/validacoes/fonte.js.map +1 -1
  34. package/fontes/modificadores/validacoes/multiplos-qualitativos.js +29 -7
  35. package/fontes/modificadores/validacoes/multiplos-qualitativos.js.map +1 -1
  36. package/fontes/modificadores/validacoes/numerica.js +30 -6
  37. package/fontes/modificadores/validacoes/numerica.js.map +1 -1
  38. package/fontes/pseudoclasses/n-ultimo-tipo.js +1 -1
  39. package/fontes/pseudoclasses/n-ultimo-tipo.js.map +1 -1
  40. package/fontes/resolvedores/resolvedor-reverso.d.ts +9 -2
  41. package/fontes/resolvedores/resolvedor-reverso.js +137 -37
  42. package/fontes/resolvedores/resolvedor-reverso.js.map +1 -1
  43. package/fontes/tipos-de-simbolos/css.d.ts +4 -0
  44. package/fontes/tipos-de-simbolos/css.js +4 -0
  45. package/fontes/tipos-de-simbolos/css.js.map +1 -1
  46. package/fontes/valores/metodos/css/annotation.js +1 -5
  47. package/fontes/valores/metodos/css/annotation.js.map +1 -1
  48. package/fontes/valores/metodos/css/counter.js +1 -1
  49. package/fontes/valores/metodos/css/counter.js.map +1 -1
  50. package/fontes/valores/metodos/css/ornaments.js +0 -3
  51. package/fontes/valores/metodos/css/ornaments.js.map +1 -1
  52. package/fontes/valores/metodos/foles/hsl.js +1 -1
  53. package/fontes/valores/metodos/foles/hsl.js.map +1 -1
  54. package/fontes/valores/metodos/foles/hsla.js +1 -1
  55. package/fontes/valores/metodos/foles/hsla.js.map +1 -1
  56. package/package.json +2 -2
  57. package/testes/avaliador-sintatico-reverso.test.d.ts +1 -0
  58. package/testes/avaliador-sintatico-reverso.test.js +117 -0
  59. package/testes/avaliador-sintatico-reverso.test.js.map +1 -0
  60. package/testes/avaliador-sintatico.test.js +34 -0
  61. package/testes/avaliador-sintatico.test.js.map +1 -1
  62. package/testes/lexador-reverso.test.js.map +1 -1
  63. package/testes/listas/traducao-reversa.d.ts +2 -0
  64. package/testes/listas/traducao-reversa.js +129 -5
  65. package/testes/listas/traducao-reversa.js.map +1 -1
  66. package/testes/listas/valores-quantificadores.d.ts +2 -0
  67. package/testes/listas/valores-quantificadores.js +146 -1
  68. package/testes/listas/valores-quantificadores.js.map +1 -1
  69. package/testes/modificadores/cores.test.js +6 -6
  70. package/testes/modificadores/cores.test.js.map +1 -1
  71. package/testes/modificadores/metodos-reversos.test.js +485 -48
  72. package/testes/modificadores/metodos-reversos.test.js.map +1 -1
  73. package/testes/modificadores/metodos.test.js +34 -1
  74. package/testes/modificadores/metodos.test.js.map +1 -1
  75. package/testes/modificadores/suporte-variaveis.test.js +4 -9
  76. package/testes/modificadores/suporte-variaveis.test.js.map +1 -1
  77. package/testes/resolvedor-reverso.test.js +85 -8
  78. package/testes/resolvedor-reverso.test.js.map +1 -1
  79. package/testes/resolvedor.test.js +4 -4
  80. package/testes/resolvedor.test.js.map +1 -1
@@ -11,16 +11,69 @@ const css_1 = __importDefault(require("../../fontes/tipos-de-simbolos/css"));
11
11
  const metodos_css_1 = require("../listas/metodos-css");
12
12
  const declaracoes_1 = require("../../fontes/declaracoes");
13
13
  const seletor_valor_reverso_1 = require("../../fontes/valores/seletor-valor-reverso");
14
+ const lexador_1 = require("../../fontes/lexador");
15
+ const contador_1 = require("../../fontes/valores/metodos/foles/contador");
14
16
  describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
15
17
  let lexador;
16
18
  let importador;
17
19
  let avaliadorSintatico;
18
- let serializador;
20
+ let resolvedor;
19
21
  beforeEach(() => {
20
22
  lexador = new lexador_reverso_1.LexadorReverso();
21
23
  importador = new importador_1.Importador(lexador);
22
24
  avaliadorSintatico = new avaliador_sintatico_reverso_1.AvaliadorSintaticoReverso(importador);
23
- serializador = new resolvedores_1.ResolvedorReverso();
25
+ resolvedor = new resolvedores_1.ResolvedorReverso();
26
+ });
27
+ it('Atribuindo Método "annotation()" com valor numérico - caso de sucesso', () => {
28
+ const valoresAceitos = ['1', '2', '12', '20'];
29
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
30
+ // Lexador
31
+ const resultadoLexador = lexador.mapear([
32
+ "div {",
33
+ `font-variant-alternates: annotation(${valoresAceitos[index]});`,
34
+ "}"
35
+ ]);
36
+ // O Lexador não deve encontrar erros
37
+ expect(resultadoLexador.erros).toHaveLength(0);
38
+ // O valor recebido deve ser mapeado como METODO
39
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
40
+ expect.objectContaining({ tipo: css_1.default.METODO }),
41
+ ]));
42
+ // O Lexador deve montar um objeto de comprimento 10, incluindo mapeamento de valores numéricos
43
+ expect(resultadoLexador.simbolos).toHaveLength(10);
44
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
45
+ expect.objectContaining({ tipo: css_1.default.NUMERO }),
46
+ ]));
47
+ // Avaliador Sintático
48
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
49
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
50
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
51
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
52
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
53
+ const primeiroResultadoTipado = primeiroResultado;
54
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
55
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
56
+ // Resolvedor
57
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
58
+ // O Resolvedor deve resolver de acordo e traduzir anotação para annotation
59
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
60
+ expect(resultadoResolvedor).toContain(`anotação(${valoresAceitos[index]});`);
61
+ }
62
+ });
63
+ it('Atribuindo Método "annotation()" com valor numérico - caso de falha', () => {
64
+ const valoresAceitos = ['0', '100', '300'];
65
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
66
+ // Lexador
67
+ const resultadoLexador = lexador.mapear([
68
+ "div {",
69
+ `font-variant-alternates: annotation(${valoresAceitos[index]});`,
70
+ "}"
71
+ ]);
72
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
73
+ expect(() => {
74
+ resolvedor.resolver(resultadoAvaliadorSintatico);
75
+ }).toThrow('O valor da função annotation() deve estar entre 1 e 99');
76
+ }
24
77
  });
25
78
  it('Atribuindo Método "blur()"', () => {
26
79
  for (let index = 0; index < metodos_css_1.MetodoBorrar.length; index += 1) {
@@ -63,7 +116,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
63
116
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoBorrar[index]);
64
117
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoBorrar[index]]);
65
118
  // Tradutor
66
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
119
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
67
120
  // O Tradutor deve serializar de acordo e traduzir blur para borrar
68
121
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoBorrar[index]]);
69
122
  expect(resultadoTradutor).toContain(`borrar(${valoresAceitos[valIndex]});`);
@@ -111,7 +164,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
111
164
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoBrilho[index]);
112
165
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoBrilho[index]]);
113
166
  // Tradutor
114
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
167
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
115
168
  // O Tradutor deve serializar de acordo e traduzir brightness para brilho
116
169
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoBrilho[index]]);
117
170
  expect(resultadoTradutor).toContain(`brilho(${valoresAceitos[valIndex]});`);
@@ -148,11 +201,62 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
148
201
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
149
202
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoCalcular[index]);
150
203
  // Tradutor deve serializar de acordo e traduzir calc para calcular
151
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
204
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
152
205
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoCalcular[index]]);
153
206
  expect(resultadoTradutor).toContain('calcular(100px - 80px);');
154
207
  }
155
208
  });
209
+ it('Atribuindo Método "character-variant()" - caso de sucesso', () => {
210
+ const valoresAceitos = ['1', '2', '12', '20'];
211
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
212
+ // Lexador
213
+ const resultadoLexador = lexador.mapear([
214
+ "div {",
215
+ `font-variant-alternates: character-variant(${valoresAceitos[index]});`,
216
+ "}"
217
+ ]);
218
+ // O Lexador não deve encontrar erros
219
+ expect(resultadoLexador.erros).toHaveLength(0);
220
+ // O valor recebido deve ser mapeado como METODO
221
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
222
+ expect.objectContaining({ tipo: css_1.default.METODO }),
223
+ ]));
224
+ // O Lexador deve montar um objeto de comprimento 10, incluindo mapeamento de valores numéricos
225
+ expect(resultadoLexador.simbolos).toHaveLength(10);
226
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
227
+ expect.objectContaining({ tipo: css_1.default.NUMERO }),
228
+ ]));
229
+ // Avaliador Sintático
230
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
231
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
232
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
233
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
234
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
235
+ const primeiroResultadoTipado = primeiroResultado;
236
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
237
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
238
+ // Resolvedor
239
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
240
+ // O Resolvedor deve resolver de acordo e traduzir character-variant para character-variant
241
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
242
+ expect(resultadoResolvedor).toContain(`variar-caractere(${valoresAceitos[index]});`);
243
+ }
244
+ });
245
+ it('Atribuindo Método "character-variant()" - caso de falha', () => {
246
+ const valoresAceitos = ['0', '210', '100'];
247
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
248
+ // Lexador
249
+ const resultadoLexador = lexador.mapear([
250
+ "div {",
251
+ `font-variant-alternates: character-variant(${valoresAceitos[index]});`,
252
+ "}"
253
+ ]);
254
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
255
+ expect(() => {
256
+ resolvedor.resolver(resultadoAvaliadorSintatico);
257
+ }).toThrow('O valor da função character-variant() deve estar entre 1 e 99');
258
+ }
259
+ });
156
260
  it('Atribuindo Método "contrast()"', () => {
157
261
  for (let index = 0; index < metodos_css_1.MetodoContraste.length; index += 1) {
158
262
  const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
@@ -194,12 +298,109 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
194
298
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoContraste[index]);
195
299
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoContraste[index]]);
196
300
  // Tradutor deve serializar de acordo e traduzir contrast para contraste
197
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
301
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
198
302
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoContraste[index]]);
199
303
  expect(resultadoTradutor).toContain(`contraste(${valoresAceitos[valIndex]});`);
200
304
  }
201
305
  }
202
306
  });
307
+ it('Atribuindo Método "counter()" com parâmetro único', () => {
308
+ const valoresAceitos = ['contador1', 'meu-contador', 'contador-personalizado'];
309
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
310
+ // Lexador
311
+ const resultadoLexador = lexador.mapear([
312
+ "div {",
313
+ `content: counter(${valoresAceitos[index]});`,
314
+ "}"
315
+ ]);
316
+ // O Lexador deve montar um objeto de comprimento 10 sem retornar erros
317
+ expect(resultadoLexador.simbolos).toHaveLength(10);
318
+ expect(resultadoLexador.erros).toHaveLength(0);
319
+ // O Lexador deve mapear METODO e IDENTIFICADOR no processo
320
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
321
+ expect.objectContaining({ tipo: css_1.default.IDENTIFICADOR }),
322
+ expect.objectContaining({ tipo: css_1.default.METODO }),
323
+ ]));
324
+ // Avaliador Sintático
325
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
326
+ // O Avaliador deve montar um objeto com o devido nome CSS
327
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
328
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
329
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
330
+ const primeiroResultadoTipado = primeiroResultado;
331
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
332
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('content');
333
+ // Resolvedor
334
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
335
+ expect(resultadoResolvedor).toContain('conteudo');
336
+ expect(resultadoResolvedor).toContain('contador');
337
+ expect(resultadoResolvedor).toContain(valoresAceitos[index]);
338
+ }
339
+ });
340
+ it('Atribuindo Método "counter()" com dois parâmetros', () => {
341
+ const nomeSimbolo = new lexador_1.Simbolo('IDENTIFICADOR', 'contador', 'any', 1, 2, 3);
342
+ const estiloSimbolo = new lexador_1.Simbolo('IDENTIFICADOR', 'romano-maiusculo', 'any', 1, 2, 3);
343
+ const instanciaContador = new contador_1.Contador(nomeSimbolo, estiloSimbolo);
344
+ const estilosAceitos = [];
345
+ Object.values(instanciaContador.estilosAceitos).forEach((valor) => estilosAceitos.push(valor));
346
+ const estilosTraduzidos = [];
347
+ Object.keys(instanciaContador.estilosAceitos).forEach((valor) => estilosTraduzidos.push(valor));
348
+ for (let index = 0; index < estilosAceitos.length; index += 1) {
349
+ // Lexador
350
+ const resultadoLexador = lexador.mapear([
351
+ "div {",
352
+ `content: counter(contador1, ${estilosAceitos[index]});`,
353
+ "}"
354
+ ]);
355
+ // O Lexador deve montar um objeto de comprimento 12 sem retornar erros
356
+ expect(resultadoLexador.simbolos).toHaveLength(12);
357
+ expect(resultadoLexador.erros).toHaveLength(0);
358
+ // O Lexador deve mapear METODO e IDENTIFICADOR no processo
359
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
360
+ expect.objectContaining({ tipo: css_1.default.IDENTIFICADOR }),
361
+ expect.objectContaining({ tipo: css_1.default.METODO }),
362
+ ]));
363
+ // Avaliador Sintático
364
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
365
+ // O Avaliador deve montar um objeto com o devido nome CSS
366
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
367
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
368
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
369
+ const primeiroResultadoTipado = primeiroResultado;
370
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
371
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('content');
372
+ // Resolvedor
373
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
374
+ expect(resultadoResolvedor).toContain('conteudo');
375
+ expect(resultadoResolvedor).toContain('contador');
376
+ expect(resultadoResolvedor).toContain('contador1');
377
+ }
378
+ });
379
+ it('Caso de Falha - Método "counter()" com valor de estilo inválido', () => {
380
+ const nomeSimbolo = new lexador_1.Simbolo('IDENTIFICADOR', 'contador', 'any', 1, 2, 3);
381
+ const estiloSimbolo = new lexador_1.Simbolo('IDENTIFICADOR', 'romano-maiusculo', 'any', 1, 2, 3);
382
+ const instanciaContador = new contador_1.Contador(nomeSimbolo, estiloSimbolo);
383
+ const estilosAceitos = [];
384
+ Object.keys(instanciaContador.estilosAceitos).forEach((valor) => estilosAceitos.push(valor));
385
+ for (let index = 0; index < estilosAceitos.length; index += 1) {
386
+ const estiloErroDigitacao = estilosAceitos[index].replace(/./, "x");
387
+ // Lexador
388
+ const resultadoLexador = lexador.mapear([
389
+ "div {",
390
+ `content: counter(contador1, ${estiloErroDigitacao});`,
391
+ "}"
392
+ ]);
393
+ // O Lexador deve montar um objeto de comprimento 12 sem retornar erros
394
+ expect(resultadoLexador.simbolos).toHaveLength(12);
395
+ expect(resultadoLexador.erros).toHaveLength(0);
396
+ // O Avaliador Sintático também deve retornar o seu objeto sem retornar erros
397
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
398
+ // O Resolvedor deve retornar o erro de estilo inválido uma vez que não consegue traduzir o valor
399
+ expect(() => {
400
+ resolvedor.resolver(resultadoAvaliadorSintatico);
401
+ }).toThrow(`Valor de estilo ${estiloErroDigitacao} inválido para a função counter().`);
402
+ }
403
+ });
203
404
  it('Atribuindo Método "cubic-bezier()"', () => {
204
405
  for (let index = 0; index < metodos_css_1.MetodoCurvaCubica.length; index += 1) {
205
406
  // Lexador
@@ -229,7 +430,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
229
430
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
230
431
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoCurvaCubica[index]);
231
432
  // Tradutor
232
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
433
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
233
434
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoCurvaCubica[index]]);
234
435
  expect(resultadoTradutor).toContain('curva-cubica(0.42, 0, 1, 1);');
235
436
  }
@@ -264,7 +465,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
264
465
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
265
466
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoEncaixarConteudo[index]);
266
467
  // Tradutor
267
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
468
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
268
469
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoEncaixarConteudo[index]]);
269
470
  expect(resultadoTradutor).toContain('encaixar-conteudo(200px)');
270
471
  }
@@ -310,7 +511,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
310
511
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoEscalaCinza[index]);
311
512
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoEscalaCinza[index]]);
312
513
  // Tradutor
313
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
514
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
314
515
  // O Tradutor deve serializar de acordo e traduzir grayscale para escala-cinza
315
516
  expect(resultadoTradutor).toContain(`escala-cinza(${valoresAceitos[valIndex]});`);
316
517
  }
@@ -344,7 +545,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
344
545
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosEscalamento[index]);
345
546
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
346
547
  // Tradutor
347
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
548
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
348
549
  // O Tradutor deve serializar de acordo e traduzir scale para escalamento
349
550
  expect(resultadoTradutor).toContain(`escalamento(${valoresAceitos[valIndex]});`);
350
551
  }
@@ -376,7 +577,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
376
577
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosEscalamento[index]);
377
578
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
378
579
  // Tradutor
379
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
580
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
380
581
  // O Tradutor deve serializar de acordo e traduzir scale para escalamento
381
582
  expect(resultadoTradutor).toContain(`escalamento(1.3, 0.4);`);
382
583
  }
@@ -411,7 +612,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
411
612
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosEscalamento[index]);
412
613
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
413
614
  // Tradutor
414
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
615
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
415
616
  // O Tradutor deve serializar de acordo e traduzir scale3d para escalamento-3d
416
617
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
417
618
  expect(resultadoTradutor).toContain(`escalamento-3d(0.5, 1, 1.7);`);
@@ -449,7 +650,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
449
650
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosEscalamento[index]);
450
651
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
451
652
  // Tradutor
452
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
653
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
453
654
  // O Tradutor deve serializar de acordo e traduzir scaleZ para escalamento-eixo-z
454
655
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
455
656
  expect(resultadoTradutor).toContain(`escalamento-eixo-z(${valoresAceitos[valIndex]});`);
@@ -488,7 +689,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
488
689
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosEscalamento[index]);
489
690
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
490
691
  // Tradutor
491
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
692
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
492
693
  // O Tradutor deve serializar de acordo e traduzir scaleX para escalamento-horizontal
493
694
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
494
695
  expect(resultadoTradutor).toContain(`escalamento-horizontal(${valoresAceitos[valIndex]});`);
@@ -527,7 +728,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
527
728
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosEscalamento[index]);
528
729
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
529
730
  // Tradutor
530
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
731
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
531
732
  // O Tradutor deve serializar de acordo e traduzir scaleY para escalamento-vertical
532
733
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosEscalamento[index]]);
533
734
  expect(resultadoTradutor).toContain(`escalamento-vertical(${valoresAceitos[valIndex]});`);
@@ -564,7 +765,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
564
765
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
565
766
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoGradienteLinear[index]);
566
767
  // Tradutor
567
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
768
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
568
769
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoGradienteLinear[index]]);
569
770
  expect(resultadoTradutor).toContain('gradiente-linear(90deg, verde, amarelo);');
570
771
  }
@@ -610,7 +811,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
610
811
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosInclinar[index]);
611
812
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
612
813
  // Tradutor
613
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
814
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
614
815
  // O Tradutor deve serializar de acordo e traduzir skew para inclinar
615
816
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
616
817
  expect(resultadoTradutor).toContain(`inclinar(${valoresAceitos[valIndex]});`);
@@ -648,7 +849,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
648
849
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosInclinar[index]);
649
850
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
650
851
  // Tradutor
651
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
852
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
652
853
  // O Tradutor deve serializar de acordo e traduzir skew para inclinar
653
854
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
654
855
  expect(resultadoTradutor).toContain(`inclinar(15deg, 15deg);`);
@@ -695,7 +896,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
695
896
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosInclinar[index]);
696
897
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
697
898
  // Tradutor
698
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
899
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
699
900
  // O Tradutor deve serializar de acordo e traduzir skewX para inclinar-horizontal
700
901
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
701
902
  }
@@ -742,7 +943,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
742
943
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosInclinar[index]);
743
944
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
744
945
  // Tradutor
745
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
946
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
746
947
  // O Tradutor deve serializar de acordo e traduzir skewY para inclinar-vertical
747
948
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosInclinar[index]]);
748
949
  expect(resultadoTradutor).toContain(`inclinar-vertical(${valoresAceitos[valIndex]});`);
@@ -790,7 +991,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
790
991
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoInverter[index]);
791
992
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoInverter[index]]);
792
993
  // Tradutor
793
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
994
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
794
995
  // O Tradutor deve serializar de acordo e traduzir invert para inverter
795
996
  expect(resultadoTradutor).toContain(`inverter(${valoresAceitos[valIndex]});`);
796
997
  }
@@ -827,7 +1028,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
827
1028
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoLimitar[index]);
828
1029
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoLimitar[index]]);
829
1030
  // Tradutor
830
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1031
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
831
1032
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoLimitar[index]]);
832
1033
  expect(resultadoTradutor).toContain('limitar(10vw, 20em, 100vw);');
833
1034
  }
@@ -861,7 +1062,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
861
1062
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
862
1063
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoLinear[index]);
863
1064
  // Tradutor
864
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1065
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
865
1066
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoLinear[index]]);
866
1067
  expect(resultadoTradutor).toContain('linear(0, 0.25, 1);');
867
1068
  }
@@ -897,7 +1098,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
897
1098
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoMinMax[index]);
898
1099
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoMinMax[index]]);
899
1100
  // Tradutor
900
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1101
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
901
1102
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoMinMax[index]]);
902
1103
  expect(resultadoTradutor).toContain('minmax(100px, conteudo-máximo);');
903
1104
  }
@@ -933,7 +1134,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
933
1134
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoMinMax[index]);
934
1135
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoMinMax[index]]);
935
1136
  // Tradutor
936
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1137
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
937
1138
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoMinMax[index]]);
938
1139
  expect(resultadoTradutor).toContain('minmax(conteudo-mínimo, 100px);');
939
1140
  }
@@ -979,12 +1180,96 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
979
1180
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoOpacar[index]);
980
1181
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoOpacar[index]]);
981
1182
  // Tradutor
982
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1183
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
983
1184
  // O Tradutor deve serializar de acordo e traduzir opacity para opacar
984
1185
  expect(resultadoTradutor).toContain(`opacar(${valoresAceitos[valIndex]});`);
985
1186
  }
986
1187
  }
987
1188
  });
1189
+ it('Atribuindo Método "ornaments()" com valor numérico - caso de sucesso', () => {
1190
+ const valoresAceitos = ['1', '2', '12', '20'];
1191
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1192
+ // Lexador
1193
+ const resultadoLexador = lexador.mapear([
1194
+ "div {",
1195
+ `font-variant-alternates: ornaments(${valoresAceitos[index]});`,
1196
+ "}"
1197
+ ]);
1198
+ // O Lexador não deve encontrar erros
1199
+ expect(resultadoLexador.erros).toHaveLength(0);
1200
+ // O valor recebido deve ser mapeado como METODO
1201
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1202
+ expect.objectContaining({ tipo: css_1.default.METODO }),
1203
+ ]));
1204
+ // O Lexador deve montar um objeto de comprimento 10, incluindo mapeamento de valores numéricos
1205
+ expect(resultadoLexador.simbolos).toHaveLength(10);
1206
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1207
+ expect.objectContaining({ tipo: css_1.default.NUMERO }),
1208
+ ]));
1209
+ // Avaliador Sintático
1210
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1211
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
1212
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
1213
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
1214
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
1215
+ const primeiroResultadoTipado = primeiroResultado;
1216
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1217
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
1218
+ // Resolvedor
1219
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
1220
+ // O Resolvedor deve resolver de acordo e traduzir ornamentos para ornaments
1221
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
1222
+ expect(resultadoResolvedor).toContain(`ornamentos(${valoresAceitos[index]});`);
1223
+ }
1224
+ });
1225
+ it('Atribuindo Método "ornaments()" com valor string - caso de sucesso', () => {
1226
+ const valoresAceitos = ['Arial', 'Courier'];
1227
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1228
+ // Lexador
1229
+ const resultadoLexador = lexador.mapear([
1230
+ "div {",
1231
+ `font-variant-alternates: ornaments(${valoresAceitos[index]});`,
1232
+ "}"
1233
+ ]);
1234
+ // O Lexador deve montar um objeto de comprimento 10, incluindo mapeamento dos valores
1235
+ expect(resultadoLexador.simbolos).toHaveLength(10);
1236
+ // O Lexador não deve encontrar erros
1237
+ expect(resultadoLexador.erros).toHaveLength(0);
1238
+ // O valor recebido deve ser mapeado como METODO
1239
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1240
+ expect.objectContaining({ tipo: css_1.default.METODO }),
1241
+ ]));
1242
+ // Avaliador Sintático
1243
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1244
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
1245
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
1246
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
1247
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
1248
+ const primeiroResultadoTipado = primeiroResultado;
1249
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1250
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
1251
+ // Resolvedor
1252
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
1253
+ // O Resolvedor deve resolver de acordo e traduzir ornamentos para ornaments, assim como o valor
1254
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
1255
+ expect(resultadoResolvedor).toContain(`ornamentos("${valoresAceitos[index]}");`);
1256
+ }
1257
+ });
1258
+ it('Atribuindo Método "ornaments()" com valor numérico - caso de falha', () => {
1259
+ const valoresAceitos = ['0', '100', '300'];
1260
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1261
+ // Lexador
1262
+ const resultadoLexador = lexador.mapear([
1263
+ "div {",
1264
+ `font-variant-alternates: ornaments(${valoresAceitos[index]});`,
1265
+ "}"
1266
+ ]);
1267
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1268
+ expect(() => {
1269
+ resolvedor.resolver(resultadoAvaliadorSintatico);
1270
+ }).toThrow('O valor da função ornaments() deve estar entre 1 e 99');
1271
+ }
1272
+ });
988
1273
  it('Atribuindo Método "perspective()"', () => {
989
1274
  for (let index = 0; index < metodos_css_1.MetodoPerspectivar.length; index += 1) {
990
1275
  const valoresAceitos = ['800px', '6.5cm', '0.1', '0', '1', '1.75'];
@@ -1028,7 +1313,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1028
1313
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoPerspectivar[index]);
1029
1314
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoPerspectivar[index]]);
1030
1315
  // Tradutor
1031
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1316
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1032
1317
  // O Tradutor deve serializar de acordo e traduzir perspective para perspectivar
1033
1318
  expect(resultadoTradutor).toContain(`perspectivar(${valoresAceitos[valIndex]});`);
1034
1319
  }
@@ -1063,11 +1348,163 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1063
1348
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1064
1349
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoPassos[index]);
1065
1350
  // Tradutor deve serializar de acordo e traduzir steps para passos, assim como o termo de salto
1066
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1351
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1067
1352
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoPassos[index]]);
1068
1353
  expect(resultadoTradutor).toContain('passos(2, salto-inicial);');
1069
1354
  }
1070
1355
  });
1356
+ it('Atribuindo Método "styleset()" - caso de sucesso', () => {
1357
+ const valoresAceitos = ['1', '1, 2', '6, 12, 18'];
1358
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1359
+ // Lexador
1360
+ const resultadoLexador = lexador.mapear([
1361
+ "div {",
1362
+ `font-variant-alternates: styleset(${valoresAceitos[index]});`,
1363
+ "}"
1364
+ ]);
1365
+ // O Lexador não deve encontrar erros
1366
+ expect(resultadoLexador.erros).toHaveLength(0);
1367
+ // O valor recebido deve ser mapeado como METODO
1368
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1369
+ expect.objectContaining({ tipo: css_1.default.METODO }),
1370
+ ]));
1371
+ // O Lexador deve montar um objeto contendo valores numéricos
1372
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1373
+ expect.objectContaining({ tipo: css_1.default.NUMERO }),
1374
+ ]));
1375
+ // Avaliador Sintático
1376
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1377
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
1378
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
1379
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
1380
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
1381
+ const primeiroResultadoTipado = primeiroResultado;
1382
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1383
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
1384
+ // Resolvedor
1385
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
1386
+ // O Resolvedor deve resolver de acordo e traduzir de acordo
1387
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
1388
+ expect(resultadoResolvedor).toContain(`conjunto-estilos(${valoresAceitos[index]});`);
1389
+ }
1390
+ });
1391
+ it('Atribuindo Método "styleset()" - caso de falha', () => {
1392
+ const valoresAceitos = ['0', '1, 21, 12', '3, 13, 30'];
1393
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1394
+ // Lexador
1395
+ const resultadoLexador = lexador.mapear([
1396
+ "div {",
1397
+ `font-variant-alternates: styleset(${valoresAceitos[index]});`,
1398
+ "}"
1399
+ ]);
1400
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1401
+ expect(() => {
1402
+ resolvedor.resolver(resultadoAvaliadorSintatico);
1403
+ }).toThrow('Os valores da função styleset() devem estar entre 1 e 20');
1404
+ }
1405
+ });
1406
+ it('Atribuindo Método "stylistic()" - caso de sucesso', () => {
1407
+ const valoresAceitos = ['1', '2', '12', '20'];
1408
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1409
+ // Lexador
1410
+ const resultadoLexador = lexador.mapear([
1411
+ "div {",
1412
+ `font-variant-alternates: stylistic(${valoresAceitos[index]});`,
1413
+ "}"
1414
+ ]);
1415
+ // O Lexador não deve encontrar erros
1416
+ expect(resultadoLexador.erros).toHaveLength(0);
1417
+ // O valor recebido deve ser mapeado como METODO
1418
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1419
+ expect.objectContaining({ tipo: css_1.default.METODO }),
1420
+ ]));
1421
+ // O Lexador deve montar um objeto de comprimento 10, incluindo mapeamento de valores numéricos
1422
+ expect(resultadoLexador.simbolos).toHaveLength(10);
1423
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1424
+ expect.objectContaining({ tipo: css_1.default.NUMERO }),
1425
+ ]));
1426
+ // Avaliador Sintático
1427
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1428
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
1429
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
1430
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
1431
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
1432
+ const primeiroResultadoTipado = primeiroResultado;
1433
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1434
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
1435
+ // Resolvedor
1436
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
1437
+ // O Resolvedor deve resolver de acordo e traduzir estilístico para stylistic
1438
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
1439
+ expect(resultadoResolvedor).toContain(`estilístico(${valoresAceitos[index]});`);
1440
+ }
1441
+ });
1442
+ it('Atribuindo Método "stylistic()" - caso de falha', () => {
1443
+ const valoresAceitos = ['0', '21', '30'];
1444
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1445
+ // Lexador
1446
+ const resultadoLexador = lexador.mapear([
1447
+ "div {",
1448
+ `font-variant-alternates: stylistic(${valoresAceitos[index]});`,
1449
+ "}"
1450
+ ]);
1451
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1452
+ expect(() => {
1453
+ resolvedor.resolver(resultadoAvaliadorSintatico);
1454
+ }).toThrow('O valor da função stylistic() deve estar entre 1 e 20');
1455
+ }
1456
+ });
1457
+ it('Atribuindo Método "swash()" - caso de sucesso', () => {
1458
+ const valoresAceitos = ['1', '2', '12', '20'];
1459
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1460
+ // Lexador
1461
+ const resultadoLexador = lexador.mapear([
1462
+ "div {",
1463
+ `font-variant-alternates: swash(${valoresAceitos[index]});`,
1464
+ "}"
1465
+ ]);
1466
+ // O Lexador não deve encontrar erros
1467
+ expect(resultadoLexador.erros).toHaveLength(0);
1468
+ // O valor recebido deve ser mapeado como METODO
1469
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1470
+ expect.objectContaining({ tipo: css_1.default.METODO }),
1471
+ ]));
1472
+ // O Lexador deve montar um objeto de comprimento 10, incluindo mapeamento de valores numéricos
1473
+ expect(resultadoLexador.simbolos).toHaveLength(10);
1474
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
1475
+ expect.objectContaining({ tipo: css_1.default.NUMERO }),
1476
+ ]));
1477
+ // Avaliador Sintático
1478
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1479
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
1480
+ expect(resultadoAvaliadorSintatico.length).toBeGreaterThanOrEqual(1);
1481
+ const primeiroResultado = resultadoAvaliadorSintatico[0];
1482
+ expect(primeiroResultado).toBeInstanceOf(declaracoes_1.BlocoDeclaracao);
1483
+ const primeiroResultadoTipado = primeiroResultado;
1484
+ expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1485
+ expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('font-variant-alternates');
1486
+ // Resolvedor
1487
+ const resultadoResolvedor = resolvedor.resolver(resultadoAvaliadorSintatico);
1488
+ // O Resolvedor deve resolver de acordo e traduzir espirrar para swash
1489
+ expect(resultadoResolvedor).toContain('variacao-fonte-alternativa');
1490
+ expect(resultadoResolvedor).toContain(`espirrar(${valoresAceitos[index]});`);
1491
+ }
1492
+ });
1493
+ it('Atribuindo Método "swash()" - caso de falha', () => {
1494
+ const valoresAceitos = ['0', '100', '300'];
1495
+ for (let index = 0; index < valoresAceitos.length; index += 1) {
1496
+ // Lexador
1497
+ const resultadoLexador = lexador.mapear([
1498
+ "div {",
1499
+ `font-variant-alternates: swash(${valoresAceitos[index]});`,
1500
+ "}"
1501
+ ]);
1502
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1503
+ expect(() => {
1504
+ resolvedor.resolver(resultadoAvaliadorSintatico);
1505
+ }).toThrow('O valor da função swash() deve estar entre 1 e 99');
1506
+ }
1507
+ });
1071
1508
  it('Atribuindo Método "drop-shadow()" com valores de comprimento', () => {
1072
1509
  for (let index = 0; index < metodos_css_1.MetodoProjetarSombra.length; index += 1) {
1073
1510
  const comprimentos = ['15px 15px', '15px 15px 15px', '0.5rem 0.5rem', '0.5rem 0.5rem 1rem'];
@@ -1100,7 +1537,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1100
1537
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoProjetarSombra[index]);
1101
1538
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoProjetarSombra[index]]);
1102
1539
  // Tradutor
1103
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1540
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1104
1541
  // O Tradutor deve serializar de acordo e traduzir drop-shadow para projetar-sombra
1105
1542
  expect(resultadoTradutor).toContain(`projetar-sombra(${comprimentos[posIndex]});`);
1106
1543
  }
@@ -1143,7 +1580,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1143
1580
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoProjetarSombra[index]);
1144
1581
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoProjetarSombra[index]]);
1145
1582
  // Tradutor
1146
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1583
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1147
1584
  // O Tradutor deve serializar de acordo e traduzir red para vermelho
1148
1585
  expect(resultadoTradutor).toContain('vermelho');
1149
1586
  }
@@ -1183,7 +1620,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1183
1620
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoRaio[index]);
1184
1621
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoRaio[index]]);
1185
1622
  // Tradutor
1186
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1623
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1187
1624
  // O Tradutor deve serializar de acordo e traduzir ray para raio
1188
1625
  expect(resultadoTradutor).toContain(`raio(${traducaoValoresAceitos[valIndex]} 200deg);`);
1189
1626
  }
@@ -1220,7 +1657,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1220
1657
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoRaio[index]);
1221
1658
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoRaio[index]]);
1222
1659
  // Tradutor
1223
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1660
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1224
1661
  // O Tradutor deve serializar de acordo e traduzir ray para raio
1225
1662
  expect(resultadoTradutor).toContain(`raio(200deg);`);
1226
1663
  }
@@ -1262,7 +1699,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1262
1699
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosRotacionar[index]);
1263
1700
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosRotacionar[index]]);
1264
1701
  // Tradutor
1265
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1702
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1266
1703
  // O Tradutor deve serializar de acordo e traduzir rotate para rotacionar
1267
1704
  expect(resultadoTradutor).toContain(`rotacionar(${valoresAceitos[valIndex]});`);
1268
1705
  }
@@ -1308,7 +1745,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1308
1745
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1309
1746
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual('transform');
1310
1747
  // Tradutor
1311
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1748
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1312
1749
  // O Tradutor deve serializar de acordo e traduzir rotate3d para rotacionar-3d
1313
1750
  expect(resultadoTradutor).toContain(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosRotacionar[index]]);
1314
1751
  expect(resultadoTradutor).toContain(`rotacionar-3d(${valoresAceitos[valIndex]});`);
@@ -1333,7 +1770,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1333
1770
  const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador.simbolos);
1334
1771
  // Serializador não deve aceitar 'px' como quantificador válido
1335
1772
  expect(() => {
1336
- serializador.resolver(resultadoAvaliadorSintatico);
1773
+ resolvedor.resolver(resultadoAvaliadorSintatico);
1337
1774
  }).toThrow();
1338
1775
  }
1339
1776
  });
@@ -1378,7 +1815,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1378
1815
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosRotacionar[index]);
1379
1816
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosRotacionar[index]]);
1380
1817
  // Tradutor
1381
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1818
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1382
1819
  // O Tradutor deve serializar de acordo e traduzir rotateX para rotacionar-horizontal
1383
1820
  expect(resultadoTradutor).toContain(`rotacionar-horizontal(${valoresAceitos[valIndex]});`);
1384
1821
  }
@@ -1425,7 +1862,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1425
1862
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosRotacionar[index]);
1426
1863
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosRotacionar[index]]);
1427
1864
  // Tradutor
1428
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1865
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1429
1866
  // O Tradutor deve serializar de acordo e traduzir rotateY para rotacionar-vertical
1430
1867
  expect(resultadoTradutor).toContain(`rotacionar-vertical(${valoresAceitos[valIndex]});`);
1431
1868
  }
@@ -1472,7 +1909,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1472
1909
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosRotacionar[index]);
1473
1910
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosRotacionar[index]]);
1474
1911
  // Tradutor
1475
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1912
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1476
1913
  // O Tradutor deve serializar de acordo e traduzir rotateZ para rotacionar-eixo-z
1477
1914
  expect(resultadoTradutor).toContain(`rotacionar-eixo-z(${valoresAceitos[valIndex]});`);
1478
1915
  }
@@ -1519,7 +1956,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1519
1956
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoRotacionarMatiz[index]);
1520
1957
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoRotacionarMatiz[index]]);
1521
1958
  // Tradutor
1522
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
1959
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1523
1960
  // O Tradutor deve serializar de acordo e traduzir hue-rotate para rotacionar-matiz
1524
1961
  expect(resultadoTradutor).toContain(`rotacionar-matiz(${valoresAceitos[valIndex]});`);
1525
1962
  }
@@ -1566,7 +2003,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1566
2003
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoSaturar[index]);
1567
2004
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoSaturar[index]]);
1568
2005
  // Tradutor
1569
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2006
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1570
2007
  // O Tradutor deve serializar de acordo e traduzir saturate para saturar
1571
2008
  expect(resultadoTradutor).toContain(`saturar(${valoresAceitos[valIndex]});`);
1572
2009
  }
@@ -1613,7 +2050,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1613
2050
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodoSepia[index]);
1614
2051
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodoSepia[index]]);
1615
2052
  // Tradutor
1616
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2053
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1617
2054
  // O Tradutor deve serializar de acordo e traduzir sépia para sepia
1618
2055
  expect(resultadoTradutor).toContain(`sepia(${valoresAceitos[valIndex]});`);
1619
2056
  }
@@ -1656,7 +2093,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1656
2093
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1657
2094
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosTranslacao[index]]);
1658
2095
  // Tradutor
1659
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2096
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1660
2097
  // O Tradutor deve serializar de acordo e traduzir translate para translação
1661
2098
  expect(resultadoTradutor).toContain(`translação(${valoresAceitos[valIndex]});`);
1662
2099
  }
@@ -1688,7 +2125,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1688
2125
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1689
2126
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1690
2127
  // Tradutor
1691
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2128
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1692
2129
  // O Tradutor deve serializar de acordo e traduzir translate para translação
1693
2130
  expect(resultadoTradutor).toContain(`translação(100deg, 100deg);`);
1694
2131
  }
@@ -1734,7 +2171,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1734
2171
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1735
2172
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosTranslacao[index]]);
1736
2173
  // Tradutor
1737
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2174
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1738
2175
  // O Tradutor deve serializar de acordo e traduzir translateX para translacao-horizontal
1739
2176
  expect(resultadoTradutor).toContain(`translacao-horizontal(${valoresAceitos[valIndex]});`);
1740
2177
  }
@@ -1781,7 +2218,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1781
2218
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1782
2219
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosTranslacao[index]]);
1783
2220
  // Serialização
1784
- const resultadoSerializacao = serializador.resolver(resultadoAvaliadorSintatico);
2221
+ const resultadoSerializacao = resolvedor.resolver(resultadoAvaliadorSintatico);
1785
2222
  // O serializador deve serializar de acordo e traduzir translateY para translacao-vertical
1786
2223
  expect(resultadoSerializacao).toContain(`translacao-vertical(${valoresAceitos[valIndex]});`);
1787
2224
  }
@@ -1828,7 +2265,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1828
2265
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1829
2266
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosTranslacao[index]]);
1830
2267
  // Tradutor
1831
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2268
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1832
2269
  // O Tradutor deve serializar de acordo e traduzir translateZ para translação-eixo-z
1833
2270
  expect(resultadoTradutor).toContain(`translacao-eixo-z(${valoresAceitos[valIndex]});`);
1834
2271
  }
@@ -1864,7 +2301,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1864
2301
  expect(primeiroResultadoTipado.modificadores.length).toBeGreaterThanOrEqual(1);
1865
2302
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1866
2303
  // Tradutor
1867
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2304
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1868
2305
  // O Tradutor deve serializar de acordo e traduzir translate3d para translação-3d
1869
2306
  expect(resultadoTradutor).toContain(`translacao-3d(5ch, 0.4in, 5px);`);
1870
2307
  }
@@ -1940,7 +2377,7 @@ describe('Testando MÉTODOS no processo de TRADUÇÃO REVERSA', () => {
1940
2377
  expect(primeiroResultadoTipado.modificadores[0].propriedadeCss).toStrictEqual(metodos_css_1.MetodosTranslacao[index]);
1941
2378
  expect(primeiroResultadoTipado.modificadores[0].nomeFoles).toStrictEqual(metodos_css_1.TraducaoValoresMetodos[metodos_css_1.MetodosTranslacao[index]]);
1942
2379
  // Tradutor
1943
- const resultadoTradutor = serializador.resolver(resultadoAvaliadorSintatico);
2380
+ const resultadoTradutor = resolvedor.resolver(resultadoAvaliadorSintatico);
1944
2381
  // O Tradutor deve serializar de acordo e traduzir translate3d para translacao-3d
1945
2382
  if (valIndex !== 8) {
1946
2383
  expect(resultadoTradutor).toContain(`translacao-3d(${valoresAceitos[valIndex]});`);