2015-09-26 16:07:47 -04:00

53 lines
1.2 KiB
JavaScript

'use strict';
var test = require('tap').test,
sort = require('../../lib/sort');
test('sort stream alphanumeric', function (t) {
t.deepEqual([
{ name: 'apples' },
{ name: 'carrot' },
{ name: 'bananas' }].sort(sort.bind(undefined, null)),
[
{ name: 'apples' },
{ name: 'bananas' },
{ name: 'carrot' }
], 'sort stream alphanumeric');
t.deepEqual([{ name: 'apples' },
{ name: 'carrot' },
{ name: '2' },
{ name: '10' }].sort(sort.bind(undefined, ['apples', '2', 'carrot', '10'])),
[
{ 'name': 'apples' },
{ 'name': '2' },
{ 'name': 'carrot' },
{ 'name': '10'}
], 'sort stream with explicit order for all');
t.deepEqual([{ name: 'apples' },
{ name: 'carrot' },
{ name: '2' },
{ name: '10' }].sort(sort.bind(undefined, ['carrot', '10'])),
[
{ 'name': 'carrot' },
{ 'name': '10'},
{ 'name': '2' },
{ 'name': 'apples' }
], 'sort stream with explicit order for some');
t.deepEqual([
{ name: '10' },
{ name: '2' },
{ name: 'apples' },
{ name: 'carrot'}
].sort(sort.bind(undefined, null)),
[{ name: '10' },
{ name: '2' },
{ name: 'apples' },
{ name: 'carrot' }], 'sort stream with numbers');
t.end();
});