Created
May 10, 2012 08:32
-
-
Save jeromeetienne/2651899 to your computer and use it in GitHub Desktop.
a console.assert which actually stop the execution
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* A console.assert which actually stop the exectution. | |
* default console.assert() is a plain display, such as console.log() or console.error(); | |
* It doesnt stop the execution like assert() is meant to do. This is a little code to | |
* "workaround this limitation" :) thanks @jensarp | |
* | |
* Usage: | |
* console.assert(foo === bar); // Will throw if not equal | |
* console.assert(foo === bar, 'Dude, foo does not equal bar'); // Will throw with custom error message | |
* | |
* To trigger js debugger on failed assert, do | |
* console.assert.useDebugger = true; | |
*/ | |
console.assert = function(cond, text){ | |
if( cond ) return; | |
if( console.assert.useDebugger ) debugger; | |
throw new Error(text || "Assertion failed!"); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This pauses within the stack of the custom 'assert' function, further search I have found that you can pause on
console.assert
by enabling it during dev in Chrome Devleoper Tools, see http://stackoverflow.com/questions/12163266/break-into-chrome-debugger-when-console-assert-fails