@designliquido/foles 0.1.1 → 0.2.0

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 (82) hide show
  1. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +2 -0
  2. package/fontes/avaliador-sintatico/avaliador-sintatico.js +13 -14
  3. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  4. package/fontes/foles.d.ts +5 -1
  5. package/fontes/foles.js +20 -8
  6. package/fontes/foles.js.map +1 -1
  7. package/fontes/lexador/lexador.js +12 -0
  8. package/fontes/lexador/lexador.js.map +1 -1
  9. package/fontes/modificadores/dicionario/dicionario-modificadores.js +3 -3
  10. package/fontes/modificadores/dicionario/dicionario-modificadores.js.map +1 -1
  11. package/fontes/modificadores/{deslocamento-rotacao.d.ts → rotacao-deslocamento.d.ts} +1 -1
  12. package/fontes/modificadores/{deslocamento-rotacao.js → rotacao-deslocamento.js} +5 -5
  13. package/fontes/modificadores/{deslocamento-rotacao.js.map → rotacao-deslocamento.js.map} +1 -1
  14. package/fontes/tipos-de-simbolos/foles.d.ts +2 -0
  15. package/fontes/tipos-de-simbolos/foles.js +2 -0
  16. package/fontes/tipos-de-simbolos/foles.js.map +1 -1
  17. package/fontes/tradutor/index.js +7 -1
  18. package/fontes/tradutor/index.js.map +1 -1
  19. package/package.json +1 -1
  20. package/testes/foles.test.d.ts +1 -0
  21. package/testes/foles.test.js +16 -0
  22. package/testes/foles.test.js.map +1 -0
  23. package/testes/listas/cores.d.ts +3 -0
  24. package/testes/listas/cores.js +44 -0
  25. package/testes/listas/cores.js.map +1 -0
  26. package/testes/listas/estilo.d.ts +3 -0
  27. package/testes/listas/estilo.js +50 -0
  28. package/testes/listas/estilo.js.map +1 -0
  29. package/testes/listas/palavras-reservadas.d.ts +3 -0
  30. package/testes/listas/palavras-reservadas.js +63 -0
  31. package/testes/listas/palavras-reservadas.js.map +1 -0
  32. package/testes/listas/posi/303/247/303/243o.d.ts +3 -0
  33. package/testes/listas/posi/303/247/303/243o.js +61 -0
  34. package/testes/listas/posi/303/247/303/243o.js.map +1 -0
  35. package/testes/listas/shorthand.d.ts +3 -0
  36. package/testes/listas/shorthand.js +80 -0
  37. package/testes/listas/shorthand.js.map +1 -0
  38. package/testes/listas/status.d.ts +3 -0
  39. package/testes/listas/status.js +91 -0
  40. package/testes/listas/status.js.map +1 -0
  41. package/testes/listas/url.d.ts +3 -0
  42. package/testes/listas/url.js +28 -0
  43. package/testes/listas/url.js.map +1 -0
  44. package/testes/listas/valor-global.d.ts +3 -0
  45. package/testes/listas/valor-global.js +149 -0
  46. package/testes/listas/valor-global.js.map +1 -0
  47. package/testes/listas/valor-numerico.d.ts +3 -0
  48. package/testes/listas/valor-numerico.js +49 -0
  49. package/testes/listas/valor-numerico.js.map +1 -0
  50. package/testes/listas/valor-quantificador.d.ts +3 -0
  51. package/testes/listas/valor-quantificador.js +184 -0
  52. package/testes/listas/valor-quantificador.js.map +1 -0
  53. package/testes/modificadores/cores.test.d.ts +1 -0
  54. package/testes/modificadores/cores.test.js +111 -0
  55. package/testes/modificadores/cores.test.js.map +1 -0
  56. package/testes/modificadores/estilo.test.d.ts +1 -0
  57. package/testes/modificadores/estilo.test.js +101 -0
  58. package/testes/modificadores/estilo.test.js.map +1 -0
  59. package/testes/modificadores/palavras-reservadas.test.d.ts +1 -0
  60. package/testes/modificadores/palavras-reservadas.test.js +20 -0
  61. package/testes/modificadores/palavras-reservadas.test.js.map +1 -0
  62. package/testes/modificadores/posi/303/247/303/243o.test.d.ts +1 -0
  63. package/testes/modificadores/posi/303/247/303/243o.test.js +101 -0
  64. package/testes/modificadores/posi/303/247/303/243o.test.js.map +1 -0
  65. package/testes/modificadores/shorthand.test.d.ts +1 -0
  66. package/testes/modificadores/shorthand.test.js +23 -0
  67. package/testes/modificadores/shorthand.test.js.map +1 -0
  68. package/testes/modificadores/status.test.d.ts +1 -0
  69. package/testes/modificadores/status.test.js +101 -0
  70. package/testes/modificadores/status.test.js.map +1 -0
  71. package/testes/modificadores/url.test.d.ts +1 -0
  72. package/testes/modificadores/url.test.js +97 -0
  73. package/testes/modificadores/url.test.js.map +1 -0
  74. package/testes/modificadores/valor-global.test.d.ts +1 -0
  75. package/testes/modificadores/valor-global.test.js +107 -0
  76. package/testes/modificadores/valor-global.test.js.map +1 -0
  77. package/testes/modificadores/valor-numerico.test.d.ts +1 -0
  78. package/testes/modificadores/valor-numerico.test.js +95 -0
  79. package/testes/modificadores/valor-numerico.test.js.map +1 -0
  80. package/testes/modificadores/valor-quantificador.test.d.ts +1 -0
  81. package/testes/modificadores/valor-quantificador.test.js +95 -0
  82. package/testes/modificadores/valor-quantificador.test.js.map +1 -0
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
7
+ const lexador_1 = require("../../fontes/lexador");
8
+ const superclasse_1 = require("../../fontes/modificadores/superclasse");
9
+ const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
10
+ const tradutor_1 = require("../../fontes/tradutor");
11
+ const status_1 = require("../listas/status");
12
+ describe('Testando Seletores com STATUS como atributo', () => {
13
+ const atributosCss = [
14
+ 'auto', 'none', 'always', 'avoid',
15
+ 'all', 'both', 'left', 'right'
16
+ ];
17
+ const atributosFolEs = [
18
+ ['automatico', 'automático'], 'nenhum', 'sempre', 'evitar',
19
+ 'tudo', 'ambos', 'esquerda', 'direita'
20
+ ];
21
+ describe('Testes Unitários', () => {
22
+ let lexador;
23
+ let avaliador;
24
+ let tradutor;
25
+ beforeEach(() => {
26
+ lexador = new lexador_1.Lexador();
27
+ avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
28
+ tradutor = new tradutor_1.Tradutor();
29
+ });
30
+ it('Casos de sucesso - Lexador, Avaliador e Tradutor', () => {
31
+ for (let index = 0; index < Object.keys(status_1.Status).length; index += 1) {
32
+ const seletor = new superclasse_1.SeletorModificador(status_1.Status[index], 'sempre', null);
33
+ // LEXADOR
34
+ const resultadoLexador = lexador.mapear([
35
+ "corpo {",
36
+ `${status_1.Status[index]}: ${seletor['valor']};`,
37
+ "}"
38
+ ]);
39
+ expect(resultadoLexador).toBeTruthy();
40
+ expect(resultadoLexador.simbolos).toHaveLength(7);
41
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
42
+ expect.objectContaining({ tipo: foles_1.default.ESTRUTURA }),
43
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_ESQUERDA }),
44
+ expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
45
+ expect.objectContaining({ tipo: foles_1.default.DOIS_PONTOS }),
46
+ // expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_STATUS }),
47
+ expect.objectContaining({ tipo: foles_1.default.PONTO_E_VIRGULA }),
48
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_DIREITA }),
49
+ ]));
50
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
51
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
52
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
53
+ ]));
54
+ // AVALIADOR SINTÁTICO
55
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
56
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
57
+ expect(resultadoAvaliadorSintatico).toHaveLength(1);
58
+ expect(resultadoAvaliadorSintatico[0].seletor).toBe('corpo');
59
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
60
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
61
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].valor).toStrictEqual('sempre');
62
+ // TRADUTOR
63
+ const resultadoTradutor = tradutor.traduzir(resultadoAvaliadorSintatico);
64
+ expect(resultadoTradutor).toBeTruthy();
65
+ expect(resultadoTradutor).toContain("body");
66
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
67
+ expect(resultadoTradutor).toContain('always;');
68
+ }
69
+ });
70
+ it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
71
+ for (let index = 0; index < Object.keys(status_1.Status).length; index += 1) {
72
+ // LEXADOR - Status não informado
73
+ const resultadoLexador = lexador.mapear([
74
+ "lmht {",
75
+ `${status_1.Status[index]}: ;`,
76
+ "}"
77
+ ]);
78
+ expect(resultadoLexador.simbolos).not.toHaveLength(7);
79
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
80
+ // expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_STATUS }),
81
+ ]));
82
+ // Causar erro de digitação
83
+ const seletorIncorreto = status_1.Status[index].replace(status_1.Status[index][0], '');
84
+ const novoLexador = lexador.mapear([
85
+ "lmht {",
86
+ `${seletorIncorreto}: automatico;`,
87
+ "}"
88
+ ]);
89
+ // AVALIADOR SINTÁTICO - Erro esperado como retorno
90
+ expect(() => {
91
+ avaliador.analisar(novoLexador.simbolos);
92
+ }).toThrow(`O seletor '${seletorIncorreto}' não foi encontrado.`);
93
+ // TRADUTOR - Não deve traduzir devido ao erro do Avaliador Sintático
94
+ expect(() => {
95
+ tradutor.traduzir(avaliador.analisar(novoLexador.simbolos));
96
+ }).toHaveLength(0);
97
+ }
98
+ });
99
+ });
100
+ });
101
+ //# sourceMappingURL=status.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../../testes/modificadores/status.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
7
+ const lexador_1 = require("../../fontes/lexador");
8
+ const superclasse_1 = require("../../fontes/modificadores/superclasse");
9
+ const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
10
+ const tradutor_1 = require("../../fontes/tradutor");
11
+ const url_1 = require("../listas/url");
12
+ describe('Testando Seletores que recebem URL como atributo', () => {
13
+ const atributos = [
14
+ 'url("img_tree.gif")',
15
+ 'url("https://www.showmetech.com.br/wp-content/uploads//2018/12/email_ss_1920-1920x1024.png")',
16
+ ];
17
+ describe('Testes Unitários', () => {
18
+ let lexador;
19
+ let avaliador;
20
+ let tradutor;
21
+ beforeEach(() => {
22
+ lexador = new lexador_1.Lexador();
23
+ avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
24
+ tradutor = new tradutor_1.Tradutor();
25
+ });
26
+ it('Casos de sucesso - Lexador, Avaliador e Tradutor', () => {
27
+ for (let index = 0; index < Object.keys(url_1.Url).length; index += 1) {
28
+ const seletor = new superclasse_1.SeletorModificador(url_1.Url[index], 'url("img_tree.gif")', null);
29
+ // LEXADOR
30
+ const resultadoLexador = lexador.mapear([
31
+ "lmht {",
32
+ `${url_1.Url[index]}: ${seletor['valor']};`,
33
+ "}"
34
+ ]);
35
+ expect(resultadoLexador).toBeTruthy();
36
+ expect(resultadoLexador.simbolos).toHaveLength(7);
37
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
38
+ expect.objectContaining({ tipo: foles_1.default.ESTRUTURA }),
39
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_ESQUERDA }),
40
+ expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
41
+ expect.objectContaining({ tipo: foles_1.default.DOIS_PONTOS }),
42
+ // expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_URL }),
43
+ expect.objectContaining({ tipo: foles_1.default.PONTO_E_VIRGULA }),
44
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_DIREITA }),
45
+ ]));
46
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
47
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
48
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
49
+ ]));
50
+ // AVALIADOR SINTÁTICO
51
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
52
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
53
+ expect(resultadoAvaliadorSintatico).toHaveLength(1);
54
+ expect(resultadoAvaliadorSintatico[0].seletor).toBe('lmht');
55
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
56
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
57
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].valor).toStrictEqual('url("img_tree.gif")');
58
+ // TRADUTOR
59
+ const resultadoTradutor = tradutor.traduzir(resultadoAvaliadorSintatico);
60
+ expect(resultadoTradutor).toBeTruthy();
61
+ expect(resultadoTradutor).toContain("html");
62
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
63
+ expect(resultadoTradutor).toContain('url("img_tree.gif");');
64
+ }
65
+ });
66
+ it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
67
+ for (let index = 0; index < Object.keys(url_1.Url).length; index += 1) {
68
+ // LEXADOR - URL não informada
69
+ const resultadoLexador = lexador.mapear([
70
+ "lmht {",
71
+ `${url_1.Url[index]}: ;`,
72
+ "}"
73
+ ]);
74
+ expect(resultadoLexador.simbolos).not.toHaveLength(7);
75
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
76
+ // expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_URL }),
77
+ ]));
78
+ // Causar erro de digitação
79
+ const seletorIncorreto = url_1.Url[index].replace(url_1.Url[index][0], '');
80
+ const novoLexador = lexador.mapear([
81
+ "lmht {",
82
+ `${seletorIncorreto}: 'url("img_tree.gif")';`,
83
+ "}"
84
+ ]);
85
+ // AVALIADOR SINTÁTICO - Erro esperado como retorno
86
+ expect(() => {
87
+ avaliador.analisar(novoLexador.simbolos);
88
+ }).toThrow(`O seletor '${seletorIncorreto}' não foi encontrado.`);
89
+ // TRADUTOR - Não deve traduzir devido ao erro do Avaliador Sintático
90
+ expect(() => {
91
+ tradutor.traduzir(avaliador.analisar(novoLexador.simbolos));
92
+ }).toHaveLength(0);
93
+ }
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=url.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.test.js","sourceRoot":"","sources":["../../../testes/modificadores/url.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
7
+ const lexador_1 = require("../../fontes/lexador");
8
+ const superclasse_1 = require("../../fontes/modificadores/superclasse");
9
+ const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
10
+ const tradutor_1 = require("../../fontes/tradutor");
11
+ const valor_global_1 = require("../listas/valor-global");
12
+ describe('Testando Seletores com VALORES GLOBAIS', () => {
13
+ const atributosCss = [
14
+ 'inherit',
15
+ 'initial',
16
+ 'revert',
17
+ 'revert-layer',
18
+ 'unset',
19
+ ];
20
+ const atributosFolEs = [
21
+ 'herdar',
22
+ 'inicial',
23
+ 'reverter',
24
+ 'reverter-camada',
25
+ 'desarmar'
26
+ ];
27
+ describe('Testes Unitários', () => {
28
+ let lexador;
29
+ let avaliador;
30
+ let tradutor;
31
+ beforeEach(() => {
32
+ lexador = new lexador_1.Lexador();
33
+ avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
34
+ tradutor = new tradutor_1.Tradutor();
35
+ });
36
+ it('Casos de sucesso - Lexador, Avaliador e Tradutor', () => {
37
+ for (let index = 0; index < Object.keys(valor_global_1.ValorGlobal).length; index += 1) {
38
+ const seletor = new superclasse_1.SeletorModificador(valor_global_1.ValorGlobal[index], 'herdar', null);
39
+ // LEXADOR
40
+ const resultadoLexador = lexador.mapear([
41
+ "corpo {",
42
+ `${valor_global_1.ValorGlobal[index]}: ${seletor['valor']};`,
43
+ "}"
44
+ ]);
45
+ expect(resultadoLexador).toBeTruthy();
46
+ expect(resultadoLexador.simbolos).toHaveLength(7);
47
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
48
+ expect.objectContaining({ tipo: foles_1.default.ESTRUTURA }),
49
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_ESQUERDA }),
50
+ expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
51
+ expect.objectContaining({ tipo: foles_1.default.DOIS_PONTOS }),
52
+ // expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_GLOBAL }),
53
+ expect.objectContaining({ tipo: foles_1.default.PONTO_E_VIRGULA }),
54
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_DIREITA }),
55
+ ]));
56
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
57
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
58
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
59
+ ]));
60
+ // AVALIADOR SINTÁTICO
61
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
62
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
63
+ expect(resultadoAvaliadorSintatico).toHaveLength(1);
64
+ expect(resultadoAvaliadorSintatico[0].seletor).toBe('corpo');
65
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
66
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
67
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].valor).toStrictEqual('herdar');
68
+ // TRADUTOR
69
+ const resultadoTradutor = tradutor.traduzir(resultadoAvaliadorSintatico);
70
+ expect(resultadoTradutor).toBeTruthy();
71
+ expect(resultadoTradutor).toContain("body");
72
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
73
+ expect(resultadoTradutor).toContain('inherit;');
74
+ }
75
+ });
76
+ it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
77
+ for (let index = 0; index < Object.keys(valor_global_1.ValorGlobal).length; index += 1) {
78
+ // LEXADOR - Valor Global não informado
79
+ const resultadoLexador = lexador.mapear([
80
+ "lmht {",
81
+ `${valor_global_1.ValorGlobal[index]}: ;`,
82
+ "}"
83
+ ]);
84
+ expect(resultadoLexador.simbolos).not.toHaveLength(7);
85
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
86
+ // expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_GLOBAL }),
87
+ ]));
88
+ // Causar erro de digitação
89
+ const seletorIncorreto = valor_global_1.ValorGlobal[index].replace(valor_global_1.ValorGlobal[index][0], '');
90
+ const novoLexador = lexador.mapear([
91
+ "lmht {",
92
+ `${seletorIncorreto}: reverter;`,
93
+ "}"
94
+ ]);
95
+ // AVALIADOR SINTÁTICO - Erro esperado como retorno
96
+ expect(() => {
97
+ avaliador.analisar(novoLexador.simbolos);
98
+ }).toThrow(`O seletor '${seletorIncorreto}' não foi encontrado.`);
99
+ // TRADUTOR - Não deve traduzir devido ao erro do Avaliador Sintático
100
+ expect(() => {
101
+ tradutor.traduzir(avaliador.analisar(novoLexador.simbolos));
102
+ }).toHaveLength(0);
103
+ }
104
+ });
105
+ });
106
+ });
107
+ //# sourceMappingURL=valor-global.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valor-global.test.js","sourceRoot":"","sources":["../../../testes/modificadores/valor-global.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
7
+ const lexador_1 = require("../../fontes/lexador");
8
+ const superclasse_1 = require("../../fontes/modificadores/superclasse");
9
+ const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
10
+ const tradutor_1 = require("../../fontes/tradutor");
11
+ const valor_numerico_1 = require("../listas/valor-numerico");
12
+ describe('Testando Seletores que recebem VALOR NUMÉRICO como atributo', () => {
13
+ const atributos = [
14
+ '1', '10', '0.5', '0'
15
+ ];
16
+ describe('Testes Unitários', () => {
17
+ let lexador;
18
+ let avaliador;
19
+ let tradutor;
20
+ beforeEach(() => {
21
+ lexador = new lexador_1.Lexador();
22
+ avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
23
+ tradutor = new tradutor_1.Tradutor();
24
+ });
25
+ it('Casos de sucesso - Lexador, Avaliador e Tradutor', () => {
26
+ for (let index = 0; index < Object.keys(valor_numerico_1.ValorNumerico).length; index += 1) {
27
+ const seletor = new superclasse_1.SeletorModificador(valor_numerico_1.ValorNumerico[index], '3', '');
28
+ // LEXADOR
29
+ const resultadoLexador = lexador.mapear([
30
+ "corpo {",
31
+ `${valor_numerico_1.ValorNumerico[index]}: ${seletor['valor']};`,
32
+ "}"
33
+ ]);
34
+ expect(resultadoLexador).toBeTruthy();
35
+ expect(resultadoLexador.simbolos).toHaveLength(7);
36
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
37
+ expect.objectContaining({ tipo: foles_1.default.ESTRUTURA }),
38
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_ESQUERDA }),
39
+ expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
40
+ expect.objectContaining({ tipo: foles_1.default.DOIS_PONTOS }),
41
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
42
+ expect.objectContaining({ tipo: foles_1.default.PONTO_E_VIRGULA }),
43
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_DIREITA }),
44
+ ]));
45
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
46
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
47
+ ]));
48
+ // AVALIADOR SINTÁTICO
49
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
50
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
51
+ expect(resultadoAvaliadorSintatico).toHaveLength(1);
52
+ expect(resultadoAvaliadorSintatico[0].seletor).toBe('corpo');
53
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
54
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
55
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].valor).toStrictEqual('3');
56
+ // TRADUTOR
57
+ const resultadoTradutor = tradutor.traduzir(resultadoAvaliadorSintatico);
58
+ expect(resultadoTradutor).toBeTruthy();
59
+ expect(resultadoTradutor).toContain("body");
60
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
61
+ expect(resultadoTradutor).toContain("3;");
62
+ }
63
+ });
64
+ it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
65
+ for (let index = 0; index < Object.keys(valor_numerico_1.ValorNumerico).length; index += 1) {
66
+ // LEXADOR - valor numérico não informado
67
+ const resultadoLexador = lexador.mapear([
68
+ "lmht {",
69
+ `${valor_numerico_1.ValorNumerico[index]}: ;`,
70
+ "}"
71
+ ]);
72
+ expect(resultadoLexador.simbolos).not.toHaveLength(7);
73
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
74
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
75
+ ]));
76
+ // Causar erro de digitação
77
+ const seletorIncorreto = valor_numerico_1.ValorNumerico[index].replace(valor_numerico_1.ValorNumerico[index][0], '');
78
+ const novoLexador = lexador.mapear([
79
+ "lmht {",
80
+ `${seletorIncorreto}: 1.5;`,
81
+ "}"
82
+ ]);
83
+ // AVALIADOR SINTÁTICO - Erro esperado como retorno
84
+ expect(() => {
85
+ avaliador.analisar(novoLexador.simbolos);
86
+ }).toThrow(`O seletor '${seletorIncorreto}' não foi encontrado.`);
87
+ // TRADUTOR - Não deve traduzir devido ao erro do Avaliador Sintático
88
+ expect(() => {
89
+ tradutor.traduzir(avaliador.analisar(novoLexador.simbolos));
90
+ }).toHaveLength(0);
91
+ }
92
+ });
93
+ });
94
+ });
95
+ //# sourceMappingURL=valor-numerico.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valor-numerico.test.js","sourceRoot":"","sources":["../../../testes/modificadores/valor-numerico.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
7
+ const lexador_1 = require("../../fontes/lexador");
8
+ const superclasse_1 = require("../../fontes/modificadores/superclasse");
9
+ const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
10
+ const tradutor_1 = require("../../fontes/tradutor");
11
+ const valor_quantificador_1 = require("../listas/valor-quantificador");
12
+ describe('Testando Seletores que recebem VALOR e QUANTIFICADOR como atributos', () => {
13
+ const atributos = [
14
+ '12px', '1mm', '2em', '150cm',
15
+ ];
16
+ describe('Testes Unitários', () => {
17
+ let lexador;
18
+ let avaliador;
19
+ let tradutor;
20
+ beforeEach(() => {
21
+ lexador = new lexador_1.Lexador();
22
+ avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
23
+ tradutor = new tradutor_1.Tradutor();
24
+ });
25
+ it('Casos de sucesso - Lexador, Avaliador e Tradutor', () => {
26
+ for (let index = 0; index < Object.keys(valor_quantificador_1.ValorQuantificador).length; index += 1) {
27
+ const seletor = new superclasse_1.SeletorModificador(valor_quantificador_1.ValorQuantificador[index], '12', 'px');
28
+ // LEXADOR
29
+ const resultadoLexador = lexador.mapear([
30
+ "lmht {",
31
+ `${valor_quantificador_1.ValorQuantificador[index]}: ${seletor['valor']}${seletor['quantificador']};`,
32
+ "}"
33
+ ]);
34
+ expect(resultadoLexador).toBeTruthy();
35
+ expect(resultadoLexador.simbolos).toHaveLength(8);
36
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
37
+ expect.objectContaining({ tipo: foles_1.default.ESTRUTURA }),
38
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_ESQUERDA }),
39
+ expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
40
+ expect.objectContaining({ tipo: foles_1.default.DOIS_PONTOS }),
41
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
42
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
43
+ expect.objectContaining({ tipo: foles_1.default.PONTO_E_VIRGULA }),
44
+ expect.objectContaining({ tipo: foles_1.default.CHAVE_DIREITA }),
45
+ ]));
46
+ // AVALIADOR SINTÁTICO
47
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
48
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
49
+ expect(resultadoAvaliadorSintatico).toHaveLength(1);
50
+ expect(resultadoAvaliadorSintatico[0].seletor).toBe('lmht');
51
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
52
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
53
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].valor).toStrictEqual('12');
54
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].quantificador).toStrictEqual('px');
55
+ // TRADUTOR
56
+ const resultadoTradutor = tradutor.traduzir(resultadoAvaliadorSintatico);
57
+ expect(resultadoTradutor).toBeTruthy();
58
+ expect(resultadoTradutor).toContain("html");
59
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
60
+ expect(resultadoTradutor).toContain("12px");
61
+ }
62
+ });
63
+ it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
64
+ for (let index = 0; index < Object.keys(valor_quantificador_1.ValorQuantificador).length; index += 1) {
65
+ // LEXADOR - valor e quantificador não informados
66
+ const resultadoLexador = lexador.mapear([
67
+ "lmht {",
68
+ `${valor_quantificador_1.ValorQuantificador[index]}: ;`,
69
+ "}"
70
+ ]);
71
+ expect(resultadoLexador.simbolos).not.toHaveLength(8);
72
+ expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
73
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
74
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
75
+ ]));
76
+ // Causar erro de digitação
77
+ const seletorIncorreto = valor_quantificador_1.ValorQuantificador[index].replace(valor_quantificador_1.ValorQuantificador[index][0], '');
78
+ const novoLexador = lexador.mapear([
79
+ "lmht {",
80
+ `${seletorIncorreto}: 12px;`,
81
+ "}"
82
+ ]);
83
+ // AVALIADOR SINTÁTICO - Erro esperado como retorno
84
+ expect(() => {
85
+ avaliador.analisar(novoLexador.simbolos);
86
+ }).toThrow(`O seletor '${seletorIncorreto}' não foi encontrado.`);
87
+ // TRADUTOR - Não deve traduzir devido ao erro do Avaliador Sintático
88
+ expect(() => {
89
+ tradutor.traduzir(avaliador.analisar(novoLexador.simbolos));
90
+ }).toHaveLength(0);
91
+ }
92
+ });
93
+ });
94
+ });
95
+ //# sourceMappingURL=valor-quantificador.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valor-quantificador.test.js","sourceRoot":"","sources":["../../../testes/modificadores/valor-quantificador.test.ts"],"names":[],"mappings":"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"}