@@ -61,81 +61,171 @@ test('windows', async t => {
6161 Array . from ( nats ( 5 ) . windows ( 2 ) ) ,
6262 [ [ 0 , 1 ] , [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ,
6363 ) ;
64+ assert . deepEqual (
65+ Array . from ( nats ( 5 ) . windows ( 2 , undefined ) ) ,
66+ [ [ 0 , 1 ] , [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ,
67+ ) ;
68+ assert . deepEqual (
69+ Array . from ( nats ( 5 ) . windows ( 2 , "only full" ) ) ,
70+ [ [ 0 , 1 ] , [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ,
71+ ) ;
72+ assert . deepEqual (
73+ Array . from ( nats ( 5 ) . windows ( 2 , "allow partial" ) ) ,
74+ [ [ 0 , 1 ] , [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ,
75+ ) ;
76+
6477 assert . deepEqual (
6578 Array . from ( nats ( 5 ) . windows ( 1 ) ) ,
6679 [ [ 0 ] , [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] ] ,
6780 ) ;
81+ assert . deepEqual (
82+ Array . from ( nats ( 5 ) . windows ( 1 , undefined ) ) ,
83+ [ [ 0 ] , [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] ] ,
84+ ) ;
85+ assert . deepEqual (
86+ Array . from ( nats ( 5 ) . windows ( 1 , "only full" ) ) ,
87+ [ [ 0 ] , [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] ] ,
88+ ) ;
89+ assert . deepEqual (
90+ Array . from ( nats ( 5 ) . windows ( 1 , "allow partial" ) ) ,
91+ [ [ 0 ] , [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] ] ,
92+ ) ;
93+
6894 assert . deepEqual (
6995 Array . from ( nats ( 6 ) . windows ( 3 ) ) ,
7096 [ [ 0 , 1 , 2 ] , [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] , [ 3 , 4 , 5 ] ] ,
7197 ) ;
98+ assert . deepEqual (
99+ Array . from ( nats ( 6 ) . windows ( 3 , undefined ) ) ,
100+ [ [ 0 , 1 , 2 ] , [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] , [ 3 , 4 , 5 ] ] ,
101+ ) ;
102+ assert . deepEqual (
103+ Array . from ( nats ( 6 ) . windows ( 3 , "only full" ) ) ,
104+ [ [ 0 , 1 , 2 ] , [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] , [ 3 , 4 , 5 ] ] ,
105+ ) ;
106+ assert . deepEqual (
107+ Array . from ( nats ( 6 ) . windows ( 3 , "allow partial" ) ) ,
108+ [ [ 0 , 1 , 2 ] , [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] , [ 3 , 4 , 5 ] ] ,
109+ ) ;
110+
72111 assert . deepEqual (
73112 Array . from ( nats ( 6 ) . windows ( 100 ) ) ,
74113 [ ] ,
75114 ) ;
115+ assert . deepEqual (
116+ Array . from ( nats ( 6 ) . windows ( 100 , undefined ) ) ,
117+ [ ] ,
118+ ) ;
119+ assert . deepEqual (
120+ Array . from ( nats ( 6 ) . windows ( 100 , "only full" ) ) ,
121+ [ ] ,
122+ ) ;
123+ assert . deepEqual (
124+ Array . from ( nats ( 6 ) . windows ( 100 , "allow partial" ) ) ,
125+ [ [ 0 , 1 , 2 , 3 , 4 , 5 ] ] ,
126+ ) ;
127+
76128 assert . deepEqual (
77129 Array . from ( nats ( 0 ) . windows ( 2 ) ) ,
78130 [ ] ,
79131 ) ;
132+ assert . deepEqual (
133+ Array . from ( nats ( 0 ) . windows ( 2 , undefined ) ) ,
134+ [ ] ,
135+ ) ;
136+ assert . deepEqual (
137+ Array . from ( nats ( 0 ) . windows ( 2 , "only full" ) ) ,
138+ [ ] ,
139+ ) ;
140+ assert . deepEqual (
141+ Array . from ( nats ( 0 ) . windows ( 2 , "allow partial" ) ) ,
142+ [ ] ,
143+ ) ;
80144
81145 assert . throws ( ( ) => {
82146 nats ( 1 ) . windows ( )
83- } , RangeError )
147+ } , RangeError ) ;
148+ assert . throws ( ( ) => {
149+ nats ( 1 ) . windows ( undefined , "only full" )
150+ } , RangeError ) ;
151+ assert . throws ( ( ) => {
152+ nats ( 1 ) . windows ( undefined , "allow partial" )
153+ } , RangeError ) ;
154+
84155 assert . throws ( ( ) => {
85156 nats ( 1 ) . windows ( [ 2 ] ) ;
86- } , RangeError )
157+ } , RangeError ) ;
158+ assert . throws ( ( ) => {
159+ nats ( 1 ) . windows ( [ 2 ] , "only full" ) ;
160+ } , RangeError ) ;
161+ assert . throws ( ( ) => {
162+ nats ( 1 ) . windows ( [ 2 ] , "allow partial" ) ;
163+ } , RangeError ) ;
164+
87165 assert . throws ( ( ) => {
88166 nats ( 1 ) . windows ( 0 ) ;
89- } , RangeError )
167+ } , RangeError ) ;
168+ assert . throws ( ( ) => {
169+ nats ( 1 ) . windows ( 0 , undefined ) ;
170+ } , RangeError ) ;
171+ assert . throws ( ( ) => {
172+ nats ( 1 ) . windows ( 0 , "only full" ) ;
173+ } , RangeError ) ;
174+ assert . throws ( ( ) => {
175+ nats ( 1 ) . windows ( 0 , "allow partial" ) ;
176+ } , RangeError ) ;
177+
90178 assert . throws ( ( ) => {
91179 nats ( 1 ) . windows ( - 1 ) ;
92- } , RangeError )
180+ } , RangeError ) ;
93181 assert . throws ( ( ) => {
94- nats ( 1 ) . windows ( 1.5 ) ;
95- } , RangeError )
182+ nats ( 1 ) . windows ( - 1 , undefined ) ;
183+ } , RangeError ) ;
96184 assert . throws ( ( ) => {
97- nats ( 1 ) . windows ( Math . pow ( 2 , 53 ) ) ;
98- } , RangeError )
99- } ) ;
185+ nats ( 1 ) . windows ( - 1 , "only full" ) ;
186+ } , RangeError ) ;
187+ assert . throws ( ( ) => {
188+ nats ( 1 ) . windows ( - 1 , "allow partial" ) ;
189+ } , RangeError ) ;
100190
101- test ( 'sliding' , async t => {
102- assert . deepEqual (
103- Array . from ( nats ( 5 ) . sliding ( 2 ) ) ,
104- [ [ 0 , 1 ] , [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ,
105- ) ;
106- assert . deepEqual (
107- Array . from ( nats ( 5 ) . sliding ( 1 ) ) ,
108- [ [ 0 ] , [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] ] ,
109- ) ;
110- assert . deepEqual (
111- Array . from ( nats ( 6 ) . sliding ( 3 ) ) ,
112- [ [ 0 , 1 , 2 ] , [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] , [ 3 , 4 , 5 ] ] ,
113- ) ;
114- assert . deepEqual (
115- Array . from ( nats ( 6 ) . sliding ( 100 ) ) ,
116- [ [ 0 , 1 , 2 , 3 , 4 , 5 ] ] ,
117- ) ;
118- assert . deepEqual (
119- Array . from ( nats ( 0 ) . sliding ( 2 ) ) ,
120- [ ] ,
121- ) ;
191+ assert . throws ( ( ) => {
192+ nats ( 1 ) . windows ( 1.5 ) ;
193+ } , RangeError ) ;
194+ assert . throws ( ( ) => {
195+ nats ( 1 ) . windows ( 1.5 , undefined ) ;
196+ } , RangeError ) ;
197+ assert . throws ( ( ) => {
198+ nats ( 1 ) . windows ( 1.5 , "only full" ) ;
199+ } , RangeError ) ;
200+ assert . throws ( ( ) => {
201+ nats ( 1 ) . windows ( 1.5 , "allow partial" ) ;
202+ } , RangeError ) ;
122203
123204 assert . throws ( ( ) => {
124- nats ( 1 ) . sliding ( )
125- } , RangeError )
205+ nats ( 1 ) . windows ( Math . pow ( 2 , 53 ) ) ;
206+ } , RangeError ) ;
126207 assert . throws ( ( ) => {
127- nats ( 1 ) . sliding ( [ 2 ] ) ;
128- } , RangeError )
208+ nats ( 1 ) . windows ( Math . pow ( 2 , 53 ) , undefined ) ;
209+ } , RangeError ) ;
129210 assert . throws ( ( ) => {
130- nats ( 1 ) . sliding ( 0 ) ;
131- } , RangeError )
211+ nats ( 1 ) . windows ( Math . pow ( 2 , 53 ) , "only full" ) ;
212+ } , RangeError ) ;
132213 assert . throws ( ( ) => {
133- nats ( 1 ) . sliding ( - 1 ) ;
134- } , RangeError )
214+ nats ( 1 ) . windows ( Math . pow ( 2 , 53 ) , "allow partial" ) ;
215+ } , RangeError ) ;
216+
135217 assert . throws ( ( ) => {
136- nats ( 1 ) . sliding ( 1.5 ) ;
137- } , RangeError )
218+ nats ( 1 ) . windows ( 1 , "something else" ) ;
219+ } , TypeError ) ;
138220 assert . throws ( ( ) => {
139- nats ( 1 ) . sliding ( Math . pow ( 2 , 53 ) ) ;
140- } , RangeError )
221+ nats ( 1 ) . windows ( 1 , "" ) ;
222+ } , TypeError ) ;
223+ assert . throws ( ( ) => {
224+ nats ( 1 ) . windows ( 1 , null ) ;
225+ } , TypeError ) ;
226+
227+ assert . throws ( ( ) => {
228+ nats ( 1 ) . windows ( 0 , "something else" ) ;
229+ } , RangeError ) ;
230+
141231} ) ;
0 commit comments