• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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});