File tree 6 files changed +23
-0
lines changed
6 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,7 @@ func (v *Version) UnmarshalBinary(data []byte) error {
53
53
54
54
buff , data = decodeArray (data )
55
55
v .raw = string (buff )
56
+ v .bytes = []byte (v .raw )
56
57
v .major , data = decodeInt (data )
57
58
v .minor , data = decodeInt (data )
58
59
v .patch , data = decodeInt (data )
Original file line number Diff line number Diff line change @@ -35,6 +35,18 @@ func TestGOBEncoderVersion(t *testing.T) {
35
35
36
36
require .Equal (t , dumpV , dumpU )
37
37
require .Equal (t , testVersion , u .String ())
38
+
39
+ {
40
+ dataV := new (bytes.Buffer )
41
+ dataU := new (bytes.Buffer )
42
+ require .NoError (t , gob .NewEncoder (dataV ).Encode (MustParse ("1.6.2" )))
43
+ require .NoError (t , gob .NewEncoder (dataU ).Encode (MustParse ("1.6.3" )))
44
+
45
+ var v , u * Version
46
+ require .NoError (t , gob .NewDecoder (dataV ).Decode (& v ))
47
+ require .NoError (t , gob .NewDecoder (dataU ).Decode (& u ))
48
+ require .True (t , u .GreaterThan (v ))
49
+ }
38
50
}
39
51
40
52
func TestGOBEncoderRelaxedVersion (t * testing.T ) {
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ func (v *Version) UnmarshalJSON(data []byte) error {
27
27
}
28
28
29
29
v .raw = parsed .raw
30
+ v .bytes = []byte (v .raw )
30
31
v .major = parsed .major
31
32
v .minor = parsed .minor
32
33
v .patch = parsed .patch
Original file line number Diff line number Diff line change @@ -36,6 +36,10 @@ func TestJSONParseVersion(t *testing.T) {
36
36
37
37
err = json .Unmarshal ([]byte (`123` ), & u )
38
38
require .Error (t , err )
39
+
40
+ require .NoError (t , json .Unmarshal ([]byte (`"1.6.2"` ), & v ))
41
+ require .NoError (t , json .Unmarshal ([]byte (`"1.6.3"` ), & u ))
42
+ require .True (t , u .GreaterThan (v ))
39
43
}
40
44
41
45
func TestJSONParseRelaxedVersion (t * testing.T ) {
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ func (v *Version) UnmarshalYAML(node *yaml.Node) error {
27
27
}
28
28
29
29
v .raw = parsed .raw
30
+ v .bytes = []byte (v .raw )
30
31
v .major = parsed .major
31
32
v .minor = parsed .minor
32
33
v .patch = parsed .patch
Original file line number Diff line number Diff line change @@ -42,6 +42,10 @@ func TestYAMLParseVersion(t *testing.T) {
42
42
43
43
err = yaml .Unmarshal ([]byte (`invalid:` ), & u )
44
44
require .Error (t , err )
45
+
46
+ require .NoError (t , yaml .Unmarshal ([]byte (`"1.6.2"` ), & v ))
47
+ require .NoError (t , yaml .Unmarshal ([]byte (`"1.6.3"` ), & u ))
48
+ require .True (t , u .GreaterThan (v ))
45
49
}
46
50
47
51
func TestYAMLParseRelaxedVersion (t * testing.T ) {
You can’t perform that action at this time.
0 commit comments