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 cf6c2c7 commit 2d5c005
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 188 deletions.
1 change: 1 addition & 0 deletions .github/.keepalive
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2023-11-01T02:48:01.807Z
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 <steff456@hotmail.com>
Yernar Yergaziyev <yernar.yergaziyev@erg.kz>
orimiles5 <97595296+orimiles5@users.noreply.github.com>
rei2hu <reimu@reimu.ws>
Robert Gislason <gztown2216@yahoo.com>
18 changes: 9 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@
},
"devDependencies": {
"@stdlib/array-buffer": "^0.1.0",
"@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",
"tape": "git+https://github.com/kgryte/tape.git#fix/globby",
"istanbul": "^0.4.1",
Expand Down
181 changes: 4 additions & 177 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,191 +16,18 @@
* limitations under the License.
*/

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

'use strict';

// MODULES //

var tape = require( 'tape' );
var isArray = require( '@stdlib/assert-is-array' );
var Float32Array = require( '@stdlib/array-float32' );
var Float64Array = require( '@stdlib/array-float64' );
var ArrayBuffer = require( '@stdlib/array-buffer' );
var shift = 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 shift, '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() {
shift( value );
};
}
});

tape( 'the function returns a two-element array', function test( t ) {
var out;
var arr;

arr = [ 1.0, 2.0, 3.0 ];
out = shift( arr );
t.strictEqual( isArray( out ), true, 'returns an array' );
t.strictEqual( out.length, 2, 'output array has length 2' );

arr = new Float32Array( [ 1.0, 2.0, 3.0 ] );
out = shift( arr );
t.strictEqual( isArray( out ), true, 'returns an array' );
t.strictEqual( out.length, 2, 'output array has length 2' );

arr = {
'length': 3,
'0': 1.0,
'1': 2.0,
'2': 3.0
};
out = shift( arr );
t.strictEqual( isArray( out ), true, 'returns an array' );
t.strictEqual( out.length, 2, 'output array has length 2' );

t.end();
});

tape( 'if provided an empty collection, the element value is `undefined`', function test( t ) {
var out;
var arr;

arr = [];
out = shift( arr );
t.strictEqual( isArray( out ), true, 'returns an array' );
t.strictEqual( out.length, 2, 'output array has length 2' );
t.strictEqual( out[ 1 ], void 0, 'element is `undefined`' );

arr = new Float32Array();
out = shift( arr );
t.strictEqual( isArray( out ), true, 'returns an array' );
t.strictEqual( out.length, 2, 'output array has length 2' );
t.strictEqual( out[ 1 ], void 0, 'element is `undefined`' );

arr = {
'length': 0
};
out = shift( arr );
t.strictEqual( isArray( out ), true, 'returns an array' );
t.strictEqual( out.length, 2, 'output array has length 2' );
t.strictEqual( out[ 1 ], void 0, 'element is `undefined`' );

t.end();
});

tape( 'the function removes and returns the first element of an array', function test( t ) {
var arr;
var out;

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

t.strictEqual( out[ 0 ], arr, 'returns input array' );
t.strictEqual( out[ 1 ], 1.0, 'returns first value' );

t.end();
});

tape( 'the function removes and returns the first element of an array-like object', function test( t ) {
var arr;
var out;

arr = {
'length': 3,
'0': 1.0,
'1': 2.0,
'2': 3.0
};
out = shift( arr );

t.strictEqual( out[ 0 ], arr, 'returns input collection' );
t.strictEqual( out[ 1 ], 1.0, 'returns first value' );
t.strictEqual( arr[ 2 ], void 0, 'removes last value' );

t.end();
});

tape( 'the function removes and returns the first element of a typed array', function test( t ) {
var arr;
var out;

arr = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
out = shift( arr );

t.notEqual( out[ 0 ], arr, 'does not return input array (new view)' );
t.strictEqual( out[ 0 ].buffer, arr.buffer, 'same underlying buffer' );
t.strictEqual( out[ 1 ], 1.0, 'returns the first element' );

t.end();
});

tape( 'the function removes and returns the first element of a typed array (offset view)', function test( t ) {
var arr;
var buf;
var out;

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

arr[ 0 ] = 3.0;
arr[ 1 ] = 4.0;

out = shift( arr );

t.notEqual( out[ 0 ], arr, 'does not return input array (new view)' );
t.strictEqual( out[ 0 ].buffer, arr.buffer, 'same underlying buffer' );
t.strictEqual( out[ 1 ], 3.0, 'returns first element' );

arr = out[ 0 ];
out = shift( arr );

t.notEqual( out[ 0 ], arr, 'does not return input array (new view)' );
t.strictEqual( out[ 0 ].buffer, arr.buffer, 'same underlying buffer' );
t.strictEqual( out[ 1 ], 4.0, 'returns first element' );

arr = out[ 0 ];
out = shift( arr );

t.strictEqual( out[ 0 ], arr, 'return input array (same view)' );
t.strictEqual( out[ 0 ].buffer, arr.buffer, 'same underlying buffer' );
t.strictEqual( out[ 1 ], void 0, 'returns `undefined`' );

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

0 comments on commit 2d5c005

Please sign in to comment.