锁定微信订阅失败响应
微信订阅消息失败结果不再向 H5 透出原生错误 微信订阅测试覆盖 requestSubscribeMessage 失败的稳定原因 native shell 总门禁反查微信订阅结果边界
This commit is contained in:
@@ -1909,6 +1909,39 @@ function assertWechatPaymentResultBoundaries() {
|
||||
}
|
||||
}
|
||||
|
||||
function assertWechatSubscribeResultBoundaries() {
|
||||
const subscribeSource = fs.readFileSync(
|
||||
'miniprogram/host-bridge/subscribeMessage.js',
|
||||
'utf8',
|
||||
);
|
||||
const subscribeTestSource = fs.readFileSync(
|
||||
'miniprogram/host-bridge/subscribeMessage.test.js',
|
||||
'utf8',
|
||||
);
|
||||
|
||||
for (const snippet of [
|
||||
"WECHAT_SUBSCRIBE_UNAVAILABLE_REASON = 'wechat subscribe unavailable'",
|
||||
"console.error('[subscribe-message] request failed', error)",
|
||||
'WECHAT_SUBSCRIBE_UNAVAILABLE_REASON',
|
||||
]) {
|
||||
if (!subscribeSource.includes(snippet)) {
|
||||
throw new Error(`wechat subscribe bridge must include ${snippet}`);
|
||||
}
|
||||
}
|
||||
if (subscribeSource.includes("error && error.errMsg ? error.errMsg : 'failed'")) {
|
||||
throw new Error('wechat subscribe bridge must not expose native subscribe errors to H5');
|
||||
}
|
||||
for (const snippet of [
|
||||
'hides requestSubscribeMessage native failure details from H5 result',
|
||||
'wechat%20subscribe%20unavailable',
|
||||
"expect(console.error).toHaveBeenCalledWith(",
|
||||
]) {
|
||||
if (!subscribeTestSource.includes(snippet)) {
|
||||
throw new Error(`wechat subscribe bridge test must include ${snippet}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function assertHostBridgeLayerLayout() {
|
||||
assertSameList(
|
||||
readDirectoryFileList(
|
||||
@@ -2139,6 +2172,9 @@ assertWechatMiniProgramCapabilityFlows();
|
||||
console.log('[check:native-shells] wechat-payment-result-boundaries');
|
||||
assertWechatPaymentResultBoundaries();
|
||||
|
||||
console.log('[check:native-shells] wechat-subscribe-result-boundaries');
|
||||
assertWechatSubscribeResultBoundaries();
|
||||
|
||||
console.log('[check:native-shells] h5-host-bridge-event-subscription-gates');
|
||||
assertH5HostBridgeEventSubscriptionGates();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user