Skip to content

Commit 6cb1093

Browse files
committed
test(coordinator): 修 lifecycle_mu_test 缺 punctConverter 导致的 CI panic
TestHandleIMEActivated_MuReleasedBeforePush / TestHandleFocusGained_MuReleasedBeforePush 两处 Coordinator 字面量未初始化 punctConverter。HandleIMEActivated 在 !RememberLastState 分支(默认配置 RememberLastState=false 时命中)调用 c.punctConverter.Reset() 即触发 nil 解引用。 panic 让 internal/coordinator 包测试整包退出码 1, 真正有用的测试结果 被淹没。补上 transform.NewPunctuationConverter() 初始化, 包测试恢复绿色。
1 parent 06fae5b commit 6cb1093

1 file changed

Lines changed: 13 additions & 10 deletions

File tree

wind_input/internal/coordinator/lifecycle_mu_test.go

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"testing"
1818
"time"
1919

20+
"github.com/huanfeng/wind_input/internal/transform"
2021
"github.com/huanfeng/wind_input/pkg/config"
2122
)
2223

@@ -48,11 +49,12 @@ func TestHandleIMEActivated_MuReleasedBeforePush(t *testing.T) {
4849

4950
cfg := &config.Config{}
5051
c := &Coordinator{
51-
logger: slog.New(slog.DiscardHandler),
52-
config: cfg,
53-
cfgMu: new(sync.RWMutex),
54-
bridgeServer: slow,
55-
chineseMode: true,
52+
logger: slog.New(slog.DiscardHandler),
53+
config: cfg,
54+
cfgMu: new(sync.RWMutex),
55+
bridgeServer: slow,
56+
chineseMode: true,
57+
punctConverter: transform.NewPunctuationConverter(), // HandleIMEActivated 的 !RememberLastState 分支会 Reset 它
5658
}
5759

5860
// 在后台调用 HandleIMEActivated;processID=0 跳过 Win32 进程名查询
@@ -102,11 +104,12 @@ func TestHandleFocusGained_MuReleasedBeforePush(t *testing.T) {
102104

103105
cfg := &config.Config{}
104106
c := &Coordinator{
105-
logger: slog.New(slog.DiscardHandler),
106-
config: cfg,
107-
cfgMu: new(sync.RWMutex),
108-
bridgeServer: slow,
109-
chineseMode: true,
107+
logger: slog.New(slog.DiscardHandler),
108+
config: cfg,
109+
cfgMu: new(sync.RWMutex),
110+
bridgeServer: slow,
111+
chineseMode: true,
112+
punctConverter: transform.NewPunctuationConverter(), // HandleIMEActivated 的 !RememberLastState 分支会 Reset 它
110113
}
111114

112115
// processID=0 跳过 appCompat.GetRule 和 Win32 进程名查询

0 commit comments

Comments
 (0)