visionmedia/mocha — pull request #1110 by noshir-patel (2014-01-13 03:33:27+00:00)
Title: Remove invalid optimization in checkGlobals().

fixes #1015

There was an attempt at an optimization in checkGlobals that would short circuit globals checking if the number of tolerated globals was equal (correcting for a couple of expected differences) to the number of actual globals. This is completely invalid since you could tolerate a new global in your mocha config and the system under test could add a different global but not the new global you are tolerating. (Or you could tolerate two new ones, and two new unexpected ones could be added by the system under test, etc.) In these cases, the unexpected globals will not be reported by mocha and tests will pass when they should not. So basically the code was assuming that the system under test would DEFINITELY add any globals that were added to the list of tolerated globals through mocha config.

I added a test for the simplest failure case, saw it fail, and then removed the offending code.