react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / request / node_modules / node-uuid / test / compare_v1.js
81146 viewsvar assert = require('assert'),1nodeuuid = require('../uuid'),2uuidjs = require('uuid-js'),3libuuid = require('uuid').generate,4util = require('util'),5exec = require('child_process').exec,6os = require('os');78// On Mac Os X / macports there's only the ossp-uuid package that provides uuid9// On Linux there's uuid-runtime which provides uuidgen10var uuidCmd = os.type() === 'Darwin' ? 'uuid -1' : 'uuidgen -t';1112function compare(ids) {13console.log(ids);14for (var i = 0; i < ids.length; i++) {15var id = ids[i].split('-');16id = [id[2], id[1], id[0]].join('');17ids[i] = id;18}19var sorted = ([].concat(ids)).sort();2021if (sorted.toString() !== ids.toString()) {22console.log('Warning: sorted !== ids');23} else {24console.log('everything in order!');25}26}2728// Test time order of v1 uuids29var ids = [];30while (ids.length < 10e3) ids.push(nodeuuid.v1());3132var max = 10;33console.log('node-uuid:');34ids = [];35for (var i = 0; i < max; i++) ids.push(nodeuuid.v1());36compare(ids);3738console.log('');39console.log('uuidjs:');40ids = [];41for (var i = 0; i < max; i++) ids.push(uuidjs.create(1).toString());42compare(ids);4344console.log('');45console.log('libuuid:');46ids = [];47var count = 0;48var last = function() {49compare(ids);50}51var cb = function(err, stdout, stderr) {52ids.push(stdout.substring(0, stdout.length-1));53count++;54if (count < max) {55return next();56}57last();58};59var next = function() {60exec(uuidCmd, cb);61};62next();636465