Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(623)

Side by Side Diff: sky/tests/services/network.sky

Issue 948463003: Added Sky Mojo embedder singleton, restored network test (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/tests/services/event-sender.sky ('k') | sky/tests/services/network-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <html> 1 #!mojo mojo:sky_viewer
2 <import src="../resources/chai.sky" /> 2 <sky>
3 <import src="../resources/mocha.sky" />
4 <import src="/gen/mojo/public/interfaces/application/shell.mojom.sky" as="shellM ojom" />
5 <import src="/gen/mojo/public/sky/connection.sky" as="connection" />
6 <import src="/gen/mojo/public/sky/core.sky" as="core" />
7 <import src="/gen/mojo/services/network/public/interfaces/network_service.mojom. sky" as="net" />
8 <import src="/gen/mojo/services/network/public/interfaces/url_loader.mojom.sky" as="loader" />
9 <import src="/gen/mojo/services/public/sky/shell.sky" as="shell" />
10 <script> 3 <script>
11 const Shell = shell.Shell; 4 import '/sky/framework/embedder.dart';
5 import 'dart:async';
6 import 'dart:mojo_bindings';
7 import 'dart:mojo_core';
8 import 'dart:typed_data';
9 import "dart:sky.internals" as internals;
12 10
13 describe('Mojo network_service', function() { 11 import 'package:mojo/services/network/public/interfaces/network_service.mojom.da rt';
14 this.enableTimeouts(false); 12 import 'package:mojo/services/network/public/interfaces/url_loader.mojom.dart';
15 13
16 it('should be able to fetch text files', function(done) { 14 Future<String> run(url) async {
17 var shellHandle = internals.takeShellProxyHandle(); 15 var networkService = new NetworkServiceProxy.unbound();
18 var shellProxy = connection.bindHandleToProxy(shellHandle, shellMojom.Shell) ; 16 embedder.connectToService("mojo:network_service", networkService);
19 var shell = new Shell(shellProxy);
20 var netService = shell.connectToService(
21 "mojo:network_service", net.NetworkService);
22 17
23 var urlLoader; 18 var urlLoaderProxy = new UrlLoaderProxy.unbound();
24 netService.createURLLoader(function(urlLoaderProxy) { 19 networkService.createUrlLoader(urlLoaderProxy);
25 urlLoader = urlLoaderProxy;
26 });
27 20
28 var urlRequest = new loader.URLRequest(); 21 var urlRequest = new UrlRequest()
29 urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.tx t"; 22 ..url = url
30 urlRequest.method = "GET"; 23 ..autoFollowRedirects = true;
31 urlRequest.auto_follow_redirects = true; 24 var urlResponse = await urlLoaderProxy.start(urlRequest);
32 25
33 var urlRequestPromise = urlLoader.start(urlRequest); 26 urlLoaderProxy.close();
34 urlRequestPromise.then(function(result) { 27 networkService.close();
35 if (result.response.error) {
36 assert.ok(false, "network request failed " + result.response.error.code + " "
37 + result.response.error.description);
38 done();
39 }
40 console.log("url => " + result.response["url"]);
41 console.log("status_line => " + result.response["status_line"]);
42 console.log("mime_type => " + result.response["mime_type"]);
43 28
44 var start = Date.now(); 29 print("url => ${urlResponse.response.url}");
45 while (Date.now() - start < 3) {} 30 print("status_line => ${urlResponse.response.statusLine}");
31 print("mime_type => ${urlResponse.response.mimeType}");
46 32
47 var drainDataPromise = core.drainData(result.response.body); 33 ByteData bodyData =
48 drainDataPromise.then(function(result) { 34 await DataPipeDrainer.drainHandle(urlResponse.response.body);
49 console.log("read " + result.buffer.byteLength + " bytes"); 35 print("read ${bodyData.lengthInBytes} bytes");
50 done(); 36
51 }).catch(function() { 37 return new String.fromCharCodes(new Uint8List.view(bodyData.buffer));
52 assert.ok(false, "core.drainData failed"); 38 }
53 done(); 39
54 }); 40 main() async {
55 }).catch(function() { 41 var url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt";
56 assert.ok(false, "start failed"); 42 var result = await run(url);
57 done(); 43 internals.notifyTestComplete(result);
58 }); 44 }
59 });
60 });
61 </script> 45 </script>
62 </html> 46 </sky>
OLDNEW
« no previous file with comments | « sky/tests/services/event-sender.sky ('k') | sky/tests/services/network-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698