Index: mojo/public/dart/third_party/shelf/test/test_util.dart |
diff --git a/mojo/public/dart/third_party/shelf/test/test_util.dart b/mojo/public/dart/third_party/shelf/test/test_util.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3df1e56b4ff66abf3ec7c74ae291a110a8a22ccb |
--- /dev/null |
+++ b/mojo/public/dart/third_party/shelf/test/test_util.dart |
@@ -0,0 +1,38 @@ |
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library shelf.test_util; |
+ |
+import 'dart:async'; |
+ |
+import 'package:shelf/shelf.dart'; |
+ |
+// "hello," |
+const HELLO_BYTES = const [104, 101, 108, 108, 111, 44]; |
+ |
+// " world" |
+const WORLD_BYTES = const [32, 119, 111, 114, 108, 100]; |
+ |
+/// A simple, synchronous handler for [Request]. |
+/// |
+/// By default, replies with a status code 200, empty headers, and |
+/// `Hello from ${request.url.path}`. |
+Response syncHandler(Request request, |
+ {int statusCode, Map<String, String> headers}) { |
+ if (statusCode == null) statusCode = 200; |
+ return new Response(statusCode, |
+ headers: headers, body: 'Hello from ${request.requestedUri.path}'); |
+} |
+ |
+/// Calls [syncHandler] and wraps the response in a [Future]. |
+Future<Response> asyncHandler(Request request) => |
+ new Future(() => syncHandler(request)); |
+ |
+/// Makes a simple GET request to [handler] and returns the result. |
+Future<Response> makeSimpleRequest(Handler handler) => |
+ new Future.sync(() => handler(_request)); |
+ |
+final _request = new Request('GET', LOCALHOST_URI); |
+ |
+final LOCALHOST_URI = Uri.parse('http://localhost/'); |