| Index: sky/tests/services/network.sky
|
| diff --git a/sky/tests/services/network.sky b/sky/tests/services/network.sky
|
| index 55ab5acbd8ddd64b46799b00c13e99d9497169e6..58a6ab94d37d71f25b0e6935cae440bac3411406 100644
|
| --- a/sky/tests/services/network.sky
|
| +++ b/sky/tests/services/network.sky
|
| @@ -1,62 +1,46 @@
|
| -<html>
|
| -<import src="../resources/chai.sky" />
|
| -<import src="../resources/mocha.sky" />
|
| -<import src="/gen/mojo/public/interfaces/application/shell.mojom.sky" as="shellMojom" />
|
| -<import src="/gen/mojo/public/sky/connection.sky" as="connection" />
|
| -<import src="/gen/mojo/public/sky/core.sky" as="core" />
|
| -<import src="/gen/mojo/services/network/public/interfaces/network_service.mojom.sky" as="net" />
|
| -<import src="/gen/mojo/services/network/public/interfaces/url_loader.mojom.sky" as="loader" />
|
| -<import src="/gen/mojo/services/public/sky/shell.sky" as="shell" />
|
| +#!mojo mojo:sky_viewer
|
| +<sky>
|
| <script>
|
| -const Shell = shell.Shell;
|
| -
|
| -describe('Mojo network_service', function() {
|
| - this.enableTimeouts(false);
|
| -
|
| - it('should be able to fetch text files', function(done) {
|
| - var shellHandle = internals.takeShellProxyHandle();
|
| - var shellProxy = connection.bindHandleToProxy(shellHandle, shellMojom.Shell);
|
| - var shell = new Shell(shellProxy);
|
| - var netService = shell.connectToService(
|
| - "mojo:network_service", net.NetworkService);
|
| -
|
| - var urlLoader;
|
| - netService.createURLLoader(function(urlLoaderProxy) {
|
| - urlLoader = urlLoaderProxy;
|
| - });
|
| -
|
| - var urlRequest = new loader.URLRequest();
|
| - urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt";
|
| - urlRequest.method = "GET";
|
| - urlRequest.auto_follow_redirects = true;
|
| -
|
| - var urlRequestPromise = urlLoader.start(urlRequest);
|
| - urlRequestPromise.then(function(result) {
|
| - if (result.response.error) {
|
| - assert.ok(false, "network request failed " + result.response.error.code + " "
|
| - + result.response.error.description);
|
| - done();
|
| - }
|
| - console.log("url => " + result.response["url"]);
|
| - console.log("status_line => " + result.response["status_line"]);
|
| - console.log("mime_type => " + result.response["mime_type"]);
|
| -
|
| - var start = Date.now();
|
| - while (Date.now() - start < 3) {}
|
| -
|
| - var drainDataPromise = core.drainData(result.response.body);
|
| - drainDataPromise.then(function(result) {
|
| - console.log("read " + result.buffer.byteLength + " bytes");
|
| - done();
|
| - }).catch(function() {
|
| - assert.ok(false, "core.drainData failed");
|
| - done();
|
| - });
|
| - }).catch(function() {
|
| - assert.ok(false, "start failed");
|
| - done();
|
| - });
|
| - });
|
| -});
|
| +import '/sky/framework/embedder.dart';
|
| +import 'dart:async';
|
| +import 'dart:mojo_bindings';
|
| +import 'dart:mojo_core';
|
| +import 'dart:typed_data';
|
| +import "dart:sky.internals" as internals;
|
| +
|
| +import 'package:mojo/services/network/public/interfaces/network_service.mojom.dart';
|
| +import 'package:mojo/services/network/public/interfaces/url_loader.mojom.dart';
|
| +
|
| +Future<String> run(url) async {
|
| + var networkService = new NetworkServiceProxy.unbound();
|
| + embedder.connectToService("mojo:network_service", networkService);
|
| +
|
| + var urlLoaderProxy = new UrlLoaderProxy.unbound();
|
| + networkService.createUrlLoader(urlLoaderProxy);
|
| +
|
| + var urlRequest = new UrlRequest()
|
| + ..url = url
|
| + ..autoFollowRedirects = true;
|
| + var urlResponse = await urlLoaderProxy.start(urlRequest);
|
| +
|
| + urlLoaderProxy.close();
|
| + networkService.close();
|
| +
|
| + print("url => ${urlResponse.response.url}");
|
| + print("status_line => ${urlResponse.response.statusLine}");
|
| + print("mime_type => ${urlResponse.response.mimeType}");
|
| +
|
| + ByteData bodyData =
|
| + await DataPipeDrainer.drainHandle(urlResponse.response.body);
|
| + print("read ${bodyData.lengthInBytes} bytes");
|
| +
|
| + return new String.fromCharCodes(new Uint8List.view(bodyData.buffer));
|
| +}
|
| +
|
| +main() async {
|
| + var url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt";
|
| + var result = await run(url);
|
| + internals.notifyTestComplete(result);
|
| +}
|
| </script>
|
| -</html>
|
| +</sky>
|
|
|