123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- var assert = require('assert'),
- nodeuuid = require('../uuid'),
- uuidjs = require('uuid-js'),
- libuuid = require('uuid').generate,
- util = require('util'),
- exec = require('child_process').exec,
- os = require('os');
- // On Mac Os X / macports there's only the ossp-uuid package that provides uuid
- // On Linux there's uuid-runtime which provides uuidgen
- var uuidCmd = os.type() === 'Darwin' ? 'uuid -1' : 'uuidgen -t';
- function compare(ids) {
- console.log(ids);
- for (var i = 0; i < ids.length; i++) {
- var id = ids[i].split('-');
- id = [id[2], id[1], id[0]].join('');
- ids[i] = id;
- }
- var sorted = ([].concat(ids)).sort();
- if (sorted.toString() !== ids.toString()) {
- console.log('Warning: sorted !== ids');
- } else {
- console.log('everything in order!');
- }
- }
- // Test time order of v1 uuids
- var ids = [];
- while (ids.length < 10e3) ids.push(nodeuuid.v1());
- var max = 10;
- console.log('node-uuid:');
- ids = [];
- for (var i = 0; i < max; i++) ids.push(nodeuuid.v1());
- compare(ids);
- console.log('');
- console.log('uuidjs:');
- ids = [];
- for (var i = 0; i < max; i++) ids.push(uuidjs.create(1).toString());
- compare(ids);
- console.log('');
- console.log('libuuid:');
- ids = [];
- var count = 0;
- var last = function() {
- compare(ids);
- }
- var cb = function(err, stdout, stderr) {
- ids.push(stdout.substring(0, stdout.length-1));
- count++;
- if (count < max) {
- return next();
- }
- last();
- };
- var next = function() {
- exec(uuidCmd, cb);
- };
- next();
|