Tests: Always pretty-print token streams (#2421)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
diff --git a/test-suite.html b/test-suite.html
index 4d41054..e95a5d4 100644
--- a/test-suite.html
+++ b/test-suite.html
@@ -125,9 +125,8 @@ This is a comment explaining this test case.</code></pre>
<li>All strings that are either empty or only contain whitespace, are removed from the token stream.</li>
<li>All empty structures are removed.</li>
</ul>
- <p>To get a pretty-printed version of the simplified token stream of a failed test, add the <code>--pretty</code> modifier. Keep in mind that the pretty-printed token stream is indented using spaces, you may need to convert these to tabs. (Most editors today have an option which handles the conversion for you.)</p>
- <pre><code class="language-bash">npm run test:languages -- --pretty</code></pre>
+ <p>Note: The pretty-printed simplified token stream is indented using 4 spaces. You have to convert these to tabs after you copy-pasted the JSON. (Most editors today have an option that handles the conversion for you.)</p>
<p>For further information: reading the tests of the test runner (<code>tests/testrunner-tests.js</code>) will help you understand the transformation.</p>
</section>
diff --git a/tests/helper/test-case.js b/tests/helper/test-case.js
index cc56cbb..5ee13b5 100644
--- a/tests/helper/test-case.js
+++ b/tests/helper/test-case.js
@@ -49,9 +49,8 @@ module.exports = {
*
* @param {string} languageIdentifier
* @param {string} filePath
- * @param {boolean} [pretty=false]
*/
- runTestCase(languageIdentifier, filePath, pretty = false) {
+ runTestCase(languageIdentifier, filePath) {
const testCase = this.parseTestCaseFile(filePath);
const usedLanguages = this.parseLanguageNames(languageIdentifier);
@@ -79,7 +78,7 @@ module.exports = {
const columnNumber = expectedJsonLines.pop().length + 1;
const lineNumber = testCase.expectedLineOffset + expectedJsonLines.length;
- const tokenStreamStr = pretty ? TokenStreamTransformer.prettyprint(simplifiedTokenStream) : actual;
+ const tokenStreamStr = TokenStreamTransformer.prettyprint(simplifiedTokenStream);
const message = "\n\nActual Token Stream:" +
"\n-----------------------------------------\n" +
tokenStreamStr +
diff --git a/tests/run.js b/tests/run.js
index 11c036d..b9c8893 100644
--- a/tests/run.js
+++ b/tests/run.js
@@ -11,7 +11,6 @@ const testSuite =
? TestDiscovery.loadSomeTests(__dirname + "/languages", argv.language)
// load complete test suite
: TestDiscovery.loadAllTests(__dirname + "/languages");
-const pretty = 'pretty' in argv;
// define tests for all tests in all languages in the test suite
for (const language in testSuite) {
@@ -28,7 +27,7 @@ for (const language in testSuite) {
it("– should pass test case '" + fileName + "'", function () {
if (path.extname(filePath) === '.test') {
- TestCase.runTestCase(language, filePath, pretty);
+ TestCase.runTestCase(language, filePath);
} else {
TestCase.runTestsWithHooks(language, require(filePath));
}