@@ -3,6 +3,7 @@ package zuc
33import (
44 "bytes"
55 "crypto/cipher"
6+ "encoding"
67 "encoding/hex"
78 "testing"
89
@@ -113,9 +114,12 @@ func TestXORStreamAt(t *testing.T) {
113114 t .Errorf ("expected=%x, result=%x\n " , expected [32 :64 ], dst [32 :64 ])
114115 }
115116 }
117+ data , _ := c .(encoding.BinaryMarshaler ).MarshalBinary ()
118+ c2 := NewEmptyEEACipher ()
119+ c2 .(encoding.BinaryUnmarshaler ).UnmarshalBinary (data )
116120 for i := 1 ; i < 4 ; i ++ {
117121 c .XORKeyStreamAt (dst [:i ], src [:i ], 0 )
118- c .XORKeyStreamAt (dst [32 :64 ], src [32 :64 ], 32 )
122+ c2 .XORKeyStreamAt (dst [32 :64 ], src [32 :64 ], 32 )
119123 if ! bytes .Equal (dst [32 :64 ], expected [32 :64 ]) {
120124 t .Errorf ("expected=%x, result=%x\n " , expected [32 :64 ], dst [32 :64 ])
121125 }
@@ -128,8 +132,10 @@ func TestXORStreamAt(t *testing.T) {
128132 if ! bytes .Equal (dst [3 :16 ], expected [3 :16 ]) {
129133 t .Errorf ("expected=%x, result=%x\n " , expected [3 :16 ], dst [3 :16 ])
130134 }
135+ data , _ := c .(encoding.BinaryMarshaler ).MarshalBinary ()
136+ c2 , _ := UnmarshalEEACipher (data )
131137 c .XORKeyStreamAt (dst [:1 ], src [:1 ], 0 )
132- c .XORKeyStreamAt (dst [4 :16 ], src [4 :16 ], 4 )
138+ c2 .XORKeyStreamAt (dst [4 :16 ], src [4 :16 ], 4 )
133139 if ! bytes .Equal (dst [4 :16 ], expected [4 :16 ]) {
134140 t .Errorf ("expected=%x, result=%x\n " , expected [3 :16 ], dst [3 :16 ])
135141 }
0 commit comments