summaryrefslogtreecommitdiffstats
path: root/toolkit/components/osfile/tests/mochi/worker_test_osfile_comms.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/osfile/tests/mochi/worker_test_osfile_comms.js')
-rw-r--r--toolkit/components/osfile/tests/mochi/worker_test_osfile_comms.js145
1 files changed, 0 insertions, 145 deletions
diff --git a/toolkit/components/osfile/tests/mochi/worker_test_osfile_comms.js b/toolkit/components/osfile/tests/mochi/worker_test_osfile_comms.js
deleted file mode 100644
index 5e8bdd9ca..000000000
--- a/toolkit/components/osfile/tests/mochi/worker_test_osfile_comms.js
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-importScripts('worker_test_osfile_shared.js');
-
-// The set of samples for communications test. Declare as a global
-// variable to prevent this from being garbage-collected too early.
-var samples;
-
-self.onmessage = function(msg) {
- info("Initializing");
- self.onmessage = function on_unexpected_message(msg) {
- throw new Error("Unexpected message " + JSON.stringify(msg.data));
- };
- importScripts("resource://gre/modules/osfile.jsm");
- info("Initialization complete");
-
- samples = [
- { typename: "OS.Shared.Type.char.in_ptr",
- valuedescr: "String",
- value: "This is a test",
- type: OS.Shared.Type.char.in_ptr,
- check: function check_string(candidate, prefix) {
- is(candidate, "This is a test", prefix);
- }},
- { typename: "OS.Shared.Type.char.in_ptr",
- valuedescr: "Typed array",
- value: (function() {
- let view = new Uint8Array(15);
- for (let i = 0; i < 15; ++i) {
- view[i] = i;
- }
- return view;
- })(),
- type: OS.Shared.Type.char.in_ptr,
- check: function check_ArrayBuffer(candidate, prefix) {
- for (let i = 0; i < 15; ++i) {
- is(candidate[i], i % 256, prefix + "Checking that the contents of the ArrayBuffer were preserved");
- }
- }},
- { typename: "OS.Shared.Type.char.in_ptr",
- valuedescr: "Pointer",
- value: new OS.Shared.Type.char.in_ptr.implementation(1),
- type: OS.Shared.Type.char.in_ptr,
- check: function check_ptr(candidate, prefix) {
- let address = ctypes.cast(candidate, ctypes.uintptr_t).value.toString();
- is(address, "1", prefix + "Checking that the pointer address was preserved");
- }},
- { typename: "OS.Shared.Type.char.in_ptr",
- valuedescr: "C array",
- value: (function() {
- let buf = new (ctypes.ArrayType(ctypes.uint8_t, 15))();
- for (let i = 0; i < 15; ++i) {
- buf[i] = i % 256;
- }
- return buf;
- })(),
- type: OS.Shared.Type.char.in_ptr,
- check: function check_array(candidate, prefix) {
- let cast = ctypes.cast(candidate, ctypes.uint8_t.ptr);
- for (let i = 0; i < 15; ++i) {
- is(cast.contents, i % 256, prefix + "Checking that the contents of the C array were preserved, index " + i);
- cast = cast.increment();
- }
- }
- },
- { typename: "OS.File.Error",
- valuedescr: "OS Error",
- type: OS.File.Error,
- value: new OS.File.Error("foo", 1),
- check: function check_error(candidate, prefix) {
- ok(candidate instanceof OS.File.Error,
- prefix + "Error is an OS.File.Error");
- ok(candidate.unixErrno == 1 || candidate.winLastError == 1,
- prefix + "Error code is correct");
- try {
- let string = candidate.toString();
- info(prefix + ".toString() works " + string);
- } catch (x) {
- ok(false, prefix + ".toString() fails " + x);
- }
- }
- }
- ];
- samples.forEach(function test(sample) {
- let type = sample.type;
- let value = sample.value;
- let check = sample.check;
- info("Testing handling of type " + sample.typename + " communicating " + sample.valuedescr);
-
- // 1. Test serialization
- let serialized;
- let exn;
- try {
- serialized = type.toMsg(value);
- } catch (ex) {
- exn = ex;
- }
- is(exn, null, "Can I serialize the following value? " + value +
- " aka " + JSON.stringify(value));
- if (exn) {
- return;
- }
-
- if ("data" in serialized) {
- // Unwrap from `Meta`
- serialized = serialized.data;
- }
-
- // 2. Test deserialization
- let deserialized;
- try {
- deserialized = type.fromMsg(serialized);
- } catch (ex) {
- exn = ex;
- }
- is(exn, null, "Can I deserialize the following message? " + serialized
- + " aka " + JSON.stringify(serialized));
- if (exn) {
- return;
- }
-
- // 3. Local test deserialized value
- info("Running test on deserialized value " + deserialized +
- " aka " + JSON.stringify(deserialized));
- check(deserialized, "Local test: ");
-
- // 4. Test sending serialized
- info("Attempting to send message");
- try {
- self.postMessage({kind:"value",
- typename: sample.typename,
- value: serialized,
- check: check.toSource()});
- } catch (ex) {
- exn = ex;
- }
- is(exn, null, "Can I send the following message? " + serialized
- + " aka " + JSON.stringify(serialized));
- });
-
- finish();
- };