Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / internal / event / export / log_test.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201028153306-37f0764111ff/internal/event/export/log_test.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201028153306-37f0764111ff/internal/event/export/log_test.go
new file mode 100644 (file)
index 0000000..8b553db
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright 2020 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 export_test
+
+import (
+       "context"
+       "errors"
+       "os"
+       "time"
+
+       "golang.org/x/tools/internal/event"
+       "golang.org/x/tools/internal/event/core"
+       "golang.org/x/tools/internal/event/export"
+       "golang.org/x/tools/internal/event/keys"
+       "golang.org/x/tools/internal/event/label"
+)
+
+func ExampleLog() {
+       ctx := context.Background()
+       event.SetExporter(timeFixer(export.LogWriter(os.Stdout, false)))
+       anInt := keys.NewInt("myInt", "an integer")
+       aString := keys.NewString("myString", "a string")
+       event.Log(ctx, "my event", anInt.Of(6))
+       event.Error(ctx, "error event", errors.New("an error"), aString.Of("some string value"))
+       // Output:
+       // 2020/03/05 14:27:48 my event
+       //      myInt=6
+       // 2020/03/05 14:27:48 error event: an error
+       //      myString="some string value"
+}
+
+func timeFixer(output event.Exporter) event.Exporter {
+       at, _ := time.Parse(time.RFC3339Nano, "2020-03-05T14:27:48Z")
+       return func(ctx context.Context, ev core.Event, lm label.Map) context.Context {
+               copy := core.CloneEvent(ev, at)
+               return output(ctx, copy, lm)
+       }
+}