Alter the test then function a little

Before this change all the chained then calls got grouped into the
same setTimeout bucket, which meant that other setTimeouts all get
called after all the then chained calls.