• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this 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 fs from 'fs';
17import path from 'path';
18import assert from 'assert';
19
20const filePath = path.join(__filename, '../interface_demo_01_use.ts');
21const actual = fs.readFileSync(filePath, 'utf-8');
22
23const expectation = `export interface Interface01 {
24    interfaceP1: number;
25    "interfaceP2": number;
26    ["interfaceP1"]: number;
27}
28export const Object01 = {
29    objectP1: 10,
30    "objectP2": 11,
31    ['objectP3']: 12,
32};
33export class class01 {
34    classP1;
35    11 = 4;
36    'classP2' = 3;
37    ['classP3'] = 2;
38    constructor(public classP5 = 1, private classP6 = 2, protected classP7 = 3, readonly classP8 = { classP9: 4 }) {
39        this.classP1 = {
40            classP10: 3
41        };
42    }
43    classP11 = class class02 {
44        classP12 = 3;
45    };
46    get classP13() { return 1; }
47    set classP14(a) { }
48}
49export enum enum01 {
50    enumP1,
51    'enumP2',
52    ['enumP3']
53}
54export type typeAlia01 = {
55    typeP1;
56    'typeP2';
57    ['typeP3'];
58};`
59
60assert.strictEqual(actual.trim(), expectation.trim());