@@ -173,14 +173,60 @@ describe("CloudEvents Spec v1.0", () => {
173
173
expect ( typeof ce . data ) . to . equal ( "string" ) ;
174
174
} ) ;
175
175
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
+ } ) ;
184
230
} ) ;
185
231
} ) ;
186
232
} ) ;
0 commit comments