Repository: DesignLiquido/delegua
Pull request #167 (2022-11-15 02:31:13)

Dialeto birl: Criando Testes para Olá mundo simples.
- Resolvi problemas que avia na discussão #165 
- Resolvi erro do _\n _ no lexador
- Criei o teste para o olá mundo simples.

github-actions[bot]: <!-- jest coverage report action for options with hash 825fd481788efa7282e8569b20438413 -->

## Coverage report 



| <div title="Status of coverage:&#10; 🟢 - ok&#10; 🟡 - slightly more than threshold&#10; 🔴 - under the threshold">St.<sup>:grey_question:</sup></div> | Category   | Percentage                                                     | Covered / Total |
| :----------------------------------------------------------------------------------------------------------------------------------------------------: | :--------- | :------------------------------------------------------------- | :-------------: |
|                                                                           🟡                                                                           | Statements | <div title="Base coverage is: 71.49%">71.96% (+0.47% 🔼)</div> |    3983/5535    |
|                                                                           🟡                                                                           | Branches   | <div title="Base coverage is: 59.53%">60.34% (+0.81% 🔼)</div> |    1024/1697    |
|                                                                           🟡                                                                           | Functions  | <div title="Base coverage is: 69.15%">69.28% (+0.13% 🔼)</div> |     521/752     |
|                                                                           🟡                                                                           | Lines      | <div title="Base coverage is: 71.7%">72.22% (+0.52% 🔼)</div>  |    3611/5000    |


## Test suite run success
169 tests passing in 17 suites.

<p align="right">Report generated by <a href="https://github.com/ArtiomTr/jest-coverage-report-action">🧪jest coverage report action</a> from fb439642c7104d82ab3dee1d2125bb670534fee3</p>
<!-- Sticky Pull Request Comment -->

Patch:
diff --git a/fontes/lexador/dialetos/lexador-birl.ts b/fontes/lexador/dialetos/lexador-birl.ts
index 3763b45b..5fffa918 100644
--- a/fontes/lexador/dialetos/lexador-birl.ts
+++ b/fontes/lexador/dialetos/lexador-birl.ts
@@ -36,7 +36,7 @@ export class LexadorBirl extends LexadorBaseLinhaUnica {
         }
 
         const valor = this.codigo.substring(this.inicioSimbolo + 1, this.atual);
-        this.adicionarSimbolo(tiposDeSimbolos.FRANGO, valor);
+        this.adicionarSimbolo(tiposDeSimbolos.TEXTO, valor);
     }
 
     analisarNumero(): void {
@@ -51,7 +51,7 @@ export class LexadorBirl extends LexadorBaseLinhaUnica {
             }
         }
         const numeroCompleto = this.codigo.substring(this.inicioSimbolo, this.atual);
-        this.adicionarSimbolo(tiposDeSimbolos.TRAPEZIO, parseFloat(numeroCompleto));
+        this.adicionarSimbolo(tiposDeSimbolos.NUMERO, parseFloat(numeroCompleto));
     }
 
     identificarPalavraChave(): void {
@@ -79,7 +79,7 @@ export class LexadorBirl extends LexadorBaseLinhaUnica {
                 this.adicionarSimbolo(tiposDeSimbolos.CE_QUER_VER_ESSA_PORRA);
                 this.avancar();
                 break;
-            case 'BORA CUMPADE':
+            case 'BORA CUMPADE?':
                 this.adicionarSimbolo(tiposDeSimbolos.BORA_CUMPADE);
                 this.avancar();
             default:
@@ -121,6 +121,8 @@ export class LexadorBirl extends LexadorBaseLinhaUnica {
             case '\0':
             case '\r':
             case '\t':
+            case '\n':
+            case '':
                 this.avancar();
                 break;
             default:
@@ -133,11 +135,9 @@ export class LexadorBirl extends LexadorBaseLinhaUnica {
                         mensagem: 'Caractere inesperado.',
                     } as ErroLexador);
                 this.avancar();
-            // this.analisaPalavraChave();
         }
     }
 
-    // essa funcao não esta sendo usanda por enquanto
     InjetaUmItemDentroDaLista(item: string, posicao: number): string[] {
         let codigoComeco: string[];
         let codigoPosPosição: string[];
diff --git a/fontes/tipos-de-simbolos/birl.ts b/fontes/tipos-de-simbolos/birl.ts
index 58705085..36cde3e0 100644
--- a/fontes/tipos-de-simbolos/birl.ts
+++ b/fontes/tipos-de-simbolos/birl.ts
@@ -22,11 +22,6 @@ export default {
     IGUAL_IGUAL: 'IGUAL_IGUAL',
     PONTO_E_VIRGULA: 'PONTO_E_VIRGULA',
 
-    FRANGO: 'TEXTO',
-    MONSTRINHO: 'INTEIRO',
-    MONSTRO: 'INTEIRO_CURTO',
-    MONSTRAO: 'INTEIRO_LONGO',
-    TRAPEZIO: 'PONTO_FLUTUANTE',
-    TRAPEZIO_DESCENDENTE: 'PONTO_FLUTUANTE_MAIS_PRECISO',
-    BICEPS: 'INTEIRO_NÃO_ASSINADO',
+    TEXTO: 'TEXTO',
+    NUMERO: 'NUMERO',
 };


Test patch:
diff --git a/testes/birl/lexador.test.ts b/testes/birl/lexador.test.ts
index 6804a73e..7c7ba793 100644
--- a/testes/birl/lexador.test.ts
+++ b/testes/birl/lexador.test.ts
@@ -12,10 +12,25 @@ describe('Lexador Birl', () => {
         expect(resultado).toBeTruthy();
         expect(resultado.simbolos).toHaveLength(0);
     });
-    it('Programa vazio', () => {
+    it('Programa vazio.', () => {
         const resultado = delegua.lexador.mapear(['HORA DO SHOW \n', 'BIRL \n'], -1);
 
         expect(resultado).toBeTruthy();
         expect(resultado.simbolos).toHaveLength(2);
     });
+    it('Programa Olá mundo simples.', () => {
+        const resultado = delegua.lexador.mapear(
+            [
+                'HORA DO SHOW \n',
+                '   CE QUER VER ESSA PORRA? ("Hello, World! Porra!\n"); \n',
+                '   BORA CUMPADE? 0; \n',
+                'BIRL \n',
+            ],
+            -1
+        );
+
+        expect(resultado).toBeTruthy();
+        expect(resultado.simbolos).toHaveLength(9);
+        expect(resultado.erros).toHaveLength(0);
+    });
 });
diff --git a/testes/exemplos/birl/teste1.birl b/testes/exemplos/birl/teste1.birl
index a232132a..65c8f121 100644
--- a/testes/exemplos/birl/teste1.birl
+++ b/testes/exemplos/birl/teste1.birl
@@ -1,4 +1,4 @@
 HORA DO SHOW
     CE QUER VER ESSA PORRA? ("Hello, World! Porra!\n");
-    BORA CUMPADE 0;
+    BORA CUMPADE? 0;
 BIRL
\ No newline at end of file