OLD | NEW |
1 <html> | 1 <html> |
2 <import src="../resources/chai.sky" /> | 2 <import src="../resources/chai.sky" /> |
3 <import src="../resources/mocha.sky" /> | 3 <import src="../resources/mocha.sky" /> |
4 <import src="/mojo/public/sky/core.sky" as="core" /> | 4 <import src="/mojo/public/sky/core.sky" as="core" /> |
5 <import src="/mojo/public/sky/connection.sky" as="connection" /> | 5 <import src="/mojo/public/sky/connection.sky" as="connection" /> |
6 <import src="/mojo/services/network/public/interfaces/network_service.mojom.sky"
as="net" /> | 6 <import src="/mojo/services/network/public/interfaces/network_service.mojom.sky"
as="net" /> |
7 <import src="/mojo/services/network/public/interfaces/url_loader.mojom.sky" as="
loader" /> | 7 <import src="/mojo/services/network/public/interfaces/url_loader.mojom.sky" as="
loader" /> |
| 8 <import src="/mojo/services/public/sky/application.sky" as="application" /> |
8 <script> | 9 <script> |
9 describe('Mojo network_service', function() { | 10 describe('Mojo network_service', function() { |
10 this.enableTimeouts(false); | 11 this.enableTimeouts(false); |
11 | 12 |
12 it('should be able to fetch text files', function(done) { | 13 it('should be able to fetch text files', function(done) { |
13 var netServiceHandle = internals.connectToService( | 14 var app = new application.Application(internals.passShellProxyHandle()); |
14 "mojo:network_service", "mojo::NetworkService"); | 15 var netService = app.shell.connectToService( |
15 var netConnection = new connection.Connection( | 16 "mojo:network_service", net.NetworkService); |
16 netServiceHandle, | 17 |
17 net.NetworkService.stubClass, | 18 var urlLoader; |
18 net.NetworkService.proxyClass); | 19 netService.createURLLoader(function(urlLoaderProxy) { |
19 var urlLoaderPipe = new core.createMessagePipe(); | 20 urlLoader = urlLoaderProxy; |
20 netConnection.remote.createURLLoader(urlLoaderPipe.handle1); | 21 }); |
21 var urlLoaderConnection = new connection.Connection( | 22 |
22 urlLoaderPipe.handle0, | |
23 loader.URLLoader.stubClass, | |
24 loader.URLLoader.proxyClass); | |
25 var urlRequest = new loader.URLRequest(); | 23 var urlRequest = new loader.URLRequest(); |
26 urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.tx
t"; | 24 urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.tx
t"; |
27 urlRequest.method = "GET"; | 25 urlRequest.method = "GET"; |
28 urlRequest.auto_follow_redirects = true; | 26 urlRequest.auto_follow_redirects = true; |
29 var urlRequestPromise = urlLoaderConnection.remote.start(urlRequest); | 27 var urlRequestPromise = urlLoader.start(urlRequest); |
30 urlRequestPromise.then(function(result) { | 28 urlRequestPromise.then(function(result) { |
31 console.log("url => " + result.response["url"]); | 29 console.log("url => " + result.response["url"]); |
32 console.log("status_line => " + result.response["status_line"]); | 30 console.log("status_line => " + result.response["status_line"]); |
33 console.log("mime_type => " + result.response["mime_type"]); | 31 console.log("mime_type => " + result.response["mime_type"]); |
34 var drainDataPromise = core.drainData(result.response.body); | 32 var drainDataPromise = core.drainData(result.response.body); |
35 drainDataPromise.then(function(result) { | 33 drainDataPromise.then(function(result) { |
36 console.log("read " + result.buffer.byteLength + " bytes"); | 34 console.log("read " + result.buffer.byteLength + " bytes"); |
37 done(); | 35 done(); |
38 }).catch(function() { | 36 }).catch(function() { |
39 assert.ok(false, "core.drainData failed"); | 37 assert.ok(false, "core.drainData failed"); |
40 done(); | 38 done(); |
41 }); | 39 }); |
42 }).catch(function() { | 40 }).catch(function() { |
43 assert.ok(false, "start failed"); | 41 assert.ok(false, "start failed"); |
44 done(); | 42 done(); |
45 }); | 43 }); |
46 }); | 44 }); |
47 }); | 45 }); |
48 </script> | 46 </script> |
49 </html> | 47 </html> |
OLD | NEW |