blob: 95c408aec6e2a247a2a0e90f20d6eb79331396ea [file] [log] [blame]
{"version":3,"file":"testing.js","sources":["../../../packages/compiler/esm5/testing/src/resource_loader_mock.js","../../../packages/compiler/esm5/testing/src/schema_registry_mock.js","../../../packages/compiler/esm5/testing/src/directive_resolver_mock.js","../../../packages/compiler/esm5/testing/src/ng_module_resolver_mock.js","../../../packages/compiler/esm5/testing/src/pipe_resolver_mock.js","../../../packages/compiler/esm5/testing/src/testing.js","../../../packages/compiler/esm5/testing/public_api.js","../../../packages/compiler/esm5/testing/testing.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as tslib_1 from \"tslib\";\nimport { ResourceLoader } from '@angular/compiler';\n/**\n * A mock implementation of {\\@link ResourceLoader} that allows outgoing requests to be mocked\n * and responded to within a single test, without going to the network.\n */\nvar /**\n * A mock implementation of {\\@link ResourceLoader} that allows outgoing requests to be mocked\n * and responded to within a single test, without going to the network.\n */\nMockResourceLoader = /** @class */ (function (_super) {\n tslib_1.__extends(MockResourceLoader, _super);\n function MockResourceLoader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._expectations = [];\n _this._definitions = new Map();\n _this._requests = [];\n return _this;\n }\n /**\n * @param {?} url\n * @return {?}\n */\n MockResourceLoader.prototype.get = /**\n * @param {?} url\n * @return {?}\n */\n function (url) {\n var /** @type {?} */ request = new _PendingRequest(url);\n this._requests.push(request);\n return request.getPromise();\n };\n /**\n * @return {?}\n */\n MockResourceLoader.prototype.hasPendingRequests = /**\n * @return {?}\n */\n function () { return !!this._requests.length; };\n /**\n * Add an expectation for the given URL. Incoming requests will be checked against\n * the next expectation (in FIFO order). The `verifyNoOutstandingExpectations` method\n * can be used to check if any expectations have not yet been met.\n *\n * The response given will be returned if the expectation matches.\n */\n /**\n * Add an expectation for the given URL. Incoming requests will be checked against\n * the next expectation (in FIFO order). The `verifyNoOutstandingExpectations` method\n * can be used to check if any expectations have not yet been met.\n *\n * The response given will be returned if the expectation matches.\n * @param {?} url\n * @param {?} response\n * @return {?}\n */\n MockResourceLoader.prototype.expect = /**\n * Add an expectation for the given URL. Incoming requests will be checked against\n * the next expectation (in FIFO order). The `verifyNoOutstandingExpectations` method\n * can be used to check if any expectations have not yet been met.\n *\n * The response given will be returned if the expectation matches.\n * @param {?} url\n * @param {?} response\n * @return {?}\n */\n function (url, response) {\n var /** @type {?} */ expectation = new _Expectation(url, response);\n this._expectations.push(expectation);\n };\n /**\n * Add a definition for the given URL to return the given response. Unlike expectations,\n * definitions have no order and will satisfy any matching request at any time. Also\n * unlike expectations, unused definitions do not cause `verifyNoOutstandingExpectations`\n * to return an error.\n */\n /**\n * Add a definition for the given URL to return the given response. Unlike expectations,\n * definitions have no order and will satisfy any matching request at any time. Also\n * unlike expectations, unused definitions do not cause `verifyNoOutstandingExpectations`\n * to return an error.\n * @param {?} url\n * @param {?} response\n * @return {?}\n */\n MockResourceLoader.prototype.when = /**\n * Add a definition for the given URL to return the given response. Unlike expectations,\n * definitions have no order and will satisfy any matching request at any time. Also\n * unlike expectations, unused definitions do not cause `verifyNoOutstandingExpectations`\n * to return an error.\n * @param {?} url\n * @param {?} response\n * @return {?}\n */\n function (url, response) { this._definitions.set(url, response); };\n /**\n * Process pending requests and verify there are no outstanding expectations. Also fails\n * if no requests are pending.\n */\n /**\n * Process pending requests and verify there are no outstanding expectations. Also fails\n * if no requests are pending.\n * @return {?}\n */\n MockResourceLoader.prototype.flush = /**\n * Process pending requests and verify there are no outstanding expectations. Also fails\n * if no requests are pending.\n * @return {?}\n */\n function () {\n if (this._requests.length === 0) {\n throw new Error('No pending requests to flush');\n }\n do {\n this._processRequest(/** @type {?} */ ((this._requests.shift())));\n } while (this._requests.length > 0);\n this.verifyNoOutstandingExpectations();\n };\n /**\n * Throw an exception if any expectations have not been satisfied.\n */\n /**\n * Throw an exception if any expectations have not been satisfied.\n * @return {?}\n */\n MockResourceLoader.prototype.verifyNoOutstandingExpectations = /**\n * Throw an exception if any expectations have not been satisfied.\n * @return {?}\n */\n function () {\n if (this._expectations.length === 0)\n return;\n var /** @type {?} */ urls = [];\n for (var /** @type {?} */ i = 0; i < this._expectations.length; i++) {\n var /** @type {?} */ expectation = this._expectations[i];\n urls.push(expectation.url);\n }\n throw new Error(\"Unsatisfied requests: \" + urls.join(', '));\n };\n /**\n * @param {?} request\n * @return {?}\n */\n MockResourceLoader.prototype._processRequest = /**\n * @param {?} request\n * @return {?}\n */\n function (request) {\n var /** @type {?} */ url = request.url;\n if (this._expectations.length > 0) {\n var /** @type {?} */ expectation = this._expectations[0];\n if (expectation.url == url) {\n remove(this._expectations, expectation);\n request.complete(expectation.response);\n return;\n }\n }\n if (this._definitions.has(url)) {\n var /** @type {?} */ response = this._definitions.get(url);\n request.complete(response == null ? null : response);\n return;\n }\n throw new Error(\"Unexpected request \" + url);\n };\n return MockResourceLoader;\n}(ResourceLoader));\n/**\n * A mock implementation of {\\@link ResourceLoader} that allows outgoing requests to be mocked\n * and responded to within a single test, without going to the network.\n */\nexport { MockResourceLoader };\nfunction MockResourceLoader_tsickle_Closure_declarations() {\n /** @type {?} */\n MockResourceLoader.prototype._expectations;\n /** @type {?} */\n MockResourceLoader.prototype._definitions;\n /** @type {?} */\n MockResourceLoader.prototype._requests;\n}\nvar _PendingRequest = /** @class */ (function () {\n function _PendingRequest(url) {\n var _this = this;\n this.url = url;\n this.promise = new Promise(function (res, rej) {\n _this.resolve = res;\n _this.reject = rej;\n });\n }\n /**\n * @param {?} response\n * @return {?}\n */\n _PendingRequest.prototype.complete = /**\n * @param {?} response\n * @return {?}\n */\n function (response) {\n if (response == null) {\n this.reject(\"Failed to load \" + this.url);\n }\n else {\n this.resolve(response);\n }\n };\n /**\n * @return {?}\n */\n _PendingRequest.prototype.getPromise = /**\n * @return {?}\n */\n function () { return this.promise; };\n return _PendingRequest;\n}());\nfunction _PendingRequest_tsickle_Closure_declarations() {\n /** @type {?} */\n _PendingRequest.prototype.resolve;\n /** @type {?} */\n _PendingRequest.prototype.reject;\n /** @type {?} */\n _PendingRequest.prototype.promise;\n /** @type {?} */\n _PendingRequest.prototype.url;\n}\nvar _Expectation = /** @class */ (function () {\n function _Expectation(url, response) {\n this.url = url;\n this.response = response;\n }\n return _Expectation;\n}());\nfunction _Expectation_tsickle_Closure_declarations() {\n /** @type {?} */\n _Expectation.prototype.url;\n /** @type {?} */\n _Expectation.prototype.response;\n}\n/**\n * @template T\n * @param {?} list\n * @param {?} el\n * @return {?}\n */\nfunction remove(list, el) {\n var /** @type {?} */ index = list.indexOf(el);\n if (index > -1) {\n list.splice(index, 1);\n }\n}\n//# sourceMappingURL=resource_loader_mock.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { core } from '@angular/compiler';\nvar MockSchemaRegistry = /** @class */ (function () {\n function MockSchemaRegistry(existingProperties, attrPropMapping, existingElements, invalidProperties, invalidAttributes) {\n this.existingProperties = existingProperties;\n this.attrPropMapping = attrPropMapping;\n this.existingElements = existingElements;\n this.invalidProperties = invalidProperties;\n this.invalidAttributes = invalidAttributes;\n }\n /**\n * @param {?} tagName\n * @param {?} property\n * @param {?} schemas\n * @return {?}\n */\n MockSchemaRegistry.prototype.hasProperty = /**\n * @param {?} tagName\n * @param {?} property\n * @param {?} schemas\n * @return {?}\n */\n function (tagName, property, schemas) {\n var /** @type {?} */ value = this.existingProperties[property];\n return value === void 0 ? true : value;\n };\n /**\n * @param {?} tagName\n * @param {?} schemaMetas\n * @return {?}\n */\n MockSchemaRegistry.prototype.hasElement = /**\n * @param {?} tagName\n * @param {?} schemaMetas\n * @return {?}\n */\n function (tagName, schemaMetas) {\n var /** @type {?} */ value = this.existingElements[tagName.toLowerCase()];\n return value === void 0 ? true : value;\n };\n /**\n * @return {?}\n */\n MockSchemaRegistry.prototype.allKnownElementNames = /**\n * @return {?}\n */\n function () { return Object.keys(this.existingElements); };\n /**\n * @param {?} selector\n * @param {?} property\n * @param {?} isAttribute\n * @return {?}\n */\n MockSchemaRegistry.prototype.securityContext = /**\n * @param {?} selector\n * @param {?} property\n * @param {?} isAttribute\n * @return {?}\n */\n function (selector, property, isAttribute) {\n return core.SecurityContext.NONE;\n };\n /**\n * @param {?} attrName\n * @return {?}\n */\n MockSchemaRegistry.prototype.getMappedPropName = /**\n * @param {?} attrName\n * @return {?}\n */\n function (attrName) { return this.attrPropMapping[attrName] || attrName; };\n /**\n * @return {?}\n */\n MockSchemaRegistry.prototype.getDefaultComponentElementName = /**\n * @return {?}\n */\n function () { return 'ng-component'; };\n /**\n * @param {?} name\n * @return {?}\n */\n MockSchemaRegistry.prototype.validateProperty = /**\n * @param {?} name\n * @return {?}\n */\n function (name) {\n if (this.invalidProperties.indexOf(name) > -1) {\n return { error: true, msg: \"Binding to property '\" + name + \"' is disallowed for security reasons\" };\n }\n else {\n return { error: false };\n }\n };\n /**\n * @param {?} name\n * @return {?}\n */\n MockSchemaRegistry.prototype.validateAttribute = /**\n * @param {?} name\n * @return {?}\n */\n function (name) {\n if (this.invalidAttributes.indexOf(name) > -1) {\n return {\n error: true,\n msg: \"Binding to attribute '\" + name + \"' is disallowed for security reasons\"\n };\n }\n else {\n return { error: false };\n }\n };\n /**\n * @param {?} propName\n * @return {?}\n */\n MockSchemaRegistry.prototype.normalizeAnimationStyleProperty = /**\n * @param {?} propName\n * @return {?}\n */\n function (propName) { return propName; };\n /**\n * @param {?} camelCaseProp\n * @param {?} userProvidedProp\n * @param {?} val\n * @return {?}\n */\n MockSchemaRegistry.prototype.normalizeAnimationStyleValue = /**\n * @param {?} camelCaseProp\n * @param {?} userProvidedProp\n * @param {?} val\n * @return {?}\n */\n function (camelCaseProp, userProvidedProp, val) {\n return { error: /** @type {?} */ ((null)), value: val.toString() };\n };\n return MockSchemaRegistry;\n}());\nexport { MockSchemaRegistry };\nfunction MockSchemaRegistry_tsickle_Closure_declarations() {\n /** @type {?} */\n MockSchemaRegistry.prototype.existingProperties;\n /** @type {?} */\n MockSchemaRegistry.prototype.attrPropMapping;\n /** @type {?} */\n MockSchemaRegistry.prototype.existingElements;\n /** @type {?} */\n MockSchemaRegistry.prototype.invalidProperties;\n /** @type {?} */\n MockSchemaRegistry.prototype.invalidAttributes;\n}\n//# sourceMappingURL=schema_registry_mock.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport * as tslib_1 from \"tslib\";\nimport { DirectiveResolver } from '@angular/compiler';\n/**\n * An implementation of {\\@link DirectiveResolver} that allows overriding\n * various properties of directives.\n */\nvar /**\n * An implementation of {\\@link DirectiveResolver} that allows overriding\n * various properties of directives.\n */\nMockDirectiveResolver = /** @class */ (function (_super) {\n tslib_1.__extends(MockDirectiveResolver, _super);\n function MockDirectiveResolver(reflector) {\n var _this = _super.call(this, reflector) || this;\n _this._directives = new Map();\n return _this;\n }\n /**\n * @param {?} type\n * @param {?=} throwIfNotFound\n * @return {?}\n */\n MockDirectiveResolver.prototype.resolve = /**\n * @param {?} type\n * @param {?=} throwIfNotFound\n * @return {?}\n */\n function (type, throwIfNotFound) {\n if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n return this._directives.get(type) || _super.prototype.resolve.call(this, type, throwIfNotFound);\n };\n /**\n * Overrides the {@link core.Directive} for a directive.\n */\n /**\n * Overrides the {\\@link core.Directive} for a directive.\n * @param {?} type\n * @param {?} metadata\n * @return {?}\n */\n MockDirectiveResolver.prototype.setDirective = /**\n * Overrides the {\\@link core.Directive} for a directive.\n * @param {?} type\n * @param {?} metadata\n * @return {?}\n */\n function (type, metadata) {\n this._directives.set(type, metadata);\n };\n return MockDirectiveResolver;\n}(DirectiveResolver));\n/**\n * An implementation of {\\@link DirectiveResolver} that allows overriding\n * various properties of directives.\n */\nexport { MockDirectiveResolver };\nfunction MockDirectiveResolver_tsickle_Closure_declarations() {\n /** @type {?} */\n MockDirectiveResolver.prototype._directives;\n}\n//# sourceMappingURL=directive_resolver_mock.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as tslib_1 from \"tslib\";\nimport { NgModuleResolver } from '@angular/compiler';\nvar MockNgModuleResolver = /** @class */ (function (_super) {\n tslib_1.__extends(MockNgModuleResolver, _super);\n function MockNgModuleResolver(reflector) {\n var _this = _super.call(this, reflector) || this;\n _this._ngModules = new Map();\n return _this;\n }\n /**\n * Overrides the {@link NgModule} for a module.\n */\n /**\n * Overrides the {\\@link NgModule} for a module.\n * @param {?} type\n * @param {?} metadata\n * @return {?}\n */\n MockNgModuleResolver.prototype.setNgModule = /**\n * Overrides the {\\@link NgModule} for a module.\n * @param {?} type\n * @param {?} metadata\n * @return {?}\n */\n function (type, metadata) {\n this._ngModules.set(type, metadata);\n };\n /**\n * Returns the {@link NgModule} for a module:\n * - Set the {@link NgModule} to the overridden view when it exists or fallback to the\n * default\n * `NgModuleResolver`, see `setNgModule`.\n */\n /**\n * Returns the {\\@link NgModule} for a module:\n * - Set the {\\@link NgModule} to the overridden view when it exists or fallback to the\n * default\n * `NgModuleResolver`, see `setNgModule`.\n * @param {?} type\n * @param {?=} throwIfNotFound\n * @return {?}\n */\n MockNgModuleResolver.prototype.resolve = /**\n * Returns the {\\@link NgModule} for a module:\n * - Set the {\\@link NgModule} to the overridden view when it exists or fallback to the\n * default\n * `NgModuleResolver`, see `setNgModule`.\n * @param {?} type\n * @param {?=} throwIfNotFound\n * @return {?}\n */\n function (type, throwIfNotFound) {\n if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n return this._ngModules.get(type) || /** @type {?} */ ((_super.prototype.resolve.call(this, type, throwIfNotFound)));\n };\n return MockNgModuleResolver;\n}(NgModuleResolver));\nexport { MockNgModuleResolver };\nfunction MockNgModuleResolver_tsickle_Closure_declarations() {\n /** @type {?} */\n MockNgModuleResolver.prototype._ngModules;\n}\n//# sourceMappingURL=ng_module_resolver_mock.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as tslib_1 from \"tslib\";\nimport { PipeResolver } from '@angular/compiler';\nvar MockPipeResolver = /** @class */ (function (_super) {\n tslib_1.__extends(MockPipeResolver, _super);\n function MockPipeResolver(refector) {\n var _this = _super.call(this, refector) || this;\n _this._pipes = new Map();\n return _this;\n }\n /**\n * Overrides the {@link Pipe} for a pipe.\n */\n /**\n * Overrides the {\\@link Pipe} for a pipe.\n * @param {?} type\n * @param {?} metadata\n * @return {?}\n */\n MockPipeResolver.prototype.setPipe = /**\n * Overrides the {\\@link Pipe} for a pipe.\n * @param {?} type\n * @param {?} metadata\n * @return {?}\n */\n function (type, metadata) { this._pipes.set(type, metadata); };\n /**\n * Returns the {@link Pipe} for a pipe:\n * - Set the {@link Pipe} to the overridden view when it exists or fallback to the\n * default\n * `PipeResolver`, see `setPipe`.\n */\n /**\n * Returns the {\\@link Pipe} for a pipe:\n * - Set the {\\@link Pipe} to the overridden view when it exists or fallback to the\n * default\n * `PipeResolver`, see `setPipe`.\n * @param {?} type\n * @param {?=} throwIfNotFound\n * @return {?}\n */\n MockPipeResolver.prototype.resolve = /**\n * Returns the {\\@link Pipe} for a pipe:\n * - Set the {\\@link Pipe} to the overridden view when it exists or fallback to the\n * default\n * `PipeResolver`, see `setPipe`.\n * @param {?} type\n * @param {?=} throwIfNotFound\n * @return {?}\n */\n function (type, throwIfNotFound) {\n if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n var /** @type {?} */ metadata = this._pipes.get(type);\n if (!metadata) {\n metadata = /** @type {?} */ ((_super.prototype.resolve.call(this, type, throwIfNotFound)));\n }\n return metadata;\n };\n return MockPipeResolver;\n}(PipeResolver));\nexport { MockPipeResolver };\nfunction MockPipeResolver_tsickle_Closure_declarations() {\n /** @type {?} */\n MockPipeResolver.prototype._pipes;\n}\n//# sourceMappingURL=pipe_resolver_mock.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all APIs of the compiler package.\n *\n * <div class=\"callout is-critical\">\n * <header>Unstable APIs</header>\n * <p>\n * All compiler apis are currently considered experimental and private!\n * </p>\n * <p>\n * We expect the APIs in this package to keep on changing. Do not rely on them.\n * </p>\n * </div>\n */\nexport { MockResourceLoader } from './resource_loader_mock';\nexport { MockSchemaRegistry } from './schema_registry_mock';\nexport { MockDirectiveResolver } from './directive_resolver_mock';\nexport { MockNgModuleResolver } from './ng_module_resolver_mock';\nexport { MockPipeResolver } from './pipe_resolver_mock';\n//# sourceMappingURL=testing.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport { MockResourceLoader, MockSchemaRegistry, MockDirectiveResolver, MockNgModuleResolver, MockPipeResolver } from './src/testing';\n// This file only reexports content of the `src` folder. Keep it that way.\n//# sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\nexport { MockResourceLoader, MockSchemaRegistry, MockDirectiveResolver, MockNgModuleResolver, MockPipeResolver } from './public_api';\n//# sourceMappingURL=testing.js.map"],"names":["tslib_1.__extends"],"mappings":"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"}