chore(test): make e2e tests use the bundles.

After this change, only web_worker thread in its e2e test is not using
the bundles.

Closes #4565
This commit is contained in:
Rado Kirov 2015-10-06 16:35:40 -07:00 committed by Rado Kirov
parent f7aa890ade
commit f7b75330e0
5 changed files with 72 additions and 36 deletions

View File

@ -1123,11 +1123,11 @@ gulp.task('!bundle.copy', [
'!bundle.web_worker.js.dev.deps', '!bundle.web_worker.js.dev.deps',
'!bundle.js.sfx.dev.deps', '!bundle.js.sfx.dev.deps',
'!router.bundle.js.dev' '!router.bundle.js.dev'
], function () { ],
return merge2( function() {
gulp.src('dist/js/bundle/*').pipe(gulp.dest('dist/js/prod/es5/bundle')), return merge2(gulp.src('dist/js/bundle/**').pipe(gulp.dest('dist/js/prod/es5/bundle')),
gulp.src('dist/js/bundle/*').pipe(gulp.dest('dist/js/dev/es5/bundle'))); gulp.src('dist/js/bundle/**').pipe(gulp.dest('dist/js/dev/es5/bundle')));
}); });
gulp.task('bundles.js', [ gulp.task('bundles.js', [
'!bundle.js.prod.deps', '!bundle.js.prod.deps',

View File

@ -1,13 +1,23 @@
<script src="es6-shim.js" type="text/javascript"></script> <script src="es6-shim.js"></script>
<script src="zone-microtask.js" type="text/javascript"></script> <script src="system.src.js"></script>
<script src="long-stack-trace-zone.js" type="text/javascript"></script> <script>
<script src="system.src.js" type="text/javascript"></script>
<script src="Reflect.js" type="text/javascript"></script>
<script type="text/javascript">
var filename = '@@FILENAME_NO_EXT';
System.config({ System.config({
baseURL: '/', baseURL: '/',
defaultJSExtensions: true packages: {
'angular2_material': {defaultExtension: 'js'},
'benchmarks': {defaultExtension: 'js'},
'examples': {defaultExtension: 'js'},
// TODO(rado): These helpers don't end up in the bundle, thus they should
// not even be in src/*. Move them!
'angular2/src/test_lib/benchmark_util': {defaultExtension: 'js'},
'angular2/src/core/facade/browser': {defaultExtension: 'js'},
}
}); });
</script>
<script src="/bundle/angular2.dev.js"></script>
<script src="/bundle/http.js"></script>
<script src="/bundle/router.dev.js"></script>
<script>
var filename = '@@PATH/@@FILENAME';
System.import(filename).then(function(m) { m.main(); }, console.error.bind(console)); System.import(filename).then(function(m) { m.main(); }, console.error.bind(console));
</script> </script>

View File

@ -1,14 +1,22 @@
<script src="es6-shim.js" type="text/javascript"></script> <script src="es6-shim.js"></script>
<script src="zone-microtask.js" type="text/javascript"></script> <script src="url_params_to_form.js"></script>
<script src="long-stack-trace-zone.js" type="text/javascript"></script> <script src="system.src.js"></script>
<script src="url_params_to_form.js" type="text/javascript"></script> <script>
<script src="system.src.js" type="text/javascript"></script>
<script src="Reflect.js" type="text/javascript"></script>
<script type="text/javascript">
var filename = '@@FILENAME_NO_EXT';
System.config({ System.config({
baseURL: '/', baseURL: '/',
defaultJSExtensions: true packages: {
'angular2_material': {defaultExtension: 'js'},
'benchmarks': {defaultExtension: 'js'},
'examples': {defaultExtension: 'js'},
// TODO(rado): These helpers don't end up in the bundle, thus they should
// not even be in src/*. Move them!
'angular2/src/test_lib/benchmark_util': {defaultExtension: 'js'},
'angular2/src/core/facade/browser': {defaultExtension: 'js'},
}
}); });
</script>
<script src="/bundle/angular2.dev.js"></script>
<script>
var filename = '@@PATH/@@FILENAME';
System.import(filename).then(function(m) { m.main(); }, console.error.bind(console)); System.import(filename).then(function(m) { m.main(); }, console.error.bind(console));
</script> </script>

View File

@ -1,15 +1,14 @@
<script src="es6-shim.js" type="text/javascript"></script> <script src="es6-shim.js"></script>
<script src="zone-microtask.js" type="text/javascript"></script> <script src="zone-microtask.js"></script>
<script src="long-stack-trace-zone.js" type="text/javascript"></script> <script src="long-stack-trace-zone.js"></script>
<script src="angular.js" type="text/javascript"></script> <script src="angular.js"></script>
<script src="url_params_to_form.js" type="text/javascript"></script> <script src="url_params_to_form.js"></script>
<script src="system.src.js" type="text/javascript"></script> <script src="system.src.js"></script>
<script src="Reflect.js" type="text/javascript"></script> <script>
<script type="text/javascript">
var filename = '@@FILENAME_NO_EXT';
System.config({ System.config({
baseURL: '/', baseURL: '/',
defaultJSExtensions: true defaultJSExtensions: true
}); });
var filename = '@@PATH/@@FILENAME';
System.import(filename).then(function(m) { m.main(); }, console.error.bind(console)); System.import(filename).then(function(m) { m.main(); }, console.error.bind(console));
</script> </script>

View File

@ -90,9 +90,18 @@ module.exports = function makeBrowserTree(options, destinationPath) {
}); });
var scriptPathPatternReplacement = { var scriptPathPatternReplacement = {
match: '@@FILENAME_NO_EXT', match: '@@PATH',
replacement: function(replacement, relativePath) { replacement: function(replacement, relativePath) {
return relativePath.replace(/\.\w+$/, '').replace(/\\/g, '/'); var parts = relativePath.replace(/\\/g, '/').split('/');
return parts.splice(0, parts.length - 1).join('/');
}
};
var scriptFilePatternReplacement = {
match: '@@FILENAME',
replacement: function(replacement, relativePath) {
var parts = relativePath.replace(/\\/g, '/').split('/');
return parts[parts.length - 1].replace('html', 'js');
} }
}; };
@ -171,7 +180,8 @@ module.exports = function makeBrowserTree(options, destinationPath) {
files: ['examples*/**/*.html'], files: ['examples*/**/*.html'],
patterns: [ patterns: [
{match: /\$SCRIPTS\$/, replacement: htmlReplace('SCRIPTS')}, {match: /\$SCRIPTS\$/, replacement: htmlReplace('SCRIPTS')},
scriptPathPatternReplacement scriptPathPatternReplacement,
scriptFilePatternReplacement
] ]
}); });
@ -180,7 +190,8 @@ module.exports = function makeBrowserTree(options, destinationPath) {
files: ['benchmarks/**'], files: ['benchmarks/**'],
patterns: [ patterns: [
{match: /\$SCRIPTS\$/, replacement: htmlReplace('SCRIPTS_benchmarks')}, {match: /\$SCRIPTS\$/, replacement: htmlReplace('SCRIPTS_benchmarks')},
scriptPathPatternReplacement scriptPathPatternReplacement,
scriptFilePatternReplacement
] ]
}); });
@ -188,10 +199,18 @@ module.exports = function makeBrowserTree(options, destinationPath) {
files: ['benchmarks_external/**'], files: ['benchmarks_external/**'],
patterns: [ patterns: [
{match: /\$SCRIPTS\$/, replacement: htmlReplace('SCRIPTS_benchmarks_external')}, {match: /\$SCRIPTS\$/, replacement: htmlReplace('SCRIPTS_benchmarks_external')},
scriptPathPatternReplacement scriptPathPatternReplacement,
scriptFilePatternReplacement
] ]
}); });
// We need to replace the regular angular bundle with the web-worker bundle
// for web-worker e2e tests.
htmlTree = replace(htmlTree, {
files: ['examples*/**/web_workers/**/*.html'],
patterns: [{match: "/bundle/angular2.dev.js", replacement: "/bundle/web_worker/ui.dev.js"}]
});
var assetsTree = var assetsTree =
new Funnel(modulesTree, {include: ['**/*'], exclude: ['**/*.{html,ts,dart}'], destDir: '/'}); new Funnel(modulesTree, {include: ['**/*'], exclude: ['**/*.{html,ts,dart}'], destDir: '/'});