| // Copyright 2023 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package slogtest_test |
| |
| import ( |
| "bytes" |
| "encoding/json" |
| "log/slog" |
| "testing" |
| "testing/slogtest" |
| ) |
| |
| func TestRun(t *testing.T) { |
| var buf bytes.Buffer |
| |
| newHandler := func(*testing.T) slog.Handler { |
| buf.Reset() |
| return slog.NewJSONHandler(&buf, nil) |
| } |
| result := func(t *testing.T) map[string]any { |
| m := map[string]any{} |
| if err := json.Unmarshal(buf.Bytes(), &m); err != nil { |
| t.Fatal(err) |
| } |
| return m |
| } |
| |
| slogtest.Run(t, newHandler, result) |
| } |