1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/workers/test/test_bug883784.jsm Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,35 @@ 1.4 +this.EXPORTED_SYMBOLS = ["Test"]; 1.5 + 1.6 +this.Test = { 1.7 + start: function(ok, is, finish) { 1.8 + let worker = new ChromeWorker("jsm_url_worker.js"); 1.9 + worker.onmessage = function(event) { 1.10 + 1.11 + if (event.data.type == 'finish') { 1.12 + finish(); 1.13 + } else if (event.data.type == 'status') { 1.14 + ok(event.data.status, event.data.msg); 1.15 + } else if (event.data.type == 'url') { 1.16 + var xhr = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"] 1.17 + .createInstance(Components.interfaces.nsIXMLHttpRequest); 1.18 + xhr.open('GET', event.data.url, false); 1.19 + xhr.onreadystatechange = function() { 1.20 + if (xhr.readyState == 4) { 1.21 + ok(true, "Blob readable!"); 1.22 + } 1.23 + } 1.24 + xhr.send(); 1.25 + } 1.26 + }; 1.27 + 1.28 + var self = this; 1.29 + worker.onerror = function(event) { 1.30 + is(event.target, worker); 1.31 + ok(false, "Worker had an error: " + event.data); 1.32 + self.worker.terminate(); 1.33 + finish(); 1.34 + }; 1.35 + 1.36 + worker.postMessage(0); 1.37 + } 1.38 +};