1/* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use rollupObject file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import mocha from 'mocha'; 17import fs from 'fs'; 18import { expect } from 'chai'; 19 20import RollUpPluginMock from './mock/rollup_mock/rollup_plugin_mock'; 21import { addLocalPackageSet, localPackageSet } from '../../lib/ets_checker'; 22import { projectConfig } from '../../main'; 23 24mocha.describe('test ets_checker file api', function () { 25 mocha.before(function () { 26 this.rollup = new RollUpPluginMock(); 27 }); 28 29 mocha.after(() => { 30 delete this.rollup; 31 }); 32 33 mocha.it('1-1: test addLocalPackageSet for original ohmurl', function () { 34 this.rollup.build(); 35 const rollupObject = this.rollup; 36 const rollupFileList = rollupObject.getModuleIds(); 37 projectConfig.useNormalizedOHMUrl = false; 38 for (const moduleId of rollupFileList) { 39 if (fs.existsSync(moduleId)) { 40 addLocalPackageSet(moduleId, rollupObject); 41 } 42 } 43 expect(localPackageSet.has('entry')).to.be.true; 44 localPackageSet.clear(); 45 }); 46 47 mocha.it('1-2: test addLocalPackageSet for normalized ohmurl', function () { 48 this.rollup.build(); 49 const rollupObject = this.rollup; 50 const rollupFileList = rollupObject.getModuleIds(); 51 projectConfig.useNormalizedOHMUrl = true; 52 for (const moduleId of rollupFileList) { 53 const moduleInfo: Object = rollupObject.getModuleInfo(moduleId); 54 if (moduleInfo) { 55 const metaInfo: Object = moduleInfo.meta; 56 metaInfo.pkgName = 'pkgname'; 57 } 58 if (fs.existsSync(moduleId)) { 59 addLocalPackageSet(moduleId, rollupObject); 60 } 61 } 62 expect(localPackageSet.has('pkgname')).to.be.true; 63 }); 64 65});