File: yaml_default.go

package info (click to toggle)
golang-testify 1.10.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid, trixie
  • size: 920 kB
  • sloc: makefile: 2
file content (37 lines) | stat: -rw-r--r-- 1,560 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//go:build !testify_yaml_fail && !testify_yaml_custom
// +build !testify_yaml_fail,!testify_yaml_custom

// Package yaml is just an indirection to handle YAML deserialization.
//
// This package is just an indirection that allows the builder to override the
// indirection with an alternative implementation of this package that uses
// another implementation of YAML deserialization. This allows to not either not
// use YAML deserialization at all, or to use another implementation than
// [gopkg.in/yaml.v3] (for example for license compatibility reasons, see [PR #1120]).
//
// Alternative implementations are selected using build tags:
//
//   - testify_yaml_fail: [Unmarshal] always fails with an error
//   - testify_yaml_custom: [Unmarshal] is a variable. Caller must initialize it
//     before calling any of [github.com/stretchr/testify/assert.YAMLEq] or
//     [github.com/stretchr/testify/assert.YAMLEqf].
//
// Usage:
//
//	go test -tags testify_yaml_fail
//
// You can check with "go list" which implementation is linked:
//
//	go list -f '{{.Imports}}' github.com/stretchr/testify/assert/yaml
//	go list -tags testify_yaml_fail -f '{{.Imports}}' github.com/stretchr/testify/assert/yaml
//	go list -tags testify_yaml_custom -f '{{.Imports}}' github.com/stretchr/testify/assert/yaml
//
// [PR #1120]: https://github.com/stretchr/testify/pull/1120
package yaml

import goyaml "gopkg.in/yaml.v3"

// Unmarshal is just a wrapper of [gopkg.in/yaml.v3.Unmarshal].
func Unmarshal(in []byte, out interface{}) error {
	return goyaml.Unmarshal(in, out)
}