tree f9342847d5d4d7ceed4a1ef392db059a12873a8c
parent df6aa2c40024f4566a2568a8c6fb0d193fb8c481
author Han Seoul-Oh <laughinghan@gmail.com> 1457472717 -0800
committer Han Seoul-Oh <laughinghan@gmail.com> 1457472717 -0800

Upgrade to Mocha 2.4 to fix iffy "stealing back" focus test

Recommend -w to view diff.

That test requires the document to be focused for the browser to exhibit
the "stealing back" focus behavior, so we had a check to skip the test
if the browser isn't focused.

Unfortunately that check was useless a large fraction of the time due to
a race condition: if you Refresh unit.html, while tests are all being
defined but none are being run the check happens, and then while the
whole test suite is actually running (slow), you switch to another
browser tab, then when the test actually runs the document is unfocused
and the test fails.

(Note that this only happens if you have the Developer Tools/Web
 Inspector closed; when they're open and focused the document will be
 unfocused anyway, even when you Refresh. So to reproduce that above
 behavior make sure Dev Tools aren't open on unit.html when you Refresh.)
