Skip to content

Commit

Permalink
issue qunitjs#307
Browse files Browse the repository at this point in the history
Approach qunitjs#1: Raw strings used for assertion type. Also added tests to
check for the assertion type.
  • Loading branch information
vivin committed Aug 16, 2012
1 parent dfc27bb commit 99ea1be
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 14 deletions.
27 changes: 15 additions & 12 deletions qunit/qunit.js
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,9 @@ Test.prototype = {
if ( config.requireExpects && this.expected == null ) {
QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack );
} else if ( this.expected != null && this.expected != this.assertions.length ) {
QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack );
QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack, null, "expect" );
} else if ( this.expected == null && !this.assertions.length ) {
QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack );
QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack, null, "expect" );
}

var assertion, a, b, i, li, ol,
Expand Down Expand Up @@ -418,6 +418,7 @@ QUnit.assert = {

var source,
details = {
assertion: "ok",
result: result,
message: msg
};
Expand Down Expand Up @@ -447,47 +448,47 @@ QUnit.assert = {
* @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" );
*/
equal: function( actual, expected, message ) {
QUnit.push( expected == actual, actual, expected, message );
QUnit.push( expected == actual, actual, expected, message, "equal" );
},

/**
* @name notEqual
* @function
*/
notEqual: function( actual, expected, message ) {
QUnit.push( expected != actual, actual, expected, message );
QUnit.push( expected != actual, actual, expected, message, "notEqual" );
},

/**
* @name deepEqual
* @function
*/
deepEqual: function( actual, expected, message ) {
QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
QUnit.push( QUnit.equiv(actual, expected), actual, expected, message, "deepEqual" );
},

/**
* @name notDeepEqual
* @function
*/
notDeepEqual: function( actual, expected, message ) {
QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message, "notDeepEqual" );
},

/**
* @name strictEqual
* @function
*/
strictEqual: function( actual, expected, message ) {
QUnit.push( expected === actual, actual, expected, message );
QUnit.push( expected === actual, actual, expected, message, "strictEqual" );
},

/**
* @name notStrictEqual
* @function
*/
notStrictEqual: function( actual, expected, message ) {
QUnit.push( expected !== actual, actual, expected, message );
QUnit.push( expected !== actual, actual, expected, message, "notStrictEqual" );
},

throws: function( block, expected, message ) {
Expand Down Expand Up @@ -523,9 +524,9 @@ QUnit.assert = {
ok = true;
}

QUnit.push( ok, actual, null, message );
QUnit.push( ok, actual, null, message, "throws" );
} else {
QUnit.pushFailure( message, null, 'No exception was thrown.' );
QUnit.pushFailure( message, null, 'No exception was thrown.', "throws" );
}
}
};
Expand Down Expand Up @@ -773,13 +774,14 @@ extend( QUnit, {
return undefined;
},

push: function( result, actual, expected, message ) {
push: function( result, actual, expected, message, assertion ) {
if ( !config.current ) {
throw new Error( "assertion outside test context, was " + sourceFromStacktrace() );
}

var output, source,
details = {
assertion: assertion,
result: result,
message: message,
actual: actual,
Expand Down Expand Up @@ -818,13 +820,14 @@ extend( QUnit, {
});
},

pushFailure: function( message, source, actual ) {
pushFailure: function( message, source, actual, assertion ) {
if ( !config.current ) {
throw new Error( "pushFailure() assertion outside test context, was " + sourceFromStacktrace(2) );
}

var output,
details = {
assertion: assertion,
result: false,
message: message
};
Expand Down
65 changes: 63 additions & 2 deletions test/logs.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,16 @@ test("test1", 13, function() {
result: true,
message: undefined,
actual: 0,
expected: 0
expected: 0,
assertion: "equal"
});
equal("foo", "foo", "msg");
deepEqual(logContext, {
result: true,
message: "msg",
actual: "foo",
expected: "foo"
expected: "foo",
assertion: "equal"
});
strictEqual(testDoneContext, undefined);
deepEqual(testContext, {
Expand All @@ -81,6 +83,65 @@ test("test1", 13, function() {
name: "logs1"
});

ok(true, "message");
deepEqual(logContext, {
result: true,
message: "message",
module: "logs1",
name: "test1",
assertion: "ok"
});

deepEqual({a: 1}, {a: 2}, "msg");
deepEqual(logContext, {
result: false,
message: "message",
module: "logs1",
name: "test1",
assertion: "deepEqual"
});

notDeepEqual({a: 1}, {b: 2}, "msg);
deepEqual(logContext, {
result: true,
message: "message",
module: "logs1",
name: "test1",
assertion: "notDeepEqual"
});
notEqual(1, 2, "msg");
deepEqual(logContext, {
result: true,
message: "message",
module: "logs1",
name: "test1",
assertion: "notEqual"
});
strictEqual(1, 2, "msg);
deepEqual(logContext, {
result: false,
message: "message",
module: "logs1",
name: "test1",
assertion: "strictEqual"
});

notStrictEqual(1, 2, "msg);
deepEqual(logContext, {
result: true,
message: "message",
module: "logs1",
name: "test1",
assertion: "notStrictEqual"
});
expect(1);
deepEqual(logContext, {
assertion: "expect";
});
equal(log, 12);
});
test("test2", 10, function() {
Expand Down

0 comments on commit 99ea1be

Please sign in to comment.