Realtek/doc/testInvalidRelease.js

53 lines
2.1 KiB
JavaScript
Raw Normal View History

2025-11-25 10:21:47 +08:00
// 测试无效按钮释放事件的处理
const buttonHandler = require('./buttonClickHandler');
console.log('开始测试无效按钮释放事件处理...\n');
// 测试场景1: 直接调用释放事件(应该被拒绝)
console.log('===== 测试场景1: 尝试直接调用按钮释放事件 =====');
buttonHandler.onButtonUp(); // 这应该被拒绝,因为按钮没有被按下
// 测试场景2: 正常的按下和释放序列(应该正常工作)
setTimeout(() => {
console.log('\n===== 测试场景2: 正常的按下和释放序列 =====');
buttonHandler.onButtonDown();
setTimeout(() => {
buttonHandler.onButtonUp();
}, 100);
}, 1000);
// 测试场景3: 按下后多次尝试释放(只有第一次应该有效)
setTimeout(() => {
console.log('\n===== 测试场景3: 按下后多次尝试释放 =====');
buttonHandler.onButtonDown();
setTimeout(() => {
buttonHandler.onButtonUp(); // 第一次释放应该有效
setTimeout(() => {
buttonHandler.onButtonUp(); // 第二次释放应该被拒绝
}, 100);
}, 100);
}, 2000);
// 测试场景4: 尝试释放后再按下和正常释放
setTimeout(() => {
console.log('\n===== 测试场景4: 尝试释放后再按下和正常释放 =====');
buttonHandler.onButtonUp(); // 无效释放,应该被拒绝
setTimeout(() => {
buttonHandler.onButtonDown(); // 按下应该正常
setTimeout(() => {
buttonHandler.onButtonUp(); // 正常释放
}, 100);
}, 100);
// 测试完成提示
setTimeout(() => {
console.log('\n\n所有测试完成!');
console.log('\n总结:');
console.log('1. 直接调用按钮释放事件已被正确拒绝');
console.log('2. 正常的按下和释放序列仍然可以正常工作');
console.log('3. 按下后多次尝试释放,只有第一次有效');
console.log('4. 无效释放后,正常的按下和释放操作不受影响');
}, 500);
}, 3000);
console.log('测试将按顺序自动执行,请查看输出结果...\n');