1/*
2 * Copyright (C) 2022 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 { Smaps, SmapsTreeObj } from '../../../src/trace/bean/SmapsStruct';
17
18describe('SmapsStruct Test', () => {
19    it('SmapsStructTest01', function () {
20        let sMaps = new Smaps();
21        sMaps = {
22            tsNS: -1,
23            start_addr: 'start_addr',
24            end_addr: 'end_addr',
25            permission: 'permission',
26            path: 'path',
27            size: 0,
28            rss: 0,
29            pss: 0,
30            reside: 0,
31            dirty: 0,
32            swapper: 0,
33            address: 'address',
34            type: 'type',
35            dirtyStr: 'dirtyStr',
36            swapperStr: 'swapperStr',
37            rssStr: 'rssStr',
38            pssStr: 'pssStr',
39            sizeStr: 'sizeStr',
40            resideStr: 'resideStr',
41        };
42        expect(sMaps).not.toBeUndefined();
43        expect(sMaps).toMatchInlineSnapshot(
44            {
45                tsNS: expect.any(Number),
46                start_addr: expect.any(String),
47                end_addr: expect.any(String),
48                permission: expect.any(String),
49                path: expect.any(String),
50                size: expect.any(Number),
51                rss: expect.any(Number),
52                pss: expect.any(Number),
53                reside: expect.any(Number),
54                dirty: expect.any(Number),
55                swapper: expect.any(Number),
56                address: expect.any(String),
57                type: expect.any(String),
58                dirtyStr: expect.any(String),
59                swapperStr: expect.any(String),
60                rssStr: expect.any(String),
61                pssStr: expect.any(String),
62                sizeStr: expect.any(String),
63                resideStr: expect.any(String)
64            }, `
65{
66  "address": Any<String>,
67  "dirty": Any<Number>,
68  "dirtyStr": Any<String>,
69  "end_addr": Any<String>,
70  "path": Any<String>,
71  "permission": Any<String>,
72  "pss": Any<Number>,
73  "pssStr": Any<String>,
74  "reside": Any<Number>,
75  "resideStr": Any<String>,
76  "rss": Any<Number>,
77  "rssStr": Any<String>,
78  "size": Any<Number>,
79  "sizeStr": Any<String>,
80  "start_addr": Any<String>,
81  "swapper": Any<Number>,
82  "swapperStr": Any<String>,
83  "tsNS": Any<Number>,
84  "type": Any<String>,
85}
86`
87        );
88    });
89
90    it('SmapsStructTest02', function () {
91        let sMapsTreeObj = new SmapsTreeObj();
92        sMapsTreeObj = {
93            id: 'id',
94            pid: 'pid',
95            rsspro: 0,
96            rssproStr: 'rssproStr',
97            type: 'type',
98            reg: 0,
99            regStr: 'regStr',
100            path: 'path',
101            rss: 0,
102            rssStr: 'rssStr',
103            dirty: 0,
104            dirtyStr: 'dirtyStr',
105            swapper: 0,
106            swapperStr: 'swapperStr',
107            pss: 0,
108            pssStr: 'pssStr',
109            size: 0,
110            sizeStr: 'sizeStr',
111            respro: 0,
112            resproStr: 'resproStr',
113            children: [],
114        };
115        expect(sMapsTreeObj).not.toBeUndefined();
116        expect(sMapsTreeObj).toMatchInlineSnapshot(
117{
118  id: expect.any(String),
119  pid: expect.any(String),
120  rsspro: expect.any(Number),
121  rssproStr: expect.any(String),
122  type: expect.any(String),
123  reg: expect.any(Number),
124  regStr: expect.any(String),
125  path: expect.any(String),
126  rss: expect.any(Number),
127  rssStr: expect.any(String),
128  dirty: expect.any(Number),
129  dirtyStr: expect.any(String),
130  swapper: expect.any(Number),
131  swapperStr: expect.any(String),
132  pss: expect.any(Number),
133  pssStr: expect.any(String),
134  size: expect.any(Number),
135  sizeStr: expect.any(String),
136  respro: expect.any(Number),
137  resproStr: expect.any(String),
138  children: expect.any(Array) }, `
139{
140  "children": Any<Array>,
141  "dirty": Any<Number>,
142  "dirtyStr": Any<String>,
143  "id": Any<String>,
144  "path": Any<String>,
145  "pid": Any<String>,
146  "pss": Any<Number>,
147  "pssStr": Any<String>,
148  "reg": Any<Number>,
149  "regStr": Any<String>,
150  "respro": Any<Number>,
151  "resproStr": Any<String>,
152  "rss": Any<Number>,
153  "rssStr": Any<String>,
154  "rsspro": Any<Number>,
155  "rssproStr": Any<String>,
156  "size": Any<Number>,
157  "sizeStr": Any<String>,
158  "swapper": Any<Number>,
159  "swapperStr": Any<String>,
160  "type": Any<String>,
161}
162`);
163    });
164});
165