diff options
author | Matěj Cepl <mcepl@redhat.com> | 2011-04-17 08:44:49 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2011-06-05 14:44:43 +0200 |
commit | 0ccc730b8cf0f66a8e9a15cc07b5b6613fc0e015 (patch) | |
tree | 3dece2704b161fce5ef4e963a18aec624a782ee9 | |
parent | 4d29c8b4eb1f3e66da8d60fd1f42f3e4c06d2b39 (diff) | |
download | bugzilla-triage-0ccc730b8cf0f66a8e9a15cc07b5b6613fc0e015.tar.gz |
Auch! Say NO to the copy&paste inheritance!
* leadingZero made into special function exported from xmlrpc module
(it is now able to accept either number of string as its parameter)
* added tests for leadingZero
-rw-r--r-- | lib/logger.js | 14 | ||||
-rw-r--r-- | lib/xmlrpc.js | 24 | ||||
-rw-r--r-- | tests/test-xmlrpc.js | 13 |
3 files changed, 34 insertions, 17 deletions
diff --git a/lib/logger.js b/lib/logger.js index 7e0c516..d4c5dc9 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -79,21 +79,13 @@ exports.generateTimeSheet = function generateTimeSheet() { }; function timeSheetRecordsPrinter(records) { - function leadingZero(n) { - // pads a single number with a leading zero. Heh. - var s = n.toString(); - if (s.length === 1) { - s = "0" + s; - } - return s; - } - var commentBugRE = new RegExp("[bB]ug\\s+([0-9]+)","g"); // sort the records into temporary array var tmpArr = []; var today = new Date(); - var todayStr = today.getFullYear()+"-"+leadingZero(today.getMonth()+1)+ - "-"+leadingZero(today.getDate()); + var todayStr = today.getFullYear() + "-" + + xrpc.leadingZero(today.getMonth()+1) + "-" + + xrpc.leadingZero(today.getDate()); var outStr = '<!DOCTYPE html>' + "<html><head>\n"+ "<meta charset='utf-8'/>\n"+ diff --git a/lib/xmlrpc.js b/lib/xmlrpc.js index 6576f31..e038c4e 100644 --- a/lib/xmlrpc.js +++ b/lib/xmlrpc.js @@ -26,15 +26,27 @@ * not an instance of SAME Array. */ -var dateToISO8601 = exports.dateToISO8601 = function dateToISO8601(date) { - function leadingZero(n) { - // pads a single number with a leading zero. Heh. - if (n.length === 1) { - n = "0" + n; - } +/** + * pads a single number with a leading zero. Heh. + * + * @param n String or Number + * @return String with leading zero added if necessary + * + * If the real parameter is not numerical, it is just returned as it is. + */ +var leadingZero = exports.leadingZero = function leadingZero(n) { + if (isNaN(Number(n))) { return n; + }; + + var s = "0" + n; + if (s.length > 2) { + s = s.slice(1); } + return s; +}; +var dateToISO8601 = exports.dateToISO8601 = function dateToISO8601(date) { // wow I hate working with the Date object console.log("date = " + date); var year = date.getYear(); diff --git a/tests/test-xmlrpc.js b/tests/test-xmlrpc.js index 677a581..f3f2e56 100644 --- a/tests/test-xmlrpc.js +++ b/tests/test-xmlrpc.js @@ -15,6 +15,19 @@ var xmlOut = "<?xml version=\"1.0\"?>\n" + "<param>\n<value><boolean>1</boolean></value>\n</param>\n" + "</params>\n</methodCall>"; +exports.ensureLeadingZero = function (test) { + test.assert(typeof(xrpc.leadingZero) == "function"); + test.assertEqual(xrpc.leadingZero("1"), "01"); + test.assertEqual(xrpc.leadingZero(1), "01"); + test.assertEqual(xrpc.leadingZero("11"), "11"); + test.assertEqual(xrpc.leadingZero(11), "11"); + test.assertEqual(xrpc.leadingZero("111"), "111"); + test.assertEqual(xrpc.leadingZero(111), "111"); + test.assertEqual(xrpc.leadingZero("-1"), "-1"); + test.assertEqual(xrpc.leadingZero(-1), "-1"); + test.assertEqual(xrpc.leadingZero("zzz"),"zzz"); +}; + // testing xrpc.XMLRPCMessage exports.ensureGenerateXMLRPC = function (test) { var msg = new xrpc.XMLRPCMessage("bugzilla.updateAttachMimeType"); |