Co-authored-by: dyhhhhhqwer <1613203335@qq.com> Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/221
28 lines
906 B
Go
28 lines
906 B
Go
package service
|
|
|
|
import "testing"
|
|
|
|
func TestExtractJSONTextSkipsProseAndMarkdownFence(t *testing.T) {
|
|
raw := "先说明一下,{这不是有效 JSON}。\n```json\n{\"characters\":[{\"name\":\"林夏\",\"aliases\":[]}]}\n```\n"
|
|
got, err := extractJSONText(raw)
|
|
if err != nil {
|
|
t.Fatalf("extractJSONText() error = %v", err)
|
|
}
|
|
want := `{"characters":[{"name":"林夏","aliases":[]}]}`
|
|
if got != want {
|
|
t.Fatalf("extractJSONText() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestExtractJSONTextHandlesBracesInJSONString(t *testing.T) {
|
|
raw := "```json\n{\"characters\":[{\"name\":\"林夏\",\"role\":\"拿着{小夜灯}的租客\"}]}\n```"
|
|
got, err := extractJSONText(raw)
|
|
if err != nil {
|
|
t.Fatalf("extractJSONText() error = %v", err)
|
|
}
|
|
want := `{"characters":[{"name":"林夏","role":"拿着{小夜灯}的租客"}]}`
|
|
if got != want {
|
|
t.Fatalf("extractJSONText() = %q, want %q", got, want)
|
|
}
|
|
}
|