diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-01-02 15:29:51 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-01-02 15:29:51 +1300 |
commit | 80339aef934e6d187b3cfff2d2c38fb52fcae7c9 (patch) | |
tree | e83c3e9e3c0d6f03981983e6baaa65fcd3c5c9e2 /web/src/js | |
parent | b14b4ace25b456f54677fe8efc910d8db0f36506 (diff) | |
download | mitmproxy-80339aef934e6d187b3cfff2d2c38fb52fcae7c9.tar.gz mitmproxy-80339aef934e6d187b3cfff2d2c38fb52fcae7c9.tar.bz2 mitmproxy-80339aef934e6d187b3cfff2d2c38fb52fcae7c9.zip |
Unit test framework for web client-side code
- Also make formatSize nicer and test it.
Now there's no excuse! ;)
Diffstat (limited to 'web/src/js')
-rw-r--r-- | web/src/js/tests.js | 3 | ||||
-rw-r--r-- | web/src/js/tests/utils.js | 15 | ||||
-rw-r--r-- | web/src/js/utils.js | 20 |
3 files changed, 28 insertions, 10 deletions
diff --git a/web/src/js/tests.js b/web/src/js/tests.js deleted file mode 100644 index ede323dc..00000000 --- a/web/src/js/tests.js +++ /dev/null @@ -1,3 +0,0 @@ -QUnit.test("example test", function (assert) { - assert.ok(true); -});
\ No newline at end of file diff --git a/web/src/js/tests/utils.js b/web/src/js/tests/utils.js new file mode 100644 index 00000000..dfbb9ba6 --- /dev/null +++ b/web/src/js/tests/utils.js @@ -0,0 +1,15 @@ +jest.dontMock("jquery"); +jest.dontMock("../utils"); + +describe("utils", function () { + var utils = require("../utils"); + it("formatSize", function(){ + expect(utils.formatSize(1024)).toEqual("1kb"); + expect(utils.formatSize(0)).toEqual("0"); + expect(utils.formatSize(10)).toEqual("10b"); + expect(utils.formatSize(1025)).toEqual("1.0kb"); + expect(utils.formatSize(1024*1024)).toEqual("1mb"); + expect(utils.formatSize(1024*1024+1)).toEqual("1.0mb"); + }); +}); + diff --git a/web/src/js/utils.js b/web/src/js/utils.js index d5093702..21b7a868 100644 --- a/web/src/js/utils.js +++ b/web/src/js/utils.js @@ -23,14 +23,20 @@ for (var i = 65; i <= 90; i++) { var formatSize = function (bytes) { - var size = bytes; - var prefix = ["B", "KB", "MB", "GB", "TB"]; - var i = 0; - while (Math.abs(size) >= 1024 && i < prefix.length - 1) { - i++; - size = size / 1024; + if (bytes === 0) + return "0"; + var prefix = ["b", "kb", "mb", "gb", "tb"]; + for (var i = 0; i < prefix.length; i++){ + if (Math.pow(1024, i + 1) > bytes){ + break; + } } - return (Math.floor(size * 100) / 100.0).toFixed(2) + prefix[i]; + var precision; + if (bytes%Math.pow(1024, i) === 0) + precision = 0; + else + precision = 1; + return (bytes/Math.pow(1024, i)).toFixed(precision) + prefix[i]; }; |