-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathextensions_test.go
96 lines (72 loc) · 1.81 KB
/
extensions_test.go
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Copyright 2024 Contributors to the Veraison project.
// SPDX-License-Identifier: Apache-2.0
package comid
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
)
var FlagTestFlag = Flag(-1)
type TestExtension struct {
TestFlag *bool
}
func (o *TestExtension) ConstrainComid(_ *Comid) error {
return errors.New("invalid")
}
func (o *TestExtension) ValidTriples(_ *Triples) error {
return errors.New("invalid")
}
func (o *TestExtension) ConstrainMval(_ *Mval) error {
return errors.New("invalid")
}
func (o *TestExtension) ConstrainFlagsMap(_ *FlagsMap) error {
return errors.New("invalid")
}
func (o *TestExtension) ConstrainEntity(_ *Entity) error {
return errors.New("invalid")
}
func (o *TestExtension) SetTrue(flag Flag) {
if flag == FlagTestFlag {
o.TestFlag = &True
}
}
func (o *TestExtension) SetFalse(flag Flag) {
if flag == FlagTestFlag {
o.TestFlag = &False
}
}
func (o *TestExtension) Clear(flag Flag) {
if flag == FlagTestFlag {
o.TestFlag = nil
}
}
func (o *TestExtension) Get(flag Flag) *bool {
if flag == FlagTestFlag {
return o.TestFlag
}
return nil
}
func (o *TestExtension) AnySet() bool {
return o.TestFlag != nil
}
func Test_Extensions(t *testing.T) {
exts := Extensions{}
exts.Register(&TestExtension{})
err := exts.validComid(nil)
assert.EqualError(t, err, "invalid")
err = exts.validTriples(nil)
assert.EqualError(t, err, "invalid")
err = exts.validMval(nil)
assert.EqualError(t, err, "invalid")
err = exts.validEntity(nil)
assert.EqualError(t, err, "invalid")
err = exts.validFlagsMap(nil)
assert.EqualError(t, err, "invalid")
assert.False(t, exts.anySet())
exts.setTrue(FlagTestFlag)
exts.setFalse(FlagTestFlag)
assert.False(t, *exts.get(FlagTestFlag))
exts.clear(FlagTestFlag)
assert.Nil(t, exts.get(FlagTestFlag))
assert.False(t, exts.anySet())
}