1// Copyright 2023 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package slogtest_test
6
7import (
8	"bytes"
9	"encoding/json"
10	"log/slog"
11	"testing"
12	"testing/slogtest"
13)
14
15func TestRun(t *testing.T) {
16	var buf bytes.Buffer
17
18	newHandler := func(*testing.T) slog.Handler {
19		buf.Reset()
20		return slog.NewJSONHandler(&buf, nil)
21	}
22	result := func(t *testing.T) map[string]any {
23		m := map[string]any{}
24		if err := json.Unmarshal(buf.Bytes(), &m); err != nil {
25			t.Fatal(err)
26		}
27		return m
28	}
29
30	slogtest.Run(t, newHandler, result)
31}
32