blob: 74726bf10daeafe948a81b5b4c01fc7c23d34929 [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS d.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 pub_tests;
import 'package:scheduled_test/scheduled_test.dart';
import '../../descriptor.dart' as d;
import '../../test_pub.dart';
import '../utils.dart';
main() {
// TODO(rnystrom): Split into independent tests.
initConfig();
setUp(() {
d.dir("foo", [
d.libPubspec("foo", "0.0.1"),
d.dir("asset", [
d.file("foo.txt", "foo"),
d.dir("sub", [
d.file("bar.txt", "bar"),
])
]),
d.dir("lib", [
d.file("foo.dart", "foo")
])
]).create();
d.dir(appPath, [
d.appPubspec({
"foo": {"path": "../foo"}
}),
d.dir("lib", [
d.file("myapp.dart", "myapp"),
]),
d.dir("test", [
d.file("index.html", "<body>"),
d.dir("sub", [
d.file("bar.html", "bar"),
])
]),
d.dir("web", [
d.file("index.html", "<body>"),
d.dir("sub", [
d.file("bar.html", "bar"),
])
])
]).create();
});
integration("converts URLs to matching asset ids in web/", () {
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("web", "index.html")
}, {"package": "myapp", "path": "web/index.html"});
endPubServe();
});
integration("converts URLs to matching asset ids in subdirectories of web/",
() {
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("web", "sub/bar.html")
}, {"package": "myapp", "path": "web/sub/bar.html"});
endPubServe();
});
integration("converts URLs to matching asset ids in test/", () {
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("test", "index.html")
}, {"package": "myapp", "path": "test/index.html"});
endPubServe();
});
integration("converts URLs to matching asset ids in subdirectories of test/",
() {
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("test", "sub/bar.html")
}, {"package": "myapp", "path": "test/sub/bar.html"});
endPubServe();
});
integration("converts URLs to matching asset ids in the entrypoint's lib/",
() {
// Path in root package's lib/.
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("web", "packages/myapp/myapp.dart")
}, {"package": "myapp", "path": "lib/myapp.dart"});
endPubServe();
});
integration("converts URLs to matching asset ids in a dependency's lib/", () {
// Path in lib/.
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("web", "packages/foo/foo.dart")
}, {"package": "foo", "path": "lib/foo.dart"});
endPubServe();
});
integration("converts URLs to matching asset ids in the entrypoint's asset/",
() {
// Paths in asset/.
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("web", "assets/foo/foo.txt")
}, {"package": "foo", "path": "asset/foo.txt"});
endPubServe();
});
integration("converts URLs to matching asset ids in a dependency's of asset/",
() {
pubServe(shouldGetFirst: true);
expectWebSocketResult("urlToAssetId", {
"url": getServerUrl("web", "assets/foo/sub/bar.txt")
}, {"package": "foo", "path": "asset/sub/bar.txt"});
endPubServe();
});
}