blob: 8bf88ed95e40e1b6ffe3f279046756c31d0f0578 [file] [log] [blame]
var assert = require('assert');
var Traverse = require('traverse');
exports['sort test'] = function () {
var acc = [];
Traverse({
a: 30,
b: 22,
id: 9
}).forEach(function (node) {
if ((! Array.isArray(node)) && typeof node === 'object') {
this.before(function(node) {
this.keys = Object.keys(node);
this.keys.sort(function(a, b) {
a = [a === "id" ? 0 : 1, a];
b = [b === "id" ? 0 : 1, b];
return a < b ? -1 : a > b ? 1 : 0;
});
});
}
if (this.isLeaf) acc.push(node);
});
assert.equal(
acc.join(' '),
'9 30 22',
'Traversal in a custom order'
);
};