Add more tests to cover various cases

* when the constructor is called without `new`
* when it downloads multiple files