...
1 package strictyaml
2
3 import (
4 "io"
5 "testing"
6
7 "github.com/letsencrypt/boulder/test"
8 )
9
10 var (
11 emptyConfig = []byte(``)
12 validConfig = []byte(`
13 a: c
14 d: c
15 `)
16 invalidConfig1 = []byte(`
17 x: y
18 `)
19
20 invalidConfig2 = []byte(`
21 a: c
22 d: c
23 x:
24 - hey
25 `)
26 )
27
28 func TestStrictYAMLUnmarshal(t *testing.T) {
29 var config struct {
30 A string `yaml:"a"`
31 D string `yaml:"d"`
32 }
33
34 err := Unmarshal(validConfig, &config)
35 test.AssertNotError(t, err, "yaml: unmarshal errors")
36 test.AssertNotError(t, err, "EOF")
37
38 err = Unmarshal(invalidConfig1, &config)
39 test.AssertError(t, err, "yaml: unmarshal errors")
40
41 err = Unmarshal(invalidConfig2, &config)
42 test.AssertError(t, err, "yaml: unmarshal errors")
43
44
45 err = Unmarshal(emptyConfig, &config)
46 test.AssertErrorIs(t, err, io.EOF)
47 }
48
View as plain text