Test-Driving JavaScript Applications