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