未验证 提交 ff32363d 编写于 作者: P Patrick Sullivan 提交者: GitHub

Compatibility for fetch-mock using proxy-pollyfill (#736)

* Compatibility for fetch-mock using proxy-pollyfill
Fixes wheresrhys/fetch-mock#415

Details: fetch-mock wraps the Response object in an ES6 Proxy to
provide useful test harness features such as flush.  However, on
ES5 browsers without fetch or Proxy support pollyfills must be used;
the proxy-pollyfill is unable to proxy an attribute unless it exists
on the object before the Proxy is created.  This change ensures
Response.bodyUsed exists on the instance, while maintaining the
semantic of setting Request.bodyUsed in the constructor before
_initBody is called.

* Update fetch.js
Co-authored-by: NJake Champion <me@jakechampion.name>
上级 8065fddd
......@@ -209,6 +209,17 @@ function Body() {
this.bodyUsed = false
this._initBody = function(body) {
/*
fetch-mock wraps the Response object in an ES6 Proxy to
provide useful test harness features such as flush. However, on
ES5 browsers without fetch or Proxy support pollyfills must be used;
the proxy-pollyfill is unable to proxy an attribute unless it exists
on the object before the Proxy is created. This change ensures
Response.bodyUsed exists on the instance, while maintaining the
semantic of setting Request.bodyUsed in the constructor before
_initBody is called.
*/
this.bodyUsed = this.bodyUsed
this._bodyInit = body
if (!body) {
this._bodyText = ''
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册