Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

String cutoff error, prevents passing test

Aberta
#196 8 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
20/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
javascript, node.js
Domínio
testing

Direção de pesquisa

Leia tests/tests.js em testWhile e execute o teste reportado para reproduzir a falha. Compare as duas chamadas de deparse com as strings esperada e real exibidas; considera-se concluído identificar a causa e confirmar uma correção focada com um teste aprovado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

I apologize if this a quite obvious mistake on my part, but I have been staring at this for an hour. I don't know how this could possibly be a bug on your end, but it's worth a try.

The following test does not pass:

exports.testWhile = function(test){
   test.expect(1);

   var input = parseSingleStat("while(foo() < 1){bar();}");
   var output = parse("var __t0 = foo(); while(__t0 < 1){bar(); var __t0 = foo(); }");

   test.equal(deparse(output), deparse(tacifyFunctions.tacifyWhile(input)));

   test.done();

 }

The following test passes:

exports.testWhile = function(test){
   test.expect(1);

   var input = parseSingleStat("while(foo() < 1){bar();}");
   var output = parse("var __t0 = foo(); while(__t0 < 1){bar(); var __t0 = foo(); }");
   var e = deparse(output);
   var o = deparse(tacifyFunctions.tacifyWhile(input));

   test.equal(e, o);

   test.done();

 }

deparse returns a string. In the former case deparse(tacifyFunctions.tacifyWhile(input)) is returning a string

Here is output from the test

tests
✔ testNested
✖ testWhile

AssertionError: 'var __t0 = foo();\n\nwhile (__t0 < 1) {\n bar();\n var __t0 = foo();\n}' == 'while (__t0 < 1) {\n bar();\n var __t0 = foo();\n}'
at Object.assertWrapper as equal
at Object.exports.testWhile (/home/satshabad/CS/CS585/jaspect/tests/tests.js:53:8)
at Object.wrapTest (/usr/lib/node_modules/nodeunit/lib/core.js:235:16)
at wrapTest (/usr/lib/node_modules/nodeunit/lib/core.js:235:16)
at Object.exports.runTest (/usr/lib/node_modules/nodeunit/lib/core.js:69:9)
at exports.runSuite (/usr/lib/node_modules/nodeunit/lib/core.js:117:25)
at _concat (/usr/lib/node_modules/nodeunit/deps/async.js:508:13)
at async.forEachSeries.iterate (/usr/lib/node_modules/nodeunit/deps/async.js:118:13)
at async.forEachSeries.iterate (/usr/lib/node_modules/nodeunit/deps/async.js:129:25)
at _concat (/usr/lib/node_modules/nodeunit/deps/async.js:510:17)

FAILURES: 1/5 assertions failed (38ms)

I would appreciate any insight.

Linguagem predominante
JavaScript
Estrelas
1.9k
Forks
359
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de caolan/nodeunit

Todas as issues de caolan/nodeunit

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.