// 测试无效按钮释放事件的处理 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');