mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
59 lines
2.0 KiB
Go
59 lines
2.0 KiB
Go
package utils
|
|
|
|
import "testing"
|
|
|
|
func TestFormatToolFeedbackMessage(t *testing.T) {
|
|
got := FormatToolFeedbackMessage(
|
|
"read_file",
|
|
"I will read README.md first to confirm the current project structure.",
|
|
"{\n \"path\": \"README.md\"\n}",
|
|
)
|
|
want := "\U0001f527 `read_file`\nI will read README.md first to confirm the current project structure.\n```json\n{\n \"path\": \"README.md\"\n}\n```"
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFormatToolFeedbackMessage_EmptyExplanationShowsArgs(t *testing.T) {
|
|
got := FormatToolFeedbackMessage("read_file", "", "{\n \"path\": \"README.md\"\n}")
|
|
want := "\U0001f527 `read_file`\n```json\n{\n \"path\": \"README.md\"\n}\n```"
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFormatToolFeedbackMessage_EmptyToolNameOmitsToolLine(t *testing.T) {
|
|
got := FormatToolFeedbackMessage("", "Continue drafting the final response.", "")
|
|
want := "Continue drafting the final response."
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFormatToolFeedbackMessage_EmptyExplanationAndArgsKeepsOnlyToolLine(t *testing.T) {
|
|
got := FormatToolFeedbackMessage("read_file", "", "")
|
|
want := "\U0001f527 `read_file`"
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFitToolFeedbackMessage_TruncatesBodyWithinSingleMessage(t *testing.T) {
|
|
got := FitToolFeedbackMessage(
|
|
"\U0001f527 `read_file`\nRead README.md first to confirm the current project structure.",
|
|
40,
|
|
)
|
|
want := "\U0001f527 `read_file`\nRead README.md first to..."
|
|
if got != want {
|
|
t.Fatalf("FitToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFitToolFeedbackMessage_TruncatesSingleLineMessage(t *testing.T) {
|
|
got := FitToolFeedbackMessage("\U0001f527 `read_file`", 10)
|
|
want := "\U0001f527 `read..."
|
|
if got != want {
|
|
t.Fatalf("FitToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|