feat: 增强踢人逻辑与BOSS脚本支持
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
优化踢人超时处理和僵尸连接清理,支持BOSS动作脚本并增加测试,修复事件匹配与战斗循环中的并发问题。
This commit is contained in:
44
modules/config/model/boss_pet_test.go
Normal file
44
modules/config/model/boss_pet_test.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package model
|
||||
|
||||
import "testing"
|
||||
|
||||
type testHookAction struct {
|
||||
Allow bool
|
||||
Round int
|
||||
}
|
||||
|
||||
func TestBossConfigRunHookActionScript(t *testing.T) {
|
||||
boss := &BossConfig{
|
||||
Script: `
|
||||
function hookAction(hookaction) {
|
||||
return hookaction.Allow && hookaction.Round >= 2;
|
||||
}
|
||||
`,
|
||||
}
|
||||
|
||||
ok, err := boss.RunHookActionScript(testHookAction{Allow: true, Round: 2})
|
||||
if err != nil {
|
||||
t.Fatalf("RunHookActionScript returned error: %v", err)
|
||||
}
|
||||
if !ok {
|
||||
t.Fatalf("RunHookActionScript = false, want true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBossConfigRunHookActionScriptEmptyReturnDefaultsTrue(t *testing.T) {
|
||||
boss := &BossConfig{
|
||||
Script: `
|
||||
function hookAction(hookaction) {
|
||||
var _ = hookaction;
|
||||
}
|
||||
`,
|
||||
}
|
||||
|
||||
ok, err := boss.RunHookActionScript(testHookAction{Allow: false, Round: 1})
|
||||
if err != nil {
|
||||
t.Fatalf("RunHookActionScript returned error: %v", err)
|
||||
}
|
||||
if !ok {
|
||||
t.Fatalf("RunHookActionScript = false, want true")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user