Skip to content

Commit

Permalink
Auto-generated commit
Browse files Browse the repository at this point in the history
  • Loading branch information
stdlib-bot committed Nov 1, 2023
1 parent ab8d7bd commit e835209
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 304 deletions.
1 change: 1 addition & 0 deletions .github/.keepalive
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2023-11-01T04:30:31.703Z
12 changes: 10 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,11 @@ jobs:
fi
# Trim leading and trailing whitespace:
dep=$(echo "$dep" | xargs)
version="^$(npm view $dep version)"
version="$(npm view $dep version)"
if [[ -z "$version" ]]; then
continue
fi
version="^$version"
jq -r --arg dep "$dep" --arg version "$version" '.dependencies[$dep] = $version' package.json > package.json.tmp
mv package.json.tmp package.json
done
Expand All @@ -192,7 +196,11 @@ jobs:
fi
# Trim leading and trailing whitespace:
dep=$(echo "$dep" | xargs)
version="^$(npm view $dep version)"
version="$(npm view $dep version)"
if [[ -z "$version" ]]; then
continue
fi
version="^$version"
jq -r --arg dep "$dep" --arg version "$version" '.devDependencies[$dep] = $version' package.json > package.json.tmp
mv package.json.tmp package.json
done
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ Stephannie Jiménez Gacha <[email protected]>
Yernar Yergaziyev <[email protected]>
orimiles5 <[email protected]>
rei2hu <[email protected]>
Robert Gislason <[email protected]>
18 changes: 9 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,15 @@
"@stdlib/types": "^0.1.0"
},
"devDependencies": {
"@stdlib/array-float32": "^0.1.0",
"@stdlib/array-float64": "^0.1.0",
"@stdlib/array-int16": "^0.1.0",
"@stdlib/array-int32": "^0.1.0",
"@stdlib/array-int8": "^0.1.0",
"@stdlib/array-uint16": "^0.1.0",
"@stdlib/array-uint32": "^0.1.0",
"@stdlib/array-uint8": "^0.1.0",
"@stdlib/array-uint8c": "^0.1.0",
"@stdlib/array-float32": "^0.1.1",
"@stdlib/array-float64": "^0.1.1",
"@stdlib/array-int16": "^0.1.1",
"@stdlib/array-int32": "^0.1.1",
"@stdlib/array-int8": "^0.1.1",
"@stdlib/array-uint16": "^0.1.1",
"@stdlib/array-uint32": "^0.1.1",
"@stdlib/array-uint8": "^0.1.1",
"@stdlib/array-uint8c": "^0.1.1",
"@stdlib/bench": "^0.1.0",
"@stdlib/constants-int16-max": "^0.1.1",
"@stdlib/constants-int32-max": "^0.1.1",
Expand Down
297 changes: 4 additions & 293 deletions test/dist/test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @license Apache-2.0
*
* Copyright (c) 2018 The Stdlib Authors.
* Copyright (c) 2023 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -16,307 +16,18 @@
* limitations under the License.
*/

/* eslint-disable object-curly-newline */

'use strict';

// MODULES //

var tape = require( 'tape' );
var Float64Array = require( '@stdlib/array-float64' );
var ArrayBuffer = require( '@stdlib/array-buffer' );
var unshift = require( './../../dist' );
var main = require( './../../dist' );


// TESTS //

tape( 'main export is a function', function test( t ) {
tape( 'main export is defined', function test( t ) {
t.ok( true, __filename );
t.strictEqual( typeof unshift, 'function', 'main export is a function' );
t.end();
});

tape( 'the function throws an error if not provided either an array, typed array, or an array-like object', function test( t ) {
var values;
var i;

values = [
'5',
5,
NaN,
true,
false,
null,
void 0,
function noop() {},
new Date(),
new RegExp( '.+' ), // eslint-disable-line prefer-regex-literals
{},
{ 'length': null },
{ 'length': -1 },
{ 'length': 3.14 }
];

for ( i = 0; i < values.length; i++ ) {
t.throws( badValue( values[ i ] ), TypeError, 'throws a type error when provided '+values[i] );
}
t.end();

function badValue( value ) {
return function badValue() {
unshift( value, 1.0 );
};
}
});

tape( 'the function adds one or more elements to an array', function test( t ) {
var expected;
var arr;
var out;

arr = [ 1.0, 2.0, 3.0, 4.0, 5.0 ];
out = unshift( arr, 6.0 );

t.strictEqual( out, arr, 'returns input array' );

expected = [ 6.0, 1.0, 2.0, 3.0, 4.0, 5.0 ];
t.deepEqual( arr, expected, 'deep equal' );

out = unshift( arr, 7.0, 8.0 );

expected = [ 7.0, 8.0, 6.0, 1.0, 2.0, 3.0, 4.0, 5.0 ];
t.deepEqual( arr, expected, 'deep equal' );

t.end();
});

tape( 'the function adds one or more elements to an array-like object', function test( t ) {
var expected;
var arr;
var out;

arr = {
'length': 0
};
out = unshift( arr, 1.0 );

t.strictEqual( out, arr, 'returns input collection' );

expected = {
'length': 1,
'0': 1.0
};
t.deepEqual( arr, expected, 'deep equal' );

out = unshift( arr, 2.0, 3.0 );

expected = {
'length': 3,
'0': 2.0,
'1': 3.0,
'2': 1.0
};
t.deepEqual( arr, expected, 'deep equal' );

t.end();
});

tape( 'the function adds one or more elements to a typed array', function test( t ) {
var expected;
var arr;
var out;
var i;

arr = new Float64Array();
out = unshift( arr, 1.0 );

t.notEqual( out, arr, 'does not return input array (new view)' );

expected = new Float64Array( [ 1.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}

out = unshift( out, 2.0, 3.0, 4.0 );

expected = new Float64Array( [ 2.0, 3.0, 4.0, 1.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}

out = unshift( out, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0 );

expected = new Float64Array([
5.0,
6.0,
7.0,
8.0,
9.0,
10.0,
11.0,
12.0,
13.0,
14.0,
2.0,
3.0,
4.0,
1.0
]);
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}

t.end();
});

tape( 'the function adds one or more elements to a typed array (preallocated buffer)', function test( t ) {
var expected;
var buf;
var arr;
var out;
var i;

buf = new ArrayBuffer( 64000 );
arr = new Float64Array( buf, 64000, 0 );
out = unshift( arr, 1.0 );

t.notEqual( out, arr, 'does not return input array (new view)' );

expected = new Float64Array( [ 1.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.strictEqual( out.buffer, arr.buffer, 'same underlying buffer' );

out = unshift( out, 2.0, 3.0, 4.0 );

expected = new Float64Array( [ 2.0, 3.0, 4.0, 1.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.strictEqual( out.buffer, arr.buffer, 'same underlying buffer' );

out = unshift( out, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0 );

expected = new Float64Array([
5.0,
6.0,
7.0,
8.0,
9.0,
10.0,
11.0,
12.0,
13.0,
14.0,
2.0,
3.0,
4.0,
1.0
]);
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.strictEqual( out.buffer, arr.buffer, 'same underlying buffer' );

t.end();
});

tape( 'the function adds one or more elements to a typed array (offset view)', function test( t ) {
var expected;
var arr;
var buf;
var out;
var i;

buf = new ArrayBuffer( 32 );
arr = new Float64Array( buf, 2*8, 0 ); // 8 bytes per double
out = unshift( arr, 1.0 );

t.notEqual( out, arr, 'does not return input array (new view)' );

expected = new Float64Array( [ 1.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.strictEqual( out.buffer, arr.buffer, 'same underlying buffer' );

out = unshift( out, 2.0, 3.0, 4.0 );

expected = new Float64Array( [ 2.0, 3.0, 4.0, 1.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.notEqual( out.buffer, arr.buffer, 'new underlying buffer' );

out = unshift( out, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0 );

expected = new Float64Array([
5.0,
6.0,
7.0,
8.0,
9.0,
10.0,
11.0,
12.0,
13.0,
14.0,
2.0,
3.0,
4.0,
1.0
]);
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.notEqual( out.buffer, arr.buffer, 'new underlying buffer' );

t.end();
});

tape( 'the function adds one or more elements to a typed array (shared `ArrayBuffer`)', function test( t ) {
var expected;
var arr1;
var arr2;
var arr3;
var buf;
var out;
var i;

buf = new ArrayBuffer( 64 );

arr1 = new Float64Array( buf, 4*8, 2 ); // 8 bytes per double
arr2 = new Float64Array( buf, 6*8, 2 );
arr3 = new Float64Array( buf, 8*8, 0 );

arr1[ 0 ] = 3.14;
arr1[ 1 ] = 6.28;

arr2[ 0 ] = -3.14;
arr2[ 1 ] = -6.28;

out = unshift( arr3, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 );

t.notEqual( out, arr3, 'does not return input array (new view)' );

expected = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( out[ i ], expected[ i ], 'has expected value for element '+i );
}
t.strictEqual( out.buffer, arr3.buffer, 'same underlying buffer' );

expected = new Float64Array( [ 3.0, 4.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( arr1[ i ], expected[ i ], 'value was overwritten for element '+i );
}
t.strictEqual( out.buffer, arr1.buffer, 'same underlying buffer' );

expected = new Float64Array( [ 5.0, 6.0 ] );
for ( i = 0; i < expected.length; i++ ) {
t.strictEqual( arr2[ i ], expected[ i ], 'value was overwritten for element '+i );
}
t.strictEqual( out.buffer, arr2.buffer, 'same underlying buffer' );

t.strictEqual( main !== void 0, true, 'main export is defined' );
t.end();
});

0 comments on commit e835209

Please sign in to comment.