Files
cc-3-8-x-mcp/server/test/local-status.test.js
T

33 lines
1.2 KiB
JavaScript
Raw Normal View History

'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const localStatus = require('../local-status');
function makeInfo(overrides) {
return Object.assign({
projectPath: '/project/forest',
projectName: 'forest',
editorPid: 123,
editorVersion: '3.8.8',
previewUrl: 'http://127.0.0.1:7456',
previewPort: 7456,
}, overrides || {});
}
test('dev-reload info 仅 updatedAt 变化时不重复写入', () => {
const previous = Object.assign(makeInfo(), { updatedAt: '2026-08-14T00:00:00.000Z' });
assert.equal(localStatus.isSameDevReloadInfo(previous, makeInfo()), true);
});
test('预览端口或编辑器进程变化时需要更新 dev-reload info', () => {
assert.equal(localStatus.isSameDevReloadInfo(makeInfo(), makeInfo({ previewPort: 7457 })), false);
assert.equal(localStatus.isSameDevReloadInfo(makeInfo(), makeInfo({ editorPid: 456 })), false);
});
test('进程存活检测接受当前进程并拒绝非法 PID', () => {
assert.equal(localStatus.isProcessAlive(process.pid), true);
assert.equal(localStatus.isProcessAlive(0), false);
assert.equal(localStatus.isProcessAlive('invalid'), false);
});