Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
a9d6575b
提交
a9d6575b
authored
12月 08, 2015
作者:
Jeromy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix tests
License: MIT Signed-off-by:
Jeromy
<
jeromyj@gmail.com
>
上级
d892661f
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
60 行增加
和
97 行删除
+60
-97
file_test.go
commands/files/file_test.go
+30
-75
multifilereader_test.go
commands/http/multifilereader_test.go
+30
-22
没有找到文件。
commands/files/file_test.go
浏览文件 @
a9d6575b
...
@@ -20,36 +20,38 @@ func TestSliceFiles(t *testing.T) {
...
@@ -20,36 +20,38 @@ func TestSliceFiles(t *testing.T) {
sf
:=
NewSliceFile
(
name
,
name
,
files
)
sf
:=
NewSliceFile
(
name
,
name
,
files
)
if
!
sf
.
IsDirectory
()
{
if
!
sf
.
IsDirectory
()
{
t
.
Error
(
"SliceFile should always be a directory"
)
t
.
Fatal
(
"SliceFile should always be a directory"
)
}
}
if
n
,
err
:=
sf
.
Read
(
buf
);
n
>
0
||
err
!=
ErrNotReader
{
t
.
Error
(
"Shouldn't be able to call `Read` on a SliceFile"
)
if
n
,
err
:=
sf
.
Read
(
buf
);
n
>
0
||
err
!=
io
.
EOF
{
t
.
Fatal
(
"Shouldn't be able to read data from a SliceFile"
)
}
}
if
err
:=
sf
.
Close
();
err
!=
ErrNotReader
{
if
err
:=
sf
.
Close
();
err
!=
ErrNotReader
{
t
.
Error
(
"Shouldn't be able to call `Close` on a SliceFile"
)
t
.
Fatal
(
"Shouldn't be able to call `Close` on a SliceFile"
)
}
}
file
,
err
:=
sf
.
NextFile
()
file
,
err
:=
sf
.
NextFile
()
if
file
==
nil
||
err
!=
nil
{
if
file
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected a file and nil error"
)
t
.
Fatal
(
"Expected a file and nil error"
)
}
}
read
,
err
:=
file
.
Read
(
buf
)
read
,
err
:=
file
.
Read
(
buf
)
if
read
!=
11
||
err
!=
nil
{
if
read
!=
11
||
err
!=
nil
{
t
.
Error
(
"NextFile got a file in the wrong order"
)
t
.
Fatal
(
"NextFile got a file in the wrong order"
)
}
}
file
,
err
=
sf
.
NextFile
()
file
,
err
=
sf
.
NextFile
()
if
file
==
nil
||
err
!=
nil
{
if
file
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected a file and nil error"
)
t
.
Fatal
(
"Expected a file and nil error"
)
}
}
file
,
err
=
sf
.
NextFile
()
file
,
err
=
sf
.
NextFile
()
if
file
==
nil
||
err
!=
nil
{
if
file
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected a file and nil error"
)
t
.
Fatal
(
"Expected a file and nil error"
)
}
}
file
,
err
=
sf
.
NextFile
()
file
,
err
=
sf
.
NextFile
()
if
file
!=
nil
||
err
!=
io
.
EOF
{
if
file
!=
nil
||
err
!=
io
.
EOF
{
t
.
Error
(
"Expected a nil file and io.EOF"
)
t
.
Fatal
(
"Expected a nil file and io.EOF"
)
}
}
}
}
...
@@ -59,21 +61,21 @@ func TestReaderFiles(t *testing.T) {
...
@@ -59,21 +61,21 @@ func TestReaderFiles(t *testing.T) {
buf
:=
make
([]
byte
,
len
(
message
))
buf
:=
make
([]
byte
,
len
(
message
))
if
rf
.
IsDirectory
()
{
if
rf
.
IsDirectory
()
{
t
.
Error
(
"ReaderFile should never be a directory"
)
t
.
Fatal
(
"ReaderFile should never be a directory"
)
}
}
file
,
err
:=
rf
.
NextFile
()
file
,
err
:=
rf
.
NextFile
()
if
file
!=
nil
||
err
!=
ErrNotDirectory
{
if
file
!=
nil
||
err
!=
ErrNotDirectory
{
t
.
Error
(
"Expected a nil file and ErrNotDirectory"
)
t
.
Fatal
(
"Expected a nil file and ErrNotDirectory"
)
}
}
if
n
,
err
:=
rf
.
Read
(
buf
);
n
==
0
||
err
!=
nil
{
if
n
,
err
:=
rf
.
Read
(
buf
);
n
==
0
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read"
)
t
.
Fatal
(
"Expected to be able to read"
)
}
}
if
err
:=
rf
.
Close
();
err
!=
nil
{
if
err
:=
rf
.
Close
();
err
!=
nil
{
t
.
Error
(
"Should be able to close"
)
t
.
Fatal
(
"Should be able to close"
)
}
}
if
n
,
err
:=
rf
.
Read
(
buf
);
n
!=
0
||
err
!=
io
.
EOF
{
if
n
,
err
:=
rf
.
Read
(
buf
);
n
!=
0
||
err
!=
io
.
EOF
{
t
.
Error
(
"Expected EOF when reading after close"
)
t
.
Fatal
(
"Expected EOF when reading after close"
)
}
}
}
}
...
@@ -86,23 +88,9 @@ Some-Header: beep
...
@@ -86,23 +88,9 @@ Some-Header: beep
beep
beep
--Boundary!
--Boundary!
Content-Type:
multipart/mixed; boundary=OtherBounda
ry
Content-Type:
application/x-directo
ry
Content-Disposition: file; filename="dir"
Content-Disposition: file; filename="dir"
--OtherBoundary
Content-Type: text/plain
Content-Disposition: file; filename="some/file/path"
test
--OtherBoundary
Content-Type: text/plain
boop
--OtherBoundary
Content-Type: text/plain
bloop
--OtherBoundary--
--Boundary!--
--Boundary!--
`
`
...
@@ -114,81 +102,48 @@ bloop
...
@@ -114,81 +102,48 @@ bloop
// test properties of a file created from the first part
// test properties of a file created from the first part
part
,
err
:=
mpReader
.
NextPart
()
part
,
err
:=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
if
part
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil part, nil error"
)
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
}
mpf
,
err
:=
NewFileFromPart
(
part
)
mpf
,
err
:=
NewFileFromPart
(
part
)
if
mpf
==
nil
||
err
!=
nil
{
if
mpf
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil MultipartFile, nil error"
)
t
.
Fatal
(
"Expected non-nil MultipartFile, nil error"
)
}
}
if
mpf
.
IsDirectory
()
{
if
mpf
.
IsDirectory
()
{
t
.
Error
(
"Expected file to not be a directory"
)
t
.
Fatal
(
"Expected file to not be a directory"
)
}
}
if
mpf
.
FileName
()
!=
"name"
{
if
mpf
.
FileName
()
!=
"name"
{
t
.
Error
(
"Expected filename to be
\"
name
\"
"
)
t
.
Fatal
(
"Expected filename to be
\"
name
\"
"
)
}
}
if
file
,
err
:=
mpf
.
NextFile
();
file
!=
nil
||
err
!=
ErrNotDirectory
{
if
file
,
err
:=
mpf
.
NextFile
();
file
!=
nil
||
err
!=
ErrNotDirectory
{
t
.
Error
(
"Expected a nil file and ErrNotDirectory"
)
t
.
Fatal
(
"Expected a nil file and ErrNotDirectory"
)
}
}
if
n
,
err
:=
mpf
.
Read
(
buf
);
n
!=
4
||
err
!=
nil
{
if
n
,
err
:=
mpf
.
Read
(
buf
);
n
!=
4
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read 4 bytes"
)
t
.
Fatal
(
"Expected to be able to read 4 bytes"
)
}
}
if
err
:=
mpf
.
Close
();
err
!=
nil
{
if
err
:=
mpf
.
Close
();
err
!=
nil
{
t
.
Error
(
"Expected to be able to close file"
)
t
.
Fatal
(
"Expected to be able to close file"
)
}
}
// test properties of file created from second part (directory)
// test properties of file created from second part (directory)
part
,
err
=
mpReader
.
NextPart
()
part
,
err
=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
if
part
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil part, nil error"
)
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
}
mpf
,
err
=
NewFileFromPart
(
part
)
mpf
,
err
=
NewFileFromPart
(
part
)
if
mpf
==
nil
||
err
!=
nil
{
if
mpf
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil MultipartFile, nil error"
)
t
.
Fatal
(
"Expected non-nil MultipartFile, nil error"
)
}
}
if
!
mpf
.
IsDirectory
()
{
if
!
mpf
.
IsDirectory
()
{
t
.
Error
(
"Expected file to be a directory"
)
t
.
Fatal
(
"Expected file to be a directory"
)
}
}
if
mpf
.
FileName
()
!=
"dir"
{
if
mpf
.
FileName
()
!=
"dir"
{
t
.
Error
(
"Expected filename to be
\"
dir
\"
"
)
t
.
Fatal
(
"Expected filename to be
\"
dir
\"
"
)
}
}
if
n
,
err
:=
mpf
.
Read
(
buf
);
n
>
0
||
err
!=
ErrNotReader
{
if
n
,
err
:=
mpf
.
Read
(
buf
);
n
>
0
||
err
!=
ErrNotReader
{
t
.
Error
(
"Shouldn't be able to call `Read` on a directory"
)
t
.
Fatal
(
"Shouldn't be able to call `Read` on a directory"
)
}
}
if
err
:=
mpf
.
Close
();
err
!=
ErrNotReader
{
if
err
:=
mpf
.
Close
();
err
!=
ErrNotReader
{
t
.
Error
(
"Shouldn't be able to call `Close` on a directory"
)
t
.
Fatal
(
"Shouldn't be able to call `Close` on a directory"
)
}
// test properties of first child file
child
,
err
:=
mpf
.
NextFile
()
if
child
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read a child file"
)
}
if
child
.
IsDirectory
()
{
t
.
Error
(
"Expected file to not be a directory"
)
}
if
child
.
FileName
()
!=
"some/file/path"
{
t
.
Error
(
"Expected filename to be
\"
some/file/path
\"
"
)
}
}
// test processing files out of order
child
,
err
=
mpf
.
NextFile
()
if
child
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read a child file"
)
}
child2
,
err
:=
mpf
.
NextFile
()
if
child
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read a child file"
)
}
if
n
,
err
:=
child2
.
Read
(
buf
);
n
!=
5
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read"
)
}
if
n
,
err
:=
child
.
Read
(
buf
);
n
!=
0
||
err
==
nil
{
t
.
Error
(
"Expected to not be able to read after advancing NextFile() past this file"
)
}
// make sure the end is handled properly
child
,
err
=
mpf
.
NextFile
()
if
child
!=
nil
||
err
==
nil
{
t
.
Error
(
"Expected NextFile to return (nil, EOF)"
)
}
}
}
commands/http/multifilereader_test.go
浏览文件 @
a9d6575b
...
@@ -29,78 +29,86 @@ func TestOutput(t *testing.T) {
...
@@ -29,78 +29,86 @@ func TestOutput(t *testing.T) {
part
,
err
:=
mpReader
.
NextPart
()
part
,
err
:=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
if
part
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil part, nil error"
)
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
}
mpf
,
err
:=
files
.
NewFileFromPart
(
part
)
mpf
,
err
:=
files
.
NewFileFromPart
(
part
)
if
mpf
==
nil
||
err
!=
nil
{
if
mpf
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil MultipartFile, nil error"
)
t
.
Fatal
(
"Expected non-nil MultipartFile, nil error"
)
}
}
if
mpf
.
IsDirectory
()
{
if
mpf
.
IsDirectory
()
{
t
.
Error
(
"Expected file to not be a directory"
)
t
.
Fatal
(
"Expected file to not be a directory"
)
}
}
if
mpf
.
FileName
()
!=
"file.txt"
{
if
mpf
.
FileName
()
!=
"file.txt"
{
t
.
Error
(
"Expected filename to be
\"
file.txt
\"
"
)
t
.
Fatal
(
"Expected filename to be
\"
file.txt
\"
"
)
}
}
if
n
,
err
:=
mpf
.
Read
(
buf
);
n
!=
len
(
text
)
||
err
!=
nil
{
if
n
,
err
:=
mpf
.
Read
(
buf
);
n
!=
len
(
text
)
||
err
!=
nil
{
t
.
Error
(
"Expected to read from file"
,
n
,
err
)
t
.
Fatal
(
"Expected to read from file"
,
n
,
err
)
}
}
if
string
(
buf
[
:
len
(
text
)])
!=
text
{
if
string
(
buf
[
:
len
(
text
)])
!=
text
{
t
.
Error
(
"Data read was different than expected"
)
t
.
Fatal
(
"Data read was different than expected"
)
}
}
part
,
err
=
mpReader
.
NextPart
()
part
,
err
=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
if
part
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil part, nil error"
)
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
}
mpf
,
err
=
files
.
NewFileFromPart
(
part
)
mpf
,
err
=
files
.
NewFileFromPart
(
part
)
if
mpf
==
nil
||
err
!=
nil
{
if
mpf
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil MultipartFile, nil error"
)
t
.
Fatal
(
"Expected non-nil MultipartFile, nil error"
)
}
}
if
!
mpf
.
IsDirectory
()
{
if
!
mpf
.
IsDirectory
()
{
t
.
Error
(
"Expected file to be a directory"
)
t
.
Fatal
(
"Expected file to be a directory"
)
}
}
if
mpf
.
FileName
()
!=
"boop"
{
if
mpf
.
FileName
()
!=
"boop"
{
t
.
Error
(
"Expected filename to be
\"
boop
\"
"
)
t
.
Fatal
(
"Expected filename to be
\"
boop
\"
"
)
}
}
child
,
err
:=
mpf
.
NextFile
()
part
,
err
=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
child
,
err
:=
files
.
NewFileFromPart
(
part
)
if
child
==
nil
||
err
!=
nil
{
if
child
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read a child file"
)
t
.
Fatal
(
"Expected to be able to read a child file"
)
}
}
if
child
.
IsDirectory
()
{
if
child
.
IsDirectory
()
{
t
.
Error
(
"Expected file to not be a directory"
)
t
.
Fatal
(
"Expected file to not be a directory"
)
}
}
if
child
.
FileName
()
!=
"boop/a.txt"
{
if
child
.
FileName
()
!=
"boop/a.txt"
{
t
.
Error
(
"Expected filename to be
\"
some/file/path
\"
"
)
t
.
Fatal
(
"Expected filename to be
\"
some/file/path
\"
"
)
}
}
child
,
err
=
mpf
.
NextFile
()
part
,
err
=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
child
,
err
=
files
.
NewFileFromPart
(
part
)
if
child
==
nil
||
err
!=
nil
{
if
child
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected to be able to read a child file"
)
t
.
Fatal
(
"Expected to be able to read a child file"
)
}
}
if
child
.
IsDirectory
()
{
if
child
.
IsDirectory
()
{
t
.
Error
(
"Expected file to not be a directory"
)
t
.
Fatal
(
"Expected file to not be a directory"
)
}
}
if
child
.
FileName
()
!=
"boop/b.txt"
{
if
child
.
FileName
()
!=
"boop/b.txt"
{
t
.
Error
(
"Expected filename to be
\"
some/file/path
\"
"
)
t
.
Fatal
(
"Expected filename to be
\"
some/file/path
\"
"
)
}
}
child
,
err
=
mpf
.
NextFile
()
child
,
err
=
mpf
.
NextFile
()
if
child
!=
nil
||
err
!=
io
.
EOF
{
if
child
!=
nil
||
err
!=
io
.
EOF
{
t
.
Error
(
"Expected to get (nil, io.EOF)"
)
t
.
Fatal
(
"Expected to get (nil, io.EOF)"
)
}
}
part
,
err
=
mpReader
.
NextPart
()
part
,
err
=
mpReader
.
NextPart
()
if
part
==
nil
||
err
!=
nil
{
if
part
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil part, nil error"
)
t
.
Fatal
(
"Expected non-nil part, nil error"
)
}
}
mpf
,
err
=
files
.
NewFileFromPart
(
part
)
mpf
,
err
=
files
.
NewFileFromPart
(
part
)
if
mpf
==
nil
||
err
!=
nil
{
if
mpf
==
nil
||
err
!=
nil
{
t
.
Error
(
"Expected non-nil MultipartFile, nil error"
)
t
.
Fatal
(
"Expected non-nil MultipartFile, nil error"
)
}
}
part
,
err
=
mpReader
.
NextPart
()
part
,
err
=
mpReader
.
NextPart
()
if
part
!=
nil
||
err
!=
io
.
EOF
{
if
part
!=
nil
||
err
!=
io
.
EOF
{
t
.
Error
(
"Expected to get (nil, io.EOF)"
)
t
.
Fatal
(
"Expected to get (nil, io.EOF)"
)
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论