UNPKG

rackspace-shared-utils

Version:

Shared Rackspace Node.js utility modules and functions.

116 lines (91 loc) 3.1 kB
var misc = require('../lib/misc'); exports['test_object_merge'] = function(test, assert) { var a = {foo: 1}; var b = {bar: 2}; var c = {foo: 1, bar: 2}; var out = misc.merge(a, b); assert.deepEqual(c, out); out = misc.merge(out, {}); assert.deepEqual(c, out); out = misc.merge({}, out); assert.deepEqual(c, out); test.finish(); }; exports['test_empty_object_merge'] = function(test, assert) { var a = {}; var b = {}; var c = {}; var out = misc.merge(a, b); assert.deepEqual(c, out); test.finish(); }; exports['test_indent'] = function(test, assert) { assert.equal(misc.indent('test', 1, ' '), ' test'); assert.equal(misc.indent('test', 2, ' '), ' test'); assert.equal(misc.indent('test', 2, ' '), ' test'); assert.equal(misc.indent(' test', 2, ' '), ' test'); test.finish(); }; exports['test_getValues'] = function(test, assert) { var values = [ { 'obj': {'a': 'b', 'b': 'c', 'd': 'd'}, 'value': ['b', 'c', 'd'] }, { 'obj': {'a': 'b', 'b': 'c', 'd': 1, 'f': 1}, 'value': ['b', 'c', 1, 1] } ], key, obj, i, len; for (i = 0, len = values.length; i < len; i++) { obj = values[i]; assert.deepEqual(misc.getValues(obj.obj), obj.value); } assert.equal(i, 2); test.finish(); }; exports['test_getRandomAddress'] = function(test, assert) { var addresses = ['1.2.3.4:1111', '1.2.3.5:2222', '1.2.3.5:5555'], ports = ['1111', '2222', '5555'], address = misc.getRandomAddress(addresses); assert.equal(address.length, 2); assert.ok(ports.indexOf(address[1]) !== -1); assert.ok(addresses.indexOf(address.join(':')) !== -1); test.finish(); }; exports['test_splitAddress'] = function(test, assert) { var addresses = ['127.0.0.1:5000', '55.55.55.55:12345', '70:cd:60:ff:fe:ae:0a:88:8888', '70:cd:60:ff:fe:ae:0a:88:5555'], expected = [['127.0.0.1', '5000'], ['55.55.55.55', '12345'], ['70:cd:60:ff:fe:ae:0a:88', '8888'], ['70:cd:60:ff:fe:ae:0a:88', '5555']], i; for (i = 0; i < addresses.length; i++) { assert.deepEqual(misc.splitAddress(addresses[i]), expected[i]); } test.finish(); }; exports['test_toRfc3339Date'] = function(test, assert) { assert.equal(misc.toRfc3339Date(new Date(Date.UTC(2012, 9, 24, 10, 10, 55, 22))), '2012-10-24T10:10:55Z'); assert.equal(misc.toRfc3339Date(new Date(Date.UTC(2012, 6, 5, 10, 9, 55, 22))), '2012-07-05T10:09:55Z'); test.finish(); }; exports['test_shellQuote'] = function(test, assert) { var values = [ ['test', "'test'"], [12345, "'12345'"], [new Number(123456), "'123456'"], [[1,2,3], "'1,2,3'"], [new Array(1, 2, 3, 4), "'1,2,3,4'"], [{'a': 'b'}, "'" + JSON.stringify({'a': 'b'}) + "'"], ["'ponies'", "'\"'\"ponies\"'\"'"] ]; values.forEach(function(tuple) { var actual = misc.shellQuote(tuple[0]), expected = tuple[1]; assert.equal(actual, expected); }); test.finish(); }; exports['test_randstr'] = function(test, assert) { var str = misc.randstr(32); assert.equal(str.length, 32); test.finish(); };