Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

String cutoff error, prevents passing test

Offen
#196 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
20/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
javascript, node.js
Bereich
testing

Rechercherichtung

Lies tests/tests.js bei testWhile und führe den gemeldeten Test aus, um den Fehler zu reproduzieren. Vergleiche die beiden deparse-Aufrufe mit den gezeigten erwarteten und tatsächlichen Zeichenfolgen; abgeschlossen bedeutet, die Ursache zu identifizieren und eine gezielte Korrektur mit einem erfolgreichen Test zu bestätigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
JavaScript
Sterne
1.9k
Forks
359
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus caolan/nodeunit

Alle Issues in caolan/nodeunit

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.