diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/package.json | 84 | ||||
-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 |
4 files changed, 76 insertions, 46 deletions
diff --git a/web/package.json b/web/package.json index c4beef71..b18d9259 100644 --- a/web/package.json +++ b/web/package.json @@ -1,44 +1,56 @@ { - "name": "mitmproxy", - "private": true, - "dependencies": { + "name": "mitmproxy", + "private": true, + "scripts": { + "test": "jest ./src/js" + }, + "jest": { + "testPathDirs": [ + "./src/js" + ], + "testPathIgnorePatterns": [ + "/node_modules/", + "testutils.js" + ], + "testDirectoryName": "tests" + }, + "dependencies": { "jquery": "", "lodash": "", "react": "", "react-router": "", "bootstrap": "", "flux": "" - }, - "devDependencies": { - "bower": "", - "browserify": "^6.3.4", - "gulp": "", - "gulp-concat": "", - "gulp-connect": "", - "gulp-jshint": "", - "gulp-less": "", - "gulp-livereload": "", - "gulp-minify-css": "", - "gulp-notify": "", - "gulp-plumber": "", - "gulp-react": "", - "gulp-rename": "", - "gulp-replace": "", - "gulp-rev": "", - "gulp-sourcemaps": "", - "gulp-uglify": "", - "gulp-util": "", - "jest-cli": "^0.1.18", - "jshint-stylish": "", - "lodash": "", - "map-stream": "", - "react": "", - "react-tools": "", - "reactify": "", - "vinyl-buffer": "", - "vinyl-source-stream": "", - "vinyl-transform": "", - - "gulp-peg": "" - } + }, + "devDependencies": { + "bower": "", + "browserify": "^6.3.4", + "gulp": "", + "gulp-concat": "", + "gulp-connect": "", + "gulp-jshint": "", + "gulp-less": "", + "gulp-livereload": "", + "gulp-minify-css": "", + "gulp-notify": "", + "gulp-plumber": "", + "gulp-react": "", + "gulp-rename": "", + "gulp-replace": "", + "gulp-rev": "", + "gulp-sourcemaps": "", + "gulp-uglify": "", + "gulp-util": "", + "jest-cli": "^0.1.18", + "jshint-stylish": "", + "lodash": "", + "map-stream": "", + "react": "", + "react-tools": "", + "reactify": "", + "vinyl-buffer": "", + "vinyl-source-stream": "", + "vinyl-transform": "", + "gulp-peg": "" + } } 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]; }; |