michael@0: var rawData = new Uint8Array([65,66,67,68]); michael@0: var data = String.fromCharCode.apply(null, rawData); michael@0: michael@0: function UDPSocketListener(){} michael@0: michael@0: UDPSocketListener.prototype = { michael@0: QueryInterface : XPCOMUtils.generateQI([Ci.nsIUDPSocketListener]), michael@0: michael@0: onPacketReceived : function(aSocket, aMessage){ michael@0: var mData = String.fromCharCode.apply(null, aMessage.rawData); michael@0: do_check_eq(mData, data); michael@0: do_check_eq(mData, aMessage.data); michael@0: do_test_finished(); michael@0: }, michael@0: michael@0: onStopListening: function(aSocket, aStatus){} michael@0: }; michael@0: michael@0: michael@0: function run_test(){ michael@0: var socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(Ci.nsIUDPSocket); michael@0: michael@0: socket.init(-1, true); michael@0: do_print("Port assigned : " + socket.port); michael@0: socket.asyncListen(new UDPSocketListener()); michael@0: michael@0: var written = socket.send("127.0.0.1", socket.port, rawData, rawData.length); michael@0: do_check_eq(written, data.length); michael@0: do_test_pending(); michael@0: } michael@0: