| // |reftest| skip-if(!xulRuntime.shell) |
| // Any copyright is dedicated to the Public Domain. |
| // http://creativecommons.org/licenses/publicdomain/ |
| |
| function viewToString(view) |
| { |
| return String.fromCharCode.apply(null, view); |
| } |
| |
| function assertThrows(f, wantException) |
| { |
| try { |
| f(); |
| assertEq(true, false, "expected " + wantException + " exception"); |
| } catch (e) { |
| assertEq(e.name, wantException.name, e.toString()); |
| } |
| } |
| |
| function test() { |
| var filename = "file-mapped-arraybuffers.txt"; |
| var buffer = createMappedArrayBuffer(filename); |
| var view = new Uint8Array(buffer); |
| assertEq(viewToString(view), "01234567abcdefghijkl"); |
| |
| var buffer2 = createMappedArrayBuffer(filename, 8); |
| view = new Uint8Array(buffer2); |
| assertEq(viewToString(view), "abcdefghijkl"); |
| |
| var buffer3 = createMappedArrayBuffer(filename, 0, 8); |
| view = new Uint8Array(buffer3); |
| assertEq(viewToString(view), "01234567"); |
| |
| // Check that invalid sizes and offsets are caught |
| assertThrows(() => createMappedArrayBuffer("empty.txt", 8), RangeError); |
| assertThrows(() => createMappedArrayBuffer("empty.txt", 0, 8), Error); |
| } |
| |
| if (getBuildConfiguration()["mapped-array-buffer"]) |
| test(); |
| reportCompare(0, 0, 'ok'); |