提交 2c2abeba 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

check for puppet & browser before execute

上级 93304c5e
......@@ -8,7 +8,7 @@
, "pretest": "npm run lint"
, "start": "node bin/io-bot.js"
, "demo": "node example/ding-dong-bot.js"
, "test": "cross-env TAP_TIMEOUT=600 node test/puppet-web-spec.js && node test/puppet-web-watchdog-spec.js"
, "test": "cross-env TAP_TIMEOUT=600 tap test/*-spec.js"
}
, "repository": {
"type": "git"
......
......@@ -60,9 +60,10 @@ class Bridge {
inject() {
log.verbose('PuppetWebBridge', 'inject()')
return co.call(this, function* () {
return co.call(this, function* () {
const injectio = this.getInjectio()
let retObj = yield this.execute(injectio, this.port)
if (retObj && /^(2|3)/.test(retObj.code)) { // HTTP Code 2XX & 3XX
log.verbose('PuppetWebBridge', 'inject() eval(Wechaty) return code[%d] message[%s] port[%d]'
......@@ -86,7 +87,6 @@ class Bridge {
log.verbose('PuppetWebBridge', 'inject() ding success')
return true
})
.catch (e => {
log.verbose('PuppetWebBridge', 'inject() exception: %s', e.message)
......@@ -208,6 +208,9 @@ class Bridge {
}
execute(script, ...args) {
if (!this.puppet || !this.puppet.browser) {
throw new Error('execute(): no puppet or no puppet.browser in bridge')
}
return this.puppet.browser.execute(script, ...args)
.catch(e => {
log.warn('PuppetWebBridge', 'execute() exception: %s', e.message)
......
......@@ -38,10 +38,10 @@ test('Puppet Web watchdog timer', function(t) {
const origLogLevel = log.level
log.level = 'silly'
t.pass('set log.level = silent to mute log when watchDog reset wechaty')
t.pass('set log.level = silent to mute log when watchDog reset wechaty temporary')
const dong = yield waitDing(EXPECTED_DING_DATA)
log.level = origLogLevel
t.equal(dong, EXPECTED_DING_DATA, 'should get EXPECTED_DING_DATA from ding after watchdog reset')
t.equal(dong, EXPECTED_DING_DATA, 'should get EXPECTED_DING_DATA from ding after watchdog reset, and restored log level')
})
.catch(e => { // Exception
t.fail('co exception: ' + e.message)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册