diff --git a/build/test/data/testrunner.js b/build/test/data/testrunner.js index e73fd671..899d6700 100644 --- a/build/test/data/testrunner.js +++ b/build/test/data/testrunner.js @@ -218,4 +218,22 @@ function t(a,b,c) { */ function url(value) { return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random()*100000); -} \ No newline at end of file +} + +/** + * Checks that the first two arguments are equal, with an optional message. + * Prints out both expected and actual values on failure. + * + * Prefered to ok( expected == actual, message ) + * + * @example equals( "Expected 2 characters.", v.formatMessage("Expected {0} characters.", 2) ); + * + * @param Object expected + * @param Object actual + * @param String message (optional) + */ +function equals(expected, actual, message) { + var result = expected == actual; + message = message || result ? "okay" : "failed"; + _config.Test.push( [ result, result ? message + ": " + expected : message + " expected: " + expected + " actual: " + actual ] ); +} diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js index f24a10b3..11cb5fb1 100644 --- a/src/jquery/coreTest.js +++ b/src/jquery/coreTest.js @@ -87,7 +87,7 @@ test("attr(String)", function() { ok( $('#name').attr('name') == "name", 'Check for name attribute' ); ok( $('#text1').attr('name') == "action", 'Check for name attribute' ); ok( $('#form').attr('action').indexOf("formaction") >= 0, 'Check for action attribute' ); - ok( $('#anchor2').attr('href') == "#2", 'Check for non-absolute href (an anchor)' ); + equals( "#2", $('#anchor2').attr('href'), 'Check for non-absolute href (an anchor)' ); stop(); $.get("data/dashboard.xml", function(xml) { ok( $("locations", xml).attr("class") == "foo", "Check class attribute in XML document" );