@@ -173,14 +173,60 @@ describe("CloudEvents Spec v1.0", () => {
173173 expect ( typeof ce . data ) . to . equal ( "string" ) ;
174174 } ) ;
175175
176- it ( "should be ok when type is 'Uint32Array' for 'Binary'" , ( ) => {
177- const dataString = ")(*~^my data for ce#@#$%" ;
178-
179- const dataBinary = Uint32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ;
180- const expected = asBase64 ( dataBinary ) ;
181-
182- const ce = cloudevent . cloneWith ( { datacontenttype : "text/plain" , data : dataBinary } ) ;
183- expect ( ce . data_base64 ) . to . equal ( expected ) ;
176+ const dataString = ")(*~^my data for ce#@#$%" ;
177+ const testCases = [
178+ {
179+ type : Int8Array ,
180+ data : Int8Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
181+ expected : asBase64 ( Int8Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
182+ } ,
183+ {
184+ type : Uint8Array ,
185+ data : Uint8Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
186+ expected : asBase64 ( Uint8Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
187+ } ,
188+ {
189+ type : Int16Array ,
190+ data : Int16Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
191+ expected : asBase64 ( Int16Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
192+ } ,
193+ {
194+ type : Uint16Array ,
195+ data : Uint16Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
196+ expected : asBase64 ( Uint16Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
197+ } ,
198+ {
199+ type : Int32Array ,
200+ data : Int32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
201+ expected : asBase64 ( Int32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
202+ } ,
203+ {
204+ type : Uint32Array ,
205+ data : Uint32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
206+ expected : asBase64 ( Uint32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
207+ } ,
208+ {
209+ type : Uint8ClampedArray ,
210+ data : Uint8ClampedArray . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
211+ expected : asBase64 ( Uint8ClampedArray . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
212+ } ,
213+ {
214+ type : Float32Array ,
215+ data : Float32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
216+ expected : asBase64 ( Float32Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
217+ } ,
218+ {
219+ type : Float64Array ,
220+ data : Float64Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) ,
221+ expected : asBase64 ( Float64Array . from ( dataString , ( c ) => c . codePointAt ( 0 ) as number ) )
222+ } ,
223+ ] ;
224+
225+ testCases . forEach ( ( test ) => {
226+ it ( `should be ok when type is '${ test . type . name } ' for 'Binary'` , ( ) => {
227+ const ce = cloudevent . cloneWith ( { datacontenttype : "text/plain" , data : test . data } ) ;
228+ expect ( ce . data_base64 ) . to . equal ( test . expected ) ;
229+ } ) ;
184230 } ) ;
185231 } ) ;
186232} ) ;
0 commit comments