Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit aae2c1f

Browse files
jbdeboertravis@travis-ci.org
authored andcommitted
fix(angular_spec): Acutally assert
1 parent a66b2c1 commit aae2c1f

File tree

1 file changed

+53
-5
lines changed

1 file changed

+53
-5
lines changed

test/angular_spec.dart

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
library angular_spec;
22

3+
import 'dart:mirrors';
4+
35
import '_specs.dart';
46
import 'package:angular/utils.dart';
57
import 'package:angular/tools/symbol_inspector/symbol_inspector.dart';
@@ -48,6 +50,14 @@ main() {
4850
// But make sure that you intend to export the symbol!
4951
// Questions? Talk to @jbdeboer
5052

53+
// There is a bug at the intersection of the angular library,
54+
// dart2js and findLibrary(). http://dartbug.com/18302
55+
try {
56+
currentMirrorSystem().findLibrary(const Symbol("angular"));
57+
} catch (e) {
58+
return;
59+
}
60+
5161
LibraryInfo libraryInfo;
5262
var names;
5363
try { // Not impleneted in Dart VM 1.2
@@ -64,18 +74,29 @@ main() {
6474
var ALLOWED_NAMES = [
6575
"angular.app.AngularModule",
6676
"angular.app.Application",
77+
"angular.core.annotation.ShadowRootAware",
6778
"angular.core.annotation_src.AttachAware",
6879
"angular.core.annotation_src.Component",
6980
"angular.core.annotation_src.Controller",
7081
"angular.core.annotation_src.Decorator",
7182
"angular.core.annotation_src.DetachAware",
83+
"angular.core.annotation_src.Directive",
84+
"angular.core.annotation_src.DirectiveAnnotation",
85+
"angular.core.annotation_src.Formatter",
7286
"angular.core.annotation_src.Injectable",
87+
"angular.core.annotation_src.NgAttr",
88+
"angular.core.annotation_src.NgCallback",
89+
"angular.core.annotation_src.NgOneWay",
90+
"angular.core.annotation_src.NgOneWayOneTime",
91+
"angular.core.annotation_src.NgTwoWay",
7392
"angular.core.dom_internal.Animate",
7493
"angular.core.dom_internal.Animation",
7594
"angular.core.dom_internal.AnimationResult",
95+
"angular.core.dom_internal.BoundViewFactory",
7696
"angular.core.dom_internal.BrowserCookies",
7797
"angular.core.dom_internal.Compiler",
7898
"angular.core.dom_internal.Cookies",
99+
"angular.core.dom_internal.DirectiveMap",
79100
"angular.core.dom_internal.ElementProbe",
80101
"angular.core.dom_internal.EventHandler",
81102
"angular.core.dom_internal.Http",
@@ -86,14 +107,18 @@ main() {
86107
"angular.core.dom_internal.HttpInterceptors",
87108
"angular.core.dom_internal.HttpResponse",
88109
"angular.core.dom_internal.HttpResponseConfig",
110+
"angular.core.dom_internal.LocationWrapper",
111+
"angular.core.dom_internal.NgElement",
89112
"angular.core.dom_internal.NoOpAnimation",
90113
"angular.core.dom_internal.NullTreeSanitizer",
91114
"angular.core.dom_internal.RequestErrorInterceptor",
92115
"angular.core.dom_internal.RequestInterceptor",
93116
"angular.core.dom_internal.Response",
94117
"angular.core.dom_internal.ResponseError",
95118
"angular.core.dom_internal.TemplateCache",
119+
"angular.core.dom_internal.UrlRewriter",
96120
"angular.core.dom_internal.View",
121+
"angular.core.dom_internal.ViewCache",
97122
"angular.core.dom_internal.ViewFactory",
98123
"angular.core.dom_internal.ViewPort",
99124
"angular.core_internal.CacheStats",
@@ -107,18 +132,23 @@ main() {
107132
"angular.core_internal.ScopeStatsConfig",
108133
"angular.core_internal.ScopeStatsEmitter",
109134
"angular.core_internal.VmTurnZone",
135+
"angular.core.parser.dynamic_parser.ClosureMap",
136+
"angular.core.parser.Parser",
110137
"angular.directive.AHref",
111138
"angular.directive.ContentEditable",
139+
"angular.directive.DecoratorFormatter",
112140
"angular.directive.InputCheckbox",
113141
"angular.directive.InputDateLike",
114142
"angular.directive.InputNumberLike",
115143
"angular.directive.InputRadio",
116144
"angular.directive.InputSelect",
117145
"angular.directive.InputTextLike",
118146
"angular.directive.NgAttribute",
147+
"angular.directive.NgBaseCss",
119148
"angular.directive.NgBind",
120149
"angular.directive.NgBindHtml",
121150
"angular.directive.NgBindTemplate",
151+
"angular.directive.NgBindTypeForDateLike",
122152
"angular.directive.NgBooleanAttribute",
123153
"angular.directive.NgClass",
124154
"angular.directive.NgClassEven",
@@ -132,6 +162,7 @@ main() {
132162
"angular.directive.NgIf",
133163
"angular.directive.NgInclude",
134164
"angular.directive.NgModel",
165+
"angular.directive.NgModelConverter",
135166
"angular.directive.NgModelEmailValidator",
136167
"angular.directive.NgModelMaxLengthValidator",
137168
"angular.directive.NgModelMaxNumberValidator",
@@ -142,6 +173,8 @@ main() {
142173
"angular.directive.NgModelRequiredValidator",
143174
"angular.directive.NgModelUrlValidator",
144175
"angular.directive.NgNonBindable",
176+
"angular.directive.NgNullControl",
177+
"angular.directive.NgNullForm",
145178
"angular.directive.NgPluralize",
146179
"angular.directive.NgRepeat",
147180
"angular.directive.NgShow",
@@ -153,6 +186,7 @@ main() {
153186
"angular.directive.NgTemplate",
154187
"angular.directive.NgTrueValue",
155188
"angular.directive.NgUnless",
189+
"angular.directive.NgValidator",
156190
"angular.directive.NgValue",
157191
"angular.directive.OptionValue",
158192
"angular.formatter_internal.Currency",
@@ -165,12 +199,26 @@ main() {
165199
"angular.formatter_internal.OrderBy",
166200
"angular.formatter_internal.Stringify",
167201
"angular.formatter_internal.Uppercase",
202+
"angular.introspection.ngDirectives",
203+
"angular.introspection.ngInjector",
204+
"angular.introspection.ngProbe",
205+
"angular.introspection.ngQuery",
206+
"angular.introspection.ngScope",
207+
"angular.routing.NgBindRoute",
208+
"angular.routing.ngRoute",
209+
"angular.routing.NgRouteCfg",
210+
"angular.routing.NgRoutingHelper",
211+
"angular.routing.NgRoutingUsePushState",
212+
"angular.routing.NgView",
168213
"angular.routing.RouteInitializer",
169214
"angular.routing.RouteInitializerFn",
170215
"angular.routing.RouteProvider",
171216
"angular.routing.RouteViewFactory",
217+
"angular.routing.RoutingModule",
172218
"angular.watch_group.PrototypeMap",
173219
"angular.watch_group.Watch",
220+
"change_detection.AvgStopwatch",
221+
"change_detection.FieldGetterFactory",
174222
"di.CircularDependencyError",
175223
"di.FactoryFn",
176224
"di.Injector",
@@ -191,10 +239,10 @@ main() {
191239
"route.client.RouteLeaveEventHandler",
192240
"route.client.RoutePreEnterEvent",
193241
"route.client.RoutePreEnterEventHandler",
194-
"route.client.RouteStartEvent",
195242
"route.client.Router",
243+
"route.client.RouteStartEvent",
196244
"url_matcher.UrlMatch",
197-
"url_matcher.UrlMatcher",
245+
"url_matcher.UrlMatcher"
198246
];
199247

200248
var _nameMap = {};
@@ -232,14 +280,14 @@ main() {
232280

233281
exported.add(key);
234282
};
283+
284+
names.forEach(assertSymbolNameIsOk);
285+
235286
if (exported.isNotEmpty) {
236287
throw "These symbols are exported thru the angular library, but it shouldn't be:\n"
237288
"${exported.join('\n')}";
238289
}
239290

240-
241-
names.forEach(assertSymbolNameIsOk);
242-
243291
usedButNotExported.forEach((used, locs) {
244292
print("${unwrapSymbol(used)} : unexported, used from:");
245293
locs.forEach((l) {

0 commit comments

Comments
 (0)