/*
* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// @ts-ignore
import {TabPaneSdkSlice} from "../../../../../../dist/trace/component/trace/sheet/sdk/TabPaneSdkSlice.js";
// @ts-ignore
import {LitTable} from "../../../../../../dist/base-ui/table/lit-table.js";
// @ts-ignore
import {SpSystemTrace} from "../../../../../../dist/trace/component/SpSystemTrace.js";
window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(() => ({
disconnect: jest.fn(),
observe: jest.fn(),
unobserve: jest.fn(),
}))
const sqlite = require("../../../../../../dist/trace/database/SqlLite.js")
jest.mock("../../../../../../dist/trace/database/SqlLite.js");
describe('TabPaneSdkSlice Test', () => {
let tabPaneSdkSlice = new TabPaneSdkSlice();
document.body.innerHTML = ``
let litTable = document.querySelector("#tb-counter") as LitTable
it('TabPaneSdkSliceTest00', () => {
let mockStartTime = sqlite.queryStartTime;
let startTime: Array = [{
start_ts: 1000
}]
mockStartTime.mockResolvedValue(startTime)
let mockSdkSliceData = sqlite.getTabSdkSliceData;
let sliceData = [{
start_ts: 1000,
end_ts: 1500,
type: 0,
value: 100
}, {
start_ts: 2000,
end_ts: 2500,
type: 0,
value: 100
}, {
start_ts: 3000,
end_ts: 3500,
type: 0,
value: 100
}, {
start_ts: 4000,
end_ts: 4500,
type: 0,
value: 100
}, {
start_ts: 5000,
end_ts: 5500,
type: 0,
value: 100
}]
mockSdkSliceData.mockResolvedValue(sliceData)
let slice = new TabPaneSdkSlice();
slice.tbl = jest.fn(() => litTable)
slice.tbl.appendChild = jest.fn(() => true)
let a = new Map();
let config = `{"tableConfig":{"showType":[{"tableName":"gpu_counter","inner":{"tableName":"gpu_counter_object",
"columns":[{"column":"counter_name","type":"STRING","displayName":"","showType":[0]},{"column":"counter_id",
"type":"INTEGER","displayName":"","showType":[0]}]},"columns":[{"column":"ts","type":"INTEGER","displayName":
"TimeStamp","showType":[1,3]},{"column":"counter_id","type":"INTEGER","displayName":"MonitorValue","showType":
[1,3]},{"column":"value","type":"INTEGER","displayName":"Value","showType":[1,3]}]},{"tableName":"slice_table",
"inner":{"tableName":"slice_object_table","columns":[{"column":"slice_name","type":"STRING","displayName":"",
"showType":[0]},{"column":"slice_id","type":"INTEGER","displayName":"","showType":[0]}]},"columns":[{"column":
"start_ts","type":"INTEGER","displayName":"startts","showType":[2,3]},{"column":"end_ts","type":"INTEGER",
"displayName":"endts","showType":[2,3]},{"column":"slice_id","type":"INTEGER","displayName":"slice_id",
"showType":[2,3]},{"column":"value","type":"INTEGER","displayName":"Value","showType":[2,3]}]}]},
"settingConfig":{"name":"mailG77","configuration":{"version":{"type":"number","default":"1","description":
"gatord version"},"counters":{"type":"string","enum":["ARM_Mali-TTRx_JS1_ACTIVE","ARM_Mali-TTRx_JS0_ACTIVE",
"ARM_Mali-TTRx_GPU_ACTIVE","ARM_Mali-TTRx_FRAG_ACTIVE"]},"stop_gator":{"type":"boolean","default":"true",
"description":"stop_gator"}}}}`
a.set("1", config)
SpSystemTrace.SDK_CONFIG_MAP = a
let data = {
cpus: [],
threadIds: [],
trackIds: [],
funTids: [],
heapIds: [],
nativeMemory: [],
cpuAbilityIds: [],
memoryAbilityIds: [],
diskAbilityIds: [],
networkAbilityIds: [],
leftNs: 0,
rightNs: 0,
hasFps: false,
statisticsSelectData: [],
perfSampleIds: [],
perfCpus: [],
perfProcess: [],
perfThread: [],
perfAll: false,
sdkSliceIds: ["a-b", "b-c", "d-e"]
}
slice.tbl.recycleDataSource = jest.fn(() => data)
slice.data = data
expect(slice.data).toBeUndefined();
});
it('TabPaneSdkSliceTest01', () => {
expect(tabPaneSdkSlice.parseJson([])).toBe("");
});
it('TabPaneSdkSliceTest02', () => {
let type = {
columns: [{showType: 'slice'}]
}
expect(tabPaneSdkSlice.getTableType(type)).toBe("");
});
it('TabPaneSdkSliceTest03', () => {
expect(tabPaneSdkSlice.initDataElement()).toBeUndefined();
});
it('TabPaneSdkSliceTest04', function () {
tabPaneSdkSlice.tbl = jest.fn(() => true)
tabPaneSdkSlice.tbl!.recycleDataSource = jest.fn(() => true)
expect(tabPaneSdkSlice.sortByColumn({
key: '',
sort: ''
})).toBeUndefined();
});
it('TabPaneSdkSliceTest05', () => {
expect(tabPaneSdkSlice.initHtml()).toMatchInlineSnapshot(`
"
"
`);
});
})