@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.
Files changed (1521) hide show
  1. package/coverage/lcov-report/block-navigation.d.ts +1 -1
  2. package/coverage/lcov-report/block-navigation.js +69 -69
  3. package/coverage/lcov-report/block-navigation.js.map +1 -1
  4. package/coverage/lcov-report/prettify.js +476 -476
  5. package/coverage/lcov-report/prettify.js.map +1 -1
  6. package/coverage/lcov-report/sorter.d.ts +1 -1
  7. package/coverage/lcov-report/sorter.js +162 -162
  8. package/coverage/lcov-report/sorter.js.map +1 -1
  9. package/execucao.d.ts +1 -1
  10. package/execucao.js +53 -53
  11. package/execucao.js.map +1 -1
  12. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.d.ts +42 -42
  13. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js +185 -185
  14. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js.map +1 -1
  15. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +47 -46
  16. package/fontes/avaliador-sintatico/avaliador-sintatico.js +1011 -962
  17. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  18. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  19. package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  20. package/fontes/avaliador-sintatico/index.d.ts +2 -2
  21. package/fontes/avaliador-sintatico/index.js +18 -18
  22. package/fontes/declaracoes/declaracao.d.ts +9 -9
  23. package/fontes/declaracoes/declaracao.js +12 -12
  24. package/fontes/declaracoes/index.d.ts +1 -1
  25. package/fontes/declaracoes/index.js +17 -17
  26. package/fontes/estruturas/dicionario-estruturas-html.d.ts +3 -3
  27. package/fontes/estruturas/dicionario-estruturas-html.js +157 -157
  28. package/fontes/estruturas/dicionario-estruturas-lmht.d.ts +3 -3
  29. package/fontes/estruturas/dicionario-estruturas-lmht.js +191 -191
  30. package/fontes/estruturas/estrutura.d.ts +6 -6
  31. package/fontes/estruturas/estrutura.js +10 -10
  32. package/fontes/estruturas/lmht/abreviacao.d.ts +5 -5
  33. package/fontes/estruturas/lmht/abreviacao.js +10 -10
  34. package/fontes/estruturas/lmht/aparte.d.ts +5 -5
  35. package/fontes/estruturas/lmht/aparte.js +10 -10
  36. package/fontes/estruturas/lmht/area-texto.d.ts +5 -5
  37. package/fontes/estruturas/lmht/area-texto.js +10 -10
  38. package/fontes/estruturas/lmht/area.d.ts +5 -5
  39. package/fontes/estruturas/lmht/area.js +10 -10
  40. package/fontes/estruturas/lmht/artigo.d.ts +5 -5
  41. package/fontes/estruturas/lmht/artigo.js +10 -10
  42. package/fontes/estruturas/lmht/aspas.d.ts +5 -5
  43. package/fontes/estruturas/lmht/aspas.js +10 -10
  44. package/fontes/estruturas/lmht/audio.d.ts +5 -5
  45. package/fontes/estruturas/lmht/audio.js +10 -10
  46. package/fontes/estruturas/lmht/botao.d.ts +5 -5
  47. package/fontes/estruturas/lmht/botao.js +10 -10
  48. package/fontes/estruturas/lmht/cabeca-tabela.d.ts +5 -5
  49. package/fontes/estruturas/lmht/cabeca-tabela.js +10 -10
  50. package/fontes/estruturas/lmht/cabeca.d.ts +5 -5
  51. package/fontes/estruturas/lmht/cabeca.js +10 -10
  52. package/fontes/estruturas/lmht/campo.d.ts +5 -5
  53. package/fontes/estruturas/lmht/campo.js +10 -10
  54. package/fontes/estruturas/lmht/campos.d.ts +5 -5
  55. package/fontes/estruturas/lmht/campos.js +10 -10
  56. package/fontes/estruturas/lmht/canvas.d.ts +5 -5
  57. package/fontes/estruturas/lmht/canvas.js +10 -10
  58. package/fontes/estruturas/lmht/celula.d.ts +5 -5
  59. package/fontes/estruturas/lmht/celula.js +10 -10
  60. package/fontes/estruturas/lmht/citacao.d.ts +5 -5
  61. package/fontes/estruturas/lmht/citacao.js +10 -10
  62. package/fontes/estruturas/lmht/codigo.d.ts +5 -5
  63. package/fontes/estruturas/lmht/codigo.js +10 -10
  64. package/fontes/estruturas/lmht/coluna.d.ts +5 -5
  65. package/fontes/estruturas/lmht/coluna.js +10 -10
  66. package/fontes/estruturas/lmht/corpo-tabela.d.ts +5 -5
  67. package/fontes/estruturas/lmht/corpo-tabela.js +10 -10
  68. package/fontes/estruturas/lmht/corpo.d.ts +5 -5
  69. package/fontes/estruturas/lmht/corpo.js +10 -10
  70. package/fontes/estruturas/lmht/definicao.d.ts +5 -5
  71. package/fontes/estruturas/lmht/definicao.js +10 -10
  72. package/fontes/estruturas/lmht/detalhes.d.ts +5 -5
  73. package/fontes/estruturas/lmht/detalhes.js +10 -10
  74. package/fontes/estruturas/lmht/divisao.d.ts +5 -5
  75. package/fontes/estruturas/lmht/divisao.js +10 -10
  76. package/fontes/estruturas/lmht/endereco.d.ts +5 -5
  77. package/fontes/estruturas/lmht/endereco.js +10 -10
  78. package/fontes/estruturas/lmht/envelope-texto.d.ts +5 -5
  79. package/fontes/estruturas/lmht/envelope-texto.js +10 -10
  80. package/fontes/estruturas/lmht/etiqueta.d.ts +5 -5
  81. package/fontes/estruturas/lmht/etiqueta.js +10 -10
  82. package/fontes/estruturas/lmht/excluido.d.ts +5 -5
  83. package/fontes/estruturas/lmht/excluido.js +10 -10
  84. package/fontes/estruturas/lmht/exemplo.d.ts +5 -5
  85. package/fontes/estruturas/lmht/exemplo.js +10 -10
  86. package/fontes/estruturas/lmht/formulario.d.ts +5 -5
  87. package/fontes/estruturas/lmht/formulario.js +10 -10
  88. package/fontes/estruturas/lmht/grupo-colunas.d.ts +5 -5
  89. package/fontes/estruturas/lmht/grupo-colunas.js +10 -10
  90. package/fontes/estruturas/lmht/grupo-opcoes.d.ts +5 -5
  91. package/fontes/estruturas/lmht/grupo-opcoes.js +10 -10
  92. package/fontes/estruturas/lmht/imagem.d.ts +5 -5
  93. package/fontes/estruturas/lmht/imagem.js +10 -10
  94. package/fontes/estruturas/lmht/invisivel.d.ts +5 -5
  95. package/fontes/estruturas/lmht/invisivel.js +10 -10
  96. package/fontes/estruturas/lmht/italico.d.ts +5 -5
  97. package/fontes/estruturas/lmht/italico.js +10 -10
  98. package/fontes/estruturas/lmht/item-lista.d.ts +5 -5
  99. package/fontes/estruturas/lmht/item-lista.js +10 -10
  100. package/fontes/estruturas/lmht/ligacao.d.ts +5 -5
  101. package/fontes/estruturas/lmht/ligacao.js +10 -10
  102. package/fontes/estruturas/lmht/linha-horizontal.d.ts +5 -5
  103. package/fontes/estruturas/lmht/linha-horizontal.js +10 -10
  104. package/fontes/estruturas/lmht/linha.d.ts +5 -5
  105. package/fontes/estruturas/lmht/linha.js +10 -10
  106. package/fontes/estruturas/lmht/lista-definicoes.d.ts +5 -5
  107. package/fontes/estruturas/lmht/lista-definicoes.js +10 -10
  108. package/fontes/estruturas/lmht/lista-numerada.d.ts +5 -5
  109. package/fontes/estruturas/lmht/lista-numerada.js +10 -10
  110. package/fontes/estruturas/lmht/lista-pesquisavel.d.ts +5 -5
  111. package/fontes/estruturas/lmht/lista-pesquisavel.js +10 -10
  112. package/fontes/estruturas/lmht/lista-simples.d.ts +5 -5
  113. package/fontes/estruturas/lmht/lista-simples.js +10 -10
  114. package/fontes/estruturas/lmht/lmht.d.ts +5 -5
  115. package/fontes/estruturas/lmht/lmht.js +10 -10
  116. package/fontes/estruturas/lmht/marca.d.ts +5 -5
  117. package/fontes/estruturas/lmht/marca.js +10 -10
  118. package/fontes/estruturas/lmht/medidor.d.ts +5 -5
  119. package/fontes/estruturas/lmht/medidor.js +10 -10
  120. package/fontes/estruturas/lmht/navegacao.d.ts +5 -5
  121. package/fontes/estruturas/lmht/navegacao.js +10 -10
  122. package/fontes/estruturas/lmht/negrito.d.ts +5 -5
  123. package/fontes/estruturas/lmht/negrito.js +10 -10
  124. package/fontes/estruturas/lmht/objeto.d.ts +5 -5
  125. package/fontes/estruturas/lmht/objeto.js +10 -10
  126. package/fontes/estruturas/lmht/opcao.d.ts +5 -5
  127. package/fontes/estruturas/lmht/opcao.js +10 -10
  128. package/fontes/estruturas/lmht/paragrafo.d.ts +5 -5
  129. package/fontes/estruturas/lmht/paragrafo.js +10 -10
  130. package/fontes/estruturas/lmht/preformatado.d.ts +5 -5
  131. package/fontes/estruturas/lmht/preformatado.js +10 -10
  132. package/fontes/estruturas/lmht/principal.d.ts +5 -5
  133. package/fontes/estruturas/lmht/principal.js +10 -10
  134. package/fontes/estruturas/lmht/progresso.d.ts +5 -5
  135. package/fontes/estruturas/lmht/progresso.js +10 -10
  136. package/fontes/estruturas/lmht/quebra-linha-oportuna.d.ts +5 -5
  137. package/fontes/estruturas/lmht/quebra-linha-oportuna.js +10 -10
  138. package/fontes/estruturas/lmht/quebra-linha.d.ts +5 -5
  139. package/fontes/estruturas/lmht/quebra-linha.js +10 -10
  140. package/fontes/estruturas/lmht/recurso.d.ts +5 -5
  141. package/fontes/estruturas/lmht/recurso.js +10 -10
  142. package/fontes/estruturas/lmht/riscado.d.ts +5 -5
  143. package/fontes/estruturas/lmht/riscado.js +10 -10
  144. package/fontes/estruturas/lmht/script.d.ts +5 -5
  145. package/fontes/estruturas/lmht/script.js +10 -10
  146. package/fontes/estruturas/lmht/secao.d.ts +5 -5
  147. package/fontes/estruturas/lmht/secao.js +10 -10
  148. package/fontes/estruturas/lmht/selecao.d.ts +5 -5
  149. package/fontes/estruturas/lmht/selecao.js +10 -10
  150. package/fontes/estruturas/lmht/sem-script.d.ts +5 -5
  151. package/fontes/estruturas/lmht/sem-script.js +10 -10
  152. package/fontes/estruturas/lmht/sobrescrito.d.ts +5 -5
  153. package/fontes/estruturas/lmht/sobrescrito.js +10 -10
  154. package/fontes/estruturas/lmht/sublinhado.d.ts +5 -5
  155. package/fontes/estruturas/lmht/sublinhado.js +10 -10
  156. package/fontes/estruturas/lmht/subscrito.d.ts +5 -5
  157. package/fontes/estruturas/lmht/subscrito.js +10 -10
  158. package/fontes/estruturas/lmht/sumario.d.ts +5 -5
  159. package/fontes/estruturas/lmht/sumario.js +10 -10
  160. package/fontes/estruturas/lmht/tabela.d.ts +5 -5
  161. package/fontes/estruturas/lmht/tabela.js +10 -10
  162. package/fontes/estruturas/lmht/teclado.d.ts +5 -5
  163. package/fontes/estruturas/lmht/teclado.js +10 -10
  164. package/fontes/estruturas/lmht/tempo.d.ts +5 -5
  165. package/fontes/estruturas/lmht/tempo.js +10 -10
  166. package/fontes/estruturas/lmht/termo.d.ts +5 -5
  167. package/fontes/estruturas/lmht/termo.js +10 -10
  168. package/fontes/estruturas/lmht/texto-pequeno.d.ts +5 -5
  169. package/fontes/estruturas/lmht/texto-pequeno.js +10 -10
  170. package/fontes/estruturas/lmht/titulo1.d.ts +5 -5
  171. package/fontes/estruturas/lmht/titulo1.js +10 -10
  172. package/fontes/estruturas/lmht/titulo2.d.ts +5 -5
  173. package/fontes/estruturas/lmht/titulo2.js +10 -10
  174. package/fontes/estruturas/lmht/titulo3.d.ts +5 -5
  175. package/fontes/estruturas/lmht/titulo3.js +10 -10
  176. package/fontes/estruturas/lmht/titulo4.d.ts +5 -5
  177. package/fontes/estruturas/lmht/titulo4.js +10 -10
  178. package/fontes/estruturas/lmht/titulo5.d.ts +5 -5
  179. package/fontes/estruturas/lmht/titulo5.js +10 -10
  180. package/fontes/estruturas/lmht/titulo6.d.ts +5 -5
  181. package/fontes/estruturas/lmht/titulo6.js +10 -10
  182. package/fontes/estruturas/lmht/variavel.d.ts +5 -5
  183. package/fontes/estruturas/lmht/variavel.js +10 -10
  184. package/fontes/estruturas/pragmas-estrutura.d.ts +5 -5
  185. package/fontes/estruturas/pragmas-estrutura.js +2 -2
  186. package/fontes/estruturas/seletor-estruturas-html.d.ts +4 -4
  187. package/fontes/estruturas/seletor-estruturas-html.js +14 -14
  188. package/fontes/estruturas/seletor-estruturas-html.js.map +1 -1
  189. package/fontes/estruturas/seletor-estruturas-lmht.d.ts +4 -4
  190. package/fontes/estruturas/seletor-estruturas-lmht.js +14 -14
  191. package/fontes/estruturas/seletor-estruturas-lmht.js.map +1 -1
  192. package/fontes/exportador/index.d.ts +14 -14
  193. package/fontes/exportador/index.js +44 -44
  194. package/fontes/exportador/index.js.map +1 -1
  195. package/fontes/foles.d.ts +37 -37
  196. package/fontes/foles.js +77 -77
  197. package/fontes/foles.js.map +1 -1
  198. package/fontes/gerador-mapa/index.d.ts +2 -2
  199. package/fontes/gerador-mapa/index.js +6 -6
  200. package/fontes/importador/importador.d.ts +12 -12
  201. package/fontes/importador/importador.js +70 -70
  202. package/fontes/importador/importador.js.map +1 -1
  203. package/fontes/importador/index.d.ts +1 -1
  204. package/fontes/importador/index.js +17 -17
  205. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +5 -5
  206. package/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
  207. package/fontes/interfaces/importador-interface.d.ts +4 -4
  208. package/fontes/interfaces/importador-interface.js +2 -2
  209. package/fontes/interfaces/index.d.ts +5 -5
  210. package/fontes/interfaces/index.js +21 -21
  211. package/fontes/interfaces/lexador-interface.d.ts +6 -6
  212. package/fontes/interfaces/lexador-interface.js +2 -2
  213. package/fontes/interfaces/mapa-origens-interface.d.ts +9 -9
  214. package/fontes/interfaces/mapa-origens-interface.js +2 -2
  215. package/fontes/interfaces/resultado-lexador-interface.d.ts +4 -4
  216. package/fontes/interfaces/resultado-lexador-interface.js +2 -2
  217. package/fontes/interfaces/simbolo-interface.d.ts +9 -9
  218. package/fontes/interfaces/simbolo-interface.js +2 -2
  219. package/fontes/lexador/erro-lexador.d.ts +5 -5
  220. package/fontes/lexador/erro-lexador.js +2 -2
  221. package/fontes/lexador/index.d.ts +2 -2
  222. package/fontes/lexador/index.js +18 -18
  223. package/fontes/lexador/lexador-reverso.d.ts +34 -34
  224. package/fontes/lexador/lexador-reverso.js +184 -184
  225. package/fontes/lexador/lexador-reverso.js.map +1 -1
  226. package/fontes/lexador/lexador.d.ts +39 -39
  227. package/fontes/lexador/lexador.js +293 -293
  228. package/fontes/lexador/lexador.js.map +1 -1
  229. package/fontes/lexador/palavras-reservadas/css.d.ts +86 -86
  230. package/fontes/lexador/palavras-reservadas/css.js +91 -91
  231. package/fontes/lexador/palavras-reservadas/foles.d.ts +541 -541
  232. package/fontes/lexador/palavras-reservadas/foles.js +859 -859
  233. package/fontes/lexador/palavras-reservadas/index.d.ts +2 -2
  234. package/fontes/lexador/palavras-reservadas/index.js +18 -18
  235. package/fontes/lexador/simbolo.d.ts +10 -10
  236. package/fontes/lexador/simbolo.js +17 -17
  237. package/fontes/modificadores/agrupar-palavra.d.ts +7 -7
  238. package/fontes/modificadores/agrupar-palavra.js +20 -20
  239. package/fontes/modificadores/agrupar-vazamento.d.ts +7 -7
  240. package/fontes/modificadores/agrupar-vazamento.js +20 -20
  241. package/fontes/modificadores/ajustar-objeto.d.ts +7 -7
  242. package/fontes/modificadores/ajustar-objeto.js +22 -22
  243. package/fontes/modificadores/ajustar-tamanho-fonte.d.ts +7 -7
  244. package/fontes/modificadores/ajustar-tamanho-fonte.js +26 -26
  245. package/fontes/modificadores/ajuste-cor-forcado.d.ts +7 -7
  246. package/fontes/modificadores/ajuste-cor-forcado.js +19 -19
  247. package/fontes/modificadores/alinhar-conteudo.d.ts +7 -7
  248. package/fontes/modificadores/alinhar-conteudo.js +39 -39
  249. package/fontes/modificadores/alinhar-encaixe-rolagem-mouse.d.ts +7 -7
  250. package/fontes/modificadores/alinhar-encaixe-rolagem-mouse.js +22 -22
  251. package/fontes/modificadores/alinhar-itens.d.ts +7 -7
  252. package/fontes/modificadores/alinhar-itens.js +34 -34
  253. package/fontes/modificadores/alinhar-se.d.ts +7 -7
  254. package/fontes/modificadores/alinhar-se.js +34 -34
  255. package/fontes/modificadores/alinhar-texto.d.ts +7 -7
  256. package/fontes/modificadores/alinhar-texto.js +21 -21
  257. package/fontes/modificadores/alinhar-ultimo-item.d.ts +7 -7
  258. package/fontes/modificadores/alinhar-ultimo-item.js +30 -30
  259. package/fontes/modificadores/alinhar-vertical.d.ts +7 -7
  260. package/fontes/modificadores/alinhar-vertical.js +29 -29
  261. package/fontes/modificadores/alinhar-vertical.js.map +1 -1
  262. package/fontes/modificadores/altura-linha.d.ts +7 -7
  263. package/fontes/modificadores/altura-linha.js +23 -23
  264. package/fontes/modificadores/altura-linha.js.map +1 -1
  265. package/fontes/modificadores/altura-maxima.d.ts +7 -7
  266. package/fontes/modificadores/altura-maxima.js +27 -27
  267. package/fontes/modificadores/altura-maxima.js.map +1 -1
  268. package/fontes/modificadores/altura-minima.d.ts +7 -7
  269. package/fontes/modificadores/altura-minima.js +27 -27
  270. package/fontes/modificadores/altura-minima.js.map +1 -1
  271. package/fontes/modificadores/altura.d.ts +7 -7
  272. package/fontes/modificadores/altura.js +27 -27
  273. package/fontes/modificadores/altura.js.map +1 -1
  274. package/fontes/modificadores/animacao.d.ts +7 -7
  275. package/fontes/modificadores/animacao.js +34 -34
  276. package/fontes/modificadores/ao-mudar.d.ts +7 -7
  277. package/fontes/modificadores/ao-mudar.js +22 -22
  278. package/fontes/modificadores/aparencia.d.ts +10 -10
  279. package/fontes/modificadores/aparencia.js +46 -46
  280. package/fontes/modificadores/area-mascara.d.ts +7 -7
  281. package/fontes/modificadores/area-mascara.js +40 -32
  282. package/fontes/modificadores/area-mascara.js.map +1 -1
  283. package/fontes/modificadores/atraso-animacao.d.ts +4 -4
  284. package/fontes/modificadores/atraso-animacao.js +19 -19
  285. package/fontes/modificadores/atraso-animacao.js.map +1 -1
  286. package/fontes/modificadores/atraso-transicao.d.ts +4 -4
  287. package/fontes/modificadores/atraso-transicao.js +27 -19
  288. package/fontes/modificadores/atraso-transicao.js.map +1 -1
  289. package/fontes/modificadores/atributos/cores.d.ts +3 -3
  290. package/fontes/modificadores/atributos/cores.js +177 -177
  291. package/fontes/modificadores/atributos/estilo.d.ts +3 -3
  292. package/fontes/modificadores/atributos/estilo.js +17 -17
  293. package/fontes/modificadores/atributos/gerais.d.ts +3 -3
  294. package/fontes/modificadores/atributos/gerais.js +209 -209
  295. package/fontes/modificadores/atributos/globais.d.ts +3 -3
  296. package/fontes/modificadores/atributos/globais.js +10 -10
  297. package/fontes/modificadores/atributos/posicoes.d.ts +9 -9
  298. package/fontes/modificadores/atributos/posicoes.js +36 -36
  299. package/fontes/modificadores/atributos/quantificadores.d.ts +30 -30
  300. package/fontes/modificadores/atributos/quantificadores.js +114 -114
  301. package/fontes/modificadores/borda-direita.d.ts +7 -7
  302. package/fontes/modificadores/borda-direita.js +43 -43
  303. package/fontes/modificadores/borda-direita.js.map +1 -1
  304. package/fontes/modificadores/borda-em-bloco.d.ts +4 -4
  305. package/fontes/modificadores/borda-em-bloco.js +36 -36
  306. package/fontes/modificadores/borda-em-bloco.js.map +1 -1
  307. package/fontes/modificadores/borda-em-linha.d.ts +4 -4
  308. package/fontes/modificadores/borda-em-linha.js +36 -36
  309. package/fontes/modificadores/borda-em-linha.js.map +1 -1
  310. package/fontes/modificadores/borda-esquerda.d.ts +7 -7
  311. package/fontes/modificadores/borda-esquerda.js +43 -43
  312. package/fontes/modificadores/borda-esquerda.js.map +1 -1
  313. package/fontes/modificadores/borda-inferior.d.ts +7 -7
  314. package/fontes/modificadores/borda-inferior.js +43 -43
  315. package/fontes/modificadores/borda-inferior.js.map +1 -1
  316. package/fontes/modificadores/borda-mascara.d.ts +7 -7
  317. package/fontes/modificadores/borda-mascara.js +43 -43
  318. package/fontes/modificadores/borda-mascara.js.map +1 -1
  319. package/fontes/modificadores/borda-superior.d.ts +7 -7
  320. package/fontes/modificadores/borda-superior.js +43 -43
  321. package/fontes/modificadores/borda-superior.js.map +1 -1
  322. package/fontes/modificadores/borda.d.ts +7 -7
  323. package/fontes/modificadores/borda.js +43 -43
  324. package/fontes/modificadores/borda.js.map +1 -1
  325. package/fontes/modificadores/calha-barra-rolagem.d.ts +7 -7
  326. package/fontes/modificadores/calha-barra-rolagem.js +21 -21
  327. package/fontes/modificadores/celulas-vazias.d.ts +7 -7
  328. package/fontes/modificadores/celulas-vazias.js +19 -19
  329. package/fontes/modificadores/citacoes.d.ts +7 -7
  330. package/fontes/modificadores/citacoes.js +19 -19
  331. package/fontes/modificadores/coluna-em-grade.d.ts +7 -7
  332. package/fontes/modificadores/coluna-em-grade.js +26 -20
  333. package/fontes/modificadores/coluna-em-grade.js.map +1 -1
  334. package/fontes/modificadores/colunas.d.ts +7 -7
  335. package/fontes/modificadores/colunas.js +24 -24
  336. package/fontes/modificadores/colunas.js.map +1 -1
  337. package/fontes/modificadores/combinar-texto-vertical.d.ts +7 -7
  338. package/fontes/modificadores/combinar-texto-vertical.js +21 -21
  339. package/fontes/modificadores/comportamento-em-bloco-rolagem-mouse.d.ts +7 -7
  340. package/fontes/modificadores/comportamento-em-bloco-rolagem-mouse.js +20 -20
  341. package/fontes/modificadores/comportamento-em-linha-rolagem-mouse.d.ts +7 -7
  342. package/fontes/modificadores/comportamento-em-linha-rolagem-mouse.js +20 -20
  343. package/fontes/modificadores/comportamento-horizontal-rolagem-mouse.d.ts +7 -7
  344. package/fontes/modificadores/comportamento-horizontal-rolagem-mouse.js +20 -20
  345. package/fontes/modificadores/comportamento-rolagem-mouse.d.ts +7 -7
  346. package/fontes/modificadores/comportamento-rolagem-mouse.js +20 -20
  347. package/fontes/modificadores/comportamento-rolagem.d.ts +7 -7
  348. package/fontes/modificadores/comportamento-rolagem.js +19 -19
  349. package/fontes/modificadores/comportamento-vertical-rolagem-mouse.d.ts +7 -7
  350. package/fontes/modificadores/comportamento-vertical-rolagem-mouse.js +20 -20
  351. package/fontes/modificadores/composicao-mascara.d.ts +7 -7
  352. package/fontes/modificadores/composicao-mascara.js +21 -21
  353. package/fontes/modificadores/configuracoes-variacao-fonte.d.ts +7 -7
  354. package/fontes/modificadores/configuracoes-variacao-fonte.js +18 -18
  355. package/fontes/modificadores/contar-coluna.d.ts +7 -7
  356. package/fontes/modificadores/contar-coluna.js +19 -19
  357. package/fontes/modificadores/contem.d.ts +7 -7
  358. package/fontes/modificadores/contem.js +26 -26
  359. package/fontes/modificadores/conteudo.d.ts +7 -7
  360. package/fontes/modificadores/conteudo.js +29 -29
  361. package/fontes/modificadores/contorno.d.ts +7 -7
  362. package/fontes/modificadores/contorno.js +42 -42
  363. package/fontes/modificadores/contorno.js.map +1 -1
  364. package/fontes/modificadores/coordenadas.d.ts +7 -7
  365. package/fontes/modificadores/coordenadas.js +24 -24
  366. package/fontes/modificadores/coordenadas.js.map +1 -1
  367. package/fontes/modificadores/cor-barra-rolagem.d.ts +7 -7
  368. package/fontes/modificadores/cor-barra-rolagem.js +18 -18
  369. package/fontes/modificadores/cor-borda-direita.d.ts +4 -4
  370. package/fontes/modificadores/cor-borda-direita.js +15 -15
  371. package/fontes/modificadores/cor-borda-em-bloco.d.ts +4 -4
  372. package/fontes/modificadores/cor-borda-em-bloco.js +15 -15
  373. package/fontes/modificadores/cor-borda-em-linha.d.ts +4 -4
  374. package/fontes/modificadores/cor-borda-em-linha.js +15 -15
  375. package/fontes/modificadores/cor-borda-esquerda.d.ts +4 -4
  376. package/fontes/modificadores/cor-borda-esquerda.js +15 -15
  377. package/fontes/modificadores/cor-borda-inferior.d.ts +4 -4
  378. package/fontes/modificadores/cor-borda-inferior.js +15 -15
  379. package/fontes/modificadores/cor-borda-superior.d.ts +4 -4
  380. package/fontes/modificadores/cor-borda-superior.js +15 -15
  381. package/fontes/modificadores/cor-borda.d.ts +4 -4
  382. package/fontes/modificadores/cor-borda.js +17 -17
  383. package/fontes/modificadores/cor-contorno.d.ts +7 -7
  384. package/fontes/modificadores/cor-contorno.js +18 -18
  385. package/fontes/modificadores/cor-cursor.d.ts +7 -7
  386. package/fontes/modificadores/cor-cursor.js +18 -18
  387. package/fontes/modificadores/cor-destaque.d.ts +7 -7
  388. package/fontes/modificadores/cor-destaque.js +18 -18
  389. package/fontes/modificadores/cor-enfase-texto.d.ts +4 -4
  390. package/fontes/modificadores/cor-enfase-texto.js +15 -15
  391. package/fontes/modificadores/cor-fim-borda-em-bloco.d.ts +4 -4
  392. package/fontes/modificadores/cor-fim-borda-em-bloco.js +15 -15
  393. package/fontes/modificadores/cor-fim-borda-em-linha.d.ts +4 -4
  394. package/fontes/modificadores/cor-fim-borda-em-linha.js +15 -15
  395. package/fontes/modificadores/cor-fundo.d.ts +4 -4
  396. package/fontes/modificadores/cor-fundo.js +15 -15
  397. package/fontes/modificadores/cor-inicio-borda-em-bloco.d.ts +4 -4
  398. package/fontes/modificadores/cor-inicio-borda-em-bloco.js +15 -15
  399. package/fontes/modificadores/cor-inicio-borda-em-linha.d.ts +4 -4
  400. package/fontes/modificadores/cor-inicio-borda-em-linha.js +15 -15
  401. package/fontes/modificadores/cor.d.ts +4 -4
  402. package/fontes/modificadores/cor.js +15 -15
  403. package/fontes/modificadores/cursor.d.ts +7 -7
  404. package/fontes/modificadores/cursor.js +54 -54
  405. package/fontes/modificadores/decoracao-cor-texto .d.ts +4 -4
  406. package/fontes/modificadores/decoracao-cor-texto .js +15 -15
  407. package/fontes/modificadores/decoracao-espessura-texto.d.ts +7 -7
  408. package/fontes/modificadores/decoracao-espessura-texto.js +23 -23
  409. package/fontes/modificadores/decoracao-espessura-texto.js.map +1 -1
  410. package/fontes/modificadores/decoracao-estilo-texto.d.ts +7 -7
  411. package/fontes/modificadores/decoracao-estilo-texto.js +24 -24
  412. package/fontes/modificadores/decoracao-linha-texto.d.ts +7 -7
  413. package/fontes/modificadores/decoracao-linha-texto.js +23 -23
  414. package/fontes/modificadores/decoracao-texto-sublinhado.d.ts +7 -7
  415. package/fontes/modificadores/decoracao-texto-sublinhado.js +20 -20
  416. package/fontes/modificadores/decoracao-texto.d.ts +7 -7
  417. package/fontes/modificadores/decoracao-texto.js +42 -42
  418. package/fontes/modificadores/decoracao-texto.js.map +1 -1
  419. package/fontes/modificadores/definir-contador.d.ts +7 -7
  420. package/fontes/modificadores/definir-contador.js +18 -18
  421. package/fontes/modificadores/design-tabela.d.ts +7 -7
  422. package/fontes/modificadores/design-tabela.js +19 -19
  423. package/fontes/modificadores/deslocamento-em-ancora.d.ts +7 -7
  424. package/fontes/modificadores/deslocamento-em-ancora.js +27 -27
  425. package/fontes/modificadores/deslocamento-em-ancora.js.map +1 -1
  426. package/fontes/modificadores/deslocamento-texto-sublinhado.d.ts +7 -7
  427. package/fontes/modificadores/deslocamento-texto-sublinhado.js +22 -22
  428. package/fontes/modificadores/deslocamento-texto-sublinhado.js.map +1 -1
  429. package/fontes/modificadores/deslocamento.d.ts +7 -7
  430. package/fontes/modificadores/deslocamento.js +25 -25
  431. package/fontes/modificadores/deslocamento.js.map +1 -1
  432. package/fontes/modificadores/deslocar-contorno.d.ts +4 -4
  433. package/fontes/modificadores/deslocar-contorno.js +19 -19
  434. package/fontes/modificadores/deslocar-contorno.js.map +1 -1
  435. package/fontes/modificadores/deslocar-pontuacao.d.ts +7 -7
  436. package/fontes/modificadores/deslocar-pontuacao.js +24 -24
  437. package/fontes/modificadores/dicionario/dicionario-modificadores.d.ts +3 -3
  438. package/fontes/modificadores/dicionario/dicionario-modificadores.js +869 -869
  439. package/fontes/modificadores/dicionario/dicionario-reverso-modificadores.d.ts +3 -3
  440. package/fontes/modificadores/dicionario/dicionario-reverso-modificadores.js +731 -731
  441. package/fontes/modificadores/direcao-animacao.d.ts +7 -7
  442. package/fontes/modificadores/direcao-animacao.js +21 -21
  443. package/fontes/modificadores/direcao.d.ts +7 -7
  444. package/fontes/modificadores/direcao.js +19 -19
  445. package/fontes/modificadores/distancia-deslocamento.d.ts +4 -4
  446. package/fontes/modificadores/distancia-deslocamento.js +21 -21
  447. package/fontes/modificadores/distancia-deslocamento.js.map +1 -1
  448. package/fontes/modificadores/duracao-animacao.d.ts +4 -4
  449. package/fontes/modificadores/duracao-animacao.js +27 -19
  450. package/fontes/modificadores/duracao-animacao.js.map +1 -1
  451. package/fontes/modificadores/duracao-transicao.d.ts +4 -4
  452. package/fontes/modificadores/duracao-transicao.js +19 -19
  453. package/fontes/modificadores/duracao-transicao.js.map +1 -1
  454. package/fontes/modificadores/enfase-texto.d.ts +7 -7
  455. package/fontes/modificadores/enfase-texto.js +31 -31
  456. package/fontes/modificadores/escala.d.ts +7 -7
  457. package/fontes/modificadores/escala.js +22 -22
  458. package/fontes/modificadores/escala.js.map +1 -1
  459. package/fontes/modificadores/espacamento-coluna-em-grade.d.ts +7 -7
  460. package/fontes/modificadores/espacamento-coluna-em-grade.js +22 -22
  461. package/fontes/modificadores/espacamento-coluna-em-grade.js.map +1 -1
  462. package/fontes/modificadores/espacamento-coluna.d.ts +7 -7
  463. package/fontes/modificadores/espacamento-coluna.js +22 -22
  464. package/fontes/modificadores/espacamento-coluna.js.map +1 -1
  465. package/fontes/modificadores/espacamento-em-grade.d.ts +4 -4
  466. package/fontes/modificadores/espacamento-em-grade.js +19 -19
  467. package/fontes/modificadores/espacamento-em-grade.js.map +1 -1
  468. package/fontes/modificadores/espacamento-fonte.d.ts +7 -7
  469. package/fontes/modificadores/espacamento-fonte.js +20 -20
  470. package/fontes/modificadores/espacamento-letras.d.ts +7 -7
  471. package/fontes/modificadores/espacamento-letras.js +24 -24
  472. package/fontes/modificadores/espacamento-letras.js.map +1 -1
  473. package/fontes/modificadores/espacamento-linha-em-grade.d.ts +4 -4
  474. package/fontes/modificadores/espacamento-linha-em-grade.js +19 -19
  475. package/fontes/modificadores/espacamento-linha-em-grade.js.map +1 -1
  476. package/fontes/modificadores/espacamento-linhas.d.ts +4 -4
  477. package/fontes/modificadores/espacamento-linhas.js +19 -19
  478. package/fontes/modificadores/espacamento-linhas.js.map +1 -1
  479. package/fontes/modificadores/espacamento-palavras.d.ts +7 -7
  480. package/fontes/modificadores/espacamento-palavras.js +22 -22
  481. package/fontes/modificadores/espacamento-palavras.js.map +1 -1
  482. package/fontes/modificadores/espacamento.d.ts +4 -4
  483. package/fontes/modificadores/espacamento.js +22 -22
  484. package/fontes/modificadores/espacamento.js.map +1 -1
  485. package/fontes/modificadores/espaco-borda.d.ts +4 -4
  486. package/fontes/modificadores/espaco-borda.js +19 -19
  487. package/fontes/modificadores/espaco-borda.js.map +1 -1
  488. package/fontes/modificadores/espaco-em-branco.d.ts +7 -7
  489. package/fontes/modificadores/espaco-em-branco.js +25 -25
  490. package/fontes/modificadores/espessura-fonte.d.ts +7 -7
  491. package/fontes/modificadores/espessura-fonte.js +22 -22
  492. package/fontes/modificadores/esquema-cor.d.ts +7 -7
  493. package/fontes/modificadores/esquema-cor.js +21 -21
  494. package/fontes/modificadores/estender-borda-imagem.d.ts +4 -4
  495. package/fontes/modificadores/estender-borda-imagem.js +19 -19
  496. package/fontes/modificadores/estender-borda-imagem.js.map +1 -1
  497. package/fontes/modificadores/estender-coluna.d.ts +7 -7
  498. package/fontes/modificadores/estender-coluna.js +19 -19
  499. package/fontes/modificadores/esticar-fonte.d.ts +7 -7
  500. package/fontes/modificadores/esticar-fonte.js +31 -31
  501. package/fontes/modificadores/esticar-fonte.js.map +1 -1
  502. package/fontes/modificadores/estilo-borda-direita.d.ts +4 -4
  503. package/fontes/modificadores/estilo-borda-direita.js +16 -16
  504. package/fontes/modificadores/estilo-borda-em-bloco.d.ts +4 -4
  505. package/fontes/modificadores/estilo-borda-em-bloco.js +16 -16
  506. package/fontes/modificadores/estilo-borda-em-linha.d.ts +4 -4
  507. package/fontes/modificadores/estilo-borda-em-linha.js +16 -16
  508. package/fontes/modificadores/estilo-borda-esquerda.d.ts +4 -4
  509. package/fontes/modificadores/estilo-borda-esquerda.js +16 -16
  510. package/fontes/modificadores/estilo-borda-inferior.d.ts +4 -4
  511. package/fontes/modificadores/estilo-borda-inferior.js +16 -16
  512. package/fontes/modificadores/estilo-borda-superior.d.ts +4 -4
  513. package/fontes/modificadores/estilo-borda-superior.js +16 -16
  514. package/fontes/modificadores/estilo-borda.d.ts +7 -4
  515. package/fontes/modificadores/estilo-borda.js +19 -18
  516. package/fontes/modificadores/estilo-borda.js.map +1 -1
  517. package/fontes/modificadores/estilo-contorno.d.ts +7 -7
  518. package/fontes/modificadores/estilo-contorno.js +19 -19
  519. package/fontes/modificadores/estilo-enfase-texto.d.ts +7 -7
  520. package/fontes/modificadores/estilo-enfase-texto.js +36 -36
  521. package/fontes/modificadores/estilo-fim-borda-em-bloco.d.ts +4 -4
  522. package/fontes/modificadores/estilo-fim-borda-em-bloco.js +16 -16
  523. package/fontes/modificadores/estilo-fim-borda-em-linha.d.ts +4 -4
  524. package/fontes/modificadores/estilo-fim-borda-em-linha.js +16 -16
  525. package/fontes/modificadores/estilo-fonte.d.ts +7 -7
  526. package/fontes/modificadores/estilo-fonte.js +28 -28
  527. package/fontes/modificadores/estilo-inicio-borda-em-bloco.d.ts +4 -4
  528. package/fontes/modificadores/estilo-inicio-borda-em-bloco.js +16 -16
  529. package/fontes/modificadores/estilo-inicio-borda-em-linha.d.ts +4 -4
  530. package/fontes/modificadores/estilo-inicio-borda-em-linha.js +16 -16
  531. package/fontes/modificadores/estilo-lista-imagem.d.ts +7 -7
  532. package/fontes/modificadores/estilo-lista-imagem.js +19 -19
  533. package/fontes/modificadores/estilo-lista-posicao.d.ts +7 -7
  534. package/fontes/modificadores/estilo-lista-posicao.js +19 -19
  535. package/fontes/modificadores/estilo-lista-tipo.d.ts +4 -4
  536. package/fontes/modificadores/estilo-lista-tipo.js +12 -12
  537. package/fontes/modificadores/estilo-lista.d.ts +7 -7
  538. package/fontes/modificadores/estilo-lista.js +30 -30
  539. package/fontes/modificadores/estilo-lista.js.map +1 -1
  540. package/fontes/modificadores/eventos-ponteiro.d.ts +7 -7
  541. package/fontes/modificadores/eventos-ponteiro.js +21 -21
  542. package/fontes/modificadores/exibicao.d.ts +7 -7
  543. package/fontes/modificadores/exibicao.js +53 -53
  544. package/fontes/modificadores/fatiar-borda-mascara.d.ts +7 -7
  545. package/fontes/modificadores/fatiar-borda-mascara.js +26 -26
  546. package/fontes/modificadores/fatiar-borda-mascara.js.map +1 -1
  547. package/fontes/modificadores/fatiar-imagem-borda.d.ts +7 -7
  548. package/fontes/modificadores/fatiar-imagem-borda.js +25 -25
  549. package/fontes/modificadores/fatiar-imagem-borda.js.map +1 -1
  550. package/fontes/modificadores/filtro-fundo.d.ts +7 -7
  551. package/fontes/modificadores/filtro-fundo.js +19 -19
  552. package/fontes/modificadores/filtro.d.ts +7 -7
  553. package/fontes/modificadores/filtro.js +19 -19
  554. package/fontes/modificadores/fim-borda-em-bloco.d.ts +4 -4
  555. package/fontes/modificadores/fim-borda-em-bloco.js +36 -36
  556. package/fontes/modificadores/fim-borda-em-bloco.js.map +1 -1
  557. package/fontes/modificadores/fim-borda-em-linha.d.ts +4 -4
  558. package/fontes/modificadores/fim-borda-em-linha.js +36 -36
  559. package/fontes/modificadores/fim-borda-em-linha.js.map +1 -1
  560. package/fontes/modificadores/fim-coluna-em-grade.d.ts +7 -7
  561. package/fontes/modificadores/fim-coluna-em-grade.js +19 -19
  562. package/fontes/modificadores/fim-linha-em-grade.d.ts +7 -7
  563. package/fontes/modificadores/fim-linha-em-grade.js +20 -20
  564. package/fontes/modificadores/fixar-fundo.d.ts +7 -7
  565. package/fontes/modificadores/fixar-fundo.js +20 -20
  566. package/fontes/modificadores/flex-agrupar.d.ts +7 -7
  567. package/fontes/modificadores/flex-agrupar.js +21 -21
  568. package/fontes/modificadores/flex-comprimento.d.ts +7 -7
  569. package/fontes/modificadores/flex-comprimento.js +30 -30
  570. package/fontes/modificadores/flex-comprimento.js.map +1 -1
  571. package/fontes/modificadores/flex-crescimento.d.ts +4 -4
  572. package/fontes/modificadores/flex-crescimento.js +16 -16
  573. package/fontes/modificadores/flex-direcao.d.ts +7 -7
  574. package/fontes/modificadores/flex-direcao.js +21 -21
  575. package/fontes/modificadores/flex-fluxo.d.ts +7 -7
  576. package/fontes/modificadores/flex-fluxo.js +27 -27
  577. package/fontes/modificadores/flex-reduzir.d.ts +4 -4
  578. package/fontes/modificadores/flex-reduzir.js +16 -16
  579. package/fontes/modificadores/flex.d.ts +7 -7
  580. package/fontes/modificadores/flex.js +32 -32
  581. package/fontes/modificadores/flex.js.map +1 -1
  582. package/fontes/modificadores/flutuar.d.ts +7 -7
  583. package/fontes/modificadores/flutuar.js +23 -23
  584. package/fontes/modificadores/fluxo-em-grade.d.ts +7 -7
  585. package/fontes/modificadores/fluxo-em-grade.js +20 -20
  586. package/fontes/modificadores/fluxo.d.ts +7 -7
  587. package/fontes/modificadores/fluxo.js +24 -24
  588. package/fontes/modificadores/fonte-texto.d.ts +7 -7
  589. package/fontes/modificadores/fonte-texto.js +38 -38
  590. package/fontes/modificadores/fonte.d.ts +7 -7
  591. package/fontes/modificadores/fonte.js +63 -63
  592. package/fontes/modificadores/fonte.js.map +1 -1
  593. package/fontes/modificadores/forma-externa.d.ts +7 -7
  594. package/fontes/modificadores/forma-externa.js +24 -24
  595. package/fontes/modificadores/forma-margem.d.ts +4 -4
  596. package/fontes/modificadores/forma-margem.js +19 -19
  597. package/fontes/modificadores/forma-margem.js.map +1 -1
  598. package/fontes/modificadores/fundo.d.ts +7 -7
  599. package/fontes/modificadores/fundo.js +62 -62
  600. package/fontes/modificadores/fundo.js.map +1 -1
  601. package/fontes/modificadores/girar.d.ts +7 -7
  602. package/fontes/modificadores/girar.js +23 -23
  603. package/fontes/modificadores/girar.js.map +1 -1
  604. package/fontes/modificadores/grade.d.ts +7 -7
  605. package/fontes/modificadores/grade.js +32 -32
  606. package/fontes/modificadores/hifens.d.ts +7 -7
  607. package/fontes/modificadores/hifens.js +20 -20
  608. package/fontes/modificadores/imagem-borda.d.ts +7 -7
  609. package/fontes/modificadores/imagem-borda.js +19 -19
  610. package/fontes/modificadores/imagem-fundo.d.ts +8 -8
  611. package/fontes/modificadores/imagem-fundo.js +26 -26
  612. package/fontes/modificadores/imagem-fundo.js.map +1 -1
  613. package/fontes/modificadores/imagem-mascara.d.ts +7 -7
  614. package/fontes/modificadores/imagem-mascara.js +22 -22
  615. package/fontes/modificadores/impressao-ajuste-cor.d.ts +7 -7
  616. package/fontes/modificadores/impressao-ajuste-cor.js +19 -19
  617. package/fontes/modificadores/incrementar-contador.d.ts +7 -7
  618. package/fontes/modificadores/incrementar-contador.js +23 -23
  619. package/fontes/modificadores/indentacao-texto.d.ts +7 -7
  620. package/fontes/modificadores/indentacao-texto.js +23 -23
  621. package/fontes/modificadores/indentacao-texto.js.map +1 -1
  622. package/fontes/modificadores/index.d.ts +364 -364
  623. package/fontes/modificadores/index.js +380 -380
  624. package/fontes/modificadores/indice-z.d.ts +7 -7
  625. package/fontes/modificadores/indice-z.js +18 -18
  626. package/fontes/modificadores/inicio-borda-em-bloco.d.ts +4 -4
  627. package/fontes/modificadores/inicio-borda-em-bloco.js +36 -36
  628. package/fontes/modificadores/inicio-borda-em-bloco.js.map +1 -1
  629. package/fontes/modificadores/inicio-borda-em-linha.d.ts +4 -4
  630. package/fontes/modificadores/inicio-borda-em-linha.js +36 -36
  631. package/fontes/modificadores/inicio-borda-em-linha.js.map +1 -1
  632. package/fontes/modificadores/inicio-borda-mascara.d.ts +4 -4
  633. package/fontes/modificadores/inicio-borda-mascara.js +22 -22
  634. package/fontes/modificadores/inicio-borda-mascara.js.map +1 -1
  635. package/fontes/modificadores/inicio-coluna-em-grade.d.ts +7 -7
  636. package/fontes/modificadores/inicio-coluna-em-grade.js +19 -19
  637. package/fontes/modificadores/inicio-insercao-em-bloco.d.ts +7 -7
  638. package/fontes/modificadores/inicio-insercao-em-bloco.js +22 -22
  639. package/fontes/modificadores/inicio-insercao-em-bloco.js.map +1 -1
  640. package/fontes/modificadores/inicio-insercao-em-linha.d.ts +7 -7
  641. package/fontes/modificadores/inicio-insercao-em-linha.js +22 -22
  642. package/fontes/modificadores/inicio-insercao-em-linha.js.map +1 -1
  643. package/fontes/modificadores/inicio-linha-em-grade.d.ts +7 -7
  644. package/fontes/modificadores/inicio-linha-em-grade.js +19 -19
  645. package/fontes/modificadores/inicio-margem-em-bloco.d.ts +7 -7
  646. package/fontes/modificadores/inicio-margem-em-bloco.js +22 -22
  647. package/fontes/modificadores/inicio-margem-em-bloco.js.map +1 -1
  648. package/fontes/modificadores/inicio-margem-em-linha.d.ts +7 -7
  649. package/fontes/modificadores/inicio-margem-em-linha.js +22 -22
  650. package/fontes/modificadores/inicio-margem-em-linha.js.map +1 -1
  651. package/fontes/modificadores/inicio-recuo-em-bloco.d.ts +4 -4
  652. package/fontes/modificadores/inicio-recuo-em-bloco.js +19 -19
  653. package/fontes/modificadores/inicio-recuo-em-bloco.js.map +1 -1
  654. package/fontes/modificadores/inicio-recuo-em-linha.d.ts +4 -4
  655. package/fontes/modificadores/inicio-recuo-em-linha.js +19 -19
  656. package/fontes/modificadores/inicio-recuo-em-linha.js.map +1 -1
  657. package/fontes/modificadores/insercao-em-bloco-fim.d.ts +7 -7
  658. package/fontes/modificadores/insercao-em-bloco-fim.js +22 -22
  659. package/fontes/modificadores/insercao-em-bloco-fim.js.map +1 -1
  660. package/fontes/modificadores/insercao-em-bloco.d.ts +7 -7
  661. package/fontes/modificadores/insercao-em-bloco.js +24 -24
  662. package/fontes/modificadores/insercao-em-bloco.js.map +1 -1
  663. package/fontes/modificadores/insercao-em-linha-fim.d.ts +7 -7
  664. package/fontes/modificadores/insercao-em-linha-fim.js +22 -22
  665. package/fontes/modificadores/insercao-em-linha-fim.js.map +1 -1
  666. package/fontes/modificadores/insercao-em-linha.d.ts +7 -7
  667. package/fontes/modificadores/insercao-em-linha.js +24 -24
  668. package/fontes/modificadores/insercao-em-linha.js.map +1 -1
  669. package/fontes/modificadores/insercao.d.ts +7 -7
  670. package/fontes/modificadores/insercao.js +24 -24
  671. package/fontes/modificadores/insercao.js.map +1 -1
  672. package/fontes/modificadores/isolamento.d.ts +7 -7
  673. package/fontes/modificadores/isolamento.js +19 -19
  674. package/fontes/modificadores/justificar-conteudo.d.ts +7 -7
  675. package/fontes/modificadores/justificar-conteudo.js +36 -36
  676. package/fontes/modificadores/justificar-itens.d.ts +7 -7
  677. package/fontes/modificadores/justificar-itens.js +32 -32
  678. package/fontes/modificadores/justificar-se.d.ts +7 -7
  679. package/fontes/modificadores/justificar-se.js +32 -32
  680. package/fontes/modificadores/justificar-texto.d.ts +7 -7
  681. package/fontes/modificadores/justificar-texto.js +22 -22
  682. package/fontes/modificadores/largura-barra-rolagem.d.ts +7 -7
  683. package/fontes/modificadores/largura-barra-rolagem.js +20 -20
  684. package/fontes/modificadores/largura-borda-direita.d.ts +7 -7
  685. package/fontes/modificadores/largura-borda-direita.js +25 -25
  686. package/fontes/modificadores/largura-borda-direita.js.map +1 -1
  687. package/fontes/modificadores/largura-borda-em-bloco.d.ts +7 -7
  688. package/fontes/modificadores/largura-borda-em-bloco.js +25 -25
  689. package/fontes/modificadores/largura-borda-em-bloco.js.map +1 -1
  690. package/fontes/modificadores/largura-borda-em-linha.d.ts +7 -7
  691. package/fontes/modificadores/largura-borda-em-linha.js +25 -25
  692. package/fontes/modificadores/largura-borda-em-linha.js.map +1 -1
  693. package/fontes/modificadores/largura-borda-esquerda.d.ts +7 -7
  694. package/fontes/modificadores/largura-borda-esquerda.js +25 -25
  695. package/fontes/modificadores/largura-borda-esquerda.js.map +1 -1
  696. package/fontes/modificadores/largura-borda-inferior.d.ts +7 -7
  697. package/fontes/modificadores/largura-borda-inferior.js +25 -25
  698. package/fontes/modificadores/largura-borda-inferior.js.map +1 -1
  699. package/fontes/modificadores/largura-borda-mascara.d.ts +7 -7
  700. package/fontes/modificadores/largura-borda-mascara.js +25 -25
  701. package/fontes/modificadores/largura-borda-mascara.js.map +1 -1
  702. package/fontes/modificadores/largura-borda-superior.d.ts +7 -7
  703. package/fontes/modificadores/largura-borda-superior.js +26 -26
  704. package/fontes/modificadores/largura-borda-superior.js.map +1 -1
  705. package/fontes/modificadores/largura-borda.d.ts +7 -7
  706. package/fontes/modificadores/largura-borda.js +25 -25
  707. package/fontes/modificadores/largura-borda.js.map +1 -1
  708. package/fontes/modificadores/largura-coluna.d.ts +7 -7
  709. package/fontes/modificadores/largura-coluna.js +22 -22
  710. package/fontes/modificadores/largura-coluna.js.map +1 -1
  711. package/fontes/modificadores/largura-contorno.d.ts +7 -7
  712. package/fontes/modificadores/largura-contorno.js +25 -25
  713. package/fontes/modificadores/largura-contorno.js.map +1 -1
  714. package/fontes/modificadores/largura-fim-borda-em-bloco.d.ts +7 -7
  715. package/fontes/modificadores/largura-fim-borda-em-bloco.js +25 -25
  716. package/fontes/modificadores/largura-fim-borda-em-bloco.js.map +1 -1
  717. package/fontes/modificadores/largura-fim-borda-em-linha.d.ts +7 -7
  718. package/fontes/modificadores/largura-fim-borda-em-linha.js +25 -25
  719. package/fontes/modificadores/largura-fim-borda-em-linha.js.map +1 -1
  720. package/fontes/modificadores/largura-imagem-borda.d.ts +7 -7
  721. package/fontes/modificadores/largura-imagem-borda.js +25 -25
  722. package/fontes/modificadores/largura-imagem-borda.js.map +1 -1
  723. package/fontes/modificadores/largura-inicio-borda-em-bloco.d.ts +7 -7
  724. package/fontes/modificadores/largura-inicio-borda-em-bloco.js +25 -25
  725. package/fontes/modificadores/largura-inicio-borda-em-bloco.js.map +1 -1
  726. package/fontes/modificadores/largura-inicio-borda-em-linha.d.ts +7 -7
  727. package/fontes/modificadores/largura-inicio-borda-em-linha.js +25 -25
  728. package/fontes/modificadores/largura-inicio-borda-em-linha.js.map +1 -1
  729. package/fontes/modificadores/largura-maxima.d.ts +7 -7
  730. package/fontes/modificadores/largura-maxima.js +27 -27
  731. package/fontes/modificadores/largura-maxima.js.map +1 -1
  732. package/fontes/modificadores/largura-minima.d.ts +7 -7
  733. package/fontes/modificadores/largura-minima.js +27 -27
  734. package/fontes/modificadores/largura-minima.js.map +1 -1
  735. package/fontes/modificadores/largura.d.ts +7 -7
  736. package/fontes/modificadores/largura.js +27 -27
  737. package/fontes/modificadores/largura.js.map +1 -1
  738. package/fontes/modificadores/limite-forma-imagem.d.ts +4 -4
  739. package/fontes/modificadores/limite-forma-imagem.js +20 -20
  740. package/fontes/modificadores/limite-forma-imagem.js.map +1 -1
  741. package/fontes/modificadores/linha-em-grade.d.ts +7 -7
  742. package/fontes/modificadores/linha-em-grade.js +26 -20
  743. package/fontes/modificadores/linha-em-grade.js.map +1 -1
  744. package/fontes/modificadores/linhas-inferiores.d.ts +4 -4
  745. package/fontes/modificadores/linhas-inferiores.js +16 -16
  746. package/fontes/modificadores/linhas-superiores.d.ts +4 -4
  747. package/fontes/modificadores/linhas-superiores.js +16 -16
  748. package/fontes/modificadores/margem-direita-rolagem-mouse.d.ts +4 -4
  749. package/fontes/modificadores/margem-direita-rolagem-mouse.js +19 -19
  750. package/fontes/modificadores/margem-direita-rolagem-mouse.js.map +1 -1
  751. package/fontes/modificadores/margem-direita.d.ts +7 -7
  752. package/fontes/modificadores/margem-direita.js +22 -22
  753. package/fontes/modificadores/margem-direita.js.map +1 -1
  754. package/fontes/modificadores/margem-em-bloco-fim.d.ts +7 -7
  755. package/fontes/modificadores/margem-em-bloco-fim.js +22 -22
  756. package/fontes/modificadores/margem-em-bloco-fim.js.map +1 -1
  757. package/fontes/modificadores/margem-em-bloco-rolagem-mouse.d.ts +4 -4
  758. package/fontes/modificadores/margem-em-bloco-rolagem-mouse.js +21 -21
  759. package/fontes/modificadores/margem-em-bloco-rolagem-mouse.js.map +1 -1
  760. package/fontes/modificadores/margem-em-bloco.d.ts +7 -7
  761. package/fontes/modificadores/margem-em-bloco.js +24 -24
  762. package/fontes/modificadores/margem-em-bloco.js.map +1 -1
  763. package/fontes/modificadores/margem-em-linha-fim.d.ts +7 -7
  764. package/fontes/modificadores/margem-em-linha-fim.js +22 -22
  765. package/fontes/modificadores/margem-em-linha-fim.js.map +1 -1
  766. package/fontes/modificadores/margem-em-linha-rolagem-mouse.d.ts +4 -4
  767. package/fontes/modificadores/margem-em-linha-rolagem-mouse.js +21 -21
  768. package/fontes/modificadores/margem-em-linha-rolagem-mouse.js.map +1 -1
  769. package/fontes/modificadores/margem-em-linha.d.ts +7 -7
  770. package/fontes/modificadores/margem-em-linha.js +24 -24
  771. package/fontes/modificadores/margem-em-linha.js.map +1 -1
  772. package/fontes/modificadores/margem-esquerda-rolagem-mouse.d.ts +4 -4
  773. package/fontes/modificadores/margem-esquerda-rolagem-mouse.js +19 -19
  774. package/fontes/modificadores/margem-esquerda-rolagem-mouse.js.map +1 -1
  775. package/fontes/modificadores/margem-esquerda.d.ts +7 -7
  776. package/fontes/modificadores/margem-esquerda.js +22 -22
  777. package/fontes/modificadores/margem-esquerda.js.map +1 -1
  778. package/fontes/modificadores/margem-inferior-rolagem-mouse.d.ts +4 -4
  779. package/fontes/modificadores/margem-inferior-rolagem-mouse.js +19 -19
  780. package/fontes/modificadores/margem-inferior-rolagem-mouse.js.map +1 -1
  781. package/fontes/modificadores/margem-inferior.d.ts +7 -7
  782. package/fontes/modificadores/margem-inferior.js +22 -22
  783. package/fontes/modificadores/margem-inferior.js.map +1 -1
  784. package/fontes/modificadores/margem-rolagem-mouse.d.ts +4 -4
  785. package/fontes/modificadores/margem-rolagem-mouse.js +21 -21
  786. package/fontes/modificadores/margem-rolagem-mouse.js.map +1 -1
  787. package/fontes/modificadores/margem-superior-rolagem-mouse.d.ts +4 -4
  788. package/fontes/modificadores/margem-superior-rolagem-mouse.js +19 -19
  789. package/fontes/modificadores/margem-superior-rolagem-mouse.js.map +1 -1
  790. package/fontes/modificadores/margem-superior.d.ts +7 -7
  791. package/fontes/modificadores/margem-superior.js +22 -22
  792. package/fontes/modificadores/margem-superior.js.map +1 -1
  793. package/fontes/modificadores/margem.d.ts +7 -7
  794. package/fontes/modificadores/margem.js +24 -24
  795. package/fontes/modificadores/margem.js.map +1 -1
  796. package/fontes/modificadores/mascara.d.ts +7 -7
  797. package/fontes/modificadores/mascara.js +56 -56
  798. package/fontes/modificadores/mesclar-fundo.d.ts +7 -7
  799. package/fontes/modificadores/mesclar-fundo.js +36 -36
  800. package/fontes/modificadores/modelo-colunas-em-grade.d.ts +7 -7
  801. package/fontes/modificadores/modelo-colunas-em-grade.js +30 -30
  802. package/fontes/modificadores/modelo-colunas-em-grade.js.map +1 -1
  803. package/fontes/modificadores/modelo-em-grade.d.ts +7 -7
  804. package/fontes/modificadores/modelo-em-grade.js +35 -35
  805. package/fontes/modificadores/modelo-em-grade.js.map +1 -1
  806. package/fontes/modificadores/modelo-geral-em-grade.d.ts +7 -7
  807. package/fontes/modificadores/modelo-geral-em-grade.js +22 -22
  808. package/fontes/modificadores/modelo-linhas-em-grade.d.ts +7 -7
  809. package/fontes/modificadores/modelo-linhas-em-grade.js +31 -31
  810. package/fontes/modificadores/modelo-linhas-em-grade.js.map +1 -1
  811. package/fontes/modificadores/modo-borda-mascara.d.ts +7 -7
  812. package/fontes/modificadores/modo-borda-mascara.js +20 -20
  813. package/fontes/modificadores/modo-escrita.d.ts +7 -7
  814. package/fontes/modificadores/modo-escrita.js +20 -20
  815. package/fontes/modificadores/modo-mascara.d.ts +7 -7
  816. package/fontes/modificadores/modo-mascara.js +21 -21
  817. package/fontes/modificadores/modo-mescla.d.ts +7 -7
  818. package/fontes/modificadores/modo-mescla.js +37 -37
  819. package/fontes/modificadores/modo-preenchimento-animacao.d.ts +7 -7
  820. package/fontes/modificadores/modo-preenchimento-animacao.js +22 -22
  821. package/fontes/modificadores/nome-animacao.d.ts +7 -7
  822. package/fontes/modificadores/nome-animacao.js +18 -18
  823. package/fontes/modificadores/opacidade.d.ts +4 -4
  824. package/fontes/modificadores/opacidade.js +22 -22
  825. package/fontes/modificadores/opacidade.js.map +1 -1
  826. package/fontes/modificadores/ordem-pintura.d.ts +7 -7
  827. package/fontes/modificadores/ordem-pintura.js +22 -22
  828. package/fontes/modificadores/ordenar.d.ts +4 -4
  829. package/fontes/modificadores/ordenar.js +16 -16
  830. package/fontes/modificadores/orientacao-imagem.d.ts +7 -7
  831. package/fontes/modificadores/orientacao-imagem.js +19 -19
  832. package/fontes/modificadores/orientacao-texto.d.ts +7 -7
  833. package/fontes/modificadores/orientacao-texto.js +24 -24
  834. package/fontes/modificadores/origem-borda-mascara.d.ts +7 -7
  835. package/fontes/modificadores/origem-borda-mascara.js +19 -19
  836. package/fontes/modificadores/origem-fundo.d.ts +7 -7
  837. package/fontes/modificadores/origem-fundo.js +21 -21
  838. package/fontes/modificadores/origem-imagem-borda.d.ts +7 -7
  839. package/fontes/modificadores/origem-imagem-borda.js +19 -19
  840. package/fontes/modificadores/origem-mascara.d.ts +7 -7
  841. package/fontes/modificadores/origem-mascara.js +27 -27
  842. package/fontes/modificadores/origem-perspectiva.d.ts +7 -7
  843. package/fontes/modificadores/origem-perspectiva.js +28 -28
  844. package/fontes/modificadores/origem-perspectiva.js.map +1 -1
  845. package/fontes/modificadores/parar-encaixe-rolagem-mouse.d.ts +7 -7
  846. package/fontes/modificadores/parar-encaixe-rolagem-mouse.js +19 -19
  847. package/fontes/modificadores/perspectiva.d.ts +7 -7
  848. package/fontes/modificadores/perspectiva.js +22 -22
  849. package/fontes/modificadores/perspectiva.js.map +1 -1
  850. package/fontes/modificadores/posicao-deslocamento.d.ts +7 -7
  851. package/fontes/modificadores/posicao-deslocamento.js +24 -24
  852. package/fontes/modificadores/posicao-direita.d.ts +7 -7
  853. package/fontes/modificadores/posicao-direita.js +25 -25
  854. package/fontes/modificadores/posicao-direita.js.map +1 -1
  855. package/fontes/modificadores/posicao-enfase-texto.d.ts +7 -7
  856. package/fontes/modificadores/posicao-enfase-texto.js +21 -21
  857. package/fontes/modificadores/posicao-esquerda.d.ts +7 -7
  858. package/fontes/modificadores/posicao-esquerda.js +22 -22
  859. package/fontes/modificadores/posicao-esquerda.js.map +1 -1
  860. package/fontes/modificadores/posicao-fundo.d.ts +4 -4
  861. package/fontes/modificadores/posicao-fundo.js +30 -30
  862. package/fontes/modificadores/posicao-fundo.js.map +1 -1
  863. package/fontes/modificadores/posicao-horizontal-fundo.d.ts +4 -4
  864. package/fontes/modificadores/posicao-horizontal-fundo.js +20 -20
  865. package/fontes/modificadores/posicao-horizontal-fundo.js.map +1 -1
  866. package/fontes/modificadores/posicao-inferior.d.ts +7 -7
  867. package/fontes/modificadores/posicao-inferior.js +22 -22
  868. package/fontes/modificadores/posicao-inferior.js.map +1 -1
  869. package/fontes/modificadores/posicao-legenda.d.ts +7 -7
  870. package/fontes/modificadores/posicao-legenda.js +25 -25
  871. package/fontes/modificadores/posicao-mascara.d.ts +4 -4
  872. package/fontes/modificadores/posicao-mascara.js +19 -19
  873. package/fontes/modificadores/posicao-objeto.d.ts +4 -4
  874. package/fontes/modificadores/posicao-objeto.js +16 -16
  875. package/fontes/modificadores/posicao-superior.d.ts +7 -7
  876. package/fontes/modificadores/posicao-superior.js +22 -22
  877. package/fontes/modificadores/posicao-superior.js.map +1 -1
  878. package/fontes/modificadores/posicao-texto-sublinhado.d.ts +7 -7
  879. package/fontes/modificadores/posicao-texto-sublinhado.js +22 -22
  880. package/fontes/modificadores/posicao-vertical-fundo.d.ts +4 -4
  881. package/fontes/modificadores/posicao-vertical-fundo.js +20 -20
  882. package/fontes/modificadores/posicao-vertical-fundo.js.map +1 -1
  883. package/fontes/modificadores/posicao.d.ts +7 -7
  884. package/fontes/modificadores/posicao.js +22 -22
  885. package/fontes/modificadores/posicionar-conteudo.d.ts +7 -7
  886. package/fontes/modificadores/posicionar-conteudo.js +37 -37
  887. package/fontes/modificadores/posicionar-itens.d.ts +7 -7
  888. package/fontes/modificadores/posicionar-itens.js +35 -35
  889. package/fontes/modificadores/posicionar-se.d.ts +7 -7
  890. package/fontes/modificadores/posicionar-se.js +35 -35
  891. package/fontes/modificadores/preencher-coluna.d.ts +7 -7
  892. package/fontes/modificadores/preencher-coluna.js +20 -20
  893. package/fontes/modificadores/proporcao-tela.d.ts +7 -7
  894. package/fontes/modificadores/proporcao-tela.js +26 -21
  895. package/fontes/modificadores/proporcao-tela.js.map +1 -1
  896. package/fontes/modificadores/propriedade-transicao.d.ts +7 -7
  897. package/fontes/modificadores/propriedade-transicao.js +19 -19
  898. package/fontes/modificadores/quebra-decoracao-caixa.d.ts +7 -7
  899. package/fontes/modificadores/quebra-decoracao-caixa.js +19 -19
  900. package/fontes/modificadores/quebrar-antes.d.ts +7 -7
  901. package/fontes/modificadores/quebrar-antes.js +35 -35
  902. package/fontes/modificadores/quebrar-apos.d.ts +7 -7
  903. package/fontes/modificadores/quebrar-apos.js +35 -35
  904. package/fontes/modificadores/quebrar-dentro.d.ts +7 -7
  905. package/fontes/modificadores/quebrar-dentro.js +24 -24
  906. package/fontes/modificadores/quebrar-linha.d.ts +7 -7
  907. package/fontes/modificadores/quebrar-linha.js +22 -22
  908. package/fontes/modificadores/quebrar-pagina-antes.d.ts +7 -7
  909. package/fontes/modificadores/quebrar-pagina-antes.js +24 -24
  910. package/fontes/modificadores/quebrar-pagina-apos.d.ts +7 -7
  911. package/fontes/modificadores/quebrar-pagina-apos.js +24 -24
  912. package/fontes/modificadores/quebrar-pagina-dentro.d.ts +7 -7
  913. package/fontes/modificadores/quebrar-pagina-dentro.js +19 -19
  914. package/fontes/modificadores/quebrar-palavra.d.ts +7 -7
  915. package/fontes/modificadores/quebrar-palavra.js +21 -21
  916. package/fontes/modificadores/raio-borda.d.ts +4 -4
  917. package/fontes/modificadores/raio-borda.js +27 -19
  918. package/fontes/modificadores/raio-borda.js.map +1 -1
  919. package/fontes/modificadores/raio-direito-borda-inferior.d.ts +4 -4
  920. package/fontes/modificadores/raio-direito-borda-inferior.js +19 -19
  921. package/fontes/modificadores/raio-direito-borda-inferior.js.map +1 -1
  922. package/fontes/modificadores/raio-direito-borda-superior.d.ts +4 -4
  923. package/fontes/modificadores/raio-direito-borda-superior.js +19 -19
  924. package/fontes/modificadores/raio-direito-borda-superior.js.map +1 -1
  925. package/fontes/modificadores/raio-esquerdo-borda-inferior.d.ts +4 -4
  926. package/fontes/modificadores/raio-esquerdo-borda-inferior.js +19 -19
  927. package/fontes/modificadores/raio-esquerdo-borda-inferior.js.map +1 -1
  928. package/fontes/modificadores/raio-esquerdo-borda-superior.d.ts +4 -4
  929. package/fontes/modificadores/raio-esquerdo-borda-superior.js +19 -19
  930. package/fontes/modificadores/raio-esquerdo-borda-superior.js.map +1 -1
  931. package/fontes/modificadores/recolher-borda.d.ts +7 -7
  932. package/fontes/modificadores/recolher-borda.js +19 -19
  933. package/fontes/modificadores/recortar-fundo.d.ts +7 -7
  934. package/fontes/modificadores/recortar-fundo.js +22 -22
  935. package/fontes/modificadores/recortar-margem-vazada.d.ts +7 -7
  936. package/fontes/modificadores/recortar-margem-vazada.js +23 -23
  937. package/fontes/modificadores/recortar-margem-vazada.js.map +1 -1
  938. package/fontes/modificadores/recortar.d.ts +7 -7
  939. package/fontes/modificadores/recortar.js +18 -18
  940. package/fontes/modificadores/recuo-direito-rolagem-mouse.d.ts +7 -7
  941. package/fontes/modificadores/recuo-direito-rolagem-mouse.js +22 -22
  942. package/fontes/modificadores/recuo-direito-rolagem-mouse.js.map +1 -1
  943. package/fontes/modificadores/recuo-direito.d.ts +4 -4
  944. package/fontes/modificadores/recuo-direito.js +22 -22
  945. package/fontes/modificadores/recuo-direito.js.map +1 -1
  946. package/fontes/modificadores/recuo-em-bloco-fim.d.ts +4 -4
  947. package/fontes/modificadores/recuo-em-bloco-fim.js +19 -19
  948. package/fontes/modificadores/recuo-em-bloco-fim.js.map +1 -1
  949. package/fontes/modificadores/recuo-em-bloco-rolagem-mouse.d.ts +7 -7
  950. package/fontes/modificadores/recuo-em-bloco-rolagem-mouse.js +24 -24
  951. package/fontes/modificadores/recuo-em-bloco-rolagem-mouse.js.map +1 -1
  952. package/fontes/modificadores/recuo-em-bloco.d.ts +4 -4
  953. package/fontes/modificadores/recuo-em-bloco.js +21 -21
  954. package/fontes/modificadores/recuo-em-bloco.js.map +1 -1
  955. package/fontes/modificadores/recuo-em-linha-fim.d.ts +4 -4
  956. package/fontes/modificadores/recuo-em-linha-fim.js +19 -19
  957. package/fontes/modificadores/recuo-em-linha-fim.js.map +1 -1
  958. package/fontes/modificadores/recuo-em-linha-rolagem-mouse.d.ts +7 -7
  959. package/fontes/modificadores/recuo-em-linha-rolagem-mouse.js +24 -24
  960. package/fontes/modificadores/recuo-em-linha-rolagem-mouse.js.map +1 -1
  961. package/fontes/modificadores/recuo-em-linha.d.ts +4 -4
  962. package/fontes/modificadores/recuo-em-linha.js +21 -21
  963. package/fontes/modificadores/recuo-em-linha.js.map +1 -1
  964. package/fontes/modificadores/recuo-esquerdo-rolagem-mouse.d.ts +7 -7
  965. package/fontes/modificadores/recuo-esquerdo-rolagem-mouse.js +22 -22
  966. package/fontes/modificadores/recuo-esquerdo-rolagem-mouse.js.map +1 -1
  967. package/fontes/modificadores/recuo-esquerdo.d.ts +4 -4
  968. package/fontes/modificadores/recuo-esquerdo.js +22 -22
  969. package/fontes/modificadores/recuo-esquerdo.js.map +1 -1
  970. package/fontes/modificadores/recuo-inferior-rolagem-mouse.d.ts +7 -7
  971. package/fontes/modificadores/recuo-inferior-rolagem-mouse.js +22 -22
  972. package/fontes/modificadores/recuo-inferior-rolagem-mouse.js.map +1 -1
  973. package/fontes/modificadores/recuo-inferior.d.ts +4 -4
  974. package/fontes/modificadores/recuo-inferior.js +22 -22
  975. package/fontes/modificadores/recuo-inferior.js.map +1 -1
  976. package/fontes/modificadores/recuo-rolagem-mouse.d.ts +7 -7
  977. package/fontes/modificadores/recuo-rolagem-mouse.js +24 -24
  978. package/fontes/modificadores/recuo-rolagem-mouse.js.map +1 -1
  979. package/fontes/modificadores/recuo-superior-rolagem-mouse.d.ts +7 -7
  980. package/fontes/modificadores/recuo-superior-rolagem-mouse.js +22 -22
  981. package/fontes/modificadores/recuo-superior-rolagem-mouse.js.map +1 -1
  982. package/fontes/modificadores/recuo-superior.d.ts +4 -4
  983. package/fontes/modificadores/recuo-superior.js +22 -22
  984. package/fontes/modificadores/recuo-superior.js.map +1 -1
  985. package/fontes/modificadores/recuo.d.ts +4 -4
  986. package/fontes/modificadores/recuo.js +21 -21
  987. package/fontes/modificadores/recuo.js.map +1 -1
  988. package/fontes/modificadores/recursos-fonte.d.ts +7 -7
  989. package/fontes/modificadores/recursos-fonte.js +18 -18
  990. package/fontes/modificadores/redimensionar.d.ts +7 -7
  991. package/fontes/modificadores/redimensionar.js +23 -23
  992. package/fontes/modificadores/regras-coluna.d.ts +7 -7
  993. package/fontes/modificadores/regras-coluna.js +42 -42
  994. package/fontes/modificadores/regras-coluna.js.map +1 -1
  995. package/fontes/modificadores/regras-cor-coluna.d.ts +4 -4
  996. package/fontes/modificadores/regras-cor-coluna.js +15 -15
  997. package/fontes/modificadores/regras-estilo-coluna.d.ts +4 -4
  998. package/fontes/modificadores/regras-estilo-coluna.js +16 -16
  999. package/fontes/modificadores/regras-largura-coluna.d.ts +7 -7
  1000. package/fontes/modificadores/regras-largura-coluna.js +25 -25
  1001. package/fontes/modificadores/regras-largura-coluna.js.map +1 -1
  1002. package/fontes/modificadores/reiniciar-contador.d.ts +7 -7
  1003. package/fontes/modificadores/reiniciar-contador.js +26 -26
  1004. package/fontes/modificadores/reiniciar-tudo.d.ts +4 -4
  1005. package/fontes/modificadores/reiniciar-tudo.js +18 -18
  1006. package/fontes/modificadores/reiniciar-tudo.js.map +1 -1
  1007. package/fontes/modificadores/renderizacao-imagem.d.ts +7 -7
  1008. package/fontes/modificadores/renderizacao-imagem.js +21 -21
  1009. package/fontes/modificadores/renderizacao-texto.d.ts +7 -7
  1010. package/fontes/modificadores/renderizacao-texto.js +24 -24
  1011. package/fontes/modificadores/repeticao-borda-mascara.d.ts +7 -7
  1012. package/fontes/modificadores/repeticao-borda-mascara.js +22 -22
  1013. package/fontes/modificadores/repetir-animacao.d.ts +7 -7
  1014. package/fontes/modificadores/repetir-animacao.js +19 -19
  1015. package/fontes/modificadores/repetir-fundo.d.ts +7 -7
  1016. package/fontes/modificadores/repetir-fundo.js +25 -25
  1017. package/fontes/modificadores/repetir-imagem-borda.d.ts +7 -7
  1018. package/fontes/modificadores/repetir-imagem-borda.js +22 -22
  1019. package/fontes/modificadores/repetir-mascara.d.ts +7 -7
  1020. package/fontes/modificadores/repetir-mascara.js +25 -25
  1021. package/fontes/modificadores/rotacao-deslocamento.d.ts +7 -7
  1022. package/fontes/modificadores/rotacao-deslocamento.js +24 -24
  1023. package/fontes/modificadores/rotacao-deslocamento.js.map +1 -1
  1024. package/fontes/modificadores/selecao-usuario.d.ts +7 -7
  1025. package/fontes/modificadores/selecao-usuario.js +23 -23
  1026. package/fontes/modificadores/sintetizar-fonte.d.ts +7 -7
  1027. package/fontes/modificadores/sintetizar-fonte.js +25 -25
  1028. package/fontes/modificadores/sombra-caixa.d.ts +7 -7
  1029. package/fontes/modificadores/sombra-caixa.js +36 -36
  1030. package/fontes/modificadores/sombra-caixa.js.map +1 -1
  1031. package/fontes/modificadores/sombra-texto.d.ts +4 -4
  1032. package/fontes/modificadores/sombra-texto.js +21 -21
  1033. package/fontes/modificadores/sombra-texto.js.map +1 -1
  1034. package/fontes/modificadores/status-animacao.d.ts +7 -7
  1035. package/fontes/modificadores/status-animacao.js +19 -19
  1036. package/fontes/modificadores/substituir-idioma-fonte.d.ts +7 -7
  1037. package/fontes/modificadores/substituir-idioma-fonte.js +18 -18
  1038. package/fontes/modificadores/superclasse/index.d.ts +3 -3
  1039. package/fontes/modificadores/superclasse/index.js +19 -19
  1040. package/fontes/modificadores/superclasse/modificador.d.ts +11 -11
  1041. package/fontes/modificadores/superclasse/modificador.js +11 -11
  1042. package/fontes/modificadores/superclasse/pragmas-modificador.d.ts +5 -5
  1043. package/fontes/modificadores/superclasse/pragmas-modificador.js +2 -2
  1044. package/fontes/modificadores/superclasse/seletor-modificador.d.ts +4 -4
  1045. package/fontes/modificadores/superclasse/seletor-modificador.js +14 -14
  1046. package/fontes/modificadores/superclasse/seletor-modificador.js.map +1 -1
  1047. package/fontes/modificadores/superclasse/seletor-reverso-modificador.d.ts +5 -5
  1048. package/fontes/modificadores/superclasse/seletor-reverso-modificador.js +14 -14
  1049. package/fontes/modificadores/superclasse/seletor-reverso-modificador.js.map +1 -1
  1050. package/fontes/modificadores/tabulacao.d.ts +4 -4
  1051. package/fontes/modificadores/tabulacao.js +22 -22
  1052. package/fontes/modificadores/tabulacao.js.map +1 -1
  1053. package/fontes/modificadores/tamanho-caixa.d.ts +7 -7
  1054. package/fontes/modificadores/tamanho-caixa.js +20 -20
  1055. package/fontes/modificadores/tamanho-colunas-em-grade.d.ts +7 -7
  1056. package/fontes/modificadores/tamanho-colunas-em-grade.js +28 -28
  1057. package/fontes/modificadores/tamanho-colunas-em-grade.js.map +1 -1
  1058. package/fontes/modificadores/tamanho-em-bloco.d.ts +7 -7
  1059. package/fontes/modificadores/tamanho-em-bloco.js +26 -26
  1060. package/fontes/modificadores/tamanho-em-bloco.js.map +1 -1
  1061. package/fontes/modificadores/tamanho-em-linha.d.ts +7 -7
  1062. package/fontes/modificadores/tamanho-em-linha.js +27 -27
  1063. package/fontes/modificadores/tamanho-em-linha.js.map +1 -1
  1064. package/fontes/modificadores/tamanho-fonte.d.ts +7 -7
  1065. package/fontes/modificadores/tamanho-fonte.js +32 -32
  1066. package/fontes/modificadores/tamanho-fonte.js.map +1 -1
  1067. package/fontes/modificadores/tamanho-fundo.d.ts +7 -7
  1068. package/fontes/modificadores/tamanho-fundo.js +24 -24
  1069. package/fontes/modificadores/tamanho-fundo.js.map +1 -1
  1070. package/fontes/modificadores/tamanho-grade.d.ts +7 -7
  1071. package/fontes/modificadores/tamanho-grade.js +26 -20
  1072. package/fontes/modificadores/tamanho-grade.js.map +1 -1
  1073. package/fontes/modificadores/tamanho-linhas-em-grade.d.ts +7 -7
  1074. package/fontes/modificadores/tamanho-linhas-em-grade.js +28 -28
  1075. package/fontes/modificadores/tamanho-linhas-em-grade.js.map +1 -1
  1076. package/fontes/modificadores/tamanho-mascara.d.ts +7 -7
  1077. package/fontes/modificadores/tamanho-mascara.js +24 -24
  1078. package/fontes/modificadores/tamanho-mascara.js.map +1 -1
  1079. package/fontes/modificadores/tamanho-maximo-em-bloco.d.ts +7 -7
  1080. package/fontes/modificadores/tamanho-maximo-em-bloco.js +27 -27
  1081. package/fontes/modificadores/tamanho-maximo-em-bloco.js.map +1 -1
  1082. package/fontes/modificadores/tamanho-maximo-em-linha.d.ts +7 -7
  1083. package/fontes/modificadores/tamanho-maximo-em-linha.js +27 -27
  1084. package/fontes/modificadores/tamanho-maximo-em-linha.js.map +1 -1
  1085. package/fontes/modificadores/tamanho-minimo-em-bloco.d.ts +7 -7
  1086. package/fontes/modificadores/tamanho-minimo-em-bloco.js +27 -27
  1087. package/fontes/modificadores/tamanho-minimo-em-bloco.js.map +1 -1
  1088. package/fontes/modificadores/tamanho-minimo-em-linha.d.ts +7 -7
  1089. package/fontes/modificadores/tamanho-minimo-em-linha.js +27 -27
  1090. package/fontes/modificadores/tamanho-minimo-em-linha.js.map +1 -1
  1091. package/fontes/modificadores/tamanho-optico-fonte.d.ts +7 -7
  1092. package/fontes/modificadores/tamanho-optico-fonte.js +19 -19
  1093. package/fontes/modificadores/tempo-transicao.d.ts +7 -7
  1094. package/fontes/modificadores/tempo-transicao.js +33 -33
  1095. package/fontes/modificadores/texto-bidirecional.d.ts +7 -7
  1096. package/fontes/modificadores/texto-bidirecional.js +23 -23
  1097. package/fontes/modificadores/tipo-encaixe-rolagem-mouse.d.ts +7 -7
  1098. package/fontes/modificadores/tipo-encaixe-rolagem-mouse.js +26 -26
  1099. package/fontes/modificadores/tipo-mascara.d.ts +7 -7
  1100. package/fontes/modificadores/tipo-mascara.js +20 -20
  1101. package/fontes/modificadores/toque-tela.d.ts +7 -7
  1102. package/fontes/modificadores/toque-tela.js +29 -29
  1103. package/fontes/modificadores/trajeto-deslocamento.d.ts +7 -7
  1104. package/fontes/modificadores/trajeto-deslocamento.js +21 -21
  1105. package/fontes/modificadores/transformar-caixa.d.ts +7 -7
  1106. package/fontes/modificadores/transformar-caixa.js +23 -23
  1107. package/fontes/modificadores/transformar-estilo.d.ts +7 -7
  1108. package/fontes/modificadores/transformar-estilo.js +20 -20
  1109. package/fontes/modificadores/transformar-origem.d.ts +4 -4
  1110. package/fontes/modificadores/transformar-origem.js +21 -21
  1111. package/fontes/modificadores/transformar-origem.js.map +1 -1
  1112. package/fontes/modificadores/transformar-texto.d.ts +7 -7
  1113. package/fontes/modificadores/transformar-texto.js +25 -25
  1114. package/fontes/modificadores/transformar.d.ts +7 -7
  1115. package/fontes/modificadores/transformar.js +19 -19
  1116. package/fontes/modificadores/transicao.d.ts +7 -7
  1117. package/fontes/modificadores/transicao.js +35 -35
  1118. package/fontes/modificadores/transicao.js.map +1 -1
  1119. package/fontes/modificadores/validacoes/comum.d.ts +3 -3
  1120. package/fontes/modificadores/validacoes/comum.js +25 -26
  1121. package/fontes/modificadores/validacoes/comum.js.map +1 -1
  1122. package/fontes/modificadores/validacoes/condicao-extra.d.ts +5 -5
  1123. package/fontes/modificadores/validacoes/condicao-extra.js +19 -20
  1124. package/fontes/modificadores/validacoes/condicao-extra.js.map +1 -1
  1125. package/fontes/modificadores/validacoes/cor.d.ts +6 -6
  1126. package/fontes/modificadores/validacoes/cor.js +46 -47
  1127. package/fontes/modificadores/validacoes/cor.js.map +1 -1
  1128. package/fontes/modificadores/validacoes/numerica.d.ts +3 -3
  1129. package/fontes/modificadores/validacoes/numerica.js +33 -34
  1130. package/fontes/modificadores/validacoes/numerica.js.map +1 -1
  1131. package/fontes/modificadores/validacoes/proibir-quantificador.d.ts +1 -1
  1132. package/fontes/modificadores/validacoes/proibir-quantificador.js +8 -9
  1133. package/fontes/modificadores/validacoes/proibir-quantificador.js.map +1 -1
  1134. package/fontes/modificadores/validacoes/quantificador.d.ts +3 -3
  1135. package/fontes/modificadores/validacoes/quantificador.js +18 -19
  1136. package/fontes/modificadores/validacoes/quantificador.js.map +1 -1
  1137. package/fontes/modificadores/variacao-fonte-alternativa.d.ts +7 -7
  1138. package/fontes/modificadores/variacao-fonte-alternativa.js +20 -20
  1139. package/fontes/modificadores/variacao-fonte-asiatica.d.ts +7 -7
  1140. package/fontes/modificadores/variacao-fonte-asiatica.js +29 -29
  1141. package/fontes/modificadores/variacao-fonte-ligacao.d.ts +7 -7
  1142. package/fontes/modificadores/variacao-fonte-ligacao.js +34 -34
  1143. package/fontes/modificadores/variacao-fonte-maiuscula.d.ts +7 -7
  1144. package/fontes/modificadores/variacao-fonte-maiuscula.js +29 -29
  1145. package/fontes/modificadores/variacao-fonte-numerica.d.ts +7 -7
  1146. package/fontes/modificadores/variacao-fonte-numerica.js +32 -32
  1147. package/fontes/modificadores/variacao-fonte-posicao.d.ts +7 -7
  1148. package/fontes/modificadores/variacao-fonte-posicao.js +20 -20
  1149. package/fontes/modificadores/variacao-fonte.d.ts +7 -7
  1150. package/fontes/modificadores/variacao-fonte.js +75 -75
  1151. package/fontes/modificadores/vazamento-em-ancora.d.ts +7 -7
  1152. package/fontes/modificadores/vazamento-em-ancora.js +19 -19
  1153. package/fontes/modificadores/vazamento-em-bloco.d.ts +7 -7
  1154. package/fontes/modificadores/vazamento-em-bloco.js +23 -23
  1155. package/fontes/modificadores/vazamento-em-linha.d.ts +7 -7
  1156. package/fontes/modificadores/vazamento-em-linha.js +23 -23
  1157. package/fontes/modificadores/vazamento-horizontal.d.ts +7 -7
  1158. package/fontes/modificadores/vazamento-horizontal.js +23 -23
  1159. package/fontes/modificadores/vazamento-texto.d.ts +7 -7
  1160. package/fontes/modificadores/vazamento-texto.js +19 -19
  1161. package/fontes/modificadores/vazamento-vertical.d.ts +7 -7
  1162. package/fontes/modificadores/vazamento-vertical.js +23 -23
  1163. package/fontes/modificadores/vazamento.d.ts +7 -7
  1164. package/fontes/modificadores/vazamento.js +25 -25
  1165. package/fontes/modificadores/velocidade-animacao.d.ts +7 -7
  1166. package/fontes/modificadores/velocidade-animacao.js +34 -34
  1167. package/fontes/modificadores/visibilidade-conteudo.d.ts +7 -7
  1168. package/fontes/modificadores/visibilidade-conteudo.js +21 -21
  1169. package/fontes/modificadores/visibilidade-fundo.d.ts +7 -7
  1170. package/fontes/modificadores/visibilidade-fundo.js +20 -20
  1171. package/fontes/modificadores/visibilidade.d.ts +7 -7
  1172. package/fontes/modificadores/visibilidade.js +21 -21
  1173. package/fontes/pseudoclasses/alvo-destaque.d.ts +4 -4
  1174. package/fontes/pseudoclasses/alvo-destaque.js +10 -10
  1175. package/fontes/pseudoclasses/ativo.d.ts +4 -4
  1176. package/fontes/pseudoclasses/ativo.js +10 -10
  1177. package/fontes/pseudoclasses/atual.d.ts +4 -4
  1178. package/fontes/pseudoclasses/atual.js +10 -10
  1179. package/fontes/pseudoclasses/dentro-do-limite.d.ts +4 -4
  1180. package/fontes/pseudoclasses/dentro-do-limite.js +10 -10
  1181. package/fontes/pseudoclasses/desabilitado.d.ts +4 -4
  1182. package/fontes/pseudoclasses/desabilitado.js +10 -10
  1183. package/fontes/pseudoclasses/dicionario-pseudoclasses.d.ts +3 -3
  1184. package/fontes/pseudoclasses/dicionario-pseudoclasses.js +100 -100
  1185. package/fontes/pseudoclasses/dicionario-pseudoclasses.js.map +1 -1
  1186. package/fontes/pseudoclasses/direcao-texto.d.ts +4 -4
  1187. package/fontes/pseudoclasses/direcao-texto.js +10 -10
  1188. package/fontes/pseudoclasses/em-branco.d.ts +4 -4
  1189. package/fontes/pseudoclasses/em-branco.js +10 -10
  1190. package/fontes/pseudoclasses/escopo.d.ts +4 -4
  1191. package/fontes/pseudoclasses/escopo.js +10 -10
  1192. package/fontes/pseudoclasses/estilo-alvo.d.ts +4 -4
  1193. package/fontes/pseudoclasses/estilo-alvo.js +10 -10
  1194. package/fontes/pseudoclasses/estilo-padrao.d.ts +4 -4
  1195. package/fontes/pseudoclasses/estilo-padrao.js +10 -10
  1196. package/fontes/pseudoclasses/estrutura-estilo.d.ts +4 -4
  1197. package/fontes/pseudoclasses/estrutura-estilo.js +10 -10
  1198. package/fontes/pseudoclasses/filho-unico.d.ts +4 -4
  1199. package/fontes/pseudoclasses/filho-unico.js +10 -10
  1200. package/fontes/pseudoclasses/foco-interno.d.ts +4 -4
  1201. package/fontes/pseudoclasses/foco-interno.js +10 -10
  1202. package/fontes/pseudoclasses/foco-visivel.d.ts +4 -4
  1203. package/fontes/pseudoclasses/foco-visivel.js +10 -10
  1204. package/fontes/pseudoclasses/foco.d.ts +4 -4
  1205. package/fontes/pseudoclasses/foco.js +10 -10
  1206. package/fontes/pseudoclasses/fora-do-limite.d.ts +4 -4
  1207. package/fontes/pseudoclasses/fora-do-limite.js +10 -10
  1208. package/fontes/pseudoclasses/futuro.d.ts +4 -4
  1209. package/fontes/pseudoclasses/futuro.js +10 -10
  1210. package/fontes/pseudoclasses/habilitado.d.ts +4 -4
  1211. package/fontes/pseudoclasses/habilitado.js +10 -10
  1212. package/fontes/pseudoclasses/idioma-global.d.ts +4 -4
  1213. package/fontes/pseudoclasses/idioma-global.js +10 -10
  1214. package/fontes/pseudoclasses/indeterminado.d.ts +4 -4
  1215. package/fontes/pseudoclasses/indeterminado.js +10 -10
  1216. package/fontes/pseudoclasses/invalido.d.ts +4 -4
  1217. package/fontes/pseudoclasses/invalido.js +10 -10
  1218. package/fontes/pseudoclasses/ler-escrever.d.ts +4 -4
  1219. package/fontes/pseudoclasses/ler-escrever.js +10 -10
  1220. package/fontes/pseudoclasses/link-local.d.ts +4 -4
  1221. package/fontes/pseudoclasses/link-local.js +10 -10
  1222. package/fontes/pseudoclasses/link.d.ts +4 -4
  1223. package/fontes/pseudoclasses/link.js +10 -10
  1224. package/fontes/pseudoclasses/local-reservado-mostrado.d.ts +4 -4
  1225. package/fontes/pseudoclasses/local-reservado-mostrado.js +10 -10
  1226. package/fontes/pseudoclasses/n-filho.d.ts +4 -4
  1227. package/fontes/pseudoclasses/n-filho.js +10 -10
  1228. package/fontes/pseudoclasses/n-tipo.d.ts +4 -4
  1229. package/fontes/pseudoclasses/n-tipo.js +10 -10
  1230. package/fontes/pseudoclasses/n-ultimo-tipo.d.ts +4 -4
  1231. package/fontes/pseudoclasses/n-ultimo-tipo.js +10 -10
  1232. package/fontes/pseudoclasses/n-/303/272ltimo-filho.d.ts +4 -4
  1233. package/fontes/pseudoclasses/n-/303/272ltimo-filho.js +10 -10
  1234. package/fontes/pseudoclasses/obrigatorio.d.ts +4 -4
  1235. package/fontes/pseudoclasses/obrigatorio.js +10 -10
  1236. package/fontes/pseudoclasses/opcional.d.ts +4 -4
  1237. package/fontes/pseudoclasses/opcional.js +10 -10
  1238. package/fontes/pseudoclasses/passado.d.ts +4 -4
  1239. package/fontes/pseudoclasses/passado.js +10 -10
  1240. package/fontes/pseudoclasses/pausa.d.ts +4 -4
  1241. package/fontes/pseudoclasses/pausa.js +10 -10
  1242. package/fontes/pseudoclasses/primeiro-filho.d.ts +4 -4
  1243. package/fontes/pseudoclasses/primeiro-filho.js +10 -10
  1244. package/fontes/pseudoclasses/primeiro-tipo.d.ts +4 -4
  1245. package/fontes/pseudoclasses/primeiro-tipo.js +10 -10
  1246. package/fontes/pseudoclasses/pseudoclasse.d.ts +11 -11
  1247. package/fontes/pseudoclasses/pseudoclasse.js +11 -11
  1248. package/fontes/pseudoclasses/reproduzir.d.ts +4 -4
  1249. package/fontes/pseudoclasses/reproduzir.js +10 -10
  1250. package/fontes/pseudoclasses/seletor-pseudoclasse.d.ts +4 -4
  1251. package/fontes/pseudoclasses/seletor-pseudoclasse.js +14 -14
  1252. package/fontes/pseudoclasses/seletor-pseudoclasse.js.map +1 -1
  1253. package/fontes/pseudoclasses/sobre.d.ts +4 -4
  1254. package/fontes/pseudoclasses/sobre.js +10 -10
  1255. package/fontes/pseudoclasses/somente-leitura.d.ts +4 -4
  1256. package/fontes/pseudoclasses/somente-leitura.js +10 -10
  1257. package/fontes/pseudoclasses/todo-link.d.ts +4 -4
  1258. package/fontes/pseudoclasses/todo-link.js +10 -10
  1259. package/fontes/pseudoclasses/ultimo-filho.d.ts +4 -4
  1260. package/fontes/pseudoclasses/ultimo-filho.js +10 -10
  1261. package/fontes/pseudoclasses/ultimo-tipo.d.ts +4 -4
  1262. package/fontes/pseudoclasses/ultimo-tipo.js +10 -10
  1263. package/fontes/pseudoclasses/unico-tipo.d.ts +4 -4
  1264. package/fontes/pseudoclasses/unico-tipo.js +10 -10
  1265. package/fontes/pseudoclasses/usuario-invalido.d.ts +4 -4
  1266. package/fontes/pseudoclasses/usuario-invalido.js +10 -10
  1267. package/fontes/pseudoclasses/valido.d.ts +4 -4
  1268. package/fontes/pseudoclasses/valido.js +10 -10
  1269. package/fontes/pseudoclasses/vazio.d.ts +4 -4
  1270. package/fontes/pseudoclasses/vazio.js +10 -10
  1271. package/fontes/pseudoclasses/verificado.d.ts +4 -4
  1272. package/fontes/pseudoclasses/verificado.js +10 -10
  1273. package/fontes/pseudoclasses/visitado.d.ts +4 -4
  1274. package/fontes/pseudoclasses/visitado.js +10 -10
  1275. package/fontes/seletores/index.d.ts +5 -5
  1276. package/fontes/seletores/index.js +21 -21
  1277. package/fontes/seletores/pragmas-seletor.d.ts +5 -5
  1278. package/fontes/seletores/pragmas-seletor.js +2 -2
  1279. package/fontes/seletores/seletor-classe.d.ts +9 -9
  1280. package/fontes/seletores/seletor-classe.js +18 -18
  1281. package/fontes/seletores/seletor-classe.js.map +1 -1
  1282. package/fontes/seletores/seletor-espaco-reservado.d.ts +10 -10
  1283. package/fontes/seletores/seletor-espaco-reservado.js +17 -17
  1284. package/fontes/seletores/seletor-estrutura.d.ts +8 -8
  1285. package/fontes/seletores/seletor-estrutura.js +27 -27
  1286. package/fontes/seletores/seletor-estrutura.js.map +1 -1
  1287. package/fontes/seletores/seletor-id.d.ts +9 -9
  1288. package/fontes/seletores/seletor-id.js +19 -19
  1289. package/fontes/seletores/seletor-id.js.map +1 -1
  1290. package/fontes/seletores/seletor.d.ts +9 -9
  1291. package/fontes/seletores/seletor.js +10 -10
  1292. package/fontes/serializadores/index.d.ts +2 -2
  1293. package/fontes/serializadores/index.js +18 -18
  1294. package/fontes/serializadores/serializador-reverso.d.ts +12 -12
  1295. package/fontes/serializadores/serializador-reverso.js +60 -60
  1296. package/fontes/serializadores/serializador-reverso.js.map +1 -1
  1297. package/fontes/serializadores/serializador.d.ts +19 -19
  1298. package/fontes/serializadores/serializador.js +120 -97
  1299. package/fontes/serializadores/serializador.js.map +1 -1
  1300. package/fontes/tipos-de-simbolos/css.d.ts +21 -21
  1301. package/fontes/tipos-de-simbolos/css.js +22 -22
  1302. package/fontes/tipos-de-simbolos/foles.d.ts +30 -30
  1303. package/fontes/tipos-de-simbolos/foles.js +31 -31
  1304. package/fontes/tipos-de-simbolos/index.d.ts +2 -2
  1305. package/fontes/tipos-de-simbolos/index.js +18 -18
  1306. package/fontes/tradutores/estruturas-html.d.ts +113 -113
  1307. package/fontes/tradutores/estruturas-html.js +114 -114
  1308. package/fontes/tradutores/estruturas-lmht.d.ts +82 -82
  1309. package/fontes/tradutores/estruturas-lmht.js +83 -83
  1310. package/fontes/tradutores/tradutor-reverso.d.ts +10 -10
  1311. package/fontes/tradutores/tradutor-reverso.js +62 -62
  1312. package/fontes/tradutores/tradutor-reverso.js.map +1 -1
  1313. package/fontes/tradutores/tradutor.d.ts +25 -25
  1314. package/fontes/tradutores/tradutor.js +176 -176
  1315. package/fontes/tradutores/tradutor.js.map +1 -1
  1316. package/fontes/utilidades/base64.d.ts +10 -10
  1317. package/fontes/utilidades/base64.js +111 -111
  1318. package/fontes/utilidades/base64.js.map +1 -1
  1319. package/fontes/valores/dicionario-valores.d.ts +3 -3
  1320. package/fontes/valores/dicionario-valores.js +99 -99
  1321. package/fontes/valores/metodos/borrar.d.ts +9 -9
  1322. package/fontes/valores/metodos/borrar.js +19 -19
  1323. package/fontes/valores/metodos/borrar.js.map +1 -1
  1324. package/fontes/valores/metodos/brilho.d.ts +9 -9
  1325. package/fontes/valores/metodos/brilho.js +19 -19
  1326. package/fontes/valores/metodos/brilho.js.map +1 -1
  1327. package/fontes/valores/metodos/calcular.d.ts +12 -12
  1328. package/fontes/valores/metodos/calcular.js +19 -19
  1329. package/fontes/valores/metodos/contraste.d.ts +9 -9
  1330. package/fontes/valores/metodos/contraste.js +19 -19
  1331. package/fontes/valores/metodos/contraste.js.map +1 -1
  1332. package/fontes/valores/metodos/curva-cubica.d.ts +11 -11
  1333. package/fontes/valores/metodos/curva-cubica.js +18 -18
  1334. package/fontes/valores/metodos/encaixar-conteudo.d.ts +9 -9
  1335. package/fontes/valores/metodos/encaixar-conteudo.js +16 -16
  1336. package/fontes/valores/metodos/escala-cinza.d.ts +9 -9
  1337. package/fontes/valores/metodos/escala-cinza.js +19 -19
  1338. package/fontes/valores/metodos/escala-cinza.js.map +1 -1
  1339. package/fontes/valores/metodos/escalamento-3d.d.ts +10 -10
  1340. package/fontes/valores/metodos/escalamento-3d.js +17 -17
  1341. package/fontes/valores/metodos/escalamento-eixo-z.d.ts +8 -8
  1342. package/fontes/valores/metodos/escalamento-eixo-z.js +15 -15
  1343. package/fontes/valores/metodos/escalamento-horizontal.d.ts +8 -8
  1344. package/fontes/valores/metodos/escalamento-horizontal.js +15 -15
  1345. package/fontes/valores/metodos/escalamento-vertical.d.ts +8 -8
  1346. package/fontes/valores/metodos/escalamento-vertical.js +15 -15
  1347. package/fontes/valores/metodos/escalamento.d.ts +9 -9
  1348. package/fontes/valores/metodos/escalamento.js +19 -19
  1349. package/fontes/valores/metodos/escalamento.js.map +1 -1
  1350. package/fontes/valores/metodos/gradiente-linear.d.ts +11 -11
  1351. package/fontes/valores/metodos/gradiente-linear.js +22 -22
  1352. package/fontes/valores/metodos/hexadecimal-cor.d.ts +6 -6
  1353. package/fontes/valores/metodos/hexadecimal-cor.js +14 -14
  1354. package/fontes/valores/metodos/hsl.d.ts +9 -9
  1355. package/fontes/valores/metodos/hsl.js +16 -16
  1356. package/fontes/valores/metodos/hsla.d.ts +9 -9
  1357. package/fontes/valores/metodos/hsla.js +20 -20
  1358. package/fontes/valores/metodos/inclinar-horizontal.d.ts +9 -9
  1359. package/fontes/valores/metodos/inclinar-horizontal.js +20 -20
  1360. package/fontes/valores/metodos/inclinar-horizontal.js.map +1 -1
  1361. package/fontes/valores/metodos/inclinar-vertical.d.ts +9 -9
  1362. package/fontes/valores/metodos/inclinar-vertical.js +20 -20
  1363. package/fontes/valores/metodos/inclinar-vertical.js.map +1 -1
  1364. package/fontes/valores/metodos/inclinar.d.ts +11 -11
  1365. package/fontes/valores/metodos/inclinar.js +27 -27
  1366. package/fontes/valores/metodos/inclinar.js.map +1 -1
  1367. package/fontes/valores/metodos/inverter.d.ts +9 -9
  1368. package/fontes/valores/metodos/inverter.js +19 -19
  1369. package/fontes/valores/metodos/inverter.js.map +1 -1
  1370. package/fontes/valores/metodos/limitar.d.ts +13 -13
  1371. package/fontes/valores/metodos/limitar.js +20 -20
  1372. package/fontes/valores/metodos/linear.d.ts +10 -10
  1373. package/fontes/valores/metodos/linear.js +17 -17
  1374. package/fontes/valores/metodos/metodo.d.ts +4 -4
  1375. package/fontes/valores/metodos/metodo.js +7 -7
  1376. package/fontes/valores/metodos/minmax.d.ts +15 -15
  1377. package/fontes/valores/metodos/minmax.js +30 -30
  1378. package/fontes/valores/metodos/opacar.d.ts +9 -9
  1379. package/fontes/valores/metodos/opacar.js +19 -19
  1380. package/fontes/valores/metodos/opacar.js.map +1 -1
  1381. package/fontes/valores/metodos/passos.d.ts +17 -17
  1382. package/fontes/valores/metodos/passos.js +34 -34
  1383. package/fontes/valores/metodos/perspectivar.d.ts +9 -9
  1384. package/fontes/valores/metodos/perspectivar.js +19 -19
  1385. package/fontes/valores/metodos/perspectivar.js.map +1 -1
  1386. package/fontes/valores/metodos/projetar-sombra.d.ts +14 -14
  1387. package/fontes/valores/metodos/projetar-sombra.js +42 -42
  1388. package/fontes/valores/metodos/projetar-sombra.js.map +1 -1
  1389. package/fontes/valores/metodos/raio.d.ts +10 -10
  1390. package/fontes/valores/metodos/raio.js +23 -23
  1391. package/fontes/valores/metodos/raio.js.map +1 -1
  1392. package/fontes/valores/metodos/rgb.d.ts +9 -9
  1393. package/fontes/valores/metodos/rgb.js +16 -16
  1394. package/fontes/valores/metodos/rgba.d.ts +9 -9
  1395. package/fontes/valores/metodos/rgba.js +16 -16
  1396. package/fontes/valores/metodos/rotacionar-eixo-z.d.ts +9 -9
  1397. package/fontes/valores/metodos/rotacionar-eixo-z.js +20 -20
  1398. package/fontes/valores/metodos/rotacionar-eixo-z.js.map +1 -1
  1399. package/fontes/valores/metodos/rotacionar-horizontal.d.ts +9 -9
  1400. package/fontes/valores/metodos/rotacionar-horizontal.js +20 -20
  1401. package/fontes/valores/metodos/rotacionar-horizontal.js.map +1 -1
  1402. package/fontes/valores/metodos/rotacionar-matiz.d.ts +9 -9
  1403. package/fontes/valores/metodos/rotacionar-matiz.js +20 -20
  1404. package/fontes/valores/metodos/rotacionar-matiz.js.map +1 -1
  1405. package/fontes/valores/metodos/rotacionar-vertical.d.ts +9 -9
  1406. package/fontes/valores/metodos/rotacionar-vertical.js +20 -20
  1407. package/fontes/valores/metodos/rotacionar-vertical.js.map +1 -1
  1408. package/fontes/valores/metodos/rotacionar.d.ts +9 -9
  1409. package/fontes/valores/metodos/rotacionar.js +20 -20
  1410. package/fontes/valores/metodos/rotacionar.js.map +1 -1
  1411. package/fontes/valores/metodos/saturar.d.ts +9 -9
  1412. package/fontes/valores/metodos/saturar.js +19 -19
  1413. package/fontes/valores/metodos/saturar.js.map +1 -1
  1414. package/fontes/valores/metodos/sepia.d.ts +9 -9
  1415. package/fontes/valores/metodos/sepia.js +19 -19
  1416. package/fontes/valores/metodos/sepia.js.map +1 -1
  1417. package/fontes/valores/metodos/translacao-3d.d.ts +13 -13
  1418. package/fontes/valores/metodos/translacao-3d.js +41 -41
  1419. package/fontes/valores/metodos/translacao-3d.js.map +1 -1
  1420. package/fontes/valores/metodos/translacao-eixo-z.d.ts +9 -9
  1421. package/fontes/valores/metodos/translacao-eixo-z.js +19 -19
  1422. package/fontes/valores/metodos/translacao-eixo-z.js.map +1 -1
  1423. package/fontes/valores/metodos/translacao-horizontal.d.ts +9 -9
  1424. package/fontes/valores/metodos/translacao-horizontal.js +19 -19
  1425. package/fontes/valores/metodos/translacao-horizontal.js.map +1 -1
  1426. package/fontes/valores/metodos/translacao-vertical.d.ts +9 -9
  1427. package/fontes/valores/metodos/translacao-vertical.js +19 -19
  1428. package/fontes/valores/metodos/translacao-vertical.js.map +1 -1
  1429. package/fontes/valores/metodos/translacao.d.ts +11 -11
  1430. package/fontes/valores/metodos/translacao.js +27 -27
  1431. package/fontes/valores/metodos/translacao.js.map +1 -1
  1432. package/fontes/valores/metodos/url.d.ts +7 -7
  1433. package/fontes/valores/metodos/url.js +15 -15
  1434. package/fontes/valores/seletor-valor.d.ts +3 -3
  1435. package/fontes/valores/seletor-valor.js +14 -14
  1436. package/fontes/valores/seletor-valor.js.map +1 -1
  1437. package/fontes/valores/valor.d.ts +2 -2
  1438. package/fontes/valores/valor.js +6 -6
  1439. package/index.d.ts +4 -4
  1440. package/index.js +20 -20
  1441. package/jest.config.d.ts +3 -3
  1442. package/jest.config.js +11 -11
  1443. package/package.json +4 -4
  1444. package/testes/avaliador-sintatico.test.d.ts +1 -1
  1445. package/testes/avaliador-sintatico.test.js +69 -69
  1446. package/testes/avaliador-sintatico.test.js.map +1 -1
  1447. package/testes/foles.test.d.ts +1 -1
  1448. package/testes/foles.test.js +73 -73
  1449. package/testes/lexador-reverso.test.d.ts +1 -1
  1450. package/testes/lexador-reverso.test.js +38 -38
  1451. package/testes/lexador.test.d.ts +1 -1
  1452. package/testes/lexador.test.js +58 -58
  1453. package/testes/listas/atribuicao-abreviada.d.ts +5 -1
  1454. package/testes/listas/atribuicao-abreviada.js +216 -116
  1455. package/testes/listas/atribuicao-abreviada.js.map +1 -1
  1456. package/testes/listas/cores.d.ts +2 -2
  1457. package/testes/listas/cores.js +68 -68
  1458. package/testes/listas/estilo.d.ts +1 -1
  1459. package/testes/listas/estilo.js +49 -49
  1460. package/testes/listas/metodos.d.ts +25 -25
  1461. package/testes/listas/metodos.js +158 -158
  1462. package/testes/listas/palavras-reservadas.d.ts +2 -2
  1463. package/testes/listas/palavras-reservadas.js +76 -76
  1464. package/testes/listas/posi/303/247/303/243o.d.ts +1 -1
  1465. package/testes/listas/posi/303/247/303/243o.js +52 -52
  1466. package/testes/listas/status.d.ts +3 -3
  1467. package/testes/listas/status.js +113 -113
  1468. package/testes/listas/url.d.ts +2 -2
  1469. package/testes/listas/url.js +49 -49
  1470. package/testes/listas/valor-global.d.ts +1 -1
  1471. package/testes/listas/valor-global.js +141 -141
  1472. package/testes/listas/valor-numerico.d.ts +3 -2
  1473. package/testes/listas/valor-numerico.js +66 -48
  1474. package/testes/listas/valor-numerico.js.map +1 -1
  1475. package/testes/listas/valor-quantificador.d.ts +4 -4
  1476. package/testes/listas/valor-quantificador.js +230 -230
  1477. package/testes/listas/valores-especificos.d.ts +4 -4
  1478. package/testes/listas/valores-especificos.js +57 -57
  1479. package/testes/modificadores/atribuicao-abreviada.test.d.ts +1 -1
  1480. package/testes/modificadores/atribuicao-abreviada.test.js +210 -28
  1481. package/testes/modificadores/atribuicao-abreviada.test.js.map +1 -1
  1482. package/testes/modificadores/cores.test.d.ts +1 -1
  1483. package/testes/modificadores/cores.test.js +184 -184
  1484. package/testes/modificadores/cores.test.js.map +1 -1
  1485. package/testes/modificadores/estilo.test.d.ts +1 -1
  1486. package/testes/modificadores/estilo.test.js +91 -91
  1487. package/testes/modificadores/estilo.test.js.map +1 -1
  1488. package/testes/modificadores/metodos.test.d.ts +1 -1
  1489. package/testes/modificadores/metodos.test.js +1886 -1886
  1490. package/testes/modificadores/metodos.test.js.map +1 -1
  1491. package/testes/modificadores/palavras-reservadas.test.d.ts +1 -1
  1492. package/testes/modificadores/palavras-reservadas.test.js +119 -119
  1493. package/testes/modificadores/palavras-reservadas.test.js.map +1 -1
  1494. package/testes/modificadores/posicao.test.d.ts +1 -1
  1495. package/testes/modificadores/posicao.test.js +98 -98
  1496. package/testes/modificadores/posicao.test.js.map +1 -1
  1497. package/testes/modificadores/status.test.d.ts +1 -1
  1498. package/testes/modificadores/status.test.js +147 -147
  1499. package/testes/modificadores/status.test.js.map +1 -1
  1500. package/testes/modificadores/url.test.d.ts +1 -1
  1501. package/testes/modificadores/url.test.js +75 -75
  1502. package/testes/modificadores/url.test.js.map +1 -1
  1503. package/testes/modificadores/valor-global.test.d.ts +1 -1
  1504. package/testes/modificadores/valor-global.test.js +97 -97
  1505. package/testes/modificadores/valor-global.test.js.map +1 -1
  1506. package/testes/modificadores/valor-numerico.test.d.ts +1 -1
  1507. package/testes/modificadores/valor-numerico.test.js +179 -170
  1508. package/testes/modificadores/valor-numerico.test.js.map +1 -1
  1509. package/testes/modificadores/valor-quantificador.test.d.ts +1 -1
  1510. package/testes/modificadores/valor-quantificador.test.js +163 -163
  1511. package/testes/modificadores/valor-quantificador.test.js.map +1 -1
  1512. package/testes/serializador-reverso.test.d.ts +1 -1
  1513. package/testes/serializador-reverso.test.js +38 -38
  1514. package/testes/serializador-reverso.test.js.map +1 -1
  1515. package/testes/serializador.test.d.ts +1 -1
  1516. package/testes/serializador.test.js +95 -95
  1517. package/testes/serializador.test.js.map +1 -1
  1518. package/testes/tradutor-reverso.test.d.ts +1 -1
  1519. package/testes/tradutor-reverso.test.js +30 -30
  1520. package/testes/tradutor.test.d.ts +1 -1
  1521. 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