blob: 92d8a954f0ae117f9f77d72b0f22c92503e5ce85 [file] [log] [blame]
// 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.
import 'package:path/path.dart' as p;
import 'package:scheduled_test/scheduled_test.dart';
import '../descriptor.dart' as d;
import '../serve/utils.dart';
import '../test_pub.dart';
main() {
initConfig();
setUp(() {
d.dir(appPath, [
d.appPubspec(),
d.dir("web", [
d.dir("one", [
d.dir("inner", [d.file("file.txt", "one")])
]),
d.dir("two", [
d.dir("inner", [d.file("file.txt", "two")])
]),
d.dir("nope", [
d.dir("inner", [d.file("file.txt", "nope")])
])
])
]).create();
});
var webOne = p.join("web", "one");
var webTwoInner = p.join("web", "two", "inner");
integration("builds subdirectories", () {
schedulePub(args: ["build", webOne, webTwoInner],
output: new RegExp(r'Built 2 files to "build".'));
d.dir(appPath, [
d.dir("build", [
d.dir("web", [
d.dir("one", [
d.dir("inner", [d.file("file.txt", "one")])
]),
d.dir("two", [
d.dir("inner", [d.file("file.txt", "two")])
]),
d.nothing("nope")
])
])
]).validate();
});
integration("serves subdirectories", () {
pubServe(args: [webOne, webTwoInner]);
requestShouldSucceed("inner/file.txt", "one", root: webOne);
requestShouldSucceed("file.txt", "two", root: webTwoInner);
expectNotServed("web");
expectNotServed(p.join("web", "three"));
endPubServe();
});
}