@designliquido/delegua-node 1.18.6 → 1.19.1

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 (82) hide show
  1. package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
  2. package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +32 -4
  3. package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
  4. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues-com-importacao.js +1 -1
  5. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues-com-importacao.js.map +1 -1
  6. package/avaliador-sintatico/micro-avaliador-ajuda.d.ts.map +1 -1
  7. package/avaliador-sintatico/micro-avaliador-ajuda.js.map +1 -1
  8. package/cobertura/reportadores/contexto-relatorio.d.ts +6 -0
  9. package/cobertura/reportadores/contexto-relatorio.d.ts.map +1 -0
  10. package/cobertura/reportadores/contexto-relatorio.js +3 -0
  11. package/cobertura/reportadores/contexto-relatorio.js.map +1 -0
  12. package/cobertura/reportadores/index.d.ts +6 -0
  13. package/cobertura/reportadores/index.d.ts.map +1 -0
  14. package/cobertura/reportadores/index.js +32 -0
  15. package/cobertura/reportadores/index.js.map +1 -0
  16. package/cobertura/reportadores/lcov.d.ts +3 -0
  17. package/cobertura/reportadores/lcov.d.ts.map +1 -0
  18. package/cobertura/reportadores/lcov.js +86 -0
  19. package/cobertura/reportadores/lcov.js.map +1 -0
  20. package/cobertura/reportadores/sumario-json.d.ts +3 -0
  21. package/cobertura/reportadores/sumario-json.d.ts.map +1 -0
  22. package/cobertura/reportadores/sumario-json.js +56 -0
  23. package/cobertura/reportadores/sumario-json.js.map +1 -0
  24. package/cobertura/reportadores/texto-sumario.d.ts +3 -0
  25. package/cobertura/reportadores/texto-sumario.d.ts.map +1 -0
  26. package/cobertura/reportadores/texto-sumario.js +28 -0
  27. package/cobertura/reportadores/texto-sumario.js.map +1 -0
  28. package/cobertura/reportadores/texto.d.ts +3 -0
  29. package/cobertura/reportadores/texto.d.ts.map +1 -0
  30. package/cobertura/reportadores/texto.js +184 -0
  31. package/cobertura/reportadores/texto.js.map +1 -0
  32. package/cobertura/visitante-cobertura.d.ts +7 -0
  33. package/cobertura/visitante-cobertura.d.ts.map +1 -0
  34. package/cobertura/visitante-cobertura.js +115 -0
  35. package/cobertura/visitante-cobertura.js.map +1 -0
  36. package/configuracao/configuracao-testes.d.ts +8 -0
  37. package/configuracao/configuracao-testes.d.ts.map +1 -0
  38. package/configuracao/configuracao-testes.js +52 -0
  39. package/configuracao/configuracao-testes.js.map +1 -0
  40. package/configuracao/leitor-delprops.d.ts +2 -0
  41. package/configuracao/leitor-delprops.d.ts.map +1 -0
  42. package/configuracao/leitor-delprops.js +59 -0
  43. package/configuracao/leitor-delprops.js.map +1 -0
  44. package/execucao.js +12 -0
  45. package/execucao.js.map +1 -1
  46. package/interfaces/cobertura/dados-cobertura-interface.d.ts +9 -0
  47. package/interfaces/cobertura/dados-cobertura-interface.d.ts.map +1 -0
  48. package/interfaces/cobertura/dados-cobertura-interface.js +3 -0
  49. package/interfaces/cobertura/dados-cobertura-interface.js.map +1 -0
  50. package/interfaces/cobertura/entrada-ramo-interface.d.ts +6 -0
  51. package/interfaces/cobertura/entrada-ramo-interface.d.ts.map +1 -0
  52. package/interfaces/cobertura/entrada-ramo-interface.js +3 -0
  53. package/interfaces/cobertura/entrada-ramo-interface.js.map +1 -0
  54. package/interfaces/cobertura/index.d.ts +4 -0
  55. package/interfaces/cobertura/index.d.ts.map +1 -0
  56. package/interfaces/cobertura/index.js +20 -0
  57. package/interfaces/cobertura/index.js.map +1 -0
  58. package/interfaces/cobertura/tipos.d.ts +2 -0
  59. package/interfaces/cobertura/tipos.d.ts.map +1 -0
  60. package/interfaces/cobertura/tipos.js +3 -0
  61. package/interfaces/cobertura/tipos.js.map +1 -0
  62. package/interfaces/index.d.ts +1 -0
  63. package/interfaces/index.d.ts.map +1 -1
  64. package/interfaces/index.js +1 -0
  65. package/interfaces/index.js.map +1 -1
  66. package/interfaces/resultado-cobertura-arquivo-interface.d.ts +10 -0
  67. package/interfaces/resultado-cobertura-arquivo-interface.d.ts.map +1 -0
  68. package/interfaces/resultado-cobertura-arquivo-interface.js +3 -0
  69. package/interfaces/resultado-cobertura-arquivo-interface.js.map +1 -0
  70. package/interpretador/index.d.ts +1 -0
  71. package/interpretador/index.d.ts.map +1 -1
  72. package/interpretador/index.js +1 -0
  73. package/interpretador/index.js.map +1 -1
  74. package/interpretador/interpretador-com-cobertura.d.ts +11 -0
  75. package/interpretador/interpretador-com-cobertura.d.ts.map +1 -0
  76. package/interpretador/interpretador-com-cobertura.js +24 -0
  77. package/interpretador/interpretador-com-cobertura.js.map +1 -0
  78. package/nucleo-testes.d.ts +2 -0
  79. package/nucleo-testes.d.ts.map +1 -0
  80. package/nucleo-testes.js +228 -0
  81. package/nucleo-testes.js.map +1 -0
  82. package/package.json +7 -7
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.relatarTexto = relatarTexto;
40
+ const fs = __importStar(require("fs"));
41
+ const caminho = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const COL_PCT_PAD = 8; // padStart width: 7 content + 1 leading space
44
+ const COL_UNCOV = 49; // uncovered lines column content width
45
+ function lerLinhasExecutaveis(caminhoArquivo) {
46
+ try {
47
+ const conteudo = fs.readFileSync(caminhoArquivo, 'utf-8');
48
+ const linhas = conteudo.split('\n');
49
+ const executaveis = new Set();
50
+ for (let i = 0; i < linhas.length; i++) {
51
+ const l = linhas[i].trim();
52
+ if (l.length > 0 && !l.startsWith('//')) {
53
+ executaveis.add(i + 1);
54
+ }
55
+ }
56
+ return executaveis;
57
+ }
58
+ catch (_a) {
59
+ return new Set();
60
+ }
61
+ }
62
+ function comprimirLinhas(linhas) {
63
+ if (linhas.length === 0)
64
+ return '';
65
+ const sorted = linhas.slice().sort((a, b) => a - b);
66
+ const partes = [];
67
+ let inicio = sorted[0];
68
+ let fim = sorted[0];
69
+ for (let i = 1; i < sorted.length; i++) {
70
+ if (sorted[i] === fim + 1) {
71
+ fim = sorted[i];
72
+ }
73
+ else {
74
+ partes.push(inicio === fim ? `${inicio}` : `${inicio}-${fim}`);
75
+ inicio = fim = sorted[i];
76
+ }
77
+ }
78
+ partes.push(inicio === fim ? `${inicio}` : `${inicio}-${fim}`);
79
+ return partes.join(',');
80
+ }
81
+ function truncarParaDireita(s, maxLen) {
82
+ if (s.length <= maxLen)
83
+ return s;
84
+ const cauda = s.slice(s.length - (maxLen - 4));
85
+ const primeiraVirgula = cauda.indexOf(',');
86
+ return primeiraVirgula > 0 ? '...' + cauda.slice(primeiraVirgula) : '...' + cauda;
87
+ }
88
+ function colorirPct(s, v) {
89
+ if (v === null)
90
+ return chalk_1.default.dim(s);
91
+ if (v >= 80)
92
+ return chalk_1.default.green(s);
93
+ if (v >= 50)
94
+ return chalk_1.default.yellow(s);
95
+ return chalk_1.default.red(s);
96
+ }
97
+ function celulaPct(valor) {
98
+ const s = valor === null ? '-' : valor.toFixed(2);
99
+ const padded = s.padStart(COL_PCT_PAD);
100
+ return colorirPct(padded, valor);
101
+ }
102
+ function celulaArquivo(nome, largura, dimmed) {
103
+ const padded = nome.padEnd(largura);
104
+ return dimmed ? chalk_1.default.dim(padded) : padded;
105
+ }
106
+ function separador(larguraArquivo) {
107
+ const segPct = '-'.repeat(COL_PCT_PAD + 1);
108
+ return ('-'.repeat(larguraArquivo + 1) +
109
+ `|${segPct}`.repeat(4) +
110
+ `|${'-'.repeat(COL_UNCOV + 1)}`);
111
+ }
112
+ function cabecalho(larguraArquivo) {
113
+ const headers = ['% Expr.', '% Ramos', '% Func.', '% Lin.'];
114
+ const cols = headers.map((h) => `|${h.padStart(COL_PCT_PAD)} `).join('');
115
+ return `${'Arquivo'.padEnd(larguraArquivo + 1)}${cols}| ${'Linhas Não Cobertas'.padEnd(COL_UNCOV - 1)}`;
116
+ }
117
+ function renderizarLinha(nome, larguraArquivo, pctExpr, pctRamo, pctFunc, pctLin, naoCobertas, dimNome = true) {
118
+ const arquivo = celulaArquivo(nome, larguraArquivo + 1, dimNome);
119
+ const p1 = celulaPct(pctExpr);
120
+ const p2 = celulaPct(pctRamo);
121
+ const p3 = celulaPct(pctFunc);
122
+ const p4 = celulaPct(pctLin);
123
+ const uncov = truncarParaDireita(naoCobertas, COL_UNCOV);
124
+ return `${arquivo}|${p1} |${p2} |${p3} |${p4} | ${uncov}`;
125
+ }
126
+ function relatarTexto({ resultadosPorArquivo, diretorioBase }) {
127
+ const arquivosComCobertura = resultadosPorArquivo.filter((r) => !r.erroCarga);
128
+ if (arquivosComCobertura.length === 0)
129
+ return;
130
+ const metricas = [];
131
+ let totalLinhasCobertas = 0;
132
+ let totalLinhas = 0;
133
+ let totalRamosCobertos = 0;
134
+ let totalRamos = 0;
135
+ let totalFuncoesCobertas = 0;
136
+ let totalFuncoes = 0;
137
+ for (const r of arquivosComCobertura) {
138
+ const caminhoAbsoluto = caminho.join(diretorioBase, r.caminhoRelativo);
139
+ const linhasExec = lerLinhasExecutaveis(caminhoAbsoluto);
140
+ const cobertas = r.cobertura.linhasExpressoes;
141
+ const cobertasValidas = [...cobertas].filter((l) => linhasExec.has(l));
142
+ const naoCobertas = [...linhasExec].filter((l) => !cobertas.has(l));
143
+ const totalLin = linhasExec.size;
144
+ const cobertasCount = cobertasValidas.length;
145
+ const pctLin = totalLin > 0 ? (cobertasCount / totalLin) * 100 : 100;
146
+ const ramosCobertos = new Set(r.cobertura.ramos.map((e) => `${e.linha}:${e.ramo}`)).size;
147
+ const pctRamo = r.cobertura.totalRamos > 0
148
+ ? (ramosCobertos / r.cobertura.totalRamos) * 100
149
+ : null;
150
+ const pctFunc = r.cobertura.totalFuncoes > 0
151
+ ? (r.cobertura.funcoesCobertas / r.cobertura.totalFuncoes) * 100
152
+ : null;
153
+ totalLinhasCobertas += cobertasCount;
154
+ totalLinhas += totalLin;
155
+ totalRamosCobertos += ramosCobertos;
156
+ totalRamos += r.cobertura.totalRamos;
157
+ totalFuncoesCobertas += r.cobertura.funcoesCobertas;
158
+ totalFuncoes += r.cobertura.totalFuncoes;
159
+ metricas.push({
160
+ nome: r.caminhoRelativo,
161
+ pctExpr: pctLin,
162
+ pctRamo,
163
+ pctFunc,
164
+ pctLin,
165
+ naoCobertas: comprimirLinhas(naoCobertas),
166
+ });
167
+ }
168
+ const pctLinGlobal = totalLinhas > 0 ? (totalLinhasCobertas / totalLinhas) * 100 : 100;
169
+ const pctRamoGlobal = totalRamos > 0 ? (totalRamosCobertos / totalRamos) * 100 : null;
170
+ const pctFuncGlobal = totalFuncoes > 0 ? (totalFuncoesCobertas / totalFuncoes) * 100 : null;
171
+ const larguraArquivo = Math.max('Todos os arquivos'.length, ...metricas.map((m) => m.nome.length)) + 1;
172
+ const sep = separador(larguraArquivo);
173
+ console.log('');
174
+ console.log(sep);
175
+ console.log(cabecalho(larguraArquivo));
176
+ console.log(sep);
177
+ console.log(renderizarLinha('Todos os arquivos', larguraArquivo, pctLinGlobal, pctRamoGlobal, pctFuncGlobal, pctLinGlobal, '', false));
178
+ console.log(sep);
179
+ for (const m of metricas) {
180
+ console.log(renderizarLinha(m.nome, larguraArquivo, m.pctExpr, m.pctRamo, m.pctFunc, m.pctLin, m.naoCobertas));
181
+ }
182
+ console.log(sep);
183
+ }
184
+ //# sourceMappingURL=texto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texto.js","sourceRoot":"","sources":["../../../fontes/cobertura/reportadores/texto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface TotaisAst {
2
+ totalRamos: number;
3
+ totalFuncoes: number;
4
+ funcoesCorpoLinhas: number[];
5
+ }
6
+ export declare function contarTotaisAst(declaracoes: any[]): TotaisAst;
7
+ //# sourceMappingURL=visitante-cobertura.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitante-cobertura.d.ts","sourceRoot":"","sources":["../../fontes/cobertura/visitante-cobertura.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AA4FD,wBAAgB,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,CAO7D"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contarTotaisAst = contarTotaisAst;
4
+ const IGNORAR_CHAVES = new Set(['simbolo', 'operador', 'hashArquivo']);
5
+ function passeiarGenerico(no, totais, visitados) {
6
+ for (const chave of Object.keys(no)) {
7
+ if (IGNORAR_CHAVES.has(chave))
8
+ continue;
9
+ const val = no[chave];
10
+ if (Array.isArray(val)) {
11
+ for (const item of val)
12
+ passeiarNo(item, totais, visitados);
13
+ }
14
+ else if (val && typeof val === 'object') {
15
+ passeiarNo(val, totais, visitados);
16
+ }
17
+ }
18
+ }
19
+ function passeiarNo(no, totais, visitados) {
20
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
21
+ if (!no || typeof no !== 'object' || visitados.has(no))
22
+ return;
23
+ visitados.add(no);
24
+ const nomeTipo = (_b = (_a = no.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
25
+ switch (nomeTipo) {
26
+ case 'Se': {
27
+ totais.totalRamos += 2 + 2 * ((_d = (_c = no.caminhosSeSenao) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0);
28
+ passeiarNo(no.condicao, totais, visitados);
29
+ passeiarNo(no.caminhoEntao, totais, visitados);
30
+ for (const ss of (_e = no.caminhosSeSenao) !== null && _e !== void 0 ? _e : []) {
31
+ passeiarNo(ss.condicao, totais, visitados);
32
+ passeiarNo(ss.caminho, totais, visitados);
33
+ }
34
+ if (no.caminhoSenao)
35
+ passeiarNo(no.caminhoSenao, totais, visitados);
36
+ break;
37
+ }
38
+ case 'Escolha': {
39
+ totais.totalRamos += ((_g = (_f = no.caminhos) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0) + (no.caminhoPadrao ? 1 : 0);
40
+ passeiarNo(no.identificadorOuLiteral, totais, visitados);
41
+ for (const c of (_h = no.caminhos) !== null && _h !== void 0 ? _h : []) {
42
+ for (const d of (_j = c.declaracoes) !== null && _j !== void 0 ? _j : [])
43
+ passeiarNo(d, totais, visitados);
44
+ }
45
+ if (no.caminhoPadrao) {
46
+ for (const d of (_k = no.caminhoPadrao.declaracoes) !== null && _k !== void 0 ? _k : [])
47
+ passeiarNo(d, totais, visitados);
48
+ }
49
+ break;
50
+ }
51
+ case 'Tente': {
52
+ totais.totalRamos += 2;
53
+ for (const d of (_l = no.caminhoTente) !== null && _l !== void 0 ? _l : [])
54
+ passeiarNo(d, totais, visitados);
55
+ if (Array.isArray(no.caminhoPegue)) {
56
+ for (const d of no.caminhoPegue)
57
+ passeiarNo(d, totais, visitados);
58
+ }
59
+ else {
60
+ passeiarNo(no.caminhoPegue, totais, visitados);
61
+ }
62
+ for (const d of (_m = no.caminhoSenao) !== null && _m !== void 0 ? _m : [])
63
+ passeiarNo(d, totais, visitados);
64
+ for (const d of (_o = no.caminhoFinalmente) !== null && _o !== void 0 ? _o : [])
65
+ passeiarNo(d, totais, visitados);
66
+ break;
67
+ }
68
+ case 'Enquanto':
69
+ case 'Para':
70
+ case 'ParaCada':
71
+ case 'Fazer': {
72
+ totais.totalRamos += 2;
73
+ passeiarGenerico(no, totais, visitados);
74
+ break;
75
+ }
76
+ case 'FuncaoDeclaracao': {
77
+ totais.totalFuncoes++;
78
+ totais.funcoesCorpoLinhas.push((_s = (_r = (_q = (_p = no.funcao) === null || _p === void 0 ? void 0 : _p.corpo) === null || _q === void 0 ? void 0 : _q[0]) === null || _r === void 0 ? void 0 : _r.linha) !== null && _s !== void 0 ? _s : no.linha);
79
+ for (const d of (_u = (_t = no.funcao) === null || _t === void 0 ? void 0 : _t.corpo) !== null && _u !== void 0 ? _u : [])
80
+ passeiarNo(d, totais, visitados);
81
+ for (const p of (_w = (_v = no.funcao) === null || _v === void 0 ? void 0 : _v.parametros) !== null && _w !== void 0 ? _w : []) {
82
+ if (p.valorPadrao)
83
+ passeiarNo(p.valorPadrao, totais, visitados);
84
+ }
85
+ break;
86
+ }
87
+ case 'FuncaoConstruto': {
88
+ totais.totalFuncoes++;
89
+ totais.funcoesCorpoLinhas.push((_z = (_y = (_x = no.corpo) === null || _x === void 0 ? void 0 : _x[0]) === null || _y === void 0 ? void 0 : _y.linha) !== null && _z !== void 0 ? _z : no.linha);
90
+ for (const d of (_0 = no.corpo) !== null && _0 !== void 0 ? _0 : [])
91
+ passeiarNo(d, totais, visitados);
92
+ break;
93
+ }
94
+ case 'Classe': {
95
+ for (const m of (_1 = no.metodos) !== null && _1 !== void 0 ? _1 : [])
96
+ passeiarNo(m, totais, visitados);
97
+ for (const p of (_2 = no.propriedades) !== null && _2 !== void 0 ? _2 : [])
98
+ passeiarGenerico(p, totais, visitados);
99
+ break;
100
+ }
101
+ default: {
102
+ passeiarGenerico(no, totais, visitados);
103
+ break;
104
+ }
105
+ }
106
+ }
107
+ function contarTotaisAst(declaracoes) {
108
+ const totais = { totalRamos: 0, totalFuncoes: 0, funcoesCorpoLinhas: [] };
109
+ const visitados = new WeakSet();
110
+ for (const d of declaracoes) {
111
+ passeiarNo(d, totais, visitados);
112
+ }
113
+ return totais;
114
+ }
115
+ //# sourceMappingURL=visitante-cobertura.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitante-cobertura.js","sourceRoot":"","sources":["../../fontes/cobertura/visitante-cobertura.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type TipoReportador = 'texto' | 'texto-sumario' | 'lcov' | 'sumario-json';
2
+ export interface ConfiguracaoTestes {
3
+ cobertura: {
4
+ reportadores: TipoReportador[];
5
+ };
6
+ }
7
+ export declare function carregarConfiguracaoTestes(diretorioBase: string): ConfiguracaoTestes;
8
+ //# sourceMappingURL=configuracao-testes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuracao-testes.d.ts","sourceRoot":"","sources":["../../fontes/configuracao/configuracao-testes.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,cAAc,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE;QACP,YAAY,EAAE,cAAc,EAAE,CAAC;KAClC,CAAC;CACL;AAID,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,CAapF"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.carregarConfiguracaoTestes = carregarConfiguracaoTestes;
37
+ const caminho = __importStar(require("path"));
38
+ const leitor_delprops_1 = require("./leitor-delprops");
39
+ const REPORTADORES_PADRAO = ['texto'];
40
+ function carregarConfiguracaoTestes(diretorioBase) {
41
+ const caminhoArquivo = caminho.join(diretorioBase, 'configuracao.delprops');
42
+ const props = (0, leitor_delprops_1.lerDelprops)(caminhoArquivo);
43
+ const valorReportadores = props.get('testes.cobertura.reportadores');
44
+ const reportadores = valorReportadores
45
+ ? valorReportadores
46
+ .split(',')
47
+ .map((r) => r.trim())
48
+ .filter(Boolean)
49
+ : REPORTADORES_PADRAO;
50
+ return { cobertura: { reportadores } };
51
+ }
52
+ //# sourceMappingURL=configuracao-testes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuracao-testes.js","sourceRoot":"","sources":["../../fontes/configuracao/configuracao-testes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,gEAaC;AA3BD,8CAAgC;AAEhC,uDAAgD;AAUhD,MAAM,mBAAmB,GAAqB,CAAC,OAAO,CAAC,CAAC;AAExD,SAAgB,0BAA0B,CAAC,aAAqB;IAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAA,6BAAW,EAAC,cAAc,CAAC,CAAC;IAE1C,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACrE,MAAM,YAAY,GAAqB,iBAAiB;QACpD,CAAC,CAAC,iBAAiB;aACZ,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAoB,CAAC;aACtC,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,mBAAmB,CAAC;IAE1B,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function lerDelprops(caminhoArquivo: string): Map<string, string>;
2
+ //# sourceMappingURL=leitor-delprops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leitor-delprops.d.ts","sourceRoot":"","sources":["../../fontes/configuracao/leitor-delprops.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBvE"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.lerDelprops = lerDelprops;
37
+ const fs = __importStar(require("fs"));
38
+ function lerDelprops(caminhoArquivo) {
39
+ const resultado = new Map();
40
+ if (!fs.existsSync(caminhoArquivo))
41
+ return resultado;
42
+ const conteudo = fs.readFileSync(caminhoArquivo, 'utf-8');
43
+ for (const linha of conteudo.split(/\r?\n/)) {
44
+ const trimada = linha.trim();
45
+ if (!trimada || trimada.startsWith('//'))
46
+ continue;
47
+ const idx = trimada.indexOf('=');
48
+ if (idx === -1)
49
+ continue;
50
+ const chave = trimada.substring(0, idx).trim();
51
+ let valor = trimada.substring(idx + 1).trim();
52
+ if (valor.startsWith("'") && valor.endsWith("'")) {
53
+ valor = valor.slice(1, -1).trim();
54
+ }
55
+ resultado.set(chave, valor);
56
+ }
57
+ return resultado;
58
+ }
59
+ //# sourceMappingURL=leitor-delprops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leitor-delprops.js","sourceRoot":"","sources":["../../fontes/configuracao/leitor-delprops.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kCAuBC;AAzBD,uCAAyB;AAEzB,SAAgB,WAAW,CAAC,cAAsB;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAErD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEnD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,SAAS;QAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
package/execucao.js CHANGED
@@ -68,6 +68,7 @@ const principal = async () => {
68
68
  const analisadorArgumentos = new commander_1.Command();
69
69
  analisadorArgumentos;
70
70
  let codigoOuNomeArquivo = undefined;
71
+ let comandoTestar = false;
71
72
  analisadorArgumentos
72
73
  .helpOption('-h, --ajuda', 'Exibe a ajuda para o comando.')
73
74
  .option('-a, --alvo <alvo>', 'O alvo, para casos de tradução que são compilações. Para traduções do tipo `delegua-para-x64`, os alvos válidos são "linux" (padrão) e "windows". Para traduções do tipo `delegua-para-arm`, os alvos válidos são "linux-arm" (padrão) e "android".', '')
@@ -86,8 +87,19 @@ const principal = async () => {
86
87
  codigoOuNomeArquivo = argumentos[0];
87
88
  }
88
89
  });
90
+ analisadorArgumentos
91
+ .command('testar')
92
+ .description('Descobre e executa recursivamente arquivos .teste.delegua no diretório atual.')
93
+ .action(() => {
94
+ comandoTestar = true;
95
+ });
89
96
  analisadorArgumentos.parse();
90
97
  const opcoes = analisadorArgumentos.opts();
98
+ if (comandoTestar) {
99
+ const { executarTestes } = require('./nucleo-testes');
100
+ await executarTestes(process.cwd());
101
+ return;
102
+ }
91
103
  if (opcoes.dap) {
92
104
  const adaptadorDap = new depuracao_1.AdaptadorDapDelegua();
93
105
  adaptadorDap.iniciar();
package/execucao.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../fontes/execucao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../fontes/execucao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { EntradaRamo } from "./entrada-ramo-interface";
2
+ export interface DadosCobertura {
3
+ ramos: EntradaRamo[];
4
+ linhasExpressoes: Set<number>;
5
+ totalRamos: number;
6
+ totalFuncoes: number;
7
+ funcoesCobertas: number;
8
+ }
9
+ //# sourceMappingURL=dados-cobertura-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dados-cobertura-interface.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/dados-cobertura-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dados-cobertura-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dados-cobertura-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/dados-cobertura-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { TipoRamo } from "./tipos";
2
+ export interface EntradaRamo {
3
+ linha: number;
4
+ ramo: TipoRamo;
5
+ }
6
+ //# sourceMappingURL=entrada-ramo-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrada-ramo-interface.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/entrada-ramo-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=entrada-ramo-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrada-ramo-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/entrada-ramo-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './dados-cobertura-interface';
2
+ export * from './entrada-ramo-interface';
3
+ export * from './tipos';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./dados-cobertura-interface"), exports);
18
+ __exportStar(require("./entrada-ramo-interface"), exports);
19
+ __exportStar(require("./tipos"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,2DAAyC;AACzC,0CAAwB"}
@@ -0,0 +1,2 @@
1
+ export type TipoRamo = 'verdadeiro' | 'falso' | 'senao' | 'caso-padrao' | 'iteracao';
2
+ //# sourceMappingURL=tipos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tipos.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/tipos.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tipos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tipos.js","sourceRoot":"","sources":["../../../fontes/interfaces/cobertura/tipos.ts"],"names":[],"mappings":""}
@@ -2,4 +2,5 @@ export * from './delegua-interface';
2
2
  export * from './importador-interface';
3
3
  export * from './interpretador-com-importacao-interface';
4
4
  export * from './nucleo-execucao-interface';
5
+ export * from './resultado-cobertura-arquivo-interface';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC"}