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 <import src="/mojo/services/public/sky/shell.sky" as="shell" /> |
| 9 <import src="/mojo/public/interfaces/application/shell.mojom.sky" as="shellMojom
" /> |
9 <script> | 10 <script> |
| 11 const Shell = shell.Shell; |
| 12 |
10 describe('Mojo network_service', function() { | 13 describe('Mojo network_service', function() { |
11 this.enableTimeouts(false); | 14 this.enableTimeouts(false); |
12 | 15 |
13 it('should be able to fetch text files', function(done) { | 16 it('should be able to fetch text files', function(done) { |
14 var app = new application.Application(internals.passShellProxyHandle()); | 17 var shellHandle = internals.passShellProxyHandle(); |
15 var netService = app.shell.connectToService( | 18 var shellProxy = connection.bindHandleToProxy(shellHandle, shellMojom.Shell)
; |
| 19 var shell = new Shell(shellProxy); |
| 20 var netService = shell.connectToService( |
16 "mojo:network_service", net.NetworkService); | 21 "mojo:network_service", net.NetworkService); |
17 | 22 |
18 var urlLoader; | 23 var urlLoader; |
19 netService.createURLLoader(function(urlLoaderProxy) { | 24 netService.createURLLoader(function(urlLoaderProxy) { |
20 urlLoader = urlLoaderProxy; | 25 urlLoader = urlLoaderProxy; |
21 }); | 26 }); |
22 | 27 |
23 var urlRequest = new loader.URLRequest(); | 28 var urlRequest = new loader.URLRequest(); |
24 urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.tx
t"; | 29 urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.tx
t"; |
25 urlRequest.method = "GET"; | 30 urlRequest.method = "GET"; |
26 urlRequest.auto_follow_redirects = true; | 31 urlRequest.auto_follow_redirects = true; |
| 32 |
27 var urlRequestPromise = urlLoader.start(urlRequest); | 33 var urlRequestPromise = urlLoader.start(urlRequest); |
28 urlRequestPromise.then(function(result) { | 34 urlRequestPromise.then(function(result) { |
| 35 if (result.response.error) { |
| 36 assert.ok(false, "network request failed " + result.response.error.code
+ " " |
| 37 + result.response.error.description); |
| 38 done(); |
| 39 } |
29 console.log("url => " + result.response["url"]); | 40 console.log("url => " + result.response["url"]); |
30 console.log("status_line => " + result.response["status_line"]); | 41 console.log("status_line => " + result.response["status_line"]); |
31 console.log("mime_type => " + result.response["mime_type"]); | 42 console.log("mime_type => " + result.response["mime_type"]); |
| 43 |
| 44 var start = Date.now(); |
| 45 while (Date.now() - start < 3) {} |
| 46 |
32 var drainDataPromise = core.drainData(result.response.body); | 47 var drainDataPromise = core.drainData(result.response.body); |
33 drainDataPromise.then(function(result) { | 48 drainDataPromise.then(function(result) { |
34 console.log("read " + result.buffer.byteLength + " bytes"); | 49 console.log("read " + result.buffer.byteLength + " bytes"); |
35 done(); | 50 done(); |
36 }).catch(function() { | 51 }).catch(function() { |
37 assert.ok(false, "core.drainData failed"); | 52 assert.ok(false, "core.drainData failed"); |
38 done(); | 53 done(); |
39 }); | 54 }); |
40 }).catch(function() { | 55 }).catch(function() { |
41 assert.ok(false, "start failed"); | 56 assert.ok(false, "start failed"); |
42 done(); | 57 done(); |
43 }); | 58 }); |
44 }); | 59 }); |
45 }); | 60 }); |
46 </script> | 61 </script> |
47 </html> | 62 </html> |
OLD | NEW |