@@ -14,7 +14,7 @@ import (
14
14
"github.com/stretchr/testify/require"
15
15
)
16
16
17
- func TestJSON (t * testing.T ) {
17
+ func TestJSONParseVersion (t * testing.T ) {
18
18
testVersion := "1.2.3-aaa.4.5.6+bbb.7.8.9"
19
19
v , err := Parse (testVersion )
20
20
require .NoError (t , err )
@@ -37,4 +37,29 @@ func TestJSON(t *testing.T) {
37
37
38
38
err = json .Unmarshal ([]byte (`"invalid"` ), & u )
39
39
require .Error (t , err )
40
+
41
+ err = json .Unmarshal ([]byte (`123` ), & u )
42
+ require .Error (t , err )
43
+ }
44
+
45
+ func TestJSONParseRelaxedVersion (t * testing.T ) {
46
+ testVersion := "1.2.3-aaa.4.5.6+bbb.7.8.9"
47
+ v := ParseRelaxed (testVersion )
48
+
49
+ data , err := json .Marshal (v )
50
+ fmt .Println (string (data ))
51
+ require .NoError (t , err )
52
+
53
+ var u RelaxedVersion
54
+ err = json .Unmarshal (data , & u )
55
+ require .NoError (t , err )
56
+
57
+ require .Equal (t , testVersion , v .String ())
58
+
59
+ err = json .Unmarshal ([]byte (`"invalid"` ), & u )
60
+ require .NoError (t , err )
61
+ require .Equal (t , "invalid" , u .String ())
62
+
63
+ err = json .Unmarshal ([]byte (`123` ), & u )
64
+ require .Error (t , err )
40
65
}
0 commit comments