blob: 53c92fb52275b48a0303924b5a9fd9f6cc1dff17 [file] [log] [blame]
{"version":3,"sources":["packages/common/common-testing.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","common","testing","core","rxjs","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","SpyLocation","urlChanges","_history","LocationState","_historyIndex","_subject","EventEmitter","_baseHref","_platformStrategy","_platformLocation","_urlChangeListeners","setInitialPath","url","path","setBaseHref","getState","state","isCurrentPathEqualTo","query","givenPath","endsWith","substring","simulateUrlPop","pathname","emit","pop","type","simulateHashChange","push","prepareExternalUrl","startsWith","go","splice","locationState","replaceState","history","forward","back","onUrlChange","fn","_this","subscribe","v","_notifyUrlChangeListeners","forEach","onNext","onThrow","onReturn","next","error","complete","normalize","Injectable","MockLocationStrategy","_super","internalBaseHref","internalPath","internalTitle","stateChanges","__extends","__","constructor","create","simulatePopState","_MockPopStateEvent","includeHash","internal","pushState","ctx","title","externalUrl","onPopState","getBaseHref","LocationStrategy","newUrl","urlParse","MOCK_PLATFORM_LOCATION_CONFIG","InjectionToken","MockPlatformLocation","config","baseHref","hashUpdate","Subject","hostname","protocol","port","search","hash","appBaseHref","parsedChanges","parseChanges","startUrl","get","enumerable","configurable","getBaseHrefFromDOM","onHashChange","JSON","parse","stringify","parseUrl","urlStr","serverBase","parsedUrl","test","URL","e","result","exec","Error","hostSplit","split","indexOf","_a","unshift","oldUrl","oldHash","shift","scheduleMicroTask","cb","Promise","resolve","then","Inject","Optional","value"],"mappings":"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","sourcesContent":["/**\n * @license Angular v8.1.1\n * (c) 2010-2019 Google LLC. https://angular.io/\n * License: MIT\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('rxjs')) :\n typeof define === 'function' && define.amd ? define('@angular/common/testing', ['exports', '@angular/core', '@angular/common', 'rxjs'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.common = global.ng.common || {}, global.ng.common.testing = {}), global.ng.core, global.ng.common, global.rxjs));\n}(this, function (exports, core, common, rxjs) { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation. All rights reserved.\r\n Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\n this file except in compliance with the License. You may obtain a copy of the\r\n License at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\n MERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\n See the Apache Version 2.0 License for specific language governing permissions\r\n and limitations under the License.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n\r\n function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n }\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\r\n\r\n function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n }\r\n\r\n function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n }\r\n\r\n function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n }\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 * A spy for {@link Location} that allows tests to fire simulated location events.\n *\n * @publicApi\n */\n var SpyLocation = /** @class */ (function () {\n function SpyLocation() {\n this.urlChanges = [];\n this._history = [new LocationState('', '', null)];\n this._historyIndex = 0;\n /** @internal */\n this._subject = new core.EventEmitter();\n /** @internal */\n this._baseHref = '';\n /** @internal */\n this._platformStrategy = null;\n /** @internal */\n this._platformLocation = null;\n /** @internal */\n this._urlChangeListeners = [];\n }\n SpyLocation.prototype.setInitialPath = function (url) { this._history[this._historyIndex].path = url; };\n SpyLocation.prototype.setBaseHref = function (url) { this._baseHref = url; };\n SpyLocation.prototype.path = function () { return this._history[this._historyIndex].path; };\n SpyLocation.prototype.getState = function () { return this._history[this._historyIndex].state; };\n SpyLocation.prototype.isCurrentPathEqualTo = function (path, query) {\n if (query === void 0) { query = ''; }\n var givenPath = path.endsWith('/') ? path.substring(0, path.length - 1) : path;\n var currPath = this.path().endsWith('/') ? this.path().substring(0, this.path().length - 1) : this.path();\n return currPath == givenPath + (query.length > 0 ? ('?' + query) : '');\n };\n SpyLocation.prototype.simulateUrlPop = function (pathname) {\n this._subject.emit({ 'url': pathname, 'pop': true, 'type': 'popstate' });\n };\n SpyLocation.prototype.simulateHashChange = function (pathname) {\n // Because we don't prevent the native event, the browser will independently update the path\n this.setInitialPath(pathname);\n this.urlChanges.push('hash: ' + pathname);\n this._subject.emit({ 'url': pathname, 'pop': true, 'type': 'hashchange' });\n };\n SpyLocation.prototype.prepareExternalUrl = function (url) {\n if (url.length > 0 && !url.startsWith('/')) {\n url = '/' + url;\n }\n return this._baseHref + url;\n };\n SpyLocation.prototype.go = function (path, query, state) {\n if (query === void 0) { query = ''; }\n if (state === void 0) { state = null; }\n path = this.prepareExternalUrl(path);\n if (this._historyIndex > 0) {\n this._history.splice(this._historyIndex + 1);\n }\n this._history.push(new LocationState(path, query, state));\n this._historyIndex = this._history.length - 1;\n var locationState = this._history[this._historyIndex - 1];\n if (locationState.path == path && locationState.query == query) {\n return;\n }\n var url = path + (query.length > 0 ? ('?' + query) : '');\n this.urlChanges.push(url);\n this._subject.emit({ 'url': url, 'pop': false });\n };\n SpyLocation.prototype.replaceState = function (path, query, state) {\n if (query === void 0) { query = ''; }\n if (state === void 0) { state = null; }\n path = this.prepareExternalUrl(path);\n var history = this._history[this._historyIndex];\n if (history.path == path && history.query == query) {\n return;\n }\n history.path = path;\n history.query = query;\n history.state = state;\n var url = path + (query.length > 0 ? ('?' + query) : '');\n this.urlChanges.push('replace: ' + url);\n };\n SpyLocation.prototype.forward = function () {\n if (this._historyIndex < (this._history.length - 1)) {\n this._historyIndex++;\n this._subject.emit({ 'url': this.path(), 'state': this.getState(), 'pop': true });\n }\n };\n SpyLocation.prototype.back = function () {\n if (this._historyIndex > 0) {\n this._historyIndex--;\n this._subject.emit({ 'url': this.path(), 'state': this.getState(), 'pop': true });\n }\n };\n SpyLocation.prototype.onUrlChange = function (fn) {\n var _this = this;\n this._urlChangeListeners.push(fn);\n this.subscribe(function (v) { _this._notifyUrlChangeListeners(v.url, v.state); });\n };\n /** @internal */\n SpyLocation.prototype._notifyUrlChangeListeners = function (url, state) {\n if (url === void 0) { url = ''; }\n this._urlChangeListeners.forEach(function (fn) { return fn(url, state); });\n };\n SpyLocation.prototype.subscribe = function (onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n };\n SpyLocation.prototype.normalize = function (url) { return null; };\n SpyLocation = __decorate([\n core.Injectable()\n ], SpyLocation);\n return SpyLocation;\n }());\n var LocationState = /** @class */ (function () {\n function LocationState(path, query, state) {\n this.path = path;\n this.query = query;\n this.state = state;\n }\n return LocationState;\n }());\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 * A mock implementation of {@link LocationStrategy} that allows tests to fire simulated\n * location events.\n *\n * @publicApi\n */\n var MockLocationStrategy = /** @class */ (function (_super) {\n __extends(MockLocationStrategy, _super);\n function MockLocationStrategy() {\n var _this = _super.call(this) || this;\n _this.internalBaseHref = '/';\n _this.internalPath = '/';\n _this.internalTitle = '';\n _this.urlChanges = [];\n /** @internal */\n _this._subject = new core.EventEmitter();\n _this.stateChanges = [];\n return _this;\n }\n MockLocationStrategy.prototype.simulatePopState = function (url) {\n this.internalPath = url;\n this._subject.emit(new _MockPopStateEvent(this.path()));\n };\n MockLocationStrategy.prototype.path = function (includeHash) {\n if (includeHash === void 0) { includeHash = false; }\n return this.internalPath;\n };\n MockLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n if (internal.startsWith('/') && this.internalBaseHref.endsWith('/')) {\n return this.internalBaseHref + internal.substring(1);\n }\n return this.internalBaseHref + internal;\n };\n MockLocationStrategy.prototype.pushState = function (ctx, title, path, query) {\n // Add state change to changes array\n this.stateChanges.push(ctx);\n this.internalTitle = title;\n var url = path + (query.length > 0 ? ('?' + query) : '');\n this.internalPath = url;\n var externalUrl = this.prepareExternalUrl(url);\n this.urlChanges.push(externalUrl);\n };\n MockLocationStrategy.prototype.replaceState = function (ctx, title, path, query) {\n // Reset the last index of stateChanges to the ctx (state) object\n this.stateChanges[(this.stateChanges.length || 1) - 1] = ctx;\n this.internalTitle = title;\n var url = path + (query.length > 0 ? ('?' + query) : '');\n this.internalPath = url;\n var externalUrl = this.prepareExternalUrl(url);\n this.urlChanges.push('replace: ' + externalUrl);\n };\n MockLocationStrategy.prototype.onPopState = function (fn) { this._subject.subscribe({ next: fn }); };\n MockLocationStrategy.prototype.getBaseHref = function () { return this.internalBaseHref; };\n MockLocationStrategy.prototype.back = function () {\n if (this.urlChanges.length > 0) {\n this.urlChanges.pop();\n this.stateChanges.pop();\n var nextUrl = this.urlChanges.length > 0 ? this.urlChanges[this.urlChanges.length - 1] : '';\n this.simulatePopState(nextUrl);\n }\n };\n MockLocationStrategy.prototype.forward = function () { throw 'not implemented'; };\n MockLocationStrategy.prototype.getState = function () { return this.stateChanges[(this.stateChanges.length || 1) - 1]; };\n MockLocationStrategy = __decorate([\n core.Injectable(),\n __metadata(\"design:paramtypes\", [])\n ], MockLocationStrategy);\n return MockLocationStrategy;\n }(common.LocationStrategy));\n var _MockPopStateEvent = /** @class */ (function () {\n function _MockPopStateEvent(newUrl) {\n this.newUrl = newUrl;\n this.pop = true;\n this.type = 'popstate';\n }\n return _MockPopStateEvent;\n }());\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 * Parser from https://tools.ietf.org/html/rfc3986#appendix-B\n * ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?\n * 12 3 4 5 6 7 8 9\n *\n * Example: http://www.ics.uci.edu/pub/ietf/uri/#Related\n *\n * Results in:\n *\n * $1 = http:\n * $2 = http\n * $3 = //www.ics.uci.edu\n * $4 = www.ics.uci.edu\n * $5 = /pub/ietf/uri/\n * $6 = <undefined>\n * $7 = <undefined>\n * $8 = #Related\n * $9 = Related\n */\n var urlParse = /^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;\n function parseUrl(urlStr, baseHref) {\n var verifyProtocol = /^((http[s]?|ftp):\\/\\/)/;\n var serverBase;\n // URL class requires full URL. If the URL string doesn't start with protocol, we need to add\n // an arbitrary base URL which can be removed afterward.\n if (!verifyProtocol.test(urlStr)) {\n serverBase = 'http://empty.com/';\n }\n var parsedUrl;\n try {\n parsedUrl = new URL(urlStr, serverBase);\n }\n catch (e) {\n var result = urlParse.exec(serverBase || '' + urlStr);\n if (!result) {\n throw new Error(\"Invalid URL: \" + urlStr + \" with base: \" + baseHref);\n }\n var hostSplit = result[4].split(':');\n parsedUrl = {\n protocol: result[1],\n hostname: hostSplit[0],\n port: hostSplit[1] || '',\n pathname: result[5],\n search: result[6],\n hash: result[8],\n };\n }\n if (parsedUrl.pathname && parsedUrl.pathname.indexOf(baseHref) === 0) {\n parsedUrl.pathname = parsedUrl.pathname.substring(baseHref.length);\n }\n return {\n hostname: !serverBase && parsedUrl.hostname || '',\n protocol: !serverBase && parsedUrl.protocol || '',\n port: !serverBase && parsedUrl.port || '',\n pathname: parsedUrl.pathname || '/',\n search: parsedUrl.search || '',\n hash: parsedUrl.hash || '',\n };\n }\n /**\n * Provider for mock platform location config\n *\n * @publicApi\n */\n var MOCK_PLATFORM_LOCATION_CONFIG = new core.InjectionToken('MOCK_PLATFORM_LOCATION_CONFIG');\n /**\n * Mock implementation of URL state.\n *\n * @publicApi\n */\n var MockPlatformLocation = /** @class */ (function () {\n function MockPlatformLocation(config) {\n this.baseHref = '';\n this.hashUpdate = new rxjs.Subject();\n this.urlChanges = [{ hostname: '', protocol: '', port: '', pathname: '/', search: '', hash: '', state: null }];\n if (config) {\n this.baseHref = config.appBaseHref || '';\n var parsedChanges = this.parseChanges(null, config.startUrl || 'http://<empty>/', this.baseHref);\n this.urlChanges[0] = __assign({}, parsedChanges);\n }\n }\n Object.defineProperty(MockPlatformLocation.prototype, \"hostname\", {\n get: function () { return this.urlChanges[0].hostname; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"protocol\", {\n get: function () { return this.urlChanges[0].protocol; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"port\", {\n get: function () { return this.urlChanges[0].port; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"pathname\", {\n get: function () { return this.urlChanges[0].pathname; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"search\", {\n get: function () { return this.urlChanges[0].search; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"hash\", {\n get: function () { return this.urlChanges[0].hash; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"state\", {\n get: function () { return this.urlChanges[0].state; },\n enumerable: true,\n configurable: true\n });\n MockPlatformLocation.prototype.getBaseHrefFromDOM = function () { return this.baseHref; };\n MockPlatformLocation.prototype.onPopState = function (fn) {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n };\n MockPlatformLocation.prototype.onHashChange = function (fn) { this.hashUpdate.subscribe(fn); };\n Object.defineProperty(MockPlatformLocation.prototype, \"href\", {\n get: function () {\n var url = this.protocol + \"//\" + this.hostname + (this.port ? ':' + this.port : '');\n url += \"\" + (this.pathname === '/' ? '' : this.pathname) + this.search + this.hash;\n return url;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MockPlatformLocation.prototype, \"url\", {\n get: function () { return \"\" + this.pathname + this.search + this.hash; },\n enumerable: true,\n configurable: true\n });\n MockPlatformLocation.prototype.parseChanges = function (state, url, baseHref) {\n if (baseHref === void 0) { baseHref = ''; }\n // When the `history.state` value is stored, it is always copied.\n state = JSON.parse(JSON.stringify(state));\n return __assign({}, parseUrl(url, baseHref), { state: state });\n };\n MockPlatformLocation.prototype.replaceState = function (state, title, newUrl) {\n var _a = this.parseChanges(state, newUrl), pathname = _a.pathname, search = _a.search, parsedState = _a.state, hash = _a.hash;\n this.urlChanges[0] = __assign({}, this.urlChanges[0], { pathname: pathname, search: search, hash: hash, state: parsedState });\n };\n MockPlatformLocation.prototype.pushState = function (state, title, newUrl) {\n var _a = this.parseChanges(state, newUrl), pathname = _a.pathname, search = _a.search, parsedState = _a.state, hash = _a.hash;\n this.urlChanges.unshift(__assign({}, this.urlChanges[0], { pathname: pathname, search: search, hash: hash, state: parsedState }));\n };\n MockPlatformLocation.prototype.forward = function () { throw new Error('Not implemented'); };\n MockPlatformLocation.prototype.back = function () {\n var _this = this;\n var oldUrl = this.url;\n var oldHash = this.hash;\n this.urlChanges.shift();\n var newHash = this.hash;\n if (oldHash !== newHash) {\n scheduleMicroTask(function () { return _this.hashUpdate.next({\n type: 'hashchange', state: null, oldUrl: oldUrl, newUrl: _this.url\n }); });\n }\n };\n MockPlatformLocation.prototype.getState = function () { return this.state; };\n MockPlatformLocation = __decorate([\n core.Injectable(),\n __param(0, core.Inject(MOCK_PLATFORM_LOCATION_CONFIG)), __param(0, core.Optional()),\n __metadata(\"design:paramtypes\", [Object])\n ], MockPlatformLocation);\n return MockPlatformLocation;\n }());\n function scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n }\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 /**\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 only reexports content of the `src` folder. Keep it that way.\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 /**\n * Generated bundle index. Do not edit.\n */\n\n exports.SpyLocation = SpyLocation;\n exports.MockLocationStrategy = MockLocationStrategy;\n exports.MOCK_PLATFORM_LOCATION_CONFIG = MOCK_PLATFORM_LOCATION_CONFIG;\n exports.MockPlatformLocation = MockPlatformLocation;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=common-testing.umd.js.map\n"]}