diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /browser/components/backup/tests/xpcshell/test_BrowserResource.js | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/backup/tests/xpcshell/test_BrowserResource.js')
-rw-r--r-- | browser/components/backup/tests/xpcshell/test_BrowserResource.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/browser/components/backup/tests/xpcshell/test_BrowserResource.js b/browser/components/backup/tests/xpcshell/test_BrowserResource.js new file mode 100644 index 0000000000..23c8e077a5 --- /dev/null +++ b/browser/components/backup/tests/xpcshell/test_BrowserResource.js @@ -0,0 +1,63 @@ +/* Any copyright is dedicated to the Public Domain. +http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const { BackupResource } = ChromeUtils.importESModule( + "resource:///modules/backup/BackupResource.sys.mjs" +); + +const EXPECTED_KILOBYTES_FOR_XULSTORE = 1; + +add_setup(() => { + do_get_profile(); +}); + +/** + * Tests that BackupService.getFileSize will get the size of a file in kilobytes. + */ +add_task(async function test_getFileSize() { + let file = do_get_file("data/test_xulstore.json"); + + let testFilePath = PathUtils.join(PathUtils.profileDir, "test_xulstore.json"); + + await IOUtils.copy(file.path, PathUtils.profileDir); + + let size = await BackupResource.getFileSize(testFilePath); + + Assert.equal( + size, + EXPECTED_KILOBYTES_FOR_XULSTORE, + "Size of the test_xulstore.json is rounded up to the nearest kilobyte." + ); + + await IOUtils.remove(testFilePath); +}); + +/** + * Tests that BackupService.getFileSize will get the total size of all the files in a directory and it's children in kilobytes. + */ +add_task(async function test_getDirectorySize() { + let file = do_get_file("data/test_xulstore.json"); + + // Create a test directory with the test json file in it. + let testDir = PathUtils.join(PathUtils.profileDir, "testDir"); + await IOUtils.makeDirectory(testDir); + await IOUtils.copy(file.path, testDir); + + // Create another test directory inside of that one. + let nestedTestDir = PathUtils.join(testDir, "testDir"); + await IOUtils.makeDirectory(nestedTestDir); + await IOUtils.copy(file.path, nestedTestDir); + + let size = await BackupResource.getDirectorySize(testDir); + + Assert.equal( + size, + EXPECTED_KILOBYTES_FOR_XULSTORE * 2, + `Total size of the directory is rounded up to the nearest kilobyte + and is equal to twice the size of the test_xulstore.json file` + ); + + await IOUtils.remove(testDir, { recursive: true }); +}); |