@@ -374,6 +374,39 @@ describe("Primitive encoder", function() {
374374 encoded = parser . encode ( { a : "abcdefgh" } ) ;
375375 assert . deepEqual ( encoded , Buffer . from ( "abcdef" ) ) ;
376376 } ) ;
377+ it ( "should encode string with right padding and provided padding char" , function ( ) {
378+ var parser = Parser . start ( ) . string ( "a" , { length : 6 , padd : "x" } ) ;
379+ var encoded = parser . encode ( { a : "abcd" } ) ;
380+ assert . deepEqual ( encoded , Buffer . from ( "abcdxx" ) ) ;
381+ encoded = parser . encode ( { a : "abcdefgh" } ) ;
382+ assert . deepEqual ( encoded , Buffer . from ( "abcdef" ) ) ;
383+ } ) ;
384+ it ( "should encode string with left padding and provided padding char" , function ( ) {
385+ var parser = Parser . start ( ) . string ( "a" , {
386+ length : 6 ,
387+ padding : "left" ,
388+ padd : "."
389+ } ) ;
390+ var encoded = parser . encode ( { a : "abcd" } ) ;
391+ assert . deepEqual ( encoded , Buffer . from ( "..abcd" ) ) ;
392+ encoded = parser . encode ( { a : "abcdefgh" } ) ;
393+ assert . deepEqual ( encoded , Buffer . from ( "abcdef" ) ) ;
394+ } ) ;
395+ it ( "should encode string with padding and padding char 0" , function ( ) {
396+ var parser = Parser . start ( ) . string ( "a" , { length : 6 , padd : "\u0000" } ) ;
397+ var encoded = parser . encode ( { a : "abcd" } ) ;
398+ assert . deepEqual ( encoded , Buffer . from ( "abcd\u0000\u0000" ) ) ;
399+ } ) ;
400+ it ( "should encode string with padding and first byte of padding char" , function ( ) {
401+ var parser = Parser . start ( ) . string ( "a" , { length : 6 , padd : "1234" } ) ;
402+ var encoded = parser . encode ( { a : "abcd" } ) ;
403+ assert . deepEqual ( encoded , Buffer . from ( "abcd11" ) ) ;
404+ } ) ;
405+ it ( "should encode string with space padding when padd char is not encoded on 1 Byte" , function ( ) {
406+ var parser = Parser . start ( ) . string ( "a" , { length : 6 , padd : "こ" } ) ;
407+ var encoded = parser . encode ( { a : "abcd" } ) ;
408+ assert . deepEqual ( encoded , Buffer . from ( "abcd " ) ) ;
409+ } ) ;
377410 } ) ;
378411
379412 describe ( "Buffer encoder" , function ( ) {
0 commit comments