Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
一杯枸杞茶ya
csdn-workflow
提交
12ded55e
C
csdn-workflow
项目概览
一杯枸杞茶ya
/
csdn-workflow
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
csdn-workflow
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
12ded55e
编写于
12月 14, 2020
作者:
K
Kev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test: add tests for log.ts
上级
f78aa43b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
87 addition
and
0 deletion
+87
-0
src/__mocks__/vscode.js
src/__mocks__/vscode.js
+6
-0
src/log.test.ts
src/log.test.ts
+81
-0
未找到文件。
src/__mocks__/vscode.js
浏览文件 @
12ded55e
...
...
@@ -22,6 +22,12 @@ module.exports = {
comments
:
{
createCommentController
:
jest
.
fn
(),
},
window
:
{
showErrorMessage
:
jest
.
fn
(),
},
commands
:
{
executeCommand
:
jest
.
fn
(),
},
CommentMode
:
{
Preview
:
1
},
CommentThreadCollapsibleState
:
{
Expanded
:
1
},
Position
:
function
Position
(
x
,
y
)
{
...
...
src/log.test.ts
0 → 100644
浏览文件 @
12ded55e
import
*
as
vscode
from
'
vscode
'
;
import
{
IDetailedError
}
from
'
./errors/common
'
;
import
{
handleError
,
initializeLogging
,
log
,
logError
}
from
'
./log
'
;
import
{
USER_COMMANDS
}
from
'
./command_names
'
;
jest
.
mock
(
'
vscode
'
);
describe
(
'
logging
'
,
()
=>
{
afterEach
(()
=>
{
expect
.
hasAssertions
();
});
let
logFunction
:
jest
.
Mock
;
beforeEach
(()
=>
{
logFunction
=
jest
.
fn
();
initializeLogging
(
logFunction
);
});
describe
(
'
log
'
,
()
=>
{
it
(
'
passes the argument to the handler
'
,
()
=>
{
const
message
=
'
A very bad error occured
'
;
log
(
message
);
expect
(
logFunction
).
toBeCalledTimes
(
1
);
expect
(
logFunction
).
toBeCalledWith
(
message
);
});
});
describe
(
'
logError
'
,
()
=>
{
describe
(
'
for normal errors
'
,
()
=>
{
it
(
'
passes the argument to the handler
'
,
()
=>
{
const
message
=
'
A very bad error occured
'
;
const
error
=
new
Error
(
message
);
logError
(
error
);
expect
(
logFunction
).
toBeCalledTimes
(
1
);
expect
(
logFunction
).
toBeCalledWith
(
`
${
message
}
\n
${
error
.
stack
}
`
);
});
});
describe
(
'
for detailed errors
'
,
()
=>
{
it
(
'
passes the details to the handler
'
,
()
=>
{
const
details
=
'
Could not fetch from GitLab: error 404
'
;
logError
({
details
,
}
as
IDetailedError
);
expect
(
logFunction
).
toBeCalledTimes
(
1
);
expect
(
logFunction
).
toBeCalledWith
(
details
);
});
});
});
describe
(
'
handleError
'
,
()
=>
{
const
message
=
'
Uncaught TypeError: NetworkError when attempting to fetch resource.
'
;
const
showErrorMessage
=
vscode
.
window
.
showErrorMessage
as
jest
.
Mock
;
it
(
'
passes the argument to the handler
'
,
()
=>
{
const
error
=
new
Error
(
message
);
handleError
(
error
);
expect
(
logFunction
).
toBeCalledTimes
(
1
);
expect
(
logFunction
).
toBeCalledWith
(
`
${
message
}
\n
${
error
.
stack
}
`
);
});
it
(
'
prompts the user to show the logs
'
,
()
=>
{
handleError
(
new
Error
(
message
));
expect
(
showErrorMessage
).
toBeCalledTimes
(
1
);
expect
(
showErrorMessage
).
toBeCalledWith
(
message
,
'
Show logs
'
);
});
it
(
'
shows the logs when the user confirms the prompt
'
,
async
()
=>
{
const
executeCommand
=
vscode
.
commands
.
executeCommand
as
jest
.
Mock
;
showErrorMessage
.
mockResolvedValue
(
'
Show logs
'
);
await
handleError
(
new
Error
(
message
));
expect
(
executeCommand
).
toBeCalledWith
(
USER_COMMANDS
.
SHOW_OUTPUT
);
});
});
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录