diff options
Diffstat (limited to 'browser/components/downloads/test/unit')
4 files changed, 69 insertions, 0 deletions
diff --git a/browser/components/downloads/test/unit/.eslintrc.js b/browser/components/downloads/test/unit/.eslintrc.js new file mode 100644 index 000000000..d35787cd2 --- /dev/null +++ b/browser/components/downloads/test/unit/.eslintrc.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = { + "extends": [ + "../../../../../testing/xpcshell/xpcshell.eslintrc.js" + ] +}; diff --git a/browser/components/downloads/test/unit/head.js b/browser/components/downloads/test/unit/head.js new file mode 100644 index 000000000..d7ce4d48a --- /dev/null +++ b/browser/components/downloads/test/unit/head.js @@ -0,0 +1,18 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Provides infrastructure for automated download components tests. + */ + +//////////////////////////////////////////////////////////////////////////////// +//// Globals + +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; +var Cr = Components.results; + +Cu.import("resource:///modules/DownloadsCommon.jsm"); diff --git a/browser/components/downloads/test/unit/test_DownloadsCommon.js b/browser/components/downloads/test/unit/test_DownloadsCommon.js new file mode 100644 index 000000000..46afbaef9 --- /dev/null +++ b/browser/components/downloads/test/unit/test_DownloadsCommon.js @@ -0,0 +1,37 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests for the functions located directly in the "DownloadsCommon" object. + */ + +function testFormatTimeLeft(aSeconds, aExpectedValue, aExpectedUnitString) +{ + let expected = ""; + if (aExpectedValue) { + // Format the expected result based on the current language. + expected = DownloadsCommon.strings[aExpectedUnitString](aExpectedValue); + } + do_check_eq(DownloadsCommon.formatTimeLeft(aSeconds), expected); +} + +function run_test() +{ + testFormatTimeLeft( 0, "", ""); + testFormatTimeLeft( 1, "1", "shortTimeLeftSeconds"); + testFormatTimeLeft( 29, "29", "shortTimeLeftSeconds"); + testFormatTimeLeft( 30, "30", "shortTimeLeftSeconds"); + testFormatTimeLeft( 31, "1", "shortTimeLeftMinutes"); + testFormatTimeLeft( 60, "1", "shortTimeLeftMinutes"); + testFormatTimeLeft( 89, "1", "shortTimeLeftMinutes"); + testFormatTimeLeft( 90, "2", "shortTimeLeftMinutes"); + testFormatTimeLeft( 91, "2", "shortTimeLeftMinutes"); + testFormatTimeLeft( 3600, "1", "shortTimeLeftHours"); + testFormatTimeLeft( 86400, "24", "shortTimeLeftHours"); + testFormatTimeLeft( 169200, "47", "shortTimeLeftHours"); + testFormatTimeLeft( 172800, "2", "shortTimeLeftDays"); + testFormatTimeLeft(8553600, "99", "shortTimeLeftDays"); + testFormatTimeLeft(8640000, "99", "shortTimeLeftDays"); +} diff --git a/browser/components/downloads/test/unit/xpcshell.ini b/browser/components/downloads/test/unit/xpcshell.ini new file mode 100644 index 000000000..f53a8cf89 --- /dev/null +++ b/browser/components/downloads/test/unit/xpcshell.ini @@ -0,0 +1,7 @@ +[DEFAULT] +head = head.js +tail = +firefox-appdir = browser +skip-if = toolkit == 'android' + +[test_DownloadsCommon.js] |