@designliquido/foles 0.1.2 → 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.
- package/fontes/foles.d.ts +5 -1
- package/fontes/foles.js +20 -12
- package/fontes/foles.js.map +1 -1
- package/fontes/modificadores/dicionario/dicionario-modificadores.js +3 -3
- package/fontes/modificadores/dicionario/dicionario-modificadores.js.map +1 -1
- package/fontes/modificadores/{deslocamento-rotacao.d.ts → rotacao-deslocamento.d.ts} +1 -1
- package/fontes/modificadores/{deslocamento-rotacao.js → rotacao-deslocamento.js} +5 -5
- package/fontes/modificadores/{deslocamento-rotacao.js.map → rotacao-deslocamento.js.map} +1 -1
- package/package.json +1 -1
- package/testes/foles.test.d.ts +1 -0
- package/testes/foles.test.js +16 -0
- package/testes/foles.test.js.map +1 -0
- package/testes/listas/cores.d.ts +3 -0
- package/testes/listas/cores.js +44 -0
- package/testes/listas/cores.js.map +1 -0
- package/testes/listas/estilo.d.ts +3 -0
- package/testes/listas/estilo.js +50 -0
- package/testes/listas/estilo.js.map +1 -0
- package/testes/listas/palavras-reservadas.d.ts +3 -0
- package/testes/listas/palavras-reservadas.js +63 -0
- package/testes/listas/palavras-reservadas.js.map +1 -0
- package/testes/listas/posi/303/247/303/243o.d.ts +3 -0
- package/testes/listas/posi/303/247/303/243o.js +61 -0
- package/testes/listas/posi/303/247/303/243o.js.map +1 -0
- package/testes/listas/shorthand.d.ts +3 -0
- package/testes/listas/shorthand.js +80 -0
- package/testes/listas/shorthand.js.map +1 -0
- package/testes/listas/status.d.ts +3 -0
- package/testes/listas/status.js +91 -0
- package/testes/listas/status.js.map +1 -0
- package/testes/listas/url.d.ts +3 -0
- package/testes/listas/url.js +28 -0
- package/testes/listas/url.js.map +1 -0
- package/testes/listas/valor-global.d.ts +3 -0
- package/testes/listas/valor-global.js +149 -0
- package/testes/listas/valor-global.js.map +1 -0
- package/testes/listas/valor-numerico.d.ts +3 -0
- package/testes/listas/valor-numerico.js +49 -0
- package/testes/listas/valor-numerico.js.map +1 -0
- package/testes/listas/valor-quantificador.d.ts +3 -0
- package/testes/listas/valor-quantificador.js +184 -0
- package/testes/listas/valor-quantificador.js.map +1 -0
- package/testes/modificadores/cores.test.d.ts +1 -0
- package/testes/modificadores/cores.test.js +111 -0
- package/testes/modificadores/cores.test.js.map +1 -0
- package/testes/modificadores/estilo.test.d.ts +1 -0
- package/testes/modificadores/estilo.test.js +101 -0
- package/testes/modificadores/estilo.test.js.map +1 -0
- package/testes/modificadores/palavras-reservadas.test.d.ts +1 -0
- package/testes/modificadores/palavras-reservadas.test.js +20 -0
- package/testes/modificadores/palavras-reservadas.test.js.map +1 -0
- package/testes/modificadores/posi/303/247/303/243o.test.d.ts +1 -0
- package/testes/modificadores/posi/303/247/303/243o.test.js +101 -0
- package/testes/modificadores/posi/303/247/303/243o.test.js.map +1 -0
- package/testes/modificadores/shorthand.test.d.ts +1 -0
- package/testes/modificadores/shorthand.test.js +23 -0
- package/testes/modificadores/shorthand.test.js.map +1 -0
- package/testes/modificadores/status.test.d.ts +1 -0
- package/testes/modificadores/status.test.js +101 -0
- package/testes/modificadores/status.test.js.map +1 -0
- package/testes/modificadores/url.test.d.ts +1 -0
- package/testes/modificadores/url.test.js +97 -0
- package/testes/modificadores/url.test.js.map +1 -0
- package/testes/modificadores/valor-global.test.d.ts +1 -0
- package/testes/modificadores/valor-global.test.js +107 -0
- package/testes/modificadores/valor-global.test.js.map +1 -0
- package/testes/modificadores/valor-numerico.test.d.ts +1 -0
- package/testes/modificadores/valor-numerico.test.js +95 -0
- package/testes/modificadores/valor-numerico.test.js.map +1 -0
- package/testes/modificadores/valor-quantificador.test.d.ts +1 -0
- package/testes/modificadores/valor-quantificador.test.js +95 -0
- package/testes/modificadores/valor-quantificador.test.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cores.test.js","sourceRoot":"","sources":["../../../testes/modificadores/cores.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 estilo_1 = require("../listas/estilo");
|
|
12
|
+
describe('Testando Seletores com ESTILO como atributo', () => {
|
|
13
|
+
const atributosCss = [
|
|
14
|
+
'dashed', 'dotted', 'groove', 'solid', 'double',
|
|
15
|
+
'ridge', 'inset', 'outset', 'none', 'hidden'
|
|
16
|
+
];
|
|
17
|
+
const atributosFolEs = [
|
|
18
|
+
'tracejado', 'pontilhado', 'entalhado', ['solido', 'sólido'], 'duplicado',
|
|
19
|
+
'sulcado', 'embutido', 'saltado', 'nenhum', 'escondido'
|
|
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(estilo_1.Estilo).length; index += 1) {
|
|
32
|
+
const seletor = new superclasse_1.SeletorModificador(estilo_1.Estilo[index], 'pontilhado', null);
|
|
33
|
+
// LEXADOR
|
|
34
|
+
const resultadoLexador = lexador.mapear([
|
|
35
|
+
"corpo {",
|
|
36
|
+
`${estilo_1.Estilo[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_ESTILO }),
|
|
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('pontilhado');
|
|
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('dotted;');
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
|
|
71
|
+
for (let index = 0; index < Object.keys(estilo_1.Estilo).length; index += 1) {
|
|
72
|
+
// LEXADOR - estilo não informado
|
|
73
|
+
const resultadoLexador = lexador.mapear([
|
|
74
|
+
"lmht {",
|
|
75
|
+
`${estilo_1.Estilo[index]}: ;`,
|
|
76
|
+
"}"
|
|
77
|
+
]);
|
|
78
|
+
expect(resultadoLexador.simbolos).not.toHaveLength(7);
|
|
79
|
+
expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
|
|
80
|
+
// expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_ESTILO }),
|
|
81
|
+
]));
|
|
82
|
+
// Causar erro de digitação
|
|
83
|
+
const seletorIncorreto = estilo_1.Estilo[index].replace(estilo_1.Estilo[index][0], '');
|
|
84
|
+
const novoLexador = lexador.mapear([
|
|
85
|
+
"lmht {",
|
|
86
|
+
`${seletorIncorreto}: solido;`,
|
|
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=estilo.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estilo.test.js","sourceRoot":"","sources":["../../../testes/modificadores/estilo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
|
|
4
|
+
const lexador_1 = require("../../fontes/lexador");
|
|
5
|
+
const tradutor_1 = require("../../fontes/tradutor");
|
|
6
|
+
describe('Testando Seletores que recebem PALAVRAS RESERVADAS como atributo', () => {
|
|
7
|
+
describe('Testes Unitários', () => {
|
|
8
|
+
let lexador;
|
|
9
|
+
let avaliador;
|
|
10
|
+
let tradutor;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
lexador = new lexador_1.Lexador();
|
|
13
|
+
avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
|
|
14
|
+
tradutor = new tradutor_1.Tradutor();
|
|
15
|
+
});
|
|
16
|
+
// ARQUIVO DE TESTES CRIADO PARA PENSARMOS EM UMA LÓGICA DE COMO
|
|
17
|
+
// TESTAR OS SELETORES QUE RECEBEM PALAVRAS ESPECÍFICAS COMO ATRIBUTO
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=palavras-reservadas.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palavras-reservadas.test.js","sourceRoot":"","sources":["../../../testes/modificadores/palavras-reservadas.test.ts"],"names":[],"mappings":";;AAAA,0EAAsE;AACtE,kDAA+C;AAG/C,oDAAiD;AAGjD,QAAQ,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,IAAI,OAAgB,CAAC;QACrB,IAAI,SAA6B,CAAC;QAClC,IAAI,QAAkB,CAAC;QAEvB,UAAU,CAAC,GAAG,EAAE;YACZ,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;YACxB,SAAS,GAAG,IAAI,wCAAkB,EAAE,CAAC;YACrC,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,qEAAqE;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 posi__o_1 = require("../listas/posi\u00E7\u00E3o");
|
|
12
|
+
describe('Testando Seletores de POSIÇÃO', () => {
|
|
13
|
+
const atributosCss = [
|
|
14
|
+
'start', 'end', 'normal', 'stretch', 'center', 'baseline',
|
|
15
|
+
'flex-start', 'flex-end', 'top', 'bottom', 'right', 'left'
|
|
16
|
+
];
|
|
17
|
+
const atributosFolEs = [
|
|
18
|
+
['inicio', 'início'], 'fim', 'normal', 'esticar', 'centro', 'linha-de-base',
|
|
19
|
+
['flex-inicio', 'flex-início'], 'flex-fim', 'superior', 'inferior', 'direita', 'esquerda'
|
|
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(posi__o_1.Posição).length; index += 1) {
|
|
32
|
+
const seletor = new superclasse_1.SeletorModificador(posi__o_1.Posição[index], 'centro', null);
|
|
33
|
+
// LEXADOR
|
|
34
|
+
const resultadoLexador = lexador.mapear([
|
|
35
|
+
"corpo {",
|
|
36
|
+
`${posi__o_1.Posição[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_POSICAO }),
|
|
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('centro');
|
|
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('center;');
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
it('Casos de Falha - Lexador, Avaliador e Tradutor', () => {
|
|
71
|
+
for (let index = 0; index < Object.keys(posi__o_1.Posição).length; index += 1) {
|
|
72
|
+
// LEXADOR - Posição não informada
|
|
73
|
+
const resultadoLexador = lexador.mapear([
|
|
74
|
+
"lmht {",
|
|
75
|
+
`${posi__o_1.Posição[index]}: ;`,
|
|
76
|
+
"}"
|
|
77
|
+
]);
|
|
78
|
+
expect(resultadoLexador.simbolos).not.toHaveLength(7);
|
|
79
|
+
expect(resultadoLexador.simbolos).not.toEqual(expect.arrayContaining([
|
|
80
|
+
// expect.objectContaining({ tipo: tiposDeSimbolos.ATRIBUTO_POSICAO }),
|
|
81
|
+
]));
|
|
82
|
+
// Causar erro de digitação
|
|
83
|
+
const seletorIncorreto = posi__o_1.Posição[index].replace(posi__o_1.Posição[index][0], '');
|
|
84
|
+
const novoLexador = lexador.mapear([
|
|
85
|
+
"lmht {",
|
|
86
|
+
`${seletorIncorreto}: inicio;`,
|
|
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=posi%C3%A7%C3%A3o.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posição.test.js","sourceRoot":"","sources":["../../../testes/modificadores/posição.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
|
|
4
|
+
const lexador_1 = require("../../fontes/lexador");
|
|
5
|
+
const tradutor_1 = require("../../fontes/tradutor");
|
|
6
|
+
describe('Testando Seletores SHORTHAND, que recebem dois ou mais atributos', () => {
|
|
7
|
+
describe('Testes Unitários', () => {
|
|
8
|
+
let lexador;
|
|
9
|
+
let avaliador;
|
|
10
|
+
let tradutor;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
lexador = new lexador_1.Lexador();
|
|
13
|
+
avaliador = new avaliador_sintatico_1.AvaliadorSintatico();
|
|
14
|
+
tradutor = new tradutor_1.Tradutor();
|
|
15
|
+
});
|
|
16
|
+
// ARQUIVO DE TESTES CRIADO PARA PENSARMOS EM UMA LÓGICA DE COMO
|
|
17
|
+
// TESTAR OS SELETORES SHORTHAND, TENDO EM VISTA QUE CADA SELETOR
|
|
18
|
+
// RECEBE UM DETERMINADO NÚMERO DE PARÂMETROS.
|
|
19
|
+
// A QUANTIDADE DE PARÂMETROS QUE CADA SELETOR SHORTHAND RECEBE
|
|
20
|
+
// ESTÁ LISTADA NO FINAL DO ARQUIVO DE LISTA.
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=shorthand.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shorthand.test.js","sourceRoot":"","sources":["../../../testes/modificadores/shorthand.test.ts"],"names":[],"mappings":";;AAAA,0EAAsE;AACtE,kDAA+C;AAG/C,oDAAiD;AAGjD,QAAQ,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,IAAI,OAAgB,CAAC;QACrB,IAAI,SAA6B,CAAC;QAClC,IAAI,QAAkB,CAAC;QAEvB,UAAU,CAAC,GAAG,EAAE;YACZ,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;YACxB,SAAS,GAAG,IAAI,wCAAkB,EAAE,CAAC;YACrC,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,iEAAiE;QACjE,8CAA8C;QAE9C,gEAAgE;QAChE,6CAA6C;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 {};
|