Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.www.
wechaty
提交
6d3f9eb0
W
wechaty
项目概览
.www.
/
wechaty
与 Fork 源项目一致
Fork自
wechaty / wechaty
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6d3f9eb0
编写于
6月 20, 2018
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix unit tests
上级
f24d12b9
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
23 addition
and
7 deletion
+23
-7
src/puppet-padchat/padchat-manager.spec.ts
src/puppet-padchat/padchat-manager.spec.ts
+12
-3
src/puppet-padchat/padchat-rpc.ts
src/puppet-padchat/padchat-rpc.ts
+4
-0
src/wechaty.ts
src/wechaty.ts
+7
-4
未找到文件。
src/puppet-padchat/padchat-manager.spec.ts
浏览文件 @
6d3f9eb0
...
...
@@ -2,6 +2,7 @@
// tslint:disable:no-shadowed-variable
import
test
from
'
blue-tape
'
import
sinon
from
'
sinon
'
import
{
MemoryCard
}
from
'
memory-card
'
...
...
@@ -11,6 +12,10 @@ import {
}
from
'
./config
'
class
PadchatManagerTest
extends
PadchatManager
{
public
onSocket
(
payload
:
any
)
{
return
super
.
onSocket
(
payload
)
}
public
async
initCache
(
token
:
string
,
selfId
:
string
)
{
return
super
.
initCache
(
token
,
...
...
@@ -92,6 +97,8 @@ test('PadchatManager() stop many instances for the same time', async t => {
const
MAX_NUM
=
3
const
managerList
=
[]
as
PadchatManagerTest
[]
const
sandbox
=
sinon
.
createSandbox
()
for
(
let
i
=
0
;
i
<
MAX_NUM
;
i
++
)
{
const
manager
=
new
PadchatManagerTest
({
memory
:
new
MemoryCard
(),
...
...
@@ -103,18 +110,20 @@ test('PadchatManager() stop many instances for the same time', async t => {
managerList
.
push
(
manager
)
}
const
release
FutureList
=
[]
as
Promise
<
void
>
[]
const
stop
FutureList
=
[]
as
Promise
<
void
>
[]
for
(
let
i
=
0
;
i
<
MAX_NUM
;
i
++
)
{
const
manager
=
managerList
[
i
]
const
future
=
manager
.
stop
()
release
FutureList
.
push
(
future
)
stop
FutureList
.
push
(
future
)
}
try
{
await
Promise
.
all
(
release
FutureList
)
await
Promise
.
all
(
stop
FutureList
)
t
.
pass
(
'
stop
'
+
MAX_NUM
+
'
at the same time success
'
)
}
catch
(
e
)
{
t
.
fail
(
e
)
}
sandbox
.
restore
()
})
src/puppet-padchat/padchat-rpc.ts
浏览文件 @
6d3f9eb0
...
...
@@ -116,6 +116,10 @@ export class PadchatRpc extends EventEmitter {
throw
new
Error
(
'
socket had not been opened yet!
'
)
}
this
.
jsonRpc
.
on
(
'
error
'
,
()
=>
{
// TypeError: Cannot read property 'resolve' of undefined
// https://github.com/JsCommunity/json-rpc-peer/issues/52
})
this
.
jsonRpc
.
on
(
'
data
'
,
(
buffer
:
string
|
Buffer
)
=>
{
// log.silly('PadchatRpc', 'initJsonRpc() jsonRpc.on(data)')
...
...
src/wechaty.ts
浏览文件 @
6d3f9eb0
...
...
@@ -539,12 +539,15 @@ export class Wechaty extends Accessory implements Sayable {
const
eventNameList
:
PuppetEventName
[]
=
Object
.
keys
(
PUPPET_EVENT_DICT
)
as
any
for
(
const
eventName
of
eventNameList
)
{
log
.
verbose
(
'
Wechaty
'
,
'
initPuppetEventBridge() puppet.on(%s) registered
'
,
eventName
)
// /// e as any ??? Maybe this is a bug of TypeScript v2.5.3
// puppet.on(event as any, (...args: any[]) => {
// this.emit(event, ...args)
// })
switch
(
eventName
)
{
case
'
dong
'
:
puppet
.
removeAllListeners
(
'
dong
'
)
puppet
.
on
(
'
dong
'
,
data
=>
{
this
.
emit
(
'
dong
'
,
data
)
})
break
case
'
error
'
:
puppet
.
removeAllListeners
(
'
error
'
)
puppet
.
on
(
'
error
'
,
error
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录