diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
commit | 39dac57259cff8b61db0b22cb2ad0a8adb02692e (patch) | |
tree | 52a026cc8c22793eb17fd0f5e22adce1ae08a1dd /toolkit/components/osfile/tests/xpcshell/test_osfile_async_append.js | |
parent | a1cce3b2b00bbd9f4983013ddd8934a7bccb9e99 (diff) | |
parent | c2d9ab62f3d097c9e0e00184cab1f546554f5eaa (diff) | |
download | UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.gz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.lz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.xz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.zip |
Merge branch 'redwood' into 28.9-platform
Diffstat (limited to 'toolkit/components/osfile/tests/xpcshell/test_osfile_async_append.js')
-rw-r--r-- | toolkit/components/osfile/tests/xpcshell/test_osfile_async_append.js | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/toolkit/components/osfile/tests/xpcshell/test_osfile_async_append.js b/toolkit/components/osfile/tests/xpcshell/test_osfile_async_append.js deleted file mode 100644 index 0aef2c58a..000000000 --- a/toolkit/components/osfile/tests/xpcshell/test_osfile_async_append.js +++ /dev/null @@ -1,122 +0,0 @@ -"use strict"; - -do_print("starting tests"); - -Components.utils.import("resource://gre/modules/osfile.jsm"); -Components.utils.import("resource://gre/modules/Task.jsm"); - -/** - * A test to check that the |append| mode flag is correctly implemented. - * (see bug 925865) - */ - -function setup_mode(mode) { - // Complete mode. - let realMode = { - read: true, - write: true - }; - for (let k in mode) { - realMode[k] = mode[k]; - } - return realMode; -} - -// Test append mode. -function test_append(mode) { - let path = OS.Path.join(OS.Constants.Path.tmpDir, - "test_osfile_async_append.tmp"); - - // Clear any left-over files from previous runs. - try { - yield OS.File.remove(path); - } catch (ex if ex.becauseNoSuchFile) { - // ignore - } - - try { - mode = setup_mode(mode); - mode.append = true; - if (mode.trunc) { - // Pre-fill file with some data to see if |trunc| actually works. - yield OS.File.writeAtomic(path, new Uint8Array(500)); - } - let file = yield OS.File.open(path, mode); - try { - yield file.write(new Uint8Array(1000)); - yield file.setPosition(0, OS.File.POS_START); - yield file.read(100); - // Should be at offset 100, length 1000 now. - yield file.write(new Uint8Array(100)); - // Should be at offset 1100, length 1100 now. - let stat = yield file.stat(); - do_check_eq(1100, stat.size); - } finally { - yield file.close(); - } - } catch(ex) { - try { - yield OS.File.remove(path); - } catch (ex if ex.becauseNoSuchFile) { - // ignore. - } - } -} - -// Test no-append mode. -function test_no_append(mode) { - let path = OS.Path.join(OS.Constants.Path.tmpDir, - "test_osfile_async_noappend.tmp"); - - // Clear any left-over files from previous runs. - try { - yield OS.File.remove(path); - } catch (ex if ex.becauseNoSuchFile) { - // ignore - } - - try { - mode = setup_mode(mode); - mode.append = false; - if (mode.trunc) { - // Pre-fill file with some data to see if |trunc| actually works. - yield OS.File.writeAtomic(path, new Uint8Array(500)); - } - let file = yield OS.File.open(path, mode); - try { - yield file.write(new Uint8Array(1000)); - yield file.setPosition(0, OS.File.POS_START); - yield file.read(100); - // Should be at offset 100, length 1000 now. - yield file.write(new Uint8Array(100)); - // Should be at offset 200, length 1000 now. - let stat = yield file.stat(); - do_check_eq(1000, stat.size); - } finally { - yield file.close(); - } - } finally { - try { - yield OS.File.remove(path); - } catch (ex if ex.becauseNoSuchFile) { - // ignore. - } - } -} - -var test_flags = [ - {}, - {create:true}, - {trunc:true} -]; -function run_test() { - do_test_pending(); - - for (let t of test_flags) { - add_task(test_append.bind(null, t)); - add_task(test_no_append.bind(null, t)); - } - add_task(do_test_finished); - - run_next_test(); -} |