This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
No, there are no direct tests for using alert and other browser popups. The alert function could possibly be stubbed/mocked in order to verify that it's being called, but as a host function, that might prove difficult in some browsers. Alternatively, you can define your own function, e.g. mylib.dialog("Hello") which by default uses alert, and then test that this function is used as expected.
Joined: Apr 07, 2007
Does js-test-driver provide a way to mock this behavior? Or would I need to look into another framework for that?
Joined: Oct 03, 2010
JsTestDriver does not have any mocking/stubbing capabilities. I use Sinon.JS (disclaimer: I wrote it), which works great with JsTestDriver.
That's the easy way to do it If you use a library, like Sinon.JS, you can do
The upshot of using a library is
1) You get a richer interface for behavior verification (i.e. was it called? how many times? what arguments did it receive? and so on)
2) Sinon sandboxes the test and reverts the original method after the test has run
Beware that IE not always allow you to override host methods like this. I don't remember if it screams when overriding alert, but you'll notice soon enough