Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/JAVA/Openclaw/scripts/docs-i18n/   (KI Agentensystem Version 22©)  Datei vom 26.3.2026 mit Größe 2 kB image not shown  

Quelle  pi_rpc_client_test.go   Sprache: unbekannt

 
Spracherkennung für: .go vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

package main

import (
 "strings"
 "testing"
)

func TestExtractTranslationResultIncludesStopReasonAndPreview(t *testing.T) {
 t.Parallel()

 raw := []byte(`{
  "type":"agent_end",
  "messages":[
   {
    "role":"assistant",
    "stopReason":"terminated",
    "content":[
     {"type":"text","text":"provider disconnected while streaming the translation chunk"}
    ]
   }
  ]
 }`)

 _, err := extractTranslationResult(raw)
 if err == nil {
  t.Fatal("expected error")
 }
 message := err.Error()
 for _, want := range []string{
  "pi error:",
  "stopReason=terminated",
  "assistant=provider disconnected while streaming the translation chunk",
 } {
  if !strings.Contains(message, want) {
   t.Fatalf("expected %q in error, got %q", want, message)
  }
 }
}

func TestPreviewPiAssistantTextTruncatesAndFlattensWhitespace(t *testing.T) {
 t.Parallel()

 input := "line one\n\nline   two\tline three " + strings.Repeat("x", 200)
 preview := previewPiAssistantText(input)
 if strings.Contains(preview, "\n") {
  t.Fatalf("expected flattened whitespace, got %q", preview)
 }
 if !strings.HasPrefix(preview, "line one line two line three ") {
  t.Fatalf("unexpected preview prefix: %q", preview)
 }
 if !strings.HasSuffix(preview, "...") {
  t.Fatalf("expected truncation suffix, got %q", preview)
 }
}

func TestExtractTranslationResultReturnsPiErrorBeforeDecodingStructuredErrorContent(t *testing.T) {
 t.Parallel()

 raw := []byte(`{
  "type":"agent_end",
  "messages":[
   {
    "role":"assistant",
    "stopReason":"terminated",
    "content":{"type":"error","message":"provider disconnected"}
   }
  ]
 }`)

 _, err := extractTranslationResult(raw)
 if err == nil {
  t.Fatal("expected error")
 }
 message := err.Error()
 if !strings.Contains(message, "pi error:") {
  t.Fatalf("expected normalized pi error, got %q", message)
 }
 if !strings.Contains(message, "stopReason=terminated") {
  t.Fatalf("expected stopReason in error, got %q", message)
 }
 if strings.Contains(message, "cannot unmarshal") {
  t.Fatalf("expected terminal pi error before decode failure, got %q", message)
 }
}

[Dauer der Verarbeitung: 0.12 Sekunden, vorverarbeitet 2026-04-27]