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

Unified Diff: pkg/polymer/test/build/script_compactor_test.dart

Issue 427623002: Polymer transformer logs now show on the frontend for pub serve. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: dont wrap the logger in release mode Created 6 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 side-by-side diff with in-line comments
Download patch
Index: pkg/polymer/test/build/script_compactor_test.dart
diff --git a/pkg/polymer/test/build/script_compactor_test.dart b/pkg/polymer/test/build/script_compactor_test.dart
index ba536305d9b90ea31c60c36c2eabe4eac358a444..60dc5855e70934397cf6d9ba71fda3f2b3e0cd8a 100644
--- a/pkg/polymer/test/build/script_compactor_test.dart
+++ b/pkg/polymer/test/build/script_compactor_test.dart
@@ -4,6 +4,8 @@
library polymer.test.build.script_compactor_test;
+import 'dart:convert';
+
import 'package:code_transformers/tests.dart' show testingDartSdkDirectory;
import 'package:polymer/src/build/common.dart';
import 'package:polymer/src/build/script_compactor.dart';
@@ -20,6 +22,7 @@ void main() {
group('initializers', () => initializerTests(phases));
group('experimental', () => initializerTestsExperimental(phases));
group('codegen', () => codegenTests(phases));
+ group('log element injection', logElementInjectionTests);
}
initializerTests(phases) {
@@ -153,43 +156,61 @@ initializerTests(phases) {
'''.replaceAll('\n ', '\n'),
});
- testPhases('invalid const expression', phases, {
- 'a|web/test.html':
- '<!DOCTYPE html><html><head>',
- 'a|web/test.html._data': expectedData(['web/a.dart']),
- 'a|web/a.dart':
- 'library a;\n'
- 'import "package:polymer/polymer.dart";\n'
- '@CustomTag("\${x}-foo")\n' // invalid, x is not defined
- 'class XFoo extends PolymerElement {\n'
- '}\n'
- 'main(){}',
- }, {
- 'a|web/test.html_bootstrap.dart':
- '''$MAIN_HEADER
- import 'a.dart' as i0;
- ${DEFAULT_IMPORTS.join('\n')}
- import 'a.dart' as smoke_0;
- import 'package:polymer/polymer.dart' as smoke_1;
- void main() {
- useGeneratedCode(new StaticConfiguration(
- checkedMode: false,
- parents: {
- smoke_0.XFoo: smoke_1.PolymerElement,
- },
- declarations: {
- smoke_0.XFoo: {},
- }));
- configureForDeployment([]);
- i0.main();
- }
- '''.replaceAll('\n ', '\n'),
+ testLogOutput(
+ (options) =>
+ new ScriptCompactor(options, sdkDir: testingDartSdkDirectory),
+ 'invalid const expression logs', {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data': expectedData(['web/a.dart']),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.dart";\n'
+ '@CustomTag("\${x}-foo")\n' // invalid, x is not defined
+ 'class XFoo extends PolymerElement {\n'
+ '}\n'
+ 'main(){}',
+ }, {}, [
+ 'warning: The parameter to @CustomTag seems to be invalid. '
+ '(web/a.dart 2 11)',
+ ]);
+
+ testPhases(
+ 'invalid const expression', phases, {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data': expectedData(['web/a.dart']),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.dart";\n'
+ '@CustomTag("\${x}-foo")\n' // invalid, x is not defined
+ 'class XFoo extends PolymerElement {\n'
+ '}\n'
+ 'main(){}',
+ }, {
+ 'a|web/test.html_bootstrap.dart':
+ '''$MAIN_HEADER
+ import 'a.dart' as i0;
+ ${DEFAULT_IMPORTS.join('\n')}
+ import 'a.dart' as smoke_0;
+ import 'package:polymer/polymer.dart' as smoke_1;
+
+ void main() {
+ useGeneratedCode(new StaticConfiguration(
+ checkedMode: false,
+ parents: {
+ smoke_0.XFoo: smoke_1.PolymerElement,
+ },
+ declarations: {
+ smoke_0.XFoo: {},
+ }));
+ configureForDeployment([]);
+ i0.main();
+ }
+ '''.replaceAll('\n ', '\n'),
- }, [
- 'warning: The parameter to @CustomTag seems to be invalid. '
- '(web/a.dart 2 11)',
- ]);
+ });
testPhases('no polymer import (no warning, but no crash either)', phases, {
'a|web/test.html':
@@ -465,71 +486,107 @@ initializerTestsExperimental(phases) {
'''.replaceAll('\n ', '\n'),
});
- testPhases('invalid const expression', phases, {
- 'a|web/test.html':
- '<!DOCTYPE html><html><head>',
- 'a|web/test.html._data': expectedData(['web/a.dart'], experimental: true),
- 'a|web/a.dart':
- 'library a;\n'
- 'import "package:polymer/polymer.dart";\n'
- '@CustomTag("\${x}-foo")\n' // invalid, x is not defined
- 'class XFoo extends PolymerElement {\n'
- '}\n'
- 'main(){}',
- }, {
- 'a|web/test.html_bootstrap.dart':
- '''$MAIN_HEADER
- import 'a.dart' as i0;
- ${DEFAULT_IMPORTS.join('\n')}
- import 'a.dart' as smoke_0;
- import 'package:polymer/polymer.dart' as smoke_1;
-
- void main() {
- useGeneratedCode(new StaticConfiguration(
- checkedMode: false,
- parents: {
- smoke_0.XFoo: smoke_1.PolymerElement,
- },
- declarations: {
- smoke_0.XFoo: {},
- }));
- startPolymer([]);
- }
- '''.replaceAll('\n ', '\n'),
-
- }, [
- 'warning: The parameter to @CustomTag seems to be invalid. '
- '(web/a.dart 2 11)',
- 'warning: $NO_INITIALIZERS_ERROR',
- ]);
-
- testPhases('no polymer import (no warning, but no crash either)', phases, {
- 'a|web/test.html':
- '<!DOCTYPE html><html><head>',
- 'a|web/test.html._data': expectedData(['web/a.dart'], experimental: true),
- 'a|web/a.dart':
- 'library a;\n'
- 'import "package:polymer/polymer.broken.import.dart";\n'
- '@CustomTag("x-foo")\n'
- 'class XFoo extends PolymerElement {\n'
- '}\n'
- 'main(){}',
- }, {
- 'a|web/test.html_bootstrap.dart':
- '''$MAIN_HEADER
- import 'a.dart' as i0;
- ${DEFAULT_IMPORTS.join('\n')}
-
- void main() {
- useGeneratedCode(new StaticConfiguration(
- checkedMode: false));
- startPolymer([]);
- }
- '''.replaceAll('\n ', '\n'),
-
- }, [
- 'warning: $NO_INITIALIZERS_ERROR',
- ]);
+ testLogOutput(
+ (options) =>
+ new ScriptCompactor(options, sdkDir: testingDartSdkDirectory),
+ 'invalid const expression logs', {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data':
+ expectedData(['web/a.dart'], experimental: true),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.dart";\n'
+ '@CustomTag("\${x}-foo")\n' // invalid, x is not defined
+ 'class XFoo extends PolymerElement {\n'
+ '}\n'
+ 'main(){}',
+ }, {}, [
+ 'warning: The parameter to @CustomTag seems to be invalid. '
+ '(web/a.dart 2 11)',
+ 'warning: $NO_INITIALIZERS_ERROR',
+ ]);
+
+ testPhases(
+ 'invalid const expression', phases, {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data':
+ expectedData(['web/a.dart'], experimental: true),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.dart";\n'
+ '@CustomTag("\${x}-foo")\n' // invalid, x is not defined
+ 'class XFoo extends PolymerElement {\n'
+ '}\n'
+ 'main(){}',
+ }, {
+ 'a|web/test.html_bootstrap.dart':
+ '''$MAIN_HEADER
+ import 'a.dart' as i0;
+ ${DEFAULT_IMPORTS.join('\n')}
+ import 'a.dart' as smoke_0;
+ import 'package:polymer/polymer.dart' as smoke_1;
+
+ void main() {
+ useGeneratedCode(new StaticConfiguration(
+ checkedMode: false,
+ parents: {
+ smoke_0.XFoo: smoke_1.PolymerElement,
+ },
+ declarations: {
+ smoke_0.XFoo: {},
+ }));
+ startPolymer([]);
+ }
+ '''.replaceAll('\n ', '\n'),
+ });
+
+ testLogOutput(
+ (options) =>
+ new ScriptCompactor(options, sdkDir: testingDartSdkDirectory),
+ 'no polymer import logs', {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data': expectedData(['web/a.dart'], experimental: true),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.broken.import.dart";\n'
+ '@CustomTag("x-foo")\n'
+ 'class XFoo extends PolymerElement {\n'
+ '}\n'
+ 'main(){}',
+ }, {}, [
+ 'warning: $NO_INITIALIZERS_ERROR',
+ ]);
+
+ testPhases(
+ 'no polymer import', phases, {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data':
+ expectedData(['web/a.dart'], experimental: true),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.broken.import.dart";\n'
+ '@CustomTag("x-foo")\n'
+ 'class XFoo extends PolymerElement {\n'
+ '}\n'
+ 'main(){}',
+ }, {
+ 'a|web/test.html_bootstrap.dart':
+ '''$MAIN_HEADER
+ import 'a.dart' as i0;
+ ${DEFAULT_IMPORTS.join('\n')}
+
+ void main() {
+ useGeneratedCode(new StaticConfiguration(
+ checkedMode: false));
+ startPolymer([]);
+ }
+ '''.replaceAll('\n ', '\n'),
+
+ });
testPhases('several scripts', phases, {
'a|web/test.html':
@@ -1093,3 +1150,44 @@ codegenTests(phases) {
});
}
+void logElementInjectionTests() {
+ final outputLogsPhases = [[new ScriptCompactor(
+ new TransformOptions(injectBuildLogsInOutput: true, releaseMode: false),
+ sdkDir: testingDartSdkDirectory)]];
+
+ testPhases('Injects logging element and styles', outputLogsPhases, {
+ 'a|web/test.html': '<!DOCTYPE html><html><head>',
+ 'a|web/test.html._data': expectedData(['web/a.dart']),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.dart";\n'
+ 'main(){}',
+ }, {
+ 'a|web/test.html':
+ '<!DOCTYPE html><html><head>'
+ '<link rel="stylesheet" type="text/css" '
+ 'href="packages/polymer/src/build/log_injector.css">'
+ '</head><body>'
+ '<script type="application/dart" '
+ 'src="test.html_bootstrap.dart"></script>'
+ '</body></html>',
+ 'a|web/test.html_bootstrap.dart':
+ '''$MAIN_HEADER
+ import 'a.dart' as i0;
+ import 'package:polymer/src/build/log_injector.dart';
+ ${DEFAULT_IMPORTS.join('\n')}
+
+ void main() {
+ useGeneratedCode(new StaticConfiguration(
+ checkedMode: false));
+ new LogInjector().injectLogsFromUrl();
+ configureForDeployment([]);
+ i0.main();
+ }
+ '''.replaceAll('\n ', '\n'),
+ 'a|web/a.dart':
+ 'library a;\n'
+ 'import "package:polymer/polymer.dart";\n'
+ 'main(){}',
+ });
+}

Powered by Google App Engine
This is Rietveld 408576698