Files
sbnews/qa/frontend/test_home_channel_request_race_static.php
T

23 lines
858 B
PHP

<?php
$root = dirname(__DIR__, 2);
$pageFile = $root . '/uniapp/src/pages/index/index.vue';
$source = file_get_contents($pageFile);
$checks = [
'首页维护资讯请求序号' => str_contains($source, 'let feedRequestId = 0'),
'频道重载强制发起新请求' => str_contains($source, 'fetchFeedList(true)'),
'强制请求不受旧 loading 状态阻塞' => str_contains($source, 'const fetchFeedList = async (force = false)'),
'旧请求响应不会覆盖新频道' => str_contains($source, 'if (requestId !== feedRequestId) return'),
'只有最新请求能够结束 loading' => str_contains($source, 'if (requestId === feedRequestId)'),
];
foreach ($checks as $label => $passed) {
if (!$passed) {
fwrite(STDERR, "FAIL: {$label}\n");
exit(1);
}
}
echo "首页频道切换请求竞态静态检查通过\n";