mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-18 04:10:51 +08:00
refactor: improve thinking logic
This commit is contained in:
34
internal/thinking/errors_test.go
Normal file
34
internal/thinking/errors_test.go
Normal file
@@ -0,0 +1,34 @@
|
||||
// Package thinking provides unified thinking configuration processing logic.
|
||||
package thinking
|
||||
|
||||
import "testing"
|
||||
|
||||
// TestThinkingErrorError tests the Error() method of ThinkingError.
|
||||
//
|
||||
// Error() returns the message directly without code prefix.
|
||||
// Use Code field for programmatic error handling.
|
||||
func TestThinkingErrorError(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
err *ThinkingError
|
||||
wantMsg string
|
||||
wantCode ErrorCode
|
||||
}{
|
||||
{"invalid suffix format", NewThinkingError(ErrInvalidSuffix, "invalid suffix format: model(abc"), "invalid suffix format: model(abc", ErrInvalidSuffix},
|
||||
{"unknown level", NewThinkingError(ErrUnknownLevel, "unknown level: ultra"), "unknown level: ultra", ErrUnknownLevel},
|
||||
{"level not supported", NewThinkingError(ErrLevelNotSupported, "level \"xhigh\" not supported, valid levels: low, medium, high"), "level \"xhigh\" not supported, valid levels: low, medium, high", ErrLevelNotSupported},
|
||||
{"thinking not supported", NewThinkingErrorWithModel(ErrThinkingNotSupported, "thinking not supported for this model", "claude-haiku"), "thinking not supported for this model", ErrThinkingNotSupported},
|
||||
{"provider mismatch", NewThinkingError(ErrProviderMismatch, "provider mismatch: expected claude, got gemini"), "provider mismatch: expected claude, got gemini", ErrProviderMismatch},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := tt.err.Error(); got != tt.wantMsg {
|
||||
t.Errorf("Error() = %q, want %q", got, tt.wantMsg)
|
||||
}
|
||||
if tt.err.Code != tt.wantCode {
|
||||
t.Errorf("Code = %q, want %q", tt.err.Code, tt.wantCode)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user