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

Unified Diff: tests/standalone/io/http_read_test.dart

Issue 10837070: Remove old isolate API and update all code in the repository to use (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix namespace comment. Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: tests/standalone/io/http_read_test.dart
diff --git a/tests/standalone/io/http_read_test.dart b/tests/standalone/io/http_read_test.dart
index fc2a79df828c313d5b28ea4fffe93304e9d5d428..0d4347f462f0d893f2df9c0019ca43227c651464 100644
--- a/tests/standalone/io/http_read_test.dart
+++ b/tests/standalone/io/http_read_test.dart
@@ -14,9 +14,7 @@ class TestServerMain {
TestServerMain()
: _statusPort = new ReceivePort(),
_serverPort = null {
- new TestServer().spawn().then((SendPort port) {
- _serverPort = port;
- });
+ _serverPort = spawnFunction(startTestServer);
}
void setServerStartedHandler(void startedCallback(int port)) {
@@ -91,7 +89,15 @@ class TestServerStatus {
}
-class TestServer extends Isolate {
+void startTestServer() {
+ var server = new TestServer();
+ server.init();
+ port.receive((message, replyTo) {
kasperl 2012/08/03 05:20:27 port.receive(server.dispatch)? Maybe this is a pat
+ server.dispatch(message, replyTo);
+ });
+}
+
+class TestServer {
// Echo the request content back to the response.
void _echoHandler(HttpRequest request, HttpResponse response) {
Expect.equals("POST", request.method);
@@ -108,33 +114,33 @@ class TestServer extends Isolate {
}
- void main() {
+ void init() {
// Setup request handlers.
_requestHandlers = new Map();
_requestHandlers["/echo"] = (HttpRequest request, HttpResponse response) {
_echoHandler(request, response);
};
+ }
- this.port.receive((var message, SendPort replyTo) {
- if (message.isStart) {
- _server = new HttpServer();
- try {
- _server.listen("127.0.0.1", 0);
- _server.defaultRequestHandler = (HttpRequest req, HttpResponse rsp) {
- _requestReceivedHandler(req, rsp);
- };
- replyTo.send(new TestServerStatus.started(_server.port), null);
- } catch (var e) {
- replyTo.send(new TestServerStatus.error(), null);
- }
- } else if (message.isStop) {
- _server.close();
- this.port.close();
- replyTo.send(new TestServerStatus.stopped(), null);
- } else if (message.isChunkedEncoding) {
- _chunkedEncoding = true;
+ void dispatch(message, SendPort replyTo) {
+ if (message.isStart) {
+ _server = new HttpServer();
+ try {
+ _server.listen("127.0.0.1", 0);
+ _server.defaultRequestHandler = (HttpRequest req, HttpResponse rsp) {
+ _requestReceivedHandler(req, rsp);
+ };
+ replyTo.send(new TestServerStatus.started(_server.port), null);
+ } catch (var e) {
+ replyTo.send(new TestServerStatus.error(), null);
}
- });
+ } else if (message.isStop) {
+ _server.close();
+ port.close();
+ replyTo.send(new TestServerStatus.stopped(), null);
+ } else if (message.isChunkedEncoding) {
+ _chunkedEncoding = true;
+ }
}
void _requestReceivedHandler(HttpRequest request, HttpResponse response) {

Powered by Google App Engine
This is Rietveld 408576698