Skip to content

Commit 49335dd

Browse files
committed
Auto-generated commit
1 parent eae6813 commit 49335dd

3 files changed

Lines changed: 11 additions & 228 deletions

File tree

.github/.keepalive

Lines changed: 0 additions & 1 deletion
This file was deleted.

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,19 @@
3737
"url": "https://github.com/stdlib-js/stdlib/issues"
3838
},
3939
"dependencies": {
40-
"@stdlib/assert-has-own-property": "^0.1.0",
40+
"@stdlib/assert-has-own-property": "^0.1.1",
4141
"@stdlib/assert-is-nonnegative-integer": "^0.1.0",
42-
"@stdlib/assert-is-plain-object": "^0.1.0",
43-
"@stdlib/constants-float64-max-safe-integer": "^0.1.0",
44-
"@stdlib/string-format": "^0.1.0",
42+
"@stdlib/assert-is-plain-object": "^0.1.1",
43+
"@stdlib/constants-float64-max-safe-integer": "^0.1.1",
44+
"@stdlib/string-format": "^0.1.1",
4545
"@stdlib/symbol-iterator": "^0.1.0",
4646
"@stdlib/types": "^0.1.0",
47-
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.1.0"
47+
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.1.1"
4848
},
4949
"devDependencies": {
50-
"@stdlib/assert-is-iterator-like": "^0.1.0",
50+
"@stdlib/assert-is-iterator-like": "^0.1.1",
5151
"@stdlib/bench": "^0.1.0",
52-
"@stdlib/math-base-assert-is-nan": "^0.1.0",
52+
"@stdlib/math-base-assert-is-nan": "^0.1.1",
5353
"proxyquire": "^2.0.0",
5454
"tape": "git+https://github.com/kgryte/tape.git#fix/globby",
5555
"istanbul": "^0.4.1",

test/dist/test.js

Lines changed: 4 additions & 220 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* @license Apache-2.0
33
*
4-
* Copyright (c) 2020 The Stdlib Authors.
4+
* Copyright (c) 2023 The Stdlib Authors.
55
*
66
* Licensed under the Apache License, Version 2.0 (the "License");
77
* you may not use this file except in compliance with the License.
@@ -21,229 +21,13 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24-
var proxyquire = require( 'proxyquire' );
25-
var iteratorSymbol = require( '@stdlib/symbol-iterator' );
26-
var isNonNegativeInteger = require( '@stdlib/assert-is-nonnegative-integer' ).isPrimitive;
27-
var iterNonNegativeIntegersSeq = require( './../../dist' ); // eslint-disable-line id-length
24+
var main = require( './../../dist' );
2825

2926

3027
// TESTS //
3128

32-
tape( 'main export is a function', function test( t ) {
29+
tape( 'main export is defined', function test( t ) {
3330
t.ok( true, __filename );
34-
t.strictEqual( typeof iterNonNegativeIntegersSeq, 'function', 'main export is a function' );
35-
t.end();
36-
});
37-
38-
tape( 'the function throws an error if provided a first argument which is not an object', function test( t ) {
39-
var values;
40-
var i;
41-
42-
values = [
43-
'5',
44-
5,
45-
NaN,
46-
true,
47-
false,
48-
null,
49-
void 0,
50-
[],
51-
function noop() {}
52-
];
53-
54-
for ( i = 0; i < values.length; i++ ) {
55-
t.throws( badValue( values[i] ), TypeError, 'throws an error when provided '+values[i] );
56-
}
57-
t.end();
58-
59-
function badValue( value ) {
60-
return function badValue() {
61-
iterNonNegativeIntegersSeq( value );
62-
};
63-
}
64-
});
65-
66-
tape( 'the function throws an error if provided an invalid option', function test( t ) {
67-
var values;
68-
var i;
69-
70-
values = [
71-
'5',
72-
-5,
73-
3.14,
74-
NaN,
75-
true,
76-
false,
77-
null,
78-
void 0,
79-
[],
80-
{},
81-
function noop() {}
82-
];
83-
84-
for ( i = 0; i < values.length; i++ ) {
85-
t.throws( badValue( values[i] ), TypeError, 'throws an error when provided '+values[i] );
86-
}
87-
t.end();
88-
89-
function badValue( value ) {
90-
return function badValue() {
91-
iterNonNegativeIntegersSeq({
92-
'iter': value
93-
});
94-
};
95-
}
96-
});
97-
98-
tape( 'the function returns an iterator protocol-compliant object which generates a nonnegative integer sequence', function test( t ) {
99-
var expected;
100-
var actual;
101-
var it;
102-
var i;
103-
104-
it = iterNonNegativeIntegersSeq();
105-
t.equal( it.next.length, 0, 'has zero arity' );
106-
107-
for ( i = 0; i < 1000; i++ ) {
108-
actual = it.next();
109-
expected = i;
110-
t.equal( actual.value, expected, 'returns expected value' );
111-
t.equal( isNonNegativeInteger( actual.value ), true, 'returns a nonnegative integer' );
112-
t.equal( actual.done, false, 'returns expected value' );
113-
}
114-
t.end();
115-
});
116-
117-
tape( 'the function supports limiting the number of iterations', function test( t ) {
118-
var expected;
119-
var actual;
120-
var opts;
121-
var it;
122-
var i;
123-
124-
expected = [
125-
{
126-
'value': 0,
127-
'done': false
128-
},
129-
{
130-
'value': 1,
131-
'done': false
132-
},
133-
{
134-
'value': 2,
135-
'done': false
136-
},
137-
{
138-
'value': 3,
139-
'done': false
140-
},
141-
{
142-
'done': true
143-
}
144-
];
145-
146-
opts = {
147-
'iter': 4
148-
};
149-
it = iterNonNegativeIntegersSeq( opts );
150-
t.equal( it.next.length, 0, 'has zero arity' );
151-
152-
actual = [];
153-
for ( i = 0; i < opts.iter; i++ ) {
154-
actual.push( it.next() );
155-
}
156-
actual.push( it.next() );
157-
158-
t.deepEqual( actual, expected, 'returns expected values' );
159-
t.end();
160-
});
161-
162-
tape( 'the returned iterator has a `return` method for closing an iterator (no argument)', function test( t ) {
163-
var it;
164-
var r;
165-
166-
it = iterNonNegativeIntegersSeq();
167-
168-
r = it.next();
169-
t.equal( typeof r.value, 'number', 'returns a number' );
170-
t.equal( r.done, false, 'returns expected value' );
171-
172-
r = it.next();
173-
t.equal( typeof r.value, 'number', 'returns a number' );
174-
t.equal( r.done, false, 'returns expected value' );
175-
176-
r = it.return();
177-
t.equal( r.value, void 0, 'returns expected value' );
178-
t.equal( r.done, true, 'returns expected value' );
179-
180-
r = it.next();
181-
t.equal( r.value, void 0, 'returns expected value' );
182-
t.equal( r.done, true, 'returns expected value' );
183-
184-
t.end();
185-
});
186-
187-
tape( 'the returned iterator has a `return` method for closing an iterator (argument)', function test( t ) {
188-
var it;
189-
var r;
190-
191-
it = iterNonNegativeIntegersSeq();
192-
193-
r = it.next();
194-
t.equal( typeof r.value, 'number', 'returns a number' );
195-
t.equal( r.done, false, 'returns expected value' );
196-
197-
r = it.next();
198-
t.equal( typeof r.value, 'number', 'returns a number' );
199-
t.equal( r.done, false, 'returns expected value' );
200-
201-
r = it.return( 'finished' );
202-
t.equal( r.value, 'finished', 'returns expected value' );
203-
t.equal( r.done, true, 'returns expected value' );
204-
205-
r = it.next();
206-
t.equal( r.value, void 0, 'returns expected value' );
207-
t.equal( r.done, true, 'returns expected value' );
208-
209-
t.end();
210-
});
211-
212-
tape( 'if an environment supports `Symbol.iterator`, the returned iterator is iterable', function test( t ) {
213-
var iterNonNegativeIntegersSeq; // eslint-disable-line id-length
214-
var it1;
215-
var it2;
216-
var i;
217-
218-
iterNonNegativeIntegersSeq = proxyquire( './../dist/main.js', {
219-
'@stdlib/symbol-iterator': '__ITERATOR_SYMBOL__'
220-
});
221-
222-
it1 = iterNonNegativeIntegersSeq();
223-
t.equal( typeof it1[ '__ITERATOR_SYMBOL__' ], 'function', 'has method' );
224-
t.equal( it1[ '__ITERATOR_SYMBOL__' ].length, 0, 'has zero arity' );
225-
226-
it2 = it1[ '__ITERATOR_SYMBOL__' ]();
227-
t.equal( typeof it2, 'object', 'returns an object' );
228-
t.equal( typeof it2.next, 'function', 'has method' );
229-
t.equal( typeof it2.return, 'function', 'has method' );
230-
231-
for ( i = 0; i < 10; i++ ) {
232-
t.equal( it2.next().value, it1.next().value, 'returns expected value' );
233-
}
234-
t.end();
235-
});
236-
237-
tape( 'if an environment does not support `Symbol.iterator`, the returned iterator is not "iterable"', function test( t ) {
238-
var iterNonNegativeIntegersSeq; // eslint-disable-line id-length
239-
var it;
240-
241-
iterNonNegativeIntegersSeq = proxyquire( './../dist/main.js', {
242-
'@stdlib/symbol-iterator': false
243-
});
244-
245-
it = iterNonNegativeIntegersSeq();
246-
t.equal( it[ iteratorSymbol ], void 0, 'does not have property' );
247-
31+
t.strictEqual( main !== void 0, true, 'main export is defined' );
24832
t.end();
24933
});

0 commit comments

Comments
 (0)