mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-10 19:07:49 +00:00
Add tests for _.sortedIndex with nulls and symbols.
This commit is contained in:
30
test/test.js
30
test/test.js
@@ -10934,7 +10934,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test('should work with nulls from another realm', function(assert) {
|
QUnit.test('should work with nils from another realm', function(assert) {
|
||||||
assert.expect(2);
|
assert.expect(2);
|
||||||
|
|
||||||
if (realm.object) {
|
if (realm.object) {
|
||||||
@@ -20441,6 +20441,7 @@
|
|||||||
|
|
||||||
var symbol1 = Symbol ? Symbol('a') : null,
|
var symbol1 = Symbol ? Symbol('a') : null,
|
||||||
symbol2 = Symbol ? Symbol('b') : null,
|
symbol2 = Symbol ? Symbol('b') : null,
|
||||||
|
symbol3 = Symbol ? Symbol('c') : null,
|
||||||
expected = [1, '2', {}, symbol1, symbol2, null, undefined, NaN, NaN];
|
expected = [1, '2', {}, symbol1, symbol2, null, undefined, NaN, NaN];
|
||||||
|
|
||||||
lodashStable.each([
|
lodashStable.each([
|
||||||
@@ -20449,12 +20450,35 @@
|
|||||||
], function(array) {
|
], function(array) {
|
||||||
assert.deepEqual(_.sortBy(array), expected);
|
assert.deepEqual(_.sortBy(array), expected);
|
||||||
assert.strictEqual(func(expected, 3), 2);
|
assert.strictEqual(func(expected, 3), 2);
|
||||||
assert.strictEqual(func(expected, symbol1), (isSortedIndex ? 3 : (Symbol ? 5 : 6)));
|
assert.strictEqual(func(expected, symbol3), isSortedIndex ? 3 : (Symbol ? 5 : 6));
|
||||||
assert.strictEqual(func(expected, null), (isSortedIndex ? (Symbol ? 5 : 3) : 6));
|
assert.strictEqual(func(expected, null), isSortedIndex ? (Symbol ? 5 : 3) : 6);
|
||||||
assert.strictEqual(func(expected, undefined), isSortedIndex ? 6 : 7);
|
assert.strictEqual(func(expected, undefined), isSortedIndex ? 6 : 7);
|
||||||
assert.strictEqual(func(expected, NaN), isSortedIndex ? 7 : 9);
|
assert.strictEqual(func(expected, NaN), isSortedIndex ? 7 : 9);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
QUnit.test('`_.' + methodName + '` should align with `_.sortBy` for nulls', function(assert) {
|
||||||
|
assert.expect(3);
|
||||||
|
|
||||||
|
var array = [null, null];
|
||||||
|
|
||||||
|
assert.strictEqual(func(array, null), isSortedIndex ? 0 : 2);
|
||||||
|
assert.strictEqual(func(array, 1), 0);
|
||||||
|
assert.strictEqual(func(array, 'a'), 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test('`_.' + methodName + '` should align with `_.sortBy` for symbols', function(assert) {
|
||||||
|
assert.expect(3);
|
||||||
|
|
||||||
|
var symbol1 = Symbol ? Symbol('a') : null,
|
||||||
|
symbol2 = Symbol ? Symbol('b') : null,
|
||||||
|
symbol3 = Symbol ? Symbol('c') : null,
|
||||||
|
array = [symbol1, symbol2];
|
||||||
|
|
||||||
|
assert.strictEqual(func(array, symbol3), isSortedIndex ? 0 : 2);
|
||||||
|
assert.strictEqual(func(array, 1), 0);
|
||||||
|
assert.strictEqual(func(array, 'a'), 0);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|||||||
Reference in New Issue
Block a user