@designliquido/foles 0.7.1 → 0.7.3
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/coverage/lcov-report/block-navigation.d.ts +1 -1
- package/coverage/lcov-report/block-navigation.js +69 -69
- package/coverage/lcov-report/block-navigation.js.map +1 -1
- package/coverage/lcov-report/prettify.js +476 -476
- package/coverage/lcov-report/prettify.js.map +1 -1
- package/coverage/lcov-report/sorter.d.ts +1 -1
- package/coverage/lcov-report/sorter.js +162 -162
- package/coverage/lcov-report/sorter.js.map +1 -1
- package/execucao.d.ts +1 -1
- package/execucao.js +53 -53
- package/execucao.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.d.ts +42 -42
- package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js +185 -185
- package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +47 -46
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +1011 -962
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
- package/fontes/avaliador-sintatico/index.d.ts +2 -2
- package/fontes/avaliador-sintatico/index.js +18 -18
- package/fontes/declaracoes/declaracao.d.ts +9 -9
- package/fontes/declaracoes/declaracao.js +12 -12
- package/fontes/declaracoes/index.d.ts +1 -1
- package/fontes/declaracoes/index.js +17 -17
- package/fontes/estruturas/dicionario-estruturas-html.d.ts +3 -3
- package/fontes/estruturas/dicionario-estruturas-html.js +157 -157
- package/fontes/estruturas/dicionario-estruturas-lmht.d.ts +3 -3
- package/fontes/estruturas/dicionario-estruturas-lmht.js +191 -191
- package/fontes/estruturas/estrutura.d.ts +6 -6
- package/fontes/estruturas/estrutura.js +10 -10
- package/fontes/estruturas/lmht/abreviacao.d.ts +5 -5
- package/fontes/estruturas/lmht/abreviacao.js +10 -10
- package/fontes/estruturas/lmht/aparte.d.ts +5 -5
- package/fontes/estruturas/lmht/aparte.js +10 -10
- package/fontes/estruturas/lmht/area-texto.d.ts +5 -5
- package/fontes/estruturas/lmht/area-texto.js +10 -10
- package/fontes/estruturas/lmht/area.d.ts +5 -5
- package/fontes/estruturas/lmht/area.js +10 -10
- package/fontes/estruturas/lmht/artigo.d.ts +5 -5
- package/fontes/estruturas/lmht/artigo.js +10 -10
- package/fontes/estruturas/lmht/aspas.d.ts +5 -5
- package/fontes/estruturas/lmht/aspas.js +10 -10
- package/fontes/estruturas/lmht/audio.d.ts +5 -5
- package/fontes/estruturas/lmht/audio.js +10 -10
- package/fontes/estruturas/lmht/botao.d.ts +5 -5
- package/fontes/estruturas/lmht/botao.js +10 -10
- package/fontes/estruturas/lmht/cabeca-tabela.d.ts +5 -5
- package/fontes/estruturas/lmht/cabeca-tabela.js +10 -10
- package/fontes/estruturas/lmht/cabeca.d.ts +5 -5
- package/fontes/estruturas/lmht/cabeca.js +10 -10
- package/fontes/estruturas/lmht/campo.d.ts +5 -5
- package/fontes/estruturas/lmht/campo.js +10 -10
- package/fontes/estruturas/lmht/campos.d.ts +5 -5
- package/fontes/estruturas/lmht/campos.js +10 -10
- package/fontes/estruturas/lmht/canvas.d.ts +5 -5
- package/fontes/estruturas/lmht/canvas.js +10 -10
- package/fontes/estruturas/lmht/celula.d.ts +5 -5
- package/fontes/estruturas/lmht/celula.js +10 -10
- package/fontes/estruturas/lmht/citacao.d.ts +5 -5
- package/fontes/estruturas/lmht/citacao.js +10 -10
- package/fontes/estruturas/lmht/codigo.d.ts +5 -5
- package/fontes/estruturas/lmht/codigo.js +10 -10
- package/fontes/estruturas/lmht/coluna.d.ts +5 -5
- package/fontes/estruturas/lmht/coluna.js +10 -10
- package/fontes/estruturas/lmht/corpo-tabela.d.ts +5 -5
- package/fontes/estruturas/lmht/corpo-tabela.js +10 -10
- package/fontes/estruturas/lmht/corpo.d.ts +5 -5
- package/fontes/estruturas/lmht/corpo.js +10 -10
- package/fontes/estruturas/lmht/definicao.d.ts +5 -5
- package/fontes/estruturas/lmht/definicao.js +10 -10
- package/fontes/estruturas/lmht/detalhes.d.ts +5 -5
- package/fontes/estruturas/lmht/detalhes.js +10 -10
- package/fontes/estruturas/lmht/divisao.d.ts +5 -5
- package/fontes/estruturas/lmht/divisao.js +10 -10
- package/fontes/estruturas/lmht/endereco.d.ts +5 -5
- package/fontes/estruturas/lmht/endereco.js +10 -10
- package/fontes/estruturas/lmht/envelope-texto.d.ts +5 -5
- package/fontes/estruturas/lmht/envelope-texto.js +10 -10
- package/fontes/estruturas/lmht/etiqueta.d.ts +5 -5
- package/fontes/estruturas/lmht/etiqueta.js +10 -10
- package/fontes/estruturas/lmht/excluido.d.ts +5 -5
- package/fontes/estruturas/lmht/excluido.js +10 -10
- package/fontes/estruturas/lmht/exemplo.d.ts +5 -5
- package/fontes/estruturas/lmht/exemplo.js +10 -10
- package/fontes/estruturas/lmht/formulario.d.ts +5 -5
- package/fontes/estruturas/lmht/formulario.js +10 -10
- package/fontes/estruturas/lmht/grupo-colunas.d.ts +5 -5
- package/fontes/estruturas/lmht/grupo-colunas.js +10 -10
- package/fontes/estruturas/lmht/grupo-opcoes.d.ts +5 -5
- package/fontes/estruturas/lmht/grupo-opcoes.js +10 -10
- package/fontes/estruturas/lmht/imagem.d.ts +5 -5
- package/fontes/estruturas/lmht/imagem.js +10 -10
- package/fontes/estruturas/lmht/invisivel.d.ts +5 -5
- package/fontes/estruturas/lmht/invisivel.js +10 -10
- package/fontes/estruturas/lmht/italico.d.ts +5 -5
- package/fontes/estruturas/lmht/italico.js +10 -10
- package/fontes/estruturas/lmht/item-lista.d.ts +5 -5
- package/fontes/estruturas/lmht/item-lista.js +10 -10
- package/fontes/estruturas/lmht/ligacao.d.ts +5 -5
- package/fontes/estruturas/lmht/ligacao.js +10 -10
- package/fontes/estruturas/lmht/linha-horizontal.d.ts +5 -5
- package/fontes/estruturas/lmht/linha-horizontal.js +10 -10
- package/fontes/estruturas/lmht/linha.d.ts +5 -5
- package/fontes/estruturas/lmht/linha.js +10 -10
- package/fontes/estruturas/lmht/lista-definicoes.d.ts +5 -5
- package/fontes/estruturas/lmht/lista-definicoes.js +10 -10
- package/fontes/estruturas/lmht/lista-numerada.d.ts +5 -5
- package/fontes/estruturas/lmht/lista-numerada.js +10 -10
- package/fontes/estruturas/lmht/lista-pesquisavel.d.ts +5 -5
- package/fontes/estruturas/lmht/lista-pesquisavel.js +10 -10
- package/fontes/estruturas/lmht/lista-simples.d.ts +5 -5
- package/fontes/estruturas/lmht/lista-simples.js +10 -10
- package/fontes/estruturas/lmht/lmht.d.ts +5 -5
- package/fontes/estruturas/lmht/lmht.js +10 -10
- package/fontes/estruturas/lmht/marca.d.ts +5 -5
- package/fontes/estruturas/lmht/marca.js +10 -10
- package/fontes/estruturas/lmht/medidor.d.ts +5 -5
- package/fontes/estruturas/lmht/medidor.js +10 -10
- package/fontes/estruturas/lmht/navegacao.d.ts +5 -5
- package/fontes/estruturas/lmht/navegacao.js +10 -10
- package/fontes/estruturas/lmht/negrito.d.ts +5 -5
- package/fontes/estruturas/lmht/negrito.js +10 -10
- package/fontes/estruturas/lmht/objeto.d.ts +5 -5
- package/fontes/estruturas/lmht/objeto.js +10 -10
- package/fontes/estruturas/lmht/opcao.d.ts +5 -5
- package/fontes/estruturas/lmht/opcao.js +10 -10
- package/fontes/estruturas/lmht/paragrafo.d.ts +5 -5
- package/fontes/estruturas/lmht/paragrafo.js +10 -10
- package/fontes/estruturas/lmht/preformatado.d.ts +5 -5
- package/fontes/estruturas/lmht/preformatado.js +10 -10
- package/fontes/estruturas/lmht/principal.d.ts +5 -5
- package/fontes/estruturas/lmht/principal.js +10 -10
- package/fontes/estruturas/lmht/progresso.d.ts +5 -5
- package/fontes/estruturas/lmht/progresso.js +10 -10
- package/fontes/estruturas/lmht/quebra-linha-oportuna.d.ts +5 -5
- package/fontes/estruturas/lmht/quebra-linha-oportuna.js +10 -10
- package/fontes/estruturas/lmht/quebra-linha.d.ts +5 -5
- package/fontes/estruturas/lmht/quebra-linha.js +10 -10
- package/fontes/estruturas/lmht/recurso.d.ts +5 -5
- package/fontes/estruturas/lmht/recurso.js +10 -10
- package/fontes/estruturas/lmht/riscado.d.ts +5 -5
- package/fontes/estruturas/lmht/riscado.js +10 -10
- package/fontes/estruturas/lmht/script.d.ts +5 -5
- package/fontes/estruturas/lmht/script.js +10 -10
- package/fontes/estruturas/lmht/secao.d.ts +5 -5
- package/fontes/estruturas/lmht/secao.js +10 -10
- package/fontes/estruturas/lmht/selecao.d.ts +5 -5
- package/fontes/estruturas/lmht/selecao.js +10 -10
- package/fontes/estruturas/lmht/sem-script.d.ts +5 -5
- package/fontes/estruturas/lmht/sem-script.js +10 -10
- package/fontes/estruturas/lmht/sobrescrito.d.ts +5 -5
- package/fontes/estruturas/lmht/sobrescrito.js +10 -10
- package/fontes/estruturas/lmht/sublinhado.d.ts +5 -5
- package/fontes/estruturas/lmht/sublinhado.js +10 -10
- package/fontes/estruturas/lmht/subscrito.d.ts +5 -5
- package/fontes/estruturas/lmht/subscrito.js +10 -10
- package/fontes/estruturas/lmht/sumario.d.ts +5 -5
- package/fontes/estruturas/lmht/sumario.js +10 -10
- package/fontes/estruturas/lmht/tabela.d.ts +5 -5
- package/fontes/estruturas/lmht/tabela.js +10 -10
- package/fontes/estruturas/lmht/teclado.d.ts +5 -5
- package/fontes/estruturas/lmht/teclado.js +10 -10
- package/fontes/estruturas/lmht/tempo.d.ts +5 -5
- package/fontes/estruturas/lmht/tempo.js +10 -10
- package/fontes/estruturas/lmht/termo.d.ts +5 -5
- package/fontes/estruturas/lmht/termo.js +10 -10
- package/fontes/estruturas/lmht/texto-pequeno.d.ts +5 -5
- package/fontes/estruturas/lmht/texto-pequeno.js +10 -10
- package/fontes/estruturas/lmht/titulo1.d.ts +5 -5
- package/fontes/estruturas/lmht/titulo1.js +10 -10
- package/fontes/estruturas/lmht/titulo2.d.ts +5 -5
- package/fontes/estruturas/lmht/titulo2.js +10 -10
- package/fontes/estruturas/lmht/titulo3.d.ts +5 -5
- package/fontes/estruturas/lmht/titulo3.js +10 -10
- package/fontes/estruturas/lmht/titulo4.d.ts +5 -5
- package/fontes/estruturas/lmht/titulo4.js +10 -10
- package/fontes/estruturas/lmht/titulo5.d.ts +5 -5
- package/fontes/estruturas/lmht/titulo5.js +10 -10
- package/fontes/estruturas/lmht/titulo6.d.ts +5 -5
- package/fontes/estruturas/lmht/titulo6.js +10 -10
- package/fontes/estruturas/lmht/variavel.d.ts +5 -5
- package/fontes/estruturas/lmht/variavel.js +10 -10
- package/fontes/estruturas/pragmas-estrutura.d.ts +5 -5
- package/fontes/estruturas/pragmas-estrutura.js +2 -2
- package/fontes/estruturas/seletor-estruturas-html.d.ts +4 -4
- package/fontes/estruturas/seletor-estruturas-html.js +14 -14
- package/fontes/estruturas/seletor-estruturas-html.js.map +1 -1
- package/fontes/estruturas/seletor-estruturas-lmht.d.ts +4 -4
- package/fontes/estruturas/seletor-estruturas-lmht.js +14 -14
- package/fontes/estruturas/seletor-estruturas-lmht.js.map +1 -1
- package/fontes/exportador/index.d.ts +14 -14
- package/fontes/exportador/index.js +44 -44
- package/fontes/exportador/index.js.map +1 -1
- package/fontes/foles.d.ts +37 -37
- package/fontes/foles.js +77 -77
- package/fontes/foles.js.map +1 -1
- package/fontes/gerador-mapa/index.d.ts +2 -2
- package/fontes/gerador-mapa/index.js +6 -6
- package/fontes/importador/importador.d.ts +12 -12
- package/fontes/importador/importador.js +70 -70
- package/fontes/importador/importador.js.map +1 -1
- package/fontes/importador/index.d.ts +1 -1
- package/fontes/importador/index.js +17 -17
- package/fontes/interfaces/avaliador-sintatico-interface.d.ts +5 -5
- package/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
- package/fontes/interfaces/importador-interface.d.ts +4 -4
- package/fontes/interfaces/importador-interface.js +2 -2
- package/fontes/interfaces/index.d.ts +5 -5
- package/fontes/interfaces/index.js +21 -21
- package/fontes/interfaces/lexador-interface.d.ts +6 -6
- package/fontes/interfaces/lexador-interface.js +2 -2
- package/fontes/interfaces/mapa-origens-interface.d.ts +9 -9
- package/fontes/interfaces/mapa-origens-interface.js +2 -2
- package/fontes/interfaces/resultado-lexador-interface.d.ts +4 -4
- package/fontes/interfaces/resultado-lexador-interface.js +2 -2
- package/fontes/interfaces/simbolo-interface.d.ts +9 -9
- package/fontes/interfaces/simbolo-interface.js +2 -2
- package/fontes/lexador/erro-lexador.d.ts +5 -5
- package/fontes/lexador/erro-lexador.js +2 -2
- package/fontes/lexador/index.d.ts +2 -2
- package/fontes/lexador/index.js +18 -18
- package/fontes/lexador/lexador-reverso.d.ts +34 -34
- package/fontes/lexador/lexador-reverso.js +184 -184
- package/fontes/lexador/lexador-reverso.js.map +1 -1
- package/fontes/lexador/lexador.d.ts +39 -39
- package/fontes/lexador/lexador.js +293 -293
- package/fontes/lexador/lexador.js.map +1 -1
- package/fontes/lexador/palavras-reservadas/css.d.ts +86 -86
- package/fontes/lexador/palavras-reservadas/css.js +91 -91
- package/fontes/lexador/palavras-reservadas/foles.d.ts +541 -541
- package/fontes/lexador/palavras-reservadas/foles.js +859 -859
- package/fontes/lexador/palavras-reservadas/index.d.ts +2 -2
- package/fontes/lexador/palavras-reservadas/index.js +18 -18
- package/fontes/lexador/simbolo.d.ts +10 -10
- package/fontes/lexador/simbolo.js +17 -17
- package/fontes/modificadores/agrupar-palavra.d.ts +7 -7
- package/fontes/modificadores/agrupar-palavra.js +20 -20
- package/fontes/modificadores/agrupar-vazamento.d.ts +7 -7
- package/fontes/modificadores/agrupar-vazamento.js +20 -20
- package/fontes/modificadores/ajustar-objeto.d.ts +7 -7
- package/fontes/modificadores/ajustar-objeto.js +22 -22
- package/fontes/modificadores/ajustar-tamanho-fonte.d.ts +7 -7
- package/fontes/modificadores/ajustar-tamanho-fonte.js +26 -26
- package/fontes/modificadores/ajuste-cor-forcado.d.ts +7 -7
- package/fontes/modificadores/ajuste-cor-forcado.js +19 -19
- package/fontes/modificadores/alinhar-conteudo.d.ts +7 -7
- package/fontes/modificadores/alinhar-conteudo.js +39 -39
- package/fontes/modificadores/alinhar-encaixe-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/alinhar-encaixe-rolagem-mouse.js +22 -22
- package/fontes/modificadores/alinhar-itens.d.ts +7 -7
- package/fontes/modificadores/alinhar-itens.js +34 -34
- package/fontes/modificadores/alinhar-se.d.ts +7 -7
- package/fontes/modificadores/alinhar-se.js +34 -34
- package/fontes/modificadores/alinhar-texto.d.ts +7 -7
- package/fontes/modificadores/alinhar-texto.js +21 -21
- package/fontes/modificadores/alinhar-ultimo-item.d.ts +7 -7
- package/fontes/modificadores/alinhar-ultimo-item.js +30 -30
- package/fontes/modificadores/alinhar-vertical.d.ts +7 -7
- package/fontes/modificadores/alinhar-vertical.js +29 -29
- package/fontes/modificadores/alinhar-vertical.js.map +1 -1
- package/fontes/modificadores/altura-linha.d.ts +7 -7
- package/fontes/modificadores/altura-linha.js +23 -23
- package/fontes/modificadores/altura-linha.js.map +1 -1
- package/fontes/modificadores/altura-maxima.d.ts +7 -7
- package/fontes/modificadores/altura-maxima.js +27 -27
- package/fontes/modificadores/altura-maxima.js.map +1 -1
- package/fontes/modificadores/altura-minima.d.ts +7 -7
- package/fontes/modificadores/altura-minima.js +27 -27
- package/fontes/modificadores/altura-minima.js.map +1 -1
- package/fontes/modificadores/altura.d.ts +7 -7
- package/fontes/modificadores/altura.js +27 -27
- package/fontes/modificadores/altura.js.map +1 -1
- package/fontes/modificadores/animacao.d.ts +7 -7
- package/fontes/modificadores/animacao.js +34 -34
- package/fontes/modificadores/ao-mudar.d.ts +7 -7
- package/fontes/modificadores/ao-mudar.js +22 -22
- package/fontes/modificadores/aparencia.d.ts +10 -10
- package/fontes/modificadores/aparencia.js +46 -46
- package/fontes/modificadores/area-mascara.d.ts +7 -7
- package/fontes/modificadores/area-mascara.js +40 -32
- package/fontes/modificadores/area-mascara.js.map +1 -1
- package/fontes/modificadores/atraso-animacao.d.ts +4 -4
- package/fontes/modificadores/atraso-animacao.js +19 -19
- package/fontes/modificadores/atraso-animacao.js.map +1 -1
- package/fontes/modificadores/atraso-transicao.d.ts +4 -4
- package/fontes/modificadores/atraso-transicao.js +27 -19
- package/fontes/modificadores/atraso-transicao.js.map +1 -1
- package/fontes/modificadores/atributos/cores.d.ts +3 -3
- package/fontes/modificadores/atributos/cores.js +177 -177
- package/fontes/modificadores/atributos/estilo.d.ts +3 -3
- package/fontes/modificadores/atributos/estilo.js +17 -17
- package/fontes/modificadores/atributos/gerais.d.ts +3 -3
- package/fontes/modificadores/atributos/gerais.js +209 -209
- package/fontes/modificadores/atributos/globais.d.ts +3 -3
- package/fontes/modificadores/atributos/globais.js +10 -10
- package/fontes/modificadores/atributos/posicoes.d.ts +9 -9
- package/fontes/modificadores/atributos/posicoes.js +36 -36
- package/fontes/modificadores/atributos/quantificadores.d.ts +30 -30
- package/fontes/modificadores/atributos/quantificadores.js +114 -114
- package/fontes/modificadores/borda-direita.d.ts +7 -7
- package/fontes/modificadores/borda-direita.js +43 -43
- package/fontes/modificadores/borda-direita.js.map +1 -1
- package/fontes/modificadores/borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/borda-em-bloco.js +36 -36
- package/fontes/modificadores/borda-em-bloco.js.map +1 -1
- package/fontes/modificadores/borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/borda-em-linha.js +36 -36
- package/fontes/modificadores/borda-em-linha.js.map +1 -1
- package/fontes/modificadores/borda-esquerda.d.ts +7 -7
- package/fontes/modificadores/borda-esquerda.js +43 -43
- package/fontes/modificadores/borda-esquerda.js.map +1 -1
- package/fontes/modificadores/borda-inferior.d.ts +7 -7
- package/fontes/modificadores/borda-inferior.js +43 -43
- package/fontes/modificadores/borda-inferior.js.map +1 -1
- package/fontes/modificadores/borda-mascara.d.ts +7 -7
- package/fontes/modificadores/borda-mascara.js +43 -43
- package/fontes/modificadores/borda-mascara.js.map +1 -1
- package/fontes/modificadores/borda-superior.d.ts +7 -7
- package/fontes/modificadores/borda-superior.js +43 -43
- package/fontes/modificadores/borda-superior.js.map +1 -1
- package/fontes/modificadores/borda.d.ts +7 -7
- package/fontes/modificadores/borda.js +43 -43
- package/fontes/modificadores/borda.js.map +1 -1
- package/fontes/modificadores/calha-barra-rolagem.d.ts +7 -7
- package/fontes/modificadores/calha-barra-rolagem.js +21 -21
- package/fontes/modificadores/celulas-vazias.d.ts +7 -7
- package/fontes/modificadores/celulas-vazias.js +19 -19
- package/fontes/modificadores/citacoes.d.ts +7 -7
- package/fontes/modificadores/citacoes.js +19 -19
- package/fontes/modificadores/coluna-em-grade.d.ts +7 -7
- package/fontes/modificadores/coluna-em-grade.js +26 -20
- package/fontes/modificadores/coluna-em-grade.js.map +1 -1
- package/fontes/modificadores/colunas.d.ts +7 -7
- package/fontes/modificadores/colunas.js +24 -24
- package/fontes/modificadores/colunas.js.map +1 -1
- package/fontes/modificadores/combinar-texto-vertical.d.ts +7 -7
- package/fontes/modificadores/combinar-texto-vertical.js +21 -21
- package/fontes/modificadores/comportamento-em-bloco-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/comportamento-em-bloco-rolagem-mouse.js +20 -20
- package/fontes/modificadores/comportamento-em-linha-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/comportamento-em-linha-rolagem-mouse.js +20 -20
- package/fontes/modificadores/comportamento-horizontal-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/comportamento-horizontal-rolagem-mouse.js +20 -20
- package/fontes/modificadores/comportamento-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/comportamento-rolagem-mouse.js +20 -20
- package/fontes/modificadores/comportamento-rolagem.d.ts +7 -7
- package/fontes/modificadores/comportamento-rolagem.js +19 -19
- package/fontes/modificadores/comportamento-vertical-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/comportamento-vertical-rolagem-mouse.js +20 -20
- package/fontes/modificadores/composicao-mascara.d.ts +7 -7
- package/fontes/modificadores/composicao-mascara.js +21 -21
- package/fontes/modificadores/configuracoes-variacao-fonte.d.ts +7 -7
- package/fontes/modificadores/configuracoes-variacao-fonte.js +18 -18
- package/fontes/modificadores/contar-coluna.d.ts +7 -7
- package/fontes/modificadores/contar-coluna.js +19 -19
- package/fontes/modificadores/contem.d.ts +7 -7
- package/fontes/modificadores/contem.js +26 -26
- package/fontes/modificadores/conteudo.d.ts +7 -7
- package/fontes/modificadores/conteudo.js +29 -29
- package/fontes/modificadores/contorno.d.ts +7 -7
- package/fontes/modificadores/contorno.js +42 -42
- package/fontes/modificadores/contorno.js.map +1 -1
- package/fontes/modificadores/coordenadas.d.ts +7 -7
- package/fontes/modificadores/coordenadas.js +24 -24
- package/fontes/modificadores/coordenadas.js.map +1 -1
- package/fontes/modificadores/cor-barra-rolagem.d.ts +7 -7
- package/fontes/modificadores/cor-barra-rolagem.js +18 -18
- package/fontes/modificadores/cor-borda-direita.d.ts +4 -4
- package/fontes/modificadores/cor-borda-direita.js +15 -15
- package/fontes/modificadores/cor-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/cor-borda-em-bloco.js +15 -15
- package/fontes/modificadores/cor-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/cor-borda-em-linha.js +15 -15
- package/fontes/modificadores/cor-borda-esquerda.d.ts +4 -4
- package/fontes/modificadores/cor-borda-esquerda.js +15 -15
- package/fontes/modificadores/cor-borda-inferior.d.ts +4 -4
- package/fontes/modificadores/cor-borda-inferior.js +15 -15
- package/fontes/modificadores/cor-borda-superior.d.ts +4 -4
- package/fontes/modificadores/cor-borda-superior.js +15 -15
- package/fontes/modificadores/cor-borda.d.ts +4 -4
- package/fontes/modificadores/cor-borda.js +17 -17
- package/fontes/modificadores/cor-contorno.d.ts +7 -7
- package/fontes/modificadores/cor-contorno.js +18 -18
- package/fontes/modificadores/cor-cursor.d.ts +7 -7
- package/fontes/modificadores/cor-cursor.js +18 -18
- package/fontes/modificadores/cor-destaque.d.ts +7 -7
- package/fontes/modificadores/cor-destaque.js +18 -18
- package/fontes/modificadores/cor-enfase-texto.d.ts +4 -4
- package/fontes/modificadores/cor-enfase-texto.js +15 -15
- package/fontes/modificadores/cor-fim-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/cor-fim-borda-em-bloco.js +15 -15
- package/fontes/modificadores/cor-fim-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/cor-fim-borda-em-linha.js +15 -15
- package/fontes/modificadores/cor-fundo.d.ts +4 -4
- package/fontes/modificadores/cor-fundo.js +15 -15
- package/fontes/modificadores/cor-inicio-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/cor-inicio-borda-em-bloco.js +15 -15
- package/fontes/modificadores/cor-inicio-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/cor-inicio-borda-em-linha.js +15 -15
- package/fontes/modificadores/cor.d.ts +4 -4
- package/fontes/modificadores/cor.js +15 -15
- package/fontes/modificadores/cursor.d.ts +7 -7
- package/fontes/modificadores/cursor.js +54 -54
- package/fontes/modificadores/decoracao-cor-texto .d.ts +4 -4
- package/fontes/modificadores/decoracao-cor-texto .js +15 -15
- package/fontes/modificadores/decoracao-espessura-texto.d.ts +7 -7
- package/fontes/modificadores/decoracao-espessura-texto.js +23 -23
- package/fontes/modificadores/decoracao-espessura-texto.js.map +1 -1
- package/fontes/modificadores/decoracao-estilo-texto.d.ts +7 -7
- package/fontes/modificadores/decoracao-estilo-texto.js +24 -24
- package/fontes/modificadores/decoracao-linha-texto.d.ts +7 -7
- package/fontes/modificadores/decoracao-linha-texto.js +23 -23
- package/fontes/modificadores/decoracao-texto-sublinhado.d.ts +7 -7
- package/fontes/modificadores/decoracao-texto-sublinhado.js +20 -20
- package/fontes/modificadores/decoracao-texto.d.ts +7 -7
- package/fontes/modificadores/decoracao-texto.js +42 -42
- package/fontes/modificadores/decoracao-texto.js.map +1 -1
- package/fontes/modificadores/definir-contador.d.ts +7 -7
- package/fontes/modificadores/definir-contador.js +18 -18
- package/fontes/modificadores/design-tabela.d.ts +7 -7
- package/fontes/modificadores/design-tabela.js +19 -19
- package/fontes/modificadores/deslocamento-em-ancora.d.ts +7 -7
- package/fontes/modificadores/deslocamento-em-ancora.js +27 -27
- package/fontes/modificadores/deslocamento-em-ancora.js.map +1 -1
- package/fontes/modificadores/deslocamento-texto-sublinhado.d.ts +7 -7
- package/fontes/modificadores/deslocamento-texto-sublinhado.js +22 -22
- package/fontes/modificadores/deslocamento-texto-sublinhado.js.map +1 -1
- package/fontes/modificadores/deslocamento.d.ts +7 -7
- package/fontes/modificadores/deslocamento.js +25 -25
- package/fontes/modificadores/deslocamento.js.map +1 -1
- package/fontes/modificadores/deslocar-contorno.d.ts +4 -4
- package/fontes/modificadores/deslocar-contorno.js +19 -19
- package/fontes/modificadores/deslocar-contorno.js.map +1 -1
- package/fontes/modificadores/deslocar-pontuacao.d.ts +7 -7
- package/fontes/modificadores/deslocar-pontuacao.js +24 -24
- package/fontes/modificadores/dicionario/dicionario-modificadores.d.ts +3 -3
- package/fontes/modificadores/dicionario/dicionario-modificadores.js +869 -869
- package/fontes/modificadores/dicionario/dicionario-reverso-modificadores.d.ts +3 -3
- package/fontes/modificadores/dicionario/dicionario-reverso-modificadores.js +731 -731
- package/fontes/modificadores/direcao-animacao.d.ts +7 -7
- package/fontes/modificadores/direcao-animacao.js +21 -21
- package/fontes/modificadores/direcao.d.ts +7 -7
- package/fontes/modificadores/direcao.js +19 -19
- package/fontes/modificadores/distancia-deslocamento.d.ts +4 -4
- package/fontes/modificadores/distancia-deslocamento.js +21 -21
- package/fontes/modificadores/distancia-deslocamento.js.map +1 -1
- package/fontes/modificadores/duracao-animacao.d.ts +4 -4
- package/fontes/modificadores/duracao-animacao.js +27 -19
- package/fontes/modificadores/duracao-animacao.js.map +1 -1
- package/fontes/modificadores/duracao-transicao.d.ts +4 -4
- package/fontes/modificadores/duracao-transicao.js +19 -19
- package/fontes/modificadores/duracao-transicao.js.map +1 -1
- package/fontes/modificadores/enfase-texto.d.ts +7 -7
- package/fontes/modificadores/enfase-texto.js +31 -31
- package/fontes/modificadores/escala.d.ts +7 -7
- package/fontes/modificadores/escala.js +22 -22
- package/fontes/modificadores/escala.js.map +1 -1
- package/fontes/modificadores/espacamento-coluna-em-grade.d.ts +7 -7
- package/fontes/modificadores/espacamento-coluna-em-grade.js +22 -22
- package/fontes/modificadores/espacamento-coluna-em-grade.js.map +1 -1
- package/fontes/modificadores/espacamento-coluna.d.ts +7 -7
- package/fontes/modificadores/espacamento-coluna.js +22 -22
- package/fontes/modificadores/espacamento-coluna.js.map +1 -1
- package/fontes/modificadores/espacamento-em-grade.d.ts +4 -4
- package/fontes/modificadores/espacamento-em-grade.js +19 -19
- package/fontes/modificadores/espacamento-em-grade.js.map +1 -1
- package/fontes/modificadores/espacamento-fonte.d.ts +7 -7
- package/fontes/modificadores/espacamento-fonte.js +20 -20
- package/fontes/modificadores/espacamento-letras.d.ts +7 -7
- package/fontes/modificadores/espacamento-letras.js +24 -24
- package/fontes/modificadores/espacamento-letras.js.map +1 -1
- package/fontes/modificadores/espacamento-linha-em-grade.d.ts +4 -4
- package/fontes/modificadores/espacamento-linha-em-grade.js +19 -19
- package/fontes/modificadores/espacamento-linha-em-grade.js.map +1 -1
- package/fontes/modificadores/espacamento-linhas.d.ts +4 -4
- package/fontes/modificadores/espacamento-linhas.js +19 -19
- package/fontes/modificadores/espacamento-linhas.js.map +1 -1
- package/fontes/modificadores/espacamento-palavras.d.ts +7 -7
- package/fontes/modificadores/espacamento-palavras.js +22 -22
- package/fontes/modificadores/espacamento-palavras.js.map +1 -1
- package/fontes/modificadores/espacamento.d.ts +4 -4
- package/fontes/modificadores/espacamento.js +22 -22
- package/fontes/modificadores/espacamento.js.map +1 -1
- package/fontes/modificadores/espaco-borda.d.ts +4 -4
- package/fontes/modificadores/espaco-borda.js +19 -19
- package/fontes/modificadores/espaco-borda.js.map +1 -1
- package/fontes/modificadores/espaco-em-branco.d.ts +7 -7
- package/fontes/modificadores/espaco-em-branco.js +25 -25
- package/fontes/modificadores/espessura-fonte.d.ts +7 -7
- package/fontes/modificadores/espessura-fonte.js +22 -22
- package/fontes/modificadores/esquema-cor.d.ts +7 -7
- package/fontes/modificadores/esquema-cor.js +21 -21
- package/fontes/modificadores/estender-borda-imagem.d.ts +4 -4
- package/fontes/modificadores/estender-borda-imagem.js +19 -19
- package/fontes/modificadores/estender-borda-imagem.js.map +1 -1
- package/fontes/modificadores/estender-coluna.d.ts +7 -7
- package/fontes/modificadores/estender-coluna.js +19 -19
- package/fontes/modificadores/esticar-fonte.d.ts +7 -7
- package/fontes/modificadores/esticar-fonte.js +31 -31
- package/fontes/modificadores/esticar-fonte.js.map +1 -1
- package/fontes/modificadores/estilo-borda-direita.d.ts +4 -4
- package/fontes/modificadores/estilo-borda-direita.js +16 -16
- package/fontes/modificadores/estilo-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/estilo-borda-em-bloco.js +16 -16
- package/fontes/modificadores/estilo-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/estilo-borda-em-linha.js +16 -16
- package/fontes/modificadores/estilo-borda-esquerda.d.ts +4 -4
- package/fontes/modificadores/estilo-borda-esquerda.js +16 -16
- package/fontes/modificadores/estilo-borda-inferior.d.ts +4 -4
- package/fontes/modificadores/estilo-borda-inferior.js +16 -16
- package/fontes/modificadores/estilo-borda-superior.d.ts +4 -4
- package/fontes/modificadores/estilo-borda-superior.js +16 -16
- package/fontes/modificadores/estilo-borda.d.ts +7 -4
- package/fontes/modificadores/estilo-borda.js +19 -18
- package/fontes/modificadores/estilo-borda.js.map +1 -1
- package/fontes/modificadores/estilo-contorno.d.ts +7 -7
- package/fontes/modificadores/estilo-contorno.js +19 -19
- package/fontes/modificadores/estilo-enfase-texto.d.ts +7 -7
- package/fontes/modificadores/estilo-enfase-texto.js +36 -36
- package/fontes/modificadores/estilo-fim-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/estilo-fim-borda-em-bloco.js +16 -16
- package/fontes/modificadores/estilo-fim-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/estilo-fim-borda-em-linha.js +16 -16
- package/fontes/modificadores/estilo-fonte.d.ts +7 -7
- package/fontes/modificadores/estilo-fonte.js +28 -28
- package/fontes/modificadores/estilo-inicio-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/estilo-inicio-borda-em-bloco.js +16 -16
- package/fontes/modificadores/estilo-inicio-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/estilo-inicio-borda-em-linha.js +16 -16
- package/fontes/modificadores/estilo-lista-imagem.d.ts +7 -7
- package/fontes/modificadores/estilo-lista-imagem.js +19 -19
- package/fontes/modificadores/estilo-lista-posicao.d.ts +7 -7
- package/fontes/modificadores/estilo-lista-posicao.js +19 -19
- package/fontes/modificadores/estilo-lista-tipo.d.ts +4 -4
- package/fontes/modificadores/estilo-lista-tipo.js +12 -12
- package/fontes/modificadores/estilo-lista.d.ts +7 -7
- package/fontes/modificadores/estilo-lista.js +30 -30
- package/fontes/modificadores/estilo-lista.js.map +1 -1
- package/fontes/modificadores/eventos-ponteiro.d.ts +7 -7
- package/fontes/modificadores/eventos-ponteiro.js +21 -21
- package/fontes/modificadores/exibicao.d.ts +7 -7
- package/fontes/modificadores/exibicao.js +53 -53
- package/fontes/modificadores/fatiar-borda-mascara.d.ts +7 -7
- package/fontes/modificadores/fatiar-borda-mascara.js +26 -26
- package/fontes/modificadores/fatiar-borda-mascara.js.map +1 -1
- package/fontes/modificadores/fatiar-imagem-borda.d.ts +7 -7
- package/fontes/modificadores/fatiar-imagem-borda.js +25 -25
- package/fontes/modificadores/fatiar-imagem-borda.js.map +1 -1
- package/fontes/modificadores/filtro-fundo.d.ts +7 -7
- package/fontes/modificadores/filtro-fundo.js +19 -19
- package/fontes/modificadores/filtro.d.ts +7 -7
- package/fontes/modificadores/filtro.js +19 -19
- package/fontes/modificadores/fim-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/fim-borda-em-bloco.js +36 -36
- package/fontes/modificadores/fim-borda-em-bloco.js.map +1 -1
- package/fontes/modificadores/fim-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/fim-borda-em-linha.js +36 -36
- package/fontes/modificadores/fim-borda-em-linha.js.map +1 -1
- package/fontes/modificadores/fim-coluna-em-grade.d.ts +7 -7
- package/fontes/modificadores/fim-coluna-em-grade.js +19 -19
- package/fontes/modificadores/fim-linha-em-grade.d.ts +7 -7
- package/fontes/modificadores/fim-linha-em-grade.js +20 -20
- package/fontes/modificadores/fixar-fundo.d.ts +7 -7
- package/fontes/modificadores/fixar-fundo.js +20 -20
- package/fontes/modificadores/flex-agrupar.d.ts +7 -7
- package/fontes/modificadores/flex-agrupar.js +21 -21
- package/fontes/modificadores/flex-comprimento.d.ts +7 -7
- package/fontes/modificadores/flex-comprimento.js +30 -30
- package/fontes/modificadores/flex-comprimento.js.map +1 -1
- package/fontes/modificadores/flex-crescimento.d.ts +4 -4
- package/fontes/modificadores/flex-crescimento.js +16 -16
- package/fontes/modificadores/flex-direcao.d.ts +7 -7
- package/fontes/modificadores/flex-direcao.js +21 -21
- package/fontes/modificadores/flex-fluxo.d.ts +7 -7
- package/fontes/modificadores/flex-fluxo.js +27 -27
- package/fontes/modificadores/flex-reduzir.d.ts +4 -4
- package/fontes/modificadores/flex-reduzir.js +16 -16
- package/fontes/modificadores/flex.d.ts +7 -7
- package/fontes/modificadores/flex.js +32 -32
- package/fontes/modificadores/flex.js.map +1 -1
- package/fontes/modificadores/flutuar.d.ts +7 -7
- package/fontes/modificadores/flutuar.js +23 -23
- package/fontes/modificadores/fluxo-em-grade.d.ts +7 -7
- package/fontes/modificadores/fluxo-em-grade.js +20 -20
- package/fontes/modificadores/fluxo.d.ts +7 -7
- package/fontes/modificadores/fluxo.js +24 -24
- package/fontes/modificadores/fonte-texto.d.ts +7 -7
- package/fontes/modificadores/fonte-texto.js +38 -38
- package/fontes/modificadores/fonte.d.ts +7 -7
- package/fontes/modificadores/fonte.js +63 -63
- package/fontes/modificadores/fonte.js.map +1 -1
- package/fontes/modificadores/forma-externa.d.ts +7 -7
- package/fontes/modificadores/forma-externa.js +24 -24
- package/fontes/modificadores/forma-margem.d.ts +4 -4
- package/fontes/modificadores/forma-margem.js +19 -19
- package/fontes/modificadores/forma-margem.js.map +1 -1
- package/fontes/modificadores/fundo.d.ts +7 -7
- package/fontes/modificadores/fundo.js +62 -62
- package/fontes/modificadores/fundo.js.map +1 -1
- package/fontes/modificadores/girar.d.ts +7 -7
- package/fontes/modificadores/girar.js +23 -23
- package/fontes/modificadores/girar.js.map +1 -1
- package/fontes/modificadores/grade.d.ts +7 -7
- package/fontes/modificadores/grade.js +32 -32
- package/fontes/modificadores/hifens.d.ts +7 -7
- package/fontes/modificadores/hifens.js +20 -20
- package/fontes/modificadores/imagem-borda.d.ts +7 -7
- package/fontes/modificadores/imagem-borda.js +19 -19
- package/fontes/modificadores/imagem-fundo.d.ts +8 -8
- package/fontes/modificadores/imagem-fundo.js +26 -26
- package/fontes/modificadores/imagem-fundo.js.map +1 -1
- package/fontes/modificadores/imagem-mascara.d.ts +7 -7
- package/fontes/modificadores/imagem-mascara.js +22 -22
- package/fontes/modificadores/impressao-ajuste-cor.d.ts +7 -7
- package/fontes/modificadores/impressao-ajuste-cor.js +19 -19
- package/fontes/modificadores/incrementar-contador.d.ts +7 -7
- package/fontes/modificadores/incrementar-contador.js +23 -23
- package/fontes/modificadores/indentacao-texto.d.ts +7 -7
- package/fontes/modificadores/indentacao-texto.js +23 -23
- package/fontes/modificadores/indentacao-texto.js.map +1 -1
- package/fontes/modificadores/index.d.ts +364 -364
- package/fontes/modificadores/index.js +380 -380
- package/fontes/modificadores/indice-z.d.ts +7 -7
- package/fontes/modificadores/indice-z.js +18 -18
- package/fontes/modificadores/inicio-borda-em-bloco.d.ts +4 -4
- package/fontes/modificadores/inicio-borda-em-bloco.js +36 -36
- package/fontes/modificadores/inicio-borda-em-bloco.js.map +1 -1
- package/fontes/modificadores/inicio-borda-em-linha.d.ts +4 -4
- package/fontes/modificadores/inicio-borda-em-linha.js +36 -36
- package/fontes/modificadores/inicio-borda-em-linha.js.map +1 -1
- package/fontes/modificadores/inicio-borda-mascara.d.ts +4 -4
- package/fontes/modificadores/inicio-borda-mascara.js +22 -22
- package/fontes/modificadores/inicio-borda-mascara.js.map +1 -1
- package/fontes/modificadores/inicio-coluna-em-grade.d.ts +7 -7
- package/fontes/modificadores/inicio-coluna-em-grade.js +19 -19
- package/fontes/modificadores/inicio-insercao-em-bloco.d.ts +7 -7
- package/fontes/modificadores/inicio-insercao-em-bloco.js +22 -22
- package/fontes/modificadores/inicio-insercao-em-bloco.js.map +1 -1
- package/fontes/modificadores/inicio-insercao-em-linha.d.ts +7 -7
- package/fontes/modificadores/inicio-insercao-em-linha.js +22 -22
- package/fontes/modificadores/inicio-insercao-em-linha.js.map +1 -1
- package/fontes/modificadores/inicio-linha-em-grade.d.ts +7 -7
- package/fontes/modificadores/inicio-linha-em-grade.js +19 -19
- package/fontes/modificadores/inicio-margem-em-bloco.d.ts +7 -7
- package/fontes/modificadores/inicio-margem-em-bloco.js +22 -22
- package/fontes/modificadores/inicio-margem-em-bloco.js.map +1 -1
- package/fontes/modificadores/inicio-margem-em-linha.d.ts +7 -7
- package/fontes/modificadores/inicio-margem-em-linha.js +22 -22
- package/fontes/modificadores/inicio-margem-em-linha.js.map +1 -1
- package/fontes/modificadores/inicio-recuo-em-bloco.d.ts +4 -4
- package/fontes/modificadores/inicio-recuo-em-bloco.js +19 -19
- package/fontes/modificadores/inicio-recuo-em-bloco.js.map +1 -1
- package/fontes/modificadores/inicio-recuo-em-linha.d.ts +4 -4
- package/fontes/modificadores/inicio-recuo-em-linha.js +19 -19
- package/fontes/modificadores/inicio-recuo-em-linha.js.map +1 -1
- package/fontes/modificadores/insercao-em-bloco-fim.d.ts +7 -7
- package/fontes/modificadores/insercao-em-bloco-fim.js +22 -22
- package/fontes/modificadores/insercao-em-bloco-fim.js.map +1 -1
- package/fontes/modificadores/insercao-em-bloco.d.ts +7 -7
- package/fontes/modificadores/insercao-em-bloco.js +24 -24
- package/fontes/modificadores/insercao-em-bloco.js.map +1 -1
- package/fontes/modificadores/insercao-em-linha-fim.d.ts +7 -7
- package/fontes/modificadores/insercao-em-linha-fim.js +22 -22
- package/fontes/modificadores/insercao-em-linha-fim.js.map +1 -1
- package/fontes/modificadores/insercao-em-linha.d.ts +7 -7
- package/fontes/modificadores/insercao-em-linha.js +24 -24
- package/fontes/modificadores/insercao-em-linha.js.map +1 -1
- package/fontes/modificadores/insercao.d.ts +7 -7
- package/fontes/modificadores/insercao.js +24 -24
- package/fontes/modificadores/insercao.js.map +1 -1
- package/fontes/modificadores/isolamento.d.ts +7 -7
- package/fontes/modificadores/isolamento.js +19 -19
- package/fontes/modificadores/justificar-conteudo.d.ts +7 -7
- package/fontes/modificadores/justificar-conteudo.js +36 -36
- package/fontes/modificadores/justificar-itens.d.ts +7 -7
- package/fontes/modificadores/justificar-itens.js +32 -32
- package/fontes/modificadores/justificar-se.d.ts +7 -7
- package/fontes/modificadores/justificar-se.js +32 -32
- package/fontes/modificadores/justificar-texto.d.ts +7 -7
- package/fontes/modificadores/justificar-texto.js +22 -22
- package/fontes/modificadores/largura-barra-rolagem.d.ts +7 -7
- package/fontes/modificadores/largura-barra-rolagem.js +20 -20
- package/fontes/modificadores/largura-borda-direita.d.ts +7 -7
- package/fontes/modificadores/largura-borda-direita.js +25 -25
- package/fontes/modificadores/largura-borda-direita.js.map +1 -1
- package/fontes/modificadores/largura-borda-em-bloco.d.ts +7 -7
- package/fontes/modificadores/largura-borda-em-bloco.js +25 -25
- package/fontes/modificadores/largura-borda-em-bloco.js.map +1 -1
- package/fontes/modificadores/largura-borda-em-linha.d.ts +7 -7
- package/fontes/modificadores/largura-borda-em-linha.js +25 -25
- package/fontes/modificadores/largura-borda-em-linha.js.map +1 -1
- package/fontes/modificadores/largura-borda-esquerda.d.ts +7 -7
- package/fontes/modificadores/largura-borda-esquerda.js +25 -25
- package/fontes/modificadores/largura-borda-esquerda.js.map +1 -1
- package/fontes/modificadores/largura-borda-inferior.d.ts +7 -7
- package/fontes/modificadores/largura-borda-inferior.js +25 -25
- package/fontes/modificadores/largura-borda-inferior.js.map +1 -1
- package/fontes/modificadores/largura-borda-mascara.d.ts +7 -7
- package/fontes/modificadores/largura-borda-mascara.js +25 -25
- package/fontes/modificadores/largura-borda-mascara.js.map +1 -1
- package/fontes/modificadores/largura-borda-superior.d.ts +7 -7
- package/fontes/modificadores/largura-borda-superior.js +26 -26
- package/fontes/modificadores/largura-borda-superior.js.map +1 -1
- package/fontes/modificadores/largura-borda.d.ts +7 -7
- package/fontes/modificadores/largura-borda.js +25 -25
- package/fontes/modificadores/largura-borda.js.map +1 -1
- package/fontes/modificadores/largura-coluna.d.ts +7 -7
- package/fontes/modificadores/largura-coluna.js +22 -22
- package/fontes/modificadores/largura-coluna.js.map +1 -1
- package/fontes/modificadores/largura-contorno.d.ts +7 -7
- package/fontes/modificadores/largura-contorno.js +25 -25
- package/fontes/modificadores/largura-contorno.js.map +1 -1
- package/fontes/modificadores/largura-fim-borda-em-bloco.d.ts +7 -7
- package/fontes/modificadores/largura-fim-borda-em-bloco.js +25 -25
- package/fontes/modificadores/largura-fim-borda-em-bloco.js.map +1 -1
- package/fontes/modificadores/largura-fim-borda-em-linha.d.ts +7 -7
- package/fontes/modificadores/largura-fim-borda-em-linha.js +25 -25
- package/fontes/modificadores/largura-fim-borda-em-linha.js.map +1 -1
- package/fontes/modificadores/largura-imagem-borda.d.ts +7 -7
- package/fontes/modificadores/largura-imagem-borda.js +25 -25
- package/fontes/modificadores/largura-imagem-borda.js.map +1 -1
- package/fontes/modificadores/largura-inicio-borda-em-bloco.d.ts +7 -7
- package/fontes/modificadores/largura-inicio-borda-em-bloco.js +25 -25
- package/fontes/modificadores/largura-inicio-borda-em-bloco.js.map +1 -1
- package/fontes/modificadores/largura-inicio-borda-em-linha.d.ts +7 -7
- package/fontes/modificadores/largura-inicio-borda-em-linha.js +25 -25
- package/fontes/modificadores/largura-inicio-borda-em-linha.js.map +1 -1
- package/fontes/modificadores/largura-maxima.d.ts +7 -7
- package/fontes/modificadores/largura-maxima.js +27 -27
- package/fontes/modificadores/largura-maxima.js.map +1 -1
- package/fontes/modificadores/largura-minima.d.ts +7 -7
- package/fontes/modificadores/largura-minima.js +27 -27
- package/fontes/modificadores/largura-minima.js.map +1 -1
- package/fontes/modificadores/largura.d.ts +7 -7
- package/fontes/modificadores/largura.js +27 -27
- package/fontes/modificadores/largura.js.map +1 -1
- package/fontes/modificadores/limite-forma-imagem.d.ts +4 -4
- package/fontes/modificadores/limite-forma-imagem.js +20 -20
- package/fontes/modificadores/limite-forma-imagem.js.map +1 -1
- package/fontes/modificadores/linha-em-grade.d.ts +7 -7
- package/fontes/modificadores/linha-em-grade.js +26 -20
- package/fontes/modificadores/linha-em-grade.js.map +1 -1
- package/fontes/modificadores/linhas-inferiores.d.ts +4 -4
- package/fontes/modificadores/linhas-inferiores.js +16 -16
- package/fontes/modificadores/linhas-superiores.d.ts +4 -4
- package/fontes/modificadores/linhas-superiores.js +16 -16
- package/fontes/modificadores/margem-direita-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-direita-rolagem-mouse.js +19 -19
- package/fontes/modificadores/margem-direita-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-direita.d.ts +7 -7
- package/fontes/modificadores/margem-direita.js +22 -22
- package/fontes/modificadores/margem-direita.js.map +1 -1
- package/fontes/modificadores/margem-em-bloco-fim.d.ts +7 -7
- package/fontes/modificadores/margem-em-bloco-fim.js +22 -22
- package/fontes/modificadores/margem-em-bloco-fim.js.map +1 -1
- package/fontes/modificadores/margem-em-bloco-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-em-bloco-rolagem-mouse.js +21 -21
- package/fontes/modificadores/margem-em-bloco-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-em-bloco.d.ts +7 -7
- package/fontes/modificadores/margem-em-bloco.js +24 -24
- package/fontes/modificadores/margem-em-bloco.js.map +1 -1
- package/fontes/modificadores/margem-em-linha-fim.d.ts +7 -7
- package/fontes/modificadores/margem-em-linha-fim.js +22 -22
- package/fontes/modificadores/margem-em-linha-fim.js.map +1 -1
- package/fontes/modificadores/margem-em-linha-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-em-linha-rolagem-mouse.js +21 -21
- package/fontes/modificadores/margem-em-linha-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-em-linha.d.ts +7 -7
- package/fontes/modificadores/margem-em-linha.js +24 -24
- package/fontes/modificadores/margem-em-linha.js.map +1 -1
- package/fontes/modificadores/margem-esquerda-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-esquerda-rolagem-mouse.js +19 -19
- package/fontes/modificadores/margem-esquerda-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-esquerda.d.ts +7 -7
- package/fontes/modificadores/margem-esquerda.js +22 -22
- package/fontes/modificadores/margem-esquerda.js.map +1 -1
- package/fontes/modificadores/margem-inferior-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-inferior-rolagem-mouse.js +19 -19
- package/fontes/modificadores/margem-inferior-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-inferior.d.ts +7 -7
- package/fontes/modificadores/margem-inferior.js +22 -22
- package/fontes/modificadores/margem-inferior.js.map +1 -1
- package/fontes/modificadores/margem-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-rolagem-mouse.js +21 -21
- package/fontes/modificadores/margem-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-superior-rolagem-mouse.d.ts +4 -4
- package/fontes/modificadores/margem-superior-rolagem-mouse.js +19 -19
- package/fontes/modificadores/margem-superior-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/margem-superior.d.ts +7 -7
- package/fontes/modificadores/margem-superior.js +22 -22
- package/fontes/modificadores/margem-superior.js.map +1 -1
- package/fontes/modificadores/margem.d.ts +7 -7
- package/fontes/modificadores/margem.js +24 -24
- package/fontes/modificadores/margem.js.map +1 -1
- package/fontes/modificadores/mascara.d.ts +7 -7
- package/fontes/modificadores/mascara.js +56 -56
- package/fontes/modificadores/mesclar-fundo.d.ts +7 -7
- package/fontes/modificadores/mesclar-fundo.js +36 -36
- package/fontes/modificadores/modelo-colunas-em-grade.d.ts +7 -7
- package/fontes/modificadores/modelo-colunas-em-grade.js +30 -30
- package/fontes/modificadores/modelo-colunas-em-grade.js.map +1 -1
- package/fontes/modificadores/modelo-em-grade.d.ts +7 -7
- package/fontes/modificadores/modelo-em-grade.js +35 -35
- package/fontes/modificadores/modelo-em-grade.js.map +1 -1
- package/fontes/modificadores/modelo-geral-em-grade.d.ts +7 -7
- package/fontes/modificadores/modelo-geral-em-grade.js +22 -22
- package/fontes/modificadores/modelo-linhas-em-grade.d.ts +7 -7
- package/fontes/modificadores/modelo-linhas-em-grade.js +31 -31
- package/fontes/modificadores/modelo-linhas-em-grade.js.map +1 -1
- package/fontes/modificadores/modo-borda-mascara.d.ts +7 -7
- package/fontes/modificadores/modo-borda-mascara.js +20 -20
- package/fontes/modificadores/modo-escrita.d.ts +7 -7
- package/fontes/modificadores/modo-escrita.js +20 -20
- package/fontes/modificadores/modo-mascara.d.ts +7 -7
- package/fontes/modificadores/modo-mascara.js +21 -21
- package/fontes/modificadores/modo-mescla.d.ts +7 -7
- package/fontes/modificadores/modo-mescla.js +37 -37
- package/fontes/modificadores/modo-preenchimento-animacao.d.ts +7 -7
- package/fontes/modificadores/modo-preenchimento-animacao.js +22 -22
- package/fontes/modificadores/nome-animacao.d.ts +7 -7
- package/fontes/modificadores/nome-animacao.js +18 -18
- package/fontes/modificadores/opacidade.d.ts +4 -4
- package/fontes/modificadores/opacidade.js +22 -22
- package/fontes/modificadores/opacidade.js.map +1 -1
- package/fontes/modificadores/ordem-pintura.d.ts +7 -7
- package/fontes/modificadores/ordem-pintura.js +22 -22
- package/fontes/modificadores/ordenar.d.ts +4 -4
- package/fontes/modificadores/ordenar.js +16 -16
- package/fontes/modificadores/orientacao-imagem.d.ts +7 -7
- package/fontes/modificadores/orientacao-imagem.js +19 -19
- package/fontes/modificadores/orientacao-texto.d.ts +7 -7
- package/fontes/modificadores/orientacao-texto.js +24 -24
- package/fontes/modificadores/origem-borda-mascara.d.ts +7 -7
- package/fontes/modificadores/origem-borda-mascara.js +19 -19
- package/fontes/modificadores/origem-fundo.d.ts +7 -7
- package/fontes/modificadores/origem-fundo.js +21 -21
- package/fontes/modificadores/origem-imagem-borda.d.ts +7 -7
- package/fontes/modificadores/origem-imagem-borda.js +19 -19
- package/fontes/modificadores/origem-mascara.d.ts +7 -7
- package/fontes/modificadores/origem-mascara.js +27 -27
- package/fontes/modificadores/origem-perspectiva.d.ts +7 -7
- package/fontes/modificadores/origem-perspectiva.js +28 -28
- package/fontes/modificadores/origem-perspectiva.js.map +1 -1
- package/fontes/modificadores/parar-encaixe-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/parar-encaixe-rolagem-mouse.js +19 -19
- package/fontes/modificadores/perspectiva.d.ts +7 -7
- package/fontes/modificadores/perspectiva.js +22 -22
- package/fontes/modificadores/perspectiva.js.map +1 -1
- package/fontes/modificadores/posicao-deslocamento.d.ts +7 -7
- package/fontes/modificadores/posicao-deslocamento.js +24 -24
- package/fontes/modificadores/posicao-direita.d.ts +7 -7
- package/fontes/modificadores/posicao-direita.js +25 -25
- package/fontes/modificadores/posicao-direita.js.map +1 -1
- package/fontes/modificadores/posicao-enfase-texto.d.ts +7 -7
- package/fontes/modificadores/posicao-enfase-texto.js +21 -21
- package/fontes/modificadores/posicao-esquerda.d.ts +7 -7
- package/fontes/modificadores/posicao-esquerda.js +22 -22
- package/fontes/modificadores/posicao-esquerda.js.map +1 -1
- package/fontes/modificadores/posicao-fundo.d.ts +4 -4
- package/fontes/modificadores/posicao-fundo.js +30 -30
- package/fontes/modificadores/posicao-fundo.js.map +1 -1
- package/fontes/modificadores/posicao-horizontal-fundo.d.ts +4 -4
- package/fontes/modificadores/posicao-horizontal-fundo.js +20 -20
- package/fontes/modificadores/posicao-horizontal-fundo.js.map +1 -1
- package/fontes/modificadores/posicao-inferior.d.ts +7 -7
- package/fontes/modificadores/posicao-inferior.js +22 -22
- package/fontes/modificadores/posicao-inferior.js.map +1 -1
- package/fontes/modificadores/posicao-legenda.d.ts +7 -7
- package/fontes/modificadores/posicao-legenda.js +25 -25
- package/fontes/modificadores/posicao-mascara.d.ts +4 -4
- package/fontes/modificadores/posicao-mascara.js +19 -19
- package/fontes/modificadores/posicao-objeto.d.ts +4 -4
- package/fontes/modificadores/posicao-objeto.js +16 -16
- package/fontes/modificadores/posicao-superior.d.ts +7 -7
- package/fontes/modificadores/posicao-superior.js +22 -22
- package/fontes/modificadores/posicao-superior.js.map +1 -1
- package/fontes/modificadores/posicao-texto-sublinhado.d.ts +7 -7
- package/fontes/modificadores/posicao-texto-sublinhado.js +22 -22
- package/fontes/modificadores/posicao-vertical-fundo.d.ts +4 -4
- package/fontes/modificadores/posicao-vertical-fundo.js +20 -20
- package/fontes/modificadores/posicao-vertical-fundo.js.map +1 -1
- package/fontes/modificadores/posicao.d.ts +7 -7
- package/fontes/modificadores/posicao.js +22 -22
- package/fontes/modificadores/posicionar-conteudo.d.ts +7 -7
- package/fontes/modificadores/posicionar-conteudo.js +37 -37
- package/fontes/modificadores/posicionar-itens.d.ts +7 -7
- package/fontes/modificadores/posicionar-itens.js +35 -35
- package/fontes/modificadores/posicionar-se.d.ts +7 -7
- package/fontes/modificadores/posicionar-se.js +35 -35
- package/fontes/modificadores/preencher-coluna.d.ts +7 -7
- package/fontes/modificadores/preencher-coluna.js +20 -20
- package/fontes/modificadores/proporcao-tela.d.ts +7 -7
- package/fontes/modificadores/proporcao-tela.js +26 -21
- package/fontes/modificadores/proporcao-tela.js.map +1 -1
- package/fontes/modificadores/propriedade-transicao.d.ts +7 -7
- package/fontes/modificadores/propriedade-transicao.js +19 -19
- package/fontes/modificadores/quebra-decoracao-caixa.d.ts +7 -7
- package/fontes/modificadores/quebra-decoracao-caixa.js +19 -19
- package/fontes/modificadores/quebrar-antes.d.ts +7 -7
- package/fontes/modificadores/quebrar-antes.js +35 -35
- package/fontes/modificadores/quebrar-apos.d.ts +7 -7
- package/fontes/modificadores/quebrar-apos.js +35 -35
- package/fontes/modificadores/quebrar-dentro.d.ts +7 -7
- package/fontes/modificadores/quebrar-dentro.js +24 -24
- package/fontes/modificadores/quebrar-linha.d.ts +7 -7
- package/fontes/modificadores/quebrar-linha.js +22 -22
- package/fontes/modificadores/quebrar-pagina-antes.d.ts +7 -7
- package/fontes/modificadores/quebrar-pagina-antes.js +24 -24
- package/fontes/modificadores/quebrar-pagina-apos.d.ts +7 -7
- package/fontes/modificadores/quebrar-pagina-apos.js +24 -24
- package/fontes/modificadores/quebrar-pagina-dentro.d.ts +7 -7
- package/fontes/modificadores/quebrar-pagina-dentro.js +19 -19
- package/fontes/modificadores/quebrar-palavra.d.ts +7 -7
- package/fontes/modificadores/quebrar-palavra.js +21 -21
- package/fontes/modificadores/raio-borda.d.ts +4 -4
- package/fontes/modificadores/raio-borda.js +27 -19
- package/fontes/modificadores/raio-borda.js.map +1 -1
- package/fontes/modificadores/raio-direito-borda-inferior.d.ts +4 -4
- package/fontes/modificadores/raio-direito-borda-inferior.js +19 -19
- package/fontes/modificadores/raio-direito-borda-inferior.js.map +1 -1
- package/fontes/modificadores/raio-direito-borda-superior.d.ts +4 -4
- package/fontes/modificadores/raio-direito-borda-superior.js +19 -19
- package/fontes/modificadores/raio-direito-borda-superior.js.map +1 -1
- package/fontes/modificadores/raio-esquerdo-borda-inferior.d.ts +4 -4
- package/fontes/modificadores/raio-esquerdo-borda-inferior.js +19 -19
- package/fontes/modificadores/raio-esquerdo-borda-inferior.js.map +1 -1
- package/fontes/modificadores/raio-esquerdo-borda-superior.d.ts +4 -4
- package/fontes/modificadores/raio-esquerdo-borda-superior.js +19 -19
- package/fontes/modificadores/raio-esquerdo-borda-superior.js.map +1 -1
- package/fontes/modificadores/recolher-borda.d.ts +7 -7
- package/fontes/modificadores/recolher-borda.js +19 -19
- package/fontes/modificadores/recortar-fundo.d.ts +7 -7
- package/fontes/modificadores/recortar-fundo.js +22 -22
- package/fontes/modificadores/recortar-margem-vazada.d.ts +7 -7
- package/fontes/modificadores/recortar-margem-vazada.js +23 -23
- package/fontes/modificadores/recortar-margem-vazada.js.map +1 -1
- package/fontes/modificadores/recortar.d.ts +7 -7
- package/fontes/modificadores/recortar.js +18 -18
- package/fontes/modificadores/recuo-direito-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-direito-rolagem-mouse.js +22 -22
- package/fontes/modificadores/recuo-direito-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-direito.d.ts +4 -4
- package/fontes/modificadores/recuo-direito.js +22 -22
- package/fontes/modificadores/recuo-direito.js.map +1 -1
- package/fontes/modificadores/recuo-em-bloco-fim.d.ts +4 -4
- package/fontes/modificadores/recuo-em-bloco-fim.js +19 -19
- package/fontes/modificadores/recuo-em-bloco-fim.js.map +1 -1
- package/fontes/modificadores/recuo-em-bloco-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-em-bloco-rolagem-mouse.js +24 -24
- package/fontes/modificadores/recuo-em-bloco-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-em-bloco.d.ts +4 -4
- package/fontes/modificadores/recuo-em-bloco.js +21 -21
- package/fontes/modificadores/recuo-em-bloco.js.map +1 -1
- package/fontes/modificadores/recuo-em-linha-fim.d.ts +4 -4
- package/fontes/modificadores/recuo-em-linha-fim.js +19 -19
- package/fontes/modificadores/recuo-em-linha-fim.js.map +1 -1
- package/fontes/modificadores/recuo-em-linha-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-em-linha-rolagem-mouse.js +24 -24
- package/fontes/modificadores/recuo-em-linha-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-em-linha.d.ts +4 -4
- package/fontes/modificadores/recuo-em-linha.js +21 -21
- package/fontes/modificadores/recuo-em-linha.js.map +1 -1
- package/fontes/modificadores/recuo-esquerdo-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-esquerdo-rolagem-mouse.js +22 -22
- package/fontes/modificadores/recuo-esquerdo-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-esquerdo.d.ts +4 -4
- package/fontes/modificadores/recuo-esquerdo.js +22 -22
- package/fontes/modificadores/recuo-esquerdo.js.map +1 -1
- package/fontes/modificadores/recuo-inferior-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-inferior-rolagem-mouse.js +22 -22
- package/fontes/modificadores/recuo-inferior-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-inferior.d.ts +4 -4
- package/fontes/modificadores/recuo-inferior.js +22 -22
- package/fontes/modificadores/recuo-inferior.js.map +1 -1
- package/fontes/modificadores/recuo-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-rolagem-mouse.js +24 -24
- package/fontes/modificadores/recuo-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-superior-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/recuo-superior-rolagem-mouse.js +22 -22
- package/fontes/modificadores/recuo-superior-rolagem-mouse.js.map +1 -1
- package/fontes/modificadores/recuo-superior.d.ts +4 -4
- package/fontes/modificadores/recuo-superior.js +22 -22
- package/fontes/modificadores/recuo-superior.js.map +1 -1
- package/fontes/modificadores/recuo.d.ts +4 -4
- package/fontes/modificadores/recuo.js +21 -21
- package/fontes/modificadores/recuo.js.map +1 -1
- package/fontes/modificadores/recursos-fonte.d.ts +7 -7
- package/fontes/modificadores/recursos-fonte.js +18 -18
- package/fontes/modificadores/redimensionar.d.ts +7 -7
- package/fontes/modificadores/redimensionar.js +23 -23
- package/fontes/modificadores/regras-coluna.d.ts +7 -7
- package/fontes/modificadores/regras-coluna.js +42 -42
- package/fontes/modificadores/regras-coluna.js.map +1 -1
- package/fontes/modificadores/regras-cor-coluna.d.ts +4 -4
- package/fontes/modificadores/regras-cor-coluna.js +15 -15
- package/fontes/modificadores/regras-estilo-coluna.d.ts +4 -4
- package/fontes/modificadores/regras-estilo-coluna.js +16 -16
- package/fontes/modificadores/regras-largura-coluna.d.ts +7 -7
- package/fontes/modificadores/regras-largura-coluna.js +25 -25
- package/fontes/modificadores/regras-largura-coluna.js.map +1 -1
- package/fontes/modificadores/reiniciar-contador.d.ts +7 -7
- package/fontes/modificadores/reiniciar-contador.js +26 -26
- package/fontes/modificadores/reiniciar-tudo.d.ts +4 -4
- package/fontes/modificadores/reiniciar-tudo.js +18 -18
- package/fontes/modificadores/reiniciar-tudo.js.map +1 -1
- package/fontes/modificadores/renderizacao-imagem.d.ts +7 -7
- package/fontes/modificadores/renderizacao-imagem.js +21 -21
- package/fontes/modificadores/renderizacao-texto.d.ts +7 -7
- package/fontes/modificadores/renderizacao-texto.js +24 -24
- package/fontes/modificadores/repeticao-borda-mascara.d.ts +7 -7
- package/fontes/modificadores/repeticao-borda-mascara.js +22 -22
- package/fontes/modificadores/repetir-animacao.d.ts +7 -7
- package/fontes/modificadores/repetir-animacao.js +19 -19
- package/fontes/modificadores/repetir-fundo.d.ts +7 -7
- package/fontes/modificadores/repetir-fundo.js +25 -25
- package/fontes/modificadores/repetir-imagem-borda.d.ts +7 -7
- package/fontes/modificadores/repetir-imagem-borda.js +22 -22
- package/fontes/modificadores/repetir-mascara.d.ts +7 -7
- package/fontes/modificadores/repetir-mascara.js +25 -25
- package/fontes/modificadores/rotacao-deslocamento.d.ts +7 -7
- package/fontes/modificadores/rotacao-deslocamento.js +24 -24
- package/fontes/modificadores/rotacao-deslocamento.js.map +1 -1
- package/fontes/modificadores/selecao-usuario.d.ts +7 -7
- package/fontes/modificadores/selecao-usuario.js +23 -23
- package/fontes/modificadores/sintetizar-fonte.d.ts +7 -7
- package/fontes/modificadores/sintetizar-fonte.js +25 -25
- package/fontes/modificadores/sombra-caixa.d.ts +7 -7
- package/fontes/modificadores/sombra-caixa.js +36 -36
- package/fontes/modificadores/sombra-caixa.js.map +1 -1
- package/fontes/modificadores/sombra-texto.d.ts +4 -4
- package/fontes/modificadores/sombra-texto.js +21 -21
- package/fontes/modificadores/sombra-texto.js.map +1 -1
- package/fontes/modificadores/status-animacao.d.ts +7 -7
- package/fontes/modificadores/status-animacao.js +19 -19
- package/fontes/modificadores/substituir-idioma-fonte.d.ts +7 -7
- package/fontes/modificadores/substituir-idioma-fonte.js +18 -18
- package/fontes/modificadores/superclasse/index.d.ts +3 -3
- package/fontes/modificadores/superclasse/index.js +19 -19
- package/fontes/modificadores/superclasse/modificador.d.ts +11 -11
- package/fontes/modificadores/superclasse/modificador.js +11 -11
- package/fontes/modificadores/superclasse/pragmas-modificador.d.ts +5 -5
- package/fontes/modificadores/superclasse/pragmas-modificador.js +2 -2
- package/fontes/modificadores/superclasse/seletor-modificador.d.ts +4 -4
- package/fontes/modificadores/superclasse/seletor-modificador.js +14 -14
- package/fontes/modificadores/superclasse/seletor-modificador.js.map +1 -1
- package/fontes/modificadores/superclasse/seletor-reverso-modificador.d.ts +5 -5
- package/fontes/modificadores/superclasse/seletor-reverso-modificador.js +14 -14
- package/fontes/modificadores/superclasse/seletor-reverso-modificador.js.map +1 -1
- package/fontes/modificadores/tabulacao.d.ts +4 -4
- package/fontes/modificadores/tabulacao.js +22 -22
- package/fontes/modificadores/tabulacao.js.map +1 -1
- package/fontes/modificadores/tamanho-caixa.d.ts +7 -7
- package/fontes/modificadores/tamanho-caixa.js +20 -20
- package/fontes/modificadores/tamanho-colunas-em-grade.d.ts +7 -7
- package/fontes/modificadores/tamanho-colunas-em-grade.js +28 -28
- package/fontes/modificadores/tamanho-colunas-em-grade.js.map +1 -1
- package/fontes/modificadores/tamanho-em-bloco.d.ts +7 -7
- package/fontes/modificadores/tamanho-em-bloco.js +26 -26
- package/fontes/modificadores/tamanho-em-bloco.js.map +1 -1
- package/fontes/modificadores/tamanho-em-linha.d.ts +7 -7
- package/fontes/modificadores/tamanho-em-linha.js +27 -27
- package/fontes/modificadores/tamanho-em-linha.js.map +1 -1
- package/fontes/modificadores/tamanho-fonte.d.ts +7 -7
- package/fontes/modificadores/tamanho-fonte.js +32 -32
- package/fontes/modificadores/tamanho-fonte.js.map +1 -1
- package/fontes/modificadores/tamanho-fundo.d.ts +7 -7
- package/fontes/modificadores/tamanho-fundo.js +24 -24
- package/fontes/modificadores/tamanho-fundo.js.map +1 -1
- package/fontes/modificadores/tamanho-grade.d.ts +7 -7
- package/fontes/modificadores/tamanho-grade.js +26 -20
- package/fontes/modificadores/tamanho-grade.js.map +1 -1
- package/fontes/modificadores/tamanho-linhas-em-grade.d.ts +7 -7
- package/fontes/modificadores/tamanho-linhas-em-grade.js +28 -28
- package/fontes/modificadores/tamanho-linhas-em-grade.js.map +1 -1
- package/fontes/modificadores/tamanho-mascara.d.ts +7 -7
- package/fontes/modificadores/tamanho-mascara.js +24 -24
- package/fontes/modificadores/tamanho-mascara.js.map +1 -1
- package/fontes/modificadores/tamanho-maximo-em-bloco.d.ts +7 -7
- package/fontes/modificadores/tamanho-maximo-em-bloco.js +27 -27
- package/fontes/modificadores/tamanho-maximo-em-bloco.js.map +1 -1
- package/fontes/modificadores/tamanho-maximo-em-linha.d.ts +7 -7
- package/fontes/modificadores/tamanho-maximo-em-linha.js +27 -27
- package/fontes/modificadores/tamanho-maximo-em-linha.js.map +1 -1
- package/fontes/modificadores/tamanho-minimo-em-bloco.d.ts +7 -7
- package/fontes/modificadores/tamanho-minimo-em-bloco.js +27 -27
- package/fontes/modificadores/tamanho-minimo-em-bloco.js.map +1 -1
- package/fontes/modificadores/tamanho-minimo-em-linha.d.ts +7 -7
- package/fontes/modificadores/tamanho-minimo-em-linha.js +27 -27
- package/fontes/modificadores/tamanho-minimo-em-linha.js.map +1 -1
- package/fontes/modificadores/tamanho-optico-fonte.d.ts +7 -7
- package/fontes/modificadores/tamanho-optico-fonte.js +19 -19
- package/fontes/modificadores/tempo-transicao.d.ts +7 -7
- package/fontes/modificadores/tempo-transicao.js +33 -33
- package/fontes/modificadores/texto-bidirecional.d.ts +7 -7
- package/fontes/modificadores/texto-bidirecional.js +23 -23
- package/fontes/modificadores/tipo-encaixe-rolagem-mouse.d.ts +7 -7
- package/fontes/modificadores/tipo-encaixe-rolagem-mouse.js +26 -26
- package/fontes/modificadores/tipo-mascara.d.ts +7 -7
- package/fontes/modificadores/tipo-mascara.js +20 -20
- package/fontes/modificadores/toque-tela.d.ts +7 -7
- package/fontes/modificadores/toque-tela.js +29 -29
- package/fontes/modificadores/trajeto-deslocamento.d.ts +7 -7
- package/fontes/modificadores/trajeto-deslocamento.js +21 -21
- package/fontes/modificadores/transformar-caixa.d.ts +7 -7
- package/fontes/modificadores/transformar-caixa.js +23 -23
- package/fontes/modificadores/transformar-estilo.d.ts +7 -7
- package/fontes/modificadores/transformar-estilo.js +20 -20
- package/fontes/modificadores/transformar-origem.d.ts +4 -4
- package/fontes/modificadores/transformar-origem.js +21 -21
- package/fontes/modificadores/transformar-origem.js.map +1 -1
- package/fontes/modificadores/transformar-texto.d.ts +7 -7
- package/fontes/modificadores/transformar-texto.js +25 -25
- package/fontes/modificadores/transformar.d.ts +7 -7
- package/fontes/modificadores/transformar.js +19 -19
- package/fontes/modificadores/transicao.d.ts +7 -7
- package/fontes/modificadores/transicao.js +35 -35
- package/fontes/modificadores/transicao.js.map +1 -1
- package/fontes/modificadores/validacoes/comum.d.ts +3 -3
- package/fontes/modificadores/validacoes/comum.js +25 -26
- package/fontes/modificadores/validacoes/comum.js.map +1 -1
- package/fontes/modificadores/validacoes/condicao-extra.d.ts +5 -5
- package/fontes/modificadores/validacoes/condicao-extra.js +19 -20
- package/fontes/modificadores/validacoes/condicao-extra.js.map +1 -1
- package/fontes/modificadores/validacoes/cor.d.ts +6 -6
- package/fontes/modificadores/validacoes/cor.js +46 -47
- package/fontes/modificadores/validacoes/cor.js.map +1 -1
- package/fontes/modificadores/validacoes/numerica.d.ts +3 -3
- package/fontes/modificadores/validacoes/numerica.js +33 -34
- package/fontes/modificadores/validacoes/numerica.js.map +1 -1
- package/fontes/modificadores/validacoes/proibir-quantificador.d.ts +1 -1
- package/fontes/modificadores/validacoes/proibir-quantificador.js +8 -9
- package/fontes/modificadores/validacoes/proibir-quantificador.js.map +1 -1
- package/fontes/modificadores/validacoes/quantificador.d.ts +3 -3
- package/fontes/modificadores/validacoes/quantificador.js +18 -19
- package/fontes/modificadores/validacoes/quantificador.js.map +1 -1
- package/fontes/modificadores/variacao-fonte-alternativa.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte-alternativa.js +20 -20
- package/fontes/modificadores/variacao-fonte-asiatica.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte-asiatica.js +29 -29
- package/fontes/modificadores/variacao-fonte-ligacao.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte-ligacao.js +34 -34
- package/fontes/modificadores/variacao-fonte-maiuscula.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte-maiuscula.js +29 -29
- package/fontes/modificadores/variacao-fonte-numerica.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte-numerica.js +32 -32
- package/fontes/modificadores/variacao-fonte-posicao.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte-posicao.js +20 -20
- package/fontes/modificadores/variacao-fonte.d.ts +7 -7
- package/fontes/modificadores/variacao-fonte.js +75 -75
- package/fontes/modificadores/vazamento-em-ancora.d.ts +7 -7
- package/fontes/modificadores/vazamento-em-ancora.js +19 -19
- package/fontes/modificadores/vazamento-em-bloco.d.ts +7 -7
- package/fontes/modificadores/vazamento-em-bloco.js +23 -23
- package/fontes/modificadores/vazamento-em-linha.d.ts +7 -7
- package/fontes/modificadores/vazamento-em-linha.js +23 -23
- package/fontes/modificadores/vazamento-horizontal.d.ts +7 -7
- package/fontes/modificadores/vazamento-horizontal.js +23 -23
- package/fontes/modificadores/vazamento-texto.d.ts +7 -7
- package/fontes/modificadores/vazamento-texto.js +19 -19
- package/fontes/modificadores/vazamento-vertical.d.ts +7 -7
- package/fontes/modificadores/vazamento-vertical.js +23 -23
- package/fontes/modificadores/vazamento.d.ts +7 -7
- package/fontes/modificadores/vazamento.js +25 -25
- package/fontes/modificadores/velocidade-animacao.d.ts +7 -7
- package/fontes/modificadores/velocidade-animacao.js +34 -34
- package/fontes/modificadores/visibilidade-conteudo.d.ts +7 -7
- package/fontes/modificadores/visibilidade-conteudo.js +21 -21
- package/fontes/modificadores/visibilidade-fundo.d.ts +7 -7
- package/fontes/modificadores/visibilidade-fundo.js +20 -20
- package/fontes/modificadores/visibilidade.d.ts +7 -7
- package/fontes/modificadores/visibilidade.js +21 -21
- package/fontes/pseudoclasses/alvo-destaque.d.ts +4 -4
- package/fontes/pseudoclasses/alvo-destaque.js +10 -10
- package/fontes/pseudoclasses/ativo.d.ts +4 -4
- package/fontes/pseudoclasses/ativo.js +10 -10
- package/fontes/pseudoclasses/atual.d.ts +4 -4
- package/fontes/pseudoclasses/atual.js +10 -10
- package/fontes/pseudoclasses/dentro-do-limite.d.ts +4 -4
- package/fontes/pseudoclasses/dentro-do-limite.js +10 -10
- package/fontes/pseudoclasses/desabilitado.d.ts +4 -4
- package/fontes/pseudoclasses/desabilitado.js +10 -10
- package/fontes/pseudoclasses/dicionario-pseudoclasses.d.ts +3 -3
- package/fontes/pseudoclasses/dicionario-pseudoclasses.js +100 -100
- package/fontes/pseudoclasses/dicionario-pseudoclasses.js.map +1 -1
- package/fontes/pseudoclasses/direcao-texto.d.ts +4 -4
- package/fontes/pseudoclasses/direcao-texto.js +10 -10
- package/fontes/pseudoclasses/em-branco.d.ts +4 -4
- package/fontes/pseudoclasses/em-branco.js +10 -10
- package/fontes/pseudoclasses/escopo.d.ts +4 -4
- package/fontes/pseudoclasses/escopo.js +10 -10
- package/fontes/pseudoclasses/estilo-alvo.d.ts +4 -4
- package/fontes/pseudoclasses/estilo-alvo.js +10 -10
- package/fontes/pseudoclasses/estilo-padrao.d.ts +4 -4
- package/fontes/pseudoclasses/estilo-padrao.js +10 -10
- package/fontes/pseudoclasses/estrutura-estilo.d.ts +4 -4
- package/fontes/pseudoclasses/estrutura-estilo.js +10 -10
- package/fontes/pseudoclasses/filho-unico.d.ts +4 -4
- package/fontes/pseudoclasses/filho-unico.js +10 -10
- package/fontes/pseudoclasses/foco-interno.d.ts +4 -4
- package/fontes/pseudoclasses/foco-interno.js +10 -10
- package/fontes/pseudoclasses/foco-visivel.d.ts +4 -4
- package/fontes/pseudoclasses/foco-visivel.js +10 -10
- package/fontes/pseudoclasses/foco.d.ts +4 -4
- package/fontes/pseudoclasses/foco.js +10 -10
- package/fontes/pseudoclasses/fora-do-limite.d.ts +4 -4
- package/fontes/pseudoclasses/fora-do-limite.js +10 -10
- package/fontes/pseudoclasses/futuro.d.ts +4 -4
- package/fontes/pseudoclasses/futuro.js +10 -10
- package/fontes/pseudoclasses/habilitado.d.ts +4 -4
- package/fontes/pseudoclasses/habilitado.js +10 -10
- package/fontes/pseudoclasses/idioma-global.d.ts +4 -4
- package/fontes/pseudoclasses/idioma-global.js +10 -10
- package/fontes/pseudoclasses/indeterminado.d.ts +4 -4
- package/fontes/pseudoclasses/indeterminado.js +10 -10
- package/fontes/pseudoclasses/invalido.d.ts +4 -4
- package/fontes/pseudoclasses/invalido.js +10 -10
- package/fontes/pseudoclasses/ler-escrever.d.ts +4 -4
- package/fontes/pseudoclasses/ler-escrever.js +10 -10
- package/fontes/pseudoclasses/link-local.d.ts +4 -4
- package/fontes/pseudoclasses/link-local.js +10 -10
- package/fontes/pseudoclasses/link.d.ts +4 -4
- package/fontes/pseudoclasses/link.js +10 -10
- package/fontes/pseudoclasses/local-reservado-mostrado.d.ts +4 -4
- package/fontes/pseudoclasses/local-reservado-mostrado.js +10 -10
- package/fontes/pseudoclasses/n-filho.d.ts +4 -4
- package/fontes/pseudoclasses/n-filho.js +10 -10
- package/fontes/pseudoclasses/n-tipo.d.ts +4 -4
- package/fontes/pseudoclasses/n-tipo.js +10 -10
- package/fontes/pseudoclasses/n-ultimo-tipo.d.ts +4 -4
- package/fontes/pseudoclasses/n-ultimo-tipo.js +10 -10
- package/fontes/pseudoclasses/n-/303/272ltimo-filho.d.ts +4 -4
- package/fontes/pseudoclasses/n-/303/272ltimo-filho.js +10 -10
- package/fontes/pseudoclasses/obrigatorio.d.ts +4 -4
- package/fontes/pseudoclasses/obrigatorio.js +10 -10
- package/fontes/pseudoclasses/opcional.d.ts +4 -4
- package/fontes/pseudoclasses/opcional.js +10 -10
- package/fontes/pseudoclasses/passado.d.ts +4 -4
- package/fontes/pseudoclasses/passado.js +10 -10
- package/fontes/pseudoclasses/pausa.d.ts +4 -4
- package/fontes/pseudoclasses/pausa.js +10 -10
- package/fontes/pseudoclasses/primeiro-filho.d.ts +4 -4
- package/fontes/pseudoclasses/primeiro-filho.js +10 -10
- package/fontes/pseudoclasses/primeiro-tipo.d.ts +4 -4
- package/fontes/pseudoclasses/primeiro-tipo.js +10 -10
- package/fontes/pseudoclasses/pseudoclasse.d.ts +11 -11
- package/fontes/pseudoclasses/pseudoclasse.js +11 -11
- package/fontes/pseudoclasses/reproduzir.d.ts +4 -4
- package/fontes/pseudoclasses/reproduzir.js +10 -10
- package/fontes/pseudoclasses/seletor-pseudoclasse.d.ts +4 -4
- package/fontes/pseudoclasses/seletor-pseudoclasse.js +14 -14
- package/fontes/pseudoclasses/seletor-pseudoclasse.js.map +1 -1
- package/fontes/pseudoclasses/sobre.d.ts +4 -4
- package/fontes/pseudoclasses/sobre.js +10 -10
- package/fontes/pseudoclasses/somente-leitura.d.ts +4 -4
- package/fontes/pseudoclasses/somente-leitura.js +10 -10
- package/fontes/pseudoclasses/todo-link.d.ts +4 -4
- package/fontes/pseudoclasses/todo-link.js +10 -10
- package/fontes/pseudoclasses/ultimo-filho.d.ts +4 -4
- package/fontes/pseudoclasses/ultimo-filho.js +10 -10
- package/fontes/pseudoclasses/ultimo-tipo.d.ts +4 -4
- package/fontes/pseudoclasses/ultimo-tipo.js +10 -10
- package/fontes/pseudoclasses/unico-tipo.d.ts +4 -4
- package/fontes/pseudoclasses/unico-tipo.js +10 -10
- package/fontes/pseudoclasses/usuario-invalido.d.ts +4 -4
- package/fontes/pseudoclasses/usuario-invalido.js +10 -10
- package/fontes/pseudoclasses/valido.d.ts +4 -4
- package/fontes/pseudoclasses/valido.js +10 -10
- package/fontes/pseudoclasses/vazio.d.ts +4 -4
- package/fontes/pseudoclasses/vazio.js +10 -10
- package/fontes/pseudoclasses/verificado.d.ts +4 -4
- package/fontes/pseudoclasses/verificado.js +10 -10
- package/fontes/pseudoclasses/visitado.d.ts +4 -4
- package/fontes/pseudoclasses/visitado.js +10 -10
- package/fontes/seletores/index.d.ts +5 -5
- package/fontes/seletores/index.js +21 -21
- package/fontes/seletores/pragmas-seletor.d.ts +5 -5
- package/fontes/seletores/pragmas-seletor.js +2 -2
- package/fontes/seletores/seletor-classe.d.ts +9 -9
- package/fontes/seletores/seletor-classe.js +18 -18
- package/fontes/seletores/seletor-classe.js.map +1 -1
- package/fontes/seletores/seletor-espaco-reservado.d.ts +10 -10
- package/fontes/seletores/seletor-espaco-reservado.js +17 -17
- package/fontes/seletores/seletor-estrutura.d.ts +8 -8
- package/fontes/seletores/seletor-estrutura.js +27 -27
- package/fontes/seletores/seletor-estrutura.js.map +1 -1
- package/fontes/seletores/seletor-id.d.ts +9 -9
- package/fontes/seletores/seletor-id.js +19 -19
- package/fontes/seletores/seletor-id.js.map +1 -1
- package/fontes/seletores/seletor.d.ts +9 -9
- package/fontes/seletores/seletor.js +10 -10
- package/fontes/serializadores/index.d.ts +2 -2
- package/fontes/serializadores/index.js +18 -18
- package/fontes/serializadores/serializador-reverso.d.ts +12 -12
- package/fontes/serializadores/serializador-reverso.js +60 -60
- package/fontes/serializadores/serializador-reverso.js.map +1 -1
- package/fontes/serializadores/serializador.d.ts +19 -19
- package/fontes/serializadores/serializador.js +120 -97
- package/fontes/serializadores/serializador.js.map +1 -1
- package/fontes/tipos-de-simbolos/css.d.ts +21 -21
- package/fontes/tipos-de-simbolos/css.js +22 -22
- package/fontes/tipos-de-simbolos/foles.d.ts +30 -30
- package/fontes/tipos-de-simbolos/foles.js +31 -31
- package/fontes/tipos-de-simbolos/index.d.ts +2 -2
- package/fontes/tipos-de-simbolos/index.js +18 -18
- package/fontes/tradutores/estruturas-html.d.ts +113 -113
- package/fontes/tradutores/estruturas-html.js +114 -114
- package/fontes/tradutores/estruturas-lmht.d.ts +82 -82
- package/fontes/tradutores/estruturas-lmht.js +83 -83
- package/fontes/tradutores/tradutor-reverso.d.ts +10 -10
- package/fontes/tradutores/tradutor-reverso.js +62 -62
- package/fontes/tradutores/tradutor-reverso.js.map +1 -1
- package/fontes/tradutores/tradutor.d.ts +25 -25
- package/fontes/tradutores/tradutor.js +176 -176
- package/fontes/tradutores/tradutor.js.map +1 -1
- package/fontes/utilidades/base64.d.ts +10 -10
- package/fontes/utilidades/base64.js +111 -111
- package/fontes/utilidades/base64.js.map +1 -1
- package/fontes/valores/dicionario-valores.d.ts +3 -3
- package/fontes/valores/dicionario-valores.js +99 -99
- package/fontes/valores/metodos/borrar.d.ts +9 -9
- package/fontes/valores/metodos/borrar.js +19 -19
- package/fontes/valores/metodos/borrar.js.map +1 -1
- package/fontes/valores/metodos/brilho.d.ts +9 -9
- package/fontes/valores/metodos/brilho.js +19 -19
- package/fontes/valores/metodos/brilho.js.map +1 -1
- package/fontes/valores/metodos/calcular.d.ts +12 -12
- package/fontes/valores/metodos/calcular.js +19 -19
- package/fontes/valores/metodos/contraste.d.ts +9 -9
- package/fontes/valores/metodos/contraste.js +19 -19
- package/fontes/valores/metodos/contraste.js.map +1 -1
- package/fontes/valores/metodos/curva-cubica.d.ts +11 -11
- package/fontes/valores/metodos/curva-cubica.js +18 -18
- package/fontes/valores/metodos/encaixar-conteudo.d.ts +9 -9
- package/fontes/valores/metodos/encaixar-conteudo.js +16 -16
- package/fontes/valores/metodos/escala-cinza.d.ts +9 -9
- package/fontes/valores/metodos/escala-cinza.js +19 -19
- package/fontes/valores/metodos/escala-cinza.js.map +1 -1
- package/fontes/valores/metodos/escalamento-3d.d.ts +10 -10
- package/fontes/valores/metodos/escalamento-3d.js +17 -17
- package/fontes/valores/metodos/escalamento-eixo-z.d.ts +8 -8
- package/fontes/valores/metodos/escalamento-eixo-z.js +15 -15
- package/fontes/valores/metodos/escalamento-horizontal.d.ts +8 -8
- package/fontes/valores/metodos/escalamento-horizontal.js +15 -15
- package/fontes/valores/metodos/escalamento-vertical.d.ts +8 -8
- package/fontes/valores/metodos/escalamento-vertical.js +15 -15
- package/fontes/valores/metodos/escalamento.d.ts +9 -9
- package/fontes/valores/metodos/escalamento.js +19 -19
- package/fontes/valores/metodos/escalamento.js.map +1 -1
- package/fontes/valores/metodos/gradiente-linear.d.ts +11 -11
- package/fontes/valores/metodos/gradiente-linear.js +22 -22
- package/fontes/valores/metodos/hexadecimal-cor.d.ts +6 -6
- package/fontes/valores/metodos/hexadecimal-cor.js +14 -14
- package/fontes/valores/metodos/hsl.d.ts +9 -9
- package/fontes/valores/metodos/hsl.js +16 -16
- package/fontes/valores/metodos/hsla.d.ts +9 -9
- package/fontes/valores/metodos/hsla.js +20 -20
- package/fontes/valores/metodos/inclinar-horizontal.d.ts +9 -9
- package/fontes/valores/metodos/inclinar-horizontal.js +20 -20
- package/fontes/valores/metodos/inclinar-horizontal.js.map +1 -1
- package/fontes/valores/metodos/inclinar-vertical.d.ts +9 -9
- package/fontes/valores/metodos/inclinar-vertical.js +20 -20
- package/fontes/valores/metodos/inclinar-vertical.js.map +1 -1
- package/fontes/valores/metodos/inclinar.d.ts +11 -11
- package/fontes/valores/metodos/inclinar.js +27 -27
- package/fontes/valores/metodos/inclinar.js.map +1 -1
- package/fontes/valores/metodos/inverter.d.ts +9 -9
- package/fontes/valores/metodos/inverter.js +19 -19
- package/fontes/valores/metodos/inverter.js.map +1 -1
- package/fontes/valores/metodos/limitar.d.ts +13 -13
- package/fontes/valores/metodos/limitar.js +20 -20
- package/fontes/valores/metodos/linear.d.ts +10 -10
- package/fontes/valores/metodos/linear.js +17 -17
- package/fontes/valores/metodos/metodo.d.ts +4 -4
- package/fontes/valores/metodos/metodo.js +7 -7
- package/fontes/valores/metodos/minmax.d.ts +15 -15
- package/fontes/valores/metodos/minmax.js +30 -30
- package/fontes/valores/metodos/opacar.d.ts +9 -9
- package/fontes/valores/metodos/opacar.js +19 -19
- package/fontes/valores/metodos/opacar.js.map +1 -1
- package/fontes/valores/metodos/passos.d.ts +17 -17
- package/fontes/valores/metodos/passos.js +34 -34
- package/fontes/valores/metodos/perspectivar.d.ts +9 -9
- package/fontes/valores/metodos/perspectivar.js +19 -19
- package/fontes/valores/metodos/perspectivar.js.map +1 -1
- package/fontes/valores/metodos/projetar-sombra.d.ts +14 -14
- package/fontes/valores/metodos/projetar-sombra.js +42 -42
- package/fontes/valores/metodos/projetar-sombra.js.map +1 -1
- package/fontes/valores/metodos/raio.d.ts +10 -10
- package/fontes/valores/metodos/raio.js +23 -23
- package/fontes/valores/metodos/raio.js.map +1 -1
- package/fontes/valores/metodos/rgb.d.ts +9 -9
- package/fontes/valores/metodos/rgb.js +16 -16
- package/fontes/valores/metodos/rgba.d.ts +9 -9
- package/fontes/valores/metodos/rgba.js +16 -16
- package/fontes/valores/metodos/rotacionar-eixo-z.d.ts +9 -9
- package/fontes/valores/metodos/rotacionar-eixo-z.js +20 -20
- package/fontes/valores/metodos/rotacionar-eixo-z.js.map +1 -1
- package/fontes/valores/metodos/rotacionar-horizontal.d.ts +9 -9
- package/fontes/valores/metodos/rotacionar-horizontal.js +20 -20
- package/fontes/valores/metodos/rotacionar-horizontal.js.map +1 -1
- package/fontes/valores/metodos/rotacionar-matiz.d.ts +9 -9
- package/fontes/valores/metodos/rotacionar-matiz.js +20 -20
- package/fontes/valores/metodos/rotacionar-matiz.js.map +1 -1
- package/fontes/valores/metodos/rotacionar-vertical.d.ts +9 -9
- package/fontes/valores/metodos/rotacionar-vertical.js +20 -20
- package/fontes/valores/metodos/rotacionar-vertical.js.map +1 -1
- package/fontes/valores/metodos/rotacionar.d.ts +9 -9
- package/fontes/valores/metodos/rotacionar.js +20 -20
- package/fontes/valores/metodos/rotacionar.js.map +1 -1
- package/fontes/valores/metodos/saturar.d.ts +9 -9
- package/fontes/valores/metodos/saturar.js +19 -19
- package/fontes/valores/metodos/saturar.js.map +1 -1
- package/fontes/valores/metodos/sepia.d.ts +9 -9
- package/fontes/valores/metodos/sepia.js +19 -19
- package/fontes/valores/metodos/sepia.js.map +1 -1
- package/fontes/valores/metodos/translacao-3d.d.ts +13 -13
- package/fontes/valores/metodos/translacao-3d.js +41 -41
- package/fontes/valores/metodos/translacao-3d.js.map +1 -1
- package/fontes/valores/metodos/translacao-eixo-z.d.ts +9 -9
- package/fontes/valores/metodos/translacao-eixo-z.js +19 -19
- package/fontes/valores/metodos/translacao-eixo-z.js.map +1 -1
- package/fontes/valores/metodos/translacao-horizontal.d.ts +9 -9
- package/fontes/valores/metodos/translacao-horizontal.js +19 -19
- package/fontes/valores/metodos/translacao-horizontal.js.map +1 -1
- package/fontes/valores/metodos/translacao-vertical.d.ts +9 -9
- package/fontes/valores/metodos/translacao-vertical.js +19 -19
- package/fontes/valores/metodos/translacao-vertical.js.map +1 -1
- package/fontes/valores/metodos/translacao.d.ts +11 -11
- package/fontes/valores/metodos/translacao.js +27 -27
- package/fontes/valores/metodos/translacao.js.map +1 -1
- package/fontes/valores/metodos/url.d.ts +7 -7
- package/fontes/valores/metodos/url.js +15 -15
- package/fontes/valores/seletor-valor.d.ts +3 -3
- package/fontes/valores/seletor-valor.js +14 -14
- package/fontes/valores/seletor-valor.js.map +1 -1
- package/fontes/valores/valor.d.ts +2 -2
- package/fontes/valores/valor.js +6 -6
- package/index.d.ts +4 -4
- package/index.js +20 -20
- package/jest.config.d.ts +3 -3
- package/jest.config.js +11 -11
- package/package.json +4 -4
- package/testes/avaliador-sintatico.test.d.ts +1 -1
- package/testes/avaliador-sintatico.test.js +69 -69
- package/testes/avaliador-sintatico.test.js.map +1 -1
- package/testes/foles.test.d.ts +1 -1
- package/testes/foles.test.js +73 -73
- package/testes/lexador-reverso.test.d.ts +1 -1
- package/testes/lexador-reverso.test.js +38 -38
- package/testes/lexador.test.d.ts +1 -1
- package/testes/lexador.test.js +58 -58
- package/testes/listas/atribuicao-abreviada.d.ts +5 -1
- package/testes/listas/atribuicao-abreviada.js +216 -116
- package/testes/listas/atribuicao-abreviada.js.map +1 -1
- package/testes/listas/cores.d.ts +2 -2
- package/testes/listas/cores.js +68 -68
- package/testes/listas/estilo.d.ts +1 -1
- package/testes/listas/estilo.js +49 -49
- package/testes/listas/metodos.d.ts +25 -25
- package/testes/listas/metodos.js +158 -158
- package/testes/listas/palavras-reservadas.d.ts +2 -2
- package/testes/listas/palavras-reservadas.js +76 -76
- package/testes/listas/posi/303/247/303/243o.d.ts +1 -1
- package/testes/listas/posi/303/247/303/243o.js +52 -52
- package/testes/listas/status.d.ts +3 -3
- package/testes/listas/status.js +113 -113
- package/testes/listas/url.d.ts +2 -2
- package/testes/listas/url.js +49 -49
- package/testes/listas/valor-global.d.ts +1 -1
- package/testes/listas/valor-global.js +141 -141
- package/testes/listas/valor-numerico.d.ts +3 -2
- package/testes/listas/valor-numerico.js +66 -48
- package/testes/listas/valor-numerico.js.map +1 -1
- package/testes/listas/valor-quantificador.d.ts +4 -4
- package/testes/listas/valor-quantificador.js +230 -230
- package/testes/listas/valores-especificos.d.ts +4 -4
- package/testes/listas/valores-especificos.js +57 -57
- package/testes/modificadores/atribuicao-abreviada.test.d.ts +1 -1
- package/testes/modificadores/atribuicao-abreviada.test.js +210 -28
- package/testes/modificadores/atribuicao-abreviada.test.js.map +1 -1
- package/testes/modificadores/cores.test.d.ts +1 -1
- package/testes/modificadores/cores.test.js +184 -184
- package/testes/modificadores/cores.test.js.map +1 -1
- package/testes/modificadores/estilo.test.d.ts +1 -1
- package/testes/modificadores/estilo.test.js +91 -91
- package/testes/modificadores/estilo.test.js.map +1 -1
- package/testes/modificadores/metodos.test.d.ts +1 -1
- package/testes/modificadores/metodos.test.js +1886 -1886
- package/testes/modificadores/metodos.test.js.map +1 -1
- package/testes/modificadores/palavras-reservadas.test.d.ts +1 -1
- package/testes/modificadores/palavras-reservadas.test.js +119 -119
- package/testes/modificadores/palavras-reservadas.test.js.map +1 -1
- package/testes/modificadores/posicao.test.d.ts +1 -1
- package/testes/modificadores/posicao.test.js +98 -98
- package/testes/modificadores/posicao.test.js.map +1 -1
- package/testes/modificadores/status.test.d.ts +1 -1
- package/testes/modificadores/status.test.js +147 -147
- package/testes/modificadores/status.test.js.map +1 -1
- package/testes/modificadores/url.test.d.ts +1 -1
- package/testes/modificadores/url.test.js +75 -75
- package/testes/modificadores/url.test.js.map +1 -1
- package/testes/modificadores/valor-global.test.d.ts +1 -1
- package/testes/modificadores/valor-global.test.js +97 -97
- package/testes/modificadores/valor-global.test.js.map +1 -1
- package/testes/modificadores/valor-numerico.test.d.ts +1 -1
- package/testes/modificadores/valor-numerico.test.js +179 -170
- package/testes/modificadores/valor-numerico.test.js.map +1 -1
- package/testes/modificadores/valor-quantificador.test.d.ts +1 -1
- package/testes/modificadores/valor-quantificador.test.js +163 -163
- package/testes/modificadores/valor-quantificador.test.js.map +1 -1
- package/testes/serializador-reverso.test.d.ts +1 -1
- package/testes/serializador-reverso.test.js +38 -38
- package/testes/serializador-reverso.test.js.map +1 -1
- package/testes/serializador.test.d.ts +1 -1
- package/testes/serializador.test.js +95 -95
- package/testes/serializador.test.js.map +1 -1
- package/testes/tradutor-reverso.test.d.ts +1 -1
- package/testes/tradutor-reverso.test.js +30 -30
- package/testes/tradutor.test.d.ts +1 -1
- package/testes/tradutor.test.js +59 -59
|
@@ -1,1887 +1,1887 @@
|
|
|
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 importador_1 = require("../../fontes/importador");
|
|
8
|
-
const lexador_1 = require("../../fontes/lexador");
|
|
9
|
-
const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
|
|
10
|
-
const serializadores_1 = require("../../fontes/serializadores");
|
|
11
|
-
const metodos_1 = require("../listas/metodos");
|
|
12
|
-
describe('Testando Seletores que recebem MÉTODOS como valor', () => {
|
|
13
|
-
describe('Testes Unitários', () => {
|
|
14
|
-
let lexador;
|
|
15
|
-
let importador;
|
|
16
|
-
let avaliador;
|
|
17
|
-
let tradutor;
|
|
18
|
-
beforeEach(() => {
|
|
19
|
-
lexador = new lexador_1.Lexador();
|
|
20
|
-
importador = new importador_1.Importador(lexador);
|
|
21
|
-
avaliador = new avaliador_sintatico_1.AvaliadorSintatico(importador);
|
|
22
|
-
tradutor = new serializadores_1.Serializador();
|
|
23
|
-
});
|
|
24
|
-
it('Atribuindo Método "borrar()"', () => {
|
|
25
|
-
for (let index = 0; index < metodos_1.MetodoBorrar.length; index += 1) {
|
|
26
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
27
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
28
|
-
// Lexador
|
|
29
|
-
const resultadoLexador = lexador.mapear([
|
|
30
|
-
"lmht {",
|
|
31
|
-
`${metodos_1.MetodoBorrar[index]}: borrar(${valoresAceitos[valIndex]});`,
|
|
32
|
-
"}"
|
|
33
|
-
]);
|
|
34
|
-
// O Lexador não deve encontrar erros
|
|
35
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
36
|
-
// O valor recebido deve ser mapeado como METODO
|
|
37
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
38
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
39
|
-
]));
|
|
40
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
41
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
42
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
43
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
44
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
45
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
46
|
-
]));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
50
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
51
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
52
|
-
]));
|
|
53
|
-
}
|
|
54
|
-
// Avaliador Sintático
|
|
55
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
56
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
57
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBorrar[index]]);
|
|
58
|
-
// Tradutor
|
|
59
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
60
|
-
// O Tradutor deve serializar de acordo e traduzir borrar para blur
|
|
61
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBorrar[index]]);
|
|
62
|
-
expect(resultadoTradutor).toContain(`blur(${valoresAceitos[valIndex]});`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
it('Atribuindo Método "brilho()"', () => {
|
|
67
|
-
for (let index = 0; index < metodos_1.MetodoBrilho.length; index += 1) {
|
|
68
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
69
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
70
|
-
// Lexador
|
|
71
|
-
const resultadoLexador = lexador.mapear([
|
|
72
|
-
"lmht {",
|
|
73
|
-
`${metodos_1.MetodoBrilho[index]}: brilho(${valoresAceitos[valIndex]});`,
|
|
74
|
-
"}"
|
|
75
|
-
]);
|
|
76
|
-
// O Lexador não deve encontrar erros
|
|
77
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
78
|
-
// O valor recebido deve ser mapeado como METODO
|
|
79
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
80
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
81
|
-
]));
|
|
82
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
83
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
84
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
85
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
86
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
87
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
88
|
-
]));
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
92
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
93
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
94
|
-
]));
|
|
95
|
-
}
|
|
96
|
-
// Avaliador Sintático
|
|
97
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
98
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
99
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBrilho[index]]);
|
|
100
|
-
// Tradutor
|
|
101
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
102
|
-
// O Tradutor deve serializar de acordo e traduzir brilho para brightness
|
|
103
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBrilho[index]]);
|
|
104
|
-
expect(resultadoTradutor).toContain(`brightness(${valoresAceitos[valIndex]});`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
it('Atribuindo Método "calcular()"', () => {
|
|
109
|
-
for (let index = 0; index < metodos_1.MetodoCalcular.length; index += 1) {
|
|
110
|
-
// Lexador
|
|
111
|
-
const resultadoLexador = lexador.mapear([
|
|
112
|
-
"lmht {",
|
|
113
|
-
`${metodos_1.MetodoCalcular[index]}: calcular(100px - 80px);`,
|
|
114
|
-
"}"
|
|
115
|
-
]);
|
|
116
|
-
// O Lexador deve montar um objeto de comprimento 14 sem retornar nenhum erro
|
|
117
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
118
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
119
|
-
// O valor recebido deve ser mapeado como METODO
|
|
120
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
121
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
122
|
-
]));
|
|
123
|
-
// O Lexador também deve encontrar números e quantificadores no mapeamento
|
|
124
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
125
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
126
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
127
|
-
]));
|
|
128
|
-
// Avaliador Sintático
|
|
129
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
130
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
131
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCalcular[index]]);
|
|
132
|
-
// Tradutor
|
|
133
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
134
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCalcular[index]]);
|
|
135
|
-
expect(resultadoTradutor).toContain('calc(100px - 80px);');
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
it('Atribuindo Método "contraste()"', () => {
|
|
139
|
-
for (let index = 0; index < metodos_1.MetodoContraste.length; index += 1) {
|
|
140
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
141
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
142
|
-
// Lexador
|
|
143
|
-
const resultadoLexador = lexador.mapear([
|
|
144
|
-
"lmht {",
|
|
145
|
-
`${metodos_1.MetodoContraste[index]}: contraste(${valoresAceitos[valIndex]});`,
|
|
146
|
-
"}"
|
|
147
|
-
]);
|
|
148
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
149
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
150
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
151
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
152
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
153
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
154
|
-
]));
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
158
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
159
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
160
|
-
]));
|
|
161
|
-
}
|
|
162
|
-
// O Lexador não deve encontrar erros
|
|
163
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
164
|
-
// O valor recebido deve ser mapeado como METODO
|
|
165
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
166
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
167
|
-
]));
|
|
168
|
-
// Avaliador Sintático
|
|
169
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
170
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
171
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoContraste[index]]);
|
|
172
|
-
// Tradutor
|
|
173
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
174
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoContraste[index]]);
|
|
175
|
-
expect(resultadoTradutor).toContain(`contrast(${valoresAceitos[valIndex]});`);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
it('Atribuindo Método "curva-cúbica" (cubic-bezier)', () => {
|
|
180
|
-
for (let index = 0; index < metodos_1.MetodoCurvaCubica.length; index += 1) {
|
|
181
|
-
// Lexador
|
|
182
|
-
const resultadoLexador = lexador.mapear([
|
|
183
|
-
"lmht {",
|
|
184
|
-
`${metodos_1.MetodoCurvaCubica[index]}: curva-cúbica(0.42, 0.0, 1.0, 1.0);`,
|
|
185
|
-
"}"
|
|
186
|
-
]);
|
|
187
|
-
// O Lexador deve montar um objeto de comprimento 16 sem retornar nenhum erro
|
|
188
|
-
expect(resultadoLexador.simbolos).toHaveLength(16);
|
|
189
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
190
|
-
// O valor recebido deve ser mapeado como METODO
|
|
191
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
192
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
193
|
-
]));
|
|
194
|
-
// O Lexador também deve encontrar números no mapeamento
|
|
195
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
196
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
197
|
-
]));
|
|
198
|
-
// Avaliador Sintático
|
|
199
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
200
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
201
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCurvaCubica[index]]);
|
|
202
|
-
// // // // Tradutor
|
|
203
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
204
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCurvaCubica[index]]);
|
|
205
|
-
expect(resultadoTradutor).toContain('cubic-bezier(0.42, 0, 1, 1);');
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
it('Atribuindo Método "encaixar-conteúdo" (fit-content)', () => {
|
|
209
|
-
for (let index = 0; index < metodos_1.MetodoEncaixarConteudo.length; index += 1) {
|
|
210
|
-
// Lexador
|
|
211
|
-
const resultadoLexador = lexador.mapear([
|
|
212
|
-
"lmht {",
|
|
213
|
-
`${metodos_1.MetodoEncaixarConteudo[index]}: encaixar-conteúdo(200px);`,
|
|
214
|
-
"}"
|
|
215
|
-
]);
|
|
216
|
-
// O Lexador deve montar um objeto de comprimento 11 sem retornar nenhum erro
|
|
217
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
218
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
219
|
-
// O valor recebido deve ser mapeado como METODO
|
|
220
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
221
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
222
|
-
]));
|
|
223
|
-
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
224
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
225
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
226
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
227
|
-
]));
|
|
228
|
-
// Avaliador Sintático
|
|
229
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
230
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEncaixarConteudo[index]]);
|
|
231
|
-
// // // Tradutor
|
|
232
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
233
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEncaixarConteudo[index]]);
|
|
234
|
-
expect(resultadoTradutor).toContain('fit-content(200px)');
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
it('Atribuindo Método "escala-cinza()"', () => {
|
|
238
|
-
for (let index = 0; index < metodos_1.MetodoEscalaCinza.length; index += 1) {
|
|
239
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
240
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
241
|
-
// Lexador
|
|
242
|
-
const resultadoLexador = lexador.mapear([
|
|
243
|
-
"lmht {",
|
|
244
|
-
`${metodos_1.MetodoEscalaCinza[index]}: escala-cinza(${valoresAceitos[valIndex]});`,
|
|
245
|
-
"}"
|
|
246
|
-
]);
|
|
247
|
-
// O Lexador não deve encontrar erros
|
|
248
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
249
|
-
// O valor recebido deve ser mapeado como METODO
|
|
250
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
251
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
252
|
-
]));
|
|
253
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
254
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
255
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
256
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
257
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
258
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
259
|
-
]));
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
263
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
264
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
265
|
-
]));
|
|
266
|
-
}
|
|
267
|
-
// Avaliador Sintático
|
|
268
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
269
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
270
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEscalaCinza[index]]);
|
|
271
|
-
// Tradutor
|
|
272
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
273
|
-
// O Tradutor deve serializar de acordo e traduzir escala-cinza para grayscale
|
|
274
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEscalaCinza[index]]);
|
|
275
|
-
expect(resultadoTradutor).toContain(`grayscale(${valoresAceitos[valIndex]});`);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
it('Atribuindo Método "escalamento()"', () => {
|
|
280
|
-
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
281
|
-
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
282
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
283
|
-
// Lexador
|
|
284
|
-
const resultadoLexador = lexador.mapear([
|
|
285
|
-
"lmht {",
|
|
286
|
-
`${metodos_1.MetodosEscalamento[index]}: escalamento(${valoresAceitos[valIndex]});`,
|
|
287
|
-
"}"
|
|
288
|
-
]);
|
|
289
|
-
// O Lexador não deve encontrar erros
|
|
290
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
291
|
-
// O valor recebido deve ser mapeado como METODO
|
|
292
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
293
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
294
|
-
]));
|
|
295
|
-
// O Lexador deve montar um objeto de comprimento 10
|
|
296
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
297
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
298
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
299
|
-
]));
|
|
300
|
-
// Avaliador Sintático
|
|
301
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
302
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
303
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
304
|
-
// Tradutor
|
|
305
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
306
|
-
// O Tradutor deve serializar de acordo e traduzir escalamento para scale
|
|
307
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
308
|
-
expect(resultadoTradutor).toContain(`scale(${valoresAceitos[valIndex]});`);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
it('Atribuindo Método "escalamento()" com múltiplos valores', () => {
|
|
313
|
-
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
314
|
-
// Lexador
|
|
315
|
-
const resultadoLexador = lexador.mapear([
|
|
316
|
-
"lmht {",
|
|
317
|
-
`${metodos_1.MetodosEscalamento[index]}: escalamento(1.3, 0.4);`,
|
|
318
|
-
"}"
|
|
319
|
-
]);
|
|
320
|
-
// O Lexador não deve encontrar erros
|
|
321
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
322
|
-
// O valor recebido deve ser mapeado como METODO
|
|
323
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
324
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
325
|
-
]));
|
|
326
|
-
// O Lexador deve montar um objeto de comprimento 12
|
|
327
|
-
expect(resultadoLexador.simbolos).toHaveLength(12);
|
|
328
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
329
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
330
|
-
]));
|
|
331
|
-
// Avaliador Sintático
|
|
332
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
333
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
334
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
335
|
-
// Tradutor
|
|
336
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
337
|
-
// O Tradutor deve serializar de acordo e traduzir escalamento para scale
|
|
338
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
339
|
-
expect(resultadoTradutor).toContain(`scale(1.3, 0.4);`);
|
|
340
|
-
}
|
|
341
|
-
});
|
|
342
|
-
it('Atribuindo Método "escalamento-3d()"', () => {
|
|
343
|
-
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
344
|
-
// Lexador
|
|
345
|
-
const resultadoLexador = lexador.mapear([
|
|
346
|
-
"lmht {",
|
|
347
|
-
`${metodos_1.MetodosEscalamento[index]}: escalamento-3d(0.5, 1, 1.7);`,
|
|
348
|
-
"}"
|
|
349
|
-
]);
|
|
350
|
-
// O Lexador não deve encontrar erros
|
|
351
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
352
|
-
// O valor recebido deve ser mapeado como METODO
|
|
353
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
354
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
355
|
-
]));
|
|
356
|
-
// O Lexador deve montar um objeto de comprimento 14
|
|
357
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
358
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
359
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
360
|
-
]));
|
|
361
|
-
// Avaliador Sintático
|
|
362
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
363
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
364
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
365
|
-
// Tradutor
|
|
366
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
367
|
-
// O Tradutor deve serializar de acordo e traduzir escalamento-3d para scale3d
|
|
368
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
369
|
-
expect(resultadoTradutor).toContain(`scale3d(0.5, 1, 1.7);`);
|
|
370
|
-
}
|
|
371
|
-
});
|
|
372
|
-
it('Atribuindo Método "escalamento-eixo-z()"', () => {
|
|
373
|
-
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
374
|
-
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
375
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
376
|
-
// Lexador
|
|
377
|
-
const resultadoLexador = lexador.mapear([
|
|
378
|
-
"lmht {",
|
|
379
|
-
`${metodos_1.MetodosEscalamento[index]}: escalamento-eixo-z(${valoresAceitos[valIndex]});`,
|
|
380
|
-
"}"
|
|
381
|
-
]);
|
|
382
|
-
// O Lexador não deve encontrar erros
|
|
383
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
384
|
-
// O valor recebido deve ser mapeado como METODO
|
|
385
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
386
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
387
|
-
]));
|
|
388
|
-
// O Lexador deve montar um objeto de comprimento 10
|
|
389
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
390
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
391
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
392
|
-
]));
|
|
393
|
-
// Avaliador Sintático
|
|
394
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
395
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
396
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
397
|
-
// Tradutor
|
|
398
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
399
|
-
// O Tradutor deve serializar de acordo e traduzir escalamento-eixo-z para scaleZ
|
|
400
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
401
|
-
expect(resultadoTradutor).toContain(`scaleZ(${valoresAceitos[valIndex]});`);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
});
|
|
405
|
-
it('Atribuindo Método "escalamento-horizontal()"', () => {
|
|
406
|
-
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
407
|
-
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
408
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
409
|
-
// Lexador
|
|
410
|
-
const resultadoLexador = lexador.mapear([
|
|
411
|
-
"lmht {",
|
|
412
|
-
`${metodos_1.MetodosEscalamento[index]}: escalamento-horizontal(${valoresAceitos[valIndex]});`,
|
|
413
|
-
"}"
|
|
414
|
-
]);
|
|
415
|
-
// O Lexador não deve encontrar erros
|
|
416
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
417
|
-
// O valor recebido deve ser mapeado como METODO
|
|
418
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
419
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
420
|
-
]));
|
|
421
|
-
// O Lexador deve montar um objeto de comprimento 10
|
|
422
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
423
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
424
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
425
|
-
]));
|
|
426
|
-
// Avaliador Sintático
|
|
427
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
428
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
429
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
430
|
-
// Tradutor
|
|
431
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
432
|
-
// O Tradutor deve serializar de acordo e traduzir escalamento-horizontal para scaleX
|
|
433
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
434
|
-
expect(resultadoTradutor).toContain(`scaleX(${valoresAceitos[valIndex]});`);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
});
|
|
438
|
-
it('Atribuindo Método "escalamento-vertical()"', () => {
|
|
439
|
-
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
440
|
-
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
441
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
442
|
-
// Lexador
|
|
443
|
-
const resultadoLexador = lexador.mapear([
|
|
444
|
-
"lmht {",
|
|
445
|
-
`${metodos_1.MetodosEscalamento[index]}: escalamento-vertical(${valoresAceitos[valIndex]});`,
|
|
446
|
-
"}"
|
|
447
|
-
]);
|
|
448
|
-
// O Lexador não deve encontrar erros
|
|
449
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
450
|
-
// O valor recebido deve ser mapeado como METODO
|
|
451
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
452
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
453
|
-
]));
|
|
454
|
-
// O Lexador deve montar um objeto de comprimento 10
|
|
455
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
456
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
457
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
458
|
-
]));
|
|
459
|
-
// Avaliador Sintático
|
|
460
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
461
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
462
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
463
|
-
// Tradutor
|
|
464
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
465
|
-
// O Tradutor deve serializar de acordo e traduzir escalamento-vertical para scaleY
|
|
466
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
467
|
-
expect(resultadoTradutor).toContain(`scaleY(${valoresAceitos[valIndex]});`);
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
});
|
|
471
|
-
it('Atribuindo Método "gradiente-linear()" com valor de ângulo deg', () => {
|
|
472
|
-
for (let index = 0; index < metodos_1.MetodoGradienteLinear.length; index += 1) {
|
|
473
|
-
// Lexador
|
|
474
|
-
const resultadoLexador = lexador.mapear([
|
|
475
|
-
"lmht {",
|
|
476
|
-
`${metodos_1.MetodoGradienteLinear[index]}: gradiente-linear(90deg, verde, amarelo);`,
|
|
477
|
-
"}"
|
|
478
|
-
]);
|
|
479
|
-
// O Lexador deve montar um objeto de comprimento 15 sem retornar nenhum erro
|
|
480
|
-
expect(resultadoLexador.simbolos).toHaveLength(15);
|
|
481
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
482
|
-
// O valor recebido deve ser mapeado como METODO
|
|
483
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
484
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
485
|
-
]));
|
|
486
|
-
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
487
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
488
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
489
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
490
|
-
]));
|
|
491
|
-
// Avaliador Sintático
|
|
492
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
493
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
494
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
495
|
-
// Tradutor
|
|
496
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
497
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
498
|
-
expect(resultadoTradutor).toContain('linear-gradient(90deg, green, yellow);');
|
|
499
|
-
}
|
|
500
|
-
});
|
|
501
|
-
it('Atribuindo Método "gradiente-linear()" com valor de ângulo graus', () => {
|
|
502
|
-
for (let index = 0; index < metodos_1.MetodoGradienteLinear.length; index += 1) {
|
|
503
|
-
// Lexador
|
|
504
|
-
const resultadoLexador = lexador.mapear([
|
|
505
|
-
"lmht {",
|
|
506
|
-
`${metodos_1.MetodoGradienteLinear[index]}: gradiente-linear(90graus, verde, amarelo);`,
|
|
507
|
-
"}"
|
|
508
|
-
]);
|
|
509
|
-
// O Lexador deve montar um objeto de comprimento 15 sem retornar nenhum erro
|
|
510
|
-
expect(resultadoLexador.simbolos).toHaveLength(15);
|
|
511
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
512
|
-
// O valor recebido deve ser mapeado como METODO
|
|
513
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
514
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
515
|
-
]));
|
|
516
|
-
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
517
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
518
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
519
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
520
|
-
]));
|
|
521
|
-
// Avaliador Sintático
|
|
522
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
523
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
524
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
525
|
-
// Tradutor
|
|
526
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
527
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
528
|
-
expect(resultadoTradutor).toContain('linear-gradient(90deg, green, yellow);');
|
|
529
|
-
}
|
|
530
|
-
});
|
|
531
|
-
it('Atribuindo Método "gradiente-linear()" com valor de posição', () => {
|
|
532
|
-
for (let index = 0; index < metodos_1.MetodoGradienteLinear.length; index += 1) {
|
|
533
|
-
const posicoes = ['superior', 'inferior', 'direita', 'esquerda'];
|
|
534
|
-
for (let posIndex = 0; posIndex < posicoes.length; posIndex += 1) {
|
|
535
|
-
// Lexador
|
|
536
|
-
const resultadoLexador = lexador.mapear([
|
|
537
|
-
"lmht {",
|
|
538
|
-
`${metodos_1.MetodoGradienteLinear[index]}: gradiente-linear(${posicoes[posIndex]}, azul, vermelho);`,
|
|
539
|
-
"}"
|
|
540
|
-
]);
|
|
541
|
-
// O Lexador deve montar um objeto de comprimento 14 sem retornar nenhum erro
|
|
542
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
543
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
544
|
-
// O valor recebido deve ser mapeado como METODO
|
|
545
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
546
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
547
|
-
]));
|
|
548
|
-
// O Lexador também deve encontrar um qualitativo no mapeamento, referente à posição
|
|
549
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
550
|
-
expect.objectContaining({ tipo: foles_1.default.QUALITATIVO }),
|
|
551
|
-
]));
|
|
552
|
-
// Avaliador Sintático
|
|
553
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
554
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
555
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
556
|
-
// Tradutor
|
|
557
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
558
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
559
|
-
switch (posicoes[posIndex]) {
|
|
560
|
-
case 'superior':
|
|
561
|
-
expect(resultadoTradutor).toContain('linear-gradient(0deg, blue, red);');
|
|
562
|
-
break;
|
|
563
|
-
case 'direita':
|
|
564
|
-
expect(resultadoTradutor).toContain('linear-gradient(90deg, blue, red);');
|
|
565
|
-
break;
|
|
566
|
-
case 'inferior':
|
|
567
|
-
expect(resultadoTradutor).toContain('linear-gradient(180deg, blue, red);');
|
|
568
|
-
break;
|
|
569
|
-
case 'esquerda':
|
|
570
|
-
expect(resultadoTradutor).toContain('linear-gradient(270deg, blue, red);');
|
|
571
|
-
break;
|
|
572
|
-
default:
|
|
573
|
-
break;
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
});
|
|
578
|
-
it('Atribuindo Método "inclinar()"', () => {
|
|
579
|
-
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
580
|
-
const valoresAceitos = ['90graus', '18deg', '3.142rad', '0', '1'];
|
|
581
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
582
|
-
// Lexador
|
|
583
|
-
const resultadoLexador = lexador.mapear([
|
|
584
|
-
"lmht {",
|
|
585
|
-
`${metodos_1.MetodosInclinar[index]}: inclinar(${valoresAceitos[valIndex]});`,
|
|
586
|
-
"}"
|
|
587
|
-
]);
|
|
588
|
-
// O Lexador não deve encontrar erros
|
|
589
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
590
|
-
// O valor recebido deve ser mapeado como METODO
|
|
591
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
592
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
593
|
-
]));
|
|
594
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
595
|
-
if (valIndex <= 2) {
|
|
596
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
597
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
598
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
599
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
600
|
-
]));
|
|
601
|
-
}
|
|
602
|
-
else {
|
|
603
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
604
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
605
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
606
|
-
]));
|
|
607
|
-
}
|
|
608
|
-
// Avaliador Sintático
|
|
609
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
610
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
611
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
612
|
-
// Tradutor
|
|
613
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
614
|
-
// O Tradutor deve serializar de acordo e traduzir inclinar para skew
|
|
615
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
616
|
-
if (valIndex !== 0) {
|
|
617
|
-
expect(resultadoTradutor).toContain(`skew(${valoresAceitos[valIndex]});`);
|
|
618
|
-
}
|
|
619
|
-
else {
|
|
620
|
-
expect(resultadoTradutor).toContain(`skew(90deg);`);
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
});
|
|
625
|
-
it('Atribuindo Método "inclinar() com múltiplos valores"', () => {
|
|
626
|
-
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
627
|
-
// Lexador
|
|
628
|
-
const resultadoLexador = lexador.mapear([
|
|
629
|
-
"lmht {",
|
|
630
|
-
`${metodos_1.MetodosInclinar[index]}: inclinar(15graus, 15graus);`,
|
|
631
|
-
"}"
|
|
632
|
-
]);
|
|
633
|
-
// O Lexador não deve encontrar erros
|
|
634
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
635
|
-
// O valor recebido deve ser mapeado como METODO
|
|
636
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
637
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
638
|
-
]));
|
|
639
|
-
// O Lexador deve montar um objeto de comprimento 14
|
|
640
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
641
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
642
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
643
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
644
|
-
]));
|
|
645
|
-
// Avaliador Sintático
|
|
646
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
647
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
648
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
649
|
-
// Tradutor
|
|
650
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
651
|
-
// O Tradutor deve serializar de acordo e traduzir inclinar para skew
|
|
652
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
653
|
-
expect(resultadoTradutor).toContain(`skew(15deg, 15deg);`);
|
|
654
|
-
}
|
|
655
|
-
});
|
|
656
|
-
it('Atribuindo Método "inclinar-horizontal()"', () => {
|
|
657
|
-
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
658
|
-
const valoresAceitos = ['180graus', '18deg', '3.142rad', '0', '1'];
|
|
659
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
660
|
-
// Lexador
|
|
661
|
-
const resultadoLexador = lexador.mapear([
|
|
662
|
-
"lmht {",
|
|
663
|
-
`${metodos_1.MetodosInclinar[index]}: inclinar-horizontal(${valoresAceitos[valIndex]});`,
|
|
664
|
-
"}"
|
|
665
|
-
]);
|
|
666
|
-
// O Lexador não deve encontrar erros
|
|
667
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
668
|
-
// O valor recebido deve ser mapeado como METODO
|
|
669
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
670
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
671
|
-
]));
|
|
672
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
673
|
-
if (valIndex <= 2) {
|
|
674
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
675
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
676
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
677
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
678
|
-
]));
|
|
679
|
-
}
|
|
680
|
-
else {
|
|
681
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
682
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
683
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
684
|
-
]));
|
|
685
|
-
}
|
|
686
|
-
// Avaliador Sintático
|
|
687
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
688
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
689
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
690
|
-
// Tradutor
|
|
691
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
692
|
-
// O Tradutor deve serializar de acordo e traduzir inclinar-horizontal para skewX
|
|
693
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
694
|
-
if (valIndex !== 0) {
|
|
695
|
-
expect(resultadoTradutor).toContain(`skewX(${valoresAceitos[valIndex]});`);
|
|
696
|
-
}
|
|
697
|
-
else {
|
|
698
|
-
expect(resultadoTradutor).toContain(`skewX(180deg);`);
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
});
|
|
703
|
-
it('Atribuindo Método "inclinar-vertical()"', () => {
|
|
704
|
-
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
705
|
-
const valoresAceitos = ['180graus', '18deg', '3.142rad', '0', '1'];
|
|
706
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
707
|
-
// Lexador
|
|
708
|
-
const resultadoLexador = lexador.mapear([
|
|
709
|
-
"lmht {",
|
|
710
|
-
`${metodos_1.MetodosInclinar[index]}: inclinar-vertical(${valoresAceitos[valIndex]});`,
|
|
711
|
-
"}"
|
|
712
|
-
]);
|
|
713
|
-
// O Lexador não deve encontrar erros
|
|
714
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
715
|
-
// O valor recebido deve ser mapeado como METODO
|
|
716
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
717
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
718
|
-
]));
|
|
719
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
720
|
-
if (valIndex <= 2) {
|
|
721
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
722
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
723
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
724
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
725
|
-
]));
|
|
726
|
-
}
|
|
727
|
-
else {
|
|
728
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
729
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
730
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
731
|
-
]));
|
|
732
|
-
}
|
|
733
|
-
// Avaliador Sintático
|
|
734
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
735
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
736
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
737
|
-
// Tradutor
|
|
738
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
739
|
-
// O Tradutor deve serializar de acordo e traduzir inclinar-vertical para skewY
|
|
740
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
741
|
-
if (valIndex !== 0) {
|
|
742
|
-
expect(resultadoTradutor).toContain(`skewY(${valoresAceitos[valIndex]});`);
|
|
743
|
-
}
|
|
744
|
-
else {
|
|
745
|
-
expect(resultadoTradutor).toContain(`skewY(180deg);`);
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
});
|
|
750
|
-
it('Atribuindo Método "inverter()"', () => {
|
|
751
|
-
for (let index = 0; index < metodos_1.MetodoInverter.length; index += 1) {
|
|
752
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
753
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
754
|
-
// Lexador
|
|
755
|
-
const resultadoLexador = lexador.mapear([
|
|
756
|
-
"lmht {",
|
|
757
|
-
`${metodos_1.MetodoInverter[index]}: inverter(${valoresAceitos[valIndex]});`,
|
|
758
|
-
"}"
|
|
759
|
-
]);
|
|
760
|
-
// O Lexador não deve encontrar erros
|
|
761
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
762
|
-
// O valor recebido deve ser mapeado como METODO
|
|
763
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
764
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
765
|
-
]));
|
|
766
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
767
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
768
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
769
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
770
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
771
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
772
|
-
]));
|
|
773
|
-
}
|
|
774
|
-
else {
|
|
775
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
776
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
777
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
778
|
-
]));
|
|
779
|
-
}
|
|
780
|
-
// Avaliador Sintático
|
|
781
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
782
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
783
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoInverter[index]]);
|
|
784
|
-
// Tradutor
|
|
785
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
786
|
-
// O Tradutor deve serializar de acordo e traduzir inverter para invert
|
|
787
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoInverter[index]]);
|
|
788
|
-
expect(resultadoTradutor).toContain(`invert(${valoresAceitos[valIndex]});`);
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
});
|
|
792
|
-
it('Atribuindo Método "limitar" (clamp)', () => {
|
|
793
|
-
for (let index = 0; index < metodos_1.MetodoLimitar.length; index += 1) {
|
|
794
|
-
// Lexador
|
|
795
|
-
const resultadoLexador = lexador.mapear([
|
|
796
|
-
"lmht {",
|
|
797
|
-
`${metodos_1.MetodoLimitar[index]}: limitar(10vw, 20em, 100vw);`,
|
|
798
|
-
"}"
|
|
799
|
-
]);
|
|
800
|
-
// O Lexador deve montar um objeto de comprimento 17 sem retornar nenhum erro
|
|
801
|
-
expect(resultadoLexador.simbolos).toHaveLength(17);
|
|
802
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
803
|
-
// O valor recebido deve ser mapeado como METODO
|
|
804
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
805
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
806
|
-
]));
|
|
807
|
-
// O Lexador também deve encontrar números e quantificadores no mapeamento
|
|
808
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
809
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
810
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
811
|
-
]));
|
|
812
|
-
// Avaliador Sintático
|
|
813
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
814
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
815
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLimitar[index]]);
|
|
816
|
-
// Tradutor
|
|
817
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
818
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLimitar[index]]);
|
|
819
|
-
expect(resultadoTradutor).toContain('clamp(10vw, 20em, 100vw);');
|
|
820
|
-
}
|
|
821
|
-
});
|
|
822
|
-
it('Atribuindo Método "linear()"', () => {
|
|
823
|
-
for (let index = 0; index < metodos_1.MetodoLinear.length; index += 1) {
|
|
824
|
-
// Lexador
|
|
825
|
-
const resultadoLexador = lexador.mapear([
|
|
826
|
-
"lmht {",
|
|
827
|
-
`${metodos_1.MetodoLinear[index]}: linear(0, 0.25, 1);`,
|
|
828
|
-
"}"
|
|
829
|
-
]);
|
|
830
|
-
// O Lexador deve montar um objeto de comprimento 14 sem retornar nenhum erro
|
|
831
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
832
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
833
|
-
// O valor recebido deve ser mapeado como METODO
|
|
834
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
835
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
836
|
-
]));
|
|
837
|
-
// O Lexador também deve encontrar números no mapeamento
|
|
838
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
839
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
840
|
-
]));
|
|
841
|
-
// Avaliador Sintático
|
|
842
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
843
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
844
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLinear[index]]);
|
|
845
|
-
// // // // Tradutor
|
|
846
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
847
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLinear[index]]);
|
|
848
|
-
expect(resultadoTradutor).toContain('linear(0, 0.25, 1);');
|
|
849
|
-
}
|
|
850
|
-
});
|
|
851
|
-
it('Atribuindo Método "minmax()"', () => {
|
|
852
|
-
for (let index = 0; index < metodos_1.MetodoMinMax.length; index += 1) {
|
|
853
|
-
// Lexador
|
|
854
|
-
const resultadoLexador = lexador.mapear([
|
|
855
|
-
"lmht {",
|
|
856
|
-
`${metodos_1.MetodoMinMax[index]}: minmax(100px, conteúdo-máximo);`,
|
|
857
|
-
"}"
|
|
858
|
-
]);
|
|
859
|
-
// O Lexador deve montar um objeto de comprimento 13 sem retornar nenhum erro
|
|
860
|
-
expect(resultadoLexador.simbolos).toHaveLength(13);
|
|
861
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
862
|
-
// O valor recebido deve ser mapeado como METODO
|
|
863
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
864
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
865
|
-
]));
|
|
866
|
-
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
867
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
868
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
869
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
870
|
-
]));
|
|
871
|
-
// Avaliador Sintático
|
|
872
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
873
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
874
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoMinMax[index]]);
|
|
875
|
-
// // // // Tradutor
|
|
876
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
877
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoMinMax[index]]);
|
|
878
|
-
expect(resultadoTradutor).toContain('minmax(100px, max-content);');
|
|
879
|
-
}
|
|
880
|
-
});
|
|
881
|
-
it('Atribuindo Método "opacar()"', () => {
|
|
882
|
-
for (let index = 0; index < metodos_1.MetodoOpacar.length; index += 1) {
|
|
883
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
884
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
885
|
-
// Lexador
|
|
886
|
-
const resultadoLexador = lexador.mapear([
|
|
887
|
-
"lmht {",
|
|
888
|
-
`${metodos_1.MetodoOpacar[index]}: opacar(${valoresAceitos[valIndex]});`,
|
|
889
|
-
"}"
|
|
890
|
-
]);
|
|
891
|
-
// O Lexador não deve encontrar erros
|
|
892
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
893
|
-
// O valor recebido deve ser mapeado como METODO
|
|
894
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
895
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
896
|
-
]));
|
|
897
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
898
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
899
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
900
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
901
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
902
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
903
|
-
]));
|
|
904
|
-
}
|
|
905
|
-
else {
|
|
906
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
907
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
908
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
909
|
-
]));
|
|
910
|
-
}
|
|
911
|
-
// Avaliador Sintático
|
|
912
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
913
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
914
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoOpacar[index]]);
|
|
915
|
-
// Tradutor
|
|
916
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
917
|
-
// O Tradutor deve serializar de acordo e traduzir opacar para opacity
|
|
918
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoOpacar[index]]);
|
|
919
|
-
expect(resultadoTradutor).toContain(`opacity(${valoresAceitos[valIndex]});`);
|
|
920
|
-
}
|
|
921
|
-
}
|
|
922
|
-
});
|
|
923
|
-
it('Atribuindo Método "passos" (steps)', () => {
|
|
924
|
-
for (let index = 0; index < metodos_1.MetodoPassos.length; index += 1) {
|
|
925
|
-
// Lexador
|
|
926
|
-
const resultadoLexador = lexador.mapear([
|
|
927
|
-
"lmht {",
|
|
928
|
-
`${metodos_1.MetodoPassos[index]}: passos(2, salto-inicial);`,
|
|
929
|
-
"}"
|
|
930
|
-
]);
|
|
931
|
-
// O Lexador deve montar um objeto de comprimento 12 sem retornar nenhum erro
|
|
932
|
-
expect(resultadoLexador.simbolos).toHaveLength(12);
|
|
933
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
934
|
-
// O valor recebido deve ser mapeado como METODO
|
|
935
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
936
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
937
|
-
]));
|
|
938
|
-
// O Lexador também deve encontrar número e qualitativo no mapeamento
|
|
939
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
940
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
941
|
-
expect.objectContaining({ tipo: foles_1.default.QUALITATIVO }),
|
|
942
|
-
]));
|
|
943
|
-
// Avaliador Sintático
|
|
944
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
945
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
946
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPassos[index]]);
|
|
947
|
-
// // // // Tradutor
|
|
948
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
949
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPassos[index]]);
|
|
950
|
-
expect(resultadoTradutor).toContain('steps(2, jump-start);');
|
|
951
|
-
}
|
|
952
|
-
});
|
|
953
|
-
it('Atribuindo Método "perspectivar()"', () => {
|
|
954
|
-
for (let index = 0; index < metodos_1.MetodoPerspectivar.length; index += 1) {
|
|
955
|
-
const valoresAceitos = ['800px', '6.5cm', '0.1', '0', '1', '1.75', 'nenhuma'];
|
|
956
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
957
|
-
// Lexador
|
|
958
|
-
const resultadoLexador = lexador.mapear([
|
|
959
|
-
"lmht {",
|
|
960
|
-
`${metodos_1.MetodoPerspectivar[index]}: perspectivar(${valoresAceitos[valIndex]});`,
|
|
961
|
-
"}"
|
|
962
|
-
]);
|
|
963
|
-
// O Lexador não deve encontrar erros
|
|
964
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
965
|
-
// O valor recebido deve ser mapeado como METODO
|
|
966
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
967
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
968
|
-
]));
|
|
969
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
970
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
971
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
972
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
973
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
974
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
975
|
-
]));
|
|
976
|
-
}
|
|
977
|
-
else if (valIndex !== 6) {
|
|
978
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
979
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
980
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
981
|
-
]));
|
|
982
|
-
}
|
|
983
|
-
else {
|
|
984
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
985
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
986
|
-
expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
|
|
987
|
-
]));
|
|
988
|
-
}
|
|
989
|
-
// Avaliador Sintático
|
|
990
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
991
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
992
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPerspectivar[index]]);
|
|
993
|
-
// Tradutor
|
|
994
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
995
|
-
// O Tradutor deve serializar de acordo e traduzir perspectivar para perspective
|
|
996
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPerspectivar[index]]);
|
|
997
|
-
expect(resultadoTradutor).toContain(`perspective(${valoresAceitos[valIndex]});`);
|
|
998
|
-
}
|
|
999
|
-
}
|
|
1000
|
-
});
|
|
1001
|
-
it('Atribuindo Método "projetar-sombra()" com valores de comprimento somente', () => {
|
|
1002
|
-
for (let index = 0; index < metodos_1.MetodoProjetarSombra.length; index += 1) {
|
|
1003
|
-
const comprimentos = ['15px 15px', '15px 15px 15px', '0.5rem 0.5rem', '0.5rem 0.5rem 1rem'];
|
|
1004
|
-
for (let posIndex = 0; posIndex < comprimentos.length; posIndex += 1) {
|
|
1005
|
-
// Lexador
|
|
1006
|
-
const resultadoLexador = lexador.mapear([
|
|
1007
|
-
"lmht {",
|
|
1008
|
-
`${metodos_1.MetodoProjetarSombra[index]}: projetar-sombra(${comprimentos[posIndex]});`,
|
|
1009
|
-
"}"
|
|
1010
|
-
]);
|
|
1011
|
-
// O Lexador deve montar um objeto de acordo, sem retornar nenhum erro
|
|
1012
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1013
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1014
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1015
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1016
|
-
]));
|
|
1017
|
-
// O Lexador também deve sempre encontrar valores e quantificadores na operação
|
|
1018
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1019
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1020
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1021
|
-
]));
|
|
1022
|
-
// Avaliador Sintático
|
|
1023
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1024
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1025
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1026
|
-
// Tradutor
|
|
1027
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1028
|
-
// O Tradutor deve serializar de acordo e traduzir projetar-sombra para drop-shadow
|
|
1029
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1030
|
-
expect(resultadoTradutor).toContain(`drop-shadow(${comprimentos[posIndex]});`);
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
|
-
});
|
|
1034
|
-
it('Atribuindo Método "projetar-sombra()" com valores de cor e de comprimento', () => {
|
|
1035
|
-
for (let index = 0; index < metodos_1.MetodoProjetarSombra.length; index += 1) {
|
|
1036
|
-
const comprimentos = ['15px 15px vermelho', '15px 15px 15px vermelho', 'vermelho 0.5rem 0.5rem', 'vermelho 0.5rem 0.5rem 1rem'];
|
|
1037
|
-
for (let posIndex = 0; posIndex < comprimentos.length; posIndex += 1) {
|
|
1038
|
-
// Lexador
|
|
1039
|
-
const resultadoLexador = lexador.mapear([
|
|
1040
|
-
"lmht {",
|
|
1041
|
-
`${metodos_1.MetodoProjetarSombra[index]}: projetar-sombra(${comprimentos[posIndex]});`,
|
|
1042
|
-
"}"
|
|
1043
|
-
]);
|
|
1044
|
-
// O Lexador deve montar um objeto de acordo, sem retornar nenhum erro
|
|
1045
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1046
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1047
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1048
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1049
|
-
]));
|
|
1050
|
-
// O Lexador também deve sempre encontrar valores e quantificadores na operação
|
|
1051
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1052
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1053
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1054
|
-
]));
|
|
1055
|
-
// Avaliador Sintático
|
|
1056
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1057
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1058
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1059
|
-
// Tradutor
|
|
1060
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1061
|
-
// O Tradutor deve serializar de acordo e traduzir vermelho para red
|
|
1062
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1063
|
-
expect(resultadoTradutor).toContain('red');
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
|
-
});
|
|
1067
|
-
it('Atribuindo Método "raio()" com valores de posição e número/quantificador', () => {
|
|
1068
|
-
for (let index = 0; index < metodos_1.MetodoRaio.length; index += 1) {
|
|
1069
|
-
const valoresAceitos = ['lado-mais-próximo', 'lado-mais-proximo', 'canto-mais-próximo', 'canto-mais-proximo', 'lado-mais-distante', 'canto-mais-distante', 'lados', 'conter'];
|
|
1070
|
-
const traducaoValoresAceitos = ['closest-side', 'closest-side', 'closest-corner', 'closest-corner', 'farthest-side', 'farthest-corner', 'sides', 'contain'];
|
|
1071
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1072
|
-
// Lexador
|
|
1073
|
-
const resultadoLexador = lexador.mapear([
|
|
1074
|
-
"lmht {",
|
|
1075
|
-
`${metodos_1.MetodoRaio[index]}: raio(${valoresAceitos[valIndex]} 200graus);`,
|
|
1076
|
-
"}"
|
|
1077
|
-
]);
|
|
1078
|
-
// O Lexador não deve encontrar erros
|
|
1079
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1080
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1081
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1082
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1083
|
-
]));
|
|
1084
|
-
// O Lexador deve montar um objeto de comprimento 12
|
|
1085
|
-
expect(resultadoLexador.simbolos).toHaveLength(12);
|
|
1086
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1087
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1088
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1089
|
-
]));
|
|
1090
|
-
// Avaliador Sintático
|
|
1091
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1092
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1093
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1094
|
-
// Tradutor
|
|
1095
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1096
|
-
// O Tradutor deve serializar de acordo e traduzir raio para ray
|
|
1097
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1098
|
-
expect(resultadoTradutor).toContain(`ray(${traducaoValoresAceitos[valIndex]} 200deg);`);
|
|
1099
|
-
}
|
|
1100
|
-
}
|
|
1101
|
-
});
|
|
1102
|
-
it('Atribuindo Método "raio()" com somente número/quantificador', () => {
|
|
1103
|
-
for (let index = 0; index < metodos_1.MetodoRaio.length; index += 1) {
|
|
1104
|
-
// Lexador
|
|
1105
|
-
const resultadoLexador = lexador.mapear([
|
|
1106
|
-
"lmht {",
|
|
1107
|
-
`${metodos_1.MetodoRaio[index]}: raio(200deg);`,
|
|
1108
|
-
"}"
|
|
1109
|
-
]);
|
|
1110
|
-
// O Lexador não deve encontrar erros
|
|
1111
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1112
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1113
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1114
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1115
|
-
]));
|
|
1116
|
-
// O Lexador deve montar um objeto de comprimento 11
|
|
1117
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1118
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1119
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1120
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1121
|
-
]));
|
|
1122
|
-
// Avaliador Sintático
|
|
1123
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1124
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1125
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1126
|
-
// Tradutor
|
|
1127
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1128
|
-
// O Tradutor deve serializar de acordo e traduzir raio para ray
|
|
1129
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1130
|
-
expect(resultadoTradutor).toContain(`ray(200deg);`);
|
|
1131
|
-
}
|
|
1132
|
-
});
|
|
1133
|
-
it('Atribuindo Método "rotacionar()"', () => {
|
|
1134
|
-
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1135
|
-
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1136
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1137
|
-
// Lexador
|
|
1138
|
-
const resultadoLexador = lexador.mapear([
|
|
1139
|
-
"lmht {",
|
|
1140
|
-
`${metodos_1.MetodosRotacionar[index]}: rotacionar(${valoresAceitos[valIndex]});`,
|
|
1141
|
-
"}"
|
|
1142
|
-
]);
|
|
1143
|
-
// O Lexador não deve encontrar erros
|
|
1144
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1145
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1146
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1147
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1148
|
-
]));
|
|
1149
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1150
|
-
if (valIndex <= 2) {
|
|
1151
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1152
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1153
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1154
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1155
|
-
]));
|
|
1156
|
-
}
|
|
1157
|
-
else {
|
|
1158
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1159
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1160
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1161
|
-
]));
|
|
1162
|
-
}
|
|
1163
|
-
// Avaliador Sintático
|
|
1164
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1165
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1166
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1167
|
-
// Tradutor
|
|
1168
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1169
|
-
// O Tradutor deve serializar de acordo e traduzir rotacionar para rotate
|
|
1170
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1171
|
-
if (valIndex !== 0) {
|
|
1172
|
-
expect(resultadoTradutor).toContain(`rotate(${valoresAceitos[valIndex]});`);
|
|
1173
|
-
}
|
|
1174
|
-
else {
|
|
1175
|
-
expect(resultadoTradutor).toContain(`rotate(45deg);`);
|
|
1176
|
-
}
|
|
1177
|
-
}
|
|
1178
|
-
}
|
|
1179
|
-
});
|
|
1180
|
-
it('Atribuindo Método "rotacionar-eixo-z()"', () => {
|
|
1181
|
-
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1182
|
-
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1183
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1184
|
-
// Lexador
|
|
1185
|
-
const resultadoLexador = lexador.mapear([
|
|
1186
|
-
"lmht {",
|
|
1187
|
-
`${metodos_1.MetodosRotacionar[index]}: rotacionar-eixo-z(${valoresAceitos[valIndex]});`,
|
|
1188
|
-
"}"
|
|
1189
|
-
]);
|
|
1190
|
-
// O Lexador não deve encontrar erros
|
|
1191
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1192
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1193
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1194
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1195
|
-
]));
|
|
1196
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1197
|
-
if (valIndex <= 2) {
|
|
1198
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1199
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1200
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1201
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1202
|
-
]));
|
|
1203
|
-
}
|
|
1204
|
-
else {
|
|
1205
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1206
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1207
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1208
|
-
]));
|
|
1209
|
-
}
|
|
1210
|
-
// Avaliador Sintático
|
|
1211
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1212
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1213
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1214
|
-
// Tradutor
|
|
1215
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1216
|
-
// O Tradutor deve serializar de acordo e traduzir rotacionar-eixo-z para rotateZ
|
|
1217
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1218
|
-
if (valIndex !== 0) {
|
|
1219
|
-
expect(resultadoTradutor).toContain(`rotateZ(${valoresAceitos[valIndex]});`);
|
|
1220
|
-
}
|
|
1221
|
-
else {
|
|
1222
|
-
expect(resultadoTradutor).toContain(`rotateZ(45deg);`);
|
|
1223
|
-
}
|
|
1224
|
-
}
|
|
1225
|
-
}
|
|
1226
|
-
});
|
|
1227
|
-
it('Atribuindo Método "rotacionar-horizontal()"', () => {
|
|
1228
|
-
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1229
|
-
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1230
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1231
|
-
// Lexador
|
|
1232
|
-
const resultadoLexador = lexador.mapear([
|
|
1233
|
-
"lmht {",
|
|
1234
|
-
`${metodos_1.MetodosRotacionar[index]}: rotacionar-horizontal(${valoresAceitos[valIndex]});`,
|
|
1235
|
-
"}"
|
|
1236
|
-
]);
|
|
1237
|
-
// O Lexador não deve encontrar erros
|
|
1238
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1239
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1240
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1241
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1242
|
-
]));
|
|
1243
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1244
|
-
if (valIndex <= 2) {
|
|
1245
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1246
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1247
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1248
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1249
|
-
]));
|
|
1250
|
-
}
|
|
1251
|
-
else {
|
|
1252
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1253
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1254
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1255
|
-
]));
|
|
1256
|
-
}
|
|
1257
|
-
// Avaliador Sintático
|
|
1258
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1259
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1260
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1261
|
-
// Tradutor
|
|
1262
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1263
|
-
// O Tradutor deve serializar de acordo e traduzir rotacionar-horizontal para rotateX
|
|
1264
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1265
|
-
if (valIndex !== 0) {
|
|
1266
|
-
expect(resultadoTradutor).toContain(`rotateX(${valoresAceitos[valIndex]});`);
|
|
1267
|
-
}
|
|
1268
|
-
else {
|
|
1269
|
-
expect(resultadoTradutor).toContain(`rotateX(45deg);`);
|
|
1270
|
-
}
|
|
1271
|
-
}
|
|
1272
|
-
}
|
|
1273
|
-
});
|
|
1274
|
-
it('Atribuindo Método "rotacionar-matiz()"', () => {
|
|
1275
|
-
for (let index = 0; index < metodos_1.MetodoRotacionarMatiz.length; index += 1) {
|
|
1276
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
1277
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1278
|
-
// Lexador
|
|
1279
|
-
const resultadoLexador = lexador.mapear([
|
|
1280
|
-
"lmht {",
|
|
1281
|
-
`${metodos_1.MetodoRotacionarMatiz[index]}: rotacionar-matiz(${valoresAceitos[valIndex]});`,
|
|
1282
|
-
"}"
|
|
1283
|
-
]);
|
|
1284
|
-
// O Lexador não deve encontrar erros
|
|
1285
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1286
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1287
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1288
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1289
|
-
]));
|
|
1290
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1291
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1292
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1293
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1294
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1295
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1296
|
-
]));
|
|
1297
|
-
}
|
|
1298
|
-
else {
|
|
1299
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1300
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1301
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1302
|
-
]));
|
|
1303
|
-
}
|
|
1304
|
-
// Avaliador Sintático
|
|
1305
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1306
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1307
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRotacionarMatiz[index]]);
|
|
1308
|
-
// Tradutor
|
|
1309
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1310
|
-
// O Tradutor deve serializar de acordo e traduzir rotacionar-matiz para hue-rotate
|
|
1311
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRotacionarMatiz[index]]);
|
|
1312
|
-
expect(resultadoTradutor).toContain(`hue-rotate(${valoresAceitos[valIndex]});`);
|
|
1313
|
-
}
|
|
1314
|
-
}
|
|
1315
|
-
});
|
|
1316
|
-
it('Atribuindo Método "rotacionar-vertical()"', () => {
|
|
1317
|
-
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1318
|
-
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1319
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1320
|
-
// Lexador
|
|
1321
|
-
const resultadoLexador = lexador.mapear([
|
|
1322
|
-
"lmht {",
|
|
1323
|
-
`${metodos_1.MetodosRotacionar[index]}: rotacionar-vertical(${valoresAceitos[valIndex]});`,
|
|
1324
|
-
"}"
|
|
1325
|
-
]);
|
|
1326
|
-
// O Lexador não deve encontrar erros
|
|
1327
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1328
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1329
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1330
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1331
|
-
]));
|
|
1332
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1333
|
-
if (valIndex <= 2) {
|
|
1334
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1335
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1336
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1337
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1338
|
-
]));
|
|
1339
|
-
}
|
|
1340
|
-
else {
|
|
1341
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1342
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1343
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1344
|
-
]));
|
|
1345
|
-
}
|
|
1346
|
-
// Avaliador Sintático
|
|
1347
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1348
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1349
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1350
|
-
// Tradutor
|
|
1351
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1352
|
-
// O Tradutor deve serializar de acordo e traduzir rotacionar-vertical para rotateY
|
|
1353
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1354
|
-
if (valIndex !== 0) {
|
|
1355
|
-
expect(resultadoTradutor).toContain(`rotateY(${valoresAceitos[valIndex]});`);
|
|
1356
|
-
}
|
|
1357
|
-
else {
|
|
1358
|
-
expect(resultadoTradutor).toContain(`rotateY(45deg);`);
|
|
1359
|
-
}
|
|
1360
|
-
}
|
|
1361
|
-
}
|
|
1362
|
-
});
|
|
1363
|
-
it('Atribuindo Método "saturar()"', () => {
|
|
1364
|
-
for (let index = 0; index < metodos_1.MetodoSaturar.length; index += 1) {
|
|
1365
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
1366
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1367
|
-
// Lexador
|
|
1368
|
-
const resultadoLexador = lexador.mapear([
|
|
1369
|
-
"lmht {",
|
|
1370
|
-
`${metodos_1.MetodoSaturar[index]}: saturar(${valoresAceitos[valIndex]});`,
|
|
1371
|
-
"}"
|
|
1372
|
-
]);
|
|
1373
|
-
// O Lexador não deve encontrar erros
|
|
1374
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1375
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1376
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1377
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1378
|
-
]));
|
|
1379
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1380
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1381
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1382
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1383
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1384
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1385
|
-
]));
|
|
1386
|
-
}
|
|
1387
|
-
else {
|
|
1388
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1389
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1390
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1391
|
-
]));
|
|
1392
|
-
}
|
|
1393
|
-
// Avaliador Sintático
|
|
1394
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1395
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1396
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSaturar[index]]);
|
|
1397
|
-
// Tradutor
|
|
1398
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1399
|
-
// O Tradutor deve serializar de acordo e traduzir saturar para saturate
|
|
1400
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSaturar[index]]);
|
|
1401
|
-
expect(resultadoTradutor).toContain(`saturate(${valoresAceitos[valIndex]});`);
|
|
1402
|
-
}
|
|
1403
|
-
}
|
|
1404
|
-
});
|
|
1405
|
-
it('Atribuindo Método "sepia()"', () => {
|
|
1406
|
-
for (let index = 0; index < metodos_1.MetodoSepia.length; index += 1) {
|
|
1407
|
-
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
1408
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1409
|
-
// Lexador
|
|
1410
|
-
const resultadoLexador = lexador.mapear([
|
|
1411
|
-
"lmht {",
|
|
1412
|
-
`${metodos_1.MetodoSepia[index]}: sepia(${valoresAceitos[valIndex]});`,
|
|
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: foles_1.default.METODO }),
|
|
1420
|
-
]));
|
|
1421
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1422
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1423
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1424
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1425
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1426
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1427
|
-
]));
|
|
1428
|
-
}
|
|
1429
|
-
else {
|
|
1430
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1431
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1432
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1433
|
-
]));
|
|
1434
|
-
}
|
|
1435
|
-
// Avaliador Sintático
|
|
1436
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1437
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1438
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSepia[index]]);
|
|
1439
|
-
// Tradutor
|
|
1440
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1441
|
-
// O Tradutor deve serializar de acordo e traduzir sépia para sepia
|
|
1442
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSepia[index]]);
|
|
1443
|
-
expect(resultadoTradutor).toContain(`sepia(${valoresAceitos[valIndex]});`);
|
|
1444
|
-
}
|
|
1445
|
-
}
|
|
1446
|
-
});
|
|
1447
|
-
it('Atribuindo Método "translação()"', () => {
|
|
1448
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1449
|
-
const valoresAceitos = ['270graus', '18deg', '3.142rad', '0', '1'];
|
|
1450
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1451
|
-
// Lexador
|
|
1452
|
-
const resultadoLexador = lexador.mapear([
|
|
1453
|
-
"lmht {",
|
|
1454
|
-
`${metodos_1.MetodosTranslacao[index]}: translação(${valoresAceitos[valIndex]});`,
|
|
1455
|
-
"}"
|
|
1456
|
-
]);
|
|
1457
|
-
// O Lexador não deve encontrar erros
|
|
1458
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1459
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1460
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1461
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1462
|
-
]));
|
|
1463
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1464
|
-
if (valIndex <= 2) {
|
|
1465
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1466
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1467
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1468
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1469
|
-
]));
|
|
1470
|
-
}
|
|
1471
|
-
else {
|
|
1472
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1473
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1474
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1475
|
-
]));
|
|
1476
|
-
}
|
|
1477
|
-
// Avaliador Sintático
|
|
1478
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1479
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1480
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1481
|
-
// Tradutor
|
|
1482
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1483
|
-
// O Tradutor deve serializar de acordo e traduzir translação para translate
|
|
1484
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1485
|
-
if (valIndex !== 0) {
|
|
1486
|
-
expect(resultadoTradutor).toContain(`translate(${valoresAceitos[valIndex]});`);
|
|
1487
|
-
}
|
|
1488
|
-
else {
|
|
1489
|
-
expect(resultadoTradutor).toContain(`translate(270deg);`);
|
|
1490
|
-
}
|
|
1491
|
-
}
|
|
1492
|
-
}
|
|
1493
|
-
});
|
|
1494
|
-
it('Atribuindo Método "translacao() com múltiplos valores"', () => {
|
|
1495
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1496
|
-
// Lexador
|
|
1497
|
-
const resultadoLexador = lexador.mapear([
|
|
1498
|
-
"lmht {",
|
|
1499
|
-
`${metodos_1.MetodosTranslacao[index]}: translacao(3ch, 3mm);`,
|
|
1500
|
-
"}"
|
|
1501
|
-
]);
|
|
1502
|
-
// O Lexador não deve encontrar erros
|
|
1503
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1504
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1505
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1506
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1507
|
-
]));
|
|
1508
|
-
// O Lexador deve montar um objeto de comprimento 14
|
|
1509
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
1510
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1511
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1512
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1513
|
-
]));
|
|
1514
|
-
// Avaliador Sintático
|
|
1515
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1516
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1517
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1518
|
-
// Tradutor
|
|
1519
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1520
|
-
// O Tradutor deve serializar de acordo e traduzir translacao para translate
|
|
1521
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1522
|
-
expect(resultadoTradutor).toContain(`translate(3ch, 3mm);`);
|
|
1523
|
-
}
|
|
1524
|
-
});
|
|
1525
|
-
it('Atribuindo Método "translação-3d()"', () => {
|
|
1526
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1527
|
-
// Lexador
|
|
1528
|
-
const resultadoLexador = lexador.mapear([
|
|
1529
|
-
"lmht {",
|
|
1530
|
-
`${metodos_1.MetodosTranslacao[index]}: translacao-3d(5ch, 0.4in, 5em);`,
|
|
1531
|
-
"}"
|
|
1532
|
-
]);
|
|
1533
|
-
// O Lexador não deve encontrar erros
|
|
1534
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1535
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1536
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1537
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1538
|
-
]));
|
|
1539
|
-
// O Lexador deve montar um objeto de comprimento 17
|
|
1540
|
-
expect(resultadoLexador.simbolos).toHaveLength(17);
|
|
1541
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1542
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1543
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1544
|
-
]));
|
|
1545
|
-
// Avaliador Sintático
|
|
1546
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1547
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1548
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1549
|
-
// Tradutor
|
|
1550
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1551
|
-
// O Tradutor deve serializar de acordo e traduzir translação-3d para translate3d
|
|
1552
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1553
|
-
expect(resultadoTradutor).toContain(`translate3d(5ch, 0.4in, 5em);`);
|
|
1554
|
-
}
|
|
1555
|
-
});
|
|
1556
|
-
it('Atribuindo Método "translação-3d() cobrindo todos os casos"', () => {
|
|
1557
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1558
|
-
const valoresAceitos = [
|
|
1559
|
-
'0',
|
|
1560
|
-
'0, 62px, 135px',
|
|
1561
|
-
'2.7rem, 0, 1rem',
|
|
1562
|
-
'5ch, 0.4in, 0',
|
|
1563
|
-
'0, 0, 135px',
|
|
1564
|
-
'0, 2.7rem, 0',
|
|
1565
|
-
'5ch, 0, 0',
|
|
1566
|
-
'42px, 62px, 135px',
|
|
1567
|
-
'0, 0, 0',
|
|
1568
|
-
];
|
|
1569
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1570
|
-
// Lexador
|
|
1571
|
-
const resultadoLexador = lexador.mapear([
|
|
1572
|
-
"lmht {",
|
|
1573
|
-
`${metodos_1.MetodosTranslacao[index]}: translação-3d(${valoresAceitos[valIndex]});`,
|
|
1574
|
-
"}"
|
|
1575
|
-
]);
|
|
1576
|
-
// O Lexador não deve encontrar erros
|
|
1577
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1578
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1579
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1580
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1581
|
-
]));
|
|
1582
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1583
|
-
if (valIndex === 0) {
|
|
1584
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1585
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1586
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1587
|
-
]));
|
|
1588
|
-
}
|
|
1589
|
-
else if (valIndex === 1 || valIndex === 2 || valIndex === 3) {
|
|
1590
|
-
expect(resultadoLexador.simbolos).toHaveLength(16);
|
|
1591
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1592
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1593
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1594
|
-
]));
|
|
1595
|
-
}
|
|
1596
|
-
else if (valIndex === 4 || valIndex === 5 || valIndex === 6) {
|
|
1597
|
-
expect(resultadoLexador.simbolos).toHaveLength(15);
|
|
1598
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1599
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1600
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1601
|
-
]));
|
|
1602
|
-
}
|
|
1603
|
-
else if (valIndex === 7) {
|
|
1604
|
-
expect(resultadoLexador.simbolos).toHaveLength(17);
|
|
1605
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1606
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1607
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1608
|
-
]));
|
|
1609
|
-
}
|
|
1610
|
-
else {
|
|
1611
|
-
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
1612
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1613
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1614
|
-
]));
|
|
1615
|
-
}
|
|
1616
|
-
// Avaliador Sintático
|
|
1617
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1618
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1619
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1620
|
-
// Tradutor
|
|
1621
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1622
|
-
// O Tradutor deve serializar de acordo e traduzir translação-3d para translate3d
|
|
1623
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1624
|
-
if (valIndex !== 8) {
|
|
1625
|
-
expect(resultadoTradutor).toContain(`translate3d(${valoresAceitos[valIndex]});`);
|
|
1626
|
-
}
|
|
1627
|
-
else {
|
|
1628
|
-
expect(resultadoTradutor).toContain(`translate3d(0);`);
|
|
1629
|
-
}
|
|
1630
|
-
}
|
|
1631
|
-
}
|
|
1632
|
-
});
|
|
1633
|
-
it('Atribuindo Método "translação-eixo-z()"', () => {
|
|
1634
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1635
|
-
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1636
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1637
|
-
// Lexador
|
|
1638
|
-
const resultadoLexador = lexador.mapear([
|
|
1639
|
-
"lmht {",
|
|
1640
|
-
`${metodos_1.MetodosTranslacao[index]}: translação-eixo-z(${valoresAceitos[valIndex]});`,
|
|
1641
|
-
"}"
|
|
1642
|
-
]);
|
|
1643
|
-
// O Lexador não deve encontrar erros
|
|
1644
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1645
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1646
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1647
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1648
|
-
]));
|
|
1649
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1650
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1651
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1652
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1653
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1654
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1655
|
-
]));
|
|
1656
|
-
}
|
|
1657
|
-
else {
|
|
1658
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1659
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1660
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1661
|
-
]));
|
|
1662
|
-
}
|
|
1663
|
-
// Avaliador Sintático
|
|
1664
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1665
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1666
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1667
|
-
// Tradutor
|
|
1668
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1669
|
-
// O Tradutor deve serializar de acordo e traduzir translação-eixo-z para translateZ
|
|
1670
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1671
|
-
expect(resultadoTradutor).toContain(`translateZ(${valoresAceitos[valIndex]});`);
|
|
1672
|
-
}
|
|
1673
|
-
}
|
|
1674
|
-
});
|
|
1675
|
-
it('Atribuindo Método "translacao-eixo-z()"', () => {
|
|
1676
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1677
|
-
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1678
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1679
|
-
// Lexador
|
|
1680
|
-
const resultadoLexador = lexador.mapear([
|
|
1681
|
-
"lmht {",
|
|
1682
|
-
`${metodos_1.MetodosTranslacao[index]}: translacao-eixo-z(${valoresAceitos[valIndex]});`,
|
|
1683
|
-
"}"
|
|
1684
|
-
]);
|
|
1685
|
-
// O Lexador não deve encontrar erros
|
|
1686
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1687
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1688
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1689
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1690
|
-
]));
|
|
1691
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1692
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1693
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1694
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1695
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1696
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1697
|
-
]));
|
|
1698
|
-
}
|
|
1699
|
-
else {
|
|
1700
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1701
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1702
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1703
|
-
]));
|
|
1704
|
-
}
|
|
1705
|
-
// Avaliador Sintático
|
|
1706
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1707
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1708
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1709
|
-
// Tradutor
|
|
1710
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1711
|
-
// O Tradutor deve serializar de acordo e traduzir translacao-eixo-z para translateZ
|
|
1712
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1713
|
-
expect(resultadoTradutor).toContain(`translateZ(${valoresAceitos[valIndex]});`);
|
|
1714
|
-
}
|
|
1715
|
-
}
|
|
1716
|
-
});
|
|
1717
|
-
it('Atribuindo Método "translação-horizontal()"', () => {
|
|
1718
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1719
|
-
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1720
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1721
|
-
// Lexador
|
|
1722
|
-
const resultadoLexador = lexador.mapear([
|
|
1723
|
-
"lmht {",
|
|
1724
|
-
`${metodos_1.MetodosTranslacao[index]}: translação-horizontal(${valoresAceitos[valIndex]});`,
|
|
1725
|
-
"}"
|
|
1726
|
-
]);
|
|
1727
|
-
// O Lexador não deve encontrar erros
|
|
1728
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1729
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1730
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1731
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1732
|
-
]));
|
|
1733
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1734
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1735
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1736
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1737
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1738
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1739
|
-
]));
|
|
1740
|
-
}
|
|
1741
|
-
else {
|
|
1742
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1743
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1744
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1745
|
-
]));
|
|
1746
|
-
}
|
|
1747
|
-
// Avaliador Sintático
|
|
1748
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1749
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1750
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1751
|
-
// Tradutor
|
|
1752
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1753
|
-
// O Tradutor deve serializar de acordo e traduzir translação-horizontal para translateX
|
|
1754
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1755
|
-
expect(resultadoTradutor).toContain(`translateX(${valoresAceitos[valIndex]});`);
|
|
1756
|
-
}
|
|
1757
|
-
}
|
|
1758
|
-
});
|
|
1759
|
-
it('Atribuindo Método "translacao-horizontal()"', () => {
|
|
1760
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1761
|
-
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1762
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1763
|
-
// Lexador
|
|
1764
|
-
const resultadoLexador = lexador.mapear([
|
|
1765
|
-
"lmht {",
|
|
1766
|
-
`${metodos_1.MetodosTranslacao[index]}: translacao-horizontal(${valoresAceitos[valIndex]});`,
|
|
1767
|
-
"}"
|
|
1768
|
-
]);
|
|
1769
|
-
// O Lexador não deve encontrar erros
|
|
1770
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1771
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1772
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1773
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1774
|
-
]));
|
|
1775
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1776
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1777
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1778
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1779
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1780
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1781
|
-
]));
|
|
1782
|
-
}
|
|
1783
|
-
else {
|
|
1784
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1785
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1786
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1787
|
-
]));
|
|
1788
|
-
}
|
|
1789
|
-
// Avaliador Sintático
|
|
1790
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1791
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1792
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1793
|
-
// Tradutor
|
|
1794
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1795
|
-
// O Tradutor deve serializar de acordo e traduzir translação-horizontal para translateX
|
|
1796
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1797
|
-
expect(resultadoTradutor).toContain(`translateX(${valoresAceitos[valIndex]});`);
|
|
1798
|
-
}
|
|
1799
|
-
}
|
|
1800
|
-
});
|
|
1801
|
-
it('Atribuindo Método "translação-vertical()"', () => {
|
|
1802
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1803
|
-
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1804
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1805
|
-
// Lexador
|
|
1806
|
-
const resultadoLexador = lexador.mapear([
|
|
1807
|
-
"lmht {",
|
|
1808
|
-
`${metodos_1.MetodosTranslacao[index]}: translação-vertical(${valoresAceitos[valIndex]});`,
|
|
1809
|
-
"}"
|
|
1810
|
-
]);
|
|
1811
|
-
// O Lexador não deve encontrar erros
|
|
1812
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1813
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1814
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1815
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1816
|
-
]));
|
|
1817
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1818
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1819
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1820
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1821
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1822
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1823
|
-
]));
|
|
1824
|
-
}
|
|
1825
|
-
else {
|
|
1826
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1827
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1828
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1829
|
-
]));
|
|
1830
|
-
}
|
|
1831
|
-
// Avaliador Sintático
|
|
1832
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1833
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1834
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1835
|
-
// Tradutor
|
|
1836
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1837
|
-
// O Tradutor deve serializar de acordo e traduzir translação-vertical para translateY
|
|
1838
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1839
|
-
expect(resultadoTradutor).toContain(`translateY(${valoresAceitos[valIndex]});`);
|
|
1840
|
-
}
|
|
1841
|
-
}
|
|
1842
|
-
});
|
|
1843
|
-
it('Atribuindo Método "translacao-vertical()"', () => {
|
|
1844
|
-
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1845
|
-
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1846
|
-
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1847
|
-
// Lexador
|
|
1848
|
-
const resultadoLexador = lexador.mapear([
|
|
1849
|
-
"lmht {",
|
|
1850
|
-
`${metodos_1.MetodosTranslacao[index]}: translacao-vertical(${valoresAceitos[valIndex]});`,
|
|
1851
|
-
"}"
|
|
1852
|
-
]);
|
|
1853
|
-
// O Lexador não deve encontrar erros
|
|
1854
|
-
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1855
|
-
// O valor recebido deve ser mapeado como METODO
|
|
1856
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1857
|
-
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1858
|
-
]));
|
|
1859
|
-
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1860
|
-
if (valIndex === 0 || valIndex === 1) {
|
|
1861
|
-
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1862
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1863
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1864
|
-
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1865
|
-
]));
|
|
1866
|
-
}
|
|
1867
|
-
else {
|
|
1868
|
-
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1869
|
-
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1870
|
-
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1871
|
-
]));
|
|
1872
|
-
}
|
|
1873
|
-
// Avaliador Sintático
|
|
1874
|
-
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1875
|
-
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1876
|
-
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1877
|
-
// Tradutor
|
|
1878
|
-
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1879
|
-
// O Tradutor deve serializar de acordo e traduzir translação-vertical para translateY
|
|
1880
|
-
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1881
|
-
expect(resultadoTradutor).toContain(`translateY(${valoresAceitos[valIndex]});`);
|
|
1882
|
-
}
|
|
1883
|
-
}
|
|
1884
|
-
});
|
|
1885
|
-
});
|
|
1886
|
-
});
|
|
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 importador_1 = require("../../fontes/importador");
|
|
8
|
+
const lexador_1 = require("../../fontes/lexador");
|
|
9
|
+
const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
|
|
10
|
+
const serializadores_1 = require("../../fontes/serializadores");
|
|
11
|
+
const metodos_1 = require("../listas/metodos");
|
|
12
|
+
describe('Testando Seletores que recebem MÉTODOS como valor', () => {
|
|
13
|
+
describe('Testes Unitários', () => {
|
|
14
|
+
let lexador;
|
|
15
|
+
let importador;
|
|
16
|
+
let avaliador;
|
|
17
|
+
let tradutor;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
lexador = new lexador_1.Lexador();
|
|
20
|
+
importador = new importador_1.Importador(lexador);
|
|
21
|
+
avaliador = new avaliador_sintatico_1.AvaliadorSintatico(importador);
|
|
22
|
+
tradutor = new serializadores_1.Serializador();
|
|
23
|
+
});
|
|
24
|
+
it('Atribuindo Método "borrar()"', () => {
|
|
25
|
+
for (let index = 0; index < metodos_1.MetodoBorrar.length; index += 1) {
|
|
26
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
27
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
28
|
+
// Lexador
|
|
29
|
+
const resultadoLexador = lexador.mapear([
|
|
30
|
+
"lmht {",
|
|
31
|
+
`${metodos_1.MetodoBorrar[index]}: borrar(${valoresAceitos[valIndex]});`,
|
|
32
|
+
"}"
|
|
33
|
+
]);
|
|
34
|
+
// O Lexador não deve encontrar erros
|
|
35
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
36
|
+
// O valor recebido deve ser mapeado como METODO
|
|
37
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
38
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
39
|
+
]));
|
|
40
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
41
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
42
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
43
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
44
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
45
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
46
|
+
]));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
50
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
51
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
52
|
+
]));
|
|
53
|
+
}
|
|
54
|
+
// Avaliador Sintático
|
|
55
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
56
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
57
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBorrar[index]]);
|
|
58
|
+
// Tradutor
|
|
59
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
60
|
+
// O Tradutor deve serializar de acordo e traduzir borrar para blur
|
|
61
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBorrar[index]]);
|
|
62
|
+
expect(resultadoTradutor).toContain(`blur(${valoresAceitos[valIndex]});`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
it('Atribuindo Método "brilho()"', () => {
|
|
67
|
+
for (let index = 0; index < metodos_1.MetodoBrilho.length; index += 1) {
|
|
68
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
69
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
70
|
+
// Lexador
|
|
71
|
+
const resultadoLexador = lexador.mapear([
|
|
72
|
+
"lmht {",
|
|
73
|
+
`${metodos_1.MetodoBrilho[index]}: brilho(${valoresAceitos[valIndex]});`,
|
|
74
|
+
"}"
|
|
75
|
+
]);
|
|
76
|
+
// O Lexador não deve encontrar erros
|
|
77
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
78
|
+
// O valor recebido deve ser mapeado como METODO
|
|
79
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
80
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
81
|
+
]));
|
|
82
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
83
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
84
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
85
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
86
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
87
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
88
|
+
]));
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
92
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
93
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
94
|
+
]));
|
|
95
|
+
}
|
|
96
|
+
// Avaliador Sintático
|
|
97
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
98
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
99
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBrilho[index]]);
|
|
100
|
+
// Tradutor
|
|
101
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
102
|
+
// O Tradutor deve serializar de acordo e traduzir brilho para brightness
|
|
103
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoBrilho[index]]);
|
|
104
|
+
expect(resultadoTradutor).toContain(`brightness(${valoresAceitos[valIndex]});`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
it('Atribuindo Método "calcular()"', () => {
|
|
109
|
+
for (let index = 0; index < metodos_1.MetodoCalcular.length; index += 1) {
|
|
110
|
+
// Lexador
|
|
111
|
+
const resultadoLexador = lexador.mapear([
|
|
112
|
+
"lmht {",
|
|
113
|
+
`${metodos_1.MetodoCalcular[index]}: calcular(100px - 80px);`,
|
|
114
|
+
"}"
|
|
115
|
+
]);
|
|
116
|
+
// O Lexador deve montar um objeto de comprimento 14 sem retornar nenhum erro
|
|
117
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
118
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
119
|
+
// O valor recebido deve ser mapeado como METODO
|
|
120
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
121
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
122
|
+
]));
|
|
123
|
+
// O Lexador também deve encontrar números e quantificadores no mapeamento
|
|
124
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
125
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
126
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
127
|
+
]));
|
|
128
|
+
// Avaliador Sintático
|
|
129
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
130
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
131
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCalcular[index]]);
|
|
132
|
+
// Tradutor
|
|
133
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
134
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCalcular[index]]);
|
|
135
|
+
expect(resultadoTradutor).toContain('calc(100px - 80px);');
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
it('Atribuindo Método "contraste()"', () => {
|
|
139
|
+
for (let index = 0; index < metodos_1.MetodoContraste.length; index += 1) {
|
|
140
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
141
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
142
|
+
// Lexador
|
|
143
|
+
const resultadoLexador = lexador.mapear([
|
|
144
|
+
"lmht {",
|
|
145
|
+
`${metodos_1.MetodoContraste[index]}: contraste(${valoresAceitos[valIndex]});`,
|
|
146
|
+
"}"
|
|
147
|
+
]);
|
|
148
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
149
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
150
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
151
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
152
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
153
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
154
|
+
]));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
158
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
159
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
160
|
+
]));
|
|
161
|
+
}
|
|
162
|
+
// O Lexador não deve encontrar erros
|
|
163
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
164
|
+
// O valor recebido deve ser mapeado como METODO
|
|
165
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
166
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
167
|
+
]));
|
|
168
|
+
// Avaliador Sintático
|
|
169
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
170
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
171
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoContraste[index]]);
|
|
172
|
+
// Tradutor
|
|
173
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
174
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoContraste[index]]);
|
|
175
|
+
expect(resultadoTradutor).toContain(`contrast(${valoresAceitos[valIndex]});`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
it('Atribuindo Método "curva-cúbica" (cubic-bezier)', () => {
|
|
180
|
+
for (let index = 0; index < metodos_1.MetodoCurvaCubica.length; index += 1) {
|
|
181
|
+
// Lexador
|
|
182
|
+
const resultadoLexador = lexador.mapear([
|
|
183
|
+
"lmht {",
|
|
184
|
+
`${metodos_1.MetodoCurvaCubica[index]}: curva-cúbica(0.42, 0.0, 1.0, 1.0);`,
|
|
185
|
+
"}"
|
|
186
|
+
]);
|
|
187
|
+
// O Lexador deve montar um objeto de comprimento 16 sem retornar nenhum erro
|
|
188
|
+
expect(resultadoLexador.simbolos).toHaveLength(16);
|
|
189
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
190
|
+
// O valor recebido deve ser mapeado como METODO
|
|
191
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
192
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
193
|
+
]));
|
|
194
|
+
// O Lexador também deve encontrar números no mapeamento
|
|
195
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
196
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
197
|
+
]));
|
|
198
|
+
// Avaliador Sintático
|
|
199
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
200
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
201
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCurvaCubica[index]]);
|
|
202
|
+
// // // // Tradutor
|
|
203
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
204
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoCurvaCubica[index]]);
|
|
205
|
+
expect(resultadoTradutor).toContain('cubic-bezier(0.42, 0, 1, 1);');
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
it('Atribuindo Método "encaixar-conteúdo" (fit-content)', () => {
|
|
209
|
+
for (let index = 0; index < metodos_1.MetodoEncaixarConteudo.length; index += 1) {
|
|
210
|
+
// Lexador
|
|
211
|
+
const resultadoLexador = lexador.mapear([
|
|
212
|
+
"lmht {",
|
|
213
|
+
`${metodos_1.MetodoEncaixarConteudo[index]}: encaixar-conteúdo(200px);`,
|
|
214
|
+
"}"
|
|
215
|
+
]);
|
|
216
|
+
// O Lexador deve montar um objeto de comprimento 11 sem retornar nenhum erro
|
|
217
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
218
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
219
|
+
// O valor recebido deve ser mapeado como METODO
|
|
220
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
221
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
222
|
+
]));
|
|
223
|
+
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
224
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
225
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
226
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
227
|
+
]));
|
|
228
|
+
// Avaliador Sintático
|
|
229
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
230
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEncaixarConteudo[index]]);
|
|
231
|
+
// // // Tradutor
|
|
232
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
233
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEncaixarConteudo[index]]);
|
|
234
|
+
expect(resultadoTradutor).toContain('fit-content(200px)');
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
it('Atribuindo Método "escala-cinza()"', () => {
|
|
238
|
+
for (let index = 0; index < metodos_1.MetodoEscalaCinza.length; index += 1) {
|
|
239
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
240
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
241
|
+
// Lexador
|
|
242
|
+
const resultadoLexador = lexador.mapear([
|
|
243
|
+
"lmht {",
|
|
244
|
+
`${metodos_1.MetodoEscalaCinza[index]}: escala-cinza(${valoresAceitos[valIndex]});`,
|
|
245
|
+
"}"
|
|
246
|
+
]);
|
|
247
|
+
// O Lexador não deve encontrar erros
|
|
248
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
249
|
+
// O valor recebido deve ser mapeado como METODO
|
|
250
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
251
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
252
|
+
]));
|
|
253
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
254
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
255
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
256
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
257
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
258
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
259
|
+
]));
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
263
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
264
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
265
|
+
]));
|
|
266
|
+
}
|
|
267
|
+
// Avaliador Sintático
|
|
268
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
269
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
270
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEscalaCinza[index]]);
|
|
271
|
+
// Tradutor
|
|
272
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
273
|
+
// O Tradutor deve serializar de acordo e traduzir escala-cinza para grayscale
|
|
274
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoEscalaCinza[index]]);
|
|
275
|
+
expect(resultadoTradutor).toContain(`grayscale(${valoresAceitos[valIndex]});`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
it('Atribuindo Método "escalamento()"', () => {
|
|
280
|
+
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
281
|
+
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
282
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
283
|
+
// Lexador
|
|
284
|
+
const resultadoLexador = lexador.mapear([
|
|
285
|
+
"lmht {",
|
|
286
|
+
`${metodos_1.MetodosEscalamento[index]}: escalamento(${valoresAceitos[valIndex]});`,
|
|
287
|
+
"}"
|
|
288
|
+
]);
|
|
289
|
+
// O Lexador não deve encontrar erros
|
|
290
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
291
|
+
// O valor recebido deve ser mapeado como METODO
|
|
292
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
293
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
294
|
+
]));
|
|
295
|
+
// O Lexador deve montar um objeto de comprimento 10
|
|
296
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
297
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
298
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
299
|
+
]));
|
|
300
|
+
// Avaliador Sintático
|
|
301
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
302
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
303
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
304
|
+
// Tradutor
|
|
305
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
306
|
+
// O Tradutor deve serializar de acordo e traduzir escalamento para scale
|
|
307
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
308
|
+
expect(resultadoTradutor).toContain(`scale(${valoresAceitos[valIndex]});`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
it('Atribuindo Método "escalamento()" com múltiplos valores', () => {
|
|
313
|
+
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
314
|
+
// Lexador
|
|
315
|
+
const resultadoLexador = lexador.mapear([
|
|
316
|
+
"lmht {",
|
|
317
|
+
`${metodos_1.MetodosEscalamento[index]}: escalamento(1.3, 0.4);`,
|
|
318
|
+
"}"
|
|
319
|
+
]);
|
|
320
|
+
// O Lexador não deve encontrar erros
|
|
321
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
322
|
+
// O valor recebido deve ser mapeado como METODO
|
|
323
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
324
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
325
|
+
]));
|
|
326
|
+
// O Lexador deve montar um objeto de comprimento 12
|
|
327
|
+
expect(resultadoLexador.simbolos).toHaveLength(12);
|
|
328
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
329
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
330
|
+
]));
|
|
331
|
+
// Avaliador Sintático
|
|
332
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
333
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
334
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
335
|
+
// Tradutor
|
|
336
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
337
|
+
// O Tradutor deve serializar de acordo e traduzir escalamento para scale
|
|
338
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
339
|
+
expect(resultadoTradutor).toContain(`scale(1.3, 0.4);`);
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
it('Atribuindo Método "escalamento-3d()"', () => {
|
|
343
|
+
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
344
|
+
// Lexador
|
|
345
|
+
const resultadoLexador = lexador.mapear([
|
|
346
|
+
"lmht {",
|
|
347
|
+
`${metodos_1.MetodosEscalamento[index]}: escalamento-3d(0.5, 1, 1.7);`,
|
|
348
|
+
"}"
|
|
349
|
+
]);
|
|
350
|
+
// O Lexador não deve encontrar erros
|
|
351
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
352
|
+
// O valor recebido deve ser mapeado como METODO
|
|
353
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
354
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
355
|
+
]));
|
|
356
|
+
// O Lexador deve montar um objeto de comprimento 14
|
|
357
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
358
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
359
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
360
|
+
]));
|
|
361
|
+
// Avaliador Sintático
|
|
362
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
363
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
364
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
365
|
+
// Tradutor
|
|
366
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
367
|
+
// O Tradutor deve serializar de acordo e traduzir escalamento-3d para scale3d
|
|
368
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
369
|
+
expect(resultadoTradutor).toContain(`scale3d(0.5, 1, 1.7);`);
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
it('Atribuindo Método "escalamento-eixo-z()"', () => {
|
|
373
|
+
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
374
|
+
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
375
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
376
|
+
// Lexador
|
|
377
|
+
const resultadoLexador = lexador.mapear([
|
|
378
|
+
"lmht {",
|
|
379
|
+
`${metodos_1.MetodosEscalamento[index]}: escalamento-eixo-z(${valoresAceitos[valIndex]});`,
|
|
380
|
+
"}"
|
|
381
|
+
]);
|
|
382
|
+
// O Lexador não deve encontrar erros
|
|
383
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
384
|
+
// O valor recebido deve ser mapeado como METODO
|
|
385
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
386
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
387
|
+
]));
|
|
388
|
+
// O Lexador deve montar um objeto de comprimento 10
|
|
389
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
390
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
391
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
392
|
+
]));
|
|
393
|
+
// Avaliador Sintático
|
|
394
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
395
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
396
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
397
|
+
// Tradutor
|
|
398
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
399
|
+
// O Tradutor deve serializar de acordo e traduzir escalamento-eixo-z para scaleZ
|
|
400
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
401
|
+
expect(resultadoTradutor).toContain(`scaleZ(${valoresAceitos[valIndex]});`);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
it('Atribuindo Método "escalamento-horizontal()"', () => {
|
|
406
|
+
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
407
|
+
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
408
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
409
|
+
// Lexador
|
|
410
|
+
const resultadoLexador = lexador.mapear([
|
|
411
|
+
"lmht {",
|
|
412
|
+
`${metodos_1.MetodosEscalamento[index]}: escalamento-horizontal(${valoresAceitos[valIndex]});`,
|
|
413
|
+
"}"
|
|
414
|
+
]);
|
|
415
|
+
// O Lexador não deve encontrar erros
|
|
416
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
417
|
+
// O valor recebido deve ser mapeado como METODO
|
|
418
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
419
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
420
|
+
]));
|
|
421
|
+
// O Lexador deve montar um objeto de comprimento 10
|
|
422
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
423
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
424
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
425
|
+
]));
|
|
426
|
+
// Avaliador Sintático
|
|
427
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
428
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
429
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
430
|
+
// Tradutor
|
|
431
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
432
|
+
// O Tradutor deve serializar de acordo e traduzir escalamento-horizontal para scaleX
|
|
433
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
434
|
+
expect(resultadoTradutor).toContain(`scaleX(${valoresAceitos[valIndex]});`);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
it('Atribuindo Método "escalamento-vertical()"', () => {
|
|
439
|
+
for (let index = 0; index < metodos_1.MetodosEscalamento.length; index += 1) {
|
|
440
|
+
const valoresAceitos = ['0.1', '0', '1', '1.75'];
|
|
441
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
442
|
+
// Lexador
|
|
443
|
+
const resultadoLexador = lexador.mapear([
|
|
444
|
+
"lmht {",
|
|
445
|
+
`${metodos_1.MetodosEscalamento[index]}: escalamento-vertical(${valoresAceitos[valIndex]});`,
|
|
446
|
+
"}"
|
|
447
|
+
]);
|
|
448
|
+
// O Lexador não deve encontrar erros
|
|
449
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
450
|
+
// O valor recebido deve ser mapeado como METODO
|
|
451
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
452
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
453
|
+
]));
|
|
454
|
+
// O Lexador deve montar um objeto de comprimento 10
|
|
455
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
456
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
457
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
458
|
+
]));
|
|
459
|
+
// Avaliador Sintático
|
|
460
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
461
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
462
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
463
|
+
// Tradutor
|
|
464
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
465
|
+
// O Tradutor deve serializar de acordo e traduzir escalamento-vertical para scaleY
|
|
466
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosEscalamento[index]]);
|
|
467
|
+
expect(resultadoTradutor).toContain(`scaleY(${valoresAceitos[valIndex]});`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
it('Atribuindo Método "gradiente-linear()" com valor de ângulo deg', () => {
|
|
472
|
+
for (let index = 0; index < metodos_1.MetodoGradienteLinear.length; index += 1) {
|
|
473
|
+
// Lexador
|
|
474
|
+
const resultadoLexador = lexador.mapear([
|
|
475
|
+
"lmht {",
|
|
476
|
+
`${metodos_1.MetodoGradienteLinear[index]}: gradiente-linear(90deg, verde, amarelo);`,
|
|
477
|
+
"}"
|
|
478
|
+
]);
|
|
479
|
+
// O Lexador deve montar um objeto de comprimento 15 sem retornar nenhum erro
|
|
480
|
+
expect(resultadoLexador.simbolos).toHaveLength(15);
|
|
481
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
482
|
+
// O valor recebido deve ser mapeado como METODO
|
|
483
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
484
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
485
|
+
]));
|
|
486
|
+
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
487
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
488
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
489
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
490
|
+
]));
|
|
491
|
+
// Avaliador Sintático
|
|
492
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
493
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
494
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
495
|
+
// Tradutor
|
|
496
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
497
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
498
|
+
expect(resultadoTradutor).toContain('linear-gradient(90deg, green, yellow);');
|
|
499
|
+
}
|
|
500
|
+
});
|
|
501
|
+
it('Atribuindo Método "gradiente-linear()" com valor de ângulo graus', () => {
|
|
502
|
+
for (let index = 0; index < metodos_1.MetodoGradienteLinear.length; index += 1) {
|
|
503
|
+
// Lexador
|
|
504
|
+
const resultadoLexador = lexador.mapear([
|
|
505
|
+
"lmht {",
|
|
506
|
+
`${metodos_1.MetodoGradienteLinear[index]}: gradiente-linear(90graus, verde, amarelo);`,
|
|
507
|
+
"}"
|
|
508
|
+
]);
|
|
509
|
+
// O Lexador deve montar um objeto de comprimento 15 sem retornar nenhum erro
|
|
510
|
+
expect(resultadoLexador.simbolos).toHaveLength(15);
|
|
511
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
512
|
+
// O valor recebido deve ser mapeado como METODO
|
|
513
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
514
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
515
|
+
]));
|
|
516
|
+
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
517
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
518
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
519
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
520
|
+
]));
|
|
521
|
+
// Avaliador Sintático
|
|
522
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
523
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
524
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
525
|
+
// Tradutor
|
|
526
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
527
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
528
|
+
expect(resultadoTradutor).toContain('linear-gradient(90deg, green, yellow);');
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
it('Atribuindo Método "gradiente-linear()" com valor de posição', () => {
|
|
532
|
+
for (let index = 0; index < metodos_1.MetodoGradienteLinear.length; index += 1) {
|
|
533
|
+
const posicoes = ['superior', 'inferior', 'direita', 'esquerda'];
|
|
534
|
+
for (let posIndex = 0; posIndex < posicoes.length; posIndex += 1) {
|
|
535
|
+
// Lexador
|
|
536
|
+
const resultadoLexador = lexador.mapear([
|
|
537
|
+
"lmht {",
|
|
538
|
+
`${metodos_1.MetodoGradienteLinear[index]}: gradiente-linear(${posicoes[posIndex]}, azul, vermelho);`,
|
|
539
|
+
"}"
|
|
540
|
+
]);
|
|
541
|
+
// O Lexador deve montar um objeto de comprimento 14 sem retornar nenhum erro
|
|
542
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
543
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
544
|
+
// O valor recebido deve ser mapeado como METODO
|
|
545
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
546
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
547
|
+
]));
|
|
548
|
+
// O Lexador também deve encontrar um qualitativo no mapeamento, referente à posição
|
|
549
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
550
|
+
expect.objectContaining({ tipo: foles_1.default.QUALITATIVO }),
|
|
551
|
+
]));
|
|
552
|
+
// Avaliador Sintático
|
|
553
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
554
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
555
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
556
|
+
// Tradutor
|
|
557
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
558
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoGradienteLinear[index]]);
|
|
559
|
+
switch (posicoes[posIndex]) {
|
|
560
|
+
case 'superior':
|
|
561
|
+
expect(resultadoTradutor).toContain('linear-gradient(0deg, blue, red);');
|
|
562
|
+
break;
|
|
563
|
+
case 'direita':
|
|
564
|
+
expect(resultadoTradutor).toContain('linear-gradient(90deg, blue, red);');
|
|
565
|
+
break;
|
|
566
|
+
case 'inferior':
|
|
567
|
+
expect(resultadoTradutor).toContain('linear-gradient(180deg, blue, red);');
|
|
568
|
+
break;
|
|
569
|
+
case 'esquerda':
|
|
570
|
+
expect(resultadoTradutor).toContain('linear-gradient(270deg, blue, red);');
|
|
571
|
+
break;
|
|
572
|
+
default:
|
|
573
|
+
break;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
it('Atribuindo Método "inclinar()"', () => {
|
|
579
|
+
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
580
|
+
const valoresAceitos = ['90graus', '18deg', '3.142rad', '0', '1'];
|
|
581
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
582
|
+
// Lexador
|
|
583
|
+
const resultadoLexador = lexador.mapear([
|
|
584
|
+
"lmht {",
|
|
585
|
+
`${metodos_1.MetodosInclinar[index]}: inclinar(${valoresAceitos[valIndex]});`,
|
|
586
|
+
"}"
|
|
587
|
+
]);
|
|
588
|
+
// O Lexador não deve encontrar erros
|
|
589
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
590
|
+
// O valor recebido deve ser mapeado como METODO
|
|
591
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
592
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
593
|
+
]));
|
|
594
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
595
|
+
if (valIndex <= 2) {
|
|
596
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
597
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
598
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
599
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
600
|
+
]));
|
|
601
|
+
}
|
|
602
|
+
else {
|
|
603
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
604
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
605
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
606
|
+
]));
|
|
607
|
+
}
|
|
608
|
+
// Avaliador Sintático
|
|
609
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
610
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
611
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
612
|
+
// Tradutor
|
|
613
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
614
|
+
// O Tradutor deve serializar de acordo e traduzir inclinar para skew
|
|
615
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
616
|
+
if (valIndex !== 0) {
|
|
617
|
+
expect(resultadoTradutor).toContain(`skew(${valoresAceitos[valIndex]});`);
|
|
618
|
+
}
|
|
619
|
+
else {
|
|
620
|
+
expect(resultadoTradutor).toContain(`skew(90deg);`);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
it('Atribuindo Método "inclinar() com múltiplos valores"', () => {
|
|
626
|
+
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
627
|
+
// Lexador
|
|
628
|
+
const resultadoLexador = lexador.mapear([
|
|
629
|
+
"lmht {",
|
|
630
|
+
`${metodos_1.MetodosInclinar[index]}: inclinar(15graus, 15graus);`,
|
|
631
|
+
"}"
|
|
632
|
+
]);
|
|
633
|
+
// O Lexador não deve encontrar erros
|
|
634
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
635
|
+
// O valor recebido deve ser mapeado como METODO
|
|
636
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
637
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
638
|
+
]));
|
|
639
|
+
// O Lexador deve montar um objeto de comprimento 14
|
|
640
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
641
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
642
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
643
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
644
|
+
]));
|
|
645
|
+
// Avaliador Sintático
|
|
646
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
647
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
648
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
649
|
+
// Tradutor
|
|
650
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
651
|
+
// O Tradutor deve serializar de acordo e traduzir inclinar para skew
|
|
652
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
653
|
+
expect(resultadoTradutor).toContain(`skew(15deg, 15deg);`);
|
|
654
|
+
}
|
|
655
|
+
});
|
|
656
|
+
it('Atribuindo Método "inclinar-horizontal()"', () => {
|
|
657
|
+
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
658
|
+
const valoresAceitos = ['180graus', '18deg', '3.142rad', '0', '1'];
|
|
659
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
660
|
+
// Lexador
|
|
661
|
+
const resultadoLexador = lexador.mapear([
|
|
662
|
+
"lmht {",
|
|
663
|
+
`${metodos_1.MetodosInclinar[index]}: inclinar-horizontal(${valoresAceitos[valIndex]});`,
|
|
664
|
+
"}"
|
|
665
|
+
]);
|
|
666
|
+
// O Lexador não deve encontrar erros
|
|
667
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
668
|
+
// O valor recebido deve ser mapeado como METODO
|
|
669
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
670
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
671
|
+
]));
|
|
672
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
673
|
+
if (valIndex <= 2) {
|
|
674
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
675
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
676
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
677
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
678
|
+
]));
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
682
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
683
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
684
|
+
]));
|
|
685
|
+
}
|
|
686
|
+
// Avaliador Sintático
|
|
687
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
688
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
689
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
690
|
+
// Tradutor
|
|
691
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
692
|
+
// O Tradutor deve serializar de acordo e traduzir inclinar-horizontal para skewX
|
|
693
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
694
|
+
if (valIndex !== 0) {
|
|
695
|
+
expect(resultadoTradutor).toContain(`skewX(${valoresAceitos[valIndex]});`);
|
|
696
|
+
}
|
|
697
|
+
else {
|
|
698
|
+
expect(resultadoTradutor).toContain(`skewX(180deg);`);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
});
|
|
703
|
+
it('Atribuindo Método "inclinar-vertical()"', () => {
|
|
704
|
+
for (let index = 0; index < metodos_1.MetodosInclinar.length; index += 1) {
|
|
705
|
+
const valoresAceitos = ['180graus', '18deg', '3.142rad', '0', '1'];
|
|
706
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
707
|
+
// Lexador
|
|
708
|
+
const resultadoLexador = lexador.mapear([
|
|
709
|
+
"lmht {",
|
|
710
|
+
`${metodos_1.MetodosInclinar[index]}: inclinar-vertical(${valoresAceitos[valIndex]});`,
|
|
711
|
+
"}"
|
|
712
|
+
]);
|
|
713
|
+
// O Lexador não deve encontrar erros
|
|
714
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
715
|
+
// O valor recebido deve ser mapeado como METODO
|
|
716
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
717
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
718
|
+
]));
|
|
719
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
720
|
+
if (valIndex <= 2) {
|
|
721
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
722
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
723
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
724
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
725
|
+
]));
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
728
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
729
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
730
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
731
|
+
]));
|
|
732
|
+
}
|
|
733
|
+
// Avaliador Sintático
|
|
734
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
735
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
736
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
737
|
+
// Tradutor
|
|
738
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
739
|
+
// O Tradutor deve serializar de acordo e traduzir inclinar-vertical para skewY
|
|
740
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosInclinar[index]]);
|
|
741
|
+
if (valIndex !== 0) {
|
|
742
|
+
expect(resultadoTradutor).toContain(`skewY(${valoresAceitos[valIndex]});`);
|
|
743
|
+
}
|
|
744
|
+
else {
|
|
745
|
+
expect(resultadoTradutor).toContain(`skewY(180deg);`);
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
});
|
|
750
|
+
it('Atribuindo Método "inverter()"', () => {
|
|
751
|
+
for (let index = 0; index < metodos_1.MetodoInverter.length; index += 1) {
|
|
752
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
753
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
754
|
+
// Lexador
|
|
755
|
+
const resultadoLexador = lexador.mapear([
|
|
756
|
+
"lmht {",
|
|
757
|
+
`${metodos_1.MetodoInverter[index]}: inverter(${valoresAceitos[valIndex]});`,
|
|
758
|
+
"}"
|
|
759
|
+
]);
|
|
760
|
+
// O Lexador não deve encontrar erros
|
|
761
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
762
|
+
// O valor recebido deve ser mapeado como METODO
|
|
763
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
764
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
765
|
+
]));
|
|
766
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
767
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
768
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
769
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
770
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
771
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
772
|
+
]));
|
|
773
|
+
}
|
|
774
|
+
else {
|
|
775
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
776
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
777
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
778
|
+
]));
|
|
779
|
+
}
|
|
780
|
+
// Avaliador Sintático
|
|
781
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
782
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
783
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoInverter[index]]);
|
|
784
|
+
// Tradutor
|
|
785
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
786
|
+
// O Tradutor deve serializar de acordo e traduzir inverter para invert
|
|
787
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoInverter[index]]);
|
|
788
|
+
expect(resultadoTradutor).toContain(`invert(${valoresAceitos[valIndex]});`);
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
});
|
|
792
|
+
it('Atribuindo Método "limitar" (clamp)', () => {
|
|
793
|
+
for (let index = 0; index < metodos_1.MetodoLimitar.length; index += 1) {
|
|
794
|
+
// Lexador
|
|
795
|
+
const resultadoLexador = lexador.mapear([
|
|
796
|
+
"lmht {",
|
|
797
|
+
`${metodos_1.MetodoLimitar[index]}: limitar(10vw, 20em, 100vw);`,
|
|
798
|
+
"}"
|
|
799
|
+
]);
|
|
800
|
+
// O Lexador deve montar um objeto de comprimento 17 sem retornar nenhum erro
|
|
801
|
+
expect(resultadoLexador.simbolos).toHaveLength(17);
|
|
802
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
803
|
+
// O valor recebido deve ser mapeado como METODO
|
|
804
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
805
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
806
|
+
]));
|
|
807
|
+
// O Lexador também deve encontrar números e quantificadores no mapeamento
|
|
808
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
809
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
810
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
811
|
+
]));
|
|
812
|
+
// Avaliador Sintático
|
|
813
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
814
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
815
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLimitar[index]]);
|
|
816
|
+
// Tradutor
|
|
817
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
818
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLimitar[index]]);
|
|
819
|
+
expect(resultadoTradutor).toContain('clamp(10vw, 20em, 100vw);');
|
|
820
|
+
}
|
|
821
|
+
});
|
|
822
|
+
it('Atribuindo Método "linear()"', () => {
|
|
823
|
+
for (let index = 0; index < metodos_1.MetodoLinear.length; index += 1) {
|
|
824
|
+
// Lexador
|
|
825
|
+
const resultadoLexador = lexador.mapear([
|
|
826
|
+
"lmht {",
|
|
827
|
+
`${metodos_1.MetodoLinear[index]}: linear(0, 0.25, 1);`,
|
|
828
|
+
"}"
|
|
829
|
+
]);
|
|
830
|
+
// O Lexador deve montar um objeto de comprimento 14 sem retornar nenhum erro
|
|
831
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
832
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
833
|
+
// O valor recebido deve ser mapeado como METODO
|
|
834
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
835
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
836
|
+
]));
|
|
837
|
+
// O Lexador também deve encontrar números no mapeamento
|
|
838
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
839
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
840
|
+
]));
|
|
841
|
+
// Avaliador Sintático
|
|
842
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
843
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
844
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLinear[index]]);
|
|
845
|
+
// // // // Tradutor
|
|
846
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
847
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoLinear[index]]);
|
|
848
|
+
expect(resultadoTradutor).toContain('linear(0, 0.25, 1);');
|
|
849
|
+
}
|
|
850
|
+
});
|
|
851
|
+
it('Atribuindo Método "minmax()"', () => {
|
|
852
|
+
for (let index = 0; index < metodos_1.MetodoMinMax.length; index += 1) {
|
|
853
|
+
// Lexador
|
|
854
|
+
const resultadoLexador = lexador.mapear([
|
|
855
|
+
"lmht {",
|
|
856
|
+
`${metodos_1.MetodoMinMax[index]}: minmax(100px, conteúdo-máximo);`,
|
|
857
|
+
"}"
|
|
858
|
+
]);
|
|
859
|
+
// O Lexador deve montar um objeto de comprimento 13 sem retornar nenhum erro
|
|
860
|
+
expect(resultadoLexador.simbolos).toHaveLength(13);
|
|
861
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
862
|
+
// O valor recebido deve ser mapeado como METODO
|
|
863
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
864
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
865
|
+
]));
|
|
866
|
+
// O Lexador também deve encontrar número e quantificador no mapeamento
|
|
867
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
868
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
869
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
870
|
+
]));
|
|
871
|
+
// Avaliador Sintático
|
|
872
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
873
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
874
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoMinMax[index]]);
|
|
875
|
+
// // // // Tradutor
|
|
876
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
877
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoMinMax[index]]);
|
|
878
|
+
expect(resultadoTradutor).toContain('minmax(100px, max-content);');
|
|
879
|
+
}
|
|
880
|
+
});
|
|
881
|
+
it('Atribuindo Método "opacar()"', () => {
|
|
882
|
+
for (let index = 0; index < metodos_1.MetodoOpacar.length; index += 1) {
|
|
883
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
884
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
885
|
+
// Lexador
|
|
886
|
+
const resultadoLexador = lexador.mapear([
|
|
887
|
+
"lmht {",
|
|
888
|
+
`${metodos_1.MetodoOpacar[index]}: opacar(${valoresAceitos[valIndex]});`,
|
|
889
|
+
"}"
|
|
890
|
+
]);
|
|
891
|
+
// O Lexador não deve encontrar erros
|
|
892
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
893
|
+
// O valor recebido deve ser mapeado como METODO
|
|
894
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
895
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
896
|
+
]));
|
|
897
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
898
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
899
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
900
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
901
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
902
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
903
|
+
]));
|
|
904
|
+
}
|
|
905
|
+
else {
|
|
906
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
907
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
908
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
909
|
+
]));
|
|
910
|
+
}
|
|
911
|
+
// Avaliador Sintático
|
|
912
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
913
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
914
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoOpacar[index]]);
|
|
915
|
+
// Tradutor
|
|
916
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
917
|
+
// O Tradutor deve serializar de acordo e traduzir opacar para opacity
|
|
918
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoOpacar[index]]);
|
|
919
|
+
expect(resultadoTradutor).toContain(`opacity(${valoresAceitos[valIndex]});`);
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
});
|
|
923
|
+
it('Atribuindo Método "passos" (steps)', () => {
|
|
924
|
+
for (let index = 0; index < metodos_1.MetodoPassos.length; index += 1) {
|
|
925
|
+
// Lexador
|
|
926
|
+
const resultadoLexador = lexador.mapear([
|
|
927
|
+
"lmht {",
|
|
928
|
+
`${metodos_1.MetodoPassos[index]}: passos(2, salto-inicial);`,
|
|
929
|
+
"}"
|
|
930
|
+
]);
|
|
931
|
+
// O Lexador deve montar um objeto de comprimento 12 sem retornar nenhum erro
|
|
932
|
+
expect(resultadoLexador.simbolos).toHaveLength(12);
|
|
933
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
934
|
+
// O valor recebido deve ser mapeado como METODO
|
|
935
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
936
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
937
|
+
]));
|
|
938
|
+
// O Lexador também deve encontrar número e qualitativo no mapeamento
|
|
939
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
940
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
941
|
+
expect.objectContaining({ tipo: foles_1.default.QUALITATIVO }),
|
|
942
|
+
]));
|
|
943
|
+
// Avaliador Sintático
|
|
944
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
945
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
946
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPassos[index]]);
|
|
947
|
+
// // // // Tradutor
|
|
948
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
949
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPassos[index]]);
|
|
950
|
+
expect(resultadoTradutor).toContain('steps(2, jump-start);');
|
|
951
|
+
}
|
|
952
|
+
});
|
|
953
|
+
it('Atribuindo Método "perspectivar()"', () => {
|
|
954
|
+
for (let index = 0; index < metodos_1.MetodoPerspectivar.length; index += 1) {
|
|
955
|
+
const valoresAceitos = ['800px', '6.5cm', '0.1', '0', '1', '1.75', 'nenhuma'];
|
|
956
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
957
|
+
// Lexador
|
|
958
|
+
const resultadoLexador = lexador.mapear([
|
|
959
|
+
"lmht {",
|
|
960
|
+
`${metodos_1.MetodoPerspectivar[index]}: perspectivar(${valoresAceitos[valIndex]});`,
|
|
961
|
+
"}"
|
|
962
|
+
]);
|
|
963
|
+
// O Lexador não deve encontrar erros
|
|
964
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
965
|
+
// O valor recebido deve ser mapeado como METODO
|
|
966
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
967
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
968
|
+
]));
|
|
969
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
970
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
971
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
972
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
973
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
974
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
975
|
+
]));
|
|
976
|
+
}
|
|
977
|
+
else if (valIndex !== 6) {
|
|
978
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
979
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
980
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
981
|
+
]));
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
985
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
986
|
+
expect.objectContaining({ tipo: foles_1.default.IDENTIFICADOR }),
|
|
987
|
+
]));
|
|
988
|
+
}
|
|
989
|
+
// Avaliador Sintático
|
|
990
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
991
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
992
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPerspectivar[index]]);
|
|
993
|
+
// Tradutor
|
|
994
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
995
|
+
// O Tradutor deve serializar de acordo e traduzir perspectivar para perspective
|
|
996
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoPerspectivar[index]]);
|
|
997
|
+
expect(resultadoTradutor).toContain(`perspective(${valoresAceitos[valIndex]});`);
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
});
|
|
1001
|
+
it('Atribuindo Método "projetar-sombra()" com valores de comprimento somente', () => {
|
|
1002
|
+
for (let index = 0; index < metodos_1.MetodoProjetarSombra.length; index += 1) {
|
|
1003
|
+
const comprimentos = ['15px 15px', '15px 15px 15px', '0.5rem 0.5rem', '0.5rem 0.5rem 1rem'];
|
|
1004
|
+
for (let posIndex = 0; posIndex < comprimentos.length; posIndex += 1) {
|
|
1005
|
+
// Lexador
|
|
1006
|
+
const resultadoLexador = lexador.mapear([
|
|
1007
|
+
"lmht {",
|
|
1008
|
+
`${metodos_1.MetodoProjetarSombra[index]}: projetar-sombra(${comprimentos[posIndex]});`,
|
|
1009
|
+
"}"
|
|
1010
|
+
]);
|
|
1011
|
+
// O Lexador deve montar um objeto de acordo, sem retornar nenhum erro
|
|
1012
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1013
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1014
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1015
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1016
|
+
]));
|
|
1017
|
+
// O Lexador também deve sempre encontrar valores e quantificadores na operação
|
|
1018
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1019
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1020
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1021
|
+
]));
|
|
1022
|
+
// Avaliador Sintático
|
|
1023
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1024
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1025
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1026
|
+
// Tradutor
|
|
1027
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1028
|
+
// O Tradutor deve serializar de acordo e traduzir projetar-sombra para drop-shadow
|
|
1029
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1030
|
+
expect(resultadoTradutor).toContain(`drop-shadow(${comprimentos[posIndex]});`);
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
1034
|
+
it('Atribuindo Método "projetar-sombra()" com valores de cor e de comprimento', () => {
|
|
1035
|
+
for (let index = 0; index < metodos_1.MetodoProjetarSombra.length; index += 1) {
|
|
1036
|
+
const comprimentos = ['15px 15px vermelho', '15px 15px 15px vermelho', 'vermelho 0.5rem 0.5rem', 'vermelho 0.5rem 0.5rem 1rem'];
|
|
1037
|
+
for (let posIndex = 0; posIndex < comprimentos.length; posIndex += 1) {
|
|
1038
|
+
// Lexador
|
|
1039
|
+
const resultadoLexador = lexador.mapear([
|
|
1040
|
+
"lmht {",
|
|
1041
|
+
`${metodos_1.MetodoProjetarSombra[index]}: projetar-sombra(${comprimentos[posIndex]});`,
|
|
1042
|
+
"}"
|
|
1043
|
+
]);
|
|
1044
|
+
// O Lexador deve montar um objeto de acordo, sem retornar nenhum erro
|
|
1045
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1046
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1047
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1048
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1049
|
+
]));
|
|
1050
|
+
// O Lexador também deve sempre encontrar valores e quantificadores na operação
|
|
1051
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1052
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1053
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1054
|
+
]));
|
|
1055
|
+
// Avaliador Sintático
|
|
1056
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1057
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1058
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1059
|
+
// Tradutor
|
|
1060
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1061
|
+
// O Tradutor deve serializar de acordo e traduzir vermelho para red
|
|
1062
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoProjetarSombra[index]]);
|
|
1063
|
+
expect(resultadoTradutor).toContain('red');
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
});
|
|
1067
|
+
it('Atribuindo Método "raio()" com valores de posição e número/quantificador', () => {
|
|
1068
|
+
for (let index = 0; index < metodos_1.MetodoRaio.length; index += 1) {
|
|
1069
|
+
const valoresAceitos = ['lado-mais-próximo', 'lado-mais-proximo', 'canto-mais-próximo', 'canto-mais-proximo', 'lado-mais-distante', 'canto-mais-distante', 'lados', 'conter'];
|
|
1070
|
+
const traducaoValoresAceitos = ['closest-side', 'closest-side', 'closest-corner', 'closest-corner', 'farthest-side', 'farthest-corner', 'sides', 'contain'];
|
|
1071
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1072
|
+
// Lexador
|
|
1073
|
+
const resultadoLexador = lexador.mapear([
|
|
1074
|
+
"lmht {",
|
|
1075
|
+
`${metodos_1.MetodoRaio[index]}: raio(${valoresAceitos[valIndex]} 200graus);`,
|
|
1076
|
+
"}"
|
|
1077
|
+
]);
|
|
1078
|
+
// O Lexador não deve encontrar erros
|
|
1079
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1080
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1081
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1082
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1083
|
+
]));
|
|
1084
|
+
// O Lexador deve montar um objeto de comprimento 12
|
|
1085
|
+
expect(resultadoLexador.simbolos).toHaveLength(12);
|
|
1086
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1087
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1088
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1089
|
+
]));
|
|
1090
|
+
// Avaliador Sintático
|
|
1091
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1092
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1093
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1094
|
+
// Tradutor
|
|
1095
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1096
|
+
// O Tradutor deve serializar de acordo e traduzir raio para ray
|
|
1097
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1098
|
+
expect(resultadoTradutor).toContain(`ray(${traducaoValoresAceitos[valIndex]} 200deg);`);
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
});
|
|
1102
|
+
it('Atribuindo Método "raio()" com somente número/quantificador', () => {
|
|
1103
|
+
for (let index = 0; index < metodos_1.MetodoRaio.length; index += 1) {
|
|
1104
|
+
// Lexador
|
|
1105
|
+
const resultadoLexador = lexador.mapear([
|
|
1106
|
+
"lmht {",
|
|
1107
|
+
`${metodos_1.MetodoRaio[index]}: raio(200deg);`,
|
|
1108
|
+
"}"
|
|
1109
|
+
]);
|
|
1110
|
+
// O Lexador não deve encontrar erros
|
|
1111
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1112
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1113
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1114
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1115
|
+
]));
|
|
1116
|
+
// O Lexador deve montar um objeto de comprimento 11
|
|
1117
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1118
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1119
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1120
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1121
|
+
]));
|
|
1122
|
+
// Avaliador Sintático
|
|
1123
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1124
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1125
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1126
|
+
// Tradutor
|
|
1127
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1128
|
+
// O Tradutor deve serializar de acordo e traduzir raio para ray
|
|
1129
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRaio[index]]);
|
|
1130
|
+
expect(resultadoTradutor).toContain(`ray(200deg);`);
|
|
1131
|
+
}
|
|
1132
|
+
});
|
|
1133
|
+
it('Atribuindo Método "rotacionar()"', () => {
|
|
1134
|
+
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1135
|
+
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1136
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1137
|
+
// Lexador
|
|
1138
|
+
const resultadoLexador = lexador.mapear([
|
|
1139
|
+
"lmht {",
|
|
1140
|
+
`${metodos_1.MetodosRotacionar[index]}: rotacionar(${valoresAceitos[valIndex]});`,
|
|
1141
|
+
"}"
|
|
1142
|
+
]);
|
|
1143
|
+
// O Lexador não deve encontrar erros
|
|
1144
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1145
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1146
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1147
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1148
|
+
]));
|
|
1149
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1150
|
+
if (valIndex <= 2) {
|
|
1151
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1152
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1153
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1154
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1155
|
+
]));
|
|
1156
|
+
}
|
|
1157
|
+
else {
|
|
1158
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1159
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1160
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1161
|
+
]));
|
|
1162
|
+
}
|
|
1163
|
+
// Avaliador Sintático
|
|
1164
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1165
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1166
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1167
|
+
// Tradutor
|
|
1168
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1169
|
+
// O Tradutor deve serializar de acordo e traduzir rotacionar para rotate
|
|
1170
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1171
|
+
if (valIndex !== 0) {
|
|
1172
|
+
expect(resultadoTradutor).toContain(`rotate(${valoresAceitos[valIndex]});`);
|
|
1173
|
+
}
|
|
1174
|
+
else {
|
|
1175
|
+
expect(resultadoTradutor).toContain(`rotate(45deg);`);
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
});
|
|
1180
|
+
it('Atribuindo Método "rotacionar-eixo-z()"', () => {
|
|
1181
|
+
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1182
|
+
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1183
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1184
|
+
// Lexador
|
|
1185
|
+
const resultadoLexador = lexador.mapear([
|
|
1186
|
+
"lmht {",
|
|
1187
|
+
`${metodos_1.MetodosRotacionar[index]}: rotacionar-eixo-z(${valoresAceitos[valIndex]});`,
|
|
1188
|
+
"}"
|
|
1189
|
+
]);
|
|
1190
|
+
// O Lexador não deve encontrar erros
|
|
1191
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1192
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1193
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1194
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1195
|
+
]));
|
|
1196
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1197
|
+
if (valIndex <= 2) {
|
|
1198
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1199
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1200
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1201
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1202
|
+
]));
|
|
1203
|
+
}
|
|
1204
|
+
else {
|
|
1205
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1206
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1207
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1208
|
+
]));
|
|
1209
|
+
}
|
|
1210
|
+
// Avaliador Sintático
|
|
1211
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1212
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1213
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1214
|
+
// Tradutor
|
|
1215
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1216
|
+
// O Tradutor deve serializar de acordo e traduzir rotacionar-eixo-z para rotateZ
|
|
1217
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1218
|
+
if (valIndex !== 0) {
|
|
1219
|
+
expect(resultadoTradutor).toContain(`rotateZ(${valoresAceitos[valIndex]});`);
|
|
1220
|
+
}
|
|
1221
|
+
else {
|
|
1222
|
+
expect(resultadoTradutor).toContain(`rotateZ(45deg);`);
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
});
|
|
1227
|
+
it('Atribuindo Método "rotacionar-horizontal()"', () => {
|
|
1228
|
+
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1229
|
+
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1230
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1231
|
+
// Lexador
|
|
1232
|
+
const resultadoLexador = lexador.mapear([
|
|
1233
|
+
"lmht {",
|
|
1234
|
+
`${metodos_1.MetodosRotacionar[index]}: rotacionar-horizontal(${valoresAceitos[valIndex]});`,
|
|
1235
|
+
"}"
|
|
1236
|
+
]);
|
|
1237
|
+
// O Lexador não deve encontrar erros
|
|
1238
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1239
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1240
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1241
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1242
|
+
]));
|
|
1243
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1244
|
+
if (valIndex <= 2) {
|
|
1245
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1246
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1247
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1248
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1249
|
+
]));
|
|
1250
|
+
}
|
|
1251
|
+
else {
|
|
1252
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1253
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1254
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1255
|
+
]));
|
|
1256
|
+
}
|
|
1257
|
+
// Avaliador Sintático
|
|
1258
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1259
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1260
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1261
|
+
// Tradutor
|
|
1262
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1263
|
+
// O Tradutor deve serializar de acordo e traduzir rotacionar-horizontal para rotateX
|
|
1264
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1265
|
+
if (valIndex !== 0) {
|
|
1266
|
+
expect(resultadoTradutor).toContain(`rotateX(${valoresAceitos[valIndex]});`);
|
|
1267
|
+
}
|
|
1268
|
+
else {
|
|
1269
|
+
expect(resultadoTradutor).toContain(`rotateX(45deg);`);
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
});
|
|
1274
|
+
it('Atribuindo Método "rotacionar-matiz()"', () => {
|
|
1275
|
+
for (let index = 0; index < metodos_1.MetodoRotacionarMatiz.length; index += 1) {
|
|
1276
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
1277
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1278
|
+
// Lexador
|
|
1279
|
+
const resultadoLexador = lexador.mapear([
|
|
1280
|
+
"lmht {",
|
|
1281
|
+
`${metodos_1.MetodoRotacionarMatiz[index]}: rotacionar-matiz(${valoresAceitos[valIndex]});`,
|
|
1282
|
+
"}"
|
|
1283
|
+
]);
|
|
1284
|
+
// O Lexador não deve encontrar erros
|
|
1285
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1286
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1287
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1288
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1289
|
+
]));
|
|
1290
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1291
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1292
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1293
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1294
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1295
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1296
|
+
]));
|
|
1297
|
+
}
|
|
1298
|
+
else {
|
|
1299
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1300
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1301
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1302
|
+
]));
|
|
1303
|
+
}
|
|
1304
|
+
// Avaliador Sintático
|
|
1305
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1306
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1307
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRotacionarMatiz[index]]);
|
|
1308
|
+
// Tradutor
|
|
1309
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1310
|
+
// O Tradutor deve serializar de acordo e traduzir rotacionar-matiz para hue-rotate
|
|
1311
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoRotacionarMatiz[index]]);
|
|
1312
|
+
expect(resultadoTradutor).toContain(`hue-rotate(${valoresAceitos[valIndex]});`);
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
});
|
|
1316
|
+
it('Atribuindo Método "rotacionar-vertical()"', () => {
|
|
1317
|
+
for (let index = 0; index < metodos_1.MetodosRotacionar.length; index += 1) {
|
|
1318
|
+
const valoresAceitos = ['45graus', '45deg', '3.142rad', '0.1', '0', '1', '1.75'];
|
|
1319
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1320
|
+
// Lexador
|
|
1321
|
+
const resultadoLexador = lexador.mapear([
|
|
1322
|
+
"lmht {",
|
|
1323
|
+
`${metodos_1.MetodosRotacionar[index]}: rotacionar-vertical(${valoresAceitos[valIndex]});`,
|
|
1324
|
+
"}"
|
|
1325
|
+
]);
|
|
1326
|
+
// O Lexador não deve encontrar erros
|
|
1327
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1328
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1329
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1330
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1331
|
+
]));
|
|
1332
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1333
|
+
if (valIndex <= 2) {
|
|
1334
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1335
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1336
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1337
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1338
|
+
]));
|
|
1339
|
+
}
|
|
1340
|
+
else {
|
|
1341
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1342
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1343
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1344
|
+
]));
|
|
1345
|
+
}
|
|
1346
|
+
// Avaliador Sintático
|
|
1347
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1348
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1349
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1350
|
+
// Tradutor
|
|
1351
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1352
|
+
// O Tradutor deve serializar de acordo e traduzir rotacionar-vertical para rotateY
|
|
1353
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosRotacionar[index]]);
|
|
1354
|
+
if (valIndex !== 0) {
|
|
1355
|
+
expect(resultadoTradutor).toContain(`rotateY(${valoresAceitos[valIndex]});`);
|
|
1356
|
+
}
|
|
1357
|
+
else {
|
|
1358
|
+
expect(resultadoTradutor).toContain(`rotateY(45deg);`);
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
});
|
|
1363
|
+
it('Atribuindo Método "saturar()"', () => {
|
|
1364
|
+
for (let index = 0; index < metodos_1.MetodoSaturar.length; index += 1) {
|
|
1365
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
1366
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1367
|
+
// Lexador
|
|
1368
|
+
const resultadoLexador = lexador.mapear([
|
|
1369
|
+
"lmht {",
|
|
1370
|
+
`${metodos_1.MetodoSaturar[index]}: saturar(${valoresAceitos[valIndex]});`,
|
|
1371
|
+
"}"
|
|
1372
|
+
]);
|
|
1373
|
+
// O Lexador não deve encontrar erros
|
|
1374
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1375
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1376
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1377
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1378
|
+
]));
|
|
1379
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1380
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1381
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1382
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1383
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1384
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1385
|
+
]));
|
|
1386
|
+
}
|
|
1387
|
+
else {
|
|
1388
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1389
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1390
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1391
|
+
]));
|
|
1392
|
+
}
|
|
1393
|
+
// Avaliador Sintático
|
|
1394
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1395
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1396
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSaturar[index]]);
|
|
1397
|
+
// Tradutor
|
|
1398
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1399
|
+
// O Tradutor deve serializar de acordo e traduzir saturar para saturate
|
|
1400
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSaturar[index]]);
|
|
1401
|
+
expect(resultadoTradutor).toContain(`saturate(${valoresAceitos[valIndex]});`);
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
});
|
|
1405
|
+
it('Atribuindo Método "sepia()"', () => {
|
|
1406
|
+
for (let index = 0; index < metodos_1.MetodoSepia.length; index += 1) {
|
|
1407
|
+
const valoresAceitos = ['100px', '100%', '0.1', '0', '1', '1.75'];
|
|
1408
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1409
|
+
// Lexador
|
|
1410
|
+
const resultadoLexador = lexador.mapear([
|
|
1411
|
+
"lmht {",
|
|
1412
|
+
`${metodos_1.MetodoSepia[index]}: sepia(${valoresAceitos[valIndex]});`,
|
|
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: foles_1.default.METODO }),
|
|
1420
|
+
]));
|
|
1421
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1422
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1423
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1424
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1425
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1426
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1427
|
+
]));
|
|
1428
|
+
}
|
|
1429
|
+
else {
|
|
1430
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1431
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1432
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1433
|
+
]));
|
|
1434
|
+
}
|
|
1435
|
+
// Avaliador Sintático
|
|
1436
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1437
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1438
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSepia[index]]);
|
|
1439
|
+
// Tradutor
|
|
1440
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1441
|
+
// O Tradutor deve serializar de acordo e traduzir sépia para sepia
|
|
1442
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodoSepia[index]]);
|
|
1443
|
+
expect(resultadoTradutor).toContain(`sepia(${valoresAceitos[valIndex]});`);
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
});
|
|
1447
|
+
it('Atribuindo Método "translação()"', () => {
|
|
1448
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1449
|
+
const valoresAceitos = ['270graus', '18deg', '3.142rad', '0', '1'];
|
|
1450
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1451
|
+
// Lexador
|
|
1452
|
+
const resultadoLexador = lexador.mapear([
|
|
1453
|
+
"lmht {",
|
|
1454
|
+
`${metodos_1.MetodosTranslacao[index]}: translação(${valoresAceitos[valIndex]});`,
|
|
1455
|
+
"}"
|
|
1456
|
+
]);
|
|
1457
|
+
// O Lexador não deve encontrar erros
|
|
1458
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1459
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1460
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1461
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1462
|
+
]));
|
|
1463
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1464
|
+
if (valIndex <= 2) {
|
|
1465
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1466
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1467
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1468
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1469
|
+
]));
|
|
1470
|
+
}
|
|
1471
|
+
else {
|
|
1472
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1473
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1474
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1475
|
+
]));
|
|
1476
|
+
}
|
|
1477
|
+
// Avaliador Sintático
|
|
1478
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1479
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1480
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1481
|
+
// Tradutor
|
|
1482
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1483
|
+
// O Tradutor deve serializar de acordo e traduzir translação para translate
|
|
1484
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1485
|
+
if (valIndex !== 0) {
|
|
1486
|
+
expect(resultadoTradutor).toContain(`translate(${valoresAceitos[valIndex]});`);
|
|
1487
|
+
}
|
|
1488
|
+
else {
|
|
1489
|
+
expect(resultadoTradutor).toContain(`translate(270deg);`);
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
});
|
|
1494
|
+
it('Atribuindo Método "translacao() com múltiplos valores"', () => {
|
|
1495
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1496
|
+
// Lexador
|
|
1497
|
+
const resultadoLexador = lexador.mapear([
|
|
1498
|
+
"lmht {",
|
|
1499
|
+
`${metodos_1.MetodosTranslacao[index]}: translacao(3ch, 3mm);`,
|
|
1500
|
+
"}"
|
|
1501
|
+
]);
|
|
1502
|
+
// O Lexador não deve encontrar erros
|
|
1503
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1504
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1505
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1506
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1507
|
+
]));
|
|
1508
|
+
// O Lexador deve montar um objeto de comprimento 14
|
|
1509
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
1510
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1511
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1512
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1513
|
+
]));
|
|
1514
|
+
// Avaliador Sintático
|
|
1515
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1516
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1517
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1518
|
+
// Tradutor
|
|
1519
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1520
|
+
// O Tradutor deve serializar de acordo e traduzir translacao para translate
|
|
1521
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1522
|
+
expect(resultadoTradutor).toContain(`translate(3ch, 3mm);`);
|
|
1523
|
+
}
|
|
1524
|
+
});
|
|
1525
|
+
it('Atribuindo Método "translação-3d()"', () => {
|
|
1526
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1527
|
+
// Lexador
|
|
1528
|
+
const resultadoLexador = lexador.mapear([
|
|
1529
|
+
"lmht {",
|
|
1530
|
+
`${metodos_1.MetodosTranslacao[index]}: translacao-3d(5ch, 0.4in, 5em);`,
|
|
1531
|
+
"}"
|
|
1532
|
+
]);
|
|
1533
|
+
// O Lexador não deve encontrar erros
|
|
1534
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1535
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1536
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1537
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1538
|
+
]));
|
|
1539
|
+
// O Lexador deve montar um objeto de comprimento 17
|
|
1540
|
+
expect(resultadoLexador.simbolos).toHaveLength(17);
|
|
1541
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1542
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1543
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1544
|
+
]));
|
|
1545
|
+
// Avaliador Sintático
|
|
1546
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1547
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1548
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1549
|
+
// Tradutor
|
|
1550
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1551
|
+
// O Tradutor deve serializar de acordo e traduzir translação-3d para translate3d
|
|
1552
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1553
|
+
expect(resultadoTradutor).toContain(`translate3d(5ch, 0.4in, 5em);`);
|
|
1554
|
+
}
|
|
1555
|
+
});
|
|
1556
|
+
it('Atribuindo Método "translação-3d() cobrindo todos os casos"', () => {
|
|
1557
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1558
|
+
const valoresAceitos = [
|
|
1559
|
+
'0',
|
|
1560
|
+
'0, 62px, 135px',
|
|
1561
|
+
'2.7rem, 0, 1rem',
|
|
1562
|
+
'5ch, 0.4in, 0',
|
|
1563
|
+
'0, 0, 135px',
|
|
1564
|
+
'0, 2.7rem, 0',
|
|
1565
|
+
'5ch, 0, 0',
|
|
1566
|
+
'42px, 62px, 135px',
|
|
1567
|
+
'0, 0, 0',
|
|
1568
|
+
];
|
|
1569
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1570
|
+
// Lexador
|
|
1571
|
+
const resultadoLexador = lexador.mapear([
|
|
1572
|
+
"lmht {",
|
|
1573
|
+
`${metodos_1.MetodosTranslacao[index]}: translação-3d(${valoresAceitos[valIndex]});`,
|
|
1574
|
+
"}"
|
|
1575
|
+
]);
|
|
1576
|
+
// O Lexador não deve encontrar erros
|
|
1577
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1578
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1579
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1580
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1581
|
+
]));
|
|
1582
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1583
|
+
if (valIndex === 0) {
|
|
1584
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1585
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1586
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1587
|
+
]));
|
|
1588
|
+
}
|
|
1589
|
+
else if (valIndex === 1 || valIndex === 2 || valIndex === 3) {
|
|
1590
|
+
expect(resultadoLexador.simbolos).toHaveLength(16);
|
|
1591
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1592
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1593
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1594
|
+
]));
|
|
1595
|
+
}
|
|
1596
|
+
else if (valIndex === 4 || valIndex === 5 || valIndex === 6) {
|
|
1597
|
+
expect(resultadoLexador.simbolos).toHaveLength(15);
|
|
1598
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1599
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1600
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1601
|
+
]));
|
|
1602
|
+
}
|
|
1603
|
+
else if (valIndex === 7) {
|
|
1604
|
+
expect(resultadoLexador.simbolos).toHaveLength(17);
|
|
1605
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1606
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1607
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1608
|
+
]));
|
|
1609
|
+
}
|
|
1610
|
+
else {
|
|
1611
|
+
expect(resultadoLexador.simbolos).toHaveLength(14);
|
|
1612
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1613
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1614
|
+
]));
|
|
1615
|
+
}
|
|
1616
|
+
// Avaliador Sintático
|
|
1617
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1618
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1619
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1620
|
+
// Tradutor
|
|
1621
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1622
|
+
// O Tradutor deve serializar de acordo e traduzir translação-3d para translate3d
|
|
1623
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1624
|
+
if (valIndex !== 8) {
|
|
1625
|
+
expect(resultadoTradutor).toContain(`translate3d(${valoresAceitos[valIndex]});`);
|
|
1626
|
+
}
|
|
1627
|
+
else {
|
|
1628
|
+
expect(resultadoTradutor).toContain(`translate3d(0);`);
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
}
|
|
1632
|
+
});
|
|
1633
|
+
it('Atribuindo Método "translação-eixo-z()"', () => {
|
|
1634
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1635
|
+
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1636
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1637
|
+
// Lexador
|
|
1638
|
+
const resultadoLexador = lexador.mapear([
|
|
1639
|
+
"lmht {",
|
|
1640
|
+
`${metodos_1.MetodosTranslacao[index]}: translação-eixo-z(${valoresAceitos[valIndex]});`,
|
|
1641
|
+
"}"
|
|
1642
|
+
]);
|
|
1643
|
+
// O Lexador não deve encontrar erros
|
|
1644
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1645
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1646
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1647
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1648
|
+
]));
|
|
1649
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1650
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1651
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1652
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1653
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1654
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1655
|
+
]));
|
|
1656
|
+
}
|
|
1657
|
+
else {
|
|
1658
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1659
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1660
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1661
|
+
]));
|
|
1662
|
+
}
|
|
1663
|
+
// Avaliador Sintático
|
|
1664
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1665
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1666
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1667
|
+
// Tradutor
|
|
1668
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1669
|
+
// O Tradutor deve serializar de acordo e traduzir translação-eixo-z para translateZ
|
|
1670
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1671
|
+
expect(resultadoTradutor).toContain(`translateZ(${valoresAceitos[valIndex]});`);
|
|
1672
|
+
}
|
|
1673
|
+
}
|
|
1674
|
+
});
|
|
1675
|
+
it('Atribuindo Método "translacao-eixo-z()"', () => {
|
|
1676
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1677
|
+
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1678
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1679
|
+
// Lexador
|
|
1680
|
+
const resultadoLexador = lexador.mapear([
|
|
1681
|
+
"lmht {",
|
|
1682
|
+
`${metodos_1.MetodosTranslacao[index]}: translacao-eixo-z(${valoresAceitos[valIndex]});`,
|
|
1683
|
+
"}"
|
|
1684
|
+
]);
|
|
1685
|
+
// O Lexador não deve encontrar erros
|
|
1686
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1687
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1688
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1689
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1690
|
+
]));
|
|
1691
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1692
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1693
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1694
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1695
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1696
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1697
|
+
]));
|
|
1698
|
+
}
|
|
1699
|
+
else {
|
|
1700
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1701
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1702
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1703
|
+
]));
|
|
1704
|
+
}
|
|
1705
|
+
// Avaliador Sintático
|
|
1706
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1707
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1708
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1709
|
+
// Tradutor
|
|
1710
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1711
|
+
// O Tradutor deve serializar de acordo e traduzir translacao-eixo-z para translateZ
|
|
1712
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1713
|
+
expect(resultadoTradutor).toContain(`translateZ(${valoresAceitos[valIndex]});`);
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
});
|
|
1717
|
+
it('Atribuindo Método "translação-horizontal()"', () => {
|
|
1718
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1719
|
+
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1720
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1721
|
+
// Lexador
|
|
1722
|
+
const resultadoLexador = lexador.mapear([
|
|
1723
|
+
"lmht {",
|
|
1724
|
+
`${metodos_1.MetodosTranslacao[index]}: translação-horizontal(${valoresAceitos[valIndex]});`,
|
|
1725
|
+
"}"
|
|
1726
|
+
]);
|
|
1727
|
+
// O Lexador não deve encontrar erros
|
|
1728
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1729
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1730
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1731
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1732
|
+
]));
|
|
1733
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1734
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1735
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1736
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1737
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1738
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1739
|
+
]));
|
|
1740
|
+
}
|
|
1741
|
+
else {
|
|
1742
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1743
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1744
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1745
|
+
]));
|
|
1746
|
+
}
|
|
1747
|
+
// Avaliador Sintático
|
|
1748
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1749
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1750
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1751
|
+
// Tradutor
|
|
1752
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1753
|
+
// O Tradutor deve serializar de acordo e traduzir translação-horizontal para translateX
|
|
1754
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1755
|
+
expect(resultadoTradutor).toContain(`translateX(${valoresAceitos[valIndex]});`);
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
});
|
|
1759
|
+
it('Atribuindo Método "translacao-horizontal()"', () => {
|
|
1760
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1761
|
+
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1762
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1763
|
+
// Lexador
|
|
1764
|
+
const resultadoLexador = lexador.mapear([
|
|
1765
|
+
"lmht {",
|
|
1766
|
+
`${metodos_1.MetodosTranslacao[index]}: translacao-horizontal(${valoresAceitos[valIndex]});`,
|
|
1767
|
+
"}"
|
|
1768
|
+
]);
|
|
1769
|
+
// O Lexador não deve encontrar erros
|
|
1770
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1771
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1772
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1773
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1774
|
+
]));
|
|
1775
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1776
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1777
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1778
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1779
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1780
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1781
|
+
]));
|
|
1782
|
+
}
|
|
1783
|
+
else {
|
|
1784
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1785
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1786
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1787
|
+
]));
|
|
1788
|
+
}
|
|
1789
|
+
// Avaliador Sintático
|
|
1790
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1791
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1792
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1793
|
+
// Tradutor
|
|
1794
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1795
|
+
// O Tradutor deve serializar de acordo e traduzir translação-horizontal para translateX
|
|
1796
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1797
|
+
expect(resultadoTradutor).toContain(`translateX(${valoresAceitos[valIndex]});`);
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
});
|
|
1801
|
+
it('Atribuindo Método "translação-vertical()"', () => {
|
|
1802
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1803
|
+
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1804
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1805
|
+
// Lexador
|
|
1806
|
+
const resultadoLexador = lexador.mapear([
|
|
1807
|
+
"lmht {",
|
|
1808
|
+
`${metodos_1.MetodosTranslacao[index]}: translação-vertical(${valoresAceitos[valIndex]});`,
|
|
1809
|
+
"}"
|
|
1810
|
+
]);
|
|
1811
|
+
// O Lexador não deve encontrar erros
|
|
1812
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1813
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1814
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1815
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1816
|
+
]));
|
|
1817
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1818
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1819
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1820
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1821
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1822
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1823
|
+
]));
|
|
1824
|
+
}
|
|
1825
|
+
else {
|
|
1826
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1827
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1828
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1829
|
+
]));
|
|
1830
|
+
}
|
|
1831
|
+
// Avaliador Sintático
|
|
1832
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1833
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1834
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1835
|
+
// Tradutor
|
|
1836
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1837
|
+
// O Tradutor deve serializar de acordo e traduzir translação-vertical para translateY
|
|
1838
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1839
|
+
expect(resultadoTradutor).toContain(`translateY(${valoresAceitos[valIndex]});`);
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
});
|
|
1843
|
+
it('Atribuindo Método "translacao-vertical()"', () => {
|
|
1844
|
+
for (let index = 0; index < metodos_1.MetodosTranslacao.length; index += 1) {
|
|
1845
|
+
const valoresAceitos = ['42px', '3ch', '0'];
|
|
1846
|
+
for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
|
|
1847
|
+
// Lexador
|
|
1848
|
+
const resultadoLexador = lexador.mapear([
|
|
1849
|
+
"lmht {",
|
|
1850
|
+
`${metodos_1.MetodosTranslacao[index]}: translacao-vertical(${valoresAceitos[valIndex]});`,
|
|
1851
|
+
"}"
|
|
1852
|
+
]);
|
|
1853
|
+
// O Lexador não deve encontrar erros
|
|
1854
|
+
expect(resultadoLexador.erros).toHaveLength(0);
|
|
1855
|
+
// O valor recebido deve ser mapeado como METODO
|
|
1856
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1857
|
+
expect.objectContaining({ tipo: foles_1.default.METODO }),
|
|
1858
|
+
]));
|
|
1859
|
+
// O Lexador deve montar um objeto de comprimento 11 caso haja quantificador e 10 caso não haja
|
|
1860
|
+
if (valIndex === 0 || valIndex === 1) {
|
|
1861
|
+
expect(resultadoLexador.simbolos).toHaveLength(11);
|
|
1862
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1863
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1864
|
+
expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
|
|
1865
|
+
]));
|
|
1866
|
+
}
|
|
1867
|
+
else {
|
|
1868
|
+
expect(resultadoLexador.simbolos).toHaveLength(10);
|
|
1869
|
+
expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
|
|
1870
|
+
expect.objectContaining({ tipo: foles_1.default.NUMERO }),
|
|
1871
|
+
]));
|
|
1872
|
+
}
|
|
1873
|
+
// Avaliador Sintático
|
|
1874
|
+
const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
|
|
1875
|
+
// O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
|
|
1876
|
+
expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1877
|
+
// Tradutor
|
|
1878
|
+
const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
|
|
1879
|
+
// O Tradutor deve serializar de acordo e traduzir translação-vertical para translateY
|
|
1880
|
+
expect(resultadoTradutor).toContain(metodos_1.TraducaoValoresMetodos[metodos_1.MetodosTranslacao[index]]);
|
|
1881
|
+
expect(resultadoTradutor).toContain(`translateY(${valoresAceitos[valIndex]});`);
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1884
|
+
});
|
|
1885
|
+
});
|
|
1886
|
+
});
|
|
1887
1887
|
//# sourceMappingURL=metodos.test.js.map
|