when sorted by

  • <array-like> [when] sorted by <function> <assertion?>

Sort the subject array by a compare function that defines the sort order then delegate the return value to another assertion.

expect(
  [2, 1, 3],
  'when sorted by',
  function (a, b) {
    return a - b;
  },
  'to equal',
  [1, 2, 3]
);

In case of a failing expectation you get the following output:

expect(
  [2, 1, 3],
  'when sorted by',
  function (a, b) {
    return a - b;
  },
  'to equal',
  [3, 2, 1]
);
expected [ 213 ]
when sorted by function (a, b) { return a - b; } to equal [ 321 ]
 
[
┌───▷
│ ┌─▷
│ │
│ └──
└────
 
 
 
1,
 
2// should be moved
 
3 // should be moved
]