UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

100 lines 4.83 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@angular-devkit/core"); const testing_1 = require("@angular-devkit/core/node/testing"); const schematics_1 = require("@angular-devkit/schematics"); const testing_2 = require("@angular-devkit/schematics/testing"); const shx = require("shelljs"); const config_1 = require("../config"); describe('tooltip-like migration', () => { let runner; let host; let tree; let tmpDirPath; let previousWorkingDir; let warnOutput; beforeEach(() => { runner = new testing_2.SchematicTestRunner('test', require.resolve('../../../migration.json')); host = new testing_1.TempScopedNodeJsSyncHost(); tree = new testing_2.UnitTestTree(new schematics_1.HostTree(host)); writeFile('/tsconfig.json', JSON.stringify(config_1.SchematicsTestTsConfig)); writeFile('/angular.json', JSON.stringify(config_1.SchematicsTestNGConfig)); warnOutput = []; runner.logger.subscribe(logEntry => { if (logEntry.level === 'warn') { warnOutput.push(logEntry.message); } }); previousWorkingDir = shx.pwd(); tmpDirPath = core_1.getSystemPath(host.root); shx.cd(tmpDirPath); writeFakeAngular(); }); afterEach(() => { shx.cd(previousWorkingDir); shx.rm('-r', tmpDirPath); }); function writeFakeAngular() { writeFile('/node_modules/@angular/core/index.d.ts', ``); } function writeFile(filePath, contents) { host.sync.write(core_1.normalize(filePath), core_1.virtualFs.stringToFileBuffer(contents)); } // tslint:disable-next-line:no-any function runMigration() { return __awaiter(this, void 0, void 0, function* () { yield runner.runSchematicAsync('migration-v9', {}, tree).toPromise(); }); } describe('Tooltip, Popconfirm, Popover', () => { it('should properly report invalid deprecated component in TS file', () => __awaiter(void 0, void 0, void 0, function* () { writeFile('/index.ts', `; import {Component} from '@angular/core' @Component({ template: \` <nz-tooltip nzTitle="title"></nz-tooltip> <nz-popover nzTitle="title"></nz-popover> <nz-popconfirm nzTitle="title"></nz-popconfirm> \` }) export class MyComp { }`); yield runMigration(); expect(warnOutput).toContain('/index.ts@5:11 - Found deprecated "<nz-tooltip>" ' + 'component. Use "[nz-tooltip]" to instead please.'); expect(warnOutput).toContain('/index.ts@6:11 - Found deprecated "<nz-popover>" ' + 'component. Use "[nz-popover]" to instead please.'); expect(warnOutput).toContain('/index.ts@7:11 - Found deprecated "<nz-popconfirm>" ' + 'component. Use "[nz-popconfirm]" to instead please.'); })); it('should properly report invalid deprecated component in HTML', () => __awaiter(void 0, void 0, void 0, function* () { writeFile('/index.ts', ` import {Component} from '@angular/core'; @Component({ templateUrl: './sub_dir/tmpl.html', }) export class MyComp {} `); writeFile('/sub_dir/tmpl.html', ` <nz-tooltip nzTitle="title"></nz-tooltip> <nz-popover nzTitle="title"></nz-popover> <nz-popconfirm nzTitle="title"></nz-popconfirm> `); yield runMigration(); expect(warnOutput).toContain('/sub_dir/tmpl.html@2:7 - Found deprecated "<nz-tooltip>" ' + 'component. Use "[nz-tooltip]" to instead please.'); expect(warnOutput).toContain('/sub_dir/tmpl.html@3:7 - Found deprecated "<nz-popover>" ' + 'component. Use "[nz-popover]" to instead please.'); expect(warnOutput).toContain('/sub_dir/tmpl.html@4:7 - Found deprecated "<nz-popconfirm>" ' + 'component. Use "[nz-popconfirm]" to instead please.'); })); }); }); //# sourceMappingURL=deprecated-component-tooltip-like.spec.js.map