/*
* Copyright (c) Huawei Device Co., Ltd. 2024-2025. All rights reserved.
* 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.
*/
import {
afterAll, afterEach,
ArgumentMatchers,
beforeAll, beforeEach, describe, expect, it, MockKit,
when
} from '@ohos/hypium'
import GridLayoutItemInfo from '@ohos/launchercommon/src/main/ets/bean/GridLayoutItemInfo'
import { FolderData, FolderOperationFlag } from '@ohos/launchercommon/src/main/ets/folder/model/FolderData'
import { openFolderAppBubbleLayout } from '@ohos/launchercommon/src/main/ets/folder/viewmdoel/OpenFolderAppBubbleLayout'
import { AppIconData } from '@ohos/launchercommon/src/main/ets/launchericon/viewmodel/AppIconData'
import {
BigFolderStyleConfig,
CommonConstants,
editModeManager,
EditModeUtils,
FolderLayoutInOpen,
folderLayoutUtil,
FolderModel,
GridLayoutUtil,
LayoutViewModel
} from '@ohos/launchercommon/src/main/ets/TsIndex'
import { BigFolderComponentLayout, AppBubbleParams } from '@ohos/launchercommon/Index';
import { AppNameVm } from '@ohos/launchercommon/src/main/ets/launchericon/viewmodel/AppNameVm';
import { OpenFolderAppBubbleNodeManager } from '../main/ets/default/view/node/OpenFolderAppBubbleNodeManager'
import { aniBatchUtil } from '../main/ets/default/viewmodel/AnimationBatchUtil'
import { FolderType } from '../main/ets/default/model/AnimationParameterModel'
import { OpenCloseAnimationViewModel } from '../main/ets/default/viewmodel/OpenCloseAnimationViewModel'
import { openCloseAniMgr } from '../main/ets/default/viewmodel/openclose/OpenCloseActionManager'
import { openFolderLayout } from '../main/ets/default/viewmodel/OpenFolderLayout'
import { BigFolderViewModel } from '../main/ets/default/viewmodel/BigFolderViewModel'
import { DeviceHelper } from '@ohos/frameworkwrapper'
import { RectangularCoordinates } from '@ohos/componenthelper'
import {
folderLayout
} from '../../../../../../pagedesktop/src/main/ets/default/common/components/folder/viewmodel/FolderLayout'
import {
SmallFolderComponentLayout
} from '../../../../../../pagedesktop/src/main/ets/default/common/components/folder/viewmodel/SmallFolderComponentLayout'
import SmartDockDragHandler from '../../../../../../../smartdock/commonsmartdock/src/main/ets/default/common/SmartDockDragHandler'
export default function OpenFolderAnimatorManagerTest2() {
describe('OpenFolderAnimatorManagerTest2', () => {
// Defines a test suite. Two parameters are supported: test suite name and test suite function.
beforeAll(() => {
// Presets an action, which is performed only once before all test cases of the test suite start.
// This API supports only one parameter: preset action function.
})
beforeEach(() => {
// Presets an action, which is performed before each unit test case starts.
// The number of execution times is the same as the number of test cases defined by **it**.
// This API supports only one parameter: preset action function.
})
afterEach(() => {
// Presets a clear action, which is performed after each unit test case ends.
// The number of execution times is the same as the number of test cases defined by **it**.
// This API supports only one parameter: clear action function.
})
afterAll(() => {
// Presets a clear action, which is performed after all test cases of the test suite end.
// This API supports only one parameter: clear action function.
})
it('test2_startOpenCloseSmallFolder_no_data', 0, () => {
let folderItem: GridLayoutItemInfo = getFolderItem([1, 1]);
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open smallFolder_no_data', folderItem);
openCloseAniMgr.onOpenFolderGridShow(true);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderLayout.initSmallFolderLayoutMap('lkqkw4s76q0592qwa4g', new SmallFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(true);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close smallFolder_no_data');
folderDataInstance.close('test closed smallFolder_no_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout().isShowOpenFolder).assertFalse();
mocker.clear(folderDataInstance);
mocker.clearAll();
})
it('test2_startOpenSmallFolder_has_data', 0, () => {
let folderItem: GridLayoutItemInfo = getFolderItem([1, 1]);
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
for (let i = 0; i < 19; i++) {
let iconData: AppIconData = new AppIconData();
iconData.iconId = i.toString();
openFolderAppBubbleLayout.setIconData(i.toString(), iconData);
}
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open smallFolder_has_data', folderItem);
openCloseAniMgr.onOpenFolderGridShow(true);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderLayout.initSmallFolderLayoutMap('lkqkw4s76q0592qwa4g', new SmallFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(true);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close smallFolder_has_data');
folderDataInstance.close('test closed smallFolder_has_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout().isShowOpenFolder).assertFalse();
mocker.clear(folderDataInstance);
mocker.clearAll();
})
it('test2_startOpenBigFolder_has_data', 0, () => {
let folderItem: GridLayoutItemInfo = getFolderItem([2, 2]);
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
for (let i = 0; i < 19; i++) {
let iconData: AppIconData = new AppIconData();
iconData.iconId = i.toString();
openFolderAppBubbleLayout.setIconData(i.toString(), iconData);
}
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open bigFolder_has_data', folderItem);
folderLayout.initBigFolderLayoutMap('lkqkw4s76q0592qwa4g', new BigFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(false);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close bigFolder_has_data');
folderDataInstance.close('test closed bigFolder_has_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout().isShowOpenFolder).assertFalse();
mocker.clear(folderDataInstance);
mocker.clearAll();
})
it('test2_startOpen4x2BigFolder_has_data', 0, () => {
let folderItem: GridLayoutItemInfo = getFolderItem([4, 2]);
folderItem.row = 0;
folderItem.column = 0;
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
for (let i = 0; i < 19; i++) {
let iconData: AppIconData = new AppIconData();
iconData.iconId = i.toString();
openFolderAppBubbleLayout.setIconData(i.toString(), iconData);
}
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open 4x2bigFolder_has_data', folderItem);
folderLayout.initBigFolderLayoutMap('lkqkw4s76q0592qwa4g', new BigFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(false);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close 4x2bigFolder_has_data');
folderDataInstance.close('test closed 4x2bigFolder_has_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout().isShowOpenFolder).assertFalse();
mocker.clear(folderDataInstance);
mocker.clearAll();
})
it('test2_startOpenBigFolderTo4x4_has_data', 0, () => {
let folderItem: GridLayoutItemInfo = new GridLayoutItemInfo();
folderItem.area = [2, 2];
folderItem.folderId = 'lkqkw4s76q0592qwa4g';
folderItem.row = 2;
folderItem.column = 2;
folderItem.typeId = CommonConstants.TYPE_FOLDER;
folderItem.isInDock = false;
folderItem.page = 1;
let folderAppItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 16; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
folderAppItems.push(item);
}
let folderAppItems1: GridLayoutItemInfo[] = [];
for (let i = 16; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
folderAppItems1.push(item);
}
let layoutInfo: GridLayoutItemInfo[][] = [];
layoutInfo.push(folderAppItems);
layoutInfo.push(folderAppItems1);
folderItem.layoutInfo = layoutInfo;
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let folderModel: FolderModel = FolderModel.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
let mockFunc2: Function = mocker.mockFunc(folderModel, folderModel.getFolderLayoutInOpen);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
when(mockFunc2)(ArgumentMatchers.any).afterReturn(FolderLayoutInOpen.FOLDER_OPEN_LAYOUT_4x4);
for (let i = 0; i < 19; i++) {
let iconData: AppIconData = new AppIconData();
iconData.iconId = i.toString();
openFolderAppBubbleLayout.setIconData(i.toString(), iconData);
}
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open bigFolder_4x4_has_data', folderItem);
folderLayout.initBigFolderLayoutMap('lkqkw4s76q0592qwa4g', new BigFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(false);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close bigFolder_4x4_has_data');
folderDataInstance.close('test closed bigFolder_4x4_has_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout().isShowOpenFolder).assertFalse();
mocker.clear(folderDataInstance);
mocker.clear(folderModel);
mocker.clearAll();
})
it('test2_startOpenSmallFolder_isInDock', 0, () => {
let folderItem: GridLayoutItemInfo = getFolderItem([1, 1]);
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
let smartDockDragHandlerInstance: SmartDockDragHandler = SmartDockDragHandler.getInstance();
let mockFunc2: Function = mocker.mockFunc(smartDockDragHandlerInstance, smartDockDragHandlerInstance.getDockItemPositionByItem);
when(mockFunc2)(ArgumentMatchers.any).afterReturn([1]);
for (let i = 0; i < 19; i++) {
let iconData: AppIconData = new AppIconData();
iconData.iconId = i.toString();
openFolderAppBubbleLayout.setIconData(i.toString(), iconData);
}
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open smallFolder_no_data', folderItem);
openCloseAniMgr.onOpenFolderGridShow(true);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderLayout.initSmallFolderLayoutMap('lkqkw4s76q0592qwa4g', new SmallFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(true);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close smallFolder_no_data');
folderDataInstance.close('test closed smallFolder_no_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
let mockFunc3: Function = mocker.mockFunc(folderLayout,folderLayout.getSmallFolderComponentLayout);
when(mockFunc3)(ArgumentMatchers.any).afterReturn(null);
openCloseAniMgr.registerFolderStatus();
openCloseAniMgr.unregisterFolderStatus();
mocker.clear(folderDataInstance);
mocker.clearAll();
})
it('test2_notifyBigFolderItemBadgeChange_no_data', 0, () => {
let folderItem: GridLayoutItemInfo = getFolderItem([2, 2]);
let appItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
appItems.push(item);
}
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
let mockFunc1: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
for (let i = 0; i < 19; i++) {
let iconData: AppIconData = new AppIconData();
iconData.iconId = i.toString();
openFolderAppBubbleLayout.setIconData(i.toString(), iconData);
}
let smartDockDragHandlerInstance: SmartDockDragHandler = SmartDockDragHandler.getInstance();
let mockFunc2: Function = mocker.mockFunc(smartDockDragHandlerInstance, smartDockDragHandlerInstance.getDockItemPositionByItem);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(appItems);
when(mockFunc2)(ArgumentMatchers.any).afterReturn(null);
openCloseAniMgr.registerFolderStatus();
folderDataInstance.open('test open bigFolder_has_data', folderItem);
folderLayout.initBigFolderLayoutMap('lkqkw4s76q0592qwa4g', new BigFolderComponentLayout());
openCloseAniMgr.onOpenFolderGridShow(false);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close bigFolder_has_data');
folderDataInstance.close('test closed bigFolder_has_data', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
mocker.clear(folderDataInstance);
mocker.clearAll();
})
it('test2_open4x2FolderAni', 0, () => {
let folderItem: GridLayoutItemInfo = getOpenFolderItem([4, 2]);
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
when(mockFunc)().afterReturn(folderItem);
let folderModelaInstance: FolderModel = FolderModel.getInstance();
let mockFuncInOpen: Function = mocker.mockFunc(folderModelaInstance, folderModelaInstance.getFolderLayoutInOpen);
when(mockFuncInOpen)().afterReturn(FolderLayoutInOpen.FOLDER_OPEN_LAYOUT_3X4);
let getItemsInFolder: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(getItemsInFolder)(ArgumentMatchers.any).afterReturn(folderItem.layoutInfo?.flat());
openCloseAniMgr.onOpenFolderGridShow(false);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close 4x2FolderAn');
folderDataInstance.close('test closed 4x2FolderAn', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
mocker.clear(folderDataInstance);
mocker.clear(folderModelaInstance);
mocker.clearAll();
})
it('test2_openBigFolderAni', 0, () => {
let folderItem: GridLayoutItemInfo = getOpenFolderItem([2, 2]);
let folderDataInstance: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getOpenedFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(folderItem);
let folderModelaInstance: FolderModel = FolderModel.getInstance();
let mockFuncInOpen: Function = mocker.mockFunc(folderModelaInstance, folderModelaInstance.getFolderLayoutInOpen);
when(mockFuncInOpen)(ArgumentMatchers.any).afterReturn(FolderLayoutInOpen.FOLDER_OPEN_LAYOUT_3X4);
let getItemsInFolder: Function = mocker.mockFunc(folderDataInstance, folderDataInstance.getItemsInFolder);
when(getItemsInFolder)(ArgumentMatchers.any).afterReturn(folderItem.layoutInfo?.flat());
openCloseAniMgr.onOpenFolderGridShow(false);
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
folderDataInstance.close('test close 4x2FolderAn');
folderDataInstance.close('test closed 4x2FolderAn', FolderOperationFlag.IMMEDIATELY);
openCloseAniMgr.unregisterFolderStatus();
expect(openFolderLayout.getGridSwiperLayout()).not().assertNull();
mocker.clear(folderDataInstance);
mocker.clear(folderModelaInstance);
mocker.clearAll();
})
it('test2_notifySmallFolderItemBadgeChange_10', 0, () => {
const smallFolderComponentLayout: SmallFolderComponentLayout = new SmallFolderComponentLayout();
(openCloseAniMgr as ESObject)['notifySmallFolderItemBadgeChange'](undefined, true);
(openCloseAniMgr as ESObject)['notifySmallFolderItemBadgeChange'](smallFolderComponentLayout, false);
expect(smallFolderComponentLayout).not().assertNull();
})
it('test2_getBackgroundMarginValue_10', 0, () => {
const bigFolderStyleConfig: BigFolderStyleConfig = BigFolderStyleConfig.getInstance();
const bigFolderViewModel: BigFolderViewModel = BigFolderViewModel.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(DeviceHelper, DeviceHelper.isPad);
when(mockFunc)(ArgumentMatchers.any).afterReturn(true);
let mockFunc1: Function = mocker.mockFunc(bigFolderViewModel, bigFolderViewModel.getFolderStyleConfig);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(bigFolderStyleConfig);
expect((openCloseAniMgr as ESObject)['getBackgroundMarginValue']()).assertInstanceOf('Number');
when(mockFunc)(ArgumentMatchers.any).afterReturn(false);
expect((openCloseAniMgr as ESObject)['getBackgroundMarginValue']()).assertInstanceOf('Number');
mocker.clear(DeviceHelper);
mocker.clear(bigFolderViewModel);
mocker.clearAll();
})
it('test2_initOpenFolderBackgroudAnitParam_10', 0, () => {
expect(true).not().assertNull();
})
it('test2_initOpenFolderAniStartParam_10', 0, () => {
expect(true).not().assertNull();
})
it('test2_getBackgroundMarginValue_10', 0, () => {
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(DeviceHelper, DeviceHelper.isPad);
when(mockFunc)(ArgumentMatchers.any).afterReturn(true);
expect((openCloseAniMgr as ESObject)['getBackgroundMarginValue']()).assertInstanceOf('Number');
mocker.clear(DeviceHelper);
mocker.clearAll();
})
it('test2_getBackgroundHeight_10', 0, () => {
const bigFolderStyleConfig: BigFolderStyleConfig = BigFolderStyleConfig.getInstance();
const gridLayoutItemInfo: GridLayoutItemInfo = new GridLayoutItemInfo();
gridLayoutItemInfo.isInDock = true;
const folderData: FolderData = FolderData.getInstance();
const layoutViewModel: LayoutViewModel = LayoutViewModel.getInstance();
const bigFolderViewModel: BigFolderViewModel = BigFolderViewModel.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderData, folderData.getOpenedFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(gridLayoutItemInfo);
let mockFunc1: Function = mocker.mockFunc(layoutViewModel, layoutViewModel.getDockHeight);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(10);
let mockFunc2: Function = mocker.mockFunc(bigFolderViewModel, bigFolderViewModel.getFolderStyleConfig);
when(mockFunc2)(ArgumentMatchers.any).afterReturn(bigFolderStyleConfig);
AppStorage.set('screenHeight', 2000);
expect((openCloseAniMgr as ESObject)['getBackgroundHeight'](false)).assertInstanceOf('Number');
gridLayoutItemInfo.isInDock = false;
when(mockFunc)(ArgumentMatchers.any).afterReturn(gridLayoutItemInfo);
expect((openCloseAniMgr as ESObject)['getBackgroundHeight'](true)).assertInstanceOf('Number');
mocker.clear(folderData);
mocker.clear(layoutViewModel);
mocker.clear(bigFolderViewModel);
mocker.clearAll();
})
it('test2_delAniParams_10', 0, () => {
const gridLayoutItemInfo: GridLayoutItemInfo = new GridLayoutItemInfo();
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
const appBubbleParams: AppBubbleParams = new AppBubbleParams();
appBubbleParams.item.bundleName = '';
const appIconData: AppIconData = new AppIconData();
gridLayoutItemInfo.keyName = 'name_1';
gridLayoutItemInfo.bundleName = 'name_1';
const folderData: FolderData = FolderData.getInstance();
const openFolderAppBubbleNodeManager: OpenFolderAppBubbleNodeManager =
OpenFolderAppBubbleNodeManager.getInstance()
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderData, folderData.getItemsInFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn([gridLayoutItemInfo, gridLayoutItemInfo]);
let mockFunc1: Function = mocker.mockFunc(folderData, folderData.getOpenFolderAppAnimateCount);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(0);
let mockFunc2: Function = mocker.mockFunc(openFolderAppBubbleLayout, openFolderAppBubbleLayout.getIconData);
when(mockFunc2)(ArgumentMatchers.any).afterReturn(appIconData);
let mockFunc3: Function =
mocker.mockFunc(openFolderAppBubbleNodeManager, openFolderAppBubbleNodeManager.getNodeParams);
when(mockFunc3)(ArgumentMatchers.any).afterReturn(appBubbleParams);
let mockFunc4: Function =
mocker.mockFunc(openFolderAppBubbleNodeManager, openFolderAppBubbleNodeManager.getAppBubbleCommonParams);
when(mockFunc4)(ArgumentMatchers.any).afterReturn(appBubbleParams);
let mockFunc6: Function =
mocker.mockFunc(openFolderAppBubbleNodeManager, openFolderAppBubbleNodeManager.updateNodeParams);
when(mockFunc6)(ArgumentMatchers.any).afterReturnNothing();
(openCloseAniMgr as ESObject)['delAniParams'](gridLayoutItemInfoOther);
appBubbleParams.item.bundleName = '1';
when(mockFunc3)(ArgumentMatchers.any).afterReturn(appBubbleParams);
(openCloseAniMgr as ESObject)['delAniParams'](gridLayoutItemInfoOther);
expect(gridLayoutItemInfo).not().assertNull();
mocker.clear(folderData);
mocker.clear(openFolderAppBubbleLayout);
mocker.clear(openFolderAppBubbleNodeManager);
mocker.clearAll();
})
it('test2_openingBigFolderWithAnimation_10', 0, () => {
const gridLayoutItemInfo: GridLayoutItemInfo = new GridLayoutItemInfo();
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
gridLayoutItemInfo.folderId = undefined;
gridLayoutItemInfoOther.folderId = '-1';
const folderData: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(folderData, folderData.getOpenedFolder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(gridLayoutItemInfo);
(openCloseAniMgr as ESObject)['openingBigFolderWithAnimation']();
(openCloseAniMgr as ESObject)['openingSmallFolderWithAnimation']();
when(mockFunc)(ArgumentMatchers.any).afterReturn(gridLayoutItemInfoOther);
(openCloseAniMgr as ESObject)['openingBigFolderWithAnimation']();
(openCloseAniMgr as ESObject)['openingSmallFolderWithAnimation']();
expect(gridLayoutItemInfo).not().assertNull();
mocker.clear(folderData);
mocker.clearAll();
})
it('test2_handleExtrasIcon_10', 0, () => {
const aAppNameVm: AppNameVm = new AppNameVm();
const appIconData: AppIconData = new AppIconData();
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
const openCloseAnimationViewModel: OpenCloseAnimationViewModel = new OpenCloseAnimationViewModel();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(GridLayoutUtil, GridLayoutUtil.isAddIcon);
when(mockFunc)(ArgumentMatchers.any).afterReturn(false);
let mockFunc1: Function =
mocker.mockFunc(openCloseAnimationViewModel, openCloseAnimationViewModel.addIconOptEvent);
when(mockFunc1)(ArgumentMatchers.any).afterReturnNothing();
(openCloseAniMgr as ESObject)['handleExtrasIcon'](aAppNameVm, appIconData, gridLayoutItemInfoOther);
when(mockFunc)(ArgumentMatchers.any).afterReturn(true);
(openCloseAniMgr as ESObject)['handleExtrasIcon'](aAppNameVm, appIconData, gridLayoutItemInfoOther);
expect(appIconData).not().assertNull();
mocker.clear(GridLayoutUtil);
mocker.clear(openCloseAnimationViewModel);
mocker.clearAll();
})
it('test2_needMaskAni_10', 0, () => {
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(GridLayoutUtil, GridLayoutUtil.isAddIcon);
when(mockFunc)(ArgumentMatchers.any).afterReturn(true);
expect((openCloseAniMgr as ESObject)['needMaskAni'](gridLayoutItemInfoOther, true,
FolderType.TYPE_4X2_BIG_FOLDER)).assertInstanceOf('Boolean');
when(mockFunc)(ArgumentMatchers.any).afterReturn(false);
expect((openCloseAniMgr as ESObject)['needMaskAni'](gridLayoutItemInfoOther, true,
FolderType.TYPE_4X2_BIG_FOLDER)).assertInstanceOf('Boolean');
expect((openCloseAniMgr as ESObject)['needMaskAni'](gridLayoutItemInfoOther, false,
FolderType.TYPE_4X2_BIG_FOLDER)).assertInstanceOf('Boolean');
expect((openCloseAniMgr as ESObject)['needMaskAni'](gridLayoutItemInfoOther, false,
FolderType.TYPE_SMALL_FOLDER)).assertInstanceOf('Boolean');
mocker.clear(GridLayoutUtil);
mocker.clearAll();
})
it('test2_setAppCloneBadgeVisible_10', 0, () => {
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
const appIconData: AppIconData = new AppIconData();
gridLayoutItemInfoOther.appIconId = 2;
(openCloseAniMgr as ESObject)['setAppCloneBadgeVisible'](gridLayoutItemInfoOther, appIconData, true);
expect(appIconData).not().assertNull();
})
it('test2_doCloseFolderBackgroundAnimation_10', 0, () => {
expect(true).not().assertNull();
})
it('test2_getEditModeTranslateY_10', 0, () => {
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
const folderData: FolderData = FolderData.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(editModeManager, editModeManager.isInEditMode);
when(mockFunc)(ArgumentMatchers.any).afterReturn(false);
expect((openCloseAniMgr as ESObject)['getEditModeTranslateY']([1])).assertInstanceOf('Number');
when(mockFunc)(ArgumentMatchers.any).afterReturn(true);
let mockFunc1: Function = mocker.mockFunc(folderData, folderData.getOpenedFolder);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(gridLayoutItemInfoOther);
let mockFunc2: Function = mocker.mockFunc(folderLayoutUtil, folderLayoutUtil.getFolderComponentCenterPosition);
when(mockFunc2)(ArgumentMatchers.any).afterReturn([1, 1]);
let mockFunc3: Function = mocker.mockFunc(folderLayoutUtil, folderLayoutUtil.getCurrentFolderCenterPosition);
when(mockFunc3)(ArgumentMatchers.any).afterReturn([1, 1]);
let mockFunc4: Function = mocker.mockFunc(EditModeUtils, EditModeUtils.getDesktopScale);
when(mockFunc4)(ArgumentMatchers.any).afterReturn(1);
AppStorage.set('screenHeight', 4);
expect((openCloseAniMgr as ESObject)['getEditModeTranslateY']()).assertInstanceOf('Number');
expect((openCloseAniMgr as ESObject)['getEditModeTranslateY']([1, 1])).assertInstanceOf('Number');
mocker.clear(editModeManager);
mocker.clear(folderData);
mocker.clear(folderLayoutUtil);
mocker.clear(EditModeUtils);
mocker.clearAll();
})
it('test2_getOpenFolderFlag_10', 0, () => {
const folderModel: FolderModel = FolderModel.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(aniBatchUtil, aniBatchUtil.getFolderItemOrder);
when(mockFunc)(ArgumentMatchers.any).afterReturn(0);
expect((openCloseAniMgr as ESObject)['getOpenFolderFlag'](1,1,false,true)).assertInstanceOf('Number');
let mockFunc1: Function = mocker.mockFunc(folderModel, folderModel.getFolderLayoutInOpen);
when(mockFunc1)(ArgumentMatchers.any).afterReturn(FolderLayoutInOpen.FOLDER_OPEN_LAYOUT_4x4);
expect((openCloseAniMgr as ESObject)['getOpenFolderFlag'](1,1,false,false)).assertInstanceOf('Number');
when(mockFunc1)(ArgumentMatchers.any).afterReturn(FolderLayoutInOpen.FOLDER_OPEN_LAYOUT_3X4);
expect((openCloseAniMgr as ESObject)['getOpenFolderFlag'](1,1,false,false)).assertInstanceOf('Number');
mocker.clear(aniBatchUtil);
mocker.clear(folderModel);
mocker.clearAll();
})
it('test2_getFolderScreenPosition_10', 0, () => {
const obj:RectangularCoordinates.Point = {
x: 1,
y: 1
}
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
gridLayoutItemInfoOther.isInDock = true;
const smartDockDragHandler: SmartDockDragHandler = SmartDockDragHandler.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(smartDockDragHandler, smartDockDragHandler.getDockItemLeftTopPosition);
when(mockFunc)(ArgumentMatchers.any).afterReturn(obj);
expect((openCloseAniMgr as ESObject)['getFolderScreenPosition'](gridLayoutItemInfoOther)).not().assertNull();
mocker.clear(smartDockDragHandler);
mocker.clearAll();
})
it('test2_getCloseFolderIconSize_10', 0, () => {
const bigFolderStyleConfig: BigFolderStyleConfig = BigFolderStyleConfig.getInstance();
const gridLayoutItemInfoOther: GridLayoutItemInfo = new GridLayoutItemInfo();
gridLayoutItemInfoOther.isInDock = true;
const bigFolderViewModel: BigFolderViewModel = BigFolderViewModel.getInstance();
let mocker: MockKit = new MockKit();
let mockFunc: Function = mocker.mockFunc(bigFolderViewModel, bigFolderViewModel.getFolderStyleConfig);
when(mockFunc)(ArgumentMatchers.any).afterReturn(bigFolderStyleConfig);
let mockFunc1: Function = mocker.mockFunc(folderLayoutUtil, folderLayoutUtil.getGridItemRect);
when(mockFunc1)(ArgumentMatchers.any).afterReturn({
width:100,
height:100
});
expect((openCloseAniMgr as ESObject)['getCloseFolderIconSize'](gridLayoutItemInfoOther,1)).assertInstanceOf('Number');
when(mockFunc1)(ArgumentMatchers.any).afterReturn({
width:1,
height:1
});
expect((openCloseAniMgr as ESObject)['getCloseFolderIconSize'](gridLayoutItemInfoOther,1)).assertInstanceOf('Number');
mocker.clear(bigFolderViewModel);
mocker.clear(folderLayoutUtil);
mocker.clearAll();
})
})
}
function getOpenFolderItem(area: number[]): GridLayoutItemInfo {
let folderItem: GridLayoutItemInfo = new GridLayoutItemInfo();
folderItem.area = area;
folderItem.folderId = 'lkqkw4s76q0592qwa4g';
folderItem.row = 2;
folderItem.column = 2;
folderItem.typeId = CommonConstants.TYPE_FOLDER;
folderItem.isInDock = false;
folderItem.page = 1;
folderItem.keyName = 'folderKeyName0001';
let folderAppItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 12; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = 'keyName' + i.toString();
item.bundleName = 'com.ohos.bundleName' + i.toString();
folderAppItems.push(item);
}
let folderAppItems1: GridLayoutItemInfo[] = [];
for (let i = 12; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = 'keyName' + i.toString();
item.bundleName = 'com.ohos.bundleName' + i.toString();
folderAppItems1.push(item);
}
folderItem.layoutInfo = [folderAppItems, folderAppItems1];
return folderItem;
}
function getFolderItem(area: number[]): GridLayoutItemInfo {
let folderItem: GridLayoutItemInfo = new GridLayoutItemInfo();
folderItem.area = area;
folderItem.folderId = 'lkqkw4s76q0592qwa4g';
folderItem.row = 2;
folderItem.column = 2;
folderItem.typeId = CommonConstants.TYPE_FOLDER;
folderItem.isInDock = false;
folderItem.page = 1;
let folderAppItems: GridLayoutItemInfo[] = [];
for (let i = 0; i < 12; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
folderAppItems.push(item);
}
let folderAppItems1: GridLayoutItemInfo[] = [];
for (let i = 12; i < 19; i++) {
let item: GridLayoutItemInfo = new GridLayoutItemInfo();
item.keyName = i.toString();
folderAppItems1.push(item);
}
let layoutInfo: GridLayoutItemInfo[][] = [];
layoutInfo.push(folderAppItems);
layoutInfo.push(folderAppItems1);
folderItem.layoutInfo = layoutInfo;
return folderItem;
}