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

Unified Diff: utils/tests/pub/test_pub.dart

Issue 14241005: Use the cached pubspec if possible for describing hosted packages. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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: utils/tests/pub/test_pub.dart
diff --git a/utils/tests/pub/test_pub.dart b/utils/tests/pub/test_pub.dart
index d7fdb1df41008667b6c52025cb2b55cfba6f6edb..eded51c0d32e8baf24b7f07a0c4ce8b68f64c13a 100644
--- a/utils/tests/pub/test_pub.dart
+++ b/utils/tests/pub/test_pub.dart
@@ -57,6 +57,10 @@ bool get runningOnBuildbot =>
/// The current [HttpServer] created using [serve].
var _server;
+/// The list of paths that have been requested from the server since the last
+/// call to ???.
nweiz 2013/04/18 22:50:03 ???
Bob Nystrom 2013/04/18 23:07:10 Oops. Wrote that comment before I figured out what
+var _requestedPaths;
nweiz 2013/04/18 22:50:03 This should have a type annotation since it doesn'
Bob Nystrom 2013/04/18 23:07:10 Done.
+
/// The cached value for [_portCompleter].
Completer<int> _portCompleterCache;
@@ -73,6 +77,18 @@ Completer<int> get _portCompleter {
/// A future that will complete to the port used for the current server.
Future<int> get port => _portCompleter.future;
+/// Gets the list of paths that have been requested from the server since the
+/// last time this was called (or since the server was first spun up). Since
+/// this method is synchronous, make sure to call it from within [schedule] to
+/// ensure it's scheduled with other tasks.
nweiz 2013/04/18 22:50:03 It would be cleaner to make this return a Future<L
Bob Nystrom 2013/04/18 23:07:10 Done.
+List<String> getRequestedPaths() {
+ if (_requestedPaths == null) return [];
+
+ var paths = _requestedPaths;
+ _requestedPaths = null;
+ return paths;
+}
+
/// Creates an HTTP server to serve [contents] as static files. This server will
/// exist only for the duration of the pub run.
///
@@ -88,6 +104,10 @@ void serve([List<d.Descriptor> contents]) {
var response = request.response;
try {
var path = request.uri.path.replaceFirst("/", "");
+
+ if (_requestedPaths == null) _requestedPaths = <String>[];
+ _requestedPaths.add(path);
+
response.persistentConnection = false;
var stream = baseDir.load(path);

Powered by Google App Engine
This is Rietveld 408576698