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

Side by Side Diff: sdk/lib/_internal/pub/test/serve/missing_file_test.dart

Issue 22878002: Handle missing files more gracefully in pub serve. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library pub_tests; 5 library pub_tests;
6 6
7 import 'dart:io'; 7 import 'package:path/path.dart' as path;
8 import 'package:scheduled_test/scheduled_test.dart';
8 9
10 import '../../lib/src/io.dart';
9 import '../descriptor.dart' as d; 11 import '../descriptor.dart' as d;
10 import '../test_pub.dart'; 12 import '../test_pub.dart';
11 import 'utils.dart'; 13 import 'utils.dart';
12 14
13 main() { 15 main() {
14 initConfig(); 16 initConfig();
15 integration("responds with a 404 for missing files", () { 17 integration("responds with a 404 for missing files", () {
16 d.dir(appPath, [ 18 d.dir(appPath, [
17 d.appPubspec() 19 d.appPubspec(),
20 d.dir("asset", [
21 d.file("nope.png", "nope")
22 ]),
23 d.dir("lib", [
24 d.file("nope.dart", "nope")
25 ]),
26 d.dir("web", [
27 d.file("index.html", "<body>"),
28 ])
18 ]).create(); 29 ]).create();
19 30
31 // Start the server with the files present so that it creates barback
32 // assets for them.
20 startPubServe(); 33 startPubServe();
34
35 // TODO(rnystrom): When pub serve supports file watching, we'll have to do
36 // something here to specifically disable that so that we can get barback
37 // into the inconsistent state of thinking there is an asset but where the
38 // underlying file does not exist.
nweiz 2013/08/12 20:26:31 If you make the polling interval customizable, you
Bob Nystrom 2013/08/12 21:45:00 I was thinking the same thing. Updated the comment
39
40 // Now delete them.
41 schedule(() {
42 deleteEntry(path.join(sandboxDir, appPath, "asset", "nope.png"));
43 deleteEntry(path.join(sandboxDir, appPath, "lib", "nope.dart"));
44 deleteEntry(path.join(sandboxDir, appPath, "web", "index.html"));
45 }, "delete files");
46
21 requestShould404("index.html"); 47 requestShould404("index.html");
22 requestShould404("packages/myapp/nope.dart"); 48 requestShould404("packages/myapp/nope.dart");
23 requestShould404("assets/myapp/nope.png"); 49 requestShould404("assets/myapp/nope.png");
24 requestShould404("dir/packages/myapp/nope.dart"); 50 requestShould404("dir/packages/myapp/nope.dart");
25 requestShould404("dir/assets/myapp/nope.png"); 51 requestShould404("dir/assets/myapp/nope.png");
26 endPubServe(); 52 endPubServe();
27 }); 53 });
28 } 54 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698