JS: improve hexToString and add unit tests.

This commit is contained in:
Arthur Britto
2012-10-08 16:58:47 -07:00
parent 2abb9f7e03
commit 2cc4bd5fed
2 changed files with 30 additions and 7 deletions

View File

@@ -128,11 +128,16 @@ var trace = function(comment, func) {
}; };
var hexToString = function (h) { var hexToString = function (h) {
var c = h.length % 1 ? "0" + h : h;
var a = []; var a = [];
var i = 0;
for (i=0; i != c.length; i += 2) { if (h.length % 2) {
a.push(String.fromCharCode(parseInt(c.substring(i, i+2), 16))); a.push(String.fromCharCode(parseInt(h.substring(0, 1), 16)));
i = 1;
}
for (; i != h.length; i += 2) {
a.push(String.fromCharCode(parseInt(h.substring(i, i+2), 16)));
} }
return a.join(""); return a.join("");

View File

@@ -3,6 +3,7 @@ var buster = require("buster");
var server = require("./server.js"); var server = require("./server.js");
var remote = require("../js/remote.js"); var remote = require("../js/remote.js");
var utils = require("../js/utils.js");
var config = require("./config.js"); var config = require("./config.js");
// How long to wait for server to start. // How long to wait for server to start.
@@ -10,8 +11,25 @@ var serverDelay = 1500;
buster.testRunner.timeout = 5000; buster.testRunner.timeout = 5000;
buster.testCase("Utils", {
"hexToString and stringToHex" : {
"Even: 123456" : function () {
buster.assert.equals("123456", utils.stringToHex(utils.hexToString("123456")));
},
"Odd: 12345" : function () {
buster.assert.equals("012345", utils.stringToHex(utils.hexToString("12345")));
},
"Under 10: 0" : function () {
buster.assert.equals("00", utils.stringToHex(utils.hexToString("0")));
},
"Under 10: 1" : function () {
buster.assert.equals("01", utils.stringToHex(utils.hexToString("1")));
}
}
});
buster.testCase("Standalone server startup", { buster.testCase("Standalone server startup", {
"server start and stop": function (done) { "server start and stop" : function (done) {
server.start("alpha", server.start("alpha",
function (e) { function (e) {
buster.refute(e); buster.refute(e);