request promises (now DeferredRequest) conforms with Promises/A+ spec and test suite