test.js 745 B

12345678910111213141516171819202122232425
  1. var flatten = require('./index'),
  2. util = require('util'),
  3. assert = require('assert');
  4. [
  5. [ [1, [ 2, 3]], [1, [2, 3]], 0],
  6. [ [1, 2, 3 ], [1, 2, 3] ],
  7. [ ['a', ['b', ['c']]], ['a', 'b', 'c'] ],
  8. [ [2, [4, 6], 8, [[10]]], [2, 4, 6, 8, 10] ],
  9. [ [1, [2, [3, [4, [5]]]]], [1, 2, 3, [4, [5]]], 2 ] // depth of 2
  10. ].forEach(function (t) {
  11. assert.deepEqual(flatten(t[0], t[2]), t[1],
  12. util.format('☠☠☠☠☠☠☠☠☠ %s ☠☠☠☠☠☠☠☠☠', formatCall(t))
  13. );
  14. console.log('✓ %s', formatCall(t));
  15. });
  16. function formatCall(t) {
  17. if (typeof t[2] === 'undefined') {
  18. return util.format('`flatten(%j) == %j`', t[0], t[1]);
  19. }
  20. else {
  21. return util.format('`flatten(%j, %j) == %j`', t[0], t[2], t[1]);
  22. }
  23. }