提交 fd362ddb 编写于 作者: M Mislav Marohnić

Fix and simplify `Request.clone()`

上级 46705f79
......@@ -248,13 +248,7 @@
}
Request.prototype.clone = function() {
return new Request(cloneBody(this), {
method: this.method,
mode: this.mode,
credentials: this.credentials,
headers: new Headers(this.headers),
url: this.url
})
return new Request(this)
}
function decode(body) {
......
......@@ -273,7 +273,7 @@ suite('Request', function() {
})
})
;(/Chrome\//.test(navigator.userAgent) ? test.skip : test)('construct with used Request body', function() {
;(/Chrome\//.test(navigator.userAgent) && !fetch.polyfill ? test.skip : test)('construct with used Request body', function() {
var request1 = new Request('https://fetch.spec.whatwg.org/', {
method: 'post',
body: 'I work out'
......@@ -286,6 +286,36 @@ suite('Request', function() {
})
})
test('clone request', function() {
var req = new Request('https://fetch.spec.whatwg.org/', {
method: 'post',
headers: {'content-type': 'text/plain'},
body: 'I work out'
})
var clone = req.clone()
assert.equal(clone.method, 'POST')
assert.equal(clone.headers.get('content-type'), 'text/plain')
assert.notEqual(clone.headers, req.headers)
return clone.text().then(function(body) {
assert.equal(body, 'I work out')
})
})
;(/Chrome\//.test(navigator.userAgent) && !fetch.polyfill ? test.skip : test)('clone with used Request body', function() {
var req = new Request('https://fetch.spec.whatwg.org/', {
method: 'post',
body: 'I work out'
})
return req.text().then(function() {
assert.throws(function() {
req.clone()
}, TypeError)
})
})
// https://fetch.spec.whatwg.org/#concept-bodyinit-extract
suite('BodyInit extract', function() {
;(Request.prototype.blob ? suite : suite.skip)('type Blob', function() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册