Skip to content

Commit

Permalink
Update: More detailed assert message for rule-tester
Browse files Browse the repository at this point in the history
  • Loading branch information
starkwang committed Dec 26, 2017
1 parent cbf0fb9 commit 7252351
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 1 deletion.
9 changes: 8 additions & 1 deletion lib/testers/rule-tester.js
Expand Up @@ -138,7 +138,14 @@ const IT = Symbol("it");
* @returns {any} Returned value of `method`.
*/
function defaultHandler(text, method) {
return method.apply(this);
try {
return method.apply(this);
} catch (err) {
if (err instanceof assert.AssertionError) {
err.message = `${util.inspect(err.actual)} ${err.operator} ${util.inspect(err.expected)}`;
}
throw err;
}
}

class RuleTester {
Expand Down
31 changes: 31 additions & 0 deletions tests/lib/testers/no-test-runners.js
@@ -0,0 +1,31 @@
/**
* @fileoverview Tests for RuleTester without any test runner
* @author Weijia Wang <starkwang@126.com>
*/
"use strict";

/* global describe, it */
/* eslint-disable no-global-assign*/
const assert = require("assert"),
RuleTester = require("../../../lib/testers/rule-tester");
const tmpIt = it;
const tmpDescribe = describe;

it = null;
describe = null;

const ruleTester = new RuleTester();

assert.throws(() => {
ruleTester.run("no-var", require("../../fixtures/testers/rule-tester/no-var"), {
valid: [
"bar = baz;"
],
invalid: [
{ code: "var foo = bar;", output: "invalid output", errors: 1 }
]
});
}, /' foo = bar;' == 'invalid output'/);

it = tmpIt;
describe = tmpDescribe;

0 comments on commit 7252351

Please sign in to comment.