Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
github
fetch
提交
11f0e9a7
F
fetch
项目概览
github
/
fetch
大约 1 年 前同步成功
通知
30
Star
25765
Fork
3216
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fetch
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
11f0e9a7
编写于
10月 12, 2015
作者:
M
Mislav Marohnić
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'orphan-black'
Closes #209, fixes #185
上级
eddaf21d
3f23a315
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
73 addition
and
1 deletion
+73
-1
fetch.js
fetch.js
+13
-0
test/test.js
test/test.js
+60
-1
未找到文件。
fetch.js
浏览文件 @
11f0e9a7
...
...
@@ -236,6 +236,10 @@
this
.
_initBody
(
body
)
}
Request
.
prototype
.
clone
=
function
()
{
return
new
Request
(
this
)
}
function
decode
(
body
)
{
var
form
=
new
FormData
()
body
.
trim
().
split
(
'
&
'
).
forEach
(
function
(
bytes
)
{
...
...
@@ -279,6 +283,15 @@
Body
.
call
(
Response
.
prototype
)
Response
.
prototype
.
clone
=
function
()
{
return
new
Response
(
this
.
_bodyInit
,
{
status
:
this
.
status
,
statusText
:
this
.
statusText
,
headers
:
new
Headers
(
this
.
headers
),
url
:
this
.
url
})
}
Response
.
error
=
function
()
{
var
response
=
new
Response
(
null
,
{
status
:
0
,
statusText
:
''
})
response
.
type
=
'
error
'
...
...
test/test.js
浏览文件 @
11f0e9a7
...
...
@@ -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
()
{
...
...
@@ -385,6 +415,35 @@ suite('Response', function() {
})
})
test
(
'
clone text response
'
,
function
()
{
var
res
=
new
Response
(
'
{"foo":"bar"}
'
,
{
headers
:
{
'
content-type
'
:
'
application/json
'
}
})
var
clone
=
res
.
clone
()
assert
.
notEqual
(
clone
.
headers
,
res
.
headers
,
'
headers were cloned
'
)
assert
.
equal
(
clone
.
headers
.
get
(
'
content-type
'
),
'
application/json
'
)
return
Promise
.
all
([
clone
.
json
(),
res
.
json
()]).
then
(
function
(
jsons
){
assert
.
deepEqual
(
jsons
[
0
],
jsons
[
1
],
'
json of cloned object is the same as original
'
)
})
})
;(
Response
.
prototype
.
arrayBuffer
?
test
:
test
.
skip
)(
'
clone blob response
'
,
function
()
{
return
fetch
(
'
/binary
'
).
then
(
function
(
response
)
{
return
Promise
.
all
([
response
.
clone
().
arrayBuffer
(),
response
.
arrayBuffer
()]).
then
(
function
(
bufs
){
bufs
.
forEach
(
function
(
buf
){
assert
(
buf
instanceof
ArrayBuffer
,
'
buf is an ArrayBuffer instance
'
)
assert
.
equal
(
buf
.
byteLength
,
256
,
'
buf.byteLength is correct
'
)
var
view
=
new
Uint8Array
(
buf
)
for
(
var
i
=
0
;
i
<
256
;
i
++
)
{
assert
.
equal
(
view
[
i
],
i
)
}
})
})
})
})
test
(
'
error creates error Response
'
,
function
()
{
var
r
=
Response
.
error
()
assert
(
r
instanceof
Response
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录