11import * as NodeTest from 'node:test' ;
22import * as NodeAssert from 'node:assert' ;
3- import { toChunks } from './ToChunks' ;
3+ import { toChunks , toChunksBackward } from './ToChunks' ;
44
55NodeTest . describe ( 'Function String.toChunks' , ( ) => {
66
@@ -26,5 +26,35 @@ NodeTest.describe('Function String.toChunks', () => {
2626 NodeAssert . deepStrictEqual ( toChunks ( 'abcdefghij' , 5 ) , [ 'abcde' , 'fghij' ] ) ;
2727 NodeAssert . deepStrictEqual ( toChunks ( 'abcdefghij' , 10 ) , [ 'abcdefghij' ] ) ;
2828 NodeAssert . deepStrictEqual ( toChunks ( 'abcdefghi' , 10 ) , [ 'abcdefghi' ] ) ;
29+ NodeAssert . deepStrictEqual ( toChunks ( 'abcdefghij' , 1 ) , [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' ] ) ;
30+ } ) ;
31+ } ) ;
32+
33+ NodeTest . describe ( 'Function String.toChunksBackward' , ( ) => {
34+
35+ NodeTest . it ( 'Should return empty if the string is empty' , ( ) => {
36+
37+ NodeAssert . deepStrictEqual ( toChunksBackward ( '' , 1 ) , [ ] ) ;
38+ NodeAssert . deepStrictEqual ( toChunksBackward ( '' , 1000 ) , [ ] ) ;
39+ } ) ;
40+
41+ NodeTest . it ( 'Should throw exception if chunk size is not a positive integer' , ( ) => {
42+
43+ NodeAssert . throws ( ( ) => toChunksBackward ( 'abc' , 0 ) , RangeError ) ;
44+ NodeAssert . throws ( ( ) => toChunksBackward ( 'abc' , - 1 ) , RangeError ) ;
45+ NodeAssert . throws ( ( ) => toChunksBackward ( 'abc' , 1.5 ) , RangeError ) ;
46+ NodeAssert . throws ( ( ) => toChunksBackward ( 'abc' , NaN ) , RangeError ) ;
47+ NodeAssert . throws ( ( ) => toChunksBackward ( 'abc' , Infinity ) , RangeError ) ;
48+ } ) ;
49+
50+ NodeTest . it ( 'Should return chunks of the specified size' , ( ) => {
51+
52+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcde' , 2 ) , [ 'a' , 'bc' , 'de' ] ) ;
53+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcdefghij' , 3 ) , [ 'a' , 'bcd' , 'efg' , 'hij' ] ) ;
54+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcdefghij' , 5 ) , [ 'abcde' , 'fghij' ] ) ;
55+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcdefghij' , 10 ) , [ 'abcdefghij' ] ) ;
56+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcdefghi' , 10 ) , [ 'abcdefghi' ] ) ;
57+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcdefghij' , 1 ) , [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' ] ) ;
58+ NodeAssert . deepStrictEqual ( toChunksBackward ( 'abcdefghij' , 11 ) , [ 'abcdefghij' ] ) ;
2959 } ) ;
3060} ) ;
0 commit comments