1fb726d48Sopenharmony_ci/* 2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci * You may obtain a copy of the License at 6fb726d48Sopenharmony_ci * 7fb726d48Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci * 9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci * limitations under the License. 14fb726d48Sopenharmony_ci */ 15fb726d48Sopenharmony_ci 16fb726d48Sopenharmony_ciimport { LitTabs } from '../../../src/base-ui/tabs/lit-tabs'; 17fb726d48Sopenharmony_ci 18fb726d48Sopenharmony_ciwindow.ResizeObserver = 19fb726d48Sopenharmony_ci window.ResizeObserver || 20fb726d48Sopenharmony_ci jest.fn().mockImplementation(() => ({ 21fb726d48Sopenharmony_ci disconnect: jest.fn(), 22fb726d48Sopenharmony_ci observe: jest.fn(), 23fb726d48Sopenharmony_ci unobserve: jest.fn(), 24fb726d48Sopenharmony_ci })); 25fb726d48Sopenharmony_ci 26fb726d48Sopenharmony_cidescribe('LitSwitch Test', () => { 27fb726d48Sopenharmony_ci let litTabs = new LitTabs(); 28fb726d48Sopenharmony_ci 29fb726d48Sopenharmony_ci litTabs.position = 'position'; 30fb726d48Sopenharmony_ci litTabs.mode = 'mode'; 31fb726d48Sopenharmony_ci litTabs.activekey = 'activekey'; 32fb726d48Sopenharmony_ci 33fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => { 34fb726d48Sopenharmony_ci let el = document.createElement('div'); 35fb726d48Sopenharmony_ci let htmlDivElement = document.createElement('div'); 36fb726d48Sopenharmony_ci htmlDivElement.setAttribute('class', "nav-item[data-key='${key}']"); 37fb726d48Sopenharmony_ci 38fb726d48Sopenharmony_ci el.appendChild(htmlDivElement); 39fb726d48Sopenharmony_ci return el; 40fb726d48Sopenharmony_ci }); 41fb726d48Sopenharmony_ci 42fb726d48Sopenharmony_ci LitTabs.nav = jest.fn(() => { 43fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 44fb726d48Sopenharmony_ci }); 45fb726d48Sopenharmony_ci 46fb726d48Sopenharmony_ci LitTabs.nav.querySelectorAll = jest.fn(() => { 47fb726d48Sopenharmony_ci return ['fd']; 48fb726d48Sopenharmony_ci }); 49fb726d48Sopenharmony_ci 50fb726d48Sopenharmony_ci it('litTabsTest1', () => { 51fb726d48Sopenharmony_ci expect(litTabs.activekey).toBe('activekey'); 52fb726d48Sopenharmony_ci }); 53fb726d48Sopenharmony_ci 54fb726d48Sopenharmony_ci it('litTabsTest01', () => { 55fb726d48Sopenharmony_ci expect(litTabs.onTabClick).toBeUndefined(); 56fb726d48Sopenharmony_ci }); 57fb726d48Sopenharmony_ci 58fb726d48Sopenharmony_ci it('litTabsTest02', () => { 59fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => true); 60fb726d48Sopenharmony_ci litTabs.nav.querySelector = jest.fn(() => { 61fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 62fb726d48Sopenharmony_ci }); 63fb726d48Sopenharmony_ci litTabs.nav.querySelectorAll = jest.fn(() => true); 64fb726d48Sopenharmony_ci expect(litTabs.updateDisabled('key', 'value')).toBeUndefined(); 65fb726d48Sopenharmony_ci }); 66fb726d48Sopenharmony_ci 67fb726d48Sopenharmony_ci it('litTabsTest03', () => { 68fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => true); 69fb726d48Sopenharmony_ci litTabs.nav.querySelector = jest.fn(() => { 70fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 71fb726d48Sopenharmony_ci }); 72fb726d48Sopenharmony_ci litTabs.nav.querySelectorAll = jest.fn(() => true); 73fb726d48Sopenharmony_ci expect(litTabs.updateCloseable('key', 'value')).toBeUndefined(); 74fb726d48Sopenharmony_ci }); 75fb726d48Sopenharmony_ci 76fb726d48Sopenharmony_ci it('litTabsTest04', () => { 77fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => true); 78fb726d48Sopenharmony_ci litTabs.nav.querySelector = jest.fn(() => { 79fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 80fb726d48Sopenharmony_ci }); 81fb726d48Sopenharmony_ci litTabs.nav.querySelectorAll = jest.fn(() => true); 82fb726d48Sopenharmony_ci 83fb726d48Sopenharmony_ci expect(litTabs.updateHidden('key', 'true')).toBeUndefined(); 84fb726d48Sopenharmony_ci }); 85fb726d48Sopenharmony_ci 86fb726d48Sopenharmony_ci it('litTabsTest13', () => { 87fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => true); 88fb726d48Sopenharmony_ci litTabs.nav.querySelector = jest.fn(() => { 89fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 90fb726d48Sopenharmony_ci }); 91fb726d48Sopenharmony_ci litTabs.nav.querySelectorAll = jest.fn(() => true); 92fb726d48Sopenharmony_ci 93fb726d48Sopenharmony_ci expect(litTabs.updateHidden('key', !'true')).toBeUndefined(); 94fb726d48Sopenharmony_ci }); 95fb726d48Sopenharmony_ci 96fb726d48Sopenharmony_ci it('litTabsTest05', () => { 97fb726d48Sopenharmony_ci expect(litTabs.initTabPos()).toBeUndefined(); 98fb726d48Sopenharmony_ci }); 99fb726d48Sopenharmony_ci 100fb726d48Sopenharmony_ci it('litTabsTest07', () => { 101fb726d48Sopenharmony_ci expect(litTabs.activeByKey(null || undefined)).toBeUndefined(); 102fb726d48Sopenharmony_ci }); 103fb726d48Sopenharmony_ci 104fb726d48Sopenharmony_ci it('litTabsTest06', () => { 105fb726d48Sopenharmony_ci expect(litTabs.activePane('Key')).toBeFalsy(); 106fb726d48Sopenharmony_ci }); 107fb726d48Sopenharmony_ci 108fb726d48Sopenharmony_ci it('litTabsTest007', () => { 109fb726d48Sopenharmony_ci expect(litTabs.connectedCallback()).toBeUndefined(); 110fb726d48Sopenharmony_ci }); 111fb726d48Sopenharmony_ci it('litTabsTest8', () => { 112fb726d48Sopenharmony_ci expect(litTabs.attributeChangedCallback('activekey', 'disabled', 'activekey')).toBeUndefined(); 113fb726d48Sopenharmony_ci }); 114fb726d48Sopenharmony_ci 115fb726d48Sopenharmony_ci it('litTabsTest9', () => { 116fb726d48Sopenharmony_ci expect(litTabs.adoptedCallback()).toBeUndefined(); 117fb726d48Sopenharmony_ci }); 118fb726d48Sopenharmony_ci 119fb726d48Sopenharmony_ci it('litTabsTest09', () => { 120fb726d48Sopenharmony_ci expect(litTabs.disconnectedCallback()).toBeUndefined(); 121fb726d48Sopenharmony_ci }); 122fb726d48Sopenharmony_ci it('litTabsTest10', () => { 123fb726d48Sopenharmony_ci expect(litTabs.position).toBe('position'); 124fb726d48Sopenharmony_ci }); 125fb726d48Sopenharmony_ci 126fb726d48Sopenharmony_ci it('litTabsTest11', () => { 127fb726d48Sopenharmony_ci expect(litTabs.mode).toBe('mode'); 128fb726d48Sopenharmony_ci }); 129fb726d48Sopenharmony_ci 130fb726d48Sopenharmony_ci it('litTabsTest14', () => { 131fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => true); 132fb726d48Sopenharmony_ci litTabs.nav.querySelector = jest.fn(() => { 133fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 134fb726d48Sopenharmony_ci }); 135fb726d48Sopenharmony_ci litTabs.nav.querySelectorAll = jest.fn(() => true); 136fb726d48Sopenharmony_ci expect(litTabs.updateDisabled('key', undefined)).toBeUndefined(); 137fb726d48Sopenharmony_ci }); 138fb726d48Sopenharmony_ci 139fb726d48Sopenharmony_ci it('litTabsTest15', () => { 140fb726d48Sopenharmony_ci litTabs.nav = jest.fn(() => true); 141fb726d48Sopenharmony_ci litTabs.nav.querySelector = jest.fn(() => { 142fb726d48Sopenharmony_ci return document.createElement('div') as HTMLDivElement; 143fb726d48Sopenharmony_ci }); 144fb726d48Sopenharmony_ci litTabs.nav.querySelectorAll = jest.fn(() => true); 145fb726d48Sopenharmony_ci expect(litTabs.updateCloseable('key', undefined)).toBeUndefined(); 146fb726d48Sopenharmony_ci }); 147fb726d48Sopenharmony_ci 148fb726d48Sopenharmony_ci it('litTabsTest19', () => { 149fb726d48Sopenharmony_ci expect(litTabs.activePane(null)).toBe(false); 150fb726d48Sopenharmony_ci }); 151fb726d48Sopenharmony_ci}); 152