blob: 24b62fe3899e533192a1c261576ceae711cb3016 [file] [log] [blame]
// Copyright (c) 2017, 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:scheduled_test/scheduled_test.dart';
import '../descriptor.dart' as d;
import '../test_pub.dart';
import '../serve/utils.dart';
main() {
integration("can compile js files for modules under lib and web", () {
d.dir("foo", [
d.libPubspec("foo", "1.0.0"),
d.dir("lib", [
d.file(
"foo.dart",
"""
String get message => 'hello';
""")
]),
]).create();
d.dir(appPath, [
d.appPubspec({
"foo": {"path": "../foo"}
}),
d.dir("lib", [
d.file(
"hello.dart",
"""
import 'package:foo/foo.dart';
hello() => message;
""")
]),
d.dir("web", [
d.file(
"main.dart",
"""
import 'package:myapp/hello.dart';
void main() {
print(hello());
}
""")
])
]).create();
pubGet();
pubServe(args: ['--web-compiler', 'dartdevc']);
// Just confirm some basic things are present indicating that the module
// was compiled. The goal here is not to test dartdevc itself.
requestShouldSucceed('web__main.js', contains('main'));
requestShouldSucceed('web__main.js.map', contains('web__main.js'));
requestShouldSucceed('packages/myapp/lib__hello.js', contains('hello'));
requestShouldSucceed(
'packages/myapp/lib__hello.js.map', contains('lib__hello.js'));
requestShouldSucceed('packages/foo/lib__foo.js', contains('message'));
requestShouldSucceed(
'packages/foo/lib__foo.js.map', contains('lib__foo.js'));
requestShould404('invalid.js');
requestShould404('packages/foo/invalid.js');
endPubServe();
});
integration("dartdevc resources are copied next to entrypoints", () {
d.dir(appPath, [
d.appPubspec(),
d.dir("lib", [
d.file("main.dart", 'void main() {}'),
]),
d.dir("web", [
d.file("main.dart", 'void main() {}'),
d.dir("subdir", [
d.file("main.dart", 'void main() {}'),
]),
]),
]).create();
pubGet();
pubServe(args: ['--web-compiler', 'dartdevc']);
requestShouldSucceed('dart_sdk.js', null);
requestShouldSucceed('require.js', null);
requestShouldSucceed('dart_stack_trace_mapper.js', null);
requestShouldSucceed('ddc_web_compiler.js', null);
requestShould404('dart_sdk.js.map');
requestShould404('require.js.map');
requestShould404('dart_stack_trace_mapper.js.map');
requestShould404('ddc_web_compiler.js.map');
requestShouldSucceed('subdir/dart_sdk.js', null);
requestShouldSucceed('subdir/require.js', null);
requestShouldSucceed('subdir/dart_stack_trace_mapper.js', null);
requestShouldSucceed('subdir/ddc_web_compiler.js', null);
requestShould404('subdir/dart_sdk.js.map');
requestShould404('subdir/require.js.map');
requestShould404('subdir/dart_stack_trace_mapper.js.map');
requestShould404('subdir/ddc_web_compiler.js.map');
endPubServe();
});
}