2026-05-14 17:12:01 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
2026-06-06 11:45:52 +08:00
|
|
|
<title>State.js Synchronous Tests</title>
|
|
|
|
|
<!-- 同步加载打包好的 UMD 库 -->
|
|
|
|
|
<script src="../dist/state.js"></script>
|
|
|
|
|
|
|
|
|
|
<!-- 加载所有测试脚本 (已重构为全局脚本) -->
|
|
|
|
|
<script src="./core.test.js"></script>
|
|
|
|
|
<script src="./observer.test.js"></script>
|
|
|
|
|
<script src="./dom.test.js"></script>
|
|
|
|
|
<script src="./component.test.js"></script>
|
|
|
|
|
<script src="./priority.test.js"></script>
|
|
|
|
|
<script src="./merging.test.js"></script>
|
|
|
|
|
<script src="./inheritance.test.js"></script>
|
|
|
|
|
<script src="./foundation.test.js"></script>
|
|
|
|
|
<script src="./timing.test.js"></script>
|
2026-05-14 17:12:01 +08:00
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div id="results">Running tests...</div>
|
2026-06-06 11:45:52 +08:00
|
|
|
<script>
|
2026-05-14 17:12:01 +08:00
|
|
|
async function runAll() {
|
|
|
|
|
const results = document.getElementById('results');
|
|
|
|
|
try {
|
2026-06-06 11:45:52 +08:00
|
|
|
// 按顺序执行所有同步加载的测试函数
|
|
|
|
|
await testFoundation();
|
|
|
|
|
await testTiming();
|
|
|
|
|
await testInheritance();
|
2026-05-14 17:12:01 +08:00
|
|
|
await testCore();
|
|
|
|
|
await testObserver();
|
|
|
|
|
await testDom();
|
|
|
|
|
await testComponent();
|
2026-05-18 18:52:38 +08:00
|
|
|
await testPriority();
|
|
|
|
|
await testMerging();
|
2026-06-06 11:45:52 +08:00
|
|
|
|
|
|
|
|
results.innerHTML = '<h1 style="color: green">All Tests Passed 🎉 (Non-ESM)</h1>';
|
2026-05-14 17:12:01 +08:00
|
|
|
window.testStatus = 'passed';
|
|
|
|
|
} catch (e) {
|
|
|
|
|
console.error(e);
|
|
|
|
|
results.innerHTML = '<h1 style="color: red">Tests Failed: ' + e.message + '</h1>';
|
|
|
|
|
window.testStatus = 'failed';
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-06-06 11:45:52 +08:00
|
|
|
// 由于所有脚本都是同步加载的,我们可以直接执行
|
|
|
|
|
window.addEventListener('DOMContentLoaded', runAll);
|
2026-05-14 17:12:01 +08:00
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|