QAing js popup windows in your web app is a pain in the ass. It’s easy to miss windows in obscure corners of your UI and can be hard to recreate the circumstances under which they’re shown, and the various states that determine how and when they appear. Automated js tests with a library like Qunit or Jasmine, while great, don’t really help when you need to make sure things look a certain way.
Fortunately, if you make a couple assumptions that I think hold true for a majority of web apps, we can simplify this testing process substantially.
Just pushed fixes and updates to my Closer Compiler externs for underscore, and created a repo for Qunit externs (which is probably not of any use to anyone, but is used by for testing accuracy/completeness of underscore externs).
- Externs for latest underscore (1.4.3).
- Some fixes to 1.3.3 externs, indicating that more methods may return wrapped objects (this is still incomplete).
- Tests for externs file completeness/accuracy by running underscore’s own qunit tests through closure compiler. The output (using advanced compilation) is nasty and contains a lot of errors, but most of them are irrelevant. Some do point to legitimate issues, mostly related to uncommon ways of passing arguments to various methods.
- Externs missing for `throws`, callbacks, and configuration. Mostly complete.