UNPKG

1.48 kBJavaScriptView Raw
1var assert = require('assert'),
2 nodeuuid = require('../uuid'),
3 uuidjs = require('uuid-js'),
4 libuuid = require('uuid').generate,
5 util = require('util'),
6 exec = require('child_process').exec,
7 os = require('os');
8
9// On Mac Os X / macports there's only the ossp-uuid package that provides uuid
10// On Linux there's uuid-runtime which provides uuidgen
11var uuidCmd = os.type() === 'Darwin' ? 'uuid -1' : 'uuidgen -t';
12
13function compare(ids) {
14 console.log(ids);
15 for (var i = 0; i < ids.length; i++) {
16 var id = ids[i].split('-');
17 id = [id[2], id[1], id[0]].join('');
18 ids[i] = id;
19 }
20 var sorted = ([].concat(ids)).sort();
21
22 if (sorted.toString() !== ids.toString()) {
23 console.log('Warning: sorted !== ids');
24 } else {
25 console.log('everything in order!');
26 }
27}
28
29// Test time order of v1 uuids
30var ids = [];
31while (ids.length < 10e3) ids.push(nodeuuid.v1());
32
33var max = 10;
34console.log('node-uuid:');
35ids = [];
36for (var i = 0; i < max; i++) ids.push(nodeuuid.v1());
37compare(ids);
38
39console.log('');
40console.log('uuidjs:');
41ids = [];
42for (var i = 0; i < max; i++) ids.push(uuidjs.create(1).toString());
43compare(ids);
44
45console.log('');
46console.log('libuuid:');
47ids = [];
48var count = 0;
49var last = function() {
50 compare(ids);
51}
52var cb = function(err, stdout, stderr) {
53 ids.push(stdout.substring(0, stdout.length-1));
54 count++;
55 if (count < max) {
56 return next();
57 }
58 last();
59};
60var next = function() {
61 exec(uuidCmd, cb);
62};
63next();