Skip to content

Commit 8932879

Browse files
authored
Permite atribuição de valores custom-indent (#198)
* Cria função de validação de valores custom-indent * Adapta função de validação atribuição abreviada para incluir valores custom-indent * Testes manuais da função de validação personalizada * Adapta primeiro modificador à nova lógica de validação personalizada * Ajustando lógica de modificadores que aceitam valores custom-indent * Ajustando modificadores que aceitam valores custom-indent * Finaliza ajustes em modificadores que aceitam valores custom-indent * Conserta modificador nome-animacao após erro em testes * Implementa primeiros testes unitários de valores personalizados * Reorganiza testes de valores personalizados no arquivo de valores específicos * Adapta lógica para traduzir valores aceitos e não traduzir personalizados * Inclui caso de falha nos testes de valores personalizados * Inclui casos de múltiplos valores personalizados nos testes unitários
1 parent 6cbbd32 commit 8932879

21 files changed

+377
-65
lines changed

exemplos/exemplo2.foles

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** Valores específicos */
12
lmht {
23
recuo: 10px 10px 100px 20px;
34
borda-direita: 2px pontilhado;
@@ -17,4 +18,24 @@ lmht {
1718

1819
lmht {
1920
ajustar-tamanho-fonte: altura-cap 0.5;
20-
}
21+
}
22+
23+
lmht {
24+
propriedade-transicao: todas, test1;
25+
}
26+
27+
lmht {
28+
definir-contador: meu-contador 5 contador2 0;
29+
ao-mudar: left, top;
30+
coluna-em-grade: 3 span;
31+
estilo-lista: dentro meu-estilo;
32+
fim-linha-em-grade: span 3;
33+
fim-coluna-em-grade: span 3;
34+
incrementar-contador: meu-contador -4;
35+
início-linha-em-grade: span 2;
36+
inicio-coluna-em-grade: span 2;
37+
linha-em-grade: span some-grid-area;
38+
nome-animacao: test_05;
39+
propriedade-transicao: test1, animation4;
40+
tamanho-grade: span 2;
41+
}

fontes/foles.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,6 @@ export class FolEs {
118118
}
119119

120120
// const testeFoles = new FolEs(false);
121-
// console.log(testeFoles.converterParaCss('../exemplos/exemplo6.foles'));
121+
// console.log(testeFoles.converterParaCss('../exemplos/exemplo2.foles'));
122122
// console.log(a.converterParaFolEs('../exemplos/reverso/exemplo-metodos.css'));
123123
// console.log(a.converterParaFolEs('../exemplos/reverso/exemplo-codigo.css'));

fontes/modificadores/ao-mudar.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { valoresGlobais } from "./atributos/globais";
22
import { validarValores } from "./validacoes/comum";
33
import { Modificador, PragmasModificador } from "./superclasse";
4+
import { validarAtribuicaoAbreviada } from "./validacoes/atribuicao-abreviada";
45

56
export class AoMudar extends Modificador {
67
valoresAceitos: { [valorFoles: string]: string } = {
@@ -19,8 +20,13 @@ export class AoMudar extends Modificador {
1920
) {
2021
super("ao-mudar", "will-change", pragmas);
2122

22-
if (!valorVariavel)
23-
validarValores("ao-mudar", valor, this.valoresAceitos);
23+
if (!valorVariavel) {
24+
if (valor.includes(" ")) {
25+
validarAtribuicaoAbreviada("comum", "ao-mudar", valor, this.valoresAceitos, undefined, false, true);
26+
} else {
27+
validarValores("ao-mudar", valor, this.valoresAceitos);
28+
}
29+
}
2430

2531
this.valor = valor;
2632
}

fontes/modificadores/coluna-em-grade.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,10 @@ export class ColunaEmGrade extends Modificador {
1616
super("coluna-em-grade", "grid-column", pragmas);
1717

1818
if (!valorVariavel) {
19-
if (valor.includes("/")) {
20-
validarAtribuicaoAbreviada("numérica", "coluna-em-grade", valor, this.valoresAceitos);
19+
if (valor.includes("/") || valor.includes(" ")) {
20+
validarAtribuicaoAbreviada("numérica", "coluna-em-grade", valor, this.valoresAceitos, undefined, false, true);
2121
} else {
22-
validarValorNumerico(
23-
"coluna-em-grade",
24-
valor,
25-
this.valoresAceitos,
26-
);
22+
validarValorNumerico("coluna-em-grade", valor, this.valoresAceitos);
2723
}
2824
}
2925

fontes/modificadores/definir-contador.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Modificador, PragmasModificador } from "./superclasse";
2-
import { validarValores } from "./validacoes/comum";
2+
import { validarAtribuicaoAbreviada } from "./validacoes/atribuicao-abreviada";
3+
import { validarValorNumerico } from "./validacoes/numerica";
34

45
export class DefinirContador extends Modificador {
56
valoresAceitos: { [valorFoles: string]: string } = {
@@ -13,9 +14,14 @@ export class DefinirContador extends Modificador {
1314
valorVariavel: boolean = false,
1415
) {
1516
super("definir-contador", "counter-set", pragmas);
16-
17-
if (!valorVariavel)
18-
validarValores("definir-contador", valor, this.valoresAceitos);
17+
18+
if (!valorVariavel) {
19+
if (valor.includes(" ")) {
20+
validarAtribuicaoAbreviada("numérica", "definir-contador", valor, this.valoresAceitos, undefined, false, true);
21+
} else {
22+
validarValorNumerico("definir-contador", valor, this.valoresAceitos);
23+
}
24+
}
1925

2026
this.valor = valor;
2127
}

fontes/modificadores/estilo-lista.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export class EstiloLista extends Modificador {
2323

2424
if (!valorVariavel) {
2525
if (typeof valor === 'string' && valor.includes(" ")) {
26-
validarAtribuicaoAbreviada("numérica", "estilo-lista", valor, this.valoresAceitos, valoresExtra);
26+
validarAtribuicaoAbreviada("numérica", "estilo-lista", valor, this.valoresAceitos, valoresExtra, false, true);
2727
} else {
2828
validarValorNumerico("estilo-lista", valor, this.valoresAceitos, valoresExtra);
2929
}

fontes/modificadores/fim-coluna-em-grade.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Modificador, PragmasModificador } from "./superclasse";
2+
import { validarAtribuicaoAbreviada } from "./validacoes/atribuicao-abreviada";
23
import { validarValorNumerico } from "./validacoes/numerica";
34
import { proibirQuantificador } from "./validacoes/proibir-quantificador";
45

@@ -15,12 +16,13 @@ export class FimColunaEmGrade extends Modificador {
1516
) {
1617
super("fim-coluna-em-grade", "grid-column-end", pragmas);
1718

18-
if (!valorVariavel)
19-
validarValorNumerico(
20-
"fim-coluna-em-grade",
21-
valor,
22-
this.valoresAceitos,
23-
);
19+
if (!valorVariavel) {
20+
if (valor.includes(" ")) {
21+
validarAtribuicaoAbreviada("numérica", "fim-coluna-em-grade", valor, this.valoresAceitos, undefined, false, true);
22+
} else {
23+
validarValorNumerico("fim-coluna-em-grade", valor, this.valoresAceitos);
24+
}
25+
}
2426

2527
this.valor = valor;
2628

fontes/modificadores/fim-linha-em-grade.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Modificador, PragmasModificador } from "./superclasse";
2+
import { validarAtribuicaoAbreviada } from "./validacoes/atribuicao-abreviada";
23
import { validarValorNumerico } from "./validacoes/numerica";
34
import { proibirQuantificador } from "./validacoes/proibir-quantificador";
45

@@ -15,12 +16,13 @@ export class FimLinhaEmGrade extends Modificador {
1516
) {
1617
super("fim-linha-em-grade", "grid-row-end", pragmas);
1718

18-
if (!valorVariavel)
19-
validarValorNumerico(
20-
"fim-linha-em-grade",
21-
valor,
22-
this.valoresAceitos,
23-
);
19+
if (!valorVariavel) {
20+
if (valor.includes(" ")) {
21+
validarAtribuicaoAbreviada("numérica", "fim-linha-em-grade", valor, this.valoresAceitos, undefined, false, true);
22+
} else {
23+
validarValorNumerico("fim-linha-em-grade", valor, this.valoresAceitos);
24+
}
25+
}
2426

2527
this.valor = valor;
2628

fontes/modificadores/incrementar-contador.ts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Modificador, PragmasModificador } from "./superclasse";
2+
import { validarAtribuicaoAbreviada } from "./validacoes/atribuicao-abreviada";
23
import { validarValorNumerico } from "./validacoes/numerica";
34

45
export class IncrementarContador extends Modificador {
@@ -14,19 +15,13 @@ export class IncrementarContador extends Modificador {
1415
) {
1516
super("incrementar-contador", "counter-increment", pragmas);
1617

17-
// OBS.: A sintaxe desse modificador espera receber:
18-
// 1. o NOME do contador (<custom-ident>);
19-
// 2. um NÚMERO INTEIRO que represente a incrementação do contador.
20-
21-
// Ex.: incrementar-contador: meu-contador -4;
22-
23-
// A lógica abaixo cobre somente o recebimento de 'nenhum' e de números positivos.
24-
if (!valorVariavel)
25-
validarValorNumerico(
26-
"incrementar-contador",
27-
valor,
28-
this.valoresAceitos,
29-
);
18+
if (!valorVariavel) {
19+
if (valor.includes(" ")) {
20+
validarAtribuicaoAbreviada("numérica", "incrementar-contador", valor, this.valoresAceitos, undefined, false, true);
21+
} else {
22+
validarValorNumerico("incrementar-contador", valor, this.valoresAceitos);
23+
}
24+
}
3025

3126
this.valor = valor;
3227
}

fontes/modificadores/inicio-coluna-em-grade.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Modificador, PragmasModificador } from "./superclasse";
2+
import { validarAtribuicaoAbreviada } from "./validacoes/atribuicao-abreviada";
23
import { validarValorNumerico } from "./validacoes/numerica";
34
import { proibirQuantificador } from "./validacoes/proibir-quantificador";
45

@@ -20,11 +21,11 @@ export class InicioColunaEmGrade extends Modificador {
2021
);
2122

2223
if (!valorVariavel) {
23-
validarValorNumerico(
24-
"início-coluna-em-grade",
25-
valor,
26-
this.valoresAceitos,
27-
);
24+
if (valor.includes(" ")) {
25+
validarAtribuicaoAbreviada("numérica", 'início-coluna-em-grade', valor, this.valoresAceitos, undefined, false, true);
26+
} else {
27+
validarValorNumerico("início-coluna-em-grade", valor, this.valoresAceitos);
28+
}
2829

2930
proibirQuantificador("início-coluna-em-grade", quantificador);
3031
}

0 commit comments

Comments
 (0)