• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
15import { TabPaneHisysEvents } from '../../../../../../src/trace/component/trace/sheet/hisysevent/TabPaneHisysEvents';
16
17jest.mock('../../../../../../src/trace/component/trace/base/TraceRow', () => {
18  return {};
19});
20const sqlite = require('../../../../../../src/trace/database/SqlLite');
21jest.mock('../../../../../../src/trace/database/SqlLite');
22window.ResizeObserver =
23  window.ResizeObserver ||
24  jest.fn().mockImplementation(() => ({
25    disconnect: jest.fn(),
26    observe: jest.fn(),
27    unobserve: jest.fn(),
28  }));
29
30describe('TabPaneHisysEvents Test', () => {
31  let hiSysEvent = sqlite.queryHiSysEventTabData;
32  let eventTabData = [
33    {
34      id: 1,
35      domain: "domain",
36      eventName: "eventName",
37      eventType: "eventType",
38      tz: "",
39      pid: 567,
40      tid: 45,
41      uid: 98,
42      info: "",
43      level: "MINOR",
44      seq: 92803,
45      contents: "{'LEVEL':126}",
46      startTs: 2588,
47      dur: 2584,
48      depth: 0
49    },
50  ];
51  hiSysEvent.mockResolvedValue(eventTabData);
52
53  it('TabPaneHisysEvents01 ', function () {
54    let tabPaneHisysEvents = new TabPaneHisysEvents();
55    let MockRealTime = sqlite.queryRealTime;
56    let Realtime = [{
57      ts: 1000,
58      clock_name: '',
59    }];
60    let tabData = {
61      hiSysEvents: [{
62        id: 1,
63        domain: 'DISPLAY',
64        eventName: 'AMBIENT_LIGHT',
65        eventType: 2,
66        ts: 2797000000,
67        tz: '23925',
68        pid: 23925,
69        tid: 24086,
70        uid: 5523,
71        info: '',
72        level: 'MINOR',
73        seq: '92839',
74        contents: '{"LEVEL":126}',
75        dur: 0,
76        depth: 0,
77      }]
78    };
79    MockRealTime.mockResolvedValue(Realtime);
80    tabPaneHisysEvents.data = tabData.hiSysEvents;
81    expect(tabPaneHisysEvents.data).toBeUndefined();
82  });
83  it('TabPaneHisysEvents02 ', function () {
84    let tabPaneHisysEvents = new TabPaneHisysEvents();
85    const domainValue = 'DISPLAY';
86    const tagElement = tabPaneHisysEvents.buildTag(domainValue);
87    expect(tagElement.className).toBe('tagElement');
88    expect(tagElement.id).toBe(domainValue);
89    const tag = tagElement.querySelector('.tag');
90    expect(tag.innerHTML).toBe(domainValue);
91    const closeButton = tagElement.querySelector('lit-icon');
92    expect(closeButton.getAttribute('name')).toBe('close-light');
93    expect(closeButton.style.color).toBe('rgb(255, 255, 255)');
94  });
95  it('TabPaneHisysEvents03', () => {
96    let tabPaneHisysEvents = new TabPaneHisysEvents();
97    tabPaneHisysEvents.refreshEventsTitle = jest.fn();
98    expect(tabPaneHisysEvents.updateData()).toBeUndefined();
99  });
100  it('TabPaneHisysEvents04', () => {
101    let tabPaneHisysEvents = new TabPaneHisysEvents();
102    expect(tabPaneHisysEvents.filterData()).toBeTruthy();
103  });
104  it('TabPaneHisysEvents05', () => {
105    let tabPaneHisysEvents = new TabPaneHisysEvents();
106    expect(tabPaneHisysEvents.updateDetail()).toBeUndefined();
107  });
108  it('TabPaneHisysEvents06', () => {
109    let tabPaneHisysEvents = new TabPaneHisysEvents();
110    let hisysEventSource = [
111      { key: 'A', sort: 1 },
112      { key: 'B', sort: 2 },
113      { key: 'C', sort: 3 },
114    ]
115    let hiSysEventTable = { recycleDataSource: [] };
116    tabPaneHisysEvents.sortByColumn.call({ hisysEventSource, hiSysEventTable }, { key: 'key', sort: 1, type: 'number' });
117    expect(hisysEventSource).toEqual([
118      { key: 'A', sort: 1 },
119      { key: 'B', sort: 2 },
120      { key: 'C', sort: 3 },
121    ]);
122    expect(hiSysEventTable.recycleDataSource).toEqual([
123      { key: 'A', sort: 1 },
124      { key: 'B', sort: 2 },
125      { key: 'C', sort: 3 },
126    ]);
127  });
128  it('TabPaneHisysEvents07', () => {
129    let tabPaneHisysEvents = new TabPaneHisysEvents();
130    tabPaneHisysEvents.baseTime = '';
131    tabPaneHisysEvents.currentDetailList = [{
132      key: 'key',
133      value: 'value'
134    }];
135    tabPaneHisysEvents.realTime = 0;
136    tabPaneHisysEvents.changeInput = document.createElement('input');
137    tabPaneHisysEvents.detailsTbl = document.createElement('table');
138    tabPaneHisysEvents.slicerTrack = document.createElement('div');
139    tabPaneHisysEvents.boxDetails = document.createElement('div');
140    tabPaneHisysEvents.detailbox = document.createElement('div');
141    const data = {
142      contents: JSON.stringify({
143        key1: 'value1',
144        key2: 'value2',
145        INPUT_TIME: '1234567890'
146      })
147    };
148    tabPaneHisysEvents.convertData(data);
149    expect(tabPaneHisysEvents.baseTime).toBe('1234567890000000');
150    expect(tabPaneHisysEvents.changeInput.value).toBe('1234567890000000');
151    expect(tabPaneHisysEvents.slicerTrack.style.visibility).toBe('visible');
152    expect(tabPaneHisysEvents.detailsTbl.style.paddingLeft).toBe('20px');
153    expect(tabPaneHisysEvents.boxDetails.style.width).toBe('65%');
154    expect(tabPaneHisysEvents.detailbox.style.display).toBe('block');
155    expect(tabPaneHisysEvents.detailsTbl.recycleDataSource).toEqual([
156      { key: 'key', value: 'value' },
157      { key: 'key1', value: 'value1' },
158      { key: 'key2', value: 'value2' },
159      { key: 'INPUT_TIME', value: '1234567890000000' }
160    ]);
161  });
162  it('TabPaneHisysEvents08 ', function () {
163    let tabPaneHisysEvents = new TabPaneHisysEvents();
164    let changeInput = {
165      value: '',
166    };
167    let mockUpdateDetail = jest.fn();
168    changeInput.value = 'abc';
169    tabPaneHisysEvents.changeInputEvent.call({ changeInput: changeInput, updateDetail: mockUpdateDetail });
170    expect(changeInput.value).toEqual('abc');
171  });
172});
173