package tdlibexec import "testing" func TestParseStdout(t *testing.T) { r, err := parseStdout([]byte("noise\n{\"ok\":true,\"error\":\"\",\"exit_code\":0}\n"), nil, 42) if err != nil || !r.OK || r.ExitCode != 0 || r.DurationMs != 42 { t.Fatalf("got %+v err=%v", r, err) } r2, err := parseStdout([]byte(`{"ok":false,"error":"bad","exit_code":2}`), nil, 1) if err != nil || r2.OK || r2.ExitCode != 2 || r2.Error != "bad" { t.Fatalf("got %+v err=%v", r2, err) } if _, err := parseStdout([]byte("no json"), nil, 0); err == nil { t.Fatal("expected error") } }