This is because "setTimeout with 0ms" will put the function at a queue which will be called at next JavaScript executing cycle. So, we may do the same thing to validate the result, like:
```
setTimeout(function() {
  assert.equal(containsClass(dom.videoControls, 'hidden'), true);
  done();
});
```