{"version":3,"file":"ng-cabled-ts-testing.mjs","sources":["../../ts/testing/testing.ts","../../ts/testing/ng-cabled-ts-testing.ts"],"sourcesContent":["// import './testing/babel-support';\n// import 'ng-cabled/main.test';\n/// <amd-module name=\"ng-cabled/testing\" />\nimport * as path from 'path';\nimport * as fs from 'fs';\nimport { getTestBed, TestBed } from '@angular/core/testing';\nimport { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';\nimport 'reflect-metadata';\nimport 'zone.js';\nimport { runInInjectionContext } from '@angular/core';\nimport { BaseModule, getTestcases, getTestunits } from 'ng-cabled';\ngetTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());\n\nglobal['Document'] = <any>process;\nglobal['window'] = <any>global;\nglobal['window'].addEventListener = () => {};\n(<any>global['window'])['navigator'] = [];\n(<any>global['window']['location']) = {\n    pathname: '/',\n    hash: '',\n}\nglobal['document'] = <any>process;\n(<any>global['document'])['head'] = {};\nglobal['document']['addEventListener'] = () => {};\n(<any>global['document']['querySelectorAll']) = () => [];\n(<any>global['document'])['documentElement'] = {style: []};\n\nconst tb = getTestBed();\n\nconst _config = tb.configureTestingModule;\n(tb.configureTestingModule as any) = (...args: Array<any>) => {\n    _config.apply(getTestBed(), args);\n    runInInjectionContext(TestBed, () => {\n        new BaseModule(args.map(a => a.providers).reduce((acc, v) => acc.concat(v), []));\n    })\n}\n\n\n// Hack for jasmine-core. \nconst oldJoin = path['default'].join;\n(path['default'] as any).join = (folder: string, file: string) => {\n    if (file == 'jasmine-core') {\n        const files = fs.readdirSync('.');\n        folder = `${files.indexOf('node_modules') == -1 ? '..' : '.'}/node_modules`;\n    }\n    return oldJoin(folder, file);\n}\n\nexport async function startTesting() {\n    const jasmine = await import('jasmine');\n    const j = new jasmine.default({});\n\n    const units = getTestunits();\n\n    units.forEach(unit => {\n        describe(`Running ${unit.name} -`, () => {\n            afterAll(() => getTestBed().resetTestingModule());\n            const tests = getTestcases(unit);\n            beforeAll(() => {\n                TestBed.configureTestingModule({\n                    providers: (unit.prototype.providers || []).concat([unit]),\n                });\n            });\n\n            tests.forEach(t => {\n                const tc = t.arg as any;\n                const callback = tc.x ? xit : tc.f ? fit : it;\n                callback(`${tc.name || t.prop}`, () => {\n                    // const instance = Object.create(unit.prototype);\n                    const instance = getTestBed().get(unit);\n                    return instance[t.prop].bind(instance)();\n                });\n            });\n        });\n    });\n\n    const oldSpecDone = j['reporter_'].specDone;\n\n    j['reporter_'].specDone = function(result: { fullName: any; status: any; }) {\n        console.log('Finished', result.fullName, ' => ', result.status);\n        oldSpecDone(result as any);\n    };\n    j.execute();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}