angular2
Version:
Angular 2 - a web framework for modern web apps
1,311 lines (1,298 loc) • 85 kB
JavaScript
"format register";
System.register("angular2/src/router/location_strategy", [], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var LocationStrategy = (function() {
function LocationStrategy() {}
return LocationStrategy;
})();
exports.LocationStrategy = LocationStrategy;
function normalizeQueryParams(params) {
return (params.length > 0 && params.substring(0, 1) != '?') ? ('?' + params) : params;
}
exports.normalizeQueryParams = normalizeQueryParams;
global.define = __define;
return module.exports;
});
System.register("angular2/src/compiler/xhr_mock", ["angular2/src/compiler/xhr", "angular2/src/facade/collection", "angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/facade/async"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var xhr_1 = require("angular2/src/compiler/xhr");
var collection_1 = require("angular2/src/facade/collection");
var lang_1 = require("angular2/src/facade/lang");
var exceptions_1 = require("angular2/src/facade/exceptions");
var async_1 = require("angular2/src/facade/async");
var MockXHR = (function(_super) {
__extends(MockXHR, _super);
function MockXHR() {
_super.apply(this, arguments);
this._expectations = [];
this._definitions = new collection_1.Map();
this._requests = [];
}
MockXHR.prototype.get = function(url) {
var request = new _PendingRequest(url);
this._requests.push(request);
return request.getPromise();
};
MockXHR.prototype.expect = function(url, response) {
var expectation = new _Expectation(url, response);
this._expectations.push(expectation);
};
MockXHR.prototype.when = function(url, response) {
this._definitions.set(url, response);
};
MockXHR.prototype.flush = function() {
if (this._requests.length === 0) {
throw new exceptions_1.BaseException('No pending requests to flush');
}
do {
this._processRequest(this._requests.shift());
} while (this._requests.length > 0);
this.verifyNoOustandingExpectations();
};
MockXHR.prototype.verifyNoOustandingExpectations = function() {
if (this._expectations.length === 0)
return ;
var urls = [];
for (var i = 0; i < this._expectations.length; i++) {
var expectation = this._expectations[i];
urls.push(expectation.url);
}
throw new exceptions_1.BaseException("Unsatisfied requests: " + urls.join(', '));
};
MockXHR.prototype._processRequest = function(request) {
var url = request.url;
if (this._expectations.length > 0) {
var expectation = this._expectations[0];
if (expectation.url == url) {
collection_1.ListWrapper.remove(this._expectations, expectation);
request.complete(expectation.response);
return ;
}
}
if (this._definitions.has(url)) {
var response = this._definitions.get(url);
request.complete(lang_1.normalizeBlank(response));
return ;
}
throw new exceptions_1.BaseException("Unexpected request " + url);
};
return MockXHR;
})(xhr_1.XHR);
exports.MockXHR = MockXHR;
var _PendingRequest = (function() {
function _PendingRequest(url) {
this.url = url;
this.completer = async_1.PromiseWrapper.completer();
}
_PendingRequest.prototype.complete = function(response) {
if (lang_1.isBlank(response)) {
this.completer.reject("Failed to load " + this.url, null);
} else {
this.completer.resolve(response);
}
};
_PendingRequest.prototype.getPromise = function() {
return this.completer.promise;
};
return _PendingRequest;
})();
var _Expectation = (function() {
function _Expectation(url, response) {
this.url = url;
this.response = response;
}
return _Expectation;
})();
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/mock_location_strategy", ["angular2/src/facade/async", "angular2/src/router/location_strategy"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var async_1 = require("angular2/src/facade/async");
var location_strategy_1 = require("angular2/src/router/location_strategy");
var MockLocationStrategy = (function(_super) {
__extends(MockLocationStrategy, _super);
function MockLocationStrategy() {
_super.call(this);
this.internalBaseHref = '/';
this.internalPath = '/';
this.internalTitle = '';
this.urlChanges = [];
this._subject = new async_1.EventEmitter();
}
MockLocationStrategy.prototype.simulatePopState = function(url) {
this.internalPath = url;
async_1.ObservableWrapper.callNext(this._subject, null);
};
MockLocationStrategy.prototype.path = function() {
return this.internalPath;
};
MockLocationStrategy.prototype.prepareExternalUrl = function(internal) {
return internal;
};
MockLocationStrategy.prototype.simulateUrlPop = function(pathname) {
async_1.ObservableWrapper.callNext(this._subject, {'url': pathname});
};
MockLocationStrategy.prototype.pushState = function(ctx, title, path, query) {
this.internalTitle = title;
var url = path + (query.length > 0 ? ('?' + query) : '');
this.internalPath = url;
this.urlChanges.push(url);
};
MockLocationStrategy.prototype.onPopState = function(fn) {
async_1.ObservableWrapper.subscribe(this._subject, fn);
};
MockLocationStrategy.prototype.getBaseHref = function() {
return this.internalBaseHref;
};
MockLocationStrategy.prototype.back = function() {
if (this.urlChanges.length > 0) {
this.urlChanges.pop();
var nextUrl = this.urlChanges.length > 0 ? this.urlChanges[this.urlChanges.length - 1] : '';
this.simulatePopState(nextUrl);
}
};
MockLocationStrategy.prototype.forward = function() {
throw 'not implemented';
};
return MockLocationStrategy;
})(location_strategy_1.LocationStrategy);
exports.MockLocationStrategy = MockLocationStrategy;
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/view_resolver_mock", ["angular2/src/facade/collection", "angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/core/metadata", "angular2/src/core/linker/view_resolver"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var collection_1 = require("angular2/src/facade/collection");
var lang_1 = require("angular2/src/facade/lang");
var exceptions_1 = require("angular2/src/facade/exceptions");
var metadata_1 = require("angular2/src/core/metadata");
var view_resolver_1 = require("angular2/src/core/linker/view_resolver");
var MockViewResolver = (function(_super) {
__extends(MockViewResolver, _super);
function MockViewResolver() {
_super.call(this);
this._views = new collection_1.Map();
this._inlineTemplates = new collection_1.Map();
this._viewCache = new collection_1.Map();
this._directiveOverrides = new collection_1.Map();
}
MockViewResolver.prototype.setView = function(component, view) {
this._checkOverrideable(component);
this._views.set(component, view);
};
MockViewResolver.prototype.setInlineTemplate = function(component, template) {
this._checkOverrideable(component);
this._inlineTemplates.set(component, template);
};
MockViewResolver.prototype.overrideViewDirective = function(component, from, to) {
this._checkOverrideable(component);
var overrides = this._directiveOverrides.get(component);
if (lang_1.isBlank(overrides)) {
overrides = new collection_1.Map();
this._directiveOverrides.set(component, overrides);
}
overrides.set(from, to);
};
MockViewResolver.prototype.resolve = function(component) {
var view = this._viewCache.get(component);
if (lang_1.isPresent(view))
return view;
view = this._views.get(component);
if (lang_1.isBlank(view)) {
view = _super.prototype.resolve.call(this, component);
}
var directives = view.directives;
var overrides = this._directiveOverrides.get(component);
if (lang_1.isPresent(overrides) && lang_1.isPresent(directives)) {
directives = collection_1.ListWrapper.clone(view.directives);
overrides.forEach(function(to, from) {
var srcIndex = directives.indexOf(from);
if (srcIndex == -1) {
throw new exceptions_1.BaseException("Overriden directive " + lang_1.stringify(from) + " not found in the template of " + lang_1.stringify(component));
}
directives[srcIndex] = to;
});
view = new metadata_1.ViewMetadata({
template: view.template,
templateUrl: view.templateUrl,
directives: directives
});
}
var inlineTemplate = this._inlineTemplates.get(component);
if (lang_1.isPresent(inlineTemplate)) {
view = new metadata_1.ViewMetadata({
template: inlineTemplate,
templateUrl: null,
directives: view.directives
});
}
this._viewCache.set(component, view);
return view;
};
MockViewResolver.prototype._checkOverrideable = function(component) {
var cached = this._viewCache.get(component);
if (lang_1.isPresent(cached)) {
throw new exceptions_1.BaseException("The component " + lang_1.stringify(component) + " has already been compiled, its configuration can not be changed");
}
};
return MockViewResolver;
})(view_resolver_1.ViewResolver);
exports.MockViewResolver = MockViewResolver;
global.define = __define;
return module.exports;
});
System.register("angular2/mock", ["angular2/src/mock/mock_location_strategy", "angular2/src/router/location_strategy", "angular2/src/mock/view_resolver_mock", "angular2/src/compiler/xhr_mock"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
function __export(m) {
for (var p in m)
if (!exports.hasOwnProperty(p))
exports[p] = m[p];
}
__export(require("angular2/src/mock/mock_location_strategy"));
var location_strategy_1 = require("angular2/src/router/location_strategy");
exports.LocationStrategy = location_strategy_1.LocationStrategy;
var view_resolver_mock_1 = require("angular2/src/mock/view_resolver_mock");
exports.MockViewResolver = view_resolver_mock_1.MockViewResolver;
var xhr_mock_1 = require("angular2/src/compiler/xhr_mock");
exports.MockXHR = xhr_mock_1.MockXHR;
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/animation_builder_mock", ["angular2/src/core/di", "angular2/src/animate/animation_builder", "angular2/src/animate/css_animation_builder", "angular2/src/animate/animation", "angular2/src/animate/browser_details"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2:
return decorators.reduceRight(function(o, d) {
return (d && d(o)) || o;
}, target);
case 3:
return decorators.reduceRight(function(o, d) {
return (d && d(target, key)), void 0;
}, void 0);
case 4:
return decorators.reduceRight(function(o, d) {
return (d && d(target, key, o)) || o;
}, desc);
}
};
var __metadata = (this && this.__metadata) || function(k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(k, v);
};
var di_1 = require("angular2/src/core/di");
var animation_builder_1 = require("angular2/src/animate/animation_builder");
var css_animation_builder_1 = require("angular2/src/animate/css_animation_builder");
var animation_1 = require("angular2/src/animate/animation");
var browser_details_1 = require("angular2/src/animate/browser_details");
var MockAnimationBuilder = (function(_super) {
__extends(MockAnimationBuilder, _super);
function MockAnimationBuilder() {
_super.call(this, null);
}
MockAnimationBuilder.prototype.css = function() {
return new MockCssAnimationBuilder();
};
MockAnimationBuilder = __decorate([di_1.Injectable(), __metadata('design:paramtypes', [])], MockAnimationBuilder);
return MockAnimationBuilder;
})(animation_builder_1.AnimationBuilder);
exports.MockAnimationBuilder = MockAnimationBuilder;
var MockCssAnimationBuilder = (function(_super) {
__extends(MockCssAnimationBuilder, _super);
function MockCssAnimationBuilder() {
_super.call(this, null);
}
MockCssAnimationBuilder.prototype.start = function(element) {
return new MockAnimation(element, this.data);
};
return MockCssAnimationBuilder;
})(css_animation_builder_1.CssAnimationBuilder);
var MockBrowserAbstraction = (function(_super) {
__extends(MockBrowserAbstraction, _super);
function MockBrowserAbstraction() {
_super.apply(this, arguments);
}
MockBrowserAbstraction.prototype.doesElapsedTimeIncludesDelay = function() {
this.elapsedTimeIncludesDelay = false;
};
return MockBrowserAbstraction;
})(browser_details_1.BrowserDetails);
var MockAnimation = (function(_super) {
__extends(MockAnimation, _super);
function MockAnimation(element, data) {
_super.call(this, element, data, new MockBrowserAbstraction());
}
MockAnimation.prototype.wait = function(callback) {
this._callback = callback;
};
MockAnimation.prototype.flush = function() {
this._callback(0);
this._callback = null;
};
return MockAnimation;
})(animation_1.Animation);
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/directive_resolver_mock", ["angular2/src/facade/collection", "angular2/src/facade/lang", "angular2/src/core/metadata", "angular2/src/core/linker/directive_resolver"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var collection_1 = require("angular2/src/facade/collection");
var lang_1 = require("angular2/src/facade/lang");
var metadata_1 = require("angular2/src/core/metadata");
var directive_resolver_1 = require("angular2/src/core/linker/directive_resolver");
var MockDirectiveResolver = (function(_super) {
__extends(MockDirectiveResolver, _super);
function MockDirectiveResolver() {
_super.apply(this, arguments);
this._providerOverrides = new collection_1.Map();
this.viewProviderOverrides = new collection_1.Map();
}
MockDirectiveResolver.prototype.resolve = function(type) {
var dm = _super.prototype.resolve.call(this, type);
var providerOverrides = this._providerOverrides.get(type);
var viewProviderOverrides = this.viewProviderOverrides.get(type);
var providers = dm.providers;
if (lang_1.isPresent(providerOverrides)) {
providers = dm.providers.concat(providerOverrides);
}
if (dm instanceof metadata_1.ComponentMetadata) {
var viewProviders = dm.viewProviders;
if (lang_1.isPresent(viewProviderOverrides)) {
viewProviders = dm.viewProviders.concat(viewProviderOverrides);
}
return new metadata_1.ComponentMetadata({
selector: dm.selector,
inputs: dm.inputs,
outputs: dm.outputs,
host: dm.host,
exportAs: dm.exportAs,
moduleId: dm.moduleId,
queries: dm.queries,
changeDetection: dm.changeDetection,
providers: providers,
viewProviders: viewProviders
});
}
return new metadata_1.DirectiveMetadata({
selector: dm.selector,
inputs: dm.inputs,
outputs: dm.outputs,
host: dm.host,
providers: providers,
exportAs: dm.exportAs,
moduleId: dm.moduleId,
queries: dm.queries
});
};
MockDirectiveResolver.prototype.setBindingsOverride = function(type, bindings) {
this._providerOverrides.set(type, bindings);
};
MockDirectiveResolver.prototype.setViewBindingsOverride = function(type, viewBindings) {
this.viewProviderOverrides.set(type, viewBindings);
};
MockDirectiveResolver.prototype.setProvidersOverride = function(type, bindings) {
this._providerOverrides.set(type, bindings);
};
MockDirectiveResolver.prototype.setViewProvidersOverride = function(type, viewBindings) {
this.viewProviderOverrides.set(type, viewBindings);
};
return MockDirectiveResolver;
})(directive_resolver_1.DirectiveResolver);
exports.MockDirectiveResolver = MockDirectiveResolver;
global.define = __define;
return module.exports;
});
System.register("angular2/src/mock/ng_zone_mock", ["angular2/src/core/zone/ng_zone"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var ng_zone_1 = require("angular2/src/core/zone/ng_zone");
var MockNgZone = (function(_super) {
__extends(MockNgZone, _super);
function MockNgZone() {
_super.call(this, {enableLongStackTrace: false});
}
MockNgZone.prototype.run = function(fn) {
return fn();
};
MockNgZone.prototype.runOutsideAngular = function(fn) {
return fn();
};
MockNgZone.prototype.overrideOnEventDone = function(fn, opt_waitForAsync) {
if (opt_waitForAsync === void 0) {
opt_waitForAsync = false;
}
this._onEventDone = fn;
};
MockNgZone.prototype.simulateZoneExit = function() {
this._onEventDone();
};
return MockNgZone;
})(ng_zone_1.NgZone);
exports.MockNgZone = MockNgZone;
global.define = __define;
return module.exports;
});
System.register("angular2/src/testing/utils", ["angular2/src/facade/collection", "angular2/src/core/dom/dom_adapter", "angular2/src/facade/lang"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var collection_1 = require("angular2/src/facade/collection");
var dom_adapter_1 = require("angular2/src/core/dom/dom_adapter");
var lang_1 = require("angular2/src/facade/lang");
var Log = (function() {
function Log() {
this._result = [];
}
Log.prototype.add = function(value) {
this._result.push(value);
};
Log.prototype.fn = function(value) {
var _this = this;
return function(a1, a2, a3, a4, a5) {
if (a1 === void 0) {
a1 = null;
}
if (a2 === void 0) {
a2 = null;
}
if (a3 === void 0) {
a3 = null;
}
if (a4 === void 0) {
a4 = null;
}
if (a5 === void 0) {
a5 = null;
}
_this._result.push(value);
};
};
Log.prototype.clear = function() {
this._result = [];
};
Log.prototype.result = function() {
return this._result.join("; ");
};
return Log;
})();
exports.Log = Log;
var BrowserDetection = (function() {
function BrowserDetection(ua) {
if (lang_1.isPresent(ua)) {
this._ua = ua;
} else {
this._ua = lang_1.isPresent(dom_adapter_1.DOM) ? dom_adapter_1.DOM.getUserAgent() : '';
}
}
Object.defineProperty(BrowserDetection.prototype, "isFirefox", {
get: function() {
return this._ua.indexOf('Firefox') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isAndroid", {
get: function() {
return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 && this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isEdge", {
get: function() {
return this._ua.indexOf('Edge') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isIE", {
get: function() {
return this._ua.indexOf('Trident') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isWebkit", {
get: function() {
return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isIOS7", {
get: function() {
return this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "isSlow", {
get: function() {
return this.isAndroid || this.isIE || this.isIOS7;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BrowserDetection.prototype, "supportsIntlApi", {
get: function() {
return this._ua.indexOf('Chrome/4') > -1 && this._ua.indexOf('Edge') == -1;
},
enumerable: true,
configurable: true
});
return BrowserDetection;
})();
exports.BrowserDetection = BrowserDetection;
exports.browserDetection = new BrowserDetection(null);
function dispatchEvent(element, eventType) {
dom_adapter_1.DOM.dispatchEvent(element, dom_adapter_1.DOM.createEvent(eventType));
}
exports.dispatchEvent = dispatchEvent;
function el(html) {
return dom_adapter_1.DOM.firstChild(dom_adapter_1.DOM.content(dom_adapter_1.DOM.createTemplate(html)));
}
exports.el = el;
var _RE_SPECIAL_CHARS = ['-', '[', ']', '/', '{', '}', '\\', '(', ')', '*', '+', '?', '.', '^', '$', '|'];
var _ESCAPE_RE = lang_1.RegExpWrapper.create("[\\" + _RE_SPECIAL_CHARS.join('\\') + "]");
function containsRegexp(input) {
return lang_1.RegExpWrapper.create(lang_1.StringWrapper.replaceAllMapped(input, _ESCAPE_RE, function(match) {
return ("\\" + match[0]);
}));
}
exports.containsRegexp = containsRegexp;
function normalizeCSS(css) {
css = lang_1.StringWrapper.replaceAll(css, /\s+/g, ' ');
css = lang_1.StringWrapper.replaceAll(css, /:\s/g, ':');
css = lang_1.StringWrapper.replaceAll(css, /'/g, '"');
css = lang_1.StringWrapper.replaceAll(css, / }/g, '}');
css = lang_1.StringWrapper.replaceAllMapped(css, /url\((\"|\s)(.+)(\"|\s)\)(\s*)/g, function(match) {
return ("url(\"" + match[2] + "\")");
});
css = lang_1.StringWrapper.replaceAllMapped(css, /\[(.+)=([^"\]]+)\]/g, function(match) {
return ("[" + match[1] + "=\"" + match[2] + "\"]");
});
return css;
}
exports.normalizeCSS = normalizeCSS;
var _singleTagWhitelist = ['br', 'hr', 'input'];
function stringifyElement(el) {
var result = '';
if (dom_adapter_1.DOM.isElementNode(el)) {
var tagName = dom_adapter_1.DOM.tagName(el).toLowerCase();
result += "<" + tagName;
var attributeMap = dom_adapter_1.DOM.attributeMap(el);
var keys = [];
attributeMap.forEach(function(v, k) {
return keys.push(k);
});
collection_1.ListWrapper.sort(keys);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var attValue = attributeMap.get(key);
if (!lang_1.isString(attValue)) {
result += " " + key;
} else {
result += " " + key + "=\"" + attValue + "\"";
}
}
result += '>';
var childrenRoot = dom_adapter_1.DOM.templateAwareRoot(el);
var children = lang_1.isPresent(childrenRoot) ? dom_adapter_1.DOM.childNodes(childrenRoot) : [];
for (var j = 0; j < children.length; j++) {
result += stringifyElement(children[j]);
}
if (!collection_1.ListWrapper.contains(_singleTagWhitelist, tagName)) {
result += "</" + tagName + ">";
}
} else if (dom_adapter_1.DOM.isCommentNode(el)) {
result += "<!--" + dom_adapter_1.DOM.nodeValue(el) + "-->";
} else {
result += dom_adapter_1.DOM.getText(el);
}
return result;
}
exports.stringifyElement = stringifyElement;
global.define = __define;
return module.exports;
});
System.register("angular2/src/web_workers/shared/api", ["angular2/src/facade/lang", "angular2/src/core/di"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var lang_1 = require("angular2/src/facade/lang");
var di_1 = require("angular2/src/core/di");
exports.ON_WEB_WORKER = lang_1.CONST_EXPR(new di_1.OpaqueToken('WebWorker.onWebWorker'));
var WebWorkerElementRef = (function() {
function WebWorkerElementRef(renderView, boundElementIndex) {
this.renderView = renderView;
this.boundElementIndex = boundElementIndex;
}
return WebWorkerElementRef;
})();
exports.WebWorkerElementRef = WebWorkerElementRef;
var WebWorkerTemplateCmd = (function() {
function WebWorkerTemplateCmd() {}
WebWorkerTemplateCmd.prototype.visit = function(visitor, context) {
return null;
};
return WebWorkerTemplateCmd;
})();
exports.WebWorkerTemplateCmd = WebWorkerTemplateCmd;
var WebWorkerTextCmd = (function() {
function WebWorkerTextCmd(isBound, ngContentIndex, value) {
this.isBound = isBound;
this.ngContentIndex = ngContentIndex;
this.value = value;
}
WebWorkerTextCmd.prototype.visit = function(visitor, context) {
return visitor.visitText(this, context);
};
return WebWorkerTextCmd;
})();
exports.WebWorkerTextCmd = WebWorkerTextCmd;
var WebWorkerNgContentCmd = (function() {
function WebWorkerNgContentCmd(index, ngContentIndex) {
this.index = index;
this.ngContentIndex = ngContentIndex;
}
WebWorkerNgContentCmd.prototype.visit = function(visitor, context) {
return visitor.visitNgContent(this, context);
};
return WebWorkerNgContentCmd;
})();
exports.WebWorkerNgContentCmd = WebWorkerNgContentCmd;
var WebWorkerBeginElementCmd = (function() {
function WebWorkerBeginElementCmd(isBound, ngContentIndex, name, attrNameAndValues, eventTargetAndNames) {
this.isBound = isBound;
this.ngContentIndex = ngContentIndex;
this.name = name;
this.attrNameAndValues = attrNameAndValues;
this.eventTargetAndNames = eventTargetAndNames;
}
WebWorkerBeginElementCmd.prototype.visit = function(visitor, context) {
return visitor.visitBeginElement(this, context);
};
return WebWorkerBeginElementCmd;
})();
exports.WebWorkerBeginElementCmd = WebWorkerBeginElementCmd;
var WebWorkerEndElementCmd = (function() {
function WebWorkerEndElementCmd() {}
WebWorkerEndElementCmd.prototype.visit = function(visitor, context) {
return visitor.visitEndElement(context);
};
return WebWorkerEndElementCmd;
})();
exports.WebWorkerEndElementCmd = WebWorkerEndElementCmd;
var WebWorkerBeginComponentCmd = (function() {
function WebWorkerBeginComponentCmd(isBound, ngContentIndex, name, attrNameAndValues, eventTargetAndNames, templateId) {
this.isBound = isBound;
this.ngContentIndex = ngContentIndex;
this.name = name;
this.attrNameAndValues = attrNameAndValues;
this.eventTargetAndNames = eventTargetAndNames;
this.templateId = templateId;
}
WebWorkerBeginComponentCmd.prototype.visit = function(visitor, context) {
return visitor.visitBeginComponent(this, context);
};
return WebWorkerBeginComponentCmd;
})();
exports.WebWorkerBeginComponentCmd = WebWorkerBeginComponentCmd;
var WebWorkerEndComponentCmd = (function() {
function WebWorkerEndComponentCmd() {}
WebWorkerEndComponentCmd.prototype.visit = function(visitor, context) {
return visitor.visitEndComponent(context);
};
return WebWorkerEndComponentCmd;
})();
exports.WebWorkerEndComponentCmd = WebWorkerEndComponentCmd;
var WebWorkerEmbeddedTemplateCmd = (function() {
function WebWorkerEmbeddedTemplateCmd(isBound, ngContentIndex, name, attrNameAndValues, eventTargetAndNames, isMerged, children) {
this.isBound = isBound;
this.ngContentIndex = ngContentIndex;
this.name = name;
this.attrNameAndValues = attrNameAndValues;
this.eventTargetAndNames = eventTargetAndNames;
this.isMerged = isMerged;
this.children = children;
}
WebWorkerEmbeddedTemplateCmd.prototype.visit = function(visitor, context) {
return visitor.visitEmbeddedTemplate(this, context);
};
return WebWorkerEmbeddedTemplateCmd;
})();
exports.WebWorkerEmbeddedTemplateCmd = WebWorkerEmbeddedTemplateCmd;
global.define = __define;
return module.exports;
});
System.register("angular2/src/web_workers/shared/render_proto_view_ref_store", ["angular2/src/core/di", "angular2/src/core/render/api", "angular2/src/web_workers/shared/api"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2:
return decorators.reduceRight(function(o, d) {
return (d && d(o)) || o;
}, target);
case 3:
return decorators.reduceRight(function(o, d) {
return (d && d(target, key)), void 0;
}, void 0);
case 4:
return decorators.reduceRight(function(o, d) {
return (d && d(target, key, o)) || o;
}, desc);
}
};
var __metadata = (this && this.__metadata) || function(k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
var di_1 = require("angular2/src/core/di");
var api_1 = require("angular2/src/core/render/api");
var api_2 = require("angular2/src/web_workers/shared/api");
var RenderProtoViewRefStore = (function() {
function RenderProtoViewRefStore(onWebworker) {
this._lookupByIndex = new Map();
this._lookupByProtoView = new Map();
this._nextIndex = 0;
this._onWebworker = onWebworker;
}
RenderProtoViewRefStore.prototype.allocate = function() {
var index = this._nextIndex++;
var result = new WebWorkerRenderProtoViewRef(index);
this.store(result, index);
return result;
};
RenderProtoViewRefStore.prototype.store = function(ref, index) {
this._lookupByProtoView.set(ref, index);
this._lookupByIndex.set(index, ref);
};
RenderProtoViewRefStore.prototype.deserialize = function(index) {
if (index == null) {
return null;
}
return this._lookupByIndex.get(index);
};
RenderProtoViewRefStore.prototype.serialize = function(ref) {
if (ref == null) {
return null;
}
if (this._onWebworker) {
return ref.refNumber;
} else {
return this._lookupByProtoView.get(ref);
}
};
RenderProtoViewRefStore = __decorate([di_1.Injectable(), __param(0, di_1.Inject(api_2.ON_WEB_WORKER)), __metadata('design:paramtypes', [Object])], RenderProtoViewRefStore);
return RenderProtoViewRefStore;
})();
exports.RenderProtoViewRefStore = RenderProtoViewRefStore;
var WebWorkerRenderProtoViewRef = (function(_super) {
__extends(WebWorkerRenderProtoViewRef, _super);
function WebWorkerRenderProtoViewRef(refNumber) {
_super.call(this);
this.refNumber = refNumber;
}
return WebWorkerRenderProtoViewRef;
})(api_1.RenderProtoViewRef);
exports.WebWorkerRenderProtoViewRef = WebWorkerRenderProtoViewRef;
global.define = __define;
return module.exports;
});
System.register("angular2/src/web_workers/shared/render_view_with_fragments_store", ["angular2/src/core/di", "angular2/src/core/render/api", "angular2/src/web_workers/shared/api", "angular2/src/facade/collection"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var __extends = (this && this.__extends) || function(d, b) {
for (var p in b)
if (b.hasOwnProperty(p))
d[p] = b[p];
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
return Reflect.decorate(decorators, target, key, desc);
switch (arguments.length) {
case 2:
return decorators.reduceRight(function(o, d) {
return (d && d(o)) || o;
}, target);
case 3:
return decorators.reduceRight(function(o, d) {
return (d && d(target, key)), void 0;
}, void 0);
case 4:
return decorators.reduceRight(function(o, d) {
return (d && d(target, key, o)) || o;
}, desc);
}
};
var __metadata = (this && this.__metadata) || function(k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
var di_1 = require("angular2/src/core/di");
var api_1 = require("angular2/src/core/render/api");
var api_2 = require("angular2/src/web_workers/shared/api");
var collection_1 = require("angular2/src/facade/collection");
var RenderViewWithFragmentsStore = (function() {
function RenderViewWithFragmentsStore(onWebWorker) {
this._nextIndex = 0;
this._onWebWorker = onWebWorker;
this._lookupByIndex = new Map();
this._lookupByView = new Map();
this._viewFragments = new Map();
}
RenderViewWithFragmentsStore.prototype.allocate = function(fragmentCount) {
var initialIndex = this._nextIndex;
var viewRef = new WebWorkerRenderViewRef(this._nextIndex++);
var fragmentRefs = collection_1.ListWrapper.createGrowableSize(fragmentCount);
for (var i = 0; i < fragmentCount; i++) {
fragmentRefs[i] = new WebWorkerRenderFragmentRef(this._nextIndex++);
}
var renderViewWithFragments = new api_1.RenderViewWithFragments(viewRef, fragmentRefs);
this.store(renderViewWithFragments, initialIndex);
return renderViewWithFragments;
};
RenderViewWithFragmentsStore.prototype.store = function(view, startIndex) {
var _this = this;
this._lookupByIndex.set(startIndex, view.viewRef);
this._lookupByView.set(view.viewRef, startIndex);
startIndex++;
view.fragmentRefs.forEach(function(ref) {
_this._lookupByIndex.set(startIndex, ref);
_this._lookupByView.set(ref, startIndex);
startIndex++;
});
this._viewFragments.set(view.viewRef, view.fragmentRefs);
};
RenderViewWithFragmentsStore.prototype.remove = function(view) {
var _this = this;
this._removeRef(view);
var fragments = this._viewFragments.get(view);
fragments.forEach(function(fragment) {
_this._removeRef(fragment);
});
this._viewFragments.delete(view);
};
RenderViewWithFragmentsStore.prototype._removeRef = function(ref) {
var index = this._lookupByView.get(ref);
this._lookupByView.delete(ref);
this._lookupByIndex.delete(index);
};
RenderViewWithFragmentsStore.prototype.serializeRenderViewRef = function(viewRef) {
return this._serializeRenderFragmentOrViewRef(viewRef);
};
RenderViewWithFragmentsStore.prototype.serializeRenderFragmentRef = function(fragmentRef) {
return this._serializeRenderFragmentOrViewRef(fragmentRef);
};
RenderViewWithFragmentsStore.prototype.deserializeRenderViewRef = function(ref) {
if (ref == null) {
return null;
}
return this._retrieve(ref);
};
RenderViewWithFragmentsStore.prototype.deserializeRenderFragmentRef = function(ref) {
if (ref == null) {
return null;
}
return this._retrieve(ref);
};
RenderViewWithFragmentsStore.prototype._retrieve = function(ref) {
if (ref == null) {
return null;
}
if (!this._lookupByIndex.has(ref)) {
return null;
}
return this._lookupByIndex.get(ref);
};
RenderViewWithFragmentsStore.prototype._serializeRenderFragmentOrViewRef = function(ref) {
if (ref == null) {
return null;
}
if (this._onWebWorker) {
return ref.serialize();
} else {
return this._lookupByView.get(ref);
}
};
RenderViewWithFragmentsStore.prototype.serializeViewWithFragments = function(view) {
var _this = this;
if (view == null) {
return null;
}
if (this._onWebWorker) {
return {
'viewRef': view.viewRef.serialize(),
'fragmentRefs': view.fragmentRefs.map(function(val) {
return val.serialize();
})
};
} else {
return {
'viewRef': this._lookupByView.get(view.viewRef),
'fragmentRefs': view.fragmentRefs.map(function(val) {
return _this._lookupByView.get(val);
})
};
}
};
RenderViewWithFragmentsStore.prototype.deserializeViewWithFragments = function(obj) {
var _this = this;
if (obj == null) {
return null;
}
var viewRef = this.deserializeRenderViewRef(obj['viewRef']);
var fragments = obj['fragmentRefs'].map(function(val) {
return _this.deserializeRenderFragmentRef(val);
});
return new api_1.RenderViewWithFragments(viewRef, fragments);
};
RenderViewWithFragmentsStore = __decorate([di_1.Injectable(), __param(0, di_1.Inject(api_2.ON_WEB_WORKER)), __metadata('design:paramtypes', [Object])], RenderViewWithFragmentsStore);
return RenderViewWithFragmentsStore;
})();
exports.RenderViewWithFragmentsStore = RenderViewWithFragmentsStore;
var WebWorkerRenderViewRef = (function(_super) {
__extends(WebWorkerRenderViewRef, _super);
function WebWorkerRenderViewRef(refNumber) {
_super.call(this);
this.refNumber = refNumber;
}
WebWorkerRenderViewRef.prototype.serialize = function() {
return this.refNumber;
};
WebWorkerRenderViewRef.deserialize = function(ref) {
return new WebWorkerRenderViewRef(ref);
};
return WebWorkerRenderViewRef;
})(api_1.RenderViewRef);
exports.WebWorkerRenderViewRef = WebWorkerRenderViewRef;
var WebWorkerRenderFragmentRef = (function(_super) {
__extends(WebWorkerRenderFragmentRef, _super);
function WebWorkerRenderFragmentRef(refNumber) {
_super.call(this);
this.refNumber = refNumber;
}
WebWorkerRenderFragmentRef.prototype.serialize = function() {
return this.refNumber;
};
WebWorkerRenderFragmentRef.deserialize = function(ref) {
return new WebWorkerRenderFragmentRef(ref);
};
return WebWorkerRenderFragmentRef;
})(api_1.RenderFragmentRef);
exports.WebWorkerRenderFragmentRef = WebWorkerRenderFragmentRef;
global.define = __define;
return module.exports;
});
System.register("angular2/src/testing/matchers", ["angular2/src/core/dom/dom_adapter", "angular2/src/facade/lang"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var dom_adapter_1 = require("angular2/src/core/dom/dom_adapter");
var lang_1 = require("angular2/src/facade/lang");
var _global = (typeof window === 'undefined' ? lang_1.global : window);
exports.expect = _global.expect;
Map.prototype['jasmineToString'] = function() {
var m = this;
if (!m) {
return '' + m;
}
var res = [];
m.forEach(function(v, k) {
res.push(k + ":" + v);
});
return "{ " + res.join(',') + " }";
};
_global.beforeEach(function() {
jasmine.addMatchers({
toEqual: function(util, customEqualityTesters) {
return {compare: function(actual, expected) {
return {pass: util.equals(actual, expected, [compareMap])};
}};
function compareMap(actual, expected) {
if (actual instanceof Map) {
var pass = actual.size === expected.size;
if (pass) {
actual.forEach(function(v, k) {
pass = pass && util.equals(v, expected.get(k));
});
}
return pass;
} else {
return undefined;
}
}
},
toBePromise: function() {
return {compare: function(actual, expectedClass) {
var pass = typeof actual === 'object' && typeof actual.then === 'function';
return {
pass: pass,
get message() {
return 'Expected ' + actual + ' to be a promise';
}
};
}};
},
toBeAnInstanceOf: function() {
return {compare: function(actual, expectedClass) {
var pass = typeof actual === 'object' && actual instanceof expectedClass;
return {
pass: pass,
get message() {
return 'Expected ' + actual + ' to be an instance of ' + expectedClass;
}
};
}};
},
toHaveText: function() {
return {compare: function(actual, expectedText) {
var actualText = elementText(actual);
return {
pass: actualText == expectedText,
get message() {
return 'Expected ' + actualText + ' to be equal to ' + expectedText;
}
};
}};
},
toHaveCssClass: function() {
return {
compare: buildError(false),
negativeCompare: buildError(true)
};
function buildError(isNot) {
return function(actual, className) {
return {
pass: dom_adapter_1.DOM.hasClass(actual, className) == !isNot,
get message() {
return "Expected " + actual.outerHTML + " " + (isNot ? 'not ' : '') + "to contain the CSS class \"" + className + "\"";
}
};
};
}
},
toContainError: function() {
return {compare: function(actual, expectedText) {
var errorMessage = actual.toString();
return {
pass: errorMessage.indexOf(expectedText) > -1,
get message() {
return 'Expected ' + errorMessage + ' to contain ' + expectedText;
}
};
}};
},
toThrowErrorWith: function() {
return {compare: function(actual, expectedText) {
try {
actual();
return {
pass: false,
get message() {
return "Was expected to throw, but did not throw";
}
};
} catch (e) {
var errorMessage = e.toString();
return {
pass: errorMessage.indexOf(expectedText) > -1,
get message() {
return 'Expected ' + errorMessage + ' to contain ' + expectedText;
}
};
}
}};
},
toImplement: function() {
return {compare: function(actualObject, expectedInterface) {
var objProps = Object.keys(actualObject.constructor.prototype);
var intProps = Object.keys(expectedInterface.prototype);
var missedMethods = [];
intProps.forEach(function(k) {
if (!actualObject.constructor.prototype[k])
missedMethods.push(k);
});
return {
pass: missedMethods.length == 0,
get message() {
return 'Expected ' + actualObject + ' to have the following methods: ' + missedMethods.join(", ");
}
};
}};
}
});
});
function elementText(n) {
var hasNodes = function(n) {
var children = dom_adapter_1.DOM.childNodes(n);
return children && children.length > 0;
};
if (n instanceof Array) {
return n.map(elementText).join("");
}
if (dom_adapter_1.DOM.isCommentNode(n)) {
return '';
}
if (dom_adapter_1.DOM.isElementNode(n) && dom_adapter_1.DOM.tagName(n) == 'CONTENT') {
return elementText(Array.prototype.slice.apply(dom_adapter_1.DOM.getDistributedNodes(n)));
}
if (dom_adapter_1.DOM.hasShadowRoot(n)) {
return elementText(dom_adapter_1.DOM.childNodesAsList(dom_adapter_1.DOM.getShadowRoot(n)));
}
if (hasNodes(n)) {
return elementText(dom_adapter_1.DOM.childNodesAsList(n));
}
return dom_adapter_1.DOM.getText(n);
}
global.define = __define;
return module.exports;
});
System.register("angular2/src/testing/fake_async", ["angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/facade/collection"], true, function(require, exports, module) {
var global = System.global,
__define = global.define;
global.define = undefined;
var lang_1 = require("angular2/src/facade/lang");
var exceptions_1 = require("angular2/src/facade/exceptions");
var collection_1 = require("angular2/src/facade/collection");
var _scheduler;
var _microtasks = [];
var _pendingPeriodicTimers = [];
var _pendingTimers = [];
function fakeAsync(fn) {
if (lang_1.global.zone._inFakeAsyncZone) {
throw new Error('fakeAsync() calls can not be nested');
}
var fakeAsyncZone = lang_1.global.zone.fork({
setTimeout: _setTimeout,
clearTimeout: _clearTimeout,
setInterval: _setInterval,
clearInterval: _clearInterval,
scheduleMicrotask: _scheduleMicrotask,
_inFakeAsyncZone: true
});
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i - 0] = arguments[_i];
}
_scheduler = new jasmine.DelayedFunctionScheduler();
clearPendingTimers();
var res = fakeAsyncZone.run(function() {
var res = fn.apply(void 0, args);
flushMicrotasks();
return res;
});
if (_pendingPeriodicTimers.length > 0) {
throw new exceptions_1.BaseException(_pendingPeriodicTimers.length + " periodic timer(s) still in the queue.");
}
if (_pendingTimers.length > 0) {
throw new exceptions_1.BaseException(_pendingTimers.length + " timer(s) still in the queue.");
}
_scheduler = null;
collection_1.ListWrapper.clear(_microtasks);
return res;
};
}
exports.fakeAsync = fakeAsync;
f